2012-04-01 20 views
12

Estoy creando un pequeño paquete de Deb para instalar algunos archivos. Algunos de ellos se ubicarán en/usr/lib/mypackage/y deseo crear un enlace simbólico desde/usr/lib/mypackage/mybin a/usr/bin/mybinarchivo de reglas de Debian crear un enlace simbólico

Para la carpeta/usr/lib/mypackage Estoy usando mypackage.install y copio los archivos de allí. Esto parece que funciona bien.

Sin embargo, para crear mi enlace simbólico entiendo que necesito usar el archivo de reglas de Debian allí, y no estoy seguro de cómo proceder, aquí está la línea que necesito agregar, ¿dónde debería agregarse y ¿cómo? Gracias

ln -s /usr/lib/mypackage/mybin /usr/bin/mybin 

Respuesta

20

La mejor manera es utilizar dh_link, parte de la suite de debhelper. Consulte man dh_link para obtener detalles sobre su funcionamiento. Como se puede ver en eso, que es probable que desee algo como lo siguiente en un archivo llamado debian/$mypackage.links:

/usr/lib/mypackage/mybin /usr/bin/mybin 

donde debes poner dh_link en su debian/rules, si no está ya allí, depende de cómo lo está haciendo tu equipaje. Si está utilizando Debhelper, entonces su debian/rules probablemente ya tenga dh_link (aunque si usa el clásico Debhelper, entonces la línea dh_link podría estar comentada, y debe descomentarla). El uso de Debhelper de estilo más reciente (dh) o CDBS-plus-debhelper (include /usr/share/cdbs/1/rules/debhelper.mk) también cuentan aquí; ellos se encargarán de dh_link para usted.

Pero si no está utilizando Debhelper, y no desea comenzar, entonces dh_link probablemente no sea una opción. En ese caso, solo necesita asegurarse de cumplir con Debian Policy on the subject (lo que significa que su enlace simbólico debe ser relativo, no absoluto). Probablemente quiera hacer el enlace en el destino debian/rules de build. Ejemplo:

build: 
    # ... other stuff ... 
    mkdir -p debian/$mypackage/usr/bin 
    ln -s ../lib/mypackage/mybin debian/$mypackage/usr/bin/mybin 
+0

hacer el enlace relativa resuelto mi problema – user877329

+0

lugar de suministrar el archivo '* .links', también puede agregar una configuración de anulación en' rules'. Simplemente coloque 'override_dh_link: \ n \ t dh_link source/file destination/file' después del final del bloque de configuración'%: '. '\ n \ t' significa una nueva línea seguida de una pestaña. – iFreilicht

Cuestiones relacionadas