updating aur packages with yaourt

Wednesday, December 6. 2017

This is a work in progress for right now I dont seem to know how to do it right.

sudo yaourt -Syu --aur 

searches through my system and upgrades the db and then presents me a list of aur packages that need upgrade and then it works it's way through the list and I need to stay there and check every dialog and when there is a package I do not wish to upgrade I cannot skip it. Sure, there is a dialog asking me if I want to update this package, but if I give it a "no" the entire routine is aborted.

So, in case the package I really want to update happens to be the last in yaourt's list I have to update all of them, including the huge font collection which takes ages to download and build, and including the printer driver which I'd rather not touch at all.

That got me shouting and cursing yesterday cause following the update of the driver for the Brother QL-710w label printer the darn thing wouldnt print any more. CUPS was happy though, preparing the print data, posting them to /var/spool/cups and instantly flag it for completed, no errors.

The package that gave me trouble is  aur.archlinux.org/packages/brother-ql710w/  with the version 1.1.4r0. The prior version, pkgver=1.0.2r0 had installed and worked like a charm.

I spent hours trying to find a reason ar even a hint t what was failing to work but nothing helped until I decided to downgrade to the original version.
Now, with 'official' arch packages this is rather esy, there is a storage of older versions at /var/cache/pacman/pkg and you can take the package from there and downgrade with a pacman -U packageName

 But packages from aur are built when you install them, in /tmp and so they are usually lost when you try to step back. I have learned now that there is an option to change this in the /etc/yaourtrc config file. Next time it will be easier.. But as things were I chose a different path yesterday, I manually downgraded the package when it offers me to edit the build script. Changing the pkgver and the sha256sums was all it took.

One of the things I discovered was a nice feature of the aur git, in my case the url is https://aur.archlinux.org/cgit/aur.git/?h=brother-ql710w

I clicked around and soon had the site show me diffs of the prior and new version. Clearly the package was not at fault for my problems. Or Brother has changed some requirement for the install which the former version did not need and which should be reflected in the new package version - I didn't investigate this.

What I did is, searching on the Brother support site for links to older versions of the driver (none!) and then play around with the new url until I succeeded to get the old versions. Naming conventions are a good thing. Then, after successfully downloading them I took their sha256sums

sha256sum ql710wcupswrapper-1.0.2-0.i386.rpm

and those I pasted into the build script. After hours of fruitless trying I was perplexed to see it work on the first go.

That step wasn't actually necessary, I could have taken the sums from the diff at aur.archlinux.org/cgit/aur.git/diff/PKGBUILD 

 

Notizen zu Arch Linux

Friday, October 5. 2012

 Das wird wohl nicht nur mir so gegangen sein: die ersten pointer auf Arch Linux liefert Google, immer wieder finden sich in den Ergebnissen zu Suchen auf >Programm und Problem< recht weit oben brauchbare Texte aus wiki.archlinux.org. Früher oder später, bei mir eher später, realisiert man, dass das eine Linux-Distribution ist, die womöglich etwas Interessantes hat. Rolling Release.

Eine Test-Installation in einer vm gefällt mir (nachdem ich das karge Ödland der Installation tapfer durchquert habe, eine Mutprobe und Fegefeuer, um sicher zu stellen, dass nur Kommandozeilen-feste Leut' mit Zweitrechner (um die nächsten Installationsschritte im Wiki nachzulesen) dazustossen. So installiere ich Arch bald schon auf einer freien Partition, eigentlich nur zum Test aber bald schon wird es zum default.

Unter debian bin ich das Gefühl nie los geworden, dass der KDE nur missmutig mitgeschleppt wird, und was KDE-PIM angeht kommen meine Beschreibungen um das Attribut mutwillig kaum herum. Bei AUR ist das nicht so und meine ganzen "Lieblingsbaustellen" funktionieren plötzlich.

Ausserdem mag ich es einfach, ringsum die aktuellen Versionen zu haben und nicht auf das übernächste release hoffen zu müssen...

Es gibt auch Nachteile, oder zumindest Mühseligeres. Debian hat einfach ein riesiges Meer an Paketen und wenn mal doch etwas von dritter Seite dazukommen muss, kann man ziemlich darauf setzen, dass ein .deb im Angebot ist. Arch-Pakete hat natürlich keiner und so hat es länger als einen Monat gedauert, bis ich meinen Brother Laser endlich installiert bekommen habe.

Und die Paketwelt ist bei Arch zweigeteilt, es gibt die offiziellen packages, die man mit pacman -S installiert und mit pacman -Syu aktuell hält. Und dann gibt es die Arch User Repositories, AUR, mit einer Sammlung von build files, mittels derer man sich die entsprechenden Programme selbst als source lädt, kompiliert und dann letztlich installiert. Der vorletzte Link hat eine ausführliche Anleitung, die Kurzfassung ist:

  • die AUR-Seite finden, Kommentare lesen, ggf auch mal nach Alternativen schaun
  • benannte Abhängigkeiten erfüllen
  • tarball mit buildfiles an gesonderten Platz herunterladen (zB: /usr/local/src/AUR mit Schreibrechten für den user, dort wget paketurl)
  • tarball auspacken, hineinwechseln und dort als user makepkg -s
  • dann, wenn der build geklappt hat, als root mit pacman -U paketName.tar.xz installieren

Das sind dann foreign packages und pacman listet alle solchen mit pacman -Qm

 Etwas Vereinheitlichung zwischen den beiden Paketsorten und deren Handling schafft yaourt,  "Yet AnOther User Repository Tool". yaourt ist eine Erweiterung für pacman, welche die Benutzung des AURs direkt aus dem Paketmanager heraus erlaubt. Ich habe die im Wiki beschriebene Installation aus dem französischen Repository gewählt, also /etc/pacman ergänzen um:

[archlinuxfr]
Server = http://repo.archlinux.fr/$arch
und dann 
pacman -Syu yaourt
 

 

(Page 1 of 1, totaling 2 entries)