blob: 6344b0b4ac7c3887e8073d45c85f0da38e340e90 (
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
130
131
132
133
|
#!/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
mirrordistro
getrepolock
rmrepolock
getdistrolock
rmdistrolock
For more infos about a command, use :
repoctl COMMAND --help
EOF
}
case "$1" in
mvpkg)
shift
mvpkg $@
;;
*)
usage
exit 1
;;
esac
|