Tips en Trucs 2022

Software zelf compileren

Bluefish is mijn favoriete HTML editor waarmee ik onder andere deze website onderhou. De laatste versie (2.2.12) dateert echter al van november 2020 en onlangs moest ik vaststellen dat de openSUSE Leap 15.4 versie bij bijna elk dialoogvenster crashte. Na het uitproberen van enkele modernere HTML editors zoals NetBeans en Geany kwam ik al vlug tot de conclusie dat ik Bluefish zou missen. De gebruiksvriendelijke manier waarop je afbeeldingen, koppelingen, enz. via dialoogvensters kunt invoegen is uniek, evenals spellingcontrole voor de tekst. Toen kwam bij mij het idee op om de software zelf te compileren, waardoor deze optimaal aan de door mij gebruikte omgeving (openSUSE Leap 15.4) is aangepast. Al vlug bleek dat ik dezelfde problemen kreeg. Bij toeval ontdekte ik, door de installatie handleiding te lezen, dat Bluefish oorspronkelijk een GTK 2 programma is. Toen ik Bluefish met de GTK 2 bibliotheken compileerde, bleek Bluefish terug te werken.

M.a.w. door zelf software te compileren kan je zelf bepalen welke basis gebruikt wordt waardoor je soms zelf problemen kunt oplossen. En dit is niet alleen geldig voor Bluefish, maar ook bijvoorbeeld voor software die niet door een openSUSE softwarebron wordt aangeboden.

Broncode downloaden en uitpakken

Eerst downloaden we de broncode, dit kan via een klassieke browser of met de volgende opdracht:

dany@pindabook:~> wget http://www.bennewitz.com/bluefish/stable/source/bluefish-2.2.12.tar.gz
--2022-09-11 13:38:48--  http://www.bennewitz.com/bluefish/stable/source/bluefish-2.2.12.tar.gz
Herleiden van www.bennewitz.com (www.bennewitz.com)... 88.99.103.46
Verbinding maken met www.bennewitz.com (www.bennewitz.com)|88.99.103.46|:80... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 200 OK
Lengte: 5556827 (5,3M) [application/x-gzip]
Wordt opgeslagen als: ‘bluefish-2.2.12.tar.gz’

bluefish-2.2.12.tar.gz            100%[============================================================>]   5,30M  6,63MB/s    in 0,8s    

2022-09-11 13:38:49 (6,63 MB/s) - '‘bluefish-2.2.12.tar.gz’' opgeslagen [5556827/5556827]

Daarna pakken we de broncode uit:

dany@pindabook:~> tar -xzvf bluefish-2.2.12.tar.gz
...
bluefish-2.2.12/macosx/Makefile.in
bluefish-2.2.12/macosx/config.osxapp
bluefish-2.2.12/macosx/bluefish.plist
bluefish-2.2.12/macosx/bluefish.icns
bluefish-2.2.12/macosx/Makefile.am

Daarna kunnen we de map met de broncode openen:

dany@pindabook:~> cd bluefish-2.2.12/

Compilatie voorbereiden

Een belangrijk bestand in de map met de broncode is INSTALL, deze bevat de richtlijnen voor het compileren van de broncode en het installeren. Een fragment uit INSTALL:

0) Installing from SVN requires some additional tools to create the build
   environment:

     automake, autoconf, libtool, gettext, intltool, make

Om het programma te kunnen aanmaken (build), heb je software nodig zoals automake, autoconf, enz. Dit is soms wat puzzelen, want verschillende distributies geven softwarepakketten soms afwijkende namen. OpenSUSE noemt het pakket gettext gettext-runtime.

Om te achterhalen welke pakketten op jouw systeem ontbreken, kan je de volgende opdracht in de bronmap uitvoeren:

dany@pindabook:~/bluefish-2.2.12> ./configure
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home/dany/bluefish-2.2.12':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

Op mijn systeem is geen C compiler beschikbaar, dit mag zowel gcc, cc of cl.exe zijn. Geen enkele werd echter gevonden (vb: checking for gcc... no).

