Changeset 1071 in ProjectBuilder for devel/pb-modules/bin/pbdistrocheck


Ignore:
Timestamp:
Jul 12, 2010, 7:59:19 PM (14 years ago)
Author:
Bruno Cornec
Message:

r3947@sge91-1-82-234-15-218: bruno | 2010-07-10 18:40:35 +0200

  • Adds function pb_distro_getlsb and make pbdistrocheck fully lsb_release compatible
File:
1 edited

Legend:

Unmodified
Added
Removed
  • devel/pb-modules/bin/pbdistrocheck

    r1064 r1071  
    2828=head1 SYNOPSIS
    2929
    30 pbdistrocheck [-d][-v] [distro-ver-arch]
     30pbdistrocheck [-d][-v][-l [-c][-i][-r][-a]][-s] [distro-ver-arch]
    3131
    3232=head1 OPTIONS
     
    3838Print a brief help message and exits.
    3939
     40=item B<-a|--all>
     41
     42print all parameters
     43
     44=item B<-s|--short>
     45
     46generate a short format user friendly, comma separated allowing parsing
     47
     48=item B<-l|--lsb>
     49
     50generate an LSB compliant output
     51
    4052=item B<-d|--description>
    4153
    42 generate a short format user friendly
    43 (by default, generate a longer format, comma separated allowing parsing)
     54print only description (LSB only)
     55
     56=item B<-r|--release>
     57
     58print only release (LSB only)
     59
     60=item B<-c|--codename>
     61
     62print only codename (LSB only)
     63
     64=item B<-i|--id>
     65
     66print only distribution identificator (LSB only)
     67
     68=item B<-a|--all>
     69
     70print all LSB fields
    4471
    4572=back
     
    77104GetOptions(
    78105        "verbose|v+" => \$opts{'v'},
    79         "description|d" => \$opts{'d'}
     106        "short|s" => \$opts{'s'},
     107        "description|d" => \$opts{'d'},
     108        "id|i" => \$opts{'i'},
     109        "release|r" => \$opts{'r'},
     110        "codename|c" => \$opts{'c'},
     111        "all|a" => \$opts{'a'},
     112        "lsb|l" => \$opts{'l'},
    80113);
    81114if (defined $opts{'v'}) {
    82115    $pbdebug = $opts{'v'};
    83116}
    84 if (defined $opts{'l'}) {
    85     open(pbLOG,"> $opts{'l'}") || die "Unable to log to $opts{'l'}: $!";
    86     $pbLOG = \*pbLOG;
    87     $pbdebug = 0  if ($pbdebug == -1);
    88     }
    89 pb_log_init($pbdebug, $pbLOG);
     117pb_log_init($pbdebug, \*STDOUT);
    90118
    91119my $dist = shift @ARGV || undef ;
     
    94122
    95123my ($ddir, $dver, $dfam, $dtype, $dos, $pbsuf, $pbupd, $arch) = pb_distro_init(@param);
    96 if (defined $opts{'d'}) {
    97     print "\u$ddir $dver $arch\n";
     124my $sep = "\n";
     125if (defined $opts{'l'}) {
     126    # Simulate lsb_release output
     127    my ($l,$i,$d,$r,$c) = pb_distro_getlsb($opts{'s'});
     128    $sep = " " if (defined $opts{'s'});
     129    print $l.$sep;
     130    print $i.$sep if (defined $opts{'i'} or defined $opts{'a'});
     131    print $d.$sep if (defined $opts{'d'} or defined $opts{'a'});
     132    print $r.$sep if (defined $opts{'r'} or defined $opts{'a'});
     133    $sep = "" if (defined $opts{'s'});
     134    print $c.$sep if (defined $opts{'c'} or defined $opts{'a'});
     135    print "\n" if (defined $opts{'s'});
    98136} else {
    99     print "distro tuple: ".join(',',($ddir, $dver, $dfam, $dtype, $pbsuf, $pbupd, $arch))."\n";
     137    $sep = "," if (defined $opts{'s'});
     138    if (not defined $opts{'s'}) {
     139        $dos = "OS:\t$dos";
     140        $ddir = "Name:\t$ddir";
     141        $dver = "Ver:\t$dver";
     142        $dfam = "Family:\t$dfam";
     143        $dtype = "Type:\t$dtype";
     144        $pbsuf = "Suffix:\t$pbsuf";
     145        $pbupd = "Update:\t$pbupd";
     146        $arch = "Arch:\t$arch";
     147        print "Project-Builder tuple:\n";
     148    }
     149    print join($sep,($dos, $ddir, $dver, $arch, $dtype, $dfam, $pbsuf, $pbupd))."\n";
    100150}
Note: See TracChangeset for help on using the changeset viewer.