diff --git a/archiso/mkarchiso b/archiso/mkarchiso index 1d7b781..75eb9cb 100755 --- a/archiso/mkarchiso +++ b/archiso/mkarchiso @@ -169,6 +169,8 @@ _usage () echo " build all images" echo " checksum" echo " make a checksum.md5 for self-test" + echo " pkglist" + echo " make a pkglist.txt of packages installed on root-image" echo " iso " echo " build an iso image from the working dir" exit ${1} @@ -199,6 +201,8 @@ _show_config () { ;; checksum) ;; + pkglist) + ;; iso) _msg_info " Image name: ${img_name}" _msg_info " Disk label: ${iso_label}" @@ -378,6 +382,19 @@ command_checksum () { done } +command_pkglist () { + _show_config pkglist + + if _is_directory_changed "${work_dir}/root-image/var/lib/pacman/local" "${work_dir}/iso/${install_dir}/pkglist.${arch}.txt"; then + _msg_info "Creating a list of installed packages on live-enviroment" + pacman -Sl -r "${work_dir}/root-image" --config "${pacman_conf}" | \ + awk '/\[installed\]$/ {print $1 "/" $2 "-" $3}' > \ + "${work_dir}/iso/${install_dir}/pkglist.${arch}.txt" + _msg_info "Done!" + fi + +} + # Create an ISO9660 filesystem from "iso" directory. command_iso () { local _iso_efi_boot_args="" @@ -538,6 +555,9 @@ case "${command_name}" in checksum) command_checksum ;; + pkglist) + command_pkglist + ;; iso) if [[ $# -lt 2 ]]; then _msg_error "No image specified" 0