]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
pakfire: Replace dbgetlist duplicate code
authorRobin Roevens <robin.roevens@disroot.org>
Thu, 28 Jul 2022 11:21:30 +0000 (13:21 +0200)
committerPeter Müller <peter.mueller@ipfire.org>
Thu, 28 Jul 2022 13:44:29 +0000 (13:44 +0000)
Replace dbgetlist code duplicating dblist and getmetafile
workings with call to actual dblist and getmetafile functions.

Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
src/pakfire/lib/functions.pl

index 19160503e87275a8eb7b9d109dbc55c5fa997b6a..971aa2d5956c0d96182efaa1fb7246592e0d14c0 100644 (file)
@@ -410,9 +410,7 @@ sub dbgetlist {
        my %metadata;
        my @templine;
 
-       open(FILE, "<$Conf::dbdir/lists/packages_list.db");
-       my @db = <FILE>;
-       close(FILE);
+    my %paklist = &Pakfire::dblist("all");
 
        opendir(DIR,"$Conf::dbdir/meta");
        my @files = readdir(DIR);
@@ -424,12 +422,12 @@ sub dbgetlist {
                next if ( $file =~ /^old/ );
                %metadata = parsemetafile("$Conf::dbdir/meta/$file");
 
-               foreach $prog (@db) {
-                       @templine = split(/\;/,$prog);
-                       if (("$metadata{'Name'}" eq "$templine[0]") && ("$metadata{'Release'}" ne "$templine[2]")) {
-                               move("$Conf::dbdir/meta/meta-$metadata{'Name'}","$Conf::dbdir/meta/old_meta-$metadata{'Name'}");
-                               getmetafile($metadata{'Name'});
-                       }
+               if ((defined $paklist{"$metadata{'Name'}"}) && (
+                       ("$paklist{\"$metadata{'Name'}\"}{'Release'}" ne "$metadata{'Release'}") ||
+                       (defined $paklist{"$metadata{'Name'}"}{'AvailableRelease'}))
+                  ) {
+                       move("$Conf::dbdir/meta/meta-$metadata{'Name'}","$Conf::dbdir/meta/old_meta-$metadata{'Name'}");
+                       getmetafile($metadata{'Name'});
                }
        }
 }