Diff for /loncom/build/Attic/parse.pl between versions 1.13 and 1.14

version 1.13, 2000/12/12 16:51:39 version 1.14, 2000/12/12 17:05:36
Line 121  elsif ($mode eq "SPEC") { Line 121  elsif ($mode eq "SPEC") {
 }  }
 elsif ($mode eq "LCMakefile") {  elsif ($mode eq "LCMakefile") {
     @directories=&determine_directory_structure;      @directories=&determine_directory_structure;
     $a=&make_directory_install_segment(\@directories);      $a=&make_directory_LCMakefile_segment(\@directories);
     print $a;      print $a;
     $a=&make_files_install_segment(\@directories);      $a=&make_files_LCMakefile_segment(\@directories);
     print $a;      print $a;
     $a=&make_links_install_segment(\@directories);      $a=&make_links_LCMakefile_segment(\@directories);
     print $a;      print $a;
 }  }
 elsif ($mode eq "BinaryRoot") {  elsif ($mode eq "BinaryRoot") {
Line 152  elsif ($mode eq "status") { Line 152  elsif ($mode eq "status") {
 }  }
 elsif ($mode eq "update") {  elsif ($mode eq "update") {
 }  }
 elsif ($mode eq "freshinstall") {  elsif ($mode eq "install") {
       @directories=&determine_directory_structure;
       $a=&make_directory_install_segment(\@directories);
       print $a;
       $a=&make_files_install_segment(\@directories);
       print $a;
       $a=&make_links_install_segment(\@directories);
       print $a;
 }  }
   
 # ------------------------------------------------------ a list of file targets  # ------------------------------------------------------ a list of file targets
Line 326  END Line 333  END
     return $description;      return $description;
 }  }
   
   # ------ Installation commands for a Makefile used only by a rpm -ba invocation
   sub make_directory_LCMakefile_segment {
       my ($dirs)=@_;
       my $description=<<END;
   directories:
   END
       foreach my $d (@$dirs) {
    my $category=$info{'DIRECTORY'}{$distribution}{$d}{'CATEGORY'};
    my $chown=$info{'OWNERSHIP'}{$category}{'CHOWN'};
    my $chmod=$info{'OWNERSHIP'}{$category}{'CHMOD'};
    my $devchown=$info{'DEVOWNERSHIP'}{$category}{'CHOWN'};
    my $devchmod=$info{'DEVOWNERSHIP'}{$category}{'CHMOD'};
    my $own=$devchown; $own=~s/\:/\,/;
    $description.=<<END;
   \tinstall -m $devchmod -d \$(SOURCE)/$d \$(ROOT)/$d
   END
       }
       $description.=<<END;
   
   END
       return $description;
   }
   
   # ------ Installation commands for a Makefile used only by a rpm -ba invocation
   sub make_files_LCMakefile_segment {
       my ($dirs)=@_;
       my $description=<<END;
   files:
   END
       my @allfiles=keys %{$info{'LOCATION'}{$distribution}};
       foreach my $d (@$dirs) {
    # set other values
    my $dirdescription=$info{'DIRECTORY'}{$distribution}{$d}{'DESCRIPTION'};
    $dirdescription="(" . $dirdescription . ")" if $dirdescription;
    # find files that are contained in this directory
    my @files;
    my @filesfull;
    foreach my $f (@allfiles) {
       if ($f=~/^$d\/([^\/]+)$/) {
    push @files,$1;
    push @filesfull,$f;
       }
    }
    # render starting HTML formatting elements
    if (@files) {
       $description.=<<END;
   \t# $d $dirdescription
   END
           }
    if (@files) {
               foreach my $i (0..$#files) {
    my $category=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'CATEGORY'};
    my $chown=$info{'OWNERSHIP'}{$category}{'CHOWN'};
    my $chmod=$info{'OWNERSHIP'}{$category}{'CHMOD'};
    my $devchown=$info{'DEVOWNERSHIP'}{$category}{'CHOWN'};
    my $devchmod=$info{'DEVOWNERSHIP'}{$category}{'CHMOD'};
    my $rot=$filesfull[$i];
    $rot=~s/[^\/]+$/\./ if $rot=~/\*/;
    $description.=<<END if $category ne 'symbolic link';
   \tinstall -m $devchmod \$(SOURCE)/$filesfull[$i] \$(ROOT)/$rot
   END
       }
    }
       }
       $description.=<<END;
   
   END
       return $description;
   }
   
   # ------ Installation commands for a Makefile used only by a rpm -ba invocation
   sub make_links_LCMakefile_segment {
       my ($dirs)=@_;
       my $description=<<END;
   links:
   END
       my @allfiles=keys %{$info{'LOCATION'}{$distribution}};
       foreach my $d (@$dirs) {
    # find files that are contained in this directory
    my @files;
    my @filesfull;
    foreach my $f (@allfiles) {
       if ($f=~/^$d\/([^\/]+)$/) {
    push @files,$1;
    push @filesfull,$f;
       }
    }
    # render starting HTML formatting elements
    if (@files) {
               foreach my $i (0..$#files) {
    my $category=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'CATEGORY'};
    my $linkto=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'LINKTO'};
    my $chown=$info{'OWNERSHIP'}{$category}{'CHOWN'};
    my $chmod=$info{'OWNERSHIP'}{$category}{'CHMOD'};
    my $devchown=$info{'DEVOWNERSHIP'}{$category}{'CHOWN'};
    my $devchmod=$info{'DEVOWNERSHIP'}{$category}{'CHMOD'};
    $description.=<<END if $category eq 'symbolic link';
   \tln -s /$linkto \$(ROOT)/$filesfull[$i]
   END
       }
    }
       }
       $description.=<<END;
   
   END
       return $description;
   }
   
 # --------------------------------- Installation commands to install directories  # --------------------------------- Installation commands to install directories
 sub make_directory_install_segment {  sub make_directory_install_segment {
     my ($dirs)=@_;      my ($dirs)=@_;
Line 334  directories: Line 449  directories:
 END  END
     foreach my $d (@$dirs) {      foreach my $d (@$dirs) {
  my $category=$info{'DIRECTORY'}{$distribution}{$d}{'CATEGORY'};   my $category=$info{'DIRECTORY'}{$distribution}{$d}{'CATEGORY'};
    my $source=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'SOURCE'};
  my $chown=$info{'OWNERSHIP'}{$category}{'CHOWN'};   my $chown=$info{'OWNERSHIP'}{$category}{'CHOWN'};
  my $chmod=$info{'OWNERSHIP'}{$category}{'CHMOD'};   my $chmod=$info{'OWNERSHIP'}{$category}{'CHMOD'};
  my $devchown=$info{'DEVOWNERSHIP'}{$category}{'CHOWN'};   my $devchown=$info{'DEVOWNERSHIP'}{$category}{'CHOWN'};
  my $devchmod=$info{'DEVOWNERSHIP'}{$category}{'CHMOD'};   my $devchmod=$info{'DEVOWNERSHIP'}{$category}{'CHMOD'};
  my $own=$devchown; $own=~s/\:/\,/;   my $own=$devchown; $own=~s/\:/\,/;
  $description.=<<END;   $description.=<<END;
 \tinstall -m $devchmod -d \$(SOURCE)/$d \$(ROOT)/$d  \tinstall -m $devchmod -d \$(TARGET)/$d
 END  END
     }      }
     $description.=<<END;      $description.=<<END;
Line 378  END Line 494  END
  if (@files) {   if (@files) {
             foreach my $i (0..$#files) {              foreach my $i (0..$#files) {
  my $category=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'CATEGORY'};   my $category=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'CATEGORY'};
    my $source=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'SOURCE'};
  my $chown=$info{'OWNERSHIP'}{$category}{'CHOWN'};   my $chown=$info{'OWNERSHIP'}{$category}{'CHOWN'};
  my $chmod=$info{'OWNERSHIP'}{$category}{'CHMOD'};   my $chmod=$info{'OWNERSHIP'}{$category}{'CHMOD'};
  my $devchown=$info{'DEVOWNERSHIP'}{$category}{'CHOWN'};   my $devchown=$info{'DEVOWNERSHIP'}{$category}{'CHOWN'};
Line 385  END Line 502  END
  my $rot=$filesfull[$i];   my $rot=$filesfull[$i];
  $rot=~s/[^\/]+$/\./ if $rot=~/\*/;   $rot=~s/[^\/]+$/\./ if $rot=~/\*/;
  $description.=<<END if $category ne 'symbolic link';   $description.=<<END if $category ne 'symbolic link';
 \tinstall -m $devchmod \$(SOURCE)/$filesfull[$i] \$(ROOT)/$rot  \tinstall -m $devchmod \$(SOURCE)/$source \$(TARGET)/$rot
 END  END
     }      }
  }   }
Line 423  END Line 540  END
  my $devchown=$info{'DEVOWNERSHIP'}{$category}{'CHOWN'};   my $devchown=$info{'DEVOWNERSHIP'}{$category}{'CHOWN'};
  my $devchmod=$info{'DEVOWNERSHIP'}{$category}{'CHMOD'};   my $devchmod=$info{'DEVOWNERSHIP'}{$category}{'CHMOD'};
  $description.=<<END if $category eq 'symbolic link';   $description.=<<END if $category eq 'symbolic link';
 \tln -s /$linkto \$(ROOT)/$filesfull[$i]  \tln -s /$linkto \$(TARGET)/$filesfull[$i]
 END  END
     }      }
  }   }

Removed from v.1.13  
changed lines
  Added in v.1.14


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