fix misc compile warnings
document the interaction between --install-root and 'runscripts yes'
This commit is contained in:
parent
d9a0d39b60
commit
934e044f86
@ -549,19 +549,16 @@ the requested packages onto a different directory than '/'. In daily usage,
|
|||||||
this option is not required; it's primarily interesting if you're developing
|
this option is not required; it's primarily interesting if you're developing
|
||||||
an independent installation.
|
an independent installation.
|
||||||
|
|
||||||
Some pre- or post-install scripts might not have the intended effect if
|
Pre- and post-install scripts will not be executed if the target root directory
|
||||||
invoked as
|
lacks a copy of the ports tree. So if you're maintaining an installation on a
|
||||||
.B chroot <dir> /bin/sh <path/to/script>
|
volume mounted somewhere other than '/', it's not enough to have the line
|
||||||
(the naive way to respect --install-root).
|
.B runscripts yes
|
||||||
So if you're maintaining an installation on a volume mounted somewhere
|
in your prt-get.conf; you also have to ensure that the pre- and post-install
|
||||||
other than '/', it might be safer to ensure that your \fBprt\-get.conf(5)\fP
|
scripts can be found in the same location relative to <dir>.
|
||||||
has the line
|
|
||||||
.B runscripts no
|
|
||||||
and then run any pre- or post-install scripts by hand.
|
|
||||||
|
|
||||||
The setting for --install-root determines which package database is used for
|
The setting for --install-root determines which package database is used for
|
||||||
reading/writing (so <dir>/var/lib/pkg/db must exist), and where the pkg.tar.?z
|
reading/writing (so <dir>/var/lib/pkg/db must exist), and where the pkg.tar.?z
|
||||||
archives get unpacked, but the relevant prt\-get.conf and ports tree are those
|
archives get unpacked, but the relevant prt-get.conf and ports tree are those
|
||||||
on the parent filesystem. Therefore it is not necessary for <dir> to contain
|
on the parent filesystem. Therefore it is not necessary for <dir> to contain
|
||||||
its own copy of the ports tree, or even a copy of prt-get.conf.
|
its own copy of the ports tree, or even a copy of prt-get.conf.
|
||||||
However, if <dir>/etc/pkgadd.conf exists and is different from /etc/pkgadd.conf,
|
However, if <dir>/etc/pkgadd.conf exists and is different from /etc/pkgadd.conf,
|
||||||
|
@ -313,7 +313,7 @@ InstallTransaction::installPackage( const Package* package,
|
|||||||
// -- pre-install
|
// -- pre-install
|
||||||
struct stat statData;
|
struct stat statData;
|
||||||
if ((parser->execPreInstall() || m_config->runScripts()) &&
|
if ((parser->execPreInstall() || m_config->runScripts()) &&
|
||||||
stat((pkgdir + "/" + "pre-install").c_str(), &statData) == 0) {
|
stat((parser->installRoot() + pkgdir + "/" + "pre-install").c_str(), &statData) == 0) {
|
||||||
Process preProc( runscriptCommand,
|
Process preProc( runscriptCommand,
|
||||||
pkgdir + "/" + "pre-install",
|
pkgdir + "/" + "pre-install",
|
||||||
fdlog );
|
fdlog );
|
||||||
@ -421,9 +421,9 @@ InstallTransaction::installPackage( const Package* package,
|
|||||||
} else {
|
} else {
|
||||||
// exec post install
|
// exec post install
|
||||||
if ((parser->execPostInstall() || m_config->runScripts() ) &&
|
if ((parser->execPostInstall() || m_config->runScripts() ) &&
|
||||||
stat((package->path() + "/" + package->name() +
|
stat((parser->installRoot() + package->path()
|
||||||
"/" + "post-install").c_str(), &statData)
|
+ "/" + package->name() + "/" + "post-install").c_str(),
|
||||||
== 0) {
|
&statData) == 0) {
|
||||||
// Work around the pkgdir variable change
|
// Work around the pkgdir variable change
|
||||||
Process postProc( runscriptCommand,
|
Process postProc( runscriptCommand,
|
||||||
package->path() + "/" + package->name()+
|
package->path() + "/" + package->name()+
|
||||||
@ -717,7 +717,7 @@ string InstallTransaction::getPkgmkSettingFromFile(const string& setting, const
|
|||||||
if (p) {
|
if (p) {
|
||||||
fgets(line, 256, p);
|
fgets(line, 256, p);
|
||||||
value = StringHelper::stripWhiteSpace(line);
|
value = StringHelper::stripWhiteSpace(line);
|
||||||
fclose(p);
|
pclose(p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ const string& Package::maintainer() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*! \return whether or not this package has a readme file */
|
/*! \return whether or not this package has a readme file */
|
||||||
const bool Package::hasReadme() const
|
bool Package::hasReadme() const
|
||||||
{
|
{
|
||||||
load();
|
load();
|
||||||
return m_data->hasReadme;
|
return m_data->hasReadme;
|
||||||
@ -137,12 +137,12 @@ string Package::versionReleaseString() const
|
|||||||
return m_data->versionReleaseString;
|
return m_data->versionReleaseString;
|
||||||
}
|
}
|
||||||
|
|
||||||
const bool Package::hasPreInstall() const
|
bool Package::hasPreInstall() const
|
||||||
{
|
{
|
||||||
return m_data->hasPreInstall;
|
return m_data->hasPreInstall;
|
||||||
}
|
}
|
||||||
|
|
||||||
const bool Package::hasPostInstall() const
|
bool Package::hasPostInstall() const
|
||||||
{
|
{
|
||||||
return m_data->hasPostInstall;
|
return m_data->hasPostInstall;
|
||||||
}
|
}
|
||||||
@ -345,11 +345,9 @@ void Package::expandShellCommands(std::string& input,
|
|||||||
pos = 0;
|
pos = 0;
|
||||||
while ((pos = input.find(startTag[i], pos)) != string::npos) {
|
while ((pos = input.find(startTag[i], pos)) != string::npos) {
|
||||||
|
|
||||||
if (unameBuf.release) {
|
input = replaceAll(input,
|
||||||
input = replaceAll(input,
|
startTag[i] + "uname -r" + endTag[i],
|
||||||
startTag[i] + "uname -r" + endTag[i],
|
unameBuf.release);
|
||||||
unameBuf.release);
|
|
||||||
}
|
|
||||||
|
|
||||||
dpos = input.find(startTag[i] + "date");
|
dpos = input.find(startTag[i] + "date");
|
||||||
if (dpos != string::npos) {
|
if (dpos != string::npos) {
|
||||||
|
@ -52,9 +52,9 @@ public:
|
|||||||
const std::string& url() const;
|
const std::string& url() const;
|
||||||
const std::string& optionals() const;
|
const std::string& optionals() const;
|
||||||
const std::string& maintainer() const;
|
const std::string& maintainer() const;
|
||||||
const bool hasReadme() const;
|
bool hasReadme() const;
|
||||||
const bool hasPreInstall() const;
|
bool hasPreInstall() const;
|
||||||
const bool hasPostInstall() const;
|
bool hasPostInstall() const;
|
||||||
|
|
||||||
std::string versionReleaseString() const;
|
std::string versionReleaseString() const;
|
||||||
|
|
||||||
|
@ -1676,7 +1676,7 @@ void PrtGet::current()
|
|||||||
m_returnValue = 1;
|
m_returnValue = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
SignalHandler::HandlerResult PrtGet::handleSignal( int signal )
|
SignalHandler::HandlerResult PrtGet::handleSignal()
|
||||||
{
|
{
|
||||||
// TODO: second argument could also be true:
|
// TODO: second argument could also be true:
|
||||||
// TODO: kill installtransaction
|
// TODO: kill installtransaction
|
||||||
|
@ -92,7 +92,7 @@ public:
|
|||||||
|
|
||||||
int returnValue() const;
|
int returnValue() const;
|
||||||
|
|
||||||
SignalHandler::HandlerResult handleSignal( int signal );
|
SignalHandler::HandlerResult handleSignal();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ void SignalDispatcher::dispatch( int signalNumber )
|
|||||||
map<int, SignalHandler*>::iterator it =
|
map<int, SignalHandler*>::iterator it =
|
||||||
SignalDispatcher::instance()->m_signalHandlers.find( signalNumber );
|
SignalDispatcher::instance()->m_signalHandlers.find( signalNumber );
|
||||||
if ( it != SignalDispatcher::instance()->m_signalHandlers.end() ) {
|
if ( it != SignalDispatcher::instance()->m_signalHandlers.end() ) {
|
||||||
it->second->handleSignal( signalNumber );
|
it->second->handleSignal();
|
||||||
} else {
|
} else {
|
||||||
cerr << "prt-get: caught signal " << signalNumber << endl;
|
cerr << "prt-get: caught signal " << signalNumber << endl;
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ public:
|
|||||||
EXIT, /*!< signal handled, exit now */
|
EXIT, /*!< signal handled, exit now */
|
||||||
CONTINUE /*!< signal handled, don't exit */
|
CONTINUE /*!< signal handled, don't exit */
|
||||||
};
|
};
|
||||||
virtual HandlerResult handleSignal( int signalNumber ) = 0;
|
virtual HandlerResult handleSignal() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
Loading…
Reference in New Issue
Block a user