blob: f527f243809de3049dd7465f31b4148b04f80f65 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
#!/bin/bash
. ./functions
function usage_cmd()
{
case "$1" in
mvpkg)
cat <<EOF
Usage: repoctl mvpkg [options] --srcrepo distribution:section:sectionrepo \
--dstrepo distribution:section:sectionrepo \
--srcpkg|--binpkg name
Options:
--dry-run : don't do anything, but show what would have been done.
--no-genhdlists : don't regenerate hdlists
--srcpkg name : name of a source package. All the binary packages
generated by this source package will also be moved.
--binpkg name : name of a binary package.
Example :
Move emacs packages from 1/core/updates_testing to 1/core/updates :
repoctl mvpkg --srcrepo 1:core:updates_testing --dstrepo 1:core:updates \
--srcpkg emacs
EOF
;;
esac
}
function mvpkg()
{
args=$(getopt -o hn -l srcrepo:,dstrepo:,dry-run,help,no-genhdlists,no-mirror,srcpkg:,binpkg: -- "$@")
[ $? -ne 0 ] && usage_cmd mvpkg && exit 1
eval set -- "$args"
[ $# -lt 1 ] && exit 1
while [ $# -gt 0 ]
do
case $1 in
-h|--help)
usage_cmd mvpkg
exit 0
;;
-n|--dry-run)
dryrun=echo
shift;;
--no-genhdlists)
nogenhdlists=1
shift;;
--no-mirror)
nomirror=1
shift;;
--srcrepo)
IFS=':' read -ra srcrepo <<< "$2"
shift;shift;;
--dstrepo)
IFS=':' read -ra dstrepo <<< "$2"
shift;shift;;
--srcpkg)
srcpkg="$2"
shift;shift;;
--binpkg)
binpkg="$2"
shift;shift;;
--)
shift;break;;
-*)
usage
exit 1
;;
*)
break
;;
esac
done
if [ -z "$srcrepo" -o -z "$dstrepo" -o \( -z "$srcpkg" -a -z "$binpkg" \) ]
then
usage
exit 1
fi
if [ -n "$srcpkg" ]
then
move_pkg "${srcrepo[0]}" "${srcrepo[1]}" "${srcrepo[2]}" \
"${dstrepo[0]}" "${dstrepo[1]}" "${dstrepo[2]}" \
"$srcpkg" "/dev/stdout"
if [ -z "$nogenhdlists" ]
then
update_hdlists "${srcrepo[0]}" "${srcrepo[1]}" "${srcrepo[2]}"
update_hdlists "${dstrepo[0]}" "${dstrepo[1]}" "${dstrepo[2]}"
if [ -z "$nomirror" ]
then
mirror_repository "${srcrepo[0]}"
[ "${srcrepo[0]}" != "${dstrepo[0]}" ] &&
mirror_repository "${dstrepo[0]}"
fi
fi
else
echo "The --binpkg option is not supported yet"
fi
}
function usage()
{
cat <<EOF
Usage: repoctl COMMAND [COMMAND ARGUMENTS]
Useful commands :
mvpkg
lnpkg
rmpkg
genhdlists
mirror
For more infos about a command, use :
repoctl COMMAND --help
EOF
}
case "$1" in
mvpkg)
shift
mvpkg $@
;;
*)
usage
exit 1
;;
esac
|