Tengo un gran proyecto en el que tenemos los siguientes archivos:necesito mi archivo de reglas de Debian sencillamente copiar los archivos a su blanco
- Algunos de 3 ª parte binarios precompilados
- Nuestra propia casa binarios
- Una colección de scripts de Ruby
- un rubí considerable en el proyecto de rieles
Este producto se instalará en hardware del dispositivo que mi El empleador ya ha seleccionado, usando Ubuntu Linux (Lucid) como el objetivo O.S., con el objetivo de distribuir el archivo como un paquete Debian para facilitar la instalación y las actualizaciones. Además, tenemos una serie de plantillas de ERB que necesitamos "completar" con los valores adecuados por cliente, por lo que el uso del script postinst será especialmente útil para nuestros propósitos.
Como nota al margen, los paquetes de Debian se almacenarán en un repositorio de servidor que administramos internamente.
En esta etapa he usado dh_make para crear el directorio Debian y los archivos relacionados (por ejemplo, reglas, control, etc.), pero el archivo de reglas que se genera parece excesivo para mis propósitos.
Basándose en esta descripción, todo lo que realmente necesitan las "reglas" de archivos que hacer es simplemente copiar archivos desde un directorio de origen (o dentro de un archivo) a los directorios de destino se muestra a continuación:
- /opt/company_product/3rd_party_binaries/bin
- /opt/company_product/3rd_party_binaries/etc
- /opt/company_product/in_hourse_binaries/bin
- /opt/company_product/in_hourse_binaries/etc
- /opt/company_product/rubí
- /opt/company_product/rails_project
- /opt/company_product/etc
- /opt/company_product/shared/logs
- /opt/company_product/shared/tmp
- /opt/company_product/shared/license
- ... Y así sucesivamente.
He leído el Manual de Normas de Debian y varios Cómo Hacer que indican que no debe alterar el archivo de reglas para usar mkdir para crear directorios y no hay generalmente un dh_ aplicación (por ejemplo, , dh_installdirs, et.al.) que pueden adaptarse a sus necesidades para casi cualquier propósito de instalación. Las páginas man para estas aplicaciones relacionadas con dh_ son superficiales en el mejor de los casos, y yo soy un tipo de "ejemplo".
Dicho esto, estoy un poco perdido en lo que es el mejor enfoque para obtener mi archivo de reglas para instalar mis varios archivos binarios precompilados y Ruby/Rails en las ubicaciones deseadas.
Aquí es mi iniciales reglas archivo. Es más o menos un archivo estándar de reglas repetitivas que crea dh_make. Mi pensamiento es que debo comentar todas las secciones excepto por la instalación y luego encontrar el comando (s) apropiada para hacer directorios, copiar archivos, etc. dentro de esa sección.
Cualquier consejo o sugerencias son muy apreciadas.
#!/usr/bin/make -f package = testapp CC = gcc CFLAGS = -g -Wall ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O2 endif #export DH_VERBOSE=1 clean: dh_testdir dh_clean rm -f build install: build dh_clean dh_installdirs echo "Place the Install Script here" cp $(CURDIR)/testapp-2.0.tar.gz $(CURDIR)/debian/$(package)/opt/testapp-2.0 echo "Finished copying folders" build: touch build binary-indep: install # There are no architecture-independent files to be uploaded # generated by this package. If there were any they would be # made here. binary-arch: install dh_testdir -a dh_testroot -a dh_installdocs -a dh_installchangelogs -a dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a binary: binary-indep binary-arch .PHONY: binary binary-arch binary-indep clean checkroot
sugerencias excelentes. Una vez que hago esto, ¿qué comando debería usar para construir el paquete Deb? –
ok, ejecuté dpkg-buildpackage y obtuve un archivo .deb, pero cuando lo instalo en el servidor de destino no ejecuta mi archivo debian/mypackagename.install. Además, si tengo scripts que entran en init.d, ¿dónde los pongo? –
Aquí es mi estructura de directorios: build_deploy.rb build_package.rb docs debian extras Rakefile src test.txt. Bajo src es la siguiente: Filtro consola bin created_vipre.sql etc install.rb optar transporte SPF. Todo lo que quiero es tener un archivo .deb que contenga todo lo relacionado con src. Luego quiero que esa estructura exacta se copie a/opt/vipre en el sistema de destino. Entonces quiero que todo lo que se encuentre debajo de src/etc/init.d se copie a /etc/init.d. No estoy seguro de por qué no puedo obtener esto.Parece simple, pero los documentos me están confundiendo. Por favor ayuda. Muchas gracias. –