WD MyCloud編譯git-2.19
1.按照ofollow,noindex" target="_blank">How to successfully build packages for WD My Cloud from source
中的介紹,搭建完成WDMyCloud
的編譯環境
2.從高版本Debian
源裡下載git-2.19
的原始碼包,然後手工編譯,如下:
$ cd ~/wdmc-build/64k-wheezy #https://packages.debian.org $ su $ cd build/root $ mkdir git $ cd git $ wget http://http.debian.net/debian/pool/main/g/git/git_2.19.1+next.20181026.orig.tar.gz $ wget http://http.debian.net/debian/pool/main/g/git/git_2.19.1+next.20181026-1.debian.tar.xz $ cd ../../../ $ chroot build $ mount -t proc none /proc $ mount -t devtmpfs none /dev $ mount -t devpts none /dev/pts $ export DEBIAN_FRONTEND=noninteractive $ export DEBCONF_NONINTERACTIVE_SEEN=true $ export LC_ALL=C $ export LANGUAGE=C $ export LANG=C $ export DEB_CFLAGS_APPEND='-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE' $ export DEB_BUILD_OPTIONS=nocheck $ cd root/git # 當前的壓縮檔案,解壓縮出的檔案目錄是”0250525e“ $ tar xvf *.orig.tar.gz $ tar xvf *.debian.tar.xz -C 0250525e/ $ cd 0250525e # 解決不能正確編譯的問題 $ sed -i "s/dh \$\@ --with apache2/dh \$\@/g" debian/rules # 交叉編譯的程式,測試用例不能完全通過,我們關閉測試用例這部分 $ sed -i "s/^TEST[ \t]*=[ \t]*test/TEST=/g" debian/rules # 安裝依賴 $ apt-get update $ apt-get upgrade $ apt-get install asciidoc # 此版本git預設不使用openssl,因此安裝 libcurl4-gnutls-dev 而不是 ibcurl4-openssl-dev $ apt-get install libcurl4-gnutls-dev $ apt-get install libpcre2-dev # DEB_BUILD_OPTIONS="nocheck nodoc" 不需要測試用例,不需要幫助文件, 目前如果設定了"nodoc",最後打包的時候會缺少檔案 $ DEB_BUILD_OPTIONS="nocheck" dpkg-buildpackage -d -b -uc
如果出現如下錯誤資訊:
make[1]: Entering directory `/root/git/0250525e' dh_install --arch Can't exec "/root/git/0250525e/debian/git.install": No such file or directory at /usr/share/perl5/Debian/Debhelper/Dh_Lib.pm line 643. dh_install: cannot run debian/git.install: No such file or directory make[1]: *** [override_dh_install-arch] Error 2 make[1]: Leaving directory `/root/git/0250525e' make: *** [binary] Error 2 dpkg-buildpackage: error: debian/rules binary gave error exit status 2
原因是低版本的系統上缺少幾個無關緊要的檔案,直接忽略這部分即可:
$ rm -rf debian/git.install $ rm -rf debian/git-el.install # 重新編譯 $ DEB_BUILD_OPTIONS="nocheck" dpkg-buildpackage -d -b -uc
如果出現如下錯誤資訊:
dh_installdeb: unknown dpkg-maintscript-helper command: dir_to_symlink make: *** [binary] Error 25 dpkg-buildpackage: error: debian/rules binary gave error exit status 2
原因為dpkg
的版本太低,導致部分命令無法正確執行,執行如下命令即可:
$ rm -rf debian/git.maintscript # 重新編譯 $ DEB_BUILD_OPTIONS="nocheck" dpkg-buildpackage -d -b -uc
如果上述原始碼的下載存在問題,可以本站下載一份檔案拷貝:
git_2.19.1+next.20181026.orig.tar
git_2.19.1+next.20181026-1.debian.tar
參考連結