J'essaie d'installer et d'utiliser une version corrigée de liboverlay-scrollbar
qui correspond à mes préférences personnelles. J'ai téléchargé avec succès lp:ayatana-scrollbar
et ./autogen.sh; make; Sudo make install
ed it.
Voici le problème. Jetez un oeil à ldd /usr/bin/*
, il ne ressemble à aucune application utilise liboverlay-scrollbar*.so
. Et même lorsque j'utilise quelque chose comme:
export LD_LIBRARY_PATH="/usr/local/lib/:/usr/lib/"
export LIBOVERLAY_SCROLLBAR=1
gedit
L'application utilisant la barre de défilement que j'appelle semble ignorer allègrement mon /usr/local/lib
bibliothèques et utilisez les barres de défilement ayatana installées par le système. Mes bibliothèques GTK + sont stockées sous Ubuntu, donc je suppose que je n'ai pas besoin de patcher et de recompiler la boîte à outils graphique.
Quelqu'un pourrait-il publier un processus étape par étape pour installer les barres de défilement de superposition à partir de la source?
Vous pouvez consulter un tutoriel simple sur http://developer.ubuntu.com/packaging/html/fixing-a-bug.html
Voici un tutoriel simple:
Obtenez la barre de défilement de superposition d'Ubuntu
bzr branch ubuntu:overlay-scrollbar overlay-scrollbar.dev
cd overlay-scrollbar.dev
Compiler et installer
./autogen.sh
make
Sudo make install
Modifier un lien symbolique
Sudo ln -f -s /usr/lib/liboverlay-scrollbar-0.2.so.0 /usr/local/lib/liboverlay-scrollbar-0.2.so.0
(facultatif) Documentez le correctif et créez un package
dch -i
bzr builddeb
Je ne suis pas tout à fait certain, car je ne parle pas très bien le C, mais il semble que le GTK corrigé qu'Ubuntu utilise pour charger les barres de défilement ait été codé en dur pour regarder dans /usr/lib/
seulement.
+ gchar *flag = (gchar*) g_getenv ("LIBOVERLAY_SCROLLBAR");
+
+ /* check if LIBOVERLAY_SCROLLBAR is set to 0 or an empty value
+ and disable the feature in this case */
+ if (flag != NULL && (*flag == '\0' || *flag == '0'))
+ return;
+
+ /* default extension library to use for this release */
+ gchar *path = "/usr/lib/liboverlay-scrollbar-0.2.so.0";
+
+ module = g_module_open (path, G_MODULE_BIND_LOCAL);
+ if (module == NULL)
+ return;
Si j'étais vous, j'applique mon patch au paquet source de liboverlay-scrollbar.
Récupérez la source avec bzr: bzr branch lp:ubuntu/overlay-scrollbar
Corrigez la source, éditez debian/changelog
(Vous pouvez simplement ajouter un +myversion1
à la chaîne de version existante ou ajoutez une toute nouvelle entrée de journal des modifications. L'essentiel est de vous assurer que vous avez un numéro de version plus élevé le package dans l'archive). Exécutez ensuite bzr builddeb
pour construire les paquets Debian.