home *** CD-ROM | disk | FTP | other *** search
/ Caldera Network Desktop 1.0 / caldera-network-desktop-1.0.bin / images / ramdisk2.img / usr / lib / perl / rpmhead < prev    next >
Text File  |  1995-10-09  |  775b  |  34 lines

  1.  
  2. sub get_name_file_dict {
  3.     local (*dict) = @_;
  4.     local (@files, $n);
  5.     local ($m1, $m2, $m3, $m4, $major, $minor, $type, $cpu, $name, 
  6.        $specoff, $speclen, $archiveoffset, $header, $c);
  7.  
  8.     opendir(D, "/image/RedHat/RPMS");
  9.     @files = readdir(D);
  10.     closedir(D);
  11.  
  12.     &rhs_infobox("Scanning packages",
  13.         "\nScanning your hard drive for available packages\n\n",
  14.          , 60);
  15.  
  16.     foreach $n (@files) {
  17.     open(FD, "</image/RedHat/RPMS/$n");
  18.     sysread(FD, $header, 88);
  19.     $m1 = 0;
  20.     ($m1, $m2, $m3, $m4, $major, $minor, $type, $cpu, $name, 
  21.      $specoff, $speclen, $archiveoffset) = 
  22.          unpack("CCCC CC n n A66 N N N", $header);
  23.     close(FD);
  24.  
  25.     if (($m1, $m2, $m3, $m4) == (0xed, 0xab, 0xee, 0xdb)) {
  26.         $dict{"$name.i386.rpm"} = $n;
  27.     }
  28.     }
  29.  
  30.     return 1;
  31. }
  32.  
  33. 1;
  34.