diff options
author | P. 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) |
commit | 1065befee68666b3f8a0e998610025bb44a1d37e (patch) | |
tree | 21a1d8b5ea9c60cbd77233cd6feeea5fa593a8b3 | |
parent | 82d49bca40208df9576a78a06df78805cb1f16e9 (diff) |
include: Rewrite against new library module.
-rw-r--r-- | lib/cmd/include.sh | 117 |
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 } |