Paquet Debian perso
Bonjour la liste.
Je suis en train d'apprendre à faire des paquets debian pour mon usage
personnel pour une facilité d'installation de mes scripts, fichiers de
conf et autres.
Je test tout ça actuellement en faisant un paquet qui me permet de
remplacer les fichiers de conf shell, à savoir /etc/bash.bashrc,
/etc/profile et /etc/skel/.bash*, par mes propre fichiers.
Comme ces fichiers appartiennent déjà à d'autres paquets (typiquement
bash) je comptais utiliser dpkg-divert pour faire une déviation et
pouvoir installer les miens sans conflits mais je ne sais pas si c'est
la solution optimale.
J'ai 2 questions à vous soumettre :
* En fait lorsque j'installe mon paquet, soit il effectue bien la
diversion (dans un preinst) mais je ne retrouve pas mon nouveau fichier
installé, soit il installe mon fichier mais n'effectue pas la diversion
(oui je sais, c'est bizarre, c'est pour ca que j'ai besoin de vos
lumière :p).
Et quand je test la commande à la main tout se passe correctement
(diversion puis suppression de celle-ci correctement).
Je suppose que j'ai dû me tromper dans mes paramètres d'installation
mais je ne sais pas trop où, pouvez-vous m'aider ?
* Je paramètre les droits d'accès et d'utilisateurs des fichiers à
installer via la commande install dans mon Makefile mais il n'a pas
l'air de les prendre en compte, me suis-je trompé ou dois-je les mettre
ailleurs ?!
Voici mes fichiers :
----------------------------------------------------------------------------------------------------------------------------
# Makefile de la "source" (j'ai opéré comme si je debianisais un paquet
source avec un Makefile qui installe dans le répertoire debian/)
DESTDIR = $(DEBDIR)/etc
install:
install -d $(DESTDIR)/skel
install -o root -g adm -m 664 bash.bashrc $(DESTDIR)/bash.bashrc
install -o root -g adm -m 664 profile $(DESTDIR)/profile
install -o root -g adm -m 664 bashrc $(DESTDIR)/skel/.bashrc
install -o root -g adm -m 664 bash_profile $(DESTDIR)/skel/.bash_profile
install -o root -g adm -m 664 bash_logout $(DESTDIR)/skel/.bash_logout
----------------------------------------------------------------------------------------------------------------------------
# debian/rules
export DH_COMPAT=3
configure: configure-stamp
configure-stamp:
dh_testdir
touch configure-stamp
build: build-stamp
build-stamp: configure-stamp
dh_testdir
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
rm -rf $(CURDIR)/debian/omd-base-files
rm -rf ../omd-base-files_*
# Add here commands to clean up after the build process.
-$(MAKE) clean
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package into debian/base-files.
$(MAKE) DEBDIR=$(CURDIR)/debian/omd-base-files
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
# dh_install
# dh_installmenu
dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_installinit
# dh_installcron
# dh_installinfo
# dh_installman
# dh_link
# dh_strip
dh_compress
dh_fixperms
# dh_perl
# dh_python
# dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
----------------------------------------------------------------------------------------------------------------------------
# debian/preinst
set -e
dpkg-divert --package omd-base-files --add --rename --divert
/etc/bash.bashrc.omd-bak /etc/bash.bashrc
dpkg-divert --package omd-base-files --add --rename --divert
/etc/profile.omd-bak /etc/profile
dpkg-divert --package omd-base-files --add --rename --divert
/etc/skel/.bashrc.omd-bak /etc/skel/.bashrc
dpkg-divert --package omd-base-files --add --rename --divert
/etc/skel/.bash_profile.omd-bak /etc/skel/.bash_profile
dpkg-divert --package omd-base-files --add --rename --divert
/etc/skel/.bash_logout.omd-bak /etc/skel/.bash_logout
----------------------------------------------------------------------------------------------------------------------------
# debian/postrm
set -e
dpkg-divert --package omd-base-files --remove /etc/bash.bashrc
dpkg-divert --package omd-base-files --remove /etc/profile
dpkg-divert --package omd-base-files --remove /etc/skel/.bashrc
dpkg-divert --package omd-base-files --remove /etc/skel/.bash_profile
dpkg-divert --package omd-base-files --remove /etc/skel/.bash_logout
----------------------------------------------------------------------------------------------------------------------------
Merci d'avance pour votre aide
--
Richard
Reply to: