Diff for /loncom/build/make_rpm.pl between versions 1.2 and 1.10

version 1.2, 2000/12/11 17:25:19 version 1.10, 2001/01/23 16:08:49
Line 4 Line 4
 # Automatically generate RPM listing files  # Automatically generate RPM listing files
 # from file listing.  # from file listing.
   
 # GNU General Public License, Version 2, June 1991  
 # See http://www.gnu.org/copyleft/gpl.html.  
   
 # This script does actually "build" the RPM.  # This script does actually "build" the RPM.
   
 # This script also generates and then deletes temporary  # This script also generates and then deletes temporary
Line 35  END Line 32  END
   
 my ($tag,$version,$configuration_files,$documentation_files,$pathprefix)=@ARGV;  my ($tag,$version,$configuration_files,$documentation_files,$pathprefix)=@ARGV;
 @ARGV=();  @ARGV=();
   
 if (!$version) {  if (!$version) {
     print "Usage: <TAG> <VERSION> [CONFIGURATION_FILES] [DOCUMENTATION] [PATHPREFIX]\n";      print "Usage: <TAG> <VERSION> [CONFIGURATION_FILES] [DOCUMENTATION] [PATHPREFIX]\n";
     print "Standard input provides the list of files to work with.\n";      print "Standard input provides the list of files to work with.\n";
Line 86  print RPMMACROS <<END; Line 84  print RPMMACROS <<END;
 END  END
 close RPMMACROS;  close RPMMACROS;
   
   # This needs to be dynamically based upon doc/otherfiles/rpm_list.txt
   # at some point.
   my $requires="";
   if ($tag eq "setup") {
       $requires=<<END;
   PreReq: setup
   PreReq: passwd
   PreReq: util-linux
   END
   }
   elsif ($tag eq "base") {
       $requires=<<END;
   PreReq: LON-CAPA-setup
   PreReq: apache
   PreReq: /etc/httpd/conf/access.conf
   END
       $requires2=<<END;
   Requires: LON-CAPA-setup
   Requires: raidtools
   Requires: ncurses
   Requires: popt
   Requires: tcsh
   Requires: redhat-release
   Requires: diffutils
   Requires: ed
   Requires: dialog
   Requires: rmt
   Requires: sed
   Requires: which
   Requires: gawk
   Requires: mingetty
   Requires: info
   Requires: portmap
   Requires: openssh-clients
   Requires: openssh
   Requires: openssh-server
   Requires: openssl
   Requires: basesystem
   Requires: ldconfig
   Requires: filesystem
   Requires: mktemp
   Requires: termcap
   Requires: shadow-utils
   Requires: libtermcap
   Requires: MAKEDEV
   Requires: utempter
   Requires: bash
   Requires: logrotate
   Requires: SysVinit
   Requires: chkconfig
   Requires: textutils
   Requires: pwdb
   Requires: vixie-cron
   Requires: procps
   Requires: modutils
   Requires: psmisc
   Requires: sysklogd
   Requires: authconfig
   Requires: zlib
   Requires: sh-utils
   Requires: mailcap
   Requires: anacron
   Requires: bc
   Requires: bdflush
   Requires: bind-utils
   Requires: cpio
   Requires: crontabs
   Requires: etcskel
   Requires: e2fsprogs
   Requires: samba-client
   Requires: apache-devel
   Requires: autofs
   Requires: findutils
   Requires: gdbm
   Requires: getty_ps
   Requires: readline
   Requires: glib10
   Requires: inetd
   Requires: losetup
   Requires: gnupg
   Requires: gpgp
   Requires: urw-fonts
   Requires: mailx
   Requires: gzip
   Requires: ld.so
   Requires: less
   Requires: passwd
   Requires: sysreport
   Requires: ncompress
   Requires: mount
   Requires: lilo
   Requires: bzip2
   Requires: grep
   Requires: memprof
   Requires: mars-nwe
   Requires: pidentd
   Requires: procinfo
   Requires: units
   Requires: routed
   Requires: quota
   Requires: pam
   Requires: stat
   Requires: setserial
   Requires: mod_perl
   Requires: rootfiles
   Requires: nfs-utils
   Requires: sendmail
   Requires: sharutils
   Requires: tmpwatch
   Requires: shapecfg
   Requires: tcp_wrappers
   Requires: unzip
   Requires: tetex-dvips
   Requires: tetex-afm
   Requires: tetex-latex
   Requires: xntp3
   Requires: rpm
   Requires: wu-ftpd
   Requires: setup
   Requires: glibc
   Requires: fileutils
   Requires: initscripts
   Requires: netatalk
   Requires: apache
   Requires: bash2
   Requires: dev
   Requires: samba
   Requires: ghostscript
   Requires: kernel-headers
   Requires: kernel
   Requires: linuxconf
   Requires: tetex
   Requires: tetex-fonts
   Requires: util-linux
   Requires: vim-common
   Requires: perl
   Requires: cracklib
   Requires: cracklib-dicts
   Requires: cdrecord
   Requires: ghostscript-fonts
   Requires: libgr
   Requires: libjpeg
   Requires: libpng
   Requires: libungif-progs
   Requires: libtiff
   Requires: libungif
   Requires: samba-common
   Requires: ImageMagick
   Requires: libgr-progs
   Requires: man-pages
   Requires: tar
   Requires: vim-minimal
   END
   }
   else {
       $requires=<<END;
   Requires: LON-CAPA-base
   END
   }
 open (SPEC,">$tag/SPECS/LON-CAPA-$tag-$version.spec");  open (SPEC,">$tag/SPECS/LON-CAPA-$tag-$version.spec");
   
 print SPEC <<END;  print SPEC <<END;
Line 95  Version: $version Line 252  Version: $version
 Release: 1  Release: 1
 Vendor: Laboratory for Instructional Technology Education, Division of Science and Mathematics Education, Michigan State University.  Vendor: Laboratory for Instructional Technology Education, Division of Science and Mathematics Education, Michigan State University.
 BuildRoot: $currentdir/BuildRoot  BuildRoot: $currentdir/BuildRoot
 Copyright: GNU General Public License. Version 2, June 1991.  Michigan State University patents may apply.  Copyright: Michigan State University patents may apply.
 Group: Utilities/System  Group: Utilities/System
 Source: LON-CAPA-$tag-$version.tar.gz  Source: LON-CAPA-$tag-$version.tar.gz
 AutoReqProv: no  AutoReqProv: no
   $requires
 # requires: filesystem  # requires: filesystem
 \%description  \%description
 This package is automatically generated by the make_rpm.pl perl  This package is automatically generated by the make_rpm.pl perl
Line 124  echo "http://www.lon-capa.org/" Line 282  echo "http://www.lon-capa.org/"
 echo "Gerd Kortemeyer, et al"  echo "Gerd Kortemeyer, et al"
 echo "Laboratory for Instructional Technology Education"  echo "Laboratory for Instructional Technology Education"
 echo "Michigan State University"  echo "Michigan State University"
 echo "General Public License, Version 2, June 1991"  echo " "
 echo "** Michigan State University patents may apply **"  echo "** Michigan State University patents may apply **"
 echo " "  echo " "
 echo "This installation assumes an installation of Redhat 6.2"  echo "This installation assumes an installation of Redhat 6.2"
Line 143  END Line 301  END
   
 foreach $file (<>) {  foreach $file (<>) {
     chop $file;      chop $file;
       my $comment="";
       if ($file=~/\s+\#(.*)$/) {
    $file=~s/\s+\#(.*)$//;
    $comment=$1;
       }
       my $config="";
       if ($comment=~/config/i) {
    $config="\%config ";
       }
     if (($type,$size,$octalmode,$user,$group)=find_info($file)) {      if (($type,$size,$octalmode,$user,$group)=find_info($file)) {
  $octalmode="0" . $octalmode if length($octalmode)<4;   $octalmode="0" . $octalmode if length($octalmode)<4;
  if ($pathprefix) {   if ($pathprefix) {
Line 151  foreach $file (<>) { Line 318  foreach $file (<>) {
  if ($type eq "files") {   if ($type eq "files") {
     push @{$BinaryRootMakefile{$type}},"\tinstall -D -m $octalmode $pathprefix$file $binaryroot$file\n";      push @{$BinaryRootMakefile{$type}},"\tinstall -D -m $octalmode $pathprefix$file $binaryroot$file\n";
     push @{$Makefile{$type}},"\tinstall -D -m $octalmode \$(SOURCE)$file \$(ROOT)$file\n";      push @{$Makefile{$type}},"\tinstall -D -m $octalmode \$(SOURCE)$file \$(ROOT)$file\n";
     push @{$dotspecfile{$type}},"\%attr($octalmode,$user,$group) $file\n";      push @{$dotspecfile{$type}},"$config\%attr($octalmode,$user,$group) $file\n";
  }   }
  elsif ($type eq "directories") {   elsif ($type eq "directories") {
     push @{$BinaryRootMakefile{$type}},"\tinstall -m $octalmode -d $binaryroot$file\n";      push @{$BinaryRootMakefile{$type}},"\tinstall -m $octalmode -d $binaryroot$file\n";
Line 206  sub find_info { Line 373  sub find_info {
  return ("directories",split(/\t/,$line));   return ("directories",split(/\t/,$line));
     }      }
     elsif (($line=`find $file -type l -prune`)=~/^$file\n/) {      elsif (($line=`find $file -type l -prune`)=~/^$file\n/) {
  $line=`find $file -type l -prune -printf "\%h/\%l\t\%m\t\%u\t\%g"`;   $line=`find $file -type l -prune -printf "\%l\t\%m\t\%u\t\%g"`;
  return ("links",split(/\t/,$line));   return ("links",split(/\t/,$line));
     }      }
   

Removed from v.1.2  
changed lines
  Added in v.1.10


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>