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

