From 83f853b5069bf9abe30cbbfa23e39c267f2ec57e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 20 Mar 2011 18:33:50 +0000 Subject: biber darwin/cygwin updates git-svn-id: svn://tug.org/texlive/trunk@21769 c570f23f-e606-0410-a88d-b1316a301751 --- Master/bin/i386-cygwin/biber | Bin 12461935 -> 0 bytes Master/bin/i386-cygwin/biber.exe | Bin 0 -> 12461938 bytes Master/bin/universal-darwin/biber | Bin 11009046 -> 11009034 bytes .../bibtex/biber/biblatex-biber-v0.8.3.tar.gz | Bin 1607454 -> 0 bytes .../source/bibtex/biber/biblatex-biber.tar.gz | Bin 0 -> 1612870 bytes Master/tlpkg/libexec/ctan2tds | 16 +++--- Master/tlpkg/libexec/place | 63 ++++++++++++++------- 7 files changed, 51 insertions(+), 28 deletions(-) delete mode 100755 Master/bin/i386-cygwin/biber create mode 100755 Master/bin/i386-cygwin/biber.exe delete mode 100644 Master/texmf-dist/source/bibtex/biber/biblatex-biber-v0.8.3.tar.gz create mode 100644 Master/texmf-dist/source/bibtex/biber/biblatex-biber.tar.gz (limited to 'Master') diff --git a/Master/bin/i386-cygwin/biber b/Master/bin/i386-cygwin/biber deleted file mode 100755 index e2ba13b631a..00000000000 Binary files a/Master/bin/i386-cygwin/biber and /dev/null differ diff --git a/Master/bin/i386-cygwin/biber.exe b/Master/bin/i386-cygwin/biber.exe new file mode 100755 index 00000000000..e4822fa35fd Binary files /dev/null and b/Master/bin/i386-cygwin/biber.exe differ diff --git a/Master/bin/universal-darwin/biber b/Master/bin/universal-darwin/biber index a3da74900d8..5a27e8b5fb6 100755 Binary files a/Master/bin/universal-darwin/biber and b/Master/bin/universal-darwin/biber differ diff --git a/Master/texmf-dist/source/bibtex/biber/biblatex-biber-v0.8.3.tar.gz b/Master/texmf-dist/source/bibtex/biber/biblatex-biber-v0.8.3.tar.gz deleted file mode 100644 index a802ddee385..00000000000 Binary files a/Master/texmf-dist/source/bibtex/biber/biblatex-biber-v0.8.3.tar.gz and /dev/null differ diff --git a/Master/texmf-dist/source/bibtex/biber/biblatex-biber.tar.gz b/Master/texmf-dist/source/bibtex/biber/biblatex-biber.tar.gz new file mode 100644 index 00000000000..0004d8f6f9c Binary files /dev/null and b/Master/texmf-dist/source/bibtex/biber/biblatex-biber.tar.gz differ diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 0231167f90e..81ccef25ddd 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -4099,16 +4099,13 @@ sub POSTbabelbib { } sub POSTbiber { - print "POST$package - move doc, unpack and install binaries\n"; + print "POST$package - unpack and install binaries\n"; # we've started with everything under source/. &xchdir ("$DEST/source/bibtex/biber"); - my $biber_tar = glob ("biblatex-biber-*.tar.gz"); - (my $biber_rel = $biber_tar) =~ s/.tar.gz$//; - &SYSTEM ("tar xf $biber_tar --strip-components=2 $biber_rel/doc/biber.pdf"); # move doc pdf. &SYSTEM ("$MV biber.pdf $DOCDIR/"); - + # biber uses different platform names. my %tl_platform = ( "MSWIN" => "win32", @@ -4135,7 +4132,7 @@ sub POSTbiber { # each .tar.gz unpacks into a single file named biber, # .zip unpacks into biber.exe. my $biber_binary = "biber"; - $biber_binary .= ".exe" if $archive =~ /MSWIN/i; + $biber_binary .= ".exe" if $archive =~ /MSWIN|cygwin/i; # Put the executable in both the # (a) Master bin directory and @@ -4147,11 +4144,12 @@ sub POSTbiber { my $builddir = "$BUILDDEST/utils/biber/bin/$tl_platform"; &SYSTEM ("mkdir -p $builddir/"); - &SYSTEM ("$MV $biber_binary $builddir/$biber_binary"); + &SYSTEM ("$CP $biber_binary $builddir/$biber_binary"); # - # really need to do svn cp here. + # really need to do svn cp for this (in place, can't do it here). my $bindir = "$TOPDEST/bin/$tl_platform"; - &SYSTEM ("$CP $biber_binary $bindir/"); # bindir should already exist + &SYSTEM ("mkdir -p $bindir/"); + &SYSTEM ("$MV $biber_binary $bindir/"); # bindir should already exist } # don't keep binary archive around in Master tree. diff --git a/Master/tlpkg/libexec/place b/Master/tlpkg/libexec/place index 6da0194d942..8c932529a9e 100755 --- a/Master/tlpkg/libexec/place +++ b/Master/tlpkg/libexec/place @@ -33,7 +33,8 @@ print "place: chicken mode = $chicken\n"; die "usage: $0 PKGNAME\n" unless @ARGV == 1; $package = $ARGV[0]; -my $is_new_package = 0; +# $::opt_verbosity = 3; # debug tlpdb reading + %dirs = (); # dirs we make changes in $TMP = $ENV{"TMPDIR"} || "/tmp"; $tmpfile = "$TMP/$>.tlplace"; # use effective uid in temp file names @@ -65,22 +66,10 @@ else { die "$cooked_master: no top level texmf or texmf-dist"; } die "top-level README in $Root, that can't be right" if <*/README>; -# initialize TLPDB. -my $tlpdb = new TeXLive::TLPDB ("root" => $M); -# create TLTREE from stuff in cooked -my $tltree = TeXLive::TLTREE->new ("svnroot" => $cooked_master); -$tltree->init_from_files; - -# get existing package from TLPDB. -my %Old; -my $tlpold = $tlpdb->get_package ($package); -if (defined($tlpold)) { - foreach ($tlpold->all_files) { - $Old{$_} = 1; - } -} else { - $is_new_package = 1; -} +# get all files in the existing package, if there is one. +# In the unusual case when we have both Master and Build, we'll assume +# we also want all the platform-specific files under bin/; else not. +our %Old = &find_old_files ($package, $DEST eq $TOP ? "with-arch" : ""); # create new tlpsrc. my $tlpsrc = TeXLive::TLPSRC; @@ -103,6 +92,9 @@ if (! -r $tlpsrcfile) { } # make the new tlpobj. +# create TLTREE from stuff in cooked. +my $tltree = TeXLive::TLTREE->new ("svnroot" => $cooked_master); +$tltree->init_from_files; my $tlpnew = $tlpsrc->make_tlpobj($tltree, $M); @@ -158,7 +150,7 @@ for my $file (sort keys %New) { &add_file ("$M/$file") if ! $Old{$file}; } -if ($is_new_package) { +if (keys %Old == 0) { # new package &add_file ("$M/tlpkg/tlpsrc/$package.tlpsrc"); } @@ -193,6 +185,39 @@ system ("svn update `cat $dirlist_file`"); exit (0); + +# return hash whose keys are all the files in PACKAGE from the main +# tlpdb. If second arg is "with-arch", include platform-specific +# files. If PACKAGE is not defined, return undef or the empty list. +# +sub find_old_files { + my ($package,$control) = @_; + my %ret; + + # initialize TLPDB. + my $tlpdb = new TeXLive::TLPDB ("root" => $M); + + my $tlpold = $tlpdb->get_package ($package); + if (defined($tlpold)) { + my @oldpkgs; + if ($control eq "with-arch") { + # also retrieve the platform-specific files, which are dependencies. + @oldpkgs = $tlpdb->expand_dependencies ("-only-arch", $tlpdb,($package)); + } else { + @oldpkgs = ($package); + } + for my $oldpkgname (@oldpkgs) { + my $oldp = $tlpdb->get_package ($oldpkgname); + for my $f ($oldp->all_files) { + $ret{$f} = 1; + } + } + } + + return %ret; +} + + # add a file to the repository. for svn, we also have to add the # containing dir, and the parent of that dir, if they are new. @@ -259,7 +284,7 @@ sub compare_disk_vs_tlpobj { # sub show_tlp_diffs { my ($tlpnew, %Old) = @_; - if (!defined ($tlpold)) { + if (keys %Old == 0) { print "place: $package not present in $M/$InfraLocation/$DatabaseName\n\n"; } else { print "new vs. present $package (present is indented)\n"; -- cgit v1.2.3