support for manjaro-tools.conf override

This commit is contained in:
udeved 2014-12-08 22:16:06 +01:00
parent ee5f370d66
commit f376b0fe9b
4 changed files with 46 additions and 21 deletions

View file

@ -207,7 +207,7 @@ EOF
export LC_MESSAGES=C export LC_MESSAGES=C
load_config '@sysconfdir@' '@pkgdatadir@' load_config '@sysconfdir@/manjaro-tools.conf'
pkg_owner=${SUDO_USER:-$USER} pkg_owner=${SUDO_USER:-$USER}
@ -217,7 +217,9 @@ else
USER_HOME=$HOME USER_HOME=$HOME
fi fi
load_vars "$USER_HOME/.makepkg.conf" load_config "$USER_HOME/.config/.manjaro-tools.conf"
load_vars "$USER_HOME/.config/.makepkg.conf"
load_vars /etc/makepkg.conf load_vars /etc/makepkg.conf
pacman_conf_arch='default' pacman_conf_arch='default'
@ -276,7 +278,7 @@ chrootdir=${chroots}/${branch}/${arch}
pkg_dir_loaded=${pkg_dir} pkg_dir_loaded=${pkg_dir}
pkg_dir="${pkg_dir}/${branch}/${arch}" pkg_dir="${pkg_dir}/${branch}/${arch}"
pacman_conf="@pkgdatadir@/pacman-${pacman_conf_arch}.conf" load_pacman_conf "@pkgdatadir@/pacman-${pacman_conf_arch}.conf"
makepkg_conf="@pkgdatadir@/makepkg-${arch}.conf" makepkg_conf="@pkgdatadir@/makepkg-${arch}.conf"
pm_conf="@pkgdatadir@/pacman-mirrors-${branch}.conf" pm_conf="@pkgdatadir@/pacman-mirrors-${branch}.conf"

View file