Installeer vervolgens het ontbrekende pakket en voer opnieuw de ./configure opdracht uit. Blijf dit volhouden tot de ./configure opdracht geen foutmeldingen meer geeft.

Voor het compileren van Bluefish (GTK 2 versie) installeer je in openSUSE Leap 15.4 de volgende pakketten:

dany@pindabook:~/bluefish-2.2.12> sudo zypper install automake autoconf libtool gettext-runtime intltool make gcc gtk2-devel libxml2-devel
[sudo] wachtwoord voor root: 
Gegevens van opslagruimte laden...
Lezen van geïnstalleerde pakketten...
'make' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'make-4.2.1-7.3.2.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
'gettext-runtime' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'gettext-runtime-0.20.2-1.43.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
Pakketafhankelijkheden oplossen...

De volgende 2 aanbevolen pakketten zijn automatisch geselecteerd:
  bison-lang libpng16-compat-devel

De volgende 91 NIEUWE pakketten zullen worden geïnstalleerd:
  atk-devel autoconf automake bison bison-lang cairo-devel fontconfig-devel freetype2-devel fribidi-devel gcc gcc7 gdk-pixbuf-devel
  gettext-tools glib2-devel glibc-devel graphite2-devel gtk2-devel harfbuzz-devel icu.691-devel intltool kbproto-devel libasan4
  libatomic1 libblkid-devel libbz2-devel libcairo-script-interpreter2 libcilkrts5 libdatrie-devel libexpat-devel libffi-devel
  libglvnd-devel libharfbuzz-gobject0 libicu69 libicu69-ledata libitm1 libjpeg62 libjpeg62-devel liblsan0 libmount-devel libmpx2
  libmpxwrappers2 libpcre16-0 libpcrecpp0 libpcreposix0 libpixman-1-0-devel libpng16-compat-devel libpng16-devel libselinux-devel
  libsepol-devel libstdc++6-devel-gcc7 libstdc++-devel libthai-devel libtiff-devel libtool libtsan0 libubsan0 libuuid-devel
  libX11-devel libXau-devel libxcb-devel libxcb-screensaver0 libxcb-xf86dri0 libxcb-xtest0 libxcb-xvmc0 libxcrypt-devel libXext-devel
  libXft-devel libxml2-devel libXrender-devel linux-glibc-devel m4 Mesa-KHR-devel Mesa-libEGL-devel Mesa-libGL-devel ncurses-devel
  pango-devel pcre-devel pthread-stubs-devel readline-devel renderproto-devel tack typelib-1_0-Atk-1_0 typelib-1_0-GdkPixbuf-2_0
  typelib-1_0-GdkPixdata-2_0 typelib-1_0-Gtk-2_0 typelib-1_0-HarfBuzz-0_0 typelib-1_0-Pango-1_0 xextproto-devel xproto-devel xz-devel
  zlib-devel

91 nieuwe te installeren pakketten.
Totale downloadgrootte: 60,8 MiB. Reeds in de cache: 0 B. Na de bewerking zal aanvullend 272,6 MiB worden gebruikt.
Doorgaan? [j/n/v/...? alle opties tonen] (j): 
pakket kbproto-devel-1.0.7-1.23.x86_64 wordt opgehaald                                         (1/91), 136,4 KiB (1018,9 KiB uitgepakt)
Ophalen: kbproto-devel-1.0.7-1.23.x86_64.rpm ..................................................................................[gereed]
pakket libasan4-7.5.0+r278197-4.30.1.x86_64 wordt opgehaald                                     (2/91), 362,2 KiB (  1,3 MiB uitgepakt)
Ophalen: libasan4-7.5.0+r278197-4.30.1.x86_64.rpm ...............................................................[gereed (808,3 KiB/s)]
...
pakket gtk2-devel-2.24.33-150400.2.11.x86_64 wordt opgehaald                                   (91/91),   2,6 MiB ( 27,6 MiB uitgepakt)
Ophalen: gtk2-devel-2.24.33-150400.2.11.x86_64.rpm ................................................................[gereed (2,5 MiB/s)]

