Skip to content

Commit

Permalink
Merge branch 'config-reform'
Browse files Browse the repository at this point in the history
* config-reform:
  config-lib: renamed BEE_REPOSITORY_*DIR to BEE_*DIR
  config-lib: exit on deprecated variable errors
  config-lib: handle all deprecated config variables and try to migrate to new values
  config-lib: change default of BEE_REPOSITORY_PREFIX for users
  config-lib: change default of BEE_METADIR for users
  config-lib: renamed BEE_REPOSITORY_BUILDARCHIVEDIR to BEE_BUILDARCHIVEDIR
  config-lib: change default of BEE_REPOSITORY_BEEDIR and BEE_REPOSITORY_PKGDIR
  config-lib: change default of BEE_TMP_BUILDROOT
  config-lib: use XDG_DOWNLOAD_DIR as default for BEE_DOWNLOADDIR
  • Loading branch information
mariux committed Feb 22, 2012
2 parents 4a6e80a + 0c4ffc4 commit 441f298
Show file tree
Hide file tree
Showing 5 changed files with 108 additions and 52 deletions.
6 changes: 3 additions & 3 deletions conf/beerc
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@
#: ${BEE_REPOSITORY_PREFIX=/usr/src/bee}
#fi

#: ${BEE_REPOSITORY_BEEDIR:=${BEE_REPOSITORY_PREFIX}/bees}
#: ${BEE_REPOSITORY_PKGDIR:=${BEE_REPOSITORY_PREFIX}/pkgs}
#: ${BEE_REPOSITORY_BUILDARCHIVEDIR:=${BEE_REPOSITORY_PREFIX}/build-archives}
#: ${BEE_BEEDIR:=${BEE_REPOSITORY_PREFIX}/bee-files}
#: ${BEE_PKGDIR:=${BEE_REPOSITORY_PREFIX}/packages}
#: ${BEE_BUILDARCHIVEDIR:=${BEE_REPOSITORY_PREFIX}/build-archives}

