Changeset 1279 in ProjectBuilder


Ignore:
Timestamp:
Mar 25, 2011, 1:23:12 AM (13 years ago)
Author:
Bruno Cornec
Message:
  • Adds delivery of the public key to each repository ateach delivery
  • Fix debian repo build
  • Adds suport for .deb package signing
Location:
devel
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • devel/pb-modules/lib/ProjectBuilder/Base.pm

    r1212 r1279  
    131131Needs pb_log support, so pb_log_init should have benn called before.
    132132
    133 The first parameter is the shell command to call.
     133The first parameter is the shell command to call. this commend should NOT use redirections.
    134134The second parameter is the message to print on screen. If none is given, then the command is printed.
    135135The third parameter print the result of the command after correct execution if value is verbose. If value is noredir, it avoids redirecting outputs (e.g. for vi).
  • devel/pb/bin/pb

    r1278 r1279  
    14151415                next if ($tmp !~ /^SD BUILD.*:/);
    14161416                $tmp =~ s|.*../(.*)_(.*).sd.*|$1|;
    1417                 $made="$made $tmp"."_*.sd";
     1417                $made = "$made $tmp"."_*.sd";
    14181418            }
    14191419            close(LOG);
     
    16101610        chomp($src);
    16111611        close(KEEP);
    1612         $src="$src $ENV{'PBBUILDDIR'}/pbscript.$$";
     1612        $src = "$src $ENV{'PBBUILDDIR'}/pbscript.$$";
     1613    }
     1614    if (($cmt eq "Sources") || ($cmt eq "Packages")) {
     1615        my ($pbpackager) = pb_conf_get("pbpackager");
     1616        $ENV{'PBPACKAGER'} = $pbpackager->{$ENV{'PBPROJ'}};
     1617        pb_log(0,"Exporting public key for $ENV{'PBPACKAGER'}\n");
     1618        # Using pb_system is not working due to redirection below
     1619        system("gpg --export -a \'$ENV{'PBPACKAGER'}\' > $ENV{'PBDESTDIR'}/$ENV{'PBPROJ'}.pubkey");
     1620        chmod 0644,"$ENV{'PBDESTDIR'}/$ENV{'PBPROJ'}.pubkey";
     1621        $src = "$src $ENV{'PBDESTDIR'}/$ENV{'PBPROJ'}.pubkey";
    16131622    }
    16141623    # Remove potential leading spaces (cause problem with basename)
     
    18251834echo "Creating Release metadata ($pbos->{'arch'} aka $debarch)"
    18261835cat \$TMPD/Release > dists/$pbos->{'version'}/contrib/binary-$debarch/Release
    1827 echo "Architecture: $debarch >> dists/$pbos->{'version'}/contrib/binary-$debarch/Release
     1836echo "Architecture: $debarch" >> dists/$pbos->{'version'}/contrib/binary-$debarch/Release
    18281837echo "Creating Source metadata"
    18291838dpkg-scansources $pbos->{'version'} /dev/null | gzip -c9 > dists/$pbos->{'version'}/contrib/source/Sources.gz
     
    38063815$ENV{'PBPASSPATH'} = $passpath->{$ENV{'PBPROJ'}} if ((not defined $ENV{'PBPASSPATH'})&& (defined $passpath->{$ENV{'PBPROJ'}})) ;
    38073816
     3817# Remove extra spaces
     3818$made =~ s/\s+/ /g;
     3819$made =~ s/^\s//g;
     3820$made =~ s/\s$//g;
     3821
    38083822if ($pbos->{'type'} eq "rpm") {
    38093823    eval
     
    38253839
    38263840        pb_log(0,"Signing RPM packages...\n");
    3827         $made =~ s/ +/ /g;
    3828         $made =~ s/^ //g;
    3829         $made =~ s/ $//g;
    38303841        pb_log(2,"pb_sign_pkg: pkgs:".Dumper(split(/ /,$made))."\n");
    38313842        $sign->rpmssign(split(/ /,$made));
    38323843    }
    38333844} elsif ($pbos->{'type'} eq "deb") {
    3834     #pb_system("debsign $made","Signing DEB packages");
     3845    my $changes = "";
     3846    foreach my $c (split(/ /,$made)) {
     3847        $changes .= " $ENV{'PBBUILDDIR'}/$c" if ($c =~ /\.changes$/);
     3848    }
     3849    pb_system("debsign -m\'$ENV{'PBPACKAGER'}\' $changes","Signing DEB packages");
    38353850} else {
    38363851    pb_log(0,"I don't know yet how to sign packages for type $pbos->{'type'}.\nPlease give feedback to dev team\n");
     3852}
    38373853pb_log(2,"exiting pb_sign_pkg\n");
    38383854}
    3839 }
    38403855
    384138561;
Note: See TracChangeset for help on using the changeset viewer.