Global and User package database
Mehmet Erol Sanliturk
m.e.sanliturk at gmail.com
Thu Dec 15 19:36:23 UTC 2011
Dear All ,
In the new PkgNG :
https://github.com/pkgng/pkgng/blob/master/pkg/add.c
the following statement is written :
if (geteuid() != 0) {
warnx("adding packages can only be done as root");
return (EX_NOPERM);
}
Instead of the above statement , is it possible to use a statement
as follows ( which it may be defined as a function to be called from all
the related
functions / programs ) :
if (geteuid() == 0) {
package_db_path = ... global path name ... , etc. ;
PKGDB_PLACE = PKGDB_DEFAULT ... etc.
} else
{
package_db_path = ... local path name , ie.
in $HOME about user path name ... , etc. ;
PKGDB_PLACE = PKGDB_USER ... etc.
}
if (pkgdb_open(&db, PKGDB_PLACE) != EPKG_OK) {
return (EX_IOERR);
}
( Replace PKGDB_PLACE by a suitable name ... )
In that way , it will be possible to install packages into user home
directory ,
instead of global package directory .
For security concerns , user-installed packages will not be usable globally
, or
convenient only for the user .
Thank you very much .
Mehmet Erol Sanliturk
More information about the freebsd-ports
mailing list