Applications, problèmes de configuration réseau
dexter74
Hankyu
Messages : 46 Inscription : jeu. 28 oct. 2021, 20:24
Localisation : Craponne (Lyon)
Message
par dexter74 » lun. 30 janv. 2023, 01:33
Bonjour,
Je souhaiterai un coup de main pour la réaliser d'un PKGBUILD pour Calamares.
J'arrive pas à comprendre les action prepare, build et package et les variables utiles.
Code : Tout sélectionner
pkgname=calamares
pkgver=3.2.61
pkgrel=1
pkgdesc='Installateur Calamares'
arch=('x86_64')
license=('GPL3')
url='https://calamares.io/'
depends=()
source=("https://github.com/calamares/calamares/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz")
sha256sums=('7591b9b60738bdba7b9de2b8da5462ab21006db06a006f0dd21ac5b832711dd2')
prepare() {}
build() {}
package() {}
Code : Tout sélectionner
git clone https://github.com/calamares/calamares.git
mkdir calamares/build
cd calamares/build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
Informaticien de métier .
FoolEcho
Maître du Kyudo
Messages : 10693 Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie
Message
par FoolEcho » lun. 30 janv. 2023, 08:31
Salut,
Le premier truc est de consulter le wiki (qui est forcément assez dense, surtout quand on débarque sur le sujet) :
Ensuite, le mieux est évidemment de t'y confronter et de nous montrer au fur et à mesure où tu en es (et au-delà en cas d'erreur de compilation ou d'installation).
Pour revenir sur tes questions :
prepare()
: c'est lorsque tu as des opérations à effectuer à la suite de la récupération du code source et de son extraction (le cas le plus courant va concerner l'application de patchs);
build()
: il s'agit de la compilation proprement dite du code source (ici ce sera configuration et utilisation de make
pour ton cas)
package()
: ici il s'agit de réorganiser le code compilé et les fichiers associés ou supplémentaires pour les répartir dans l'arborescence finale du paquet (respect des standards d'Arch, ajout de .desktop, permissions, fichiers de post install, etc.). Pour ton cas par exemple, ça va être de récupérer l'exécutable généré et de l'installer dans l'arborescence du paquet (dans $pkgdir/usr/bin)... et d'autres trucs selon la cible.
(pour ceux qui se demandaient, oui je suis toujours là
)
«The following statement is not true. The previous statement is true.»
dexter74
Hankyu
Messages : 46 Inscription : jeu. 28 oct. 2021, 20:24
Localisation : Craponne (Lyon)
Message
par dexter74 » lun. 30 janv. 2023, 14:04
Bonjour,
Tous d'abord, merci pour ta réponse .
Je poste mon PKGBUILD, que je suis en train de tester:
Code : Tout sélectionner
#############################################################################################################################
# Dépendance yay: yay -Sy --noconfirm icecream pythonqt qt
#############################################################################################################################
pkgname=calamares
pkgver=3.2.61
pkgrel=1
pkgdesc='Installateur Calamares by Drthrax74'
arch=('x86_64')
makedepends=( 'ack' 'appstream-qt' 'autoconf' 'automake' 'binutils' 'bison' 'boost' 'cmake' 'extra-cmake-modules' 'fakeroot'
'flex' 'gcc' 'gcc-libs-multilib' 'gcc-multilib' 'git' 'icu'
'kcoreaddons' 'kiconthemes' 'kio' 'kparts' 'kservice' 'kpmcore' 'libtool'
'm4' 'make' 'patch' 'plasma-framework' 'python' 'python3' 'python-pip' 'python-qt.py' 'python-yaml'
'qt5-declarative' 'qt5-location' 'qt5-tools' 'qt5-translations' 'qt5-xmlpatterns' 'qt5-webengine' 'yaml-cpp')
license=('GPL3')
source=("https://github.com/calamares/calamares/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz")
sha256sums=('7591b9b60738bdba7b9de2b8da5462ab21006db06a006f0dd21ac5b832711dd2')
#############################################################################################################################
CPU=$(lscpu | grep "Processeur(s)" | cut -c 42-44)
#############################################################################################################################
prepare(){
cd $pkgname-$pkgver;
}
#############################################################################################################################
build(){
cd $pkgname-$pkgver;
mkdir build;
sed -i -e 's/"Install configuration files" OFF/"Install configuration files" ON/g' CMakeLists.txt
cp settings.conf ./build/
cd build;
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DWITH_PYTHONQT=ON \
-DBoost_NO_BOOST_CMAKE=ON \
-DSKIP_MODULES="tracking \
dracut \
dracutlukscfg \
dummycpp \
dummyprocess \
dummypython \
dummypythonqt \
interactiveterminal \
initramfs \
initramfscfg \
services-openrc" \
webview \
-DAppStreamQt_DIR=... ..
}
#############################################################################################################################
package(){
cd $pkgname-$pkgver/build;
make -j $CPU DESTDIR="$pkgdir/" install
}
######################################################################################################################################################################################################
Informaticien de métier .
laurent85
Elfe
Messages : 847 Inscription : mar. 16 oct. 2018, 21:05
Message
par laurent85 » lun. 30 janv. 2023, 15:47
Bonjour,
CPU=$(lscpu | grep "Processeur(s)" | cut -c 42-44)
make -j $CPU DESTDIR="$pkgdir/" install
Heu... non, plutôt:
benjarobin
Maître du Kyudo
Messages : 16775 Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon
Message
par benjarobin » lun. 30 janv. 2023, 18:04
Et je dirais même tu ne dois pas specifier ce genre d'option dans le PKGBUILD. Si tu veux configurer le nombre de build parallèle cela ce fait dans makepkg.conf via MAKEFLAGS
dexter74
Hankyu
Messages : 46 Inscription : jeu. 28 oct. 2021, 20:24
Localisation : Craponne (Lyon)
Message
par dexter74 » lun. 30 janv. 2023, 21:35
Bonjour,
Merci pour vos conseil. Je rencontre un problème sur le module user@user qui est absent lors du démarrage du liveCD, seriez vous pourquoi ?
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dépendances :
Code : Tout sélectionner
sudo pacman -Sy --noconfirm ack appstream-qt boost cmake extra-cmake-modules kcoreaddons kiconthemes kio kparts kservice kpmcore plasma-framework;
sudo pacman -Sy --noconfirm python-pip python-qt.py python-yaml qt5-declarative qt5-location qt5-tools qt5-xmlpatterns qt5-webengine yaml-cpp;
yay -Sy --noconfirm icecream pythonqt qt
Code : Tout sélectionner
pkgname=calamares
pkgver=3.2.61
pkgrel=1
pkgdesc='Installateur Calamares by Drthrax74'
arch=('x86_64')
makedepends=( 'ack' 'appstream-qt' 'autoconf' 'automake' 'binutils' 'bison' 'boost' 'cmake' 'extra-cmake-modules' 'fakeroot' 'flex'
'gcc' 'gcc-libs-multilib' 'gcc-multilib' 'git' 'icu' 'kcoreaddons' 'kiconthemes' 'kio' 'kparts' 'kservice' 'kpmcore'
'libtool' 'm4' 'make' 'os-prober' 'patch' 'plasma-framework' 'python' 'python3' 'python-pip' 'python-qt.py' 'python-yaml'
'qt5-declarative' 'qt5-location' 'qt5-tools' 'qt5-translations' 'qt5-xmlpatterns' 'qt5-webengine' 'yaml-cpp')
license=('GPL3')
source=("https://github.com/calamares/calamares/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz")
sha256sums=('7591b9b60738bdba7b9de2b8da5462ab21006db06a006f0dd21ac5b832711dd2')
prepare(){
cd $pkgname-$pkgver;
}
build(){
cd $pkgname-$pkgver;
mkdir build;
sed -i -e 's/"Install configuration files" OFF/"Install configuration files" ON/g' CMakeLists.txt
cp settings.conf ./build/
cd build;
cmake -DCMAKE_BUILD_TYPE=Debug ..
}
package(){
cd $pkgname-$pkgver/build;
make j$(nproc) DESTDIR="$pkgdir/" install
}
Informaticien de métier .
benjarobin
Maître du Kyudo
Messages : 16775 Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon
Message
par benjarobin » lun. 30 janv. 2023, 22:18
Pourquoi tu ne mets pas les dépendances dans le fichier pkgbuild ?
C'est normal que tu ne build pas ? Tu appelles cmake mais jamais make ensuite...
Il est interdit de build dans package
Je ne sais pas ce que tu entends par le module user@user
dexter74
Hankyu
Messages : 46 Inscription : jeu. 28 oct. 2021, 20:24
Localisation : Craponne (Lyon)
Message
par dexter74 » lun. 30 janv. 2023, 23:26
Bonjour,
je viens de faire les modifications en dépendances. Par contre je comprends pas l'argument make dans ton commentaire ?
Pour l'erreur:
Code : Tout sélectionner
pkgname=calamares
pkgver=3.2.61
pkgrel=1
pkgdesc='Installateur Calamares by Drthrax74'
arch=('x86_64')
depends=( 'ack' 'appstream-qt' 'autoconf' 'automake' 'binutils' 'bison' 'boost' 'cmake' 'extra-cmake-modules' 'fakeroot' 'flex'
'gcc' 'gcc-libs-multilib' 'gcc-multilib' 'git' 'icu' 'kcoreaddons' 'kiconthemes' 'kio' 'kparts' 'kservice' 'kpmcore'
'libtool' 'm4' 'make' 'os-prober' 'patch' 'plasma-framework' 'python' 'python3' 'python-pip' 'python-qt.py' 'python-yaml'
'qt5-declarative' 'qt5-location' 'qt5-tools' 'qt5-translations' 'qt5-xmlpatterns' 'qt5-webengine' 'yaml-cpp')
license=('GPL3')
source=("https://github.com/calamares/calamares/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz")
sha256sums=('7591b9b60738bdba7b9de2b8da5462ab21006db06a006f0dd21ac5b832711dd2')
prepare(){
cd $pkgname-$pkgver;
}
build(){
cd $pkgname-$pkgver;
mkdir build;
sed -i -e 's/"Install configuration files" OFF/"Install configuration files" ON/g' CMakeLists.txt
cp settings.conf ./build/
cd build;
cmake -DCMAKE_BUILD_TYPE=Debug ..
}
package(){
cd $pkgname-$pkgver/build;
make DESTDIR="$pkgdir/" install
}
Informaticien de métier .
benjarobin
Maître du Kyudo
Messages : 16775 Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon
Message
par benjarobin » mar. 31 janv. 2023, 13:21
As tu lu la documentation pour l'intégration de calamares à une distribution :
https://github.com/calamares/calamares/ ... uide#build ?
Ce n'est pas clé en main. Il faut personnalisé la chose du peu que j'en ai lu.
Et pour build et packages, c'est toujours 3 étapes, Build : "cmake", "make", et enfin package : "make install"
dexter74
Hankyu
Messages : 46 Inscription : jeu. 28 oct. 2021, 20:24
Localisation : Craponne (Lyon)
Message
par dexter74 » mar. 31 janv. 2023, 22:59
Bonjour,
Pour la documentation, je l'ai lu mais elle est pas clair du tout .
Je rencontre un problème pour inclure le fichier settings.conf dans mon package et sera bon.
Je vois le fichier settings:
Code : Tout sélectionner
/home/marc/Documents/src/calamares-custom/build/settings.conf
Code : Tout sélectionner
pkgname=calamares
pkgver=3.2.61
pkgrel=1
pkgdesc='Installateur Calamares by Drthrax74'
arch=('x86_64')
depends=( 'ack' 'appstream-qt' 'autoconf' 'automake' 'binutils' 'bison' 'boost' 'cmake' 'extra-cmake-modules' 'fakeroot' 'flex'
'gcc' 'gcc-libs-multilib' 'gcc-multilib' 'git' 'icu' 'kcoreaddons' 'kiconthemes' 'kio' 'kparts' 'kservice' 'kpmcore'
'libtool' 'libpwquality' 'm4' 'make' 'os-prober' 'patch' 'plasma-framework' 'python' 'python3' 'python-pip' 'python-qt.py' 'python-yaml'
'qt5-declarative' 'qt5-location' 'qt5-tools' 'qt5-translations' 'qt5-xmlpatterns' 'qt5-webengine' 'yaml-cpp')
license=('GPL3')
source=("git+https://github.com/dexter74/calamares-custom.git")
sha256sums=('SKIP')
prepare(){
mkdir calamares-custom/build;
cp ${srcdir}/calamares-custom/settings.conf ${srcdir}/calamares-custom/build;
}
build(){
cd ${srcdir}/calamares-custom/build;
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DWITH_PYTHONQT=OFF \
-DWITH_KF5DBus=ON \
-DBoost_NO_BOOST_CMAKE=ON \
-DWEBVIEW_FORCE_WEBKIT=OFF \
-DSKIP_MODULES=""
make -j$(nproc)
}
package(){
cd ${srcdir}/calamares-custom/build;
make -j$(nproc) DESTDIR="$pkgdir" install
}
Informaticien de métier .