#opt/pakfire
opt/pakfire/cache
#opt/pakfire/db
+opt/pakfire/db/installed
opt/pakfire/db/lists
opt/pakfire/db/meta
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
$(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
if ("$forweb" eq "forweb") {
print "<option value=\"$templine[0]\">$templine[0]-$templine[1]-$templine[2]</option>\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";
}
}
}
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 {
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");
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;
--- /dev/null
+#!/bin/bash
+
+extract_files() {
+ echo "Extracting files..."
+ cd / && cpio -i < /opt/pakfire/tmp/files
+
+}
Name: NAME
-FullName: NAME
-Version: VER
+ProgVersion: VER
Release: RELEASE
Size: SIZE
Dependencies: DEPS
my $interactive = 1;
&Pakfire::logger("### IPFire Pakfire $Conf::version started!");
+ &Pakfire::checkcryptodb;
### Check if we are running as root
#
-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
+#!/bin/bash
+
rm -rf /etc/rc.d/rc*.d/*alsa
-tar xvfj files.tbz2 -C /
+#!/bin/bash
+. /opt/pakfire/lib/functions.sh
+
+extract_files
clamavctrl enable
+#!/bin/bash
+
clamavctrl disable
-tar xvfj files.tbz2 -C /
+#!/bin/bash
+. /opt/pakfire/lib/functions.sh
+
+extract_files
-tar xvfj files.tbz2 -C /
+#!/bin/bash
+. /opt/pakfire/lib/functions.sh
+
+extract_files
-tar xvfj files.tbz2 -C /
+#!/bin/bash
+. /opt/pakfire/lib/functions.sh
+
+extract_files
-tar xvfj files.tbz2 -C /
+#!/bin/bash
+. /opt/pakfire/lib/functions.sh
+
+extract_files
-tar xvfj files.tbz2 -C /
+#!/bin/bash
+. /opt/pakfire/lib/functions.sh
+
+extract_files
-tar xvfj files.tbz2 -C /
+#!/bin/bash
+. /opt/pakfire/lib/functions.sh
+
+extract_files
-tar xvfj files.tbz2 -C /
+#!/bin/bash
+. /opt/pakfire/lib/functions.sh
+
+extract_files
-tar xvfj files.tbz2 -C /
+#!/bin/bash
+. /opt/pakfire/lib/functions.sh
+
+extract_files
-tar xvfj files.tbz2 -C /
+#!/bin/bash
+. /opt/pakfire/lib/functions.sh
+
+extract_files
-tar xvfj files.tbz2 -C /
+#!/bin/bash
+. /opt/pakfire/lib/functions.sh
+
+extract_files
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()