FastNetMon

Wednesday 17 November 2010

Как только скачать исходники пакета на Debian, но не распаковывать их?

Вот так:
apt-get source --download-only nginx

Как результат, в папке появится несколько файликов:
total 640
drwxrwsr-x 2 root src 4096 Nov 18 01:58 .
drwxr-xr-x 10 root root 4096 Nov 11 21:15 ..
-rw-r--r-- 1 root src 26140 Aug 17 01:05 nginx_0.7.67-3ubuntu1.debian.tar.gz
-rw-r--r-- 1 root src 2044 Aug 17 01:05 nginx_0.7.67-3ubuntu1.dsc
-rw-r--r-- 1 root src 608462 Jul 22 13:05 nginx_0.7.67.orig.tar.gz

Где nginx_0.7.67.orig.tar.gz - исходники программы (без патчей), nginx_0.7.67-3ubuntu1.dsc - файл описания пакета, nginx_0.7.67-3ubuntu1.debian.tar.gz - патчи Дистрибутива + служебные файлы пакета.

И их можно распаковать вручную, для этого ставим софт:
apt-get install -y dpkg-dev

Распаковываем:
dpkg-source -x nginx_0.7.67-3ubuntu1.dsc

После этого успешно наблюдаем, как накладываются патчики:
gpgv: keyblock resource `/root/.gnupg/trustedkeys.gpg': file open error
gpgv: Signature made Tue Aug 17 00:52:20 2010 MSD using RSA key ID EFC8774C
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./nginx_0.7.67-3ubuntu1.dsc
dpkg-source: info: extracting nginx in nginx-0.7.67
dpkg-source: info: unpacking nginx_0.7.67.orig.tar.gz
dpkg-source: info: unpacking nginx_0.7.67-3ubuntu1.debian.tar.gz
dpkg-source: info: applying nginx-upstream-fair.diff
dpkg-source: info: applying dlopen.diff
dpkg-source: info: applying fix_reloading_ipv6.diff

И появляется папочка с распакованными исходниками и наложенными на код патчами:
ls -al
total 644
drwxrwsr-x 3 root src 4096 Nov 18 02:15 .
drwxr-xr-x 10 root root 4096 Nov 11 21:15 ..
drwxr-xr-x 10 root root 4096 Nov 18 02:15 nginx-0.7.67
-rw-r--r-- 1 root src 26140 Aug 17 01:05 nginx_0.7.67-3ubuntu1.debian.tar.gz
-rw-r--r-- 1 root src 2044 Aug 17 01:05 nginx_0.7.67-3ubuntu1.dsc
-rw-r--r-- 1 root src 608462 Jul 22 13:05 nginx_0.7.67.orig.tar.gz

No comments :

Post a Comment

Note: only a member of this blog may post a comment.