My Universe Logo

My Universe Blog » Entries Tagged as ports

Redmine ist kaputt

Posted by Jesco Freund at Sept. 14, 2011 8:45 p.m.

Schienen scheinen ein gefährlicher Ort zu sein, um darauf herumzusitzen. So oder so ähnlich sah es wohl auch der Ports-Maintainer für diverse rubygem-Ports (unter FreeBSD), der kurzerhand diverse Versionsupgrades eingespielt hatte – jedoch ohne vorher zu testen, ob die bestehenden RoR-Applikationsports (wie etwa der Redmine-Port) mit den geänderten Versionen klar kommen.

Ergebnis: Kein Eintrag in UPDATING, der auf die drohende Gefahr hinwies, und Redmine mehrere Tage später als BROKEN getagged – da war's aber schon zu spät. Mein Redmine-Jail ist perdu, und auch die Backups nutzen nichts – die Daten und Konfigurationseinstellungen sind ja nicht futsch, sondern die Software selbst. Meine Projekt-Unterseite ist daher bis auf weiteres nicht erreichbar.

OK, das ist kein Beinbruch, damit kann ich leben. Allerdings habe ich auf meinem Server weitere Redmine-Instanzen, darunter RootUtils, die Entwicklungsplattform der RootForum-Community. Zwar habe ich dort das mörderische Upgrade schön bleiben lassen, so dass diese Instanzen weiterhin erst mal funktionieren, aber auf Dauer ist das keine Lösung, da die jetzt installierten alten Versionen über die Ports-Sammlung nicht mehr gepflegt werden. Über kurz oder lang muss also eine andere Lösung her, wobei ich nur ungern die Ports umgehen und Software manuell einspielen möchte – das wäre in Sachen Wartbarkeit eine herbe Einbuße.

No comments | Defined tags for this entry: FreeBSD, ports, rant, Redmine

cdeploy Has Entered FreeBSD Ports

Posted by Jesco Freund at May 9, 2010 5:32 p.m.

The utility cdeploy (developed by me within the scope of the root-tools project) has been committed to the FreeBSD Ports. From now on, installing cdeploy on FreeBSD is as simple as:

cd /usr/ports/sysutils/cdeploy
make install clean

Originally, cdeploy has been developed to deploy centrally (e. g. in a scm) maintained configuration files onto a target system. A sample configuration for this purpose is described in the RootForum wiki (German). Of course, you can abuse cdeploy for any other kind of files… ;-)

No comments | Defined tags for this entry: code, development, FreeBSD, ports, root-tools, RootUtils

Mein erster PR

Posted by Jesco Freund at May 15, 2009 6:43 p.m.

Obwohl ich FreeBSD nun schon seit über zwei Jahren einsetze, habe ich heute zum ersten mal einen PR („Problem Report“) erstellt. Allerdings handelt es sich nicht um einen Bugreport, sondern um einen Patch, um die verwundbare MoinMoin-Version (1.8.1) in den Ports endlich auf gefixte Version 1.8.3 zu heben. Mal schauen, was draus wird…

Für Ungeduldige: Der im PR abgelegte Patch lässt sich recht einfach auf den Ports Tree anwenden:

cd /usr/ports/www/moinmoin
patch -p1 < /pfad/zu/patch.txt
make deinstall && make reinstall clean

Update [2009-05-16]: Heute Nachmittag hat miwi den Patch committed :-)

No comments | Defined tags for this entry: FreeBSD, MoinMoin, ports, security

FreeBSD: Welcher Port hat die Datei installiert?

Posted by Jesco Freund at Feb. 20, 2009 12:11 a.m.

Gerade bei größeren Upgrade-Aktionen kann es schon mal vorkommen, dass portmaster & Co. eine ungünstige Reihenfolge erwischen und sich Build-Prozesse daran aufhängen, dass eine bestimmte Datei (Bibliothek) noch nicht vorhanden ist, weil der betreffende Port weiter hinten in der Arbeitsliste gelandet ist. Mich hat es heute mit dem OpenLDAP-Upgrade auf 2.4 erwischt. Zwar habe ich versucht, alle von OpenLDAP abhängigen Pakete (bei KDE ist da eine ganze Menge dabei) neu zu kompilieren (portmaster -r openldap-client-2.4.14), jedoch ist Portmaster daran gescheitert, die richtige Baureihenfolge auszubaldowern. Ergebnis: der Bau von sysutils/kdeadmin4 ging schief, weil libkldap.so noch gegen die alte OpenLDAP-Version gelinkt war.

So weit, so gut. Um das Problem zu beheben, musste ich also bloß den Port manuell neu bauen, der libkldap.so installiert. Bloß welcher ist das? Nun, mit ein bissschen Shell-Trickserei lässt sich das herausfinden. Jeder Port, der Dateien im System installiert, vermerkt diese in der Datei pkg-plist. Mit grep kann man diese Dateien nach der gesuchten Bibliothek durchwühlen; allerdings muss man find bemühen, um nicht wegen zu langer Argumentenlisten aus der Kurve zu fliegen:

find /usr/ports -type f -name pkg-plist -exec grep -H 'libkldap.so' {} \;

Die Ausgabe verrät einem dann, welcher Port hier der Übeltäter ist:

/usr/ports/deskutils/kdepimlibs4/pkg-plist:lib/libkldap.so
/usr/ports/deskutils/kdepimlibs4/pkg-plist:lib/libkldap.so.5
/usr/ports/deskutils/kdepimlibs4/pkg-plist:lib/libkldap.so.5.0.1

Mit einem beherzten cd /usr/ports/deskutils/kdepimlibs4 && make deinstall && make reinstall clean hatte es sich dann auch ausgespukt und portmaster konnte den Rest seiner Arbeit erledigen.

1 comment | Defined tags for this entry: FreeBSD, KDE, packet management, ports

Page 1 of 1