]> git.deb.at Git - deb/packages.git/commitdiff
Split section (main, etc.) from subsection (admin, etc.) on db generation
authorFrank Lichtenheld <frank@lichtenheld.de>
Wed, 1 Feb 2006 21:15:14 +0000 (21:15 +0000)
committerFrank Lichtenheld <frank@lichtenheld.de>
Wed, 1 Feb 2006 21:15:14 +0000 (21:15 +0000)
bin/parse-packages
cgi-bin/search_packages.pl

index 6caf5cfa42d5f7a5a60f722c3fdda917c2b18407..b5c2cebac67eddae65c50ceafc1ca4a3d743736c 100755 (executable)
@@ -91,8 +91,13 @@ for my $suite (@suites) {
 
                my $sdescr = $descr;
                $sdescr =~ s/\n.*//s;
+               my $section = 'main';
+               my $subsection = $data{section};
+               if ($data{section} && ($data{section} =~ m=/=o)) {
+                   ($section, $subsection) = split m=/=o, $data{section}, 2;
+               }
                $packages_small{$data{'package'}} .= "$suite $data{'architecture'} ".
-                       "$data{'section'} $data{'priority'} $data{'version'} $sdescr\000";
+                       "$section $subsection $data{'priority'} $data{'version'} $sdescr\000";
                $sources_packages{$src} .=
                        "$data{'package'} $data{'architecture'} $data{'version'}\000";
        }
index e22b8bd4bc812eba9bcd6bd2132c163181719d68..1912dac8ed41fb5044fd68420e4aa51b355152d2 100755 (executable)
@@ -197,13 +197,7 @@ if ($searchon eq 'names') {
     if ($exact) {
        my $result = $packages{$keyword};
        foreach (split /\000/, $result) {
-           my @data = split ( /\s/, $_, 6 );
-           #FIXME, should be done on db generation
-           if ($data[2] =~ m,/,) {
-               $data[2] =~ s,/.*$,,;
-           } else {
-               $data[2] = 'main';
-           }
+           my @data = split ( /\s/, $_, 7 );
            print "DEBUG: Considering entry ".join( ':', @data)."<br>" if $debug > 2;
            if ($suites{$data[0]} && ($archs{$data[1]} || $data[1] eq 'all')
                && $sections{$data[2]}) {
@@ -217,13 +211,7 @@ if ($searchon eq 'names') {
            (index($pkg, $keyword) >= 0) or next;
            #$pkg =~ /\Q$keyword\E/ or next;
            foreach (split /\000/, $packages{$pkg}) {
-               my @data = split ( /\s/, $_, 6 );
-               #FIXME, should be done on db generation
-               if ($data[2] =~ m,/,) {
-                   $data[2] =~ s,/.*$,,;
-               } else {
-                   $data[2] = 'main';
-               }
+               my @data = split ( /\s/, $_, 7 );
                print "DEBUG: Considering entry ".join( ':', @data)."<br>" if $debug > 2;
                if ($suites{$data[0]} && ($archs{$data[1]} || $data[1] eq 'all')
                    && $sections{$data[2]}) {
@@ -300,11 +288,12 @@ my (%pkgs, %sect, %part, %desc, %binaries);
 
 unless ($search_on_sources) {
     foreach (@results) {
-       my ($pkg_t, $suite, $arch, $section, $priority, $version, $desc) = @$_;
+       my ($pkg_t, $suite, $arch, $section, $subsection,
+            $priority, $version, $desc) = @$_;
        
        my ($package) = $pkg_t =~ m/^(.+)/; # untaint
        $pkgs{$package}{$suite}{$version}{$arch} = 1;
-       $sect{$package}{$suite}{$version} = 'subsection';
+       $sect{$package}{$suite}{$version} = $subsection;
        $part{$package}{$suite}{$version} = $section unless $section eq 'main';
        
        $desc{$package}{$suite}{$version} = $desc;