diff options
-rw-r--r-- | lib/cmd/copy-suite.sh | 47 | ||||
-rw-r--r-- | lib/cmd/local.mk | 3 | ||||
-rw-r--r-- | locale/en_US/pro_archman.sh | 5 |
3 files changed, 54 insertions, 1 deletions
diff --git a/lib/cmd/copy-suite.sh b/lib/cmd/copy-suite.sh new file mode 100644 index 0000000..5a5c7a1 --- /dev/null +++ b/lib/cmd/copy-suite.sh @@ -0,0 +1,47 @@ +# pro-archman +# lib/cmd/copy-suite.sh +# "copy-suite" command +# +# Copyright (C) 2013 Patrick "P. J." McDermott +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# 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 suite + +cmd_copy_suite_main() +{ + local src_suite="${1}" + local dst_suite="${2}" + local src_chan= + local src_dist= + local dst_chan= + local dst_dist= + + src_chan="${src_suite%/*}" + src_dist="${src_suite##*/}" + if [ "x${src_chan}" = "x${src_suite}" ]; then + src_chan="${conf_incoming_channel}" + fi + dst_chan="${dst_suite%/*}" + dst_dist="${dst_suite##*/}" + if [ "x${dst_chan}" = "x${dst_suite}" ]; then + dst_chan="${conf_incoming_channel}" + fi + + info "$(get_msg 'cmd_copy_suite_copying')" \ + "${src_chan}" "${src_dist}" "${dst_chan}" "${dst_dist}" + copy_suite "${src_chan}" "${src_dist}" "${dst_chan}" "${dst_dist}" + + return 0 +} diff --git a/lib/cmd/local.mk b/lib/cmd/local.mk index 60b12e5..d49174a 100644 --- a/lib/cmd/local.mk +++ b/lib/cmd/local.mk @@ -5,4 +5,5 @@ pkglibcmd_srcs = \ lib/cmd/help.sh \ lib/cmd/include.sh \ lib/cmd/process-incoming.sh \ - lib/cmd/remove.sh + lib/cmd/remove.sh \ + lib/cmd/copy-suite.sh diff --git a/locale/en_US/pro_archman.sh b/locale/en_US/pro_archman.sh index a926ce1..eac7d41 100644 --- a/locale/en_US/pro_archman.sh +++ b/locale/en_US/pro_archman.sh @@ -45,6 +45,11 @@ msg_pro_archman_cmd_remove_summary='remove packages from a suite' msg_pro_archman_cmd_remove_usage='<suite> <source>' msg_pro_archman_cmd_remove_removing='Removing %s from %s/%s...' +# lib/cmd/copy-suite.sh +msg_pro_archman_cmd_copy_suite_summary='copies packages from one suite to another' +msg_pro_archman_cmd_copy_suite_usage='<source-suite> <destination-suite>' +msg_pro_archman_cmd_copy_suite_copying='Copying suite %s/%s to suite %s/%s...' + # lib/control.sh msg_pro_archman_control_empty_line='empty line' msg_pro_archman_control_bad_nv='badly formatted control field' |