Я искал простой способ создать .deb Пакеты для вещей, у которых нет исходного кода для компиляции (конфигурации, сценарии оболочки, проприетарное программное обеспечение). Это было серьезной проблемой, потому что большинство руководств по пакетам предполагают, что у вас есть архив с исходным кодом, который вы хотите скомпилировать. Затем я нашел это краткое руководство (на немецком языке).
После этого я создал небольшой скрипт для создания простого репозитория. Примерно так:
rm /export/my-repository/repository/*
cd /home/tdeutsch/deb-pkg
for i in $(ls | grep my); do dpkg -b ./$i /export/my-repository/repository/$i.deb; done
cd /export/avanon-repository/repository
gpg --armor --export "My Package Signing Key" > PublicKey
apt-ftparchive packages ./ | gzip > Packages.gz
apt-ftparchive packages ./ > Packages
apt-ftparchive release ./ > /tmp/Release.tmp; mv /tmp/Release.tmp Release
gpg --output Release.gpg -ba Release
Я добавил ключ в связку ключей apt и включил исходный код следующим образом:
deb http://my.default.com/my-repository/ ./
Похоже, что репо работает хорошо (я столкнулся с некоторыми проблемами, чтобы исправить их, мне потребовалось дважды добавить пакеты и сделайте обходной путь временного файла для файла выпуска). Еще положил в репо несколько скачанных .deb, вроде тоже без проблем работают. Но мои собственные пакеты не ... Венн, я делаю sudo apt-get update
, они вызывают такие ошибки:
E: Problem parsing dependency Depends
E: Error occurred while processing my-printerconf (NewVersion2)
E: Problem with MergeList /var/lib/apt/lists/my.default.com_my-repository_._Packages
E: The package lists or status file could not be parsed or opened.
Кто-нибудь знает, что я сделал не так?
ОБНОВЛЕНИЕ 2012 -03-06: Просто подсказка для другого человека, который ищет простой способ создания DEB: взгляните на FPM .