Git Version | Version Git
Subscription date : 06 September 2009
Messages : 1635
|
Comme on s’ennuie avec la version stable de CD ( ), j'ai voulu installé la version BZR du dok sur mon Manjaro (du Archlinux pour les nuls).
La version de Aur est obsolète et la doc Archlinux du wiki ne semble plus d'actualité (le dépôt indiqué ne contient pas actuellement de version de CD).
Sur proposition de matttbe, je vais tenter de prendre le relais pour maintenir ces paquets. Je me servirais donc de ce fil pour vous tenir au courant et poser plein de questions |
matttbe, Monday 24 June 2013 à 22:08
|
|
Subscription date : 24 January 2009
Messages : 12573
|
et la doc Archlinux du wiki ne semble plus d'actualité Ah oui, il faudrait aussi le mettre à jour. Les versions stables sont maintenant dans le dépôt community, c'est bien ça?
je vais tenter de prendre le relais pour maintenir ces paquets Normalement, tu peux reprendre le PKGBUILD de la version stable et le transformer pour utiliser BZR.
Il suffit, en gros, de télécharger la branche avec: bzr checkout --lightweight lp:cairo-dock-core ## ou 'plug-ins' (pas besoin de télécharger tout l'historique si on ne veut que compiler.
Et pour la mettre à jour, utiliser:
Donc, si on reprend le code de la version obsolète du PKGBUILD: if [ ! -d ./${_bzrmod} ]; then
bzr --no-plugins checkout --lightweight ${_bzrtrunk} ${_bzrmod} -q
else
cd ${_bzrmod} && bzr --no-plugins up ${_bzrtrunk}
fi
EDIT: Aussi, il faut p-ê ajouter un message à la fin pour dire de compiler aussi la dernière rev des plugins  |
Subscription date : 06 September 2009
Messages : 1635
|
Je me lance doucement en demandant conseil sur le forum de Arch : http://forums.archlinux.fr/post118472.html#p118472
Si tu veux bien jeter un œil sur le PKGBUILD que j'ai pondu grâce à ton précédent message… Merci ! |
matttbe, Thursday 27 June 2013 à 10:15
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Je vois que quelqu'un a déjà répondu, je suppose que tu peux lui faire confiance  |
Subscription date : 30 November 2007
Messages : 17118
|
merci pour les paquets au fait, après les rpm voici les ... quoi au fait ? |
matttbe, Tuesday 09 July 2013 à 00:17
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Il mange quoi le pacman d'ArchLinux?  |
Subscription date : 06 September 2009
Messages : 1635
|
Il me semble que ce sont des .pkg.tar.xz … ne me demandez pas exactement à quoi ça correspond, je sais juste que ce sont des binaires pré-compilés et compressés qui s'installent à une vitesse hallucinante
Pour revenir au sujet, je me rend compte que j'ai été trop gourmand… et que j'ai besoin d'une formation informatique .
J'ai potasser la doc de Archlinux pour mettre à jour les PKGBUILD existant de CD bzr sur Aur. L’embêtant c'est que ce que je lis me dépasse et pas qu'un peu . Je sais vaguement scripter du bash, mais là je suis dépassé même avec la doc.
Du coup j'ai du mal à saisir les conseils qui m'ont été donné ici et sur le forum d'Archlinux … plus je modifie le PKGBUILD, plus je me rend compte que je ne sais pas ce que je fais .
À tout hasard, si l'un de vous pouvait se pencher dessus, je ferais de mon mieux pour suivre : Si le PKGBUILD est mis à jour par un vrais codeur et qu'on m'explique quoi faire lors d'une nouvelle rev, je le ferais avec plaisir.
Bon, je suis un peu dépité de ne pas être plus utile . |
lesebas, Sunday 14 July 2013 à 12:06
|
|
Subscription date : 24 November 2008
Messages : 298
|
Salut,
Pour info, pacman install effectivement des paquets binaires pré-compilés. Par contre sur AUR le PKGBUILD est ni plus ni moins un script bash évolué qui gére les dépendances, le téléchargement des sources avec un contrôle type md5 puis lance la compilation selon le script... ce que je ne maîtrise pas trop c'est le fichier install à la fin...
Plus d'info ici :
https://wiki.archlinux.org/index.php/Pkgbuild
http://wiki.archlinux.fr/Pkgbuild |
matttbe, Sunday 14 July 2013 à 20:28
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Et tu ne peux pas partir des actuels PKGBUILD de la version stable qui semblent corrects et "juste" changer la partie de téléchargement des sources (bzr checkout --lightweight (...) au lieu du téléchargement des tarballs)?
Pour l'aide avec du VCS: VCS Guidelines
mais il faut p-ê trouver un exemple dans AUR:
|
Subscription date : 06 September 2009
Messages : 1635
|
Ce pourrait être possible si j'avais le temps de plancher dessus…
Pour l'instant le code me dépasse (par exemple, je ne savais même pas à quoi pouvait bien servir les "return 1"), mon "apprentissage" en autodidacte est clairement insuffisant.
Et surtout je bosse 10-11h par jours, nuits travaillées non comprises .
Bref, cet été je n'aurais pas beaucoup de temps à y consacrer . D'où mon appel à l'aide .
Je m'y remettrais doucement dessus, mais c'est plus difficile que ce que je pensais (je pars de loin ). |
matttbe, Wednesday 17 July 2013 à 10:13
|
|
fabounet, Wednesday 17 July 2013 à 16:24
|
|
Subscription date : 30 November 2007
Messages : 17118
|
pour gnome-menus, préfère la version 3 si disponible
aussi, j'enlèverais les dépendances non vitales (genre ruby ou mono) s'il n'y a pas de gestion des suggestions comme avec les .deb |
matttbe, Wednesday 17 July 2013 à 16:55
|
|
Subscription date : 24 January 2009
Messages : 12573
|
aussi, j'enlèverais les dépendances non vitales (genre ruby ou mono) s'il n'y a pas de gestion des suggestions comme avec les .deb Elles sont indiquées en dépendances optionnelles (= Suggests pour les .deb)
pour gnome-menus, préfère la version 3 si disponible Il semblerait que 'gnome-menus' fourni la version 3: https://www.archlinux.org/packages/extra/i686/gnome-menus/files/
Je viens aussi d'ajouter le support de la session Cairo-Dock, faudrait tester sur Arch pour voir ce que ça donne  |
lesebas, Wednesday 24 July 2013 à 21:10
|
|
Subscription date : 24 November 2008
Messages : 298
|
Salut,
Je viens de faire un PKGBUILD pour cairo-dock-core qui fonctionne chez moi :
pkgname=cairo-dock-bzr
pkgver=1584
pkgrel=1
pkgdesc="Light eye-candy fully themable animated dock"
arch=('i686' 'x86_64')
url="http://www.glx-dock.org/index.php"
license=('GPL')
depends=('curl' 'dbus-glib' 'gtk3' 'librsvg')
makedepends=('cmake')
optdepends=('cairo-dock-plugins: Plugins for Cairo-Dock', 'gnome-session: Cairo-Dock session')
options=('!libtool')
conflicts=('cairo-dock' 'cairo-dock-svn')
provides=('cairo-dock')
source=(bzr+lp:cairo-dock-core)
md5sums=('SKIP')
pkgver() {
cd "$srcdir/$pkgname"
bzr revno
}
build() {
cd "${srcdir}"/cairo-dock-core
if [[ -d build ]]; then
rm -rf build
fi
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -Denable-desktop-manager=ON
make
}
package() {
cd "${srcdir}"/cairo-dock-core/build
make DESTDIR="${pkgdir}" install
}
makepkg créée bien le package, il faut maintenant que je test l'install via pacman. Dés que j'ai un moment je me penche sur les plugins et je vous tiens au courant !
J'attends en suite de tester si les maj sur BZR se passent bien puis je publierai sur AUR (si tout va bien!). |
lesebas, Wednesday 24 July 2013 à 22:33
|
|
Subscription date : 24 November 2008
Messages : 298
|
Bon pour les plugins :
pkgname=cairo-dock-plugins-bzr
pkgver=2889
pkgrel=1
pkgdesc="Plugins for Cairo-Dock"
url="https://launchpad.net/cairo-dock"
license=('GPL')
arch=('i686' 'x86_64')
depends=('cairo-dock')
makedepends=('cmake' 'alsa-lib' 'fftw' 'gtk-sharp-2' 'gvfs' 'libetpan' 'libexif' 'libical' 'libpulse' 'libxklavier' 'libzeitgeist' 'lm_sensors' 'ndesk-dbus-glib' 'python' 'python2' 'upower' 'vala' 'vte3' 'webkitgtk3')
optdepends=('alsa-lib: Sound Control, Sound Effects applets'
'fftw: Impulse applet'
'gnome-menus: Applications Menu applet'
'gtk-sharp-2: Mono API'
'gvfs: GIO-GVFS integration - open files with the right application'
'libetpan: Mail applet'
'libexif: Slider applet'
'libical: Clock applet'
'libpulse: Impulse applet'
'libxklavier: Keyboard Indicator applet'
'libzeitgeist: Recent Events applet'
'lm_sensors: System Monitor applet'
'ndesk-dbus-glib: Mono API'
'python: Python 3 API'
'python2: Python 2 API'
'ruby: Ruby API'
'upower: Logout, PowerManager applets'
'vte3: Terminal applet'
'webkitgtk3: Weblets applet')
conflicts=('cairo-dock-plugins')
provides=('cairo-dock-plugins')
options=('!libtool')
source=(bzr+lp:cairo-dock-plug-ins)
md5sums=('SKIP')
pkgver() {
cd "$srcdir/cairo-dock-plug-ins"
bzr revno
}
build() {
cd cairo-dock-plug-ins
if [[ -d build ]]; then
rm -rf build
fi
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make
}
package() {
cd build
make DESTDIR="${pkgdir}" install
}
Ça récupère bien les sources et lance la compilation... par contre le build plante :
-- checking for module 'gldi=3.2.99.alpha2'
-- package 'gldi=3.2.99.alpha2' not found
CMake Error at /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:279 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:333 (_pkg_check_modules_internal)
CMakeLists.txt:52 (pkg_check_modules)
CMake Error at CMakeLists.txt:60 (MESSAGE):
Error: version mismatch with the core: 3.2.99.alpha2 <> 3.2.1 |
lesebas, Wednesday 24 July 2013 à 23:27
|
|
Subscription date : 24 November 2008
Messages : 298
|
Bon finalement c'était parceque j'avais laissé la version stable du dock installé... voici le PKGBUILD qui marche pour les plugins:
pkgname=cairo-dock-plugins-bzr
pkgver=2889
pkgrel=1
pkgdesc="Plugins for Cairo-Dock"
url="https://launchpad.net/cairo-dock"
license=('GPL')
arch=('i686' 'x86_64')
depends=('cairo-dock-bzr')
makedepends=('cmake' 'alsa-lib' 'fftw' 'gtk-sharp-2' 'gvfs' 'libetpan' 'libexif' 'libical' 'libpulse' 'libxklavier' 'libzeitgeist' 'lm_sensors' 'ndesk-dbus-glib' 'python' 'python2' 'upower' 'vala' 'vte3' 'webkitgtk3')
optdepends=('alsa-lib: Sound Control, Sound Effects applets'
'fftw: Impulse applet'
'gnome-menus: Applications Menu applet'
'gtk-sharp-2: Mono API'
'gvfs: GIO-GVFS integration - open files with the right application'
'libetpan: Mail applet'
'libexif: Slider applet'
'libical: Clock applet'
'libpulse: Impulse applet'
'libxklavier: Keyboard Indicator applet'
'libzeitgeist: Recent Events applet'
'lm_sensors: System Monitor applet'
'ndesk-dbus-glib: Mono API'
'python: Python 3 API'
'python2: Python 2 API'
'ruby: Ruby API'
'upower: Logout, PowerManager applets'
'vte3: Terminal applet'
'webkitgtk3: Weblets applet')
conflicts=('cairo-dock-plugins')
provides=('cairo-dock-plugins')
options=('!libtool')
source=(bzr+lp:cairo-dock-plug-ins)
md5sums=('SKIP')
pkgver() {
cd "$srcdir/cairo-dock-plug-ins"
bzr revno
}
build() {
cd cairo-dock-plug-ins
if [[ -d build ]]; then
rm -rf build
fi
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make
}
package() {
cd "${srcdir}"/cairo-dock-plug-ins/build
make DESTDIR="${pkgdir}" install
} |
matttbe, Thursday 25 July 2013 à 00:19
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Cool si ça fonctionne
Juste pour info, qu'as-tu changé à ce que j'ai proposé? (qui venait déjà en grande partie du paquet de la version stable) |
lesebas, Thursday 25 July 2013 à 10:54
|
|
Subscription date : 24 November 2008
Messages : 298
|
Juste pour info, qu'as-tu changé à ce que j'ai proposé? (qui venait déjà en grande partie du paquet de la version stable)
Essentiellement la variable source… le préfix définit le type de source (téléchargement, git, bzr…) et la syntaxe est propre à chaque type. Pour Bazaar tout simplement :
source=(bzr+lp:cairo-dock-core)
Ensuite c’est la fonction pkgver() appelé par makepkg qui se charge de tout.
Pour le reste c’était surtout des déplacements dans les dossiers mal définis à cause de l’utilisation des variables… j’ai codé la plupart des chemins en dur plutôt que d’utiliser des variables tronquées de tous les côtés. Exemple :
cd "${srcdir}"/${pkgname}-${pkgver}
Devient :
cd "${srcdir}"/cairo-dock-core
Attention j’ai viré quelques dépendances (mises en optionelles) dans plugins (je ne voulais les installer sur mon PC). Dis-moi s’il y en a une importante que j’ai oubliée :
makedepends=('cmake' 'alsa-lib' 'fftw' 'gtk-sharp-2' 'gvfs' 'libetpan' 'libexif' 'libical' 'libpulse' 'libxklavier' 'libzeitgeist' 'lm_sensors' 'ndesk-dbus-glib' 'python' 'python2' 'upower' 'vala' 'vte3' 'webkitgtk3')
Optionnelles :
optdepends=('alsa-lib: Sound Control, Sound Effects applets'
'fftw: Impulse applet'
'gnome-menus: Applications Menu applet'
'gtk-sharp-2: Mono API'
'gvfs: GIO-GVFS integration - open files with the right application'
'libetpan: Mail applet'
'libexif: Slider applet'
'libical: Clock applet'
'libpulse: Impulse applet'
'libxklavier: Keyboard Indicator applet'
'libzeitgeist: Recent Events applet'
'lm_sensors: System Monitor applet'
'ndesk-dbus-glib: Mono API'
'python: Python 3 API'
'python2: Python 2 API'
'ruby: Ruby API'
'upower: Logout, PowerManager applets'
'vte3: Terminal applet'
'webkitgtk3: Weblets applet') |
matttbe, Thursday 25 July 2013 à 11:36
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Merci pour ces détails!
lesebas : Juste pour info, qu'as-tu changé à ce que j'ai proposé? (qui venait déjà en grande partie du paquet de la version stable)
Essentiellement la variable source… le préfix définit le type de source (téléchargement, git, bzr…) et la syntaxe est propre à chaque type. Pour Bazaar tout simplement :
source=(bzr+lp:cairo-dock-core)
Bizarre, j'avais pris l'exemple de diodon (qui fonctionne si on a installé BZR sans l'intégration de Launchpad (le 'lp').
Pour le reste c’était surtout des déplacements dans les dossiers mal définis à cause de l’utilisation des variables… j’ai codé la plupart des chemins en dur plutôt que d’utiliser des variables tronquées de tous les côtés. Exemple :
cd "${srcdir}"/${pkgname}-${pkgver}
Devient :
cd "${srcdir}"/cairo-dock-core
Ah oui, la branche est 'cairo-dock-core' mais du coup, vaut p-ê mieux définir une variable branchname par exemple.
Attention j’ai viré quelques dépendances (mises en optionelles) dans plugins (je ne voulais les installer sur mon PC). Dis-moi s’il y en a une importante que j’ai oubliée :
makedepends=('cmake' 'alsa-lib' 'fftw' 'gtk-sharp-2' 'gvfs' 'libetpan' 'libexif' 'libical' 'libpulse' 'libxklavier' 'libzeitgeist' 'lm_sensors' 'ndesk-dbus-glib' 'python' 'python2' 'upower' 'vala' 'vte3' 'webkitgtk3')
Ah oui, j'aurais gardé ceci: makedepends=('cmake' 'alsa-lib' 'gnome-menus' 'gvfs' 'libetpan' 'libexif' 'libpulse' 'libxklavier' 'libzeitgeist' 'lm_sensors' 'python' 'python2' 'upower' 'vte3') (sans 'fftw' (impulse amélioré), 'gtk-sharp-2' et 'ndesk-dbus-glib' (mono - applet third party), 'ruby' (applet third party), 'vala' (applet third party) 'libical' (support de ical pour Clock mais pas encore bien intégré dans la config) et 'webkitgtk3' (weblets). Il y a éventuellement 'libetpan' à mettre sur le côté (applet mail).
Optionnelles :
optdepends=('alsa-lib: Sound Control, Sound Effects applets'
'fftw: Impulse applet'
'gnome-menus: Applications Menu applet'
'gtk-sharp-2: Mono API'
'gvfs: GIO-GVFS integration - open files with the right application'
'libetpan: Mail applet'
'libexif: Slider applet'
'libical: Clock applet'
'libpulse: Impulse applet'
'libxklavier: Keyboard Indicator applet'
'libzeitgeist: Recent Events applet'
'lm_sensors: System Monitor applet'
'ndesk-dbus-glib: Mono API'
'python: Python 3 API'
'python2: Python 2 API'
'ruby: Ruby API'
'upower: Logout, PowerManager applets'
'vte3: Terminal applet'
'webkitgtk3: Weblets applet')
En fait, vu que ici ce sera l'ordi qui compile qui sera le seul à utiliser le paquet produit, ces paquets optionnels peuvent être supprimés s'ils sont installés après la compilation car dans ce cas, même si on les installe, c'est trop tard (ou ce sera uniquement utile pour la prochaine fois).
Par contre, s'ils sont bien installés avant la compilation, tous les paquets en 'makedepends' peuvent aller en 'optdepends' à l'exception de CMake. (et logiquement, il ne devrait y avoir que 'cmake' dans le 'makedepends' (seul lui est uniquement utile pour la compilation, plus après), des dépendances dans 'depends' (il n'y en a pas vraiment à part 'cairo-dock' en fait) et le reste en optdepends (si c'est proposé avant la compilation, je pense que oui).
Cependant, ce serait bien de mettre un message (ou utiliser le champ 'depends') pour recommander fortement l'installation de certaines dépendances: 'alsa-lib' 'gnome-menus' 'gvfs' 'upower' pour avoir, respectivement, le contrôleur de son, le menu d'applications, l'intégration avec l'environnement de bureau et la gestion de l'énergie. |
lesebas, Thursday 25 July 2013 à 23:08
|
|
Subscription date : 24 November 2008
Messages : 298
|
En fait sur AUR il n'y a aucun paquet compilé de mis a dispo mais juste des PKGBUILD. En fait quand on utilise yaourt (par exemple), il télécharge le PKGBUILD, lance un makepkg (qui install donc) les makedepends, puis une fois le paquet construit il l'install avec pacman (qui install alors les dépendances de depends).
En résumé avec AUR, chaque utilisateur compile ses paquets...
makepkg a une option pour désinstaller les dépendances de makedepends :
Du coup j'ai suivi ton conseil pour la variable et les dépendances :
pkgname=cairo-dock-bzr
pkgver=1584
pkgrel=1
pkgbranch=cairo-dock-core
pkgdesc="Light eye-candy fully themable animated dock"
arch=('i686' 'x86_64')
url="http://www.glx-dock.org/index.php"
license=('GPL')
depends=('curl' 'dbus-glib' 'gtk3' 'librsvg')
makedepends=('cmake')
optdepends=('cairo-dock-plugins: Plugins for Cairo-Dock', 'gnome-session: Cairo-Dock session')
options=('!libtool')
conflicts=('cairo-dock' 'cairo-dock-svn')
provides=('cairo-dock')
source=(bzr+lp:cairo-dock-core)
md5sums=('SKIP')
pkgver() {
cd "$srcdir/$pkgname"
bzr revno
}
build() {
cd "${srcdir}"/$pkgbranch
if [[ -d build ]]; then
rm -rf build
fi
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -Denable-desktop-manager=ON
make
}
package() {
cd "${srcdir}"/$pkgbranch/build
make DESTDIR="${pkgdir}" install
}
Commit rev 2890 OK... je met les PKGBUILD à dispo sur AUR |
Git Version | Version Git
|