Я хочу построить пакет deb с последней версией openssh из исходного кода. Затем я хочу установить его на свою машину. Я запускаю:
Linux Ubuntu-1110-oneiric-64-minimal 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
Для достижения моей цели я делаю:
wget ftp://ftp.openbsd.com/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz
wget ftp://ftp.openbsd.com/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz.asc
gpg openssh-5.9p1.tar.gz.asc
apt-get build-dep openssh-server openssh-client
apt-get source openssh-server
cd openssh-5.8p1/
uupdate -v 5.9p1 /root/packages/openssh/openssh-5.9p1.tar.gz
cd ../openssh-5.9p1
dpkg-buildpackage -us -uc -nc
Но я получаю сообщение об ошибке:
make[1]: Entering directory `/root/packages/openssh/openssh-5.9p1'
rm -f debian/tmp/etc/ssh/sshd_config
dh_install -Nopenssh-client-udeb -Nopenssh-server-udeb --fail-missing
cp: cannot stat `debian/tmp/usr/bin/ssh-vulnkey': No such file or directory
dh_install: cp -a debian/tmp/usr/bin/ssh-vulnkey debian/openssh-client//usr/bin/ returned exit code 1
make[1]: *** [override_dh_install] Error 2
make[1]: Leaving directory `/root/packages/openssh/openssh-5.9p1'
make: *** [binary] Error 2
dpkg-buildpackage: error: debian/rules binary gave error exit status 2
Любые идеи, что я делаю, чтобы сделать эту работу?
Я не исследовал, почему он не строился для вас - возможно, произошла смена упаковки в debian/
, или, возможно, одна из патчей (ssh-vulnkey
введена в патче Debian), необходимо обновление, но я просто подтвердили, что создание пакета 5.9p1 от Precise on Oneiric отлично работает.
Для этого я использовал инструмент backportpackage
из ubuntu-dev-tools
. Попробуйте что-то вроде этого: backportpackage -s precise -d oneiric -w . openssh
, а затем создайте результирующий пакет, как вам нравится (я использовал sbuild
; если вы хотите построить с помощью dpkg-buildpackage, вам нужно извлечь его с помощью dpkg-source -x file_name_of_dsc_file
). Удостоверьтесь, что вы построили build-зависит от самого пакета - apt-get build-depends
предоставит вам сборку из версии Oneiric , а не Precise , которую вы строите. Вы можете использовать mk-build-deps
из devscripts
для этого, например: sudo mk-build-deps -i -r
.