Руководство начинающего разработчика Debian - Обязательные файлы в каталоге debian


Файл rules


Теперь вернемся в каталог debian и взглянем на файл rules, который используется программой dpkg-buildpackage(1) для создания пакета. Обычно это просто еще один управляющий файл для программы make. Только он отличается от того, что предлагается вместе с исходными текстами.

Каждый файл rules, как и любой другой Makefile, содержит правила, определяющие как необходимо выполнять те или иные действия. Правила состоят из имени цели, имен файлов, и названий действий, которые необходимо выполнить (например, ‘build:’ или ‘install:’). Правила, которые вы хотите выполнить, должны быть указаны в командной строке (например, ‘debian/rules build’ или ‘make -f debian/rules install’). После имени цели вы можете указать имя другой цели, название программы или файла, от которых зависит данная цель. Затем вы можете указать произвольной количество команд (первым символом в строке с командой должен быть символ табуляции!), пустая строка завершает правило[5] Комментарии начинаются с символа диеза (‘#’) и идут до конца строки. Вы можете обращаться к правилам либо из других правил, либо из командной строки ‘debian/rules clean’).

Возможное недопонимание должно уйти, после того, как вы посмотрите на содержимое файла rules, который был создан программой dh_make. Вы также должны прочитать документацию к программе make.

Самое главное, что вы должны помнить о файле rules, созданном программой dh_make, это то, что этот файл представляет собой рекомендацию. Он будет работать для простых пакетов, но для более сложных вам, скорее всего, понадобится что-то добавить или удалить. Единственное, что вы не должны менять, это имена правил, так как все инструменты используют эти имена в соответствии с «Руководством по созданию пакетов». 1 #!/usr/bin/make -f 2 # Made with the aid of dh_make, by Craig Small 3 # Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. 4 # Some lines taken from debmake, by Christoph Lameter. 5 6 # Uncomment this to turn on verbose mode. 7 #export DH_VERBOSE=1 8 9 # This is the debhelper compatability version to use. 10 export DH_COMPAT=1 11 12 build: build-stamp 13 build-stamp: 14 dh_testdir 15 16 # Add here commands to compile the package. 17 $(MAKE) 18 19 touch build-stamp 20 21 clean: 22 dh_testdir 23 dh_testroot 24 rm -f build-stamp 25 26 # Add here commands to clean up after the build process. 27 -$(MAKE) clean 28 29 dh_clean 30 31 install: build-stamp 32 dh_testdir 33 dh_testroot 34 dh_clean -k 35 dh_installdirs 36 37 # Add here commands to install the package into debian/tmp. 38 $(MAKE) install DESTDIR=`pwd`/debian/tmp 39 40 # Build architecture-independent files here. 41 binary-indep: build install 42 # We have nothing to do by default. 43 44 # Build architecture-dependent files here. 45 binary-arch: build install 46 # dh_testversion 47 dh_testdir 48 dh_testroot 49 # dh_installdebconf 50 dh_installdocs 51 dh_installexamples 52 dh_installmenu 53 # dh_installemacsen 54 # dh_installpam 55 # dh_installinit 56 dh_installcron 57 dh_installmanpages 58 dh_installinfo 59 # dh_undocumented 60 dh_installchangelogs 61 dh_link 62 dh_strip 63 dh_compress 64 dh_fixperms 65 # You may want to make some executables suid here. 66 dh_suidregister 67 # dh_makeshlibs 68 dh_installdeb 69 # dh_perl 70 dh_shlibdeps 71 dh_gencontrol 72 dh_md5sums 73 dh_builddeb 74 75 binary: binary-indep binary-arch 76 .PHONY: build clean binary-indep binary-arch binary install




Начало  Назад  Вперед