head	1.2;
access;
symbols
	RPM_4_2_1:1.1.1.1
	RPM_4_2:1.1.1.1
	RPM_4_1_1:1.1.1.1
	RPM_4_1:1.1.1.1
	RPM_4_0_5:1.1.1.1
	RPM_4_0_4:1.1.1.1
	RPM_4_0_3:1.1.1.1
	RPM:1.1.1;
locks; strict;
comment	@# @;


1.2
date	2008.01.02.10.04.12;	author rse;	state dead;
branches;
next	1.1;
commitid	z4cpSiAhOCXk5PLs;

1.1
date	2001.03.15.18.00.41;	author rse;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2001.03.15.18.00.41;	author rse;	state Exp;
branches;
next	;


desc
@@


1.2
log
@remove the ancient RPM 4.2.1 source tree copy
@
text
@#!/usr/bin/perl

# tcl.req - a simple makedepends like script for tcl.

# 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

use File::Basename;

if ("@@ARGV") {
  foreach (@@ARGV) {
    process_file($_);
  }
} else {
  
  # notice we are passed a list of filenames NOT as common in unix the
  # contents of the file.
  
  foreach (<>) {
    process_file($_);
  }
}


foreach $module (sort keys %require) {
    print "tcl($module)\n";
}

exit 0;



sub process_file {
  
  my ($file) = @@_;
  chomp $file;
  
  open(FILE, "<$file")||
    die("$0: Could not open file: '$file' : $!\n");
  
  while (<FILE>) {

    # Each keyword can appear multiple times.  Don't
    #  bother with datastructures to store these strings,
    #  if we need to print it print it now.
    
    if ( m/^\s*\$RPM_Requires\s*=\s*["'](.*)['"]/i) {
      foreach $_ (spit(/\s+/, $1)) {
	print "$_\n";
      }
    }

    s/\#.*//;
    
    # Each keyword can appear multiple times.  Don't
    #  bother with datastructures to store these strings,
    #  if we need to print it print it now.
    
    if ( m/^\s*\$RPM_Requires\s*=\s*["'](.*)['"]/i) {
      foreach $_ (spit(/\s+/, $1))
	print "$_\n";
    }


# we wish to capture these source statements:

#  source "$PATH/lib/util.tcl"
#  source "comconf.tcl"
#  if {[catch {source $env(CONTROL_PANEL_LIB_DIR)/bindings.tcl}] != 0} {

    # quick check to see if the complex regexps could possibly match.
    # This should speed things up.

    (m/source/) || next;

    # note we include parethesis and '$' and '\' in the pattern

    if ( 
	(m!source\s+([\'\"])?([0-9A-Za-z/._\-\\\(\)\$]+)!)
       ) {	
      
      my ($module) = $2;

      # If there is some interpolation of variables, 
      # see if taking the basename will give us the filename.

      ($module =~ m/\$/) &&
	($module = basename($module));
      
      ($module =~ m/\$/) ||
	($require{$module}=1);
    }
  }

  close(FILE)||
    die("$0: Could not close file: '$file' : $!\n");
  
  return ; 
}
@


1.1
log
@Initial revision
@
text
@@


1.1.1.1
log
@Import: RPM 4.0.3
@
text
@@
