]> git.ipfire.org Git - people/ms/ipfire-2.x.git/commitdiff
pakfire: Automatically compose $version
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 11 Feb 2020 14:28:46 +0000 (14:28 +0000)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sat, 15 Feb 2020 11:07:55 +0000 (11:07 +0000)
The tree in which pakfire is looking for packages and Core Updates
has been hardcoded into /opt/pakfire/etc/pakfire.conf.

This patch adds a new function which reads the system release
from /etc/system-release.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
src/pakfire/lib/functions.pl
src/pakfire/pakfire.conf

index 61787757eb5e46bcb22996a135161fc667845601..cda6f00a94554e2c7a89225ff17ef6b312628483 100644 (file)
@@ -70,6 +70,9 @@ my $bfile;
 my %pakfiresettings = ();
 &General::readhash("${General::swroot}/pakfire/settings", \%pakfiresettings);
 
+# Make version
+$Conf::version = &make_version();
+
 sub message {
        my $message = shift;
                
@@ -946,4 +949,42 @@ sub status {
        exit 1;
 }
 
+sub get_arch() {
+       # Append architecture
+       my ($sysname, $nodename, $release, $version, $machine) = POSIX::uname();
+
+       # We only support armv5tel for all 32 bit arches
+       if ($machine =~ m/armv[567]/) {
+               return "armv5tel";
+
+       # We only support i586 for 32 bit x86
+       } elsif ($machine =~ m/i[0-9]86/) {
+               return "i586";
+       }
+
+       return $machine;
+}
+
+sub make_version() {
+       my $version = "";
+
+       # Open /etc/system-release
+       open(RELEASE, "</etc/system-release");
+       my $release = <RELEASE>;
+       close(RELEASE);
+
+       # Add the main relase
+       if ($release =~ m/IPFire ([\d\.]+)/) {
+               $version .= $1;
+       }
+
+       # Append architecture
+       my $arch = &get_arch();
+       if ($arch ne "i586") {
+               $version .= "-${arch}";
+       }
+
+       return $version;
+}
+
 1;
index cfe48f575af044058acd1024934ce7292e990152..9930f3771bd42ff57a2df302425c489cf8b7d116 100644 (file)
@@ -21,8 +21,6 @@
 
 package Conf;
 
-$version = "@VERSION@";
-
 $mainserver = "pakfire.ipfire.org";
 
 $cachedir = "/opt/pakfire/cache";