1 # This file is part of the 'dragora-installer'.
3 # Purpose: Installation of .tlz packages from series.
8 --backtitle "\ZbPackage installation" \
9 --title "SELECT THE INSTALLATION MODE" \
10 --no-cancel --menu "" 6 58 0 \
11 "All" "Install all packages from chosen series" \
12 "Expert" "Select packages individually" \
13 2> ${SUBTMPDIR}/return-InstallPackages
17 case "$(cat -- ${SUBTMPDIR}/return-InstallPackages)" in
19 # Clean for subsequent filling
20 : > ${SUBTMPDIR}/return-InstallPackages_All
22 # Read (selected) series
23 IFS= read -r REPLY < ${SUBTMPDIR}/return-ShowSeries
27 find -- "${MEDIUM_SOURCE}"/@ARCH@ "${MEDIUM_SOURCE}"/noarch \
28 -type f \( -name "*@${serie}.tlz" -a ! -name "*-pass*" \) \
29 -printf '%p\n' >> ${SUBTMPDIR}/return-InstallPackages_All \
34 # Proceed to install the packages from selected series
36 if test -s ${SUBTMPDIR}/return-InstallPackages_All
38 sort ${SUBTMPDIR}/return-InstallPackages_All \
39 > ${SUBTMPDIR}/return-InstallPackages_All.sorted
41 # Set some packages at the top of the list to give priority
42 ed -l -s ${SUBTMPDIR}/return-InstallPackages_All.sorted << EOF
48 --rootdir=/media/dragora-root \
49 --packagedir=/usr/pkg \
51 --prune - < ${SUBTMPDIR}/return-InstallPackages_All.sorted
53 echo "${PROGRAM}: All: Error the package list is empty." 1>&2
58 # Clean for subsequent filling
59 : > ${SUBTMPDIR}/search-InstallPackages_Expert
61 # Read (selected) series
62 IFS= read -r REPLY < ${SUBTMPDIR}/return-ShowSeries
66 find -- "${MEDIUM_SOURCE}"/@ARCH@ "${MEDIUM_SOURCE}"/noarch \
67 -type f \( -name "*@${serie}.tlz" -a ! -name "*-pass*" \) \
68 -printf '%p\n' >> ${SUBTMPDIR}/search-InstallPackages_Expert \
73 if test -s ${SUBTMPDIR}/search-InstallPackages_Expert
75 sort ${SUBTMPDIR}/search-InstallPackages_Expert \
76 > ${SUBTMPDIR}/search-InstallPackages_Expert.sorted
78 echo "${PROGRAM}: Expert: The package list is empty." 1>&2
82 # Dialog, package checklist composition
84 cat << EOF > ${SUBTMPDIR}/InstallPackages_Expert
85 dialog --colors --no-shadow \\
86 --backtitle "\ZbPackage selection from chosen series" \\
87 --title "SOFTWARE PACKAGES" \\
88 --no-cancel --item-help --checklist \\
89 "The following packages have been found according to the series.\n\n\\
90 Please use the cursor keys and \\Z3[Space]\\Zn to deselect the packages\n\\
91 you do not want to install. By default, all packages are selected." \\
92 $(( LINES - 6 )) $COLUMNS 16 \\
95 # Populate checklist item using information from meta files
99 echo "${PROGRAM}: Error no meta file(s) available." 1>&2
103 echo "\"${full_pkgname%%@*}\" \"@${pkgcategory}\" ON \"${blurb}\" \\" \
104 >> ${SUBTMPDIR}/InstallPackages_Expert
105 done < ${SUBTMPDIR}/search-InstallPackages_Expert.sorted
107 # Add tail to get the answers
108 echo ' 2> ${SUBTMPDIR}/return-InstallPackages_Expert' \
109 >> ${SUBTMPDIR}/InstallPackages_Expert
111 touch ${SUBTMPDIR}/return-InstallPackages_Expert
114 . ${SUBTMPDIR}/InstallPackages_Expert
116 # Proceed to install the chosen packages
118 if test -s ${SUBTMPDIR}/return-InstallPackages_Expert
120 # Set some packages at the top of the list to give priority
121 ed -l -s ${SUBTMPDIR}/return-InstallPackages_Expert << EOF
126 # Proceed to install if there is a match in the search list
129 grep -F -s -w -m 1 "$line" \
130 ${SUBTMPDIR}/search-InstallPackages_Expert.sorted | \
132 --rootdir=/media/dragora-root \
133 --packagedir=/usr/pkg \
136 done < ${SUBTMPDIR}/return-InstallPackages_Expert
138 echo "${PROGRAM}: Expert: Error the package list is empty." 1>&2