Message info
 
To:arch-releng@archlinux.org From:Gerardo Exequiel Pozzi Subject:[arch-releng] [DRAFT][PATCH 1/2] [archiso] mkarchiso: add new pkglist command. Date:Sun, 8 Apr 2012 23:18:18 -0300
 

This command makes a list of installed packages on root-image,
on <ISO>/$archisobasedir/pkglist.$arch.txt with the format
<repo>/<package>-<version>
---
archiso/mkarchiso | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

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 <image name>"
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
--
1.7.9.6