# DEFAULT CONFIGURE SETTINGS
#: ${PREFIX:=/usr}
Expand Down
12 changes: 6 additions & 6 deletions src/bee-install.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -112,17 +112,17 @@ pkg_install() {
fi

# install package from repository
if [ -f "${BEE_REPOSITORY_PKGDIR}/${search}" ] ; then
do_install "${BEE_REPOSITORY_PKGDIR}/${search}"
if [ -f "${BEE_PKGDIR}/${search}" ] ; then
do_install "${BEE_PKGDIR}/${search}"
return
fi

for e in "" ".$(arch)" ".noarch" ".any" ; do
if [ -f "${BEE_REPOSITORY_PKGDIR}/${search}${e}.bee.tar.bz2" ] ; then
do_install "${BEE_REPOSITORY_PKGDIR}/${search}${e}.bee.tar.bz2"
if [ -f "${BEE_PKGDIR}/${search}${e}.bee.tar.bz2" ] ; then
do_install "${BEE_PKGDIR}/${search}${e}.bee.tar.bz2"
return
elif [ -f "${BEE_REPOSITORY_PKGDIR}/${search}${e}.iee.tar.bz2" ] ; then
do_install "${BEE_REPOSITORY_PKGDIR}/${search}${e}.iee.tar.bz2"
elif [ -f "${BEE_PKGDIR}/${search}${e}.iee.tar.bz2" ] ; then
do_install "${BEE_PKGDIR}/${search}${e}.iee.tar.bz2"
return
fi
done
Expand Down
10 changes: 5 additions & 5 deletions src/bee-list.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -69,16 +69,16 @@ list_installed() {

#
# lists available packages
# RETURNS a sorted list of packages available in ${BEE_REPOSITORY_PKGDIR}
# or in any directory in ${BEE_REPOSITORY_PKGPATH}
# RETURNS a sorted list of packages available in ${BEE_PKGDIR}
# or in any directory in ${BEE_PKGPATH}
#
list_available() {
local IFS=":${IFS}"
# preapre for repository pathes..
: ${BEE_REPOSITORY_PKGPATH:=${BEE_REPOSITORY_PKGDIR}}
: ${BEE_PKGPATH:=${BEE_PKGDIR}}

# replace all ':' with ' ' in BEE_REPOSITORY_PKGPATH
path=${BEE_REPOSITORY_PKGPATH//:/ }
# replace all ':' with ' ' in BEE_PKGPATH
path=${BEE_PKGPATH//:/ }

search=""
for p in $path ; do
Expand Down
88 changes: 72 additions & 16 deletions src/beelib.config.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -75,15 +75,66 @@ function config_init_base_config() {
XDG_DATA_DIRS=$(beeuniq -d : ${XDG_DATA_DIRS//:/ })
}


function deprecated_mv() {
local what=${1}
local from=${2}
local to=${3}

if [ -e "${from}" -a ! -e "${to}" ] ; then
print_error "WARNING: migrating deprecated config ${what}:"
print_error "WARNING: moving ${from} -> ${to}"
mkdir -vp "${to%/*}"
mv -v "${from}" "${to}"
fi
}

function config_handle_deprecated_config() {
: ${DOTBEERC:=${HOME}/.beerc}
if [ -r "${DOTBEERC}" ] ; then
print_error \
"ERROR: support for ~/.beerc is" \
" deprecated please move it to" \
" ${XDG_CONFIG_HOME}/bee/beerc"

local exit_deprecated=0

if [ ! -z "${DOTBEERC}" ] ; then
print_error "ERROR: deprecated variable DOTBEERC is set."
print_error "ERROR: please use BEE_USER_CONFIG_FILE=${DOTBEERC}"
exit_deprecated=1
fi

if [ ! -z "${BEE_REPOSITORY_BUILDARCHIVEDIR}" ] ; then
print_error "ERROR: deprecated variable BEE_REPOSITORY_BUILDARCHIVEDIR is set."
print_error "ERROR: please use BEE_BUILDARCHIVEDIR=${BEE_REPOSITORY_BUILDARCHIVEDIR}"
exit_deprecated=1
fi

if [ ! -z "${BEE_REPOSITORY_BEEDIR}" ] ; then
print_error "ERROR: deprecated variable BEE_REPOSITORY_BEEDIR is set."
print_error "ERROR: please use BEE_BEEDIR=${BEE_REPOSITORY_BEEDIR}"
exit_deprecated=1
fi

if [ ! -z "${BEE_REPOSITORY_PKGDIR}" ] ; then
print_error "ERROR: deprecated variable BEE_REPOSITORY_PKGDIR is set."
print_error "ERROR: please use BEE_PKGDIR=${BEE_REPOSITORY_PKGDIR}"
exit_deprecated=1
fi

if [ ! -z "${BEE_REPOSITORY_PKGPATH}" ] ; then
print_error "ERROR: deprecated variable BEE_REPOSITORY_PKGPATH is set."
print_error "ERROR: please use BEE_PKGPATH=${BEE_REPOSITORY_PKGPATH}"
exit_deprecated=1
fi

if [ ${exit_deprecated} == 1 ] ; then
print_error "ERROR: please fix depracted variable errors before continuing."
exit 1
fi

deprecated_mv "DOTBEERC" "${HOME}/.beerc" "${XDG_CONFIG_HOME}/bee/beerc"
deprecated_mv "BEE_REPOSITORY_PREFIX" "${XDG_DATA_HOME}/beeroot" "${BEE_REPOSITORY_PREFIX}"
deprecated_mv "BEE_METADIR" "${XDG_DATA_HOME}/beemeta" "${BEE_METADIR}"
deprecated_mv "BEE_BEEDIR" "${BEE_REPOSITORY_PREFIX}/bees" "${BEE_BEEDIR}"
deprecated_mv "BEE_PKGDIR" "${BEE_REPOSITORY_PREFIX}/pkgs" "${BEE_PKGDIR}"
deprecated_mv "BEE_DOWNLOADDIR" "${BEE_REPOSITORY_PREFIX}/downloads" "${BEE_DOWNLOADDIR}"
deprecated_mv "BEE_TMP_BUILDROOT" "${BEE_TMP_TMPDIR}/beeroot-${USER}" "${BEE_TMP_BUILDROOT}"
}

# load config: (bee/beerc)
Expand Down Expand Up @@ -172,8 +223,8 @@ function config_verify_builtin_config() {
: ${BEE_METADIR=${BEE_XDG_DATADIR}/bee}
: ${BEE_CACHEDIR=/var/cache/bee}
else # user
: ${BEE_REPOSITORY_PREFIX=${XDG_DATA_HOME}/beeroot}
: ${BEE_METADIR=${XDG_DATA_HOME}/beemeta}
: ${BEE_REPOSITORY_PREFIX=${HOME}/.local/src/bee}
: ${BEE_METADIR=${XDG_DATA_HOME}/bee}
: ${BEE_CACHEDIR=${XDG_CACHE_HOME}/bee}
fi

Expand All @@ -182,11 +233,16 @@ function config_verify_builtin_config() {
: ${user:=${USERNAME}}

: ${BEE_TMP_TMPDIR:=/tmp}
: ${BEE_TMP_BUILDROOT:=${BEE_TMP_TMPDIR}/beeroot-${user}}
: ${BEE_TMP_BUILDROOT:=${BEE_TMP_TMPDIR}/bee-${user}}

: ${BEE_BEEDIR:=${BEE_REPOSITORY_PREFIX}/bee-files}
: ${BEE_PKGDIR:=${BEE_REPOSITORY_PREFIX}/packages}
: ${BEE_BUILDARCHIVEDIR:=${BEE_REPOSITORY_PREFIX}/build-archives}

: ${BEE_REPOSITORY_BEEDIR:=${BEE_REPOSITORY_PREFIX}/bees}
: ${BEE_REPOSITORY_PKGDIR:=${BEE_REPOSITORY_PREFIX}/pkgs}
: ${BEE_REPOSITORY_BUILDARCHIVEDIR:=${BEE_REPOSITORY_PREFIX}/build-archives}
# XDG_DOWNLOAD_DIR defaults to: ${HOME}/Downloads
# but since i don't like it we don't set XDG_DOWNLOAD_DIR but respect it
# if set.
: ${BEE_DOWNLOADDIR:=${XDG_DOWNLOAD_DIR}}
: ${BEE_DOWNLOADDIR:=${BEE_REPOSITORY_PREFIX}/downloads}
}

Expand Down Expand Up @@ -237,19 +293,19 @@ function expand_prefix_variables() {

function config_init() {
config_init_base_config
config_handle_deprecated_config
config_load_local_config
config_load_user_config
config_load_system_config
config_verify_builtin_config
config_verify_builtin_prefixes
config_handle_deprecated_config
}

function config_export() {
export BEE_REPOSITORY_PREFIX
export BEE_REPOSITORY_BEEDIR
export BEE_REPOSITORY_PKGDIR
export BEE_REPOSITORY_BUILDARCHIVEDIR
export BEE_BEEDIR
export BEE_PKGDIR
export BEE_BUILDARCHIVEDIR
export BEE_DOWNLOADDIR
export BEE_METADIR
export BEE_CACHEDIR
Expand Down
44 changes: 22 additions & 22 deletions src/beesh.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -119,22 +119,22 @@ function check_repositories() {
r=0
print_info "==> checking repositories .."

mkdir -pv ${BEE_REPOSITORY_BEEDIR}
mkdir -pv ${BEE_REPOSITORY_PKGDIR}
mkdir -pv ${BEE_REPOSITORY_BUILDARCHIVEDIR}
mkdir -pv ${BEE_BEEDIR}
mkdir -pv ${BEE_PKGDIR}
mkdir -pv ${BEE_BUILDARCHIVEDIR}

if [ ! -w "${BEE_REPOSITORY_BEEDIR}" ] ; then
print_error " !! ${BEE_REPOSITORY_BEEDIR} not writable"
if [ ! -w "${BEE_BEEDIR}" ] ; then
print_error " !! ${BEE_BEEDIR} not writable"
r=1
fi

if [ ! -w "${BEE_REPOSITORY_PKGDIR}" ] ; then
print_error " !! ${BEE_REPOSITORY_PKGDIR} not writable"
if [ ! -w "${BEE_PKGDIR}" ] ; then
print_error " !! ${BEE_PKGDIR} not writable"
r=1
fi

if [ ! -w "${BEE_REPOSITORY_BUILDARCHIVEDIR}" ] ; then
print_error " !! ${BEE_REPOSITORY_BEEDIR} not writable"
if [ ! -w "${BEE_BUILDARCHIVEDIR}" ] ; then
print_error " !! ${BEE_BUILDARCHIVEDIR} not writable"
r=1
fi

Expand Down Expand Up @@ -390,12 +390,12 @@ function bee_pkg_pack() {
cp ${p} ${D}/PATCHES
done

if [ ! -d "${BEE_REPOSITORY_PKGDIR}" ] ; then
mkdir -pv ${BEE_REPOSITORY_PKGDIR}
if [ ! -d "${BEE_PKGDIR}" ] ; then
mkdir -pv ${BEE_PKGDIR}
fi

pkgname=${PKGALLPKG}.bee.tar.bz2
pkgfile=${BEE_REPOSITORY_PKGDIR}/${pkgname}
pkgfile=${BEE_PKGDIR}/${pkgname}

print_info " -> creating package ${pkgname} .."
print_info "${COLOR_CYAN}${pkgfile}"
Expand All @@ -418,27 +418,27 @@ function bee_pkg_pack() {
rm ${DUMP}

beefilename=${BEE##*/}
beefiledest=${BEE_REPOSITORY_BEEDIR}/${beefilename}
beefiledest=${BEE_BEEDIR}/${beefilename}

print_info "-> saving bee-file ${beefilename} .."
print_info "${COLOR_CYAN}${beefiledest}"

if [ ! -d "${BEE_REPOSITORY_BEEDIR}" ] ; then
mkdir -pv ${BEE_REPOSITORY_BEEDIR}
if [ ! -d "${BEE_BEEDIR}" ] ; then
mkdir -pv ${BEE_BEEDIR}
fi

cp -v ${BEE} ${BEE_REPOSITORY_BEEDIR}
cp -v ${BEE} ${BEE_BEEDIR}
}


function bee_archivebuild() {
[ "${OPT_ARCHIVE_BUILD}" != "yes" ] && return

if [ ! -d "${BEE_REPOSITORY_BUILDARCHIVEDIR}" ] ; then
mkdir -pv ${BEE_REPOSITORY_BUILDARCHIVEDIR}
if [ ! -d "${BEE_BUILDARCHIVEDIR}" ] ; then
mkdir -pv ${BEE_BUILDARCHIVEDIR}
fi

archive="${BEE_REPOSITORY_BUILDARCHIVEDIR}/${PKGALLPKG}.beebuild.tar.bz2"
archive="${BEE_BUILDARCHIVEDIR}/${PKGALLPKG}.beebuild.tar.bz2"

print_info " -> saving build environment.."
print_info "${COLOR_CYAN}${archive}"
Expand All @@ -453,10 +453,10 @@ function bee_archivebuild() {
--absolute-names \
${S} ${B} \
${bee_FETCHED_FILES[@]} \
${BEE_REPOSITORY_BEEDIR}/${BEE##*/} \
${BEE_BEEDIR}/${BEE##*/} \
--transform="s,^${BEEWORKDIR},${PKGALLPKG}," \
--transform="s,^${F},${PKGALLPKG}/files," \
--transform="s,^${BEE_REPOSITORY_BEEDIR},${PKGALLPKG}/files,"
--transform="s,^${BEE_BEEDIR},${PKGALLPKG}/files,"
}

function load_buildmagic() {
Expand Down Expand Up @@ -726,5 +726,5 @@ echo

if [ "${OPT_INSTALL}" = "yes" ] ; then
print_info "installing ${PKGALLPKG} .."
bee install ${OPT_FORCE:+-f} ${BEE_REPOSITORY_PKGDIR}/${PKGALLPKG}.bee.tar.bz2
bee install ${OPT_FORCE:+-f} ${BEE_PKGDIR}/${PKGALLPKG}.bee.tar.bz2
fi

0 comments on commit 441f298

Please sign in to comment.