Controleren op conflicten tussen bestanden: ...................................................................................[gereed]
( 1/91) Installeren van: kbproto-devel-1.0.7-1.23.x86_64 ......................................................................[gereed]
( 2/91) Installeren van: libasan4-7.5.0+r278197-4.30.1.x86_64 .................................................................[gereed]
...
(90/91) Installeren van: pango-devel-1.50.4-150400.1.5.x86_64 .................................................................[gereed]
(91/91) Installeren van: gtk2-devel-2.24.33-150400.2.11.x86_64 ................................................................[gereed]

Uiteindelijk mag de ./configure opdracht geen foutmeldingen meer geven:

dany@pindabook:~/bluefish-2.2.12> ./configure
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
...
config.status: creating src/plugin_zencoding/po/Makefile
config.status: executing libtool commands
config.status: executing po/stamp-it commands

Compileren en installeren

Nu alle nodige pakketten op de computer staan, kunnen we de Bluefish software aanmaken (compileren, build). Afhankelijk van de systeemprestaties en de grootte van de te compileren software, kan dit wat tijd vergen. De processor wordt daarbij flink aan het werk gezet, het is dan ook logisch dat de ventilatoren harder en luider moeten koelen. Daar gaan we:

dany@pindabook:~/bluefish-2.2.12> make
...
make[1]: Er hoeft niets gedaan te worden voor 'all'.
make[1]: Map '/home/dany/bluefish-2.2.12/macosx' wordt verlaten
make[1]: Map '/home/dany/bluefish-2.2.12' wordt binnengegaan
make[1]: Er hoeft niets gedaan te worden voor 'all-am'.
make[1]: Map '/home/dany/bluefish-2.2.12' wordt verlaten

Na het aanmaken van de software installeren we Bluefish:

dany@pindabook:~/bluefish-2.2.12> sudo make install
[sudo] wachtwoord voor root: 
Making install in data
make[1]: Map '/home/dany/bluefish-2.2.12/data' wordt binnengegaan
...
make[2]: Er hoeft niets gedaan te worden voor 'install-data-am'.
make[2]: Map '/home/dany/bluefish-2.2.12' wordt verlaten
make[1]: Map '/home/dany/bluefish-2.2.12' wordt verlaten

En kunnen we Bluefish zoals elk ander programma starten.

Bluefish

Compilatie software en benodigdheden verwijderen

De gecompileerde software heeft de compilatie software en de broncode bibliotheken (-devel pakketten) niet meer nodig. De volgende software hebben we daarstraks toegevoegd en kunnen we nu dus terug verwijderen. Let daarbij op dat je reeds voordien aanwezig software laat staan, in mijn voorbeeld was dit make en gettext-runtime. Dit is bij de installatie hierboven herkenbaar aan de volgende meldingen:

'make' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'make-4.2.1-7.3.2.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
'gettext-runtime' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'gettext-runtime-0.20.2-1.43.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.

Let ook op het aantal te installeren en te verwijderen pakketten, het te verwijderen aantal mag zeker niet groter zijn dan het te installeren aantal en is in de meeste gevallen gelijk.

De volgende 91 NIEUWE pakketten zullen worden geïnstalleerd:

Bij de installatie en bij het verwijderen met de volgende opdracht:

dany@pindabook:~/bluefish-2.2.12> sudo zypper remove -u  automake autoconf libtool intltool gcc gtk2-devel libxml2-devel
[sudo] wachtwoord voor root: 
Lezen van geïnstalleerde pakketten...
Pakketafhankelijkheden oplossen...

