Page 1 sur 1
[paquet] qelectrotech (Résolu)
Publié : dim. 21 août 2011, 12:21
par chipster
Salut
Je propose la version svn de qelectrotech cependant il faudrait regarder ce qui va et ne va pas car ... c'est mon tout premier avec svn
Fichier PKGBUILD
Code : Tout sélectionner
# Contributor: Chipster
pkgname=qelectrotech-svn
pkgver=1312
pkgrel=1
pkgdesc="SVN version of an electric diagram editor"
arch=('i686' 'x86_64')
url="http://qelectrotech.tuxfamily.org/"
install='qelectrotech.install'
license=('GPL2')
depends=('qt' 'shared-mime-info' 'subversion')
source=()
md5sums=() #generate with 'makepkg -g'
_svntrunk=(svn://svn.tuxfamily.org/svnroot/qet/qet/branches/0.3)
_svnmod=qelectrotech
build() {
if [ -d $_svnmod/.svn ]; then
(cd $_svnmod && svn up -r $pkgver)
else
svn co $_svntrunk
fi
msg "SVN checkout done or server timeout"
msg "Starting make..."
cd ${srcdir}/$_svnmod/build
qmake
make || return 1
}
package() {
cd $srcdir/$_svnmod/build
make INSTALL_ROOT=$pkgdir install
mv $pkgdir/usr/doc $pkgdir/usr/share/
mv $pkgdir/usr/man $pkgdir/usr/share/
rm -r $pkgdir/share
}
Fichier qelectrotech.install :
Code : Tout sélectionner
post_install() {
echo "update mime database..."
update-mime-database /usr/share/mime/ > /dev/null
echo "update desktop database..."
update-desktop-database -q
}
post_upgrade() {
post_install $1
}
post_remove() {
post_install $1
}
Re: [paquet] qelectrotech
Publié : dim. 21 août 2011, 13:41
par FoolEcho
chipster a écrit :depends=('qt' 'shared-mime-info' 'subversion')
À priori, subversion est à mettre dans makedepends.
chipster a écrit : cd ${srcdir}/$_svnmod/build
Il te manque au moins la partie qui construit le répertoire 'build' ou alors tu travailles directement dans ${srcdir}/$_svnmod (on préférera travailler sur un copie néanmoins: s'il y a à trafiquer la construction du paquet c'est plus facile avec l'original sous le coude

)
chipster a écrit :c'est mon tout premier avec svn
Note qu'
abs t'aurait fourni le prototype de PKGBUILD.
Pour le reste, il faut que je regarde...
EDIT: Pour respecter les standards d'empaquetage d'Arch (notamment éviter /usr/local), je te propose ceci (j'aurais aussi voulu modifier à la volée pour le répertoire de man plutôt qu'à la fonction package, mais j'ai pas pu après quelques tentatives (les 2 seds: répertoire final vide)

):
Code : Tout sélectionner
...
# ;-)
pkgrel=2
...
makedepends=('subversion')
...
build() {
cd "$srcdir"
msg "Connecting to SVN server...."
if [[ -d "$_svnmod/.svn" ]]; then
(cd "$_svnmod" && svn up -r "$pkgver")
else
svn co "$_svntrunk" --config-dir ./ -r "$pkgver" "$_svnmod"
fi
msg "SVN checkout done or server timeout"
msg "Starting build..."
rm -rf "$srcdir/$_svnmod-build"
cp -r "$srcdir/$_svnmod" "$srcdir/$_svnmod-build"
cd "$srcdir/$_svnmod-build"
#for the Arch packaging standards
sed 's#/usr/local/#/usr/#g' -i qelectrotech.pro
sed 's#../share/#./share/#g' -i qelectrotech.pro
sed 's#doc/qelectrotech/#share/doc/qelectrotech/#g' -i qelectrotech.pro
#impossible: effet de bord... le répertoire ${pkgdir}/usr/share/man se retrouve vide... :-\
# sed 's#man/#share/man/#' -i qelectrotech.pro
# sed 's#share/man/compress_man_pages.sh#man/compress_man_pages.sh#' -i qelectrotech.pro
qmake
make
}
package() {
cd "$srcdir/$_svnmod-build"
make INSTALL_ROOT="$pkgdir/" install
mv ${pkgdir}/usr/man ${pkgdir}/usr/share/
}
À vérifier si tout fonctionne une fois installé (pas testé

).
Re: [paquet] qelectrotech
Publié : dim. 21 août 2011, 16:44
par chipster
Tant que ça ne me fait pas un rm -rf / ou que ça m'explose le système, ça devrait le faire ^^
En tous les cas, merci bien pour ton aide FoolEcho
Re: [paquet] qelectrotech
Publié : dim. 21 août 2011, 16:58
par FoolEcho
chipster a écrit :Tant que ça ne me fait pas un rm -rf / ou que ça m'explose le système
Pas intentionnellement en tous cas.

Re: [paquet] qelectrotech
Publié : dim. 21 août 2011, 17:04
par chipster
lol, j'avais quand même relu. Cependant ne maitrisant pas le bash / shell, la création de PKGBUILD m'a toujours rebuté ^^'
Bon, tout ça pour dire que ça marche bien donc impeccable.
Je poste le code complet du PKGBUILD, le reste n'ayant pas changé :
Code : Tout sélectionner
# Contributor: Chipster
pkgname=qelectrotech-svn
pkgver=1312
pkgrel=1
pkgdesc="SVN version of an electric diagram editor"
arch=('i686' 'x86_64')
url="http://qelectrotech.tuxfamily.org/"
install='qelectrotech.install'
license=('GPL2')
depends=('qt' 'shared-mime-info')
makedepends=('subversion')
source=()
md5sums=() #generate with 'makepkg -g'
_svntrunk=(svn://svn.tuxfamily.org/svnroot/qet/qet/branches/0.3)
_svnmod=qelectrotech
build() {
cd "$srcdir"
msg "Connecting to SVN server...."
if [[ -d "$_svnmod/.svn" ]]; then
(cd "$_svnmod" && svn up -r "$pkgver")
else
svn co "$_svntrunk" --config-dir ./ -r "$pkgver" "$_svnmod"
fi
msg "SVN checkout done or server timeout"
msg "Starting build..."
rm -rf "$srcdir/$_svnmod-build"
cp -r "$srcdir/$_svnmod" "$srcdir/$_svnmod-build"
cd "$srcdir/$_svnmod-build"
#for the Arch packaging standards
sed 's#/usr/local/#/usr/#g' -i qelectrotech.pro
sed 's#../share/#./share/#g' -i qelectrotech.pro
sed 's#doc/qelectrotech/#share/doc/qelectrotech/#g' -i qelectrotech.pro
#impossible: effet de bord... le répertoire ${pkgdir}/usr/share/man se retrouve vide... :-\
# sed 's#man/#share/man/#' -i qelectrotech.pro
# sed 's#share/man/compress_man_pages.sh#man/compress_man_pages.sh#' -i qelectrotech.pro
qmake
make
}
package() {
cd "$srcdir/$_svnmod-build"
make INSTALL_ROOT="$pkgdir/" install
mv ${pkgdir}/usr/man ${pkgdir}/usr/share/
}

FoolEcho
Une âme charitable pour le mettre sur aur ?

Re: [paquet] qelectrotech
Publié : dim. 21 août 2011, 17:16
par FoolEcho
Fait (note qu'il y a déjà la version stable).

Re: [paquet] qelectrotech
Publié : dim. 21 août 2011, 17:24
par chipster
Oui, je sais mais bon, elle commence à dater alors que la version svn de la branche 3 est très stable et apporte des nouveautés assez importantes
Merci bien
