Using system() to create directories is just plain silly. Here is a better idea for the Packages.pm hunk, and why not make Tree_Mkdir() create all components of the directory?
@@ -625,25 +625,15 @@ my($pkg_ver) = $chg_hashref->{'Version'}; my($guess_section) = Guess_Section($chg_hashref); - my($pkg_dir) = join('/', - ($pool_dir, PoolDir($pkg_name, $guess_section), $pkg_name)); + my($pkg_pool_subdir) = join('/', + ($pool_dir, PoolDir($pkg_name, $guess_section))); + my($pkg_dir) = join('/', ($pkg_pool_subdir, $pkg_name)); # Make sure the package directory exists (and is a directory!) - if (! -e $pkg_dir) { - if (!mkdir($pkg_dir)) { - $Error = "Failed to mkdir '$pkg_dir': $!"; - return 0; - } - if (!chmod($Options{'pool_dir_mode'}, $pkg_dir)) { - $Error = "Failed to chmod '$pkg_dir': $!"; - return 0; - } - } elsif (! -d $pkg_dir) { - $Error = "Target '$pkg_dir' is not a directory."; - return 0; - } - + Tree_Mkdir($pkg_pool_subdir, $Options{'pool_dir_mode'}) or return 0; + Tree_Mkdir($pkg_dir, $Options{'pool_dir_mode'}) or return 0; + # Walk the File Hash, trying to install each listed file into the # pool directory. -- Magnus Holmgren [EMAIL PROTECTED]
pgpwog51Yto9m.pgp
Description: PGP signature