Я пытаюсь перекомпилировать nginx с некоторыми дополнительными модулями и снова упаковать его. Я хочу изменить имя пакета, чтобы избежать обновления пакета, которое может сломать сервер. Пока я скачал исходный код с помощью apt-get source nginx, изменил раздел правил, чтобы добавить модуль, и перекомпилировал его с помощью debuild, но я понятия не имею, как изменить имя пакета. Любые идеи?
Имена результирующих пакетов настраиваются в файле debian / control. Вам придется изменить как имена пакетов, так и относящиеся к ним вещи (Depends / Conflicts / Provies / и т. Д.).
Кроме того, в debian / есть несколько файлов, названных в честь используемых ими пакетов (заканчивающихся на .install / postint / prerm / dirs / init / ...) (они используются различными сценариями dh_ * во время сборки пакета). Вам также придется переименовать эти файлы.
Глядя на debian / rules nginx, похоже, что в правилах binary-indep и build-dbg есть некоторые жестко запрограммированные имена pacakge, которые также нуждаются в исправлении.
чтобы упростить задачу и избежать взлома с помощью debian / packages, используйте checkinstall
это должно быть доступно из ваших пакетов дистрибутива.
Обязательно внимательно прочтите man-файл, потому что вам понадобятся некоторые cli-переключатели, которые будут присутствовать lilke package-Maintainer, package-version и т. д., но после его настройки он работает как charme.
мы используем его для написания сценариев наших сборок и создания пакетов rpm / deb из одной сборки.