* chdir back to original dir in PEAR_Packager::package

* only display "cvstag" hint if CVS/Root exists
This commit is contained in:
Stig Bakken 2002-04-16 05:01:41 +00:00
parent 7acfa47fb5
commit e32362f792

View file

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