Changeset 916 in ProjectBuilder for devel


Ignore:
Timestamp:
Nov 29, 2009, 3:12:56 AM (14 years ago)
Author:
Bruno Cornec
Message:
  • Improves Debian support by a/ allowing PBDESC to be used in control file with space prepended. b/ prepend 0 to non digit versions such as devel. c/ creating debian pbfilter files for PBDEBSTD and PBDEBCOMP macros used in control.
  • Uses pbtag for ebuild and pkg packages
  • Improves pb Solaris pkgs
  • Improves pb Debian pkgs (only some warnings remaining for lintian)
  • Adds a PBSUMMARY macro and use it. Now also generated for newproj.
Location:
devel/pb
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • devel/pb/bin/pb

    r914 r916  
    10111011                    # Now move it where pb expects it
    10121012                    pb_mkdir_p("$ENV{'PBBUILDDIR'}/portage/pb/sys-apps/$pbpkg");
    1013                     move("$tmpd/$pbpkg-$pbver.ebuild","$ENV{'PBBUILDDIR'}/portage/pb/sys-apps/$pbpkg");
     1013                    move("$tmpd/$pbpkg-$pbver.ebuild","$ENV{'PBBUILDDIR'}/portage/pb/sys-apps/$pbpkg/$pbpkg-$pbver-$pbtag.ebuild");
    10141014                }
    10151015            }
    10161016
    1017             $made="$made portage/pb/sys-apps/$pbpkg/$pbpkg-$pbver.ebuild";
     1017            $made="$made portage/pb/sys-apps/$pbpkg/$pbpkg-$pbver-$pbtag.ebuild";
    10181018        } elsif ($dtype eq "tgz") {
    10191019            # Slackware family
     
    10321032        } elsif ($dtype eq "pkg") {
    10331033            # Solaris
    1034             $made="$made $pbpkg-$pbver.pkg.gz";
     1034            $made="$made $pbpkg-$pbver-$pbtag.pkg.gz";
    10351035            my $pkgdestdir="$ENV{'PBBUILDDIR'}/install";
    10361036
     
    10621062                copy("pbconf/$ddir-$dver-$arch/pkginfo", $pkgdestdir);
    10631063                pb_system("cd $pkgdestdir/delivery ; pkgmk -o -f ../prototype -r $pkgdestdir/delivery -d $ENV{'PBBUILDDIR'}/$dtype","Packaging $pbpkg","verbose");
    1064                 pb_system("cd $ENV{'PBBUILDDIR'}/$dtype ;  echo \"\" | pkgtrans -o -n -s $ENV{'PBBUILDDIR'}/$dtype $ENV{'PBBUILDDIR'}/$pbpkg-$pbver.pkg all","Transforming $pbpkg","verbose");
    1065                 pb_system("cd $ENV{'PBBUILDDIR'} ;  gzip -9f $pbpkg-$pbver.pkg","Compressing $pbpkg-$pbver.pkg","verbose");
     1064                pb_system("cd $ENV{'PBBUILDDIR'}/$dtype ;  echo \"\" | pkgtrans -o -n -s $ENV{'PBBUILDDIR'}/$dtype $ENV{'PBBUILDDIR'}/$pbpkg-$pbver-$pbtag.pkg all","Transforming $pbpkg","verbose");
     1065                pb_system("cd $ENV{'PBBUILDDIR'} ;  gzip -9f $pbpkg-$pbver-$pbtag.pkg","Compressing $pbpkg-$pbver-$pbtag.pkg","verbose");
    10661066            } else {
    10671067                pb_log(0,"No pbconf/$ddir-$dver-$arch/pbbuild file found for $pbpkg-$pbver in \n");
  • devel/pb/lib/ProjectBuilder/Changelog.pm

    r642 r916  
    4848Function that generates the changelog used in build files, or for announcements (web, mailing-list, ...)
    4949
    50 It takes up to 9 parameters:
    51 The first parameter is the type of the distribution.
    52 The second parameter is the package name generated.
    53 The third parameter is the version of the package.
    54 The fourth parameter is the tag of the package.
    55 The fifth parameter is the suffix of the package.
    56 The sixth parameter is now unused.
    57 The seventh parameter is the file descriptor on which to write the changelog content.
    58 The eighth parameter is a flag in the configuration file indicating whether we want changelog expansion or not.
    59 The nineth parameter is the potential changelog file pbcl.
     50It takes 3 parameters:
     51The first parameter is the %pb hash containing packge info
     52The second parameter is the file descriptor on which to write the changelog content.
     53The third parameter is a flag in the configuration file indicating whether we want changelog expansion or not.
    6054
    6155=cut
     
    119113    if ($dtype eq "deb") {
    120114        if ($pbver !~ /^[0-9]/) {
    121             # dpkg-deb doesn't accept non digit versions. Prepending date
    122             my $ldate = strftime("%Y%m%d", @date);
    123             $pbver =~ s/^/$ldate/;
    124         }
    125         print $OUTPUT "$pbrealpkg ($pbver) unstable; urgency=low\n";
    126         print $OUTPUT "\n";
     115            # dpkg-deb doesn't accept non digit versions.
     116            # Prepending 0 in order to make updates easy hopefully
     117            $pbver =~ s/^/0/;
     118        }
     119        print $OUTPUT "$pbrealpkg ($pbver-$pbtag) unstable; urgency=low\n";
     120        print $OUTPUT "  * Updated to $pbver\n";
    127121        print $OUTPUT " -- $pbpackager->{$ENV{'PBPROJ'}}  $n2date\n\n\n";
    128122        }
     
    154148    chomp($date);
    155149    $date =~ s/\(([0-9-]+)\)/$1/;
    156     #pb_log(2,"**$date**\n";
     150    pb_log(3,"**Date:$date**\n");
    157151    $ndate = UnixDate($date,"%a", "%b", "%d", "%Y");
    158152    $n2date = UnixDate($date,"%a, %d %b %Y %H:%M:%S %z");
    159     #pb_log(2,"**$ndate**\n";
     153    pb_log(3,"**nDate:$ndate**\n");
     154
     155    pb_log(3,"**Ver:$ver**\n");
     156    if ($ver !~ /-/) {
     157        if ($first eq 1) {
     158            $ver2 = "$ver-$pbtag";
     159            $first = 0;
     160        } else {
     161            $ver2 = "$ver-1";
     162        }
     163    } else {
     164        $ver2 = $ver;
     165    }
     166    pb_log(3,"**Ver2:$ver2**\n");
    160167
    161168    if (($dtype eq "rpm") || ($dtype eq "fc")) {
    162         if ($ver !~ /-/) {
    163             if ($first eq 1) {
    164                 $ver2 = "$ver-$pbtag";
    165                 $first=0;
    166             } else {
    167                 $ver2 = "$ver-1";
    168             }
    169         } else {
    170             $ver2 = "$ver";
    171         }
    172169        print $OUTPUT "* $ndate $pbpackager->{$ENV{'PBPROJ'}} $ver2\n";
    173170        print $OUTPUT "- Updated to $ver\n";
    174171        }
    175172    if ($dtype eq "deb") {
    176         if ($ver !~ /^[0-9]/) {
    177             # dpkg-deb doesn't accept non digit versions. Prepending date
    178             my $ldate = strftime("%Y%m%d", @date);
    179             $ver =~ s/^/$ldate/;
    180         }
    181         print $OUTPUT "$pbrealpkg ($ver) unstable; urgency=low\n";
     173        if ($ver2 !~ /^[0-9]/) {
     174            # dpkg-deb doesn't accept non digit versions.
     175            # Prepending 0 in order to make updates easy hopefully
     176            $ver2 =~ s/^/0/;
     177        }
     178        print $OUTPUT "$pbrealpkg ($ver2) unstable; urgency=low\n";
    182179        print $OUTPUT "\n";
    183180        }
  • devel/pb/lib/ProjectBuilder/Env.pm

    r904 r916  
    533533filter PBDATE = \$pb->{'date'}
    534534
    535 # PBLOG is replaced by the changelog if value is yes
    536 #filter PBLOG = yes
    537 
    538535# PBPATCHSRC is replaced by the patches names if value is yes
    539536#filter PBPATCHSRC = yes
     
    563560#filter PBDESC = "Bla-Bla"
    564561
     562# PBSUMMARY contains a short single line description of the package
     563#filter PBSUMMARY = "Bla"
     564
    565565# PBURL contains the URL of the Web site of the project
    566566#filter PBURL = http://www.$ENV{'PBPROJ'}.org
     567
     568# PBLOG is replaced by the changelog if value is yes
     569# and should be last as when used we need the %pb hash filled
     570#filter PBLOG = yes
     571
    567572EOF
    568573            close(CONF);
     
    656661# PBREC is replaced by the list of recommandations
    657662#filter PBREC =
     663
     664EOF
     665            close(CONF);
     666            open(CONF,"> $ENV{'PBROOTDIR'}/pbfilter/debian-4.0.pbf") || die "Unable to create $ENV{'PBROOTDIR'}/pbfilter/debian-4.0.pbf";
     667            print CONF << "EOF";
     668#
     669# \$Id\$
     670#
     671# Filter for debian build
     672#
     673# PBDEBSTD is replaced by the Debian standard version
     674filter PBDEBSTD = 3.6.1
     675
     676# PBDEBCOMP is replaced by the Debian Compatibility value
     677filter PBDEBCOMP = 5
     678
     679EOF
     680            close(CONF);
     681            open(CONF,"> $ENV{'PBROOTDIR'}/pbfilter/debian-5.0.pbf") || die "Unable to create $ENV{'PBROOTDIR'}/pbfilter/debian-5.0.pbf";
     682            print CONF << "EOF";
     683#
     684# \$Id\$
     685#
     686# Filter for debian build
     687#
     688# PBDEBSTD is replaced by the Debian standard version
     689filter PBDEBSTD = 3.8.0
     690
     691# PBDEBCOMP is replaced by the Debian Compatibility value
     692filter PBDEBCOMP = 7
    658693
    659694EOF
     
    688723                print CONF << "EOF";
    689724Source: PBPKG
     725# http://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
    690726Section: PBGRP
    691727Priority: optional
    692728Maintainer: PBPACKAGER
    693729Build-Depends: debhelper (>= 4.2.20), PBDEP
    694 Standards-Version: 3.6.1
     730Standards-Version: PBDEBSTD
     731Vcs-Svn: svn://svn.PBPROJ.org/svn/PBVER/PBPKG
     732Vcs-Browser: http://trac.PBPROJ.org/browser/PBVER/PBPKG
     733Homepage: PBURL
    695734
    696735Package: PBPKG
    697736Architecture: amd64 i386 ia64
     737# http://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
    698738Section: PBGRP
    699739Priority: optional
     
    701741Recommends: PBREC
    702742Suggests: PBSUG
    703 Description:
     743Description: PBSUMMARY
    704744 PBDESC
    705745 .
    706  Homepage: PBURL
    707746
    708747EOF
     
    746785                open(CONF,"> $ENV{'PBROOTDIR'}/$pp/deb/compat") || die "Unable to create $ENV{'PBROOTDIR'}/$pp/deb/compat";
    747786                print CONF << "EOF";
    748 4
     787DBDEBCOMP
    749788EOF
    750789                close(CONF);
     
    908947#%define srcname    PBPKG
    909948
    910 Summary:        bla-bla
     949Summary:        PBSUMMARY
    911950Summary(fr):    french bla-bla
    912951
  • devel/pb/lib/ProjectBuilder/Filter.pm

    r585 r916  
    156156            eval { $tmp =~ s/(\$\w+-\>\{\'\w+\'\})/$1/eeg };
    157157            eval { $tmp =~ s/(\$\w+)/$1/eeg };
     158            if (($s =~ /^PBDESC$/) && ($line =~ /^ PBDESC/)) {
     159                # if on debian, we need to preserve the space before each desc line
     160                pb_log(3,"*** DEBIAN CASE ADDING SPACE ***\n");
     161                $tmp =~ s/\$\//\$\/ /g;
     162                pb_log(3,"*** tmp:$tmp ***\n");
     163            }
    158164            eval { $tmp =~ s/(\$\/)/$1/eeg };
    159         # special case for ChangeLog only for pb
    160165        } elsif (($s =~ /^PBLOG$/) && ($line =~ /^PBLOG$/)) {
     166            # special case for ChangeLog only for pb
    161167            pb_log(3,"DEBUG filtering PBLOG\n");
    162168            pb_changelog($pb, \*DEST, $tmp);
Note: See TracChangeset for help on using the changeset viewer.