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

Répondre à