]> granicus.if.org Git - php/commitdiff
* chdir back to original dir in PEAR_Packager::package
authorStig Bakken <ssb@php.net>
Tue, 16 Apr 2002 05:01:41 +0000 (05:01 +0000)
committerStig Bakken <ssb@php.net>
Tue, 16 Apr 2002 05:01:41 +0000 (05:01 +0000)
* only display "cvstag" hint if CVS/Root exists

pear/PEAR/Packager.php

index 0dfd39667529ff3e945641109f3fed9c458dd3d8..61790797047f84c6f950790dd8a32c359eee806e 100644 (file)
@@ -95,6 +95,7 @@ class PEAR_Packager extends PEAR_Common
         // Copy files -----------------------------------------------
         foreach ($pkginfo['filelist'] as $fname => $atts) {
             if (!file_exists($fname)) {
+                chdir($this->orig_cwd);
                 return $this->raiseError("File $fname does not exist");
             } else {
                 $filelist[$i++] = $fname;
@@ -107,12 +108,14 @@ class PEAR_Packager extends PEAR_Common
         }
         $new_xml = $this->xmlFromInfo($pkginfo);
         if (PEAR::isError($new_xml)) {
+            chdir($this->orig_cwd);
             return $this->raiseError($new_xml);
         }
         $tmpdir = $this->mkTempDir(getcwd());
         $newpkgfile = $tmpdir . DIRECTORY_SEPARATOR . 'package.xml';
         $np = @fopen($newpkgfile, "w");
         if (!$np) {
+            chdir($this->orig_cwd);
             return $this->raiseError("PEAR_Packager: unable to rewrite $pkgfile");
         }
         fwrite($np, $new_xml);
@@ -126,19 +129,25 @@ class PEAR_Packager extends PEAR_Common
         // ----- Creates with the package.xml file
         $ok = $tar->createModify($newpkgfile, '', $tmpdir);
         if (PEAR::isError($ok)) {
+            chdir($this->orig_cwd);
             return $this->raiseError($ok);
         } elseif (!$ok) {
+            chdir($this->orig_cwd);
             return $this->raiseError('PEAR_Packager: tarball creation failed');
         }
         // ----- Add the content of the package
         if (!$tar->addModify($filelist, $pkgver)) {
+            chdir($this->orig_cwd);
             return $this->raiseError('PEAR_Packager: tarball creation failed');
         }
         $this->log(1, "Package $dest_package done");
-        $cvsversion = preg_replace('/[^a-z0-9]/i', '_', $pkgversion);
-        $cvstag = "RELEASE_$cvsversion";
-        $this->log(1, "Tag the released code with `pear cvstag $pkgfile'");
-        $this->log(1, "(or set the CVS tag $cvstag by hand)");
+        if (file_exists("CVS/Root")) {
+            $cvsversion = preg_replace('/[^a-z0-9]/i', '_', $pkgversion);
+            $cvstag = "RELEASE_$cvsversion";
+            $this->log(1, "Tag the released code with `pear cvstag $pkgfile'");
+            $this->log(1, "(or set the CVS tag $cvstag by hand)");
+        }
+        chdir($this->orig_cwd);
         return $dest_package;
     }