_remove @files;
}
-# $args{
-# "sign"=>bool,
-# },
-sub _rpmbuild
+sub _prepdist
{
-my($class,%args)=@_;
+my($class,$name)=@_;
- my $name=$Options{"name"};
- _remove "nocheck",\1,
- _rpmeval("_tmppath" )."/$name-*-root",
- _rpmeval("_builddir")."/$name-*";
my($specsrc)=map((-e $_ ? $_ : "$name.spec.in"),"$name.spec.m4.in");
my $spec=_readfile $specsrc;
$spec=~s/\\\n/ /gs;
my $configure_args=($spec=~/^[%]configure\b[ \t]*(.*)$/m)[0];
$configure_args=~s/--disable-gtk-doc\b/--enable-gtk-doc/g; # optional; gtk-doc reqd for 'make dist'
$class->run(%Options,
- "ARGV"=>["--copy"],
+ "ARGV"=>[qw(--copy)],
"configure_args"=>[split /\s+/,$configure_args],
);
_remove "ChangeLog"; # force its rebuild by Makefile/rcs2log
_system "make dist $name.spec";
+}
+
+# $args{
+# "sign"=>bool,
+# },
+sub _rpmbuild
+{
+my($class,%args)=@_;
+
+ my $name=$Options{"name"};
+ _remove "nocheck",\1,
+ _rpmeval("_tmppath" )."/$name-*-root",
+ _rpmeval("_builddir")."/$name-*";
+ $class->_prepdist($name);
_copy "$name-*.tar.gz",_rpmeval("_sourcedir");
_system(join(" ","rpmbuild",
"-ba",
_system "make dist-tarZ" if $Options{"dist-tarZ"};
_move _rpmeval("_srcrpmdir")."/$name-*.src.rpm",".";
_move _rpmeval("_rpmdir")."/"._rpmeval("_target_cpu")."/$name-*."._rpmeval("_target_cpu").".rpm",".";
- _system "ls -l $name-*";
+ _system "ls -l $name-*";
+ exit 0; # should never return
+}
+
+# $args{
+# "sign"=>bool,
+# },
+sub _debbuild
+{
+my($class,%args)=@_;
+
+ my $name=$Options{"name"};
+ $class->_prepdist($name);
+ _system "tar xzf $name-*.tar.gz";
+ _remove "$name-*.tar.gz"; # permit "cd $name-*" below
+ _system(join(" ","cd $name-*;dpkg-buildpackage",
+ "-rfakeroot",
+ ($args{"sign"} ? () : ("-us","-uc")),
+ ));
+ _remove \1,"$name-*";
+ _system "ls -l ${name}_*";
exit 0; # should never return
}
./ABOUT-NLS
./<name>-[0-9]* ./<name>-devel-[0-9]*
./<name>.spec ./<name>.m4 ./<name>.spec.m4
+ ./debian/tmp ./debian/<name>
+ ./<name>_[0-9]*
./macros/macros.dep
./po/Makefile.in.in ./po/POTFILES* ./po/cat-id-tbl.c ./po/cat-id-tbl.tmp
./po/*.gmo ./po/*.mo ./po/stamp-cat-id ./po/<name>.pot ./po/ChangeLog
print _help() and confess if !GetOptions(
"rpm" ,sub { $class->_rpmbuild("sign"=>1); },
"rpmtest" ,sub { $class->_rpmbuild("sign"=>0); },
+ "deb" ,sub { $class->_debbuild("sign"=>1); },
+ "debtest" ,sub { $class->_debbuild("sign"=>0); },
"dist" ,\$Options{"ARGV_dist"},
"copy!" ,\$Options{"ARGV_copy"},
"fullclean",\$Options{"ARGV_fullclean"},