Szégyen és gyalázat, de ezidáig még csak nem is hallottam az Autopackage-ről, amely egy disztribúciófüggetlen csomagkezelő rendszer. A legnagyobb szépsége számomra az, hogy bináris, pontosabban futtatható csomagokat (.package) lehet vele készíteni, ami kb. úgy képzelhető el mint Windows-os msi fájlok – melyek telepítéséhez szükség van a Windows Installerre.

Igaz, hogy nemrégiben kaptam egy Open Source licenszt a BitRock-tól, de egyrészt ez a licensz csak bizonyos projektjeimhez használható, másrészt nem tökéletes például a függőségek kezelése. Az autopackage-é sem teljes de nagyon szép specfájlokat lehet vele gyártani, amivel akár teljesen egyedi ellenőrzéseket is lehet végezni. Mivel most gyártom a Gnome-RDP-hez a csomagot így előjött, hogy hogyan lehetne ellenőrizni, a Mono és Gtk# meglétét és verziószámát. Nos, így oldottam meg:

[Prepare]
REQUIRED_MONO_VERSION="1.1.10"
REQUIRED_GTKSHARP_VERSION="2.4.0"
# ====== MONO .NET RUNTIME ======
outputTest "Mono .NET Runtime"
MONO_VERSION=`mono -V | grep "version" | sed 's/.* \([0-9]*\.[0-9]*\.[0-9]*\).*/\1/g'`
compareVersions $REQUIRED_MONO_VERSION $MONO_VERSION
if [ $? -gt 0 ]; then
	outputTestFail
	outputFail "at least Mono .NET Runtime $REQUIRED_MONO_VERSION required"
	false
else
	outputTestPass
fi
# ====== GTK# ======
outputTest "Gtk#"
pkg-config --atleast-version=2.4.0 gtk-sharp-2.0
if [ $? -gt 0 ]; then
	outputFail "at least Gtk# $REQUIRED_GTKSHARP_VERSION required"
	outputTestFail
	false
else
	outputTestPass
fi

Nem a legszebb kód, de működik. Teszteltem Gentoo-n és Ubuntu-n, megy mind a kettőn szépen. Új Gnome-RDP release esetén tehát már Autopackage-es telepítő is lesz a BitRock-os pedig valószínűleg el lesz dobva. Az LGPL mégiscsak az Autopackage felé húz! Lassan az NSIS-be is bele kellene mélyednem, mert ha minden jól alakul, akkor elkezdek dolgozni a Gnome-RDP Windows-os portján is.

Tagged with:
 

MINDEN VÉLEMÉNY SZÁMÍT!

Email cím (nem tesszük közzé) A kötelezően kitöltendő mezőket * karakterrel jelöljük

*

A következő HTML tag-ek és tulajdonságok használata engedélyezett: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">