From: ms Date: Wed, 20 Jun 2007 22:48:45 +0000 (+0000) Subject: In den Pakfire nun auch das neuen Paketformat uebernommen. X-Git-Tag: v2.3-beta1~617 X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=commitdiff_plain;h=cde0e11690bd2a6dbe3686ba0cb07530e21b837d In den Pakfire nun auch das neuen Paketformat uebernommen. git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@642 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- diff --git a/config/rootfiles/ver_full/pakfire b/config/rootfiles/ver_full/pakfire index 6c13fe6f82..a540b09591 100644 --- a/config/rootfiles/ver_full/pakfire +++ b/config/rootfiles/ver_full/pakfire @@ -1,6 +1,7 @@ #opt/pakfire opt/pakfire/cache #opt/pakfire/db +opt/pakfire/db/installed opt/pakfire/db/lists opt/pakfire/db/meta opt/pakfire/db/rootfiles @@ -8,6 +9,7 @@ opt/pakfire/db/rootfiles opt/pakfire/etc/pakfire.conf #opt/pakfire/lib opt/pakfire/lib/functions.pl +opt/pakfire/lib/functions.sh opt/pakfire/logs #opt/pakfire/meta opt/pakfire/pakfire diff --git a/lfs/pakfire b/lfs/pakfire index 3dcde8b576..e0f267ff65 100644 --- a/lfs/pakfire +++ b/lfs/pakfire @@ -51,7 +51,7 @@ md5 : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) - -mkdir -p /opt/pakfire/{cache,db/{meta,lists,rootfiles},etc,lib,logs,tmp} + -mkdir -p /opt/pakfire/{cache,db/{meta,lists,rootfiles,installed},etc,lib,logs,tmp} cp -fRv $(DIR_SRC)/src/pakfire/* $(DIR_APP) mv -vf $(DIR_APP)/pakfire.conf $(DIR_APP)/etc/ chown root.root $(DIR_APP) -R diff --git a/src/pakfire/lib/functions.pl b/src/pakfire/lib/functions.pl index e3162072cd..6e416f915c 100644 --- a/src/pakfire/lib/functions.pl +++ b/src/pakfire/lib/functions.pl @@ -204,7 +204,7 @@ sub dblist { if ("$forweb" eq "forweb") { print "\n"; } else { - print "Name: $templine[0]\nVersion: $templine[1]\nRelease: $templine[2]\n\n"; + print "Name: $templine[0]\nProgVersion: $templine[1]\nRelease: $templine[2]\n\n"; } } } @@ -335,10 +335,10 @@ sub decryptpak { my $file = getpak("$pak", "noforce"); - my $return = system("gpg -d < $Conf::cachedir/$file | tar xj -C $Conf::tmpdir/"); + my $return = system("cd $Conf::tmpdir/ && gpg -d < $Conf::cachedir/$file | cpio -i >/dev/null 2>&1"); logger("Decryption process returned the following: $return"); - if ($return != 1) { exit 1; } + if ($return != 0) { exit 1; } } sub getpak { @@ -385,6 +385,7 @@ sub setuppak { decryptpak("$pak"); my $return = system("cd $Conf::tmpdir && ./install.sh >> $Conf::logdir/install-$pak.log 2>&1"); + $return %= 255; if ($return == 0) { move("$Conf::tmpdir/ROOTFILES", "$Conf::dbdir/rootfiles/$pak"); cleanup("tmp"); @@ -499,4 +500,15 @@ sub lock { return 0; } +sub checkcryptodb { + my $myid = "64D96617"; # Our own gpg-key + my $trustid = "65D0FD58"; # Id of CaCert + my $ret = system("gpg --list-keys | grep -q $myid"); + unless ( "$ret" eq "0" ) { + message("The GnuPG isn't configured corectly. Trying now to fix this."); + system("gpg --keyserver wwwkeys.de.pgp.net --always-trust --recv-key $myid"); + system("gpg --keyserver wwwkeys.de.pgp.net --always-trust --recv-key $trustid"); + } +} + 1; diff --git a/src/pakfire/lib/functions.sh b/src/pakfire/lib/functions.sh new file mode 100644 index 0000000000..3a459625d8 --- /dev/null +++ b/src/pakfire/lib/functions.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +extract_files() { + echo "Extracting files..." + cd / && cpio -i < /opt/pakfire/tmp/files + +} diff --git a/src/pakfire/meta b/src/pakfire/meta index a2a79a3ab3..8b809b2b7a 100644 --- a/src/pakfire/meta +++ b/src/pakfire/meta @@ -1,6 +1,5 @@ Name: NAME -FullName: NAME -Version: VER +ProgVersion: VER Release: RELEASE Size: SIZE Dependencies: DEPS diff --git a/src/pakfire/pakfire b/src/pakfire/pakfire index 5c5dd6b38f..0deb6562c7 100644 --- a/src/pakfire/pakfire +++ b/src/pakfire/pakfire @@ -5,6 +5,7 @@ my $interactive = 1; &Pakfire::logger("### IPFire Pakfire $Conf::version started!"); + &Pakfire::checkcryptodb; ### Check if we are running as root # diff --git a/src/paks/alsa/install.sh b/src/paks/alsa/install.sh index 26356a498e..ae4eb4d652 100644 --- a/src/paks/alsa/install.sh +++ b/src/paks/alsa/install.sh @@ -1,4 +1,8 @@ -tar xvfj files.tbz2 -C / +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +extract_files + touch /etc/asound.state ln -sf ../init.d/alsa /etc/rc.d/rc0.d/K35alsa ln -sf ../init.d/alsa /etc/rc.d/rc6.d/K35alsa diff --git a/src/paks/alsa/uninstall.sh b/src/paks/alsa/uninstall.sh index acb436b73b..19f1891957 100644 --- a/src/paks/alsa/uninstall.sh +++ b/src/paks/alsa/uninstall.sh @@ -1 +1,3 @@ +#!/bin/bash + rm -rf /etc/rc.d/rc*.d/*alsa diff --git a/src/paks/clamav/install.sh b/src/paks/clamav/install.sh index e3992d3198..f2f4be4f45 100644 --- a/src/paks/clamav/install.sh +++ b/src/paks/clamav/install.sh @@ -1,3 +1,6 @@ -tar xvfj files.tbz2 -C / +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +extract_files clamavctrl enable diff --git a/src/paks/clamav/uninstall.sh b/src/paks/clamav/uninstall.sh index 650ea36ca8..910f089273 100644 --- a/src/paks/clamav/uninstall.sh +++ b/src/paks/clamav/uninstall.sh @@ -1 +1,3 @@ +#!/bin/bash + clamavctrl disable diff --git a/src/paks/cups/install.sh b/src/paks/cups/install.sh index ace14baf9c..a47a7831dc 100644 --- a/src/paks/cups/install.sh +++ b/src/paks/cups/install.sh @@ -1 +1,4 @@ -tar xvfj files.tbz2 -C / +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +extract_files diff --git a/src/paks/cyrus-sasl/install.sh b/src/paks/cyrus-sasl/install.sh index ace14baf9c..a47a7831dc 100644 --- a/src/paks/cyrus-sasl/install.sh +++ b/src/paks/cyrus-sasl/install.sh @@ -1 +1,4 @@ -tar xvfj files.tbz2 -C / +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +extract_files diff --git a/src/paks/libogg/install.sh b/src/paks/libogg/install.sh index ace14baf9c..a47a7831dc 100644 --- a/src/paks/libogg/install.sh +++ b/src/paks/libogg/install.sh @@ -1 +1,4 @@ -tar xvfj files.tbz2 -C / +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +extract_files diff --git a/src/paks/libvorbis/install.sh b/src/paks/libvorbis/install.sh index ace14baf9c..a47a7831dc 100644 --- a/src/paks/libvorbis/install.sh +++ b/src/paks/libvorbis/install.sh @@ -1 +1,4 @@ -tar xvfj files.tbz2 -C / +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +extract_files diff --git a/src/paks/mp3blaster/install.sh b/src/paks/mp3blaster/install.sh index ace14baf9c..a47a7831dc 100644 --- a/src/paks/mp3blaster/install.sh +++ b/src/paks/mp3blaster/install.sh @@ -1 +1,4 @@ -tar xvfj files.tbz2 -C / +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +extract_files diff --git a/src/paks/mpg123/install.sh b/src/paks/mpg123/install.sh index ace14baf9c..a47a7831dc 100644 --- a/src/paks/mpg123/install.sh +++ b/src/paks/mpg123/install.sh @@ -1 +1,4 @@ -tar xvfj files.tbz2 -C / +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +extract_files diff --git a/src/paks/openldap/install.sh b/src/paks/openldap/install.sh index ace14baf9c..a47a7831dc 100644 --- a/src/paks/openldap/install.sh +++ b/src/paks/openldap/install.sh @@ -1 +1,4 @@ -tar xvfj files.tbz2 -C / +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +extract_files diff --git a/src/paks/samba/install.sh b/src/paks/samba/install.sh index ace14baf9c..a47a7831dc 100644 --- a/src/paks/samba/install.sh +++ b/src/paks/samba/install.sh @@ -1 +1,4 @@ -tar xvfj files.tbz2 -C / +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +extract_files diff --git a/src/paks/tripwire/install.sh b/src/paks/tripwire/install.sh index ace14baf9c..a47a7831dc 100644 --- a/src/paks/tripwire/install.sh +++ b/src/paks/tripwire/install.sh @@ -1 +1,4 @@ -tar xvfj files.tbz2 -C / +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +extract_files diff --git a/src/paks/vsftpd/install.sh b/src/paks/vsftpd/install.sh index ace14baf9c..a47a7831dc 100644 --- a/src/paks/vsftpd/install.sh +++ b/src/paks/vsftpd/install.sh @@ -1 +1,4 @@ -tar xvfj files.tbz2 -C / +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +extract_files diff --git a/tools/make_pkg_list.py b/tools/make_pkg_list.py index 70553f14db..b71bf5283d 100644 --- a/tools/make_pkg_list.py +++ b/tools/make_pkg_list.py @@ -35,15 +35,13 @@ for i in os.listdir(dir): i = i.rstrip("\n") if i.startswith("Name:"): trash,name = i.split(": ") - elif i.startswith("Version:"): + elif i.startswith("ProgVersion:"): trash,ver = i.split(": ") elif i.startswith("Release:"): trash,rel = i.split(": ") - elif i.startswith("Size:"): - trash,size = i.split(": ") src.close() - dst.write(name+";"+ ver +";"+ rel +";"+ size +";\n") + dst.write(name+";"+ ver +";"+ rel +";\n") dst.close()