# Problème pour créer un paquet debian

**URL:** <https://www.debian-fr.org/t/probleme-pour-creer-un-paquet-debian/25730>\
**Category:** Support Debian\
**Created:** [Février 20, 2016, 9:48 UTC](https://www.debian-fr.org/t/probleme-pour-creer-un-paquet-debian/25730 "2016-02-20T21:48:02Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![tikok74](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@tikok74](https://www.debian-fr.org/u/tikok74)\
**Post date:** [Février 20, 2016, 9:48 UTC](https://www.debian-fr.org/t/probleme-pour-creer-un-paquet-debian/25730/1 "2016-02-20T21:48:02Z")

</div>

Bonjour à tous,

Je souhaite créer un paquet Debian personnalisé pour l’installation de Centreon et Nagios.  
J’ai suivi plusieurs tutos ainsi que la documentation officiel du mainteneur Debian pour parvenir à mes fins…mais…je bloque sur un problème à la fin de l’exécution du fichier “rules” ( et oui…pour moi le plus compliquer à comprendre ! ).  
Voilà l’erreur:

```auto
...
dh_shlibdeps
dh_md5sums
	(cd debian/nagios >/dev/null ; find . -type f ! -regex '.*/DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums) >/dev/null
	chmod 644 debian/nagios/DEBIAN/md5sums
	chown 0:0 debian/nagios/DEBIAN/md5sums
dh_builddeb
	dpkg-deb --build debian/nagios ..
dpkg-deb: la lecture du fichier « info » « debian/nagios/DEBIAN/control » du paquet a échoué: Aucun fichier ou répertoire de ce type
dh_builddeb: command returned error code 512
make: *** [binary-arch] Erreur 1
dpkg-buildpackage: échec: debian/rules binary a produit une erreur de sortie de type 2
...
```

voici la structure des dossiers:

```auto
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0# ls
nagios-3.2.0 nagios_3.2.0.orig.tar.gz
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0#
```

```auto
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0# ls
base config.guess configure.in debian INSTALLING Makefile.in OutputTrap.pm sample-config THANKS
build-stamp config.log configure-stamp DEBIAN install-sh make-tarball p1.pl subst t-tap
cgi config.status contrib functions LEGAL mkpackage pkginfo subst.in update-version
Changelog config.sub daemon-init html LICENSE module pkginfo.in t UPGRADING
common configure daemon-init.in include Makefile nagios.spec README tap xdata
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0#
```

ainsi que le dossier debian:

```auto
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0/debian# ls
changelog compat control copyright nagios nagios.debhelper.log preinst rules RULES-ORIG
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0/debian#
```

Le contenu de mon fichier rules:

```auto
#!/usr/bin/make -f
# debian/rules makefile for nagios3-2
# Last modified:
# $Id: rules 01 2010-03-01 16:35:00Z formorer $

# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1

# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)

export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
else
CROSS= --build $(DEB_BUILD_GNU_TYPE)
endif
CFLAGS = -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif

SHELL = /bin/sh -e
CONFIGURE = CFLAGS='$(CFLAGS)' ./configure --prefix=/usr/local/nagios3 \
                                --mandir=/usr/share/man \
                                --bindir=/usr/sbin \
                                --sbindir=/usr/lib/cgi-bin/nagios3 \
                                --datadir=/usr/share/nagios3/htdocs \
                                --sysconfdir=/etc/nagios3 \
                                --infodir=/usr/share/info \
                                --libexecdir=/usr/local/nagios3/libexec \
                                --localstatedir=/var/lib/nagios3 \
                                --enable-event-broker \
                                --enable-embedded-perl \
                                --with-nagios-user=nagios \
                                --with-nagios-group=nagios \
                                --with-command-user=nagios \
                                --with-command-group=nagios \
                                --with-init-dir=/etc/init.d \
                                --with-lockfile=/var/run/nagios3/nagios3.pid \
                                --with-mail=/usr/bin/mail \
                                --with-perlcache \
                                --build=$(DEB_BUILD_GNU_TYPE) \
                                --host=$(DEB_HOST_GNU_TYPE) \
                                --with-htmurl=/nagios3 \
                                --with-cgiurl=/cgi-bin/nagios3

configure: configure-stamp
configure-stamp:
        dh_testdir -a
        @echo "Doing $@"
        if test -f Makefile; then make clean; fi
        ln -sf /usr/share/misc/config.sub .
        ln -sf /usr/share/misc/config.guess .
        rm -f config.cache
        $(CONFIGURE)
        touch configure-stamp

build: build-stamp
build-stamp: configure-stamp
        dh_testdir -a

        # Add here commands to compile the package.
        make all
        #docbook-to-man debian/nagios.sgml > nagios.1

        touch $@

clean:
        dh_testdir
        dh_testroot
        rm -f build-stamp

        # Add here commands to clean up after the build process.
        [! -f Makefile] || $(MAKE) distclean
        rm -f config.sub config.guess

        dh_clean

install: build
        @echo "Doing $@"
        dh_testdir -a
        dh_testroot -a
        dh_clean -k
        dh_installdirs -a -i
        # Add here commands to install the package into /usr/local/nagios3 .
        $(MAKE) prefix=$(CURDIR)/usr install
        # make fullinstall DESTDIR=/usr/local/nagios3 INSTALL_OPTS=""

# 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 Changelog
        dh_installdocs
        dh_installexamples
        dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_python
# dh_installinit
# dh_installcron
# dh_installinfo
        dh_installman
        dh_link
        dh_strip
        dh_compress
        dh_fixperms
# dh_perl
# 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

```

Est ce que quelqu’un voit une boulette quelque part car moi je sèche !

Merci à tous.

---

<div class="post-metadata">

**Author:** ![tikok74](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@tikok74](https://www.debian-fr.org/u/tikok74)\
**Post date:** [Février 20, 2016, 9:48 UTC](https://www.debian-fr.org/t/probleme-pour-creer-un-paquet-debian/25730/2 "2016-02-20T21:48:45Z")

</div>

Bonjour à tous,

Personne n’a une idée sur mon problème ?

Est ce que quelqu’un connait une doc intéressante sur ce fichier “rules” ou au mieux une doc complète sur comment bien créer un .deb ?  
Cela pourrait m’éclairer et peut être m’aider à résoudre mon problème !  
J’ai surement “merdé” dans la config de ce fichier !

Merci d’avance pour votre intérêt.

---

<div class="post-metadata">

**Author:** ![micky979](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/d9b06d/32.png) [@micky979](https://www.debian-fr.org/u/micky979)\
**Post date:** [Février 20, 2016, 9:48 UTC](https://www.debian-fr.org/t/probleme-pour-creer-un-paquet-debian/25730/3 "2016-02-20T21:48:47Z")

</div>

Bonjour,

Il te dit qu’il manque le fichier control.

`dpkg-deb: la lecture du fichier « info » « debian/nagios/DEBIAN/control » du paquet a échoué: Aucun fichier ou répertoire de ce type
dh_builddeb: command returned error code 512`

Une description sur le fichier control : [debian.org/doc/FAQ/ch-pkg\_ba … ontrolfile](http://www.debian.org/doc/FAQ/ch-pkg_basics.fr.html#s-controlfile)

---

<div class="post-metadata">

**Author:** ![tikok74](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@tikok74](https://www.debian-fr.org/u/tikok74)\
**Post date:** [Février 20, 2016, 9:48 UTC](https://www.debian-fr.org/t/probleme-pour-creer-un-paquet-debian/25730/4 "2016-02-20T21:48:53Z")

</div>

Salut micky979,

Merci pour ton intérêt !

Ce que je ne comprend pas c’est que mon fichier “control” est là !!!  
Regarde mon premier message quand je fais un “ls” sur mon répertoire “monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0/DEBIAN#”

```auto
 monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0/DEBIAN#ls
changelog compat control copyright nagios.debhelper.log preinst rules RULES-ORIG
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0/DEBIAN#
```

Voilà comment je procède :

1. je me positionne dans le répertoire où se trouve les sources que je veux utiliser  
pour mon .deb.

```auto
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0# ls
base config.guess configure.in debian INSTALLING Makefile.in OutputTrap.pm sample-config THANKS
build-stamp config.log configure-stamp DEBIAN install-sh make-tarball p1.pl subst t-tap
cgi config.status contrib functions LEGAL mkpackage pkginfo subst.in update-version
Changelog config.sub daemon-init html LICENSE module pkginfo.in t UPGRADING
common configure daemon-init.in include Makefile nagios.spec README tap xdata
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0#
```

1. Je lance la commande “dpkg-buildpackage -d -b”

2. Un répertoire nommé “nagios” se créer dans “monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0/DEBIAN” :

```auto
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0/DEBIAN# ls
changelog compat control copyright [b]nagios[/b] nagios.debhelper.log preinst rules RULES-ORIG
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0/DEBIAN# 
```

1. Dedans ce répertoire il y a:

```auto
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0/DEBIAN/nagios# ls
DEBIAN usr
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0/DEBIAN/nagios#
```

1. Dans DEBIAN du répertoire ci dessus il y a:

```auto
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0/DEBIAN/nagios/DEBIAN# ls
md5sums preinst
monserveur:/usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0/DEBIAN/nagios/DEBIAN#
```

MAIS PAS DE FICHIER “control” ici effectivement !  
La question est : Qui se charge de créer le fichier “control” ici …si c’est toutefois ici qu’il doit se trouver ! 😕

Merci encore !

---

<div class="post-metadata">

**Author:** ![tikok74](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@tikok74](https://www.debian-fr.org/u/tikok74)\
**Post date:** [Février 20, 2016, 9:49 UTC](https://www.debian-fr.org/t/probleme-pour-creer-un-paquet-debian/25730/5 "2016-02-20T21:49:15Z")

</div>

Bonjour à tous,

Personne n’a vraiment une idée sur le problème ?

Même pas un petit howto sympa ?

Je constate effectivement que sur le net …peu de gens ont publié un howto COMPLET  
sur la constitution d’un paquet DEBIAN un peu plus évolué que des exemples avec “Hello World” 😢

Merci d’avance pour votre intérêt.

---

<div class="post-metadata">

**Author:** ![L0u](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/b77776/32.png) [@L0u](https://www.debian-fr.org/u/L0u)\
**Post date:** [Février 20, 2016, 9:49 UTC](https://www.debian-fr.org/t/probleme-pour-creer-un-paquet-debian/25730/6 "2016-02-20T21:49:23Z")

</div>

Hum…

Désolé, mais le fichier debian/nagios/DEBIAN/control n’existe pas.  
le fichier nagios-3.2.0/DEBIAN/control par contre existe.

comme ça, je dirais que dans le dossier nagios-3.2.0/DEBIAN/nagios/DEBIAN/ tu devrais tenter de mettre ton fichier control.

Au pire, tu peux tenter de créer ces répertoires à partir de la racine de ton projet pour voir ce qu’il te répond.

---

<div class="post-metadata">

**Author:** ![nicocolt](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/a88e4f/32.png) [@nicocolt](https://www.debian-fr.org/u/nicocolt)\
**Post date:** [Février 21, 2016, 9:28 UTC](https://www.debian-fr.org/t/probleme-pour-creer-un-paquet-debian/25730/7 "2016-02-21T21:28:38Z")

</div>

Hello,

Dépoussiérage, oui c’est un peu vieux, mais bon, finalement tu avais réussi ? Car moi je galère…

Merci,  
Nico

---

<div class="post-metadata">

**Author:** ![Sputnik93](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/35a633/32.png) [@Sputnik93](https://www.debian-fr.org/u/Sputnik93)\
**Post date:** [Juillet 20, 2018, 12:43 UTC](https://www.debian-fr.org/t/probleme-pour-creer-un-paquet-debian/25730/8 "2018-07-20T12:43:45Z")

</div>

Hello !  
Gros déterrage, mais ça pourrait servir à d’autres: il faut donner le chemin absolu complet lors de l’appel à dpkg-deb --build  
Ton script fait un `dpkg-deb --build debian/nagios` alors qu’il devrait faire `dpkg-deb --build /usr/local/src/PACKAGING/nagios-3-2-0/nagios-3.2.0`
