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]

Attachment: pgpwog51Yto9m.pgp
Description: PGP signature

Reply via email to