diff --git a/bin/buildiso.in b/bin/buildiso.in index 0b1dd48..c53f141 100755 --- a/bin/buildiso.in +++ b/bin/buildiso.in @@ -80,6 +80,15 @@ make_overlay() { msg2 "Copying overlay-livecd to ${work_dir}/overlay ..." cp -a overlay-livecd/* ${work_dir}/overlay + if [[ -d overlay-livecd-openrc ]]; then + msg2 "Copying overlay-livecd-openrc/ to ${work_dir}/overlay ..." + cp -a overlay-livecd-openrc/* ${work_dir}/overlay + fi + if [[ -d overlay-livecd-systemd ]]; then + msg2 "Copying overlay-livecd-systemd/ to ${work_dir}/overlay ..." + cp -a overlay-livecd-systemd/* ${work_dir}/overlay + fi + copy_livecd '@pkgdatadir@' #wget -O ${work_dir}/overlay/etc/pacman.d/mirrorlist http://git.manjaro.org/packages-sources/basis/blobs/raw/master/pacman-mirrorlist/mirrorlist diff --git a/bin/chroot-run.in b/bin/chroot-run.in index f3e00c8..40c9e4e 100644 --- a/bin/chroot-run.in +++ b/bin/chroot-run.in @@ -74,7 +74,11 @@ copy_hostconf () { [[ -n $mirrors_conf ]] && cp ${mirrors_conf} "${working_dir}/etc/pacman-mirrors.conf" local branch=$(cat "${working_dir}/etc/pacman-mirrors.conf" | grep '^Branch=' | sed 's/Branch=\s*//g') + host_mirror=$(echo "$host_mirror" | sed -E "s#/branch/#/${branch}/#") + + cp "$working_dir/etc/pacman.d/mirrorlist" "$working_dir/etc/pacman.d/mirrorlist.orig" + echo "Server = $host_mirror" >"$working_dir/etc/pacman.d/mirrorlist" sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${cache_dirs[@]})|g" -i "$working_dir/etc/pacman.conf" diff --git a/bin/mkiso.in b/bin/mkiso.in index 5e72873..baa1fbb 100755 --- a/bin/mkiso.in +++ b/bin/mkiso.in @@ -120,11 +120,6 @@ msg2 "image name: ${imgname}" msg2 "pacman_mirrors: ${MIRRORS}" clean_up(){ - # Cleanup - find "${work_dir}" -name *.pacnew -name *.pacsave -name *.pacorig -delete - - - msg2 "Cleaning up what we can" if [ -d "${work_dir}/${IMAGE_FOLDER}/boot/" ]; then # remove the initcpio images that were generated for the host system @@ -152,6 +147,35 @@ clean_up(){ find "${work_dir}/${IMAGE_FOLDER}/tmp" -mindepth 1 -delete >/dev/null } +_mkchroot(){ + local ret + #mkdir -p "${work_dir}/${IMAGE_FOLDER}/var/lib/pacman" + if "${QUIET}"; then + setarch "${ARCH}" \ + mkchroot -C ${PACCONFIG} \ + -S ${MIRRORS} \ + "${work_dir}/${IMAGE_FOLDER}" $@ &> /dev/null + ret=$? + else + setarch "${ARCH}" \ + mkchroot -C ${PACCONFIG} \ + -S ${MIRRORS} \ + "${work_dir}/${IMAGE_FOLDER}" $@ + ret=$? + fi + + if [ -e "${work_dir}/root-image/etc/locale.gen" ]; then + cp ${work_dir}/root-image/etc/locale.gen ${work_dir}/root-image/etc/locale.gen.bak + fi + + # Cleanup + find "${work_dir}" -name *.pacnew -name *.pacsave -name *.pacorig -delete + + if [ $ret -ne 0 ]; then + exit 1 + fi +} + command_create () { #msg "Creating working directory: ${work_dir}" mkdir -p "${work_dir}/iso/${INSTALL_DIR}/${ARCH}" @@ -159,28 +183,10 @@ command_create () { if [ ! -z "${PKGLIST}" ]; then #msg2 "Installing packages to '${work_dir}/${IMAGE_FOLDER}/'" - local ret - #mkdir -p "${work_dir}/${IMAGE_FOLDER}/var/lib/pacman" - if "${QUIET}"; then - setarch "${ARCH}" \ - mkchroot -C ${PACCONFIG} \ - -S ${MIRRORS} \ - "${work_dir}/${IMAGE_FOLDER}" ${PKGLIST} &> /dev/null || die "Error! Exiting." - ret=$? - else - setarch "${ARCH}" \ - mkchroot -C ${PACCONFIG} \ - -S ${MIRRORS} \ - "${work_dir}/${IMAGE_FOLDER}" ${PKGLIST} || die "Error! Exiting." - ret=$? - fi - - clean_up - - if [ -e "${work_dir}/root-image/etc/locale.gen" ]; then - cp ${work_dir}/root-image/etc/locale.gen ${work_dir}/root-image/etc/locale.gen.bak - fi + _mkchroot "${PKGLIST}" fi + + clean_up } # _mksquash dirname diff --git a/lib/util-iso.sh b/lib/util-iso.sh index ab18f65..1526ef5 100644 --- a/lib/util-iso.sh +++ b/lib/util-iso.sh @@ -147,7 +147,7 @@ configue_displaymanager(){ msg2 "Configuring Displaymanager ..." # do_setuplightdm if [ -e "$1/usr/bin/lightdm" ] ; then - mkdir -p /run/lightdm > /dev/null + #mkdir -p /run/lightdm > /dev/null #getent group lightdm > /dev/null 2>&1 || groupadd -g 620 lightdm #getent passwd lightdm > /dev/null 2>&1 || useradd -c 'LightDM Display Manager' -u 620 -g lightdm -d /var/run/lightdm -s /usr/bin/nologin lightdm #passwd -l lightdm > /dev/null @@ -351,35 +351,32 @@ configue_displaymanager(){ # $1: chroot configue_accountsservice(){ - #echo "Icon=/var/lib/AccountsService/icons/${username}.png" >> $1/var/lib/AccountsService/users/${username} msg2 "Configuring AcooutsService ..." if [ -d "$1/var/lib/AccountsService/users" ] ; then echo "[User]" > $1/var/lib/AccountsService/users/${username} - if [ -e "/usr/bin/startxfce4" ] ; then + if [ -e "$1/usr/bin/startxfce4" ] ; then echo "XSession=xfce" >> $1/var/lib/AccountsService/users/${username} fi - if [ -e "/usr/bin/cinnamon-session" ] ; then + if [ -e "$1/usr/bin/cinnamon-session" ] ; then echo "XSession=cinnamon" >> $1/var/lib/AccountsService/users/${username} fi - if [ -e "/usr/bin/mate-session" ] ; then + if [ -e "$1/usr/bin/mate-session" ] ; then echo "XSession=mate" >> $1/var/lib/AccountsService/users/${username} fi - if [ -e "/usr/bin/enlightenment_start" ] ; then + if [ -e "$1/usr/bin/enlightenment_start" ] ; then echo "XSession=enlightenment" >> $1/var/lib/AccountsService/users/${username} fi - if [ -e "/usr/bin/openbox-session" ] ; then + if [ -e "$1/usr/bin/openbox-session" ] ; then echo "XSession=openbox" >> $1/var/lib/AccountsService/users/${username} fi - if [ -e "/usr/bin/startlxde" ] ; then + if [ -e "$1/usr/bin/startlxde" ] ; then echo "XSession=LXDE" >> $1/var/lib/AccountsService/users/${username} fi - if [ -e "/usr/bin/lxqt-session" ] ; then + if [ -e "$1/usr/bin/lxqt-session" ] ; then echo "XSession=LXQt" >> $1/var/lib/AccountsService/users/${username} fi echo "Icon=/var/lib/AccountsService/icons/${username}.png" >> $1/var/lib/AccountsService/users/${username} fi - - } configure_xorg_drivers(){ @@ -559,39 +556,6 @@ clean_up(){ fi } -#$1: packages - -make_root(){ - #msg "Creating working directory: ${work_dir}" - mkdir -p "${work_dir}/iso/${INSTALL_DIR}/${arch}" - #mkdir -p "${work_dir}/${IMAGE_FOLDER}/" - - if [ ! -z "${PKGLIST}" ]; then - #msg2 "Installing packages to '${work_dir}/${IMAGE_FOLDER}/'" - local ret - #mkdir -p "${work_dir}/${IMAGE_FOLDER}/var/lib/pacman" - if "${QUIET}"; then - setarch "${ARCH}" \ - mkchroot -C ${PACCONFIG} \ - -S ${MIRRORS} \ - "${work_dir}/${IMAGE_FOLDER}" ${PKGLIST} &> /dev/null || die "Error! Exiting." - ret=$? - else - setarch "${ARCH}" \ - mkchroot -C ${PACCONFIG} \ - -S ${MIRRORS} \ - "${work_dir}/${IMAGE_FOLDER}" ${PKGLIST} || die "Error! Exiting." - ret=$? - fi - - clean_up - - if [ -e "${work_dir}/root-image/etc/locale.gen" ]; then - cp ${work_dir}/root-image/etc/locale.gen ${work_dir}/root-image/etc/locale.gen.bak - fi - fi -} - # $1: work dir # $2: cahe dir # $3: pkglist