Донецкий техникум промышленной автоматики

Глава 6. Опції debmake

  1. 6.1. Опції швидких дій (-a, -i)
  2. 6.1.1. модуль Python
  3. 6.2. Зрізи основної гілки (-d, -t)

Нижче наводяться деякі найбільш важливі опції команди debmake.

6.1. Опції швидких дій (-a, -i)

Команда debmake пропонує 2 опції для виконання швидких дій.

  • -a: відкрити tar-архів основної гілки
  • -i: виконати сценарій для збірки довічного пакета

Дії з прикладу, наведеного вище в Глава 4, Простий приклад , Можна виконати за допомогою наступної простої команди.

$ Debmake -a package-1.0.tar.gz -i debuild $ Debmake -a package-1 Підказка

A URL such as "https://www.example.org/DL/package-1.0.tar.gz" may be used for the -a option.

gz may be used for the -a option

Підказка

A URL such as "https://arm.koji.fedoraproject.org/packages/ibus/1.5.7/3.fc21/src/ibus-1.5.7-3.fc21.src.rpm" may be used for the -a option, too.

6.1.1. модуль Python

You can generate a functioning single binary Debian package with a reasonable package description directly from the Python module package offered as a tarball , pythonmodule-1.0 .tar.gz. The -b option specifying the package type python and the -s option to copy the package description from the upstream package need to be specified .

$ Debmake -s -b ': python' -a pythonmodule-1.0.tar.gz -i debuild

For other interpreted languages that support the -b option , specify the pertinent type for the -b option.

For interpreted languages without the -b option support, specify the script type instead and add the interpreter package as a dependency of the resulting binary package by adjusting the debian / control file.

6.2. Зрізи основної гілки (-d, -t)

The upstream snapshot from the upstream source tree in the VCS can be made with the -d option if the upstream package supports the "make dist" equivalence.

$ Cd / path / to / upstream-vcs $ debmake -d -i debuild

З іншого боку, те ж саме можна зробити за допомогою опції -t в тому випадку, якщо за допомогою команди tar можна створити tar-архів основної гілки.

$ Cd / path / to / upstream-vcs $ debmake -p package -t -i debuild

Якщо ви не вкажіть версію основної гілки за допомогою опції -u або в файлі debian / changelog, то версія зрізу основної гілки буде створена в форматі 0 ~% y% m% d% H% M з поточних дати і часу по UTC, напр. , 0 ~ 1403012359.

Якщо система управління версіями основної гілки розміщена в каталозі пакет /, а не в каталозі upstream-vcs /, то «-p пакет» можна пропустити.

If the upstream source tree in the VCS contains the debian / * files, the debmake command with either the -d option or the -t option combined with the -i option automates the making of a non -native Debian package from the VCS snapshot while using these debian / * files.

$ Cp -r / path / to / package-0 ~ 1403012359 / debian /. / Path / to / upstream-vcs / debian $ dch ... update debian / changelog $ git add -A.; git commit -m "vcs with debian / *" $ debmake -t -p package -i debuild

Ця схема збірки нерідного довічного пакету Debian, використовуючи команду «debmake -t -i debuild» може розглядатися як схема збірки квазіродного пакету Debian, оскільки ця ситуація при роботі над пакетом схожа зі складанням рідного довічного пакету Debian за допомогою команди debuild і без tar-архіву основної гілки.

Use of a non-native Debian package helps to ease communication with the downstream distros such as Ubuntu for bug fixes etc.

The debmake command with the -cc option can make a summary of the copyright and license for the entire source tree to standard output .

$ Tar -xvzf package-1.0.tar.gz $ cd package-1.0 $ debmake -cc | less

Опція -c дозволяє отримати більш короткий звіт.

При оновленні пакету до нового випуску основної гілки команда debmake може перевірити вміст існуючого файлу debian / copyright і порівняти його з інформацією про авторські права і ліцензування для всього оновленого дерева вихідного коду цілком.

$ Cd package-vcs $ gbp import-orig --uscan --pristine-tar ... update source with the new upstream release $ debmake -k | less

The "debmake -k" command parses the debian / copyright file from the top to the bottom and compares the license of all the non -binary files in the current package with the license described in the last matching file pattern entry of the debian / copyright file.

При редагуванні автоматично створеного файлу debian / copyright переконайтеся, що найбільш загальні шаблони файлів поміщені у верхній частині списку.

При редагуванні автоматично створеного файлу debian / copyright переконайтеся, що найбільш загальні шаблони файлів поміщені у верхній частині списку

Підказка

Для всіх нових випусків основної гілки запускайте команду «debmake -k», щоб файл debian / copyright залишався актуальним.

The generation of a functioning multi-binary package always requires more manual work than that of a functioning single binary package. The test build of the source package is the essential part of it.

Наприклад, створимо пакет з того ж архіву package-1.0 .tar.gz (див. Глава 4, Простий приклад ) З підтримкою набору з декількох двійкових пакунків.

  • Запустіть команду debmake з опцією -j для виконання тестової збірки і створення звіту.

    $ Debmake -j -a package-1.0.tar.gz

  • Check the last lines of the package .build-dep.log file to judge build dependencies for Build-Depends. (You do not need to list packages used by debhelper , perl, or fakeroot explicitly in Build-Depends. This technique is useful for the generation of a single binary package , too.)
  • Перевірте вміст файлу пакет .install.log для визначення шляхів установки файлів, щоб вирішити, як розділити ці файли на кілька пакетів.
  • Почніть роботу над пакетом за допомогою команди debmake.

    $ Rm -rf package-1.0 $ tar -xvzf package-1.0.tar.gz $ cd package-1.0 $ debmake -b "package1: type1, ..."

  • Оновлення файли debian / control і debian / двоічнийпакет .install, використовуючи отриману вище інформацію.
  • При необхідності оновіть інші файли debian / *.
  • Build the Debian package with the debuild command or its equivalent .

    $ debuild

  • All binary package entries specified in the debian / binarypackage .install file are generated as binarypackage_version-revision_arch .deb.

Примітка

Опція -j для команди debmake викликає dpkg-depcheck (1) для запуску debian / rules під керуванням strace (1) з метою отримання залежностей від бібліотек. На жаль, це виконується дуже повільно. Якщо вам відомі залежності від бібліотек з інших джерел, наприклад, файлу SPEC, то можна просто запустити команду «debmake ...» без опції -j і запустити команду «debian / rules install», щоб перевірити шляху установки створених файлів.

Кількість шаблонних файлів, що створюються командою debmake залежить від опції -x [01234].

Кількість шаблонних файлів, що створюються командою debmake залежить від опції -x [01234]

Примітка

Команда debmake не змінює жоден з існуючих файлів настройки.

Команда debmake, запущена з опцією -P, педантично перевіряє створювані автоматично файли на предмет наявності тексту про автоскіх правах і ліцензування, навіть якщо вони підпадають під дію дозвільної ліцензії.

This option affects not only the content of the debian / copyright file generated by normal execution, but also the output by the execution with the -k , -c, -cc, and -ccc options.

The debmake command invoked with the -T option additionally prints verbose tutorial comment lines . The lines marked with ### in the template files are part of the verbose tutorial comment lines .