fixes and tweaks

This commit is contained in:
udeved 2015-01-29 07:24:30 +01:00
parent 0db6d71897
commit 553a92d601
3 changed files with 188 additions and 235 deletions

View file

@ -10,109 +10,65 @@
# GNU General Public License for more details. # GNU General Public License for more details.
write_calamares_machineid_conf(){ write_calamares_machineid_conf(){
local _conf="$1/etc/calamares/modules/machineid.conf" local conf="$1/etc/calamares/modules/machineid.conf"
echo "systemd: false" > $_conf echo "systemd: false" > $conf
echo "dbus: true" >> $_conf echo "dbus: true" >> $conf
echo "symlink: false" >> $_conf echo "symlink: false" >> $conf
} }
write_calamares_dm_conf(){ write_calamares_dm_conf(){
# write the conf to overlay-image/etc/calamares ? # write the conf to livecd-image/etc/calamares ?
local cdm="$1/etc/calamares/modules/displaymanager.conf" local conf="$1/etc/calamares/modules/displaymanager.conf"
echo "displaymanagers:" > "$cdm" echo "displaymanagers:" > "$conf"
echo " - ${displaymanager}" >> "$cdm" echo " - ${displaymanager}" >> "$conf"
echo '' >> "$cdm" echo '' >> "$conf"
echo '#executable: "startkde"' >> "$cdm" echo '#executable: "startkde"' >> "$conf"
echo '#desktopFile: "plasma"' >> "$cdm" echo '#desktopFile: "plasma"' >> "$conf"
echo '' >> "$cdm" echo '' >> "$conf"
echo "basicSetup: false" >> "$cdm" echo "basicSetup: false" >> "$conf"
} }
write_calamares_initcpio_conf(){ write_calamares_initcpio_conf(){
local INITCPIO="$1/usr/share/calamares/modules/initcpio.conf" local conf="$1/usr/share/calamares/modules/initcpio.conf"
if [ ! -e $INITCPIO ] ; then if [ ! -e $conf ] ; then
echo "---" > "$INITCPIO" echo "---" > "$conf"
echo "kernel: ${manjaro_kernel}" >> "$INITCPIO" echo "kernel: ${manjaro_kernel}" >> "$conf"
fi else
sed -e "s|_kernel_|$manjaro_kernel|g" -i "$conf"
fi
} }
configure_installer () { configure_installer () {
cmd=$(echo "QT_STYLE_OVERRIDE=gtk" >> /etc/environment) sed -i "s|_root-image_|/bootmnt/${install_dir}/${arch}/root-image.sqfs|g" $1
if [ -e "$1" ] ; then sed -i "s|_desktop-image_|/bootmnt/${install_dir}/${arch}/${custom}-image.sqfs|g" $1
sed -i "s|_root-image_|/bootmnt/${install_dir}/_ARCH_/root-image.sqfs|g" $1 echo "QT_STYLE_OVERRIDE=gtk" >> /etc/environment
if [ -e "/bootmnt/${install_dir}/${arch}/xfce-image.sqfs" ] ; then
sed -i "s|_desktop-image_|/bootmnt/${install_dir}/_ARCH_/xfce-image.sqfs|g" $1
$cmd
fi
if [ -e "/bootmnt/${install_dir}/${arch}/gnome-image.sqfs" ] ; then
sed -i "s|_desktop-image_|/bootmnt/${install_dir}/_ARCH_/gnome-image.sqfs|g" $1
$cmd
fi
if [ -e "/bootmnt/${install_dir}/${arch}/cinnamon-image.sqfs" ] ; then
sed -i "s|_desktop-image_|/bootmnt/${install_dir}/_ARCH_/cinnamon-image.sqfs|g" $1
$cmd
fi
if [ -e "/bootmnt/${install_dir}/${arch}/openbox-image.sqfs" ] ; then
sed -i "s|_desktop-image_|/bootmnt/${install_dir}/_ARCH_/openbox-image.sqfs|g" $1
$cmd
fi
if [ -e "/bootmnt/${install_dir}/${arch}/mate-image.sqfs" ] ; then
sed -i "s|_desktop-image_|/bootmnt/${install_dir}/_ARCH_/mate-image.sqfs|g" $1
$cmd
fi
if [ -e "/bootmnt/${install_dir}/${arch}/kde-image.sqfs" ] ; then
sed -i "s|_desktop-image_|/bootmnt/${install_dir}/_ARCH_/kde-image.sqfs|g" $1
fi
if [ -e "/bootmnt/${install_dir}/${arch}/lxde-image.sqfs" ] ; then
sed -i "s|_desktop-image_|/bootmnt/${install_dir}/_ARCH_/lxde-image.sqfs|g" $1
$cmd
fi
if [ -e "/bootmnt/${install_dir}/${arch}/lxqt-image.sqfs" ] ; then
sed -i "s|_desktop-image_|/bootmnt/${install_dir}/_ARCH_/lxqt-image.sqfs|g" $1
fi
if [ -e "/bootmnt/${install_dir}/${arch}/enlightenment-image.sqfs" ] ; then
sed -i "s|_desktop-image_|/bootmnt/${install_dir}/_ARCH_/enlightenment-image.sqfs|g" $1
$cmd
fi
if [ -e "/bootmnt/${install_dir}/${arch}/pekwm-image.sqfs" ] ; then
sed -i "s|_desktop-image_|/bootmnt/${install_dir}/_ARCH_/pekwm-image.sqfs|g" $1
$cmd
fi
if [ -e "/bootmnt/${install_dir}/${arch}/custom-image.sqfs" ] ; then
sed -i "s|_desktop-image_|/bootmnt/${install_dir}/_ARCH_/custom-image.sqfs|g" $1
fi
if [ "${arch}" == "i686" ] ; then
sed -i "s|_ARCH_|i686|g" $1
else
sed -i "s|_ARCH_|x86_64|g" $1
fi
fi
} }
configure_calamares(){ configure_calamares(){
if [[ -f $1/usr/bin/calamares ]];then if [[ -f $1/usr/bin/calamares ]];then
msg2 "Configuring Calamares ..." msg2 "Configuring Calamares ..."
mkdir -p $1/etc/calamares/modules mkdir -p $1/etc/calamares/modules
local UNPACKFS="$1/usr/share/calamares/modules/unpackfs.conf" local conf="$1/usr/share/calamares/modules/unpackfs.conf"
if [ ! -e $UNPACKFS ] ; then if [ ! -e $conf ] ; then
echo "---" > "$UNPACKFS" echo "---" > "$conf"
echo "unpack:" >> "$UNPACKFS" echo "unpack:" >> "$conf"
echo " - source: \"/bootmnt/${install_dir}/${arch}/root-image.sqfs\"" >> "$UNPACKFS" echo " - source: \"/bootmnt/${install_dir}/${arch}/root-image.sqfs\"" >> "$conf"
echo " sourcefs: \"squashfs\"" >> "$UNPACKFS" echo " sourcefs: \"squashfs\"" >> "$conf"
echo " destination: \"\"" >> "$UNPACKFS" echo " destination: \"\"" >> "$conf"
echo " - source: \"/bootmnt/${install_dir}/${arch}/${desktop}-image.sqfs\"" >> "$UNPACKFS" echo " - source: \"/bootmnt/${install_dir}/${arch}/${custom}-image.sqfs\"" >> "$conf"
echo " sourcefs: \"squashfs\"" >> "$UNPACKFS" echo " sourcefs: \"squashfs\"" >> "$conf"
echo " destination: \"\"" >> "$UNPACKFS" echo " destination: \"\"" >> "$conf"
else
configure_installer "$conf"
fi fi
write_calamares_dm_conf $1 write_calamares_dm_conf $1
write_calamares_initcpio_conf $1 write_calamares_initcpio_conf $1
[[ "${initsys}" == "openrc" ]] && write_calamares_machineid_conf $1 [[ "${initsys}" -eq "openrc" ]] && write_calamares_machineid_conf $1
configure_installer "$UNPACKFS"
mkdir -p $1/home/${username}/Desktop mkdir -p $1/home/${username}/Desktop
cp $1/usr/share/applications/calamares.desktop $1/home/${username}/Desktop/calamares.desktop cp $1/usr/share/applications/calamares.desktop $1/home/${username}/Desktop/calamares.desktop
chmod a+x $1/home/${username}/Desktop/calamares.desktop chmod a+x $1/home/${username}/Desktop/calamares.desktop
@ -122,11 +78,11 @@ configure_calamares(){
configure_thus(){ configure_thus(){
if [[ -f $1/usr/bin/thus ]];then if [[ -f $1/usr/bin/thus ]];then
msg2 "Configuring Thus ..." msg2 "Configuring Thus ..."
local conf_file="$1/etc/thus.conf" local conf="$1/etc/thus.conf"
local rel=$(cat $1/etc/lsb-release | grep DISTRIB_RELEASE | cut -d= -f2) local rel=$(cat $1/etc/lsb-release | grep DISTRIB_RELEASE | cut -d= -f2)
sed -i "s|_version_|$rel|g" $conf_file sed -i "s|_version_|$rel|g" $conf
sed -i "s|_kernel_|$manjaro_kernel|g" $conf_file sed -i "s|_kernel_|$manjaro_kernel|g" $conf
configure_installer "$conf_file" configure_installer "$conf"
mkdir -p $1/home/${username}/Desktop mkdir -p $1/home/${username}/Desktop
cp $1/usr/share/applications/thus.desktop $1/home/${username}/Desktop/thus.desktop cp $1/usr/share/applications/thus.desktop $1/home/${username}/Desktop/thus.desktop
chmod a+x $1/home/${username}/Desktop/thus.desktop chmod a+x $1/home/${username}/Desktop/thus.desktop

View file

@ -115,9 +115,9 @@ configure_hosts(){
# $1: chroot # $1: chroot
configure_displaymanager(){ configure_displaymanager(){
msg2 "Configuring Displaymanager ..." msg2 "Configuring Displaymanager ..."
case ${displaymanager} in case ${displaymanager} in
'lightdm') 'lightdm')
chroot $1 groupadd -r autologin chroot $1 groupadd -r autologin
@ -230,24 +230,24 @@ configure_displaymanager(){
sed -i -e 's|^.*session=.*|session=/usr/bin/i3|' $1/etc/lxdm/lxdm.conf sed -i -e 's|^.*session=.*|session=/usr/bin/i3|' $1/etc/lxdm/lxdm.conf
fi fi
;; ;;
*) *)
break break
;; ;;
esac esac
if [ ${initsys} == 'openrc' ];then if [[ ${initsys} -eq "openrc" ]];then
local _conf_xdm='DISPLAYMANAGER="'${displaymanager}'"' local conf='DISPLAYMANAGER="'${displaymanager}'"'
sed -i -e "s|^.*DISPLAYMANAGER=.*|${_conf_xdm}|" $1/etc/conf.d/xdm sed -i -e "s|^.*DISPLAYMANAGER=.*|${conf}|" $1/etc/conf.d/xdm
[[ ! -d $1/etc/runlevels/default ]] && mkdir -p $1/etc/runlevels/default [[ ! -d $1/etc/runlevels/default ]] && mkdir -p $1/etc/runlevels/default
chroot $1 rc-update add xdm default &> /dev/null chroot $1 rc-update add xdm default &> /dev/null
else else
if [ -e $1/etc/plymouth/plymouthd.conf ] ; then if [[ -f $1/etc/plymouth/plymouthd.conf ]] ; then
chroot $1 systemctl enable ${displaymanager}-plymouth &> /dev/null chroot $1 systemctl enable ${displaymanager}-plymouth &> /dev/null
else else
chroot $1 systemctl enable ${displaymanager} &> /dev/null chroot $1 systemctl enable ${displaymanager} &> /dev/null
fi fi
fi fi
msg2 "Configured: ${displaymanager}" msg2 "Configured: ${displaymanager}"
} }
@ -258,26 +258,26 @@ configure_xorg_drivers(){
mkdir -p $1/var/lib/mhwd/db/pci/graphic_drivers/catalyst/ mkdir -p $1/var/lib/mhwd/db/pci/graphic_drivers/catalyst/
touch $1/var/lib/mhwd/db/pci/graphic_drivers/catalyst/MHWDCONFIG touch $1/var/lib/mhwd/db/pci/graphic_drivers/catalyst/MHWDCONFIG
fi fi
# Disable Nvidia if not present # Disable Nvidia if not present
if [ -z "$(ls $1/opt/livecd/pkgs/ | grep nvidia-utils 2> /dev/null)" ]; then if [ -z "$(ls $1/opt/livecd/pkgs/ | grep nvidia-utils 2> /dev/null)" ]; then
msg2 "Disabling Nvidia driver" msg2 "Disabling Nvidia driver"
mkdir -p $1/var/lib/mhwd/db/pci/graphic_drivers/nvidia/ mkdir -p $1/var/lib/mhwd/db/pci/graphic_drivers/nvidia/
touch $1/var/lib/mhwd/db/pci/graphic_drivers/nvidia/MHWDCONFIG touch $1/var/lib/mhwd/db/pci/graphic_drivers/nvidia/MHWDCONFIG
fi fi
if [ -z "$(ls $1/opt/livecd/pkgs/ | grep nvidia-utils 2> /dev/null)" ]; then if [ -z "$(ls $1/opt/livecd/pkgs/ | grep nvidia-utils 2> /dev/null)" ]; then
msg2 "Disabling Nvidia Bumblebee driver" msg2 "Disabling Nvidia Bumblebee driver"
mkdir -p $1/var/lib/mhwd/db/pci/graphic_drivers/hybrid-intel-nvidia-bumblebee/ mkdir -p $1/var/lib/mhwd/db/pci/graphic_drivers/hybrid-intel-nvidia-bumblebee/
touch $1/var/lib/mhwd/db/pci/graphic_drivers/hybrid-intel-nvidia-bumblebee/MHWDCONFIG touch $1/var/lib/mhwd/db/pci/graphic_drivers/hybrid-intel-nvidia-bumblebee/MHWDCONFIG
fi fi
if [ -z "$(ls $1/opt/livecd/pkgs/ | grep nvidia-304xx-utils 2> /dev/null)" ]; then if [ -z "$(ls $1/opt/livecd/pkgs/ | grep nvidia-304xx-utils 2> /dev/null)" ]; then
msg2 "Disabling Nvidia 304xx driver" msg2 "Disabling Nvidia 304xx driver"
mkdir -p $1/var/lib/mhwd/db/pci/graphic_drivers/nvidia-304xx/ mkdir -p $1/var/lib/mhwd/db/pci/graphic_drivers/nvidia-304xx/
touch $1/var/lib/mhwd/db/pci/graphic_drivers/nvidia-304xx/MHWDCONFIG touch $1/var/lib/mhwd/db/pci/graphic_drivers/nvidia-304xx/MHWDCONFIG
fi fi
if [ -z "$(ls $1/opt/livecd/pkgs/ | grep nvidia-340xx-utils 2> /dev/null)" ]; then if [ -z "$(ls $1/opt/livecd/pkgs/ | grep nvidia-340xx-utils 2> /dev/null)" ]; then
msg2 "Disabling Nvidia 340xx driver" msg2 "Disabling Nvidia 340xx driver"
mkdir -p $1/var/lib/mhwd/db/pci/graphic_drivers/nvidia-340xx/ mkdir -p $1/var/lib/mhwd/db/pci/graphic_drivers/nvidia-340xx/

View file

@ -16,10 +16,10 @@
run_log(){ run_log(){
logfile=${cache_dir_iso}/${buildset_iso}.log logfile=${cache_dir_iso}/${buildset_iso}.log
logpipe=$(mktemp -u "/tmp/logpipe.XXXXXXXX") logpipe=$(mktemp -u "/tmp/logpipe.XXXXXXXX")
mkfifo "$logpipe" mkfifo "$logpipe"
tee "$logfile" < "$logpipe" & tee "$logfile" < "$logpipe" &
local teepid=$! local teepid=$!
@ -59,11 +59,11 @@ copy_startup_scripts(){
msg2 "Copying startup scripts ..." msg2 "Copying startup scripts ..."
cp ${PKGDATADIR}/scripts/livecd $1 cp ${PKGDATADIR}/scripts/livecd $1
cp ${PKGDATADIR}/scripts/mhwd-live $1 cp ${PKGDATADIR}/scripts/mhwd-live $1
# fix script permissions # fix script permissions
chmod +x $1/livecd chmod +x $1/livecd
chmod +x $1/mhwd-live chmod +x $1/mhwd-live
# cp ${BINDIR}/chroot-run $1 # cp ${BINDIR}/chroot-run $1
# fix paths # fix paths
@ -71,22 +71,20 @@ copy_startup_scripts(){
} }
copy_livecd_helpers(){ copy_livecd_helpers(){
msg2 "Copying livecd helpers ..." msg2 "Copying livecd helpers ..."
[[ ! -d $1 ]] && mkdir -p $1 [[ ! -d $1 ]] && mkdir -p $1
cp ${LIBDIR}/util-livecd.sh $1 cp ${LIBDIR}/util-livecd.sh $1
cp ${LIBDIR}/util-livecd-calamares.sh $1
cp ${LIBDIR}/util-msg.sh $1 cp ${LIBDIR}/util-msg.sh $1
# cp ${LIBDIR}/util-mount.sh $1
cp ${LIBDIR}/util.sh $1 cp ${LIBDIR}/util.sh $1
# cp ${LIBDIR}/util-mount.sh $1
if [[ -f ${USER_CONFIG}/manjaro-tools.conf ]]; then if [[ -f ${USER_CONFIG}/manjaro-tools.conf ]]; then
msg2 "Copying ${USER_CONFIG}/manjaro-tools.conf ..." msg2 "Copying ${USER_CONFIG}/manjaro-tools.conf ..."
cp ${USER_CONFIG}/manjaro-tools.conf $1 cp ${USER_CONFIG}/manjaro-tools.conf $1
else else
msg2 "Copying ${manjaro_tools_conf} ..." msg2 "Copying ${manjaro_tools_conf} ..."
cp ${manjaro_tools_conf} $1 cp ${manjaro_tools_conf} $1
fi fi
} }
copy_cache_lng(){ copy_cache_lng(){
@ -119,33 +117,33 @@ clean_up(){
configure_custom_image(){ configure_custom_image(){
msg3 "Configuring [${custom}-image]" msg3 "Configuring [${custom}-image]"
configure_plymouth "${work_dir}/${custom}-image" configure_plymouth "${work_dir}/${custom}-image"
configure_displaymanager "${work_dir}/${custom}-image" configure_displaymanager "${work_dir}/${custom}-image"
configure_services "${work_dir}/${custom}-image" configure_services "${work_dir}/${custom}-image"
msg3 "Done configuring [${custom}-image]" msg3 "Done configuring [${custom}-image]"
} }
configure_livecd_image(){ configure_livecd_image(){
msg3 "Configuring [livecd-image]" msg3 "Configuring [livecd-image]"
configure_hostname "${work_dir}/livecd-image" configure_hostname "${work_dir}/livecd-image"
configure_hosts "${work_dir}/livecd-image" configure_hosts "${work_dir}/livecd-image"
configure_accountsservice "${work_dir}/livecd-image" "${username}" configure_accountsservice "${work_dir}/livecd-image" "${username}"
configure_user "${work_dir}/livecd-image" configure_user "${work_dir}/livecd-image"
configure_services_live "${work_dir}/livecd-image" configure_services_live "${work_dir}/livecd-image"
configure_calamares "${work_dir}/livecd-image" configure_calamares "${work_dir}/livecd-image"
configure_thus "${work_dir}/livecd-image" configure_thus "${work_dir}/livecd-image"
msg3 "Done configuring [livecd-image]" msg3 "Done configuring [livecd-image]"
} }
@ -176,7 +174,7 @@ download_to_cache(){
make_iso() { make_iso() {
msg "Start [Build ISO]" msg "Start [Build ISO]"
touch "${work_dir}/iso/.miso" touch "${work_dir}/iso/.miso"
mkiso ${iso_args[*]} iso "${work_dir}" "${cache_dir_iso}/${iso_file}" mkiso ${iso_args[*]} iso "${work_dir}" "${cache_dir_iso}/${iso_file}"
chown -R "${OWNER}:users" "${cache_dir_iso}" chown -R "${OWNER}:users" "${cache_dir_iso}"
@ -237,97 +235,97 @@ mkiso_error_handler(){
# Base installation (root-image) # Base installation (root-image)
make_image_root() { make_image_root() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
msg "Prepare [Base installation] (root-image)" msg "Prepare [Base installation] (root-image)"
mkiso ${create_args[*]} -p "${packages}" -i "root-image" create "${work_dir}" || mkiso_error_handler mkiso ${create_args[*]} -p "${packages}" -i "root-image" create "${work_dir}" || mkiso_error_handler
pacman -Qr "${work_dir}/root-image" > "${work_dir}/root-image/root-image-pkgs.txt" pacman -Qr "${work_dir}/root-image" > "${work_dir}/root-image/root-image-pkgs.txt"
if [ -e ${work_dir}/root-image/boot/grub/grub.cfg ] ; then if [ -e ${work_dir}/root-image/boot/grub/grub.cfg ] ; then
rm ${work_dir}/root-image/boot/grub/grub.cfg rm ${work_dir}/root-image/boot/grub/grub.cfg
fi fi
if [ -e ${work_dir}/root-image/etc/lsb-release ] ; then if [ -e ${work_dir}/root-image/etc/lsb-release ] ; then
sed -i -e "s/^.*DISTRIB_RELEASE.*/DISTRIB_RELEASE=${iso_version}/" ${work_dir}/root-image/etc/lsb-release sed -i -e "s/^.*DISTRIB_RELEASE.*/DISTRIB_RELEASE=${iso_version}/" ${work_dir}/root-image/etc/lsb-release
fi fi
copy_overlay_root "${work_dir}/root-image" copy_overlay_root "${work_dir}/root-image"
: > ${work_dir}/build.${FUNCNAME} : > ${work_dir}/build.${FUNCNAME}
msg "Done [Base installation] (root-image)" msg "Done [Base installation] (root-image)"
fi fi
} }
make_image_custom() { make_image_custom() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
msg "Prepare [${custom} installation] (${custom}-image)" msg "Prepare [${custom} installation] (${custom}-image)"
mkdir -p ${work_dir}/${custom}-image mkdir -p ${work_dir}/${custom}-image
umount_image_handler umount_image_handler
aufs_mount_root_image "${work_dir}/${custom}-image" aufs_mount_root_image "${work_dir}/${custom}-image"
mkiso ${create_args[*]} -i "${custom}-image" -p "${packages}" create "${work_dir}" || mkiso_error_handler mkiso ${create_args[*]} -i "${custom}-image" -p "${packages}" create "${work_dir}" || mkiso_error_handler
pacman -Qr "${work_dir}/${custom}-image" > "${work_dir}/${custom}-image/${custom}-image-pkgs.txt" pacman -Qr "${work_dir}/${custom}-image" > "${work_dir}/${custom}-image/${custom}-image-pkgs.txt"
cp "${work_dir}/${custom}-image/${custom}-image-pkgs.txt" ${cache_dir_iso}/${img_name}-${custom}-${iso_version}-${arch}-pkgs.txt cp "${work_dir}/${custom}-image/${custom}-image-pkgs.txt" ${cache_dir_iso}/${img_name}-${custom}-${iso_version}-${arch}-pkgs.txt
[[ -d ${custom}-overlay ]] && copy_overlay_custom [[ -d ${custom}-overlay ]] && copy_overlay_custom
configure_custom_image configure_custom_image
umount_image_handler umount_image_handler
rm -R ${work_dir}/${custom}-image/.wh* rm -R ${work_dir}/${custom}-image/.wh*
: > ${work_dir}/build.${FUNCNAME} : > ${work_dir}/build.${FUNCNAME}
msg "Done [${custom} installation] (${custom}-image)" msg "Done [${custom} installation] (${custom}-image)"
fi fi
} }
make_image_livecd() { make_image_livecd() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
msg "Prepare [livecd-image]" msg "Prepare [livecd-image]"
mkdir -p ${work_dir}/livecd-image mkdir -p ${work_dir}/livecd-image
umount_image_handler umount_image_handler
if [[ -n "${custom}" ]] ; then if [[ -n "${custom}" ]] ; then
aufs_mount_de_image "${work_dir}/livecd-image" aufs_mount_de_image "${work_dir}/livecd-image"
aufs_append_root_image "${work_dir}/livecd-image" aufs_append_root_image "${work_dir}/livecd-image"
else else
aufs_mount_root_image "${work_dir}/livecd-image" aufs_mount_root_image "${work_dir}/livecd-image"
fi fi
mkiso ${create_args[*]} -i "livecd-image" -p "${packages}" create "${work_dir}" || mkiso_error_handler mkiso ${create_args[*]} -i "livecd-image" -p "${packages}" create "${work_dir}" || mkiso_error_handler
pacman -Qr "${work_dir}/livecd-image" > "${work_dir}/livecd-image/livecd-image-pkgs.txt" pacman -Qr "${work_dir}/livecd-image" > "${work_dir}/livecd-image/livecd-image-pkgs.txt"
copy_overlay_livecd "${work_dir}/livecd-image" copy_overlay_livecd "${work_dir}/livecd-image"
# copy over setup helpers and config loader # copy over setup helpers and config loader
copy_livecd_helpers "${work_dir}/livecd-image/opt/livecd" copy_livecd_helpers "${work_dir}/livecd-image/opt/livecd"
copy_startup_scripts "${work_dir}/livecd-image/usr/bin" copy_startup_scripts "${work_dir}/livecd-image/usr/bin"
configure_livecd_image configure_livecd_image
# Clean up GnuPG keys? # Clean up GnuPG keys?
rm -rf "${work_dir}/livecd-image/etc/pacman.d/gnupg" rm -rf "${work_dir}/livecd-image/etc/pacman.d/gnupg"
umount_image_handler umount_image_handler
rm -R ${work_dir}/livecd-image/.wh* rm -R ${work_dir}/livecd-image/.wh*
: > ${work_dir}/build.${FUNCNAME} : > ${work_dir}/build.${FUNCNAME}
msg "Done [livecd-image]" msg "Done [livecd-image]"
fi fi
} }
@ -335,40 +333,40 @@ make_image_livecd() {
make_image_xorg() { make_image_xorg() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
msg "Prepare [pkgs-image]" msg "Prepare [pkgs-image]"
mkdir -p ${work_dir}/pkgs-image/opt/livecd/pkgs mkdir -p ${work_dir}/pkgs-image/opt/livecd/pkgs
umount_image_handler umount_image_handler
if [[ -n "${custom}" ]] ; then if [[ -n "${custom}" ]] ; then
aufs_mount_de_image "${work_dir}/pkgs-image" aufs_mount_de_image "${work_dir}/pkgs-image"
aufs_append_root_image "${work_dir}/pkgs-image" aufs_append_root_image "${work_dir}/pkgs-image"
else else
aufs_mount_root_image "${work_dir}/pkgs-image" aufs_mount_root_image "${work_dir}/pkgs-image"
fi fi
download_to_cache "${work_dir}/pkgs-image" "${cache_dir_xorg}" "${packages_xorg}" download_to_cache "${work_dir}/pkgs-image" "${cache_dir_xorg}" "${packages_xorg}"
copy_cache_xorg copy_cache_xorg
if [[ -n "${packages_xorg_cleanup}" ]]; then if [[ -n "${packages_xorg_cleanup}" ]]; then
for xorg_clean in ${packages_xorg_cleanup}; do for xorg_clean in ${packages_xorg_cleanup}; do
rm ${work_dir}/pkgs-image/opt/livecd/pkgs/${xorg_clean} rm ${work_dir}/pkgs-image/opt/livecd/pkgs/${xorg_clean}
done done
fi fi
cp pacman-gfx.conf ${work_dir}/pkgs-image/opt/livecd cp pacman-gfx.conf ${work_dir}/pkgs-image/opt/livecd
rm -r ${work_dir}/pkgs-image/var rm -r ${work_dir}/pkgs-image/var
make_repo "${work_dir}/pkgs-image/opt/livecd/pkgs/gfx-pkgs" "${work_dir}/pkgs-image/opt/livecd/pkgs" make_repo "${work_dir}/pkgs-image/opt/livecd/pkgs/gfx-pkgs" "${work_dir}/pkgs-image/opt/livecd/pkgs"
configure_xorg_drivers "${work_dir}/pkgs-image" configure_xorg_drivers "${work_dir}/pkgs-image"
umount_image_handler umount_image_handler
rm -R ${work_dir}/pkgs-image/.wh* rm -R ${work_dir}/pkgs-image/.wh*
: > ${work_dir}/build.${FUNCNAME} : > ${work_dir}/build.${FUNCNAME}
msg "Done [pkgs-image]" msg "Done [pkgs-image]"
fi fi
} }
@ -377,9 +375,9 @@ make_image_lng() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
msg "Prepare [lng-image]" msg "Prepare [lng-image]"
mkdir -p ${work_dir}/lng-image/opt/livecd/lng mkdir -p ${work_dir}/lng-image/opt/livecd/lng
umount_image_handler umount_image_handler
if [[ -n "${custom}" ]] ; then if [[ -n "${custom}" ]] ; then
aufs_mount_de_image "${work_dir}/lng-image" aufs_mount_de_image "${work_dir}/lng-image"
aufs_append_root_image "${work_dir}/lng-image" aufs_append_root_image "${work_dir}/lng-image"
@ -394,24 +392,24 @@ make_image_lng() {
download_to_cache "${work_dir}/lng-image" "${cache_dir_lng}" "${packages_lng}" download_to_cache "${work_dir}/lng-image" "${cache_dir_lng}" "${packages_lng}"
copy_cache_lng copy_cache_lng
fi fi
if [[ -n "${packages_lng_cleanup}" ]]; then if [[ -n "${packages_lng_cleanup}" ]]; then
for lng_clean in ${packages_lng_cleanup}; do for lng_clean in ${packages_lng_cleanup}; do
rm ${work_dir}/lng-image/opt/livecd/lng/${lng_clean} rm ${work_dir}/lng-image/opt/livecd/lng/${lng_clean}
done done
fi fi
cp pacman-lng.conf ${work_dir}/lng-image/opt/livecd cp pacman-lng.conf ${work_dir}/lng-image/opt/livecd
rm -r ${work_dir}/lng-image/var rm -r ${work_dir}/lng-image/var
make_repo ${work_dir}/lng-image/opt/livecd/lng/lng-pkgs ${work_dir}/lng-image/opt/livecd/lng make_repo ${work_dir}/lng-image/opt/livecd/lng/lng-pkgs ${work_dir}/lng-image/opt/livecd/lng
umount_image_handler umount_image_handler
rm -R ${work_dir}/lng-image/.wh* rm -R ${work_dir}/lng-image/.wh*
: > ${work_dir}/build.${FUNCNAME} : > ${work_dir}/build.${FUNCNAME}
msg "Done [lng-image]" msg "Done [lng-image]"
fi fi
} }
@ -419,38 +417,38 @@ make_image_lng() {
# Prepare ${install_dir}/boot/ # Prepare ${install_dir}/boot/
make_image_boot() { make_image_boot() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
msg "Prepare [${install_dir}/boot]" msg "Prepare [${install_dir}/boot]"
mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch} mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch}
cp ${work_dir}/root-image/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/${arch}/memtest cp ${work_dir}/root-image/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/${arch}/memtest
cp ${work_dir}/root-image/boot/vmlinuz* ${work_dir}/iso/${install_dir}/boot/${arch}/${manjaroiso} cp ${work_dir}/root-image/boot/vmlinuz* ${work_dir}/iso/${install_dir}/boot/${arch}/${manjaroiso}
mkdir -p ${work_dir}/boot-image mkdir -p ${work_dir}/boot-image
umount_image_handler umount_image_handler
if [[ -n "${custom}" ]] ; then if [[ -n "${custom}" ]] ; then
aufs_mount_de_image "${work_dir}/boot-image" aufs_mount_de_image "${work_dir}/boot-image"
aufs_append_root_image "${work_dir}/boot-image" aufs_append_root_image "${work_dir}/boot-image"
else else
aufs_mount_root_image "${work_dir}/boot-image" aufs_mount_root_image "${work_dir}/boot-image"
fi fi
copy_initcpio "${work_dir}/boot-image" copy_initcpio "${work_dir}/boot-image"
gen_boot_image "${work_dir}/boot-image" gen_boot_image "${work_dir}/boot-image"
mv ${work_dir}/boot-image/boot/${img_name}.img ${work_dir}/iso/${install_dir}/boot/${arch}/${img_name}.img mv ${work_dir}/boot-image/boot/${img_name}.img ${work_dir}/iso/${install_dir}/boot/${arch}/${img_name}.img
cp ${work_dir}/boot-image/boot/intel-ucode.img ${work_dir}/iso/${install_dir}/boot/intel_ucode.img cp ${work_dir}/boot-image/boot/intel-ucode.img ${work_dir}/iso/${install_dir}/boot/intel_ucode.img
cp ${work_dir}/boot-image/usr/share/licenses/intel-ucode/LICENSE ${work_dir}/iso/${install_dir}/boot/intel_ucode.LICENSE cp ${work_dir}/boot-image/usr/share/licenses/intel-ucode/LICENSE ${work_dir}/iso/${install_dir}/boot/intel_ucode.LICENSE
umount_image_handler umount_image_handler
rm -R ${work_dir}/boot-image rm -R ${work_dir}/boot-image
: > ${work_dir}/build.${FUNCNAME} : > ${work_dir}/build.${FUNCNAME}
msg "Done [${install_dir}/boot]" msg "Done [${install_dir}/boot]"
fi fi
} }
@ -459,15 +457,15 @@ make_image_boot() {
make_efi() { make_efi() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
msg "Prepare [${install_dir}/boot/EFI]" msg "Prepare [${install_dir}/boot/EFI]"
mkdir -p ${work_dir}/iso/EFI/boot mkdir -p ${work_dir}/iso/EFI/boot
cp ${work_dir}/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi cp ${work_dir}/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi
cp ${work_dir}/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/iso/EFI/boot/ cp ${work_dir}/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/iso/EFI/boot/
cp ${work_dir}/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/loader.efi cp ${work_dir}/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/loader.efi
mkdir -p ${work_dir}/iso/loader/entries mkdir -p ${work_dir}/iso/loader/entries
cp efiboot/loader/loader.conf ${work_dir}/iso/loader/ cp efiboot/loader/loader.conf ${work_dir}/iso/loader/
cp efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/iso/loader/entries/ cp efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/iso/loader/entries/
cp efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/loader/entries/ cp efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/loader/entries/
@ -484,9 +482,9 @@ make_efi() {
curl -k -o ${work_dir}/iso/EFI/shellx64_v2.efi https://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi curl -k -o ${work_dir}/iso/EFI/shellx64_v2.efi https://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi
# EFI Shell 1.0 for non UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Efi-shell ) # EFI Shell 1.0 for non UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Efi-shell )
curl -k -o ${work_dir}/iso/EFI/shellx64_v1.efi https://svn.code.sf.net/p/edk2/code/trunk/edk2/EdkShellBinPkg/FullShell/X64/Shell_Full.efi curl -k -o ${work_dir}/iso/EFI/shellx64_v1.efi https://svn.code.sf.net/p/edk2/code/trunk/edk2/EdkShellBinPkg/FullShell/X64/Shell_Full.efi
: > ${work_dir}/build.${FUNCNAME} : > ${work_dir}/build.${FUNCNAME}
msg "Done [${install_dir}/boot/EFI]" msg "Done [${install_dir}/boot/EFI]"
fi fi
} }
@ -495,29 +493,29 @@ make_efi() {
make_efiboot() { make_efiboot() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
msg "Prepare [${install_dir}/iso/EFI]" msg "Prepare [${install_dir}/iso/EFI]"
mkdir -p ${work_dir}/iso/EFI/miso mkdir -p ${work_dir}/iso/EFI/miso
truncate -s 31M ${work_dir}/iso/EFI/miso/${img_name}.img truncate -s 31M ${work_dir}/iso/EFI/miso/${img_name}.img
mkfs.vfat -n MISO_EFI ${work_dir}/iso/EFI/miso/${img_name}.img mkfs.vfat -n MISO_EFI ${work_dir}/iso/EFI/miso/${img_name}.img
mkdir -p ${work_dir}/efiboot mkdir -p ${work_dir}/efiboot
mount ${work_dir}/iso/EFI/miso/${img_name}.img ${work_dir}/efiboot mount ${work_dir}/iso/EFI/miso/${img_name}.img ${work_dir}/efiboot
mkdir -p ${work_dir}/efiboot/EFI/miso mkdir -p ${work_dir}/efiboot/EFI/miso
cp ${work_dir}/iso/${install_dir}/boot/x86_64/${manjaroiso} ${work_dir}/efiboot/EFI/miso/${manjaroiso}.efi cp ${work_dir}/iso/${install_dir}/boot/x86_64/${manjaroiso} ${work_dir}/efiboot/EFI/miso/${manjaroiso}.efi
cp ${work_dir}/iso/${install_dir}/boot/x86_64/${img_name}.img ${work_dir}/efiboot/EFI/miso/${img_name}.img cp ${work_dir}/iso/${install_dir}/boot/x86_64/${img_name}.img ${work_dir}/efiboot/EFI/miso/${img_name}.img
cp ${work_dir}/iso/${install_dir}/boot/intel_ucode.img ${work_dir}/efiboot/EFI/miso/intel_ucode.img cp ${work_dir}/iso/${install_dir}/boot/intel_ucode.img ${work_dir}/efiboot/EFI/miso/intel_ucode.img
mkdir -p ${work_dir}/efiboot/EFI/boot mkdir -p ${work_dir}/efiboot/EFI/boot
cp ${work_dir}/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi cp ${work_dir}/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi
cp ${work_dir}/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/efiboot/EFI/boot/ cp ${work_dir}/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/efiboot/EFI/boot/
cp ${work_dir}/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/loader.efi cp ${work_dir}/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/loader.efi
mkdir -p ${work_dir}/efiboot/loader/entries mkdir -p ${work_dir}/efiboot/loader/entries
cp efiboot/loader/loader.conf ${work_dir}/efiboot/loader/ cp efiboot/loader/loader.conf ${work_dir}/efiboot/loader/
cp efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/efiboot/loader/entries/ cp efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/efiboot/loader/entries/
cp efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/loader/entries/ cp efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/loader/entries/
@ -534,9 +532,9 @@ make_efiboot() {
cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/ cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/
umount ${work_dir}/efiboot umount ${work_dir}/efiboot
: > ${work_dir}/build.${FUNCNAME} : > ${work_dir}/build.${FUNCNAME}
msg "Done [${install_dir}/iso/EFI]" msg "Done [${install_dir}/iso/EFI]"
fi fi
} }
@ -545,15 +543,15 @@ make_efiboot() {
make_isolinux() { make_isolinux() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
msg "Prepare [${install_dir}/iso/isolinux]" msg "Prepare [${install_dir}/iso/isolinux]"
mkdir -p ${work_dir}/iso/isolinux mkdir -p ${work_dir}/iso/isolinux
cp -a --no-preserve=ownership isolinux/* ${work_dir}/iso/isolinux cp -a --no-preserve=ownership isolinux/* ${work_dir}/iso/isolinux
if [[ -e isolinux-overlay ]]; then if [[ -e isolinux-overlay ]]; then
msg2 "isolinux overlay found. Overwriting files." msg2 "isolinux overlay found. Overwriting files."
cp -a --no-preserve=ownership isolinux-overlay/* ${work_dir}/iso/isolinux cp -a --no-preserve=ownership isolinux-overlay/* ${work_dir}/iso/isolinux
fi fi
if [[ -e ${work_dir}/root-image/usr/lib/syslinux/bios/ ]]; then if [[ -e ${work_dir}/root-image/usr/lib/syslinux/bios/ ]]; then
cp ${work_dir}/root-image/usr/lib/syslinux/bios/isolinux.bin ${work_dir}/iso/isolinux/ cp ${work_dir}/root-image/usr/lib/syslinux/bios/isolinux.bin ${work_dir}/iso/isolinux/
cp ${work_dir}/root-image/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/ cp ${work_dir}/root-image/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/
@ -576,53 +574,52 @@ make_isolinux() {
cp ${work_dir}/root-image/usr/lib/syslinux/hdt.c32 ${work_dir}/iso/isolinux/ cp ${work_dir}/root-image/usr/lib/syslinux/hdt.c32 ${work_dir}/iso/isolinux/
cp ${work_dir}/root-image/usr/lib/syslinux/chain.c32 ${work_dir}/iso/isolinux/ cp ${work_dir}/root-image/usr/lib/syslinux/chain.c32 ${work_dir}/iso/isolinux/
fi fi
sed -i "s|%MISO_LABEL%|${iso_label}|g; sed -i "s|%MISO_LABEL%|${iso_label}|g;
s|%INSTALL_DIR%|${install_dir}|g; s|%INSTALL_DIR%|${install_dir}|g;
s|%ARCH%|${arch}|g" ${work_dir}/iso/isolinux/isolinux.cfg s|%ARCH%|${arch}|g" ${work_dir}/iso/isolinux/isolinux.cfg
: > ${work_dir}/build.${FUNCNAME} : > ${work_dir}/build.${FUNCNAME}
msg "Done [${install_dir}/iso/isolinux]" msg "Done [${install_dir}/iso/isolinux]"
fi fi
} }
generate_isomounts(){ gen_isomounts(){
echo '# syntax: <img> <arch> <mount point> <type> <kernel argument>' > $1 echo '# syntax: <img> <arch> <mount point> <type> <kernel argument>' > $1
echo '# Sample kernel argument in syslinux: overlay=extra,extra2' >> $1 echo '# Sample kernel argument in syslinux: overlay=extra,extra2' >> $1
echo '' >> $1 echo '' >> $1
msg2 "Writing livecd entry ..." msg2 "Writing livecd entry ..."
echo "${arch}/livecd-image.sqfs ${arch} / squashfs" >> $1 echo "${arch}/livecd-image.sqfs ${arch} / squashfs" >> $1
if [[ -f Packages-Lng ]] ; then if [[ -f Packages-Lng ]] ; then
msg2 "Writing lng entry ..." msg2 "Writing lng entry ..."
echo "${arch}/lng-image.sqfs ${arch} / squashfs" >> $1 echo "${arch}/lng-image.sqfs ${arch} / squashfs" >> $1
fi fi
if [[ -f Packages-Xorg ]] ; then if [[ -f Packages-Xorg ]] ; then
msg2 "Writing pkgs entry ..." msg2 "Writing pkgs entry ..."
echo "${arch}/pkgs-image.sqfs ${arch} / squashfs" >> $1 echo "${arch}/pkgs-image.sqfs ${arch} / squashfs" >> $1
fi fi
if [[ -f "${packages_custom}" ]] ; then if [[ -f "${packages_custom}" ]] ; then
msg2 "Writing ${custom} entry ..." msg2 "Writing ${custom} entry ..."
echo "${arch}/${custom}-image.sqfs ${arch} / squashfs" >> $1 echo "${arch}/${custom}-image.sqfs ${arch} / squashfs" >> $1
fi fi
msg2 "Writing root entry ..." msg2 "Writing root entry ..."
echo "${arch}/root-image.sqfs ${arch} / squashfs" >> $1 echo "${arch}/root-image.sqfs ${arch} / squashfs" >> $1
} }
# Process isomounts
make_isomounts() { make_isomounts() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
msg "Creating [isomounts]" msg "Creating [isomounts]"
generate_isomounts "${work_dir}/iso/${install_dir}/isomounts" gen_isomounts "${work_dir}/iso/${install_dir}/isomounts"
: > ${work_dir}/build.${FUNCNAME} : > ${work_dir}/build.${FUNCNAME}
msg "Done creating [isomounts]" msg "Done creating [isomounts]"
fi fi
} }
@ -630,7 +627,7 @@ make_isomounts() {
# $1: file name # $1: file name
load_pkgs(){ load_pkgs(){
msg3 "Loading Packages: [$1] ..." msg3 "Loading Packages: [$1] ..."
if [[ "${arch}" == "i686" ]]; then if [[ "${arch}" == "i686" ]]; then
packages=$(sed "s|#.*||g" "$1" | sed "s| ||g" | sed "s|>dvd.*||g" | sed "s|>blacklist.*||g" | sed "s|>x86_64.*||g" | sed "s|>i686||g" | sed "s|KERNEL|$manjaro_kernel|g" | sed ':a;N;$!ba;s/\n/ /g') packages=$(sed "s|#.*||g" "$1" | sed "s| ||g" | sed "s|>dvd.*||g" | sed "s|>blacklist.*||g" | sed "s|>x86_64.*||g" | sed "s|>i686||g" | sed "s|KERNEL|$manjaro_kernel|g" | sed ':a;N;$!ba;s/\n/ /g')
elif [[ "${arch}" == "x86_64" ]]; then elif [[ "${arch}" == "x86_64" ]]; then
@ -640,7 +637,7 @@ load_pkgs(){
load_pkgs_xorg(){ load_pkgs_xorg(){
msg3 "Loading Packages: [Packages-Xorg] ..." msg3 "Loading Packages: [Packages-Xorg] ..."
if [[ "${arch}" == "i686" ]]; then if [[ "${arch}" == "i686" ]]; then
packages_xorg=$(sed "s|#.*||g" Packages-Xorg | sed "s| ||g" | sed "s|>dvd.*||g" | sed "s|>blacklist.*||g" | sed "s|>cleanup.*||g" | sed "s|>x86_64.*||g" | sed "s|>i686||g" | sed "s|>free_x64.*||g" | sed "s|>free_uni||g" | sed "s|>nonfree_x64.*||g" | sed "s|>nonfree_uni||g" | sed "s|KERNEL|$manjaro_kernel|g" | sed ':a;N;$!ba;s/\n/ /g') packages_xorg=$(sed "s|#.*||g" Packages-Xorg | sed "s| ||g" | sed "s|>dvd.*||g" | sed "s|>blacklist.*||g" | sed "s|>cleanup.*||g" | sed "s|>x86_64.*||g" | sed "s|>i686||g" | sed "s|>free_x64.*||g" | sed "s|>free_uni||g" | sed "s|>nonfree_x64.*||g" | sed "s|>nonfree_uni||g" | sed "s|KERNEL|$manjaro_kernel|g" | sed ':a;N;$!ba;s/\n/ /g')
elif [[ "${arch}" == "x86_64" ]]; then elif [[ "${arch}" == "x86_64" ]]; then
@ -666,19 +663,19 @@ load_profile(){
msg3 "Profile: [$1] ..." msg3 "Profile: [$1] ..."
local files=$(ls Packages*) local files=$(ls Packages*)
for f in ${files[@]};do for f in ${files[@]};do
case $f in case $f in
Packages|Packages-Livecd*|Packages-Xorg*|Packages-Lng*) continue ;; Packages|Packages-Livecd*|Packages-Xorg*|Packages-Lng*) continue ;;
*) packages_custom="$f"; msg2 "Packages-Custom: $f" ;; *) packages_custom="$f"; msg2 "Packages-Custom: $f" ;;
esac esac
done done
custom=${packages_custom#*-} custom=${packages_custom#*-}
custom=${custom,,} custom=${custom,,}
displaymanager=$(cat displaymanager) displaymanager="$(cat displaymanager)"
initsys=$(cat initsys) initsys="$(cat initsys)"
iso_file="${img_name}-${custom}-${iso_version}-${arch}.iso" iso_file="${img_name}-${custom}-${iso_version}-${arch}.iso"
@ -688,13 +685,12 @@ load_profile(){
pacman_conf="${PKGDATADIR}/pacman-${pacman_conf_arch}.conf" pacman_conf="${PKGDATADIR}/pacman-${pacman_conf_arch}.conf"
fi fi
create_args+=(-C ${pacman_conf}) create_args+=(-C ${pacman_conf})
work_dir=${chroots_iso}/$1/${arch} work_dir=${chroots_iso}/$1/${arch}
} }
compress_images(){ compress_images(){
make_isomounts
make_iso make_iso
make_checksum "${iso_file}" make_checksum "${iso_file}"
} }
@ -702,7 +698,7 @@ compress_images(){
build_images(){ build_images(){
load_pkgs "Packages" load_pkgs "Packages"
make_image_root make_image_root
if [[ -f "${packages_custom}" ]] ; then if [[ -f "${packages_custom}" ]] ; then
load_pkgs "${packages_custom}" load_pkgs "${packages_custom}"
make_image_custom make_image_custom
@ -712,23 +708,24 @@ build_images(){
load_pkgs_xorg load_pkgs_xorg
make_image_xorg make_image_xorg
fi fi
if [[ -f Packages-Lng ]] ; then if [[ -f Packages-Lng ]] ; then
load_pkgs_lng load_pkgs_lng
make_image_lng make_image_lng
fi fi
if [[ -f Packages-Livecd ]]; then if [[ -f Packages-Livecd ]]; then
load_pkgs "Packages-Livecd" load_pkgs "Packages-Livecd"
make_image_livecd make_image_livecd
fi fi
make_image_boot make_image_boot
if [[ "${arch}" == "x86_64" ]]; then if [[ "${arch}" == "x86_64" ]]; then
make_efi make_efi
make_efiboot make_efiboot
fi fi
make_isolinux make_isolinux
make_isomounts
} }
build_profile(){ build_profile(){
@ -766,7 +763,7 @@ build_iso(){
msg3 "Finished building [${buildset_iso}]" msg3 "Finished building [${buildset_iso}]"
else else
[[ -f ${buildset_iso}/initsys ]] || die "${buildset_iso} is not a valid profile!" [[ -f ${buildset_iso}/initsys ]] || die "${buildset_iso} is not a valid profile!"
cd ${buildset_iso} cd ${buildset_iso}
load_profile "${buildset_iso}" load_profile "${buildset_iso}"
build_profile build_profile
cd .. cd ..