Diff for /loncom/build/Attic/parse.pl between versions 1.15 and 1.20

version 1.15, 2000/12/13 21:43:18 version 1.20, 2000/12/21 19:26:01
Line 152  elsif ($mode eq "status") { Line 152  elsif ($mode eq "status") {
 }  }
 elsif ($mode eq "update") {  elsif ($mode eq "update") {
 }  }
   elsif ($mode eq "configinstall") {
       @directories=&determine_directory_structure;
       $a=&make_files_configinstall_segment(\@directories);
       print $a;
       $a=&make_files_configpermissions_segment(\@directories);
       print $a;
   }
 elsif ($mode eq "install") {  elsif ($mode eq "install") {
     @directories=&determine_directory_structure;      @directories=&determine_directory_structure;
     $a=&make_directory_install_segment(\@directories);      $a=&make_directory_install_segment(\@directories);
Line 174  sub make_file_list { Line 181  sub make_file_list {
     my @allfiles=keys %{$info{'LOCATION'}{$distribution}};      my @allfiles=keys %{$info{'LOCATION'}{$distribution}};
     foreach my $d (@$dirs) {      foreach my $d (@$dirs) {
  # set other values   # set other values
    $description.=<<END;
   BinaryRoot/$d
   END
  my $dirdescription=$info{'DIRECTORY'}{$distribution}{$d}{'DESCRIPTION'};   my $dirdescription=$info{'DIRECTORY'}{$distribution}{$d}{'DESCRIPTION'};
  $dirdescription="(" . $dirdescription . ")" if $dirdescription;   $dirdescription="(" . $dirdescription . ")" if $dirdescription;
  # find files that are contained in this directory   # find files that are contained in this directory
Line 241  END Line 251  END
  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 ($owner,$group)=split(/\:/,$devchown);
  my $own=$devchown; $own=~s/\:/\,/;   my $own=$devchown; $own=~s/\:/\,/;
  $description.=<<END;   $description.=<<END;
 \tinstall -m $devchmod -d \$(TARGET)/$d  \tinstall -o $owner -g $group -m $devchmod -d \$(TARGET)/$d
 END  END
     }      }
     $description.=<<END;      $description.=<<END;
Line 288  END Line 299  END
  my $source=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'SOURCE'};   my $source=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'SOURCE'};
  my $rot=$filesfull[$i];   my $rot=$filesfull[$i];
  $rot=~s/[^\/]+$/\./ if $rot=~/\*/;   $rot=~s/[^\/]+$/\./ if $rot=~/\*/;
    my ($owner,$group)=split(/\:/,$devchown);
  $description.=<<END if $category ne 'symbolic link';   $description.=<<END if $category ne 'symbolic link';
 \tinstall -m $devchmod \$(SOURCE)/$source \$(TARGET)/$rot  \tinstall -o $owner -g $group -m $devchmod \$(SOURCE)/$source \$(TARGET)/$rot
 END  END
     }      }
  }   }
Line 459  END Line 471  END
  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 ($owner,$group)=split(/\:/,$devchown);
  my $own=$devchown; $own=~s/\:/\,/;   my $own=$devchown; $own=~s/\:/\,/;
  $description.=<<END;   $description.=<<END;
 \tinstall -m $devchmod -d \$(TARGET)/$d  \tinstall -o $owner -g $group -m $devchmod -d \$(TARGET)/$d
 END  END
     }      }
     $description.=<<END;      $description.=<<END;
Line 532  END Line 545  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)/$source \$(TARGET)/$rot  #\tinstall -o $owner -g $group -m $devchmod \$(SOURCE)/$source \$(TARGET)/$rot
 #END  #END
     }      }
  }   }
Line 581  END Line 594  END
  my $devchmod=$info{'DEVOWNERSHIP'}{$category}{'CHMOD'};   my $devchmod=$info{'DEVOWNERSHIP'}{$category}{'CHMOD'};
  my $rot=$filesfull[$i];   my $rot=$filesfull[$i];
  $rot=~s/[^\/]+$/\./ if $rot=~/\*/;   $rot=~s/[^\/]+$/\./ if $rot=~/\*/;
    my ($owner,$group)=split(/\:/,$devchown);
  if ($category ne 'conf') {   if ($category ne 'conf') {
     $description.=<<END if $category ne 'symbolic link';      $description.=<<END if $category ne 'symbolic link';
 \tinstall -m $devchmod \$(SOURCE)/$source \$(TARGET)/$rot  \tinstall -o $owner -g $group -m $devchmod \$(SOURCE)/$source \$(TARGET)/$rot
   END
                   }
       }
    }
       }
       $description.=<<END;
   
   END
       return $description;
   }
   
   # ------ Installation commands to install configuration files (and make backups)
   sub make_files_configinstall_segment {
       my ($dirs)=@_;
       my $description=<<END;
   configfiles:
   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 $source=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'SOURCE'};
    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=~/\*/;
    my ($owner,$group)=split(/\:/,$devchown);
    if ($category eq 'conf') {
       $description.=<<END;
   \tinstall -b -S `date +'.\%Y\%m\%d\%H\%M\%S'` -o $owner -g $group -m $devchmod \$(SOURCE)/$source \$(TARGET)/$rot
   END
                   }
       }
    }
       }
       $description.=<<END;
   
   END
       return $description;
   }
   
   # ------ Commands to enforce configuration file permissions
   sub make_files_configpermissions_segment {
       my ($dirs)=@_;
       my $description=<<END;
   configpermissions:
   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 $source=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'SOURCE'};
    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=~/\*/;
    my ($owner,$group)=split(/\:/,$devchown);
    if ($category eq 'conf') {
       $description.=<<END;
   \tchmod $devchmod \$(TARGET)/$rot
   \tchown $devchown \$(TARGET)/$rot
 END  END
                 }                  }
     }      }
Line 601  sub make_links_install_segment { Line 718  sub make_links_install_segment {
     my $description=<<END;      my $description=<<END;
 links:  links:
 END  END
       chop $description;
       my $description2;
     my @allfiles=keys %{$info{'LOCATION'}{$distribution}};      my @allfiles=keys %{$info{'LOCATION'}{$distribution}};
     foreach my $d (@$dirs) {      foreach my $d (@$dirs) {
  # find files that are contained in this directory   # find files that are contained in this directory
Line 621  END Line 740  END
  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'};
  $description.=<<END if $category eq 'symbolic link';   if ($category eq 'symbolic link') {
       $description.=" \$(TARGET)/$filesfull[$i]";
       $description2.=<<END;
   \$(TARGET)/$filesfull[$i]:
 \tln -s /$linkto \$(TARGET)/$filesfull[$i]  \tln -s /$linkto \$(TARGET)/$filesfull[$i]
   
 END  END
                   }
     }      }
  }   }
     }      }
     $description.=<<END;      $description.=<<END;
   
 END  END
       $description.=$description2;
     return $description;      return $description;
 }  }
   

Removed from v.1.15  
changed lines
  Added in v.1.20


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