Update of /cvsroot/fink/fink/perlmod/Fink
In directory usw-pr-cvs1:/tmp/cvs-serv5657/perlmod/Fink
Modified Files:
Bootstrap.pm ChangeLog PkgVersion.pm
Log Message:
Incorporated patch #577882 by Sylvain Cuaz which cleans the environment before
building packages.
Index: Bootstrap.pm
===================================================================
RCS file: /cvsroot/fink/fink/perlmod/Fink/Bootstrap.pm,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- Bootstrap.pm 7 Jun 2002 22:27:27 -0000 1.14
+++ Bootstrap.pm 24 Jul 2002 21:59:35 -0000 1.15
@@ -37,7 +37,7 @@
$VERSION = 1.00;
@ISA = qw(Exporter);
@EXPORT = qw();
- @EXPORT_OK = qw(&bootstrap);
+ @EXPORT_OK = qw(&bootstrap &get_bsbase);
%EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ],
}
our @EXPORT_OK;
@@ -53,7 +53,7 @@
my @plist = ("gettext", "tar", "dpkg-bootstrap");
my @addlist = ("apt", "apt-shlibs", "storable-pm");
- $bsbase = "$basepath/bootstrap";
+ $bsbase = &get_bsbase();
&print_breaking("Bootstrapping a base system via $bsbase.");
# create directories
@@ -130,6 +130,9 @@
$ENV{PATH} = $save_path;
}
+sub get_bsbase {
+ return "$basepath/bootstrap";
+}
### EOF
1;
Index: ChangeLog
===================================================================
RCS file: /cvsroot/fink/fink/perlmod/Fink/ChangeLog,v
retrieving revision 1.172
retrieving revision 1.173
diff -u -r1.172 -r1.173
--- ChangeLog 22 Jul 2002 11:45:36 -0000 1.172
+++ ChangeLog 24 Jul 2002 21:59:35 -0000 1.173
@@ -1,3 +1,8 @@
+2002-07-24 Max Horn <[EMAIL PROTECTED]>
+
+ * Incorporated patch #577882 by Sylvain Cuaz which cleans the environment
+ before building packages.
+
2002-07-22 Max Horn <[EMAIL PROTECTED]>
* Various files: Applied Justin's multi-level verbosity patch.
Index: PkgVersion.pm
===================================================================
RCS file: /cvsroot/fink/fink/perlmod/Fink/PkgVersion.pm,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -r1.69 -r1.70
--- PkgVersion.pm 22 Jul 2002 11:45:36 -0000 1.69
+++ PkgVersion.pm 24 Jul 2002 21:59:35 -0000 1.70
@@ -33,6 +33,7 @@
use Fink::Mirror;
use Fink::Package;
use Fink::Status;
+use Fink::Bootstrap qw(&get_bsbase);
use File::Basename qw(&dirname);
@@ -905,6 +906,8 @@
my $self = shift;
my ($archive, $found_archive, $bdir, $destdir, $unpack_cmd);
my ($i, $verbosity, $answer, $tries, $checksum);
+ my ($renamefield, @renamefiles, $renamefile, $renamelist, $expand);
+ my ($tar, $bzip2, $unzip);
if ($self->{_type} eq "bundle") {
return;
@@ -985,16 +988,43 @@
}
}
- # determine unpacking command
+ # Determine the name of the TarFilesRename in the case of multi tarball packages
+ if ($i < 2) {
+ $renamefield = "TarFilesRename";
+ } else {
+ $renamefield = "Tar".$i."FilesRename";
+ }
+
+ $renamelist = "";
+
+ # Determine the rename list (if any)
+ if ($self->has_param($renamefield)) {
+ @renamefiles = split(/\s+/, $self->param($renamefield));
+ foreach $renamefile (@renamefiles) {
+ $renamefile = &expand_percent($renamefile, $expand);
+ if ($renamefile =~ /^(.+)\:(.+)$/) {
+ $renamelist .= " -s ,$1,$2,";
+ } else {
+ $renamelist .= " -s ,${renamefile},${renamefile}_tmp,";
+ }
+ }
+ $tar = "/usr/bin/tar"; # Use BSD Tar not GNU Tar (only BSD Tar has the rename
+feature)
+ } else {
+ $tar = "$basepath/bin/tar"; # Default is GNU Tar
+ }
+ $bzip2 = "bzip2";
+ $unzip = "unzip";
+
+ # Determine unpack command
$unpack_cmd = "cp $found_archive .";
if ($archive =~ /[\.\-]tar\.(gz|z|Z)$/ or $archive =~ /\.tgz$/) {
- $unpack_cmd = "tar -x${verbosity}zf $found_archive";
+ $unpack_cmd = "$tar -x${verbosity}zf $found_archive $renamelist";
} elsif ($archive =~ /[\.\-]tar\.bz2$/) {
- $unpack_cmd = "bzip2 -dc $found_archive | tar -x${verbosity}f -";
+ $unpack_cmd = "$bzip2 -dc $found_archive | $tar -x${verbosity}f $renamelist -";
} elsif ($archive =~ /[\.\-]tar$/) {
- $unpack_cmd = "tar -x${verbosity}f $found_archive";
+ $unpack_cmd = "$tar -x${verbosity}f $found_archive $renamelist";
} elsif ($archive =~ /\.zip$/) {
- $unpack_cmd = "unzip -o $found_archive";
+ $unpack_cmd = "$unzip -o $found_archive";
}
# calculate destination directory
@@ -1549,7 +1579,27 @@
my ($varname, $s, $expand);
my %defaults = ( "CPPFLAGS" => "-I\%p/include",
"LDFLAGS" => "-L\%p/lib" );
+ my $bsbase = get_bsbase();
+
+ # clean the environment
+ %ENV = ();
+
+ # add system path
+ $ENV{"PATH"} = "/bin:/usr/bin";
+
+ # add bootstrap path if necessary
+ if (-d $bsbase) {
+ $ENV{"PATH"} = "$bsbase/bin:$bsbase/sbin:" . $ENV{"PATH"};
+ }
+
+ # set additional variables if possible
+ if (-r $basepath . '/bin/init.sh') {
+ my @vars = `sh -c ". $basepath/bin/init.sh ; /usr/bin/env"`;
+ chomp @vars;
+ %ENV = map { split /=/ } @vars;
+ }
+ # set variables according to the info file
$expand = $self->{_expand};
foreach $varname ("CC", "CFLAGS",
"CPP", "CPPFLAGS",
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Fink-commits mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-commits