# [diff config paquet] equery check

## bdouxx

bonjour

Ayant fais quelques modifs sur ma config php/apache/phpmyadmin, j'aimerai faire une passe rapide sur mes fichiers modifié pour voir s'ils les différences avec les versions originales sont justifiés.

pour cela :

- recherche des différences via equery check --only-failures

- téléchargement du paquet via emerge --fetchonly

- décompression du paquet

- recherche manuelle des fichiers (ils n'ont pas le même noms)

- diff entre les fichiers

ma méthode ne me semble pas vraiment correcte, car par exemple le diff sur "lib64" est logique mais ce n'est pas moi je crois qui ai fait cette modif

Avez vous une meilleure méthode?

```

ordi_perso distfiles # equery check --only-failures www-servers/apache

!!! /etc/apache2/modules.d/40_mod_ssl.conf has incorrect MD5sum

!!! /etc/init.d/apache2 has incorrect MD5sum

!!! /etc/conf.d/apache2 has incorrect MD5sum

!!! /etc/apache2/httpd.conf has incorrect MD5sum

* Checking www-servers/apache-2.4.4-r3 ...

   473 out of 477 files passed

ordi_perso distfiles # emerge --fetchonly www-servers/apache

Calculating dependencies... done!

>>> Fetching (1 of 1) www-servers/apache-2.4.4-r3

 * httpd-2.4.4.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                    [ ok ]

>>> Downloading 'http://mirrors.linuxant.fr/distfiles.gentoo.org/distfiles/gentoo-apache-2.4.4-20130227.tar.bz2'

--2013-05-15 22:54:45--  http://mirrors.linuxant.fr/distfiles.gentoo.org/distfiles/gentoo-apache-2.4.4-20130227.tar.bz2

Résolution de mirrors.linuxant.fr (mirrors.linuxant.fr)... 46.105.42.9, 2001:41d0:8:727a:2e:69:2a:9

Connexion vers mirrors.linuxant.fr (mirrors.linuxant.fr)|46.105.42.9|:80...connecté.

requête HTTP transmise, en attente de la réponse...200 OK

Longueur: 24579 (24K) [application/x-bzip2]

Sauvegarde en : «/usr/portage/distfiles/gentoo-apache-2.4.4-20130227.tar.bz2»

100%[============================================================================================================================================>] 24 579      --.-K/s   ds 0,09s   

2013-05-15 22:54:45 (266 KB/s) - «/usr/portage/distfiles/gentoo-apache-2.4.4-20130227.tar.bz2» sauvegardé [24579/24579]

 * gentoo-apache-2.4.4-20130227.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                   [ ok ]

ordi_perso distfiles # cd /usr/portage/distfiles

ordi_perso distfiles # bunzip2 /usr/portage/distfiles/gentoo-apache-2.4.4-20130227.tar.bz2

ordi_perso distfiles # tar -xvf gentoo-apache-2.4.4-20130227.tar

gentoo-apache-2.4.4/

gentoo-apache-2.4.4/init/

gentoo-apache-2.4.4/init/apache2.confd

gentoo-apache-2.4.4/init/apache2.initd

gentoo-apache-2.4.4/conf/

gentoo-apache-2.4.4/conf/modules.d/

gentoo-apache-2.4.4/conf/modules.d/46_mod_ldap.conf

gentoo-apache-2.4.4/conf/modules.d/00_error_documents.conf

gentoo-apache-2.4.4/conf/modules.d/00_languages.conf

gentoo-apache-2.4.4/conf/modules.d/00_mod_log_config.conf

gentoo-apache-2.4.4/conf/modules.d/00_mod_autoindex.conf

gentoo-apache-2.4.4/conf/modules.d/00_default_settings.conf

gentoo-apache-2.4.4/conf/modules.d/45_mod_dav.conf

gentoo-apache-2.4.4/conf/modules.d/00_mpm.conf

gentoo-apache-2.4.4/conf/modules.d/00_mod_mime.conf

gentoo-apache-2.4.4/conf/modules.d/00_apache_manual.conf

gentoo-apache-2.4.4/conf/modules.d/40_mod_ssl.conf

gentoo-apache-2.4.4/conf/modules.d/00_mod_status.conf

gentoo-apache-2.4.4/conf/modules.d/00_mod_userdir.conf

gentoo-apache-2.4.4/conf/modules.d/00_mod_info.conf

gentoo-apache-2.4.4/conf/modules.d/10_mod_mem_cache.conf

gentoo-apache-2.4.4/conf/vhosts.d/

gentoo-apache-2.4.4/conf/vhosts.d/default_vhost.include

gentoo-apache-2.4.4/conf/vhosts.d/00_default_ssl_vhost.conf

gentoo-apache-2.4.4/conf/vhosts.d/00_default_vhost.conf

gentoo-apache-2.4.4/conf/httpd.conf

gentoo-apache-2.4.4/patches/

gentoo-apache-2.4.4/patches/25_all-apply_to_2.2.21-CVE-2011-3368.patch

gentoo-apache-2.4.4/patches/00_all_gentoo_base.patch

gentoo-apache-2.4.4/patches/01_all_mod_rewrite_ampescape.patch

gentoo-apache-2.4.4/patches/config.layout

gentoo-apache-2.4.4/patches/03_all_gentoo_apache-tools.patch

gentoo-apache-2.4.4/scripts/

gentoo-apache-2.4.4/scripts/apache2-logrotate

gentoo-apache-2.4.4/scripts/gentestcrt.sh

gentoo-apache-2.4.4/scripts/apache2ctl

gentoo-apache-2.4.4/DATESTAMP

gentoo-apache-2.4.4/docs/

gentoo-apache-2.4.4/docs/ssl-vhost.conf.example

gentoo-apache-2.4.4/docs/robots.txt

gentoo-apache-2.4.4/docs/name-based-vhost.conf.example

gentoo-apache-2.4.4/docs/ip-based-vhost.conf.example

ordi_perso distfiles # diff gentoo-apache-2.4.4/init/apache2.initd /etc/init.d/apache2

40c40

<       SERVERROOT="${SERVERROOT:-/usr/lib/apache2}"

---

>       SERVERROOT="${SERVERROOT:-/usr/lib64/apache2}"

73a74

>       checkpath --directory /run/apache_ssl_mutex

106c107

<       while ( ! test -f "${PIDFILE}" && pgrep -P ${PID} apache2 >/dev/null ) \

---

>       while ( test -f "${PIDFILE}" && pgrep -P ${PID} apache2 >/dev/null ) \

```

----------

## xaviermiller

Bonjour,

Ta méthode ne me semble pas correcte, car dans le cas précis que tu nous montres, tu compares un fichier init venant du fournisseur avec la version adaptée par les mainteneurs Gentoo.

La meilleure comparaison dans l'idée de ce que tu veux faire ne serait pas de comparer les sources, mais les binpkgs.

Et puis, je ne comprends pas trop la démarche vu que Portage est assez malin pour ne pas écraser tes configurations, et qu'en cas de conflit, il te demandera de confirmer via dispatch-conf.

----------

## bdouxx

bonjour

en fait, quand je fais des modifs, je ne suis pas forcement sur de ce que je fais( typiquement pour postfix, roundcube et autre j'ai suivi plein de tutorial differents avant d'avoir un truc qui corresponde plus ou moins a mes besoins). Et j'aimerai avoir un moyen simple de comparer les différences entre le fichier actuel et le fichier original 

si je prend cet exemple

```
ordi_perso distfiles # diff gentoo-apache-2.4.4/init/apache2.initd /etc/init.d/apache2

40c40

<       SERVERROOT="${SERVERROOT:-/usr/lib/apache2}"

---

>       SERVERROOT="${SERVERROOT:-/usr/lib64/apache2}"

73a74

>       checkpath --directory /run/apache_ssl_mutex

106c107

<       while ( ! test -f "${PIDFILE}" && pgrep -P ${PID} apache2 >/dev/null ) \

---

>       while ( test -f "${PIDFILE}" && pgrep -P ${PID} apache2 >/dev/null ) \
```

je suis sur à 80% que ce n'est pas moi qui ait touché au point d'exclamation dans le test (mais tout est possible, je l'ai peut être modifié il y a un  bail).

le seul moyen que j'ai trouvé actuellement quand j'ai des modifs comme celle la que je ne comprend pas, c'est de copier le fichier, puis le supprimer, puis relancer une compil, et faire un diff pour ne laisser que les différences dont je suis sur.

Le problème de dispatch-conf justement c'est qu'il gère automatiquement mes modifs , moi je veux les voir affiché.

je vais regarder ce que sont les binpkgs

----------

## boozo

 *bdouxx wrote:*   

> (...)
> 
> Le problème de dispatch-conf justement c'est qu'il gère automatiquement mes modifs , moi je veux les voir affiché.

 

Même si je comprends ce que tu décris, comme Xavier, je ne vois pas bien le pb que tu as avec les merge des fichiers... n'est-ce pas un problème d'options choisies ?

Je passe par etc-update (mais je pense que dispatch.conf fait au moins les mêmes choses) et en fonction de l'option que je prends : je peux voir les modifs, supprimer/conserver/merger les fichiers ayant des différences _voire en sus_ conserver tout de même les fichiers originaux si besoin de rollback p.e.   :Wink: 

----------

