diff options
author | jbj <devnull@localhost> | 2000-01-17 18:58:36 +0000 |
---|---|---|
committer | jbj <devnull@localhost> | 2000-01-17 18:58:36 +0000 |
commit | 9db5309a4568f08c1099de40e00a42b53cede293 (patch) | |
tree | 4e5afb788528e4451d979a9b79889b0b72f244a6 /scripts/perl.prov | |
parent | c3a725717a2418b4b446440807764c217e7677fe (diff) | |
download | rpm-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-x | scripts/perl.prov | 60 |
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 ( |