Author: ranger
Date: Thu Feb 14 21:51:20 2008
New Revision: 1134
URL:
http://svn.finkproject.org/websvn/listing.php?sc=1&rev=1134&repname=user%3a+ranger
Log:
write out a packagelist suitable for buildfink
Modified:
trunk/experimental/scripts/tree-diff.pl
Modified: trunk/experimental/scripts/tree-diff.pl
URL:
http://svn.finkproject.org/websvn/diff.php?path=/trunk/experimental/scripts/tree-diff.pl&rev=1134&repname=user%3a+ranger
==============================================================================
--- trunk/experimental/scripts/tree-diff.pl (original)
+++ trunk/experimental/scripts/tree-diff.pl Thu Feb 14 21:51:20 2008
@@ -16,7 +16,8 @@
use vars qw(
$ID
- $OUTPUT
+ $PACKAGES_XML_OUTPUT
+ $PACKAGELIST_TXT_OUTPUT
$HANDLE
$PACKAGE_FILE
$TREE
@@ -32,9 +33,11 @@
($REVISION) = q$Revision$ =~ /(\d+)/;
+$ID = 1;
$HANDLE = IO::Handle->new();
-$OUTPUT = IO::Handle->new();
-$ID = 1;
+
+$PACKAGES_XML_OUTPUT = IO::Handle->new();
+$PACKAGELIST_TXT_OUTPUT = IO::Handle->new();
my $from = shift;
my $to = shift;
@@ -70,11 +73,14 @@
#print Dumper($ALL_FILES, $FROM_FILES, $TO_FILES);
+open ($PACKAGELIST_TXT_OUTPUT,
'>/Users/ranger/rcs/scripts/buildfink/packagelist.txt');
+
new_package_file();
for my $file (sort keys %$ALL_FILES) {
my @categories = qw(Packages);
my $sortkey = ucfirst(basename($file));
+ my $packagename = undef;
my $type = "";
if ($file =~ /\.info$/) {
@@ -96,15 +102,39 @@
$text .= "== File in Pango/Cairo ==\n<pre><nowiki>";
while (my $line = <$HANDLE>) {
$text .= $line;
- if ($file =~ /\.info$/ and $line =~
/^\s*maintainer\s*:\s*\'?\"?([^\<]+?)\'?\"?\s*</i) {
- if (defined $1 and $1 !~ /^\s*$/) {
- $maintainer = $1;
- if (exists
$MAINTAINERS->{lc($maintainer)}) {
- $maintainer =
$MAINTAINERS->{lc($maintainer)};
- } else {
- $MAINTAINERS->{lc($maintainer)}
= $maintainer;
+ if ($file =~ /\.info$/) {
+ if ($line =~
/^\s*maintainer\s*:\s*\'?\"?([^\<]+?)\'?\"?\s*</i) {
+ if (defined $1 and $1 !~ /^\s*$/) {
+ $maintainer = $1;
+ if (exists
$MAINTAINERS->{lc($maintainer)}) {
+ $maintainer =
$MAINTAINERS->{lc($maintainer)};
+ } else {
+
$MAINTAINERS->{lc($maintainer)} = $maintainer;
+ }
+ push(@categories, "Maintained
By $maintainer");
}
- push(@categories, "Maintained By
$maintainer");
+ }
+ if (not defined $packagename and $line =~
/^\s*package:\s*(\S+?)\s*$/i) {
+ $packagename = $1;
+ $packagename =~
s/\%type_pkg\[-altivec\]//;
+ $packagename =~
s/\%type_pkg\[-atlas\]/-atlas/;
+ $packagename =~
s/\%type_pkg\[bluefish\]/-gnome2/;
+ $packagename =~ s/\%type_pkg\[gecko\]//;
+ $packagename =~
s/\%type_pkg\[-gtk\]/-gtk/;
+ $packagename =~
s/\%type_pkg\[-gtk2\]/-gtk2/;
+ $packagename =~
s/\%type_pkg\[-gui\]/-gui/;
+ $packagename =~
s/\%type_pkg\[-mpi\]/-mpi/;
+ $packagename =~
s/\%type_pkg\[-noprint\]//;
+ $packagename =~ s/\%type_pkg\[-nox\]//;
+ $packagename =~
s/\%type_pkg\[perl\]/588/;
+ $packagename =~
s/\%type_pkg\[postgresql\]/82/;
+ $packagename =~
s/\%type_pkg\[python\]/25/;
+ $packagename =~
s/\%type_pkg\[ruby\]/18/;
+ $packagename =~ s/\%type_pkg\[ssl\]//;
+ $packagename =~
s/\%type_pkg\[-svg\]/-svg/;
+ $packagename =~
s/\%type_pkg\[uitype\]/-gtk/;
+ $packagename =~
s/\%type_pkg\[-x11\]/-x11/;
+ $packagename =~
s/\%type_pkg\[-xembed\]//;
}
}
}
@@ -118,14 +148,15 @@
} elsif (not exists $FROM_FILES->{$file}) {
print "> $file: exists in $to, but not in $from\n";
push(@categories, 'Added In Pangocairo', 'Modified Packages',
$type . ' Added In Pangocairo');
+ print $PACKAGELIST_TXT_OUTPUT $packagename, "\n" if (defined
$packagename);
} elsif ($FROM_FILES->{$file} ne $TO_FILES->{$file}) {
print "! $file: has changed\n";
if ($file =~ /\.info$/) {
my $diff = `diff -Nurd "$from/$file" "$to/$file"`;
$text .= "== Diff vs. HEAD
==\n<pre><nowiki>$diff</nowiki></pre>\n";
}
-
push(@categories, 'Updated In Pangocairo', 'Modified Packages',
$type . ' Updated In Pangocairo');
+ print $PACKAGELIST_TXT_OUTPUT $packagename, "\n" if (defined
$packagename);
} else {
print " $file\n";
push(@categories, 'Unchanged In Pangocairo', $type . '
Unchanged In Pangocairo');
@@ -149,7 +180,7 @@
my $timestamp = sprintf('%04d-%02d-%02dT%02d:%02d:%02dZ', $year, $mon,
$mday, $hour, $min, $sec);
$ID++;
- print $OUTPUT <<END;
+ print $PACKAGES_XML_OUTPUT <<END;
<page>
<title>$file</title>
<id>$ID</id>
@@ -167,8 +198,9 @@
}
-print $OUTPUT "</mediawiki>\n";
-close($OUTPUT);
+print $PACKAGES_XML_OUTPUT "</mediawiki>\n";
+close($PACKAGES_XML_OUTPUT);
+close($PACKAGELIST_TXT_OUTPUT);
sub clean_up_text {
my $text = shift;
@@ -181,11 +213,11 @@
}
sub new_package_file() {
- close ($OUTPUT);
+ close ($PACKAGES_XML_OUTPUT);
$PACKAGE_FILE="/Users/ranger/tmp/packages-$ID.xml";
- open ($OUTPUT, ">$PACKAGE_FILE");
- print $OUTPUT <<END;
+ open ($PACKAGES_XML_OUTPUT, ">$PACKAGE_FILE");
+ print $PACKAGES_XML_OUTPUT <<END;
<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.3/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.3/
http://www.mediawiki.org/xml/export-0.3.xsd" version="0.3" xml:lang="en">
<siteinfo>
<sitename>PangoCairo</sitename>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Fink-commits mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.cvs