De volgende 91 pakketten zullen worden VERWIJDERD:
  atk-devel autoconf automake bison bison-lang cairo-devel fontconfig-devel freetype2-devel fribidi-devel gcc gcc7 gdk-pixbuf-devel
  gettext-tools glib2-devel glibc-devel graphite2-devel gtk2-devel harfbuzz-devel icu.691-devel intltool kbproto-devel libasan4
  libatomic1 libblkid-devel libbz2-devel libcairo-script-interpreter2 libcilkrts5 libdatrie-devel libexpat-devel libffi-devel
  libglvnd-devel libharfbuzz-gobject0 libicu69 libicu69-ledata libitm1 libjpeg62 libjpeg62-devel liblsan0 libmount-devel libmpx2
  libmpxwrappers2 libpcre16-0 libpcrecpp0 libpcreposix0 libpixman-1-0-devel libpng16-compat-devel libpng16-devel libselinux-devel
  libsepol-devel libstdc++6-devel-gcc7 libstdc++-devel libthai-devel libtiff-devel libtool libtsan0 libubsan0 libuuid-devel
  libX11-devel libXau-devel libxcb-devel libxcb-screensaver0 libxcb-xf86dri0 libxcb-xtest0 libxcb-xvmc0 libxcrypt-devel libXext-devel
  libXft-devel libxml2-devel libXrender-devel linux-glibc-devel m4 Mesa-KHR-devel Mesa-libEGL-devel Mesa-libGL-devel ncurses-devel
  pango-devel pcre-devel pthread-stubs-devel readline-devel renderproto-devel tack typelib-1_0-Atk-1_0 typelib-1_0-GdkPixbuf-2_0
  typelib-1_0-GdkPixdata-2_0 typelib-1_0-Gtk-2_0 typelib-1_0-HarfBuzz-0_0 typelib-1_0-Pango-1_0 xextproto-devel xproto-devel xz-devel
  zlib-devel

91 te verwijderen pakketten.
Na de bewerking zal 272,6 MiB worden vrijgemaakt.
Doorgaan? [j/n/v/...? alle opties tonen] (j): 
( 1/91) Verwijderen van bison-lang-3.0.4-3.3.1.noarch .........................................................................[gereed]
( 2/91) Verwijderen van gcc-7-3.9.1.x86_64 ....................................................................................[gereed]
...
(89/91) Verwijderen van glibc-devel-2.31-150300.37.1.x86_64 ...................................................................[gereed]
(90/91) Verwijderen van linux-glibc-devel-5.14-150400.4.44.x86_64 .............................................................[gereed]
(91/91) Verwijderen van libxcrypt-devel-4.4.15-150300.4.4.3.x86_64 ............................................................[gereed]

Bluefish uitbreiden

Een ander voordeel van het zelf compileren van software is dat je zelf kunt bepalen welke onderdelen je wilt gebruiken. Bij het uitvoeren van de ./configure opdracht kan je extra mogelijkheden dikwijls herkennen aan WARNING meldingen. Deze waarschuwen je voor het feit dat bepaalde functies niet beschikbaar zullen zijn:

dany@pindabook:~/bluefish-2.2.12> ./configure | grep warning
./configure: line 15940: svnversion: command not found
configure: WARNING: Disabling the building of the charmap plugin.
configure: WARNING: Install gucharmap/gucharmap2 (>= 2.20) library/headers to build the plugin.
configure: WARNING: 'jing' was not found. It is better then 'xmllint' for validating RELAX NG.
dany@pindabook:~/bluefish-2.2.12> sudo zypper install automake autoconf libtool gettext-runtime intltool make gcc gtk2-devel libxml2-devel enchant-devel libgucharmap_2_90-7 gucharmap-devel python-devel jing
Gegevens van opslagruimte laden...
Lezen van geïnstalleerde pakketten...
'libtool' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'libtool-2.4.6-3.4.1.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
'automake' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'automake-1.15.1-4.10.2.noarch'. De hoogst beschikbare versie is al geïnstalleerd.
'autoconf' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'autoconf-2.69-1.445.noarch'. De hoogst beschikbare versie is al geïnstalleerd.
'gcc' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'gcc-7-3.9.1.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
'gtk2-devel' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'gtk2-devel-2.24.33-150400.2.11.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
'intltool' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'intltool-0.51.0-9.19.noarch'. De hoogst beschikbare versie is al geïnstalleerd.
'libxml2-devel' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'libxml2-devel-2.9.14-150400.5.7.1.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
'make' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'make-4.2.1-7.3.2.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
'gettext-runtime' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'gettext-runtime-0.20.2-1.43.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
'libgucharmap_2_90-7' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'libgucharmap_2_90-7-13.0.0-150400.4.2.3.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
Pakketafhankelijkheden oplossen...

