Installer Peerguardian sur Mga8 [Réglé]

Suryavarman Membre non connecté
-
- Voir le profil du membre Suryavarman
- Inscrit le : 22/06/2018
- Site internet
- Groupes :
Pour éviter de chercher le paquet dans le fil de la discussion c'est ici
http://gdeps.org//stockage/Mageia/peerguardian-2.3.2-0.git20171006.1.mga8.src.rpm
http://gdeps.org//stockage/Mageia/peerguardian-2.3.2-0.git20171006.1.mga8.x86_64.rpm
http://gdeps.org//stockage/Mageia/peerguardian.spec
http://gdeps.org//stockage/Mageia/peerguardian-20171006-9d91ab6.tar.gz
[/EDIT]
Je suis têtu désolé mais je le veux.
Deux options je le compile et je l'installe moi même. Mais quelque chose me dis que la prochaine migration vers Mga9 va pas aimer :p si je l'installe dans le système. Alors je vais voir si je peux la lancer depuis un dossier bidon.
Du coup voici mon script bash pour compiler le bousin:
Attention il faudra modifier le code à la main:
éditer le fichier pgld/src/blocklist.h et ajouter à la ligne 77 static devant blocklist_t
L'erreur était visible sur l'autobuild de mageia
http://pkgsubmit.mageia.org/autobuild/cauldron/x86_64/core/2020-08-11/peerguardian-2.3.1-4.mga8.src.rpm/build.0.20200812140516.log
Code :
SCRIPT=$(readlink -f "$0")
SCRIPTPATH=$(dirname "$SCRIPT")
cd "$SCRIPTPATH"
function install_dependencies()
{
su
urpmi autoconf libtool automake lib64netfilter_queue-devel lib64polkit-qt5-1-devel-0.113.0-5.mga8.x86_64 lib64polkit-qt5-gui-1_1-0.113.0-5.mga8.x86_64
exit
}
function build_pg()
{
cd "$SCRIPTPATH/peerguardian-code"
export QT_SELECT=5
export BIN_PATH="$SCRIPTPATH/peerguardian-code/bin"
# if [ ! -d "$BIN_PATH/share" ]; then
# mkdir "$BIN_PATH/share"
# fi
#
# if [ ! -d "$BIN_PATH/share/man" ]; then
# mkdir "$BIN_PATH/share/man"
# fi
#--prefix= "$BIN_PATH" \
#--mandir= "$BIN_PATH/share/man" \
#--datadir= "$BIN_PATH/share" \
./configure \
--enable-cron \
--enable-dbus \
--enable-logrotate \
--enable-networkmanager \
--enable-zlib \
--with-qt5 \
--with-systemd=/etc/systemd \
--disable-lowmem
make clean
make -j $(($(nproc) -1))
}
if [ ! -d ./peerguardian-code ]; then
git clone [url=https://git.code.sf.net/p/peerguardian/code]https://git.code.sf.net/p/peerguardian/code[/url] peerguardian-code
cd peerguardian-code
fi
build_pg
Du coup sa compile et ça se lance avec un message d'erreur:
./peerguardian-code/pglgui/pglgui
> Couldn't find pglcmd's defaults path.
Et l'application se lance bien mais rien ne fonctionne.
Du coup la deuxième option serait de reprendre le rpm de la version 7 de Mageia et de le modifier pour la 8.
Du coup je par de là :
https://madb.mageia.org/package/show/name/peerguardian/release/7/application/0/arch/x86_64/source/1
https://mageia.pkgs.org/7.1/mageia-core-release-x86_64/peerguardian-2.3.1-2.mga7.x86_64.rpm.html
https://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/7.1/SRPMS/core/release/peerguardian-2.3.1-2.mga7.src.rpm
Si vous avez des conseils/idées n'hésitez pas.
Je vais commencer par là:
https://wiki.mageia.org/en/Empaqueteurs,_les_bons_d%C3%A9buts-fr
Quelques liens :
[url=http://sophie.zarb.org/distrib/Mageia/7/x86_64/by-pkgid/8db65b1e56adbfd82cf8d1c0ac888691/analyse]http://sophie.zarb.org/distrib/Mageia/7/x86_64/by-pkgid/8db65b1e56adbfd82cf8d1c0ac888691/analyse
Édité par Suryavarman Le 03/03/2021 à 22h23

Suryavarman Membre non connecté
-
- Voir le profil du membre Suryavarman
- Inscrit le : 22/06/2018
- Site internet
- Groupes :
https://framagit.org/Suryavarman/peerguardian
J'utiliserai ce dépôt pour faire mon rpm.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
https://www.kdab.com/porting-from-qt-4-to-qt-5/
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Suryavarman Membre non connecté
-
- Voir le profil du membre Suryavarman
- Inscrit le : 22/06/2018
- Site internet
- Groupes :
Citation :
Haha, tient j'ai fait autrement... J'ai extern et déclaré dans le .c.
Haha excellent. Je programme pas en C, hormis très très rarement. J'ai peut être pas fait la bonne correction. J'ai eu le réflexe C++ du mot clef statique.
N'hésite pas à me dire si ta solution est meilleur.
Citation :
Il faudra aussi s'amuser à comprendre pourquoi QtWidget s'ajoute automatiquement, ça plante la compile avec ce mauvais include auto-généré.
Je vois pas d'erreur de mon côté.
Peut être que ça vient du configure.
Code :
./configure \
--enable-cron \
--enable-dbus \
--enable-logrotate \
--enable-networkmanager \
--enable-zlib \
--with-qt5 \
--with-systemd=/etc/systemd \
--disable-lowmem
Ou en amont la définition de la variable:
Code :
export QT_SELECT=5

Suryavarman Membre non connecté
-
- Voir le profil du membre Suryavarman
- Inscrit le : 22/06/2018
- Site internet
- Groupes :
http://www.suryavarman.fr/stockage/mageia/8/peerguardian/peerguardian-2.3.2-2.mga8.x86_64.rpm
http://www.suryavarman.fr/stockage/mageia/8/peerguardian/peerguardian-2.3.1-2.mga8.src.rpm
http://www.suryavarman.fr/stockage/mageia/8/peerguardian/peerguardian-2.3.1-2.mga8.x86_64.rpm
Le spec:
http://www.suryavarman.fr/stockage/mageia/8/peerguardian/peerguardian.spec
Le source:
http://www.suryavarman.fr/stockage/mageia/8/peerguardian/peerguardian-master.tar.gz
Je l'installe et je ne vois pas l'application. Je ne comprend pas. Il y a un log lorsque l'on installe un rpm? Je suis parti de la version 7 et je l'ai adaptée un peu.
Voici le résultat de rpmlint:
Code :
$ rpmlint peerguardian-2.3.1-2.mga8.src.rpm
peerguardian.src: W: spelling-error %description -l en_US pgl -> pg, pl, pal
peerguardian.src: W: spelling-error %description -l en_US blocklists -> blacklists, block lists, block-lists
peerguardian.src: W: specfile-error warning: %makeinstall_std is deprecated, use %make_install instead
peerguardian.src: W: no-signature
1 packages and 0 specfiles checked; 0 errors, 4 warnings.
Pour comparé voici le test avec la version de mga7
Code :
$ rpmlint peerguardian-2.3.1-2.mga7.src.rpm
peerguardian.src: W: spelling-error %description -l en_US pgl -> pg, pl, pal
peerguardian.src: W: spelling-error %description -l en_US blocklists -> blacklists, block lists, block-lists
peerguardian.src: W: specfile-error warning: %configure2_5x is deprecated, use %configure instead
peerguardian.src: W: specfile-error warning: %makeinstall_std is deprecated, use %make_install instead
peerguardian.src: W: specfile-error warning: Macro expanded in comment on line 47: %{_bindir}/blockcontrol2%{sname}cmd
peerguardian.src: W: no-signature
peerguardian.src:47: W: macro-in-comment %{_bindir}
peerguardian.src:47: W: macro-in-comment %{sname}
1 packages and 0 specfiles checked; 0 errors, 8 warnings.
Je vais enquêter.
En tout cas je suis content ça faisait longtemps que souhaitais mettre la main dans le système de paquets de mageia (de linux en générale :p)
Édité par Suryavarman Le 02/03/2021 à 23h52

Suryavarman Membre non connecté
-
- Voir le profil du membre Suryavarman
- Inscrit le : 22/06/2018
- Site internet
- Groupes :
Jybz :
Il faudra aussi s'amuser à comprendre pourquoi QtWidget s'ajoute automatiquement, ça plante la compile avec ce mauvais include auto-généré.
https://www.kdab.com/porting-from-qt-4-to-qt-5/
https://www.kdab.com/porting-from-qt-4-to-qt-5/
Je viens d'essayer avec QT4 pour rester dans l'esprit de ce qui avait été fait et j'obtiens sûrement l'erreur que tu dénonçais:
Code :
x86_64-mageia-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -DVERSION=\"2.3.1\" -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/include/QtCore -I/usr/include/QtGui -DQT_SHARED -I/usr/include/QtDBus -I/usr/include/QtCore -I/usr/include/QtXml -DQT_SHARED -DPGLCMDDEFAULTSPATH=\"/usr/lib64/pgl/pglcmd.defaults\" -I./ui -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c -o src/list_item.o src/list_item.cpp
In file included from src/settings.h:30,
from src/blocklist.h:24,
from src/list_item.h:26,
from src/list_item.cpp:21:
./ui/ui_settings.h:14:10: fatal error: QtWidgets/QApplication: No such file or directory
14 | #include <QtWidgets/QApplication>
| ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Makefile:655: src/list_item.o] Error 1
make[2]: Leaving directory '/home/gandi/rpmbuild/BUILD/pgl-2.3.1/pglgui'
make[1]: *** [Makefile:802: install] Error 2
make[1]: Leaving directory '/home/gandi/rpmbuild/BUILD/pgl-2.3.1/pglgui'
make: *** [Makefile:549: install-recursive] Error 1
Si tu utilises QT5 il n'y a pas de soucis de compilation.

Suryavarman Membre non connecté
-
- Voir le profil du membre Suryavarman
- Inscrit le : 22/06/2018
- Site internet
- Groupes :
Comment on transforme un .rpm en .rpm.urpmi?

Suryavarman Membre non connecté
-
- Voir le profil du membre Suryavarman
- Inscrit le : 22/06/2018
- Site internet
- Groupes :
task-obsolete-8-294.mga8.noarch me rend obsolète peerguardian < 2.3.1-5
Je vais incrémenter la version et je vais voir si ça passe.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Bravo !
Oui, je suis aussi passé par récupérer la spec de Mga7 et adapté.
D'ailleurs, pourquoi as tu utilisé %makeinstall_std et non %makeinstall ?
Pour la différence entre extern ou static... Franchement, je n'ai pas d'avis. On dira que c'est deux écoles

Bon par contre, je ne vois pas comment tu as pu faire avec Qt5. Ici, ça ne va pas. Et je vois "--with-qt5 : option not recognized" (donc pas d'interface graphique).
Je pense qu'il faudrait préciser que tu souhaites utiliser Qt4 pour la compilation...
D'ailleurs, il y a le paquet :
lib64qt5widgets-devel:/usr/include/qt5/QtWidgets/QApplication
sans équivalant pour qt4 sur Mga8.
Et le problème :
x86_64-mageia-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -DVERSION=\"2.3.1\" -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/include/QtCore -I/usr/include/QtGui -DQT_SHARED -I/usr/include/QtDBus -I/usr/include/QtCore -I/usr/include/QtXml -DQT_SHARED -DPGLCMDDEFAULTSPATH=\"/usr/lib64/pgl/pglcmd.defaults\" -I./ui -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c -o src/list_item.o src/list_item.cpp
à aucun moment /usr/include/qt5/ n'est précisé en option -I
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Suryavarman Membre non connecté
-
- Voir le profil du membre Suryavarman
- Inscrit le : 22/06/2018
- Site internet
- Groupes :
Ici les paquets pour ceux que ça intéresse :p
http://www.suryavarman.fr/stockage/mageia/8/peerguardian/peerguardian-debuginfo-2.3.2-2.mga8.x86_64.rpm
http://www.suryavarman.fr/stockage/mageia/8/peerguardian/peerguardian-debugsource-2.3.2-2.mga8.x86_64.rpm
Le spec:
http://www.suryavarman.fr/stockage/mageia/8/peerguardian/peerguardian.spec
Le source:
http://www.suryavarman.fr/stockage/mageia/8/peerguardian/peerguardian-master.tar.gz
Au cas où il y aurait des soucis avec ces adresses en voici une autre:
https://gdeps.org/stockage/Mageia/

Édité par Suryavarman Le 02/03/2021 à 23h20

Suryavarman Membre non connecté
-
- Voir le profil du membre Suryavarman
- Inscrit le : 22/06/2018
- Site internet
- Groupes :
Pour QT5 c'est parceque tu utilises la version archivée. J'utilise le dernier commit.
Il y a du coup QT5 qui est pris en compte.
C'est bizarre les numéros de versions sont pourtant les mêmes.
Édité par Suryavarman Le 02/03/2021 à 22h50

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Sérieux ? Tu bloques les requêtes si le user-agent est vide ? Car j'ai une erreur 403 en tentant de télécharger la spec avec curl, impossible (simplement) de tester.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Suryavarman Membre non connecté
-
- Voir le profil du membre Suryavarman
- Inscrit le : 22/06/2018
- Site internet
- Groupes :
Avec cette adresse ?
https://gdeps.org/stockage/Mageia/
Au sujet de makeinstall_install:
Je l'avais remplacé mais ça me dit qu'il n'y a pas de règle pour %makeinstall_install du coup j'ai remis %makeinstall_std
Édité par Suryavarman Le 02/03/2021 à 23h27
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie