On 2002.09.25 at 19:17:32 +0400, Denis Dzyubenko wrote: > Приветствую! > > Недавно в этом листе Alexander Kotelnikov <[EMAIL PROTECTED]> сказал что > пакеты с исходными тестами нужно собирать используя debuild или > dpkg-buildpackage. Но в FAQ (/usr/share/doc/debian/FAQ/ch-pkg_basics.html) > написано: > > 6.14 How do I build binary packages from a source package? > You will need all of foo_*.dsc, foo_*.tar.gz and foo_*.diff.gz to compile the > source (note: there is no .diff.gz for a Debian native package). > > Once you have them, if you have the dpkg-dev package installed, > the following command: > > dpkg-source -x foo_version-revision.dsc will extract the package into a > directory called foo-version. > > If you want just to compile the package, you may cd into > foo-version directory and issue the command > > debian/rules build to build the program, then > > debian/rules binary as root, to build the package, and then > > dpkg -i ../foo_version-revision_arch.deb to install the newly-built > package. > > > Как идеологически правильнее собирать такие пакеты?
Данный текст описывает последовательность действий, которую необходимо выполнить. Но идеологически правильно не выполнять ее самому, а воспользоваться высокоуровневым интерфейсом (dpkg-buildpackage или debuild) который ее выполнит для тебя. Заметим, что в норме dpkg-buildpackage и debuild не выполняют сборки пакета от рута. Используется fakeroot, который позволяет записать в tar архив файлы пакета так, как будто они принадлежат руту. Это очень полезная фича так как часто бывает, что из-за ошибки в rules какие-то файлы пытаются поставиться не туда, откуда они будут запакованы в пакет, а туда, куда они должны попасть после установки. Если делать build от рута, они туда поставятся, и у тебя на машине пакет будет работать, а на других - нет (если, конечно, установка этих файлов не развалит нафиг всю систему). А под fakeroot писаться они на диск будут от обычного юзера, и попытку поставиться в системные каталоги обломят. Так что ошибку ты заметишь сразу. С тех пор, как была разработана эта схема в debian появился пакет, который позволяет патчить uid-ы в таровском архиве уже после его сборки, но по-моему к системе пакетирования его никто не прикручивал. Тем более что дебиановская система пакетирования, в отличие от rpm, полагается по части расстановки прав при инсталляции на upstream Makefile. -- Victor Wagner [EMAIL PROTECTED] Chief Technical Officer Office:7-(095)-748-53-88 Communiware.Net Home: 7-(095)-135-46-61 http://www.communiware.net http://www.ice.ru/~vitus