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