@ -15,10 +15,6 @@ version=@version@
[[ -r @libdir@/util.sh ]] && source @libdir@/util.sh [[ -r @libdir@/util.sh ]] && source @libdir@/util.sh
# [[ -r @libdir@/util-mount.sh ]] && source @libdir@/util-mount.sh # [[ -r @libdir@/util-mount.sh ]] && source @libdir@/util-mount.sh
load_config '@sysconfdir@' '@pkgdatadir@'
load_desktop_definitions
# Prepare ${install_dir}/boot/ # Prepare ${install_dir}/boot/
make_boot() { make_boot() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
@ -211,7 +207,7 @@ display_settings(){
msg2 "branch: ${branch}" msg2 "branch: ${branch}"
msg2 "work_dir: ${work_dir}" msg2 "work_dir: ${work_dir}"
msg2 "target_dir: ${target_dir}" msg2 "target_dir: ${target_dir}"
msg2 "pac_conf: ${pac_conf}" msg2 "pacman_conf: ${pacman_conf}"
msg "ARGS:" msg "ARGS:"
msg2 "xorg_overlays: ${xorg_overlays}" msg2 "xorg_overlays: ${xorg_overlays}"
@ -348,7 +344,7 @@ make_pkgs_image() {
msg2 -"mount ${desktop}-image" msg2 -"mount ${desktop}-image"
mount -t aufs -o remount,append:${work_dir}/${desktop}-image=ro none ${work_dir}/pkgs-image mount -t aufs -o remount,append:${work_dir}/${desktop}-image=ro none ${work_dir}/pkgs-image
fi fi
pacman -v --config "${pac_conf}" --arch "${arch}" --root "${work_dir}/pkgs-image" --cache ${work_dir}/pkgs-image/opt/livecd/pkgs -Syw ${xorg_packages} --noconfirm pacman -v --config "${pacman_conf}" --arch "${arch}" --root "${work_dir}/pkgs-image" --cache ${work_dir}/pkgs-image/opt/livecd/pkgs -Syw ${xorg_packages} --noconfirm
if [ ! -z "${xorg_packages_cleanup}" ]; then if [ ! -z "${xorg_packages_cleanup}" ]; then
for xorg_clean in ${xorg_packages_cleanup}; for xorg_clean in ${xorg_packages_cleanup};
do rm ${work_dir}/pkgs-image/opt/livecd/pkgs/${xorg_clean} do rm ${work_dir}/pkgs-image/opt/livecd/pkgs/${xorg_clean}
@ -441,9 +437,9 @@ make_lng_image() {
mount -t aufs -o remount,append:${work_dir}/${desktop}-image=ro none ${work_dir}/lng-image mount -t aufs -o remount,append:${work_dir}/${desktop}-image=ro none ${work_dir}/lng-image
fi fi
if ${kde_lng_packages}; then if ${kde_lng_packages}; then
pacman -v --config "${pac_conf}" --arch "${arch}" --root "${work_dir}/lng-image" --cache ${work_dir}/lng-image/opt/livecd/lng -Syw ${lng_packages} ${lng_packages_kde} --noconfirm pacman -v --config "${pacman_conf}" --arch "${arch}" --root "${work_dir}/lng-image" --cache ${work_dir}/lng-image/opt/livecd/lng -Syw ${lng_packages} ${lng_packages_kde} --noconfirm
else else
pacman -v --config "${pac_conf}" --arch "${arch}" --root "${work_dir}/lng-image" --cache ${work_dir}/lng-image/opt/livecd/lng -Syw ${lng_packages} --noconfirm pacman -v --config "${pacman_conf}" --arch "${arch}" --root "${work_dir}/lng-image" --cache ${work_dir}/lng-image/opt/livecd/lng -Syw ${lng_packages} --noconfirm
fi fi
if [ ! -z "${lng_packages_cleanup}" ]; then if [ ! -z "${lng_packages_cleanup}" ]; then
for lng_clean in ${lng_packages_cleanup}; for lng_clean in ${lng_packages_cleanup};
@ -460,6 +456,20 @@ make_lng_image() {
fi fi
} }
load_config '@sysconfdir@/manjaro-tools.conf'
iso_owner=${SUDO_USER:-$USER}
if [[ -n $SUDO_USER ]]; then
eval "USER_HOME=~$SUDO_USER"
else
USER_HOME=$HOME
fi
load_config "$USER_HOME/.config/.manjaro-tools.conf"
load_desktop_definitions
clean_first=false clean_first=false
pretend=false pretend=false
high_compression=false high_compression=false
@ -468,13 +478,15 @@ overwrite=false
xorg_overlays=false xorg_overlays=false
kde_lng_packages=false kde_lng_packages=false
pacman_conf_arch='default'
usage() { usage() {
echo "Usage: ${0##*/} [options]" echo "Usage: ${0##*/} [options]"
echo " -a <arch> Set arch [default: ${arch}]" echo " -a <arch> Set arch [default: ${arch}]"
echo " -b <branch> Set branch [default: ${branch}]" echo " -b <branch> Set branch [default: ${branch}]"
echo " -r <dir> Work directory [default: ${work_dir}]" echo " -r <dir> Work directory [default: ${work_dir}]"
echo " -t <dir> Target iso directory [default: ${target_dir}]" echo " -t <dir> Target iso directory [default: ${target_dir}]"
echo " -i <file> Config file for pacman [default: ${pac_conf}]" echo " -i <file> Config file for pacman [default: ${pacman_conf}]"
echo ' -c Clean work dir' echo ' -c Clean work dir'
echo ' -v Verbose' echo ' -v Verbose'
echo ' -f Overwrite' echo ' -f Overwrite'
@ -504,7 +516,7 @@ while getopts "${opts}" arg; do
z) high_compression=true; iso_args+=(-x) ;; z) high_compression=true; iso_args+=(-x) ;;
x) xorg_overlays=true ;; x) xorg_overlays=true ;;
k) kde_lng_packages=true ;; k) kde_lng_packages=true ;;
i) pac_conf="$OPTARG" ;; i) pacman_conf="$OPTARG" ;;
q) pretend=true ;; q) pretend=true ;;
h) usage ;; h) usage ;;
esac esac
@ -514,12 +526,18 @@ shift $(($OPTIND - 1))
work_dir=${work_dir}/${desktop}/${arch} work_dir=${work_dir}/${desktop}/${arch}
create_args+=(-v -a ${arch} -D ${install_dir} -C ${pac_conf}) create_args+=(-v -a ${arch} -D ${install_dir} -C ${pacman_conf})
iso_args+=(-a ${arch} -D ${install_dir} -L ${iso_label} -c ${compression}) iso_args+=(-a ${arch} -D ${install_dir} -L ${iso_label} -c ${compression})
iso_file="${target_dir}/${img_name}-${desktop}-${iso_version}-${arch}.iso" iso_file="${target_dir}/${img_name}-${desktop}-${iso_version}-${arch}.iso"
if [[ "$arch" == 'x86_64' ]]; then
pacman_conf_arch='multilib'
fi
load_pacman_conf "@pkgdatadir@/pacman-${pacman_conf_arch}.conf"
check_root "$0" "${orig_argv[@]}" check_root "$0" "${orig_argv[@]}"
if [ "${arch}" == "i686" ]; then if [ "${arch}" == "i686" ]; then
@ -559,8 +577,6 @@ if [ -e "${pkgsfile}" ] ; then
fi fi
fi fi
iso_owner=${SUDO_USER:-$USER}
${pretend} && display_settings && exit 1 ${pretend} && display_settings && exit 1
${clean_first} && clean_up ${clean_first} && clean_up

View file

@ -35,7 +35,7 @@
# target_dir=/srv/manjaro-release-iso # target_dir=/srv/manjaro-release-iso
# custom pacman.conf # custom pacman.conf
# pac_conf="/usr/share/manjaro-tools/pacman-default.conf" # pacman_conf="/usr/share/manjaro-tools/pacman-default.conf"
# iso_label="MJRO0811" # iso_label="MJRO0811"

View file

@ -162,7 +162,10 @@ load_vars() {
} }
load_config(){ load_config(){
manjaro_tools_conf="$1/manjaro-tools.conf"
[[ -f $1 ]] || return 1
local manjaro_tools_conf="$1"
[[ -r ${manjaro_tools_conf} ]] && source ${manjaro_tools_conf} [[ -r ${manjaro_tools_conf} ]] && source ${manjaro_tools_conf}
@ -315,10 +318,14 @@ load_config(){
compression=xz compression=xz
fi fi
if [[ -n ${pac_conf} ]];then return 0
pac_conf=${pac_conf} }
load_pacman_conf(){
if [[ -n ${pacman_conf} ]];then
pacman_conf=${pacman_conf}
else else
pac_conf="$2/pacman-mutilib.conf" pacman_conf="$1"
fi fi
} }