Busqué una manera simple de crear paquetes .deb para cosas que no tienen código fuente para compilar (configuraciones, shellscripts, software propietario). Esto fue un gran problema porque la mayoría de los tutoriales del paquete suponen que tiene un tarball fuente que desea compilar. Luego encontré este breve tutorial (alemán).
Luego, creé un pequeño script para crear un repositorio simple. Me gusta esto:
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
Agregué la clave al llavero apt e incluí la fuente de esta manera:
deb http://my.default.com/my-repository/ ./
Parece que el repositorio en sí está funcionando bien (me encontré con algunos problemas, para solucionarlos necesitaba agregar los paquetes dos veces y solucionar el archivo temporal para el archivo Release). También puse algunos .deb descargados en el repositorio, parece que también funcionan sin problemas. Pero mis paquetes de creación propia no ... Wenn sí sudo apt-get update
, están causando errores como este:
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.
¿Alguien tiene una idea de lo que hice mal?
ACTUALIZACIÓN 2012-03-06: Solo una pista para otra persona que está buscando una manera fácil de crear DEB: Eche un vistazo a FPM .
Respuestas:
El tutorial que ha vinculado utiliza un enfoque de bajo nivel para crear un paquete. Tal enfoque generalmente no se recomienda y puede dar lugar a todo tipo de problemas cuando no se hace con cuidado.
Crear un .deb para un script es muy simple una vez que comprenda los conceptos básicos de empaquetado. En una palabra:
Agregar más scripts requiere que se copien en el directorio y se agreguen al archivo debian / install, luego simplemente vuelva a ejecutar debuild. También debe verificar y actualizar los archivos debian / * según sea necesario.
Debe leer las páginas del manual para:
dh_make
,dh_install
ydebuild
fuente
--indep
bandera adh_make
hará que el paquete "Arquitectura: todo" También la-b
bandera no exista en 11.04 y superiores.lintian somescripts_0.1-1_i386.deb
olintian package-source.changes
- vea: packaging.ubuntu.com/html/…