Some changes in how the configuration file is searched.

If the configuration file is not specified through the -c flag, try
to find it before at default location, and as last resort in current
directory.

This avoids having to specify -c all the time, even if you are using
it from distribution dir.

--HG--
extra : convert_revision : d0b48a1e53a064fe011c72c4f2492a897b113179
This commit is contained in:
Juan RP 2008-10-03 18:53:58 +02:00
parent af116bf467
commit 2b14031db2
2 changed files with 28 additions and 12 deletions

21
README
View File

@ -15,12 +15,13 @@ Once you download it, you should edit the configuration file located at the
pkgfs directory. By default it uses the pkgfs directory in your $HOME. pkgfs directory. By default it uses the pkgfs directory in your $HOME.
If PKGFS_CONFIG_FILE is not set or specified from the command line with the If PKGFS_CONFIG_FILE is not set or specified from the command line with the
-c flag, it will use the location "/usr/local/etc/pkgfs.conf". -c flag, it will first try to use the default location at
/usr/local/etc/pkgfs.conf, and as last resort in current directory.
Once that you read the "pkgfs.conf" file and configured it, you can start Once that you read the "pkgfs.conf" file and configured it, you can start
installing packages by using the command: installing packages by using the command:
$ pkgfs.sh -c pkgfs.conf install glib-2.18.1 $ pkgfs.sh install glib-2.18.1
Please note that it's assumed that PKGFS_TEMPLATESDIR is properly defined Please note that it's assumed that PKGFS_TEMPLATESDIR is properly defined
and actually contains valid template files. and actually contains valid template files.
@ -35,7 +36,7 @@ on which ``Xstow
To remove a currently installed (and stowned) package, you can use: To remove a currently installed (and stowned) package, you can use:
$ pkgfs.sh -c pkgfs.conf remove glib-2.18.1 $ pkgfs.sh remove glib-2.18.1
Please note that when you remove it, the package will also be removed Please note that when you remove it, the package will also be removed
from PKGFS_DESTDIR and previously "unstowned". from PKGFS_DESTDIR and previously "unstowned".
@ -50,11 +51,11 @@ PKGFS_DESTDIR/<pkgname>.
Summary, to stow an already installed package (into PKGFS_DESTDIR/<pkgname>): Summary, to stow an already installed package (into PKGFS_DESTDIR/<pkgname>):
$ pkgfs.sh -c pkgs.conf stow glib-2.18.1 $ pkgfs.sh stow glib-2.18.1
and to unstow an already installed (stowned) package: and to unstow an already installed (stowned) package:
$ pkgfs.sh -c pkgfs.conf unstow glib-2.18.1 $ pkgfs.sh unstow glib-2.18.1
You can also print some stuff about any template, e.g: You can also print some stuff about any template, e.g:
@ -62,23 +63,23 @@ You can also print some stuff about any template, e.g:
To list installed (stowned) packages, use this: To list installed (stowned) packages, use this:
$ pkgfs.sh -c pkgfs.conf list $ pkgfs.sh list
To only extract the distfile, without configuring/building/installing: To only extract the distfile, without configuring/building/installing:
$ pkgfs.sh -c pkgfs.conf -i install foo-1.0 $ pkgfs.sh -i install foo-1.0
To not remove the build directory after successful installation: To not remove the build directory after successful installation:
$ pkgfs.sh -c pkgfs.conf -C install blah-1.0 $ pkgfs.sh -C install blah-1.0
To only fetch the distfile: To only fetch the distfile:
$ pkgfs.sh -c pkgfs.conf -e install blah-1.0 $ pkgfs.sh -e install blah-1.0
To only install the package, _without_ stowning it into the master directory: To only install the package, _without_ stowning it into the master directory:
$ pkgfs.sh -c pkgfs.conf -i install blob-4.0 $ pkgfs.sh -i install blob-4.0
That's all for now folks. I hope you find it useful, as I do. That's all for now folks. I hope you find it useful, as I do.

View File

@ -243,6 +243,20 @@ apply_tmpl_patches()
check_config_vars() check_config_vars()
{ {
local cffound=
if [ -z "$config_file_specified" ]; then
config_file_paths="$PKGFS_CONFIG_FILE ./pkgfs.conf"
for f in $config_file_paths; do
[ -f $f ] && PKGFS_CONFIG_FILE=$f && cffound=yes
done
if [ -z "$cffound" ]; then
echo -n "*** ERROR: config file not specified "
echo "and not in default location or current dir ***"
exit 1
fi
fi
run_file ${PKGFS_CONFIG_FILE} run_file ${PKGFS_CONFIG_FILE}
PKGFS_CONFIG_FILE=$path_fixed PKGFS_CONFIG_FILE=$path_fixed
@ -934,8 +948,8 @@ list_tmpls()
local reg_pkgdb="$PKGFS_DESTDIR/$PKGFS_REGISTERED_PKG_DB" local reg_pkgdb="$PKGFS_DESTDIR/$PKGFS_REGISTERED_PKG_DB"
if [ ! -r "$reg_pkgdb" ]; then if [ ! -r "$reg_pkgdb" ]; then
echo "*** ERROR: couldn't find the $reg_pkgdb, aborting ***" echo "=> No packages registered or missing register db file."
exit 1 exit 0
fi fi
for i in $($db_cmd btree $reg_pkgdb); do for i in $($db_cmd btree $reg_pkgdb); do
@ -983,6 +997,7 @@ while [ "$#" -gt 0 ]; do
dontrm_builddir=yes dontrm_builddir=yes
;; ;;
-c) -c)
config_file_specified=yes
PKGFS_CONFIG_FILE="$2" PKGFS_CONFIG_FILE="$2"
shift shift
;; ;;