[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pdf-devel] Re: srcinfo-extractor.pl
From: |
gerel |
Subject: |
[pdf-devel] Re: srcinfo-extractor.pl |
Date: |
Thu, 27 Nov 2008 08:05:25 -0800 (PST) |
> Date: Thu, 27 Nov 2008 10:32:47 +0100 (CET)
> From: "Jose E. Marchesi" <address@hidden>
>
> > > but in the output I am only getting the contents of the MANIFEST.wiki
> > > file in the TOPDIR.
> > >
> >
> > Yes, that's right, it's because you are running it from the TOPDIR when
> > the
> > intended idea is to run it from the "prmgt/" dir.
>
> Would be good to be able to use it from any directory. You can use the
> configure script to provide you the top_srcdir directory and fill it in a
> srcinfo-extractor.pl.in and generate srcinfo-extractor.pl
>
> Look at prmgt/get-test-data.sh.in for an example.
>
Well, I did some more changes and the script is 1 line now. :-)
The only minor issue is that the generated script by configure doesn't have
execution permission so you have to call it like
"perl prmgt/srcinfo-extractor.pl". Can we tell configure to chmod +x a file ?
Here is the patch:
##
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: address@hidden
# target_branch: file:///home/gerel/PROJECTS/libgnupdf/trunk/
# testament_sha1: 4a9c3ba91cfdf47c36ae49acdafbf446a8850c6a
# timestamp: 2008-11-27 12:53:04 -0300
# base_revision_id: address@hidden
#
# Begin patch
=== modified file 'ChangeLog'
--- ChangeLog 2008-11-25 23:22:00 +0000
+++ ChangeLog 2008-11-27 15:52:50 +0000
@@ -1,3 +1,7 @@
+2008-11-27 Gerardo E. Gidoni <address@hidden>
+
+ * prmgt/srcinfo-extractor.pl.in: originally srcinfo-extractor.pl.
+
2008-11-25 Gerardo E. Gidoni <address@hidden>
* torture/unit/base/types/pdf-i64-add.c: added 'long long'
=== modified file 'configure.ac'
--- configure.ac 2008-11-25 21:52:52 +0000
+++ configure.ac 2008-11-27 15:52:50 +0000
@@ -274,7 +274,7 @@
AC_SUBST(GNUPDF_VERSION)
dnl Generate output files
-AC_OUTPUT(Makefile lib/Makefile src/Makefile torture/Makefile
torture/unit/Makefile doc/Makefile utils/Makefile prmgt/Makefile
prmgt/apic2wiki prmgt/testlog2wiki prmgt/docfuncs prmgt/tsdfuncs
src/extract-public-hdr build-aux/Makefile prmgt/get-test-data.sh)
+AC_OUTPUT(Makefile lib/Makefile src/Makefile torture/Makefile
torture/unit/Makefile doc/Makefile utils/Makefile prmgt/Makefile
prmgt/apic2wiki prmgt/testlog2wiki prmgt/docfuncs prmgt/tsdfuncs
src/extract-public-hdr build-aux/Makefile prmgt/get-test-data.sh
prmgt/srcinfo-extractor.pl)
dnl Report configuration results
=== renamed file 'prmgt/srcinfo-extractor.pl' =>
'prmgt/srcinfo-extractor.pl.in' (properties changed: +x to -x)
--- prmgt/srcinfo-extractor.pl 2008-07-07 23:14:33 +0000
+++ prmgt/srcinfo-extractor.pl.in 2008-11-27 15:52:50 +0000
@@ -1,4 +1,5 @@
#!/usr/bin/env perl
+# @configure_input@
# Copyright (C) 2008 Free Software Foundation, Inc.
@@ -17,48 +18,29 @@
use warnings;
use strict;
+use File::Find;
##
-# This script traverses every directory in the root and looks for a
+# This script traverses every directory from topdir and looks for a
# "MANIFEST.wiki" file, from which the directory information is then extracted.
###
-my $TOPDIR="..";
-my $DOCFILE = "MANIFEST.wiki";
+my $TOPDIR="@abs_top_builddir@";
+my $DOCREGEX = 'MANIFEST\.wiki$';
sub print_docfile
{
my $str = shift;
open (FILE, $str);
print <FILE>;
- print "\n"; # in case it's not at end of FILE.
+ print "\n"; # in case it's missing in FILE.
close(FILE);
}
-
-
##
# MAIN PROGRAM
###
-my @dirs;
-
-opendir (DIR, $TOPDIR) or die "Couldn't open $TOPDIR\n";
address@hidden = grep { !m/^\./ && -d "$TOPDIR/$_" } readdir(DIR);
-closedir(DIR);
-
-# push these by hand
-push (@dirs, ""); # for TOPDIR
-push (@dirs, "src/base");
-push (@dirs, "src/object");
-push (@dirs, "src/document");
-push (@dirs, "src/page");
-
-foreach my $dir (sort(@dirs)){
- my $file = $TOPDIR . '/' . $dir . '/' . $DOCFILE;
- if (-e $file and -r $file){
- print_docfile ($file);
- }
-}
+find (sub {print_docfile($_) if -r and m/$DOCREGEX/ }, $TOPDIR);
0;
# Begin bundle
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
###
cheers
-gerel