summaryrefslogtreecommitdiff
path: root/scripts/perl.prov
diff options
context:
space:
mode:
authorjbj <devnull@localhost>2000-01-17 18:58:36 +0000
committerjbj <devnull@localhost>2000-01-17 18:58:36 +0000
commit9db5309a4568f08c1099de40e00a42b53cede293 (patch)
tree4e5afb788528e4451d979a9b79889b0b72f244a6 /scripts/perl.prov
parentc3a725717a2418b4b446440807764c217e7677fe (diff)
downloadrpm-9db5309a4568f08c1099de40e00a42b53cede293.tar.gz
rpm-9db5309a4568f08c1099de40e00a42b53cede293.tar.bz2
rpm-9db5309a4568f08c1099de40e00a42b53cede293.zip
updated perl scripts (Ken Estes).
CVS patchset: 3524 CVS date: 2000/01/17 18:58:36
Diffstat (limited to 'scripts/perl.prov')
-rwxr-xr-xscripts/perl.prov60
1 files changed, 52 insertions, 8 deletions
diff --git a/scripts/perl.prov b/scripts/perl.prov
index 6643f6a6e..c9723f8a4 100755
--- a/scripts/perl.prov
+++ b/scripts/perl.prov
@@ -1,15 +1,49 @@
#!/usr/bin/perl
-# a simple script to print the proper name for perl libraries.
+# RPM (and it's source code) is covered under two separate licenses.
-# I plan to rewrite this in C so that perl is not required by RPM at
-# build time.
+# The entire code base may be distributed under the terms of the GNU
+# General Public License (GPL), which appears immediately below.
+# Alternatively, all of the source code in the lib subdirectory of the
+# RPM source code distribution as well as any code derived from that
+# code may instead be distributed under the GNU Library General Public
+# License (LGPL), at the choice of the distributor. The complete text
+# of the LGPL appears at the bottom of this file.
-# by Ken Estes Mail.com kestes@staff.mail.com
+# This alternative is allowed to enable applications to be linked
+# against the RPM library (commonly called librpm) without forcing
+# such applications to be distributed under the GPL.
+
+# Any questions regarding the licensing of RPM should be addressed to
+# Erik Troan <ewt@redhat.com>.
+
+# a simple script to print the proper name for perl libraries.
+
+# To save development time I do not parse the perl grammmar but
+# instead just lex it looking for what I want. I take special care to
+# ignore comments and pod's.
# it would be much better if perl could tell us the proper name of a
# given script.
+# The filenames to scan are either passed on the command line or if
+# that is empty they are passed via stdin.
+
+# If there are lines in the file which match the pattern
+# (m/^\s*\$VERSION\s*=\s+/)
+# then these are taken to be the version numbers of the modules.
+# Special care is taken with a few known idioms for specifying version
+# numbers of files under rcs/cvs control.
+
+# If there are strings in the file which match the pattern
+# m/^\s*\$RPM_Provides\s*=\s*["'](.*)['"]/i
+# then these are treated as additional names which are provided by the
+# file and are printed as well.
+
+# I plan to rewrite this in C so that perl is not required by RPM at
+# build time.
+
+# by Ken Estes Mail.com kestes@staff.mail.com
if ("@ARGV") {
foreach (@ARGV) {
@@ -30,7 +64,12 @@ foreach $module (sort keys %require) {
if (length($require{$module}) == 0) {
print "perl($module)\n";
} else {
- print "perl($module)=$require{$module}\n";
+
+ # I am not using rpm3.0 so I do not want spaces arround my
+ # operators. Also I will need to change the processing of the
+ # $RPM_* vairable when I upgrade.
+
+ print "perl($module) = $require{$module}\n";
}
}
@@ -51,6 +90,11 @@ sub process_file {
while (<FILE>) {
# skip the documentation
+
+ # we should not need to have item in this if statement (it
+ # properly belongs in the over/back section) but people do not
+ # read the perldoc.
+
if ( (m/^=(head1|head2|pod|item)/) .. (m/^=(cut)/) ) {
next;
}
@@ -80,9 +124,9 @@ sub process_file {
# here are examples of VERSION lines from the perl distribution
- #FindBin.pm:$VERSION = $VERSION = sprintf("%d.%02d", q$Revision: 1.2 $ =~ /(\d+)\.(\d+)/);
- #ExtUtils/Install.pm:$VERSION = substr q$Revision: 1.2 $, 10;
- #CGI/Apache.pm:$VERSION = (qw$Revision: 1.2 $)[1];
+ #FindBin.pm:$VERSION = $VERSION = sprintf("%d.%02d", q$Revision: 1.3 $ =~ /(\d+)\.(\d+)/);
+ #ExtUtils/Install.pm:$VERSION = substr q$Revision: 1.3 $, 10;
+ #CGI/Apache.pm:$VERSION = (qw$Revision: 1.3 $)[1];
#DynaLoader.pm:$VERSION = $VERSION = "1.03"; # avoid typo warning
if (