[paquet] qelectrotech (Résolu)

Mise à jour / Création /debug de paquetages
Avatar de l’utilisateur
chipster
Maître du Kyudo
Messages : 2063
Inscription : ven. 11 août 2006, 22:25
Localisation : Saint-Étienne (42)
Contact :

[paquet] qelectrotech (Résolu)

Message 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 :mrgreen:

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
}
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [paquet] qelectrotech

Message 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 :mrgreen:
Note qu'abs t'aurait fourni le prototype de PKGBUILD. 8)

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é :mrgreen: ).
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
chipster
Maître du Kyudo
Messages : 2063
Inscription : ven. 11 août 2006, 22:25
Localisation : Saint-Étienne (42)
Contact :

Re: [paquet] qelectrotech

Message 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
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [paquet] qelectrotech

Message 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. :copain:
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
chipster
Maître du Kyudo
Messages : 2063
Inscription : ven. 11 août 2006, 22:25
Localisation : Saint-Étienne (42)
Contact :

Re: [paquet] qelectrotech

Message 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/
}
:bravo: FoolEcho
Une âme charitable pour le mettre sur aur ? :chinois:
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [paquet] qelectrotech

Message par FoolEcho »

Fait (note qu'il y a déjà la version stable). :chinois:
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
chipster
Maître du Kyudo
Messages : 2063
Inscription : ven. 11 août 2006, 22:25
Localisation : Saint-Étienne (42)
Contact :

Re: [paquet] qelectrotech

Message 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 ;)
Répondre