De volgende 3 aanbevolen pakketten zijn automatisch geselecteerd:
  saxon9 saxon9-scripts xml-commons-resolver

De volgende 42 NIEUWE pakketten zullen worden geïnstalleerd:
  at-spi2-atk-devel at-spi2-core-devel bea-stax bea-stax-api compositeproto-devel damageproto-devel dbus-1-devel enchant-devel
  fixesproto-devel gettext-its-gtk4 gtk3-devel gucharmap-devel inputproto-devel jing libepoxy-devel libpython2_7-1_0
  libXcomposite-devel libXcursor-devel libXdamage-devel libXfixes-devel libXi-devel libXinerama-devel libxkbcommon-devel
  libXrandr-devel libXtst-devel python python3-gobject-Gdk python-base python-devel randrproto-devel recordproto-devel relaxngDatatype
  saxon9 saxon9-scripts typelib-1_0-Atspi-2_0 typelib-1_0-Gtk-3_0 typelib-1_0-Gucharmap-2_90 wayland-devel xalan-j2 xerces-j2
  xineramaproto-devel xml-commons-resolver

42 nieuwe te installeren pakketten.
Totale downloadgrootte: 20,1 MiB. Reeds in de cache: 0 B. Na de bewerking zal aanvullend 79,3 MiB worden gebruikt.
Doorgaan? [j/n/v/...? alle opties tonen] (j): 
pakket bea-stax-api-1.2.0-9.63.noarch wordt opgehaald                                           (1/42),  33,5 KiB ( 39,3 KiB uitgepakt)
Ophalen: bea-stax-api-1.2.0-9.63.noarch.rpm ...................................................................................[gereed]
...
pakket python-devel-2.7.18-150000.41.1.x86_64 wordt opgehaald                                  (42/42),   3,6 MiB ( 21,8 MiB uitgepakt)
Ophalen: python-devel-2.7.18-150000.41.1.x86_64.rpm ...............................................................[gereed (3,7 MiB/s)]

Controleren op conflicten tussen bestanden: ...................................................................................[gereed]
( 1/42) Installeren van: bea-stax-api-1.2.0-9.63.noarch .......................................................................[gereed]
( 2/42) Installeren van: compositeproto-devel-0.4.2-1.22.x86_64 ...............................................................[gereed]
...
(41/42) Installeren van: gucharmap-devel-13.0.0-150400.4.2.3.x86_64 ...........................................................[gereed]
(42/42) Installeren van: python-devel-2.7.18-150000.41.1.x86_64 ...............................................................[gereed]
dany@pindabook:~/bluefish-2.2.12> ./configure 
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
...
config.status: executing libtool commands
config.status: executing po/stamp-it commands
dany@pindabook:~/bluefish-2.2.12> make
...
make[1]: Map '/home/dany/bluefish-2.2.12' wordt binnengegaan
make[1]: Er hoeft niets gedaan te worden voor 'all-am'.
make[1]: Map '/home/dany/bluefish-2.2.12' wordt verlaten
dany@pindabook:~/bluefish-2.2.12> sudo make install
[sudo] wachtwoord voor root: 
Making install in data
make[1]: Map '/home/dany/bluefish-2.2.12/data' wordt binnengegaan
Making install in bflang
...
make[2]: Er hoeft niets gedaan te worden voor 'install-data-am'.
make[2]: Map '/home/dany/bluefish-2.2.12' wordt verlaten
make[1]: Map '/home/dany/bluefish-2.2.12' wordt verlaten
Bluefish
Systeeminstellingen > Uiterlijk > Globaal thema: Breeze Dark

Systeeminstellingen > Uiterlijk > Stijl van toepassing > Stijl van GNOME/GTK-toepassing configureren
GTK-thema: Adwaita-dark

Bluefish > menu Bewerken > Voorkeuren... > Editor opties: Lettertype & Kleuren
    Import: /usr/share/bluefish/colorprofiles/Dark_theme > Toepassen > Continue and ignore changes
    Importeren gereed > OK
    menu Bewerken > Voorkeuren... > Editor opties: Lettertype & Kleuren
    Gebruik systeembreed ingestelde kleuren UITschakelen
    Kleur van actieve regel > zwart > Selecteren
    OK
    Indien Bluefish zichzelf afsluit, herstarten.
Bluefish dark
dany@pindabook:~> rm bluefish-2.2.12.tar.gz
python-devel niet verwijderen , uitgezonderd de python-devel. Python is namelijk zelf software waarmee je Python broncode zonder compileren kunt uitvoeren, dus telkens opnieuw bij het uitvoeren van de software.
dany@pindabook:~> sudo zypper remove -u gtk2-devel libxml2-devel enchant-devel gucharmap-devel
Lezen van geïnstalleerde pakketten...
Pakketafhankelijkheden oplossen...

De volgende 98 pakketten zullen worden VERWIJDERD:
  atk-devel at-spi2-atk-devel at-spi2-core-devel cairo-devel compositeproto-devel damageproto-devel dbus-1-devel enchant-devel
  fixesproto-devel fontconfig-devel freetype2-devel fribidi-devel gdk-pixbuf-devel gettext-its-gtk4 glib2-devel graphite2-devel
  gtk2-devel gtk3-devel gucharmap-devel harfbuzz-devel icu.691-devel inputproto-devel kbproto-devel libblkid-devel libbz2-devel
  libcairo-script-interpreter2 libdatrie-devel libepoxy-devel libexpat-devel libffi-devel libglvnd-devel libharfbuzz-gobject0 libicu69
  libicu69-ledata libjpeg62 libjpeg62-devel libmount-devel libpcre16-0 libpcrecpp0 libpcreposix0 libpixman-1-0-devel
  libpng16-compat-devel libpng16-devel libselinux-devel libsepol-devel libstdc++6-devel-gcc7 libstdc++-devel libthai-devel
  libtiff-devel libuuid-devel libX11-devel libXau-devel libxcb-devel libxcb-screensaver0 libxcb-xf86dri0 libxcb-xtest0 libxcb-xvmc0
  libXcomposite-devel libXcursor-devel libXdamage-devel libXext-devel libXfixes-devel libXft-devel libXi-devel libXinerama-devel
  libxkbcommon-devel libxml2-devel libXrandr-devel libXrender-devel libXtst-devel Mesa-KHR-devel Mesa-libEGL-devel Mesa-libGL-devel
  ncurses-devel pango-devel pcre-devel pthread-stubs-devel python3-gobject-Gdk randrproto-devel readline-devel recordproto-devel
  renderproto-devel tack typelib-1_0-Atk-1_0 typelib-1_0-Atspi-2_0 typelib-1_0-GdkPixbuf-2_0 typelib-1_0-GdkPixdata-2_0
  typelib-1_0-Gtk-2_0 typelib-1_0-Gtk-3_0 typelib-1_0-Gucharmap-2_90 typelib-1_0-HarfBuzz-0_0 typelib-1_0-Pango-1_0 wayland-devel
  xextproto-devel xineramaproto-devel xproto-devel xz-devel zlib-devel

98 te verwijderen pakketten.
Na de bewerking zal 197,0 MiB worden vrijgemaakt.
Doorgaan? [j/n/v/...? alle opties tonen] (j): 
( 1/98) Verwijderen van enchant-devel-2.2.15-150400.1.9.x86_64 ................................................................[gereed]
( 2/98) Verwijderen van gtk2-devel-2.24.33-150400.2.11.x86_64 .................................................................[gereed]
...
(97/98) Verwijderen van libstdc++6-devel-gcc7-7.5.0+r278197-4.30.1.x86_64 .....................................................[gereed]
(98/98) Verwijderen van xproto-devel-7.0.31-1.22.x86_64 .......................................................................[gereed]

Bluefish volledig verwijderen

Zorg dat Bluefish is afgesloten. Bluefish gebruik een werkmap die je met de volgende opdracht kunt verwijderen:

dany@pindabook:~> rm -r .bluefish

Het programma zelf verwijder je met behulp van een script die je als systeembeheerder start vanuit de bronmap:

dany@pindabook:~> cd bluefish-2.2.12/
dany@pindabook:~/bluefish-2.2.12> sudo make uninstall
Making uninstall in data
make[1]: Map '/home/dany/bluefish-2.2.12/data' wordt binnengegaan
...
make[1]: Er hoeft niets gedaan te worden voor 'uninstall-am'.
make[1]: Map '/home/dany/bluefish-2.2.12' wordt verlaten
dany@pindabook:~/bluefish-2.2.12> cd

Met de laatste opdracht verlaat je de bronmap en kom je terug in de Home map terecht. Nu we de bronmap niet meer nodig hebben, kan je deze verwijderen met:

dany@pindabook:~> rm -r bluefish-2.2.12/

Daarna mag je alle pakketten die je nodig had om Bluefish aan te maken en te gebruiken, verwijderen:

dany@pindabook:~> sudo zypper remove -u automake autoconf libtool intltool gcc gtk2-devel libxml2-devel enchant-devel libgucharmap_2_90-7 gucharmap-devel python-devel jing
Lezen van geïnstalleerde pakketten...
'enchant-devel' is niet gevonden in de pakketnamen. Proberen in eigenschappen.
Geen provider van 'enchant-devel' gevonden.
'gtk2-devel' is niet gevonden in de pakketnamen. Proberen in eigenschappen.
Geen provider van 'gtk2-devel' gevonden.
'gucharmap-devel' is niet gevonden in de pakketnamen. Proberen in eigenschappen.
Geen provider van 'gucharmap-devel' gevonden.
'libxml2-devel' is niet gevonden in de pakketnamen. Proberen in eigenschappen.
Geen provider van 'libxml2-devel' gevonden.
Pakketafhankelijkheden oplossen...

De volgende 40 pakketten zullen worden VERWIJDERD:
  autoconf automake bea-stax bea-stax-api bison bison-lang bluefish gcc gcc7 gettext-tools glibc-devel intltool jing libasan4
  libatomic1 libcilkrts5 libgucharmap_2_90-7 libitm1 liblsan0 libmpx2 libmpxwrappers2 libpython2_7-1_0 libtool libtsan0 libubsan0
  libxcrypt-devel linux-glibc-devel m4 make make-lang python python-base python-devel relaxngDatatype saxon9 saxon9-scripts site-config
  xalan-j2 xerces-j2 xml-commons-resolver

40 te verwijderen pakketten.
Na de bewerking zal 170,2 MiB worden vrijgemaakt.
Doorgaan? [j/n/v/...? alle opties tonen] (j): 
( 1/40) Verwijderen van bison-lang-3.0.4-3.3.1.noarch .........................................................................[gereed]
( 2/40) Verwijderen van bluefish-2.2.12-bp154.1.67.x86_64 .....................................................................[gereed]
...
(39/40) Verwijderen van xml-commons-resolver-1.2-1.66.noarch ..................................................................[gereed]
(40/40) Verwijderen van bea-stax-api-1.2.0-9.63.noarch ........................................................................[gereed]
Installatie is voltooid met een fout.

De foutmelding wijst naar het niet kunnen verwijderen van reeds voordien verwijderde *-devel pakketten die we enkel nodig hadden om Bluefish aan te maken.