[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: