summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2013-07-27 20:26:26 (EDT)
committer P. J. McDermott <pjm@nac.net>2013-07-27 20:26:26 (EDT)
commit1065befee68666b3f8a0e998610025bb44a1d37e (patch)
tree21a1d8b5ea9c60cbd77233cd6feeea5fa593a8b3
parent82d49bca40208df9576a78a06df78805cb1f16e9 (diff)
include: Rewrite against new library module.
-rw-r--r--lib/cmd/include.sh117
1 files changed, 3 insertions, 114 deletions
diff --git a/lib/cmd/include.sh b/lib/cmd/include.sh
index e3b039b..c2b3712 100644
--- a/lib/cmd/include.sh
+++ b/lib/cmd/include.sh
@@ -17,126 +17,15 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-use control
-use locale
-use output
-
-CMD_INCLUDE_CHANGES_FIELDS='Format Source Binary Version Architecture Platform
-Distribution Maintainer Changed-By Date Description Changes Files'
-
-cmd_include_source=
-cmd_include_version=
-cmd_include_distribution=
-cmd_include_files=
-cmd_include_feeds=
+use include
cmd_include_main()
{
local changes=
- local feed=
-
- cmd_include_feeds=''
for changes in "${@}"; do
- cmd_include "${changes}"
+ include_changes "${changes}"
done
- cmd_include_feeds="$(printf '%s' "${cmd_include_feeds}" | \
- LC_COLLATE='C' sort | uniq)"
- for feed in ${cmd_include_feeds}; do
- cmd_generate_index "${feed}"
- done
-}
-
-cmd_include()
-{
- local changes="${1}"
- local component=
- local suite=
- local source_l=
- local pool_dir=
- local pool_dist_db=
- local archplats=
- local old_version=
- local size=
- local file=
- local pkg=
- local binver=
- local arch=
- local plat=
- local feed=
-
- parse_control "${changes}" cmd_include_changes_field \
- "${CMD_INCLUDE_CHANGES_FIELDS}" ''
- component='main'
- suite="${conf_incoming_channel}/${cmd_include_distribution}"
- source_l="$(printf '%s\n' "${cmd_include_source}" | \
- sed 's/\(.\).*/\1/')"
- pool_dir="pool/${component}/${source_l}/${cmd_include_source}"
- pool_dist_db="${archive}/${pool_dir}/.db"
- pool_dist_db="${pool_dist_db}/${cmd_include_distribution}"
- archplats=''
- if [ -f "${pool_dist_db}/version" ]; then
- old_version="$(cat "${pool_dist_db}/version")"
- if [ "x${old_version}" != "x${cmd_include_version}" ]; then
- # TODO: Remove ":" when cmd_remove is implemented.
- : cmd_remove "${cmd_include_distribution}" \
- "${cmd_include_source}"
- fi
- fi
- mkdir -p "${pool_dist_db}"
- printf '%s\n' "${cmd_include_version}" \
- >"${pool_dist_db}/version"
- info "$(get_msg 'cmd_include_including')" "${cmd_include_source}" \
- "${cmd_include_version}" "${cmd_include_distribution}"
- while read -r size file; do
- if [ "x$(echo ${file})" = 'x' ]; then
- continue
- fi
- IFS='_' read -r pkg binver arch plat <<-EOF
- ${file%.opk}
- EOF
- printf '%s\n' "${pool_dir}/${file}" \
- >>"${pool_dist_db}/files"
- cp -p "$(dirname "${changes}")/${file}" \
- "${archive}/${pool_dir}/${file}"
- feed="${suite}/${component}/${plat}/${arch}"
- mkdir -p "${archive}/dists/${feed}/.db/"
- archplats="${archplats}${plat}/${arch}${LF}"
- cmd_include_feeds="${cmd_include_feeds}${feed}${LF}"
- tar -xzOf "${archive}/${pool_dir}/${file}" \
- 'control.tar.gz' | tar -xzO './control' \
- >"${archive}/dists/${feed}/.db/${pkg}.control"
- printf 'Filename: %s\nSize: %s\nMD5sum: %s\n\n' \
- "../../../../../../${pool_dir}/${file}" \
- "${size}" \
- "$(md5sum "$(dirname "${changes}")/${file}" | \
- sed 's/ .*$//')" \
- >>"${archive}/dists/${feed}/.db/${pkg}.control"
- done <<-EOF
- ${cmd_include_files}
- EOF
- printf '%s' "${archplats}" | LC_COLLATE='C' sort | uniq \
- >"${pool_dist_db}/archplat"
-}
-
-cmd_include_changes_field()
-{
- local name="${1}"
- local value="${2}"
-
- case "${name}" in
- 'Source')
- cmd_include_source="${value}"
- ;;
- 'Version')
- cmd_include_version="${value}"
- ;;
- 'Distribution')
- cmd_include_distribution="${value}"
- ;;
- 'Files')
- cmd_include_files="${value}"
- ;;
- esac
+ return 0
}