3
3
ARGS_SSH=" "
4
4
ARGS_RSYNC=" "
5
5
AFTER_CLEAN_DIRECTORY=0
6
- USERNAME=" "
7
- BRANCH=" "
8
- COMPOMENT=" "
9
6
10
- while getopts " hvdb:u:c: " arg ; do
7
+ while getopts " hvd " arg ; do
11
8
case $arg in
12
9
h)
13
10
_help_message
@@ -20,62 +17,55 @@ while getopts "hvdb:u:c:" arg ; do
20
17
d)
21
18
AFTER_CLEAN_DIRECTORY=1
22
19
;;
23
- b)
24
- BRANCH=${OPTARG}
25
- ;;
26
- u)
27
- USERNAME=${OPTARG}
28
- ;;
29
- c)
30
- COMPOMENT=${OPTARG}
31
- ;;
32
20
? )
33
21
_help_message
34
22
exit 1
35
23
;;
36
24
esac
37
25
done
38
26
27
+ shift " $(( OPTIND- 1 )) "
28
+
29
+ USERNAME=" $1 "
30
+ BRANCH=" $2 "
31
+ COMPOMENT=" ${3:- main} "
39
32
40
33
_help_message () {
41
- printf " \
34
+ cat << EOF
42
35
Usage:
43
36
44
- pushpkg -u LDAP_USERNAME -b BRANCH -c [COMPONENT]
37
+ pushpkg < LDAP_USERNAME> < BRANCH> [COMPONENT]
45
38
46
- -u LDAP_USERNAME: Your LDAP username.
47
- -b BRANCH: AOSC OS update branch (stable, stable-proposed, testing, etc.)
39
+ LDAP_USERNAME: Your LDAP username.
40
+ BRANCH: AOSC OS update branch (stable, stable-proposed, testing, etc.)
48
41
49
42
Options:
50
43
51
- -c [COMPONENT]: (Optional) Repository component (main, bsp-sunxi, etc.)
52
- Falls back to " main" if not specified.
53
- -d: pushpkg after clean OUTPUT directory
54
- -v: ssh and rsync verbose
44
+ [COMPONENT]: (Optional) Repository component (main, bsp-sunxi, etc.)
45
+ Falls back to \ "main\ " if not specified.
46
+ -d: Clean OUTPUT directory after finishing uploading.
47
+ -v: Enable verbose logging for ssh and rsync
55
48
56
- "
49
+ EOF
57
50
}
58
51
59
52
if [[ -z $USERNAME || -z $BRANCH ]]; then
60
- echo -e " [!!!] Please specify a LDAP user and specify a branch!\n "
53
+ echo " [!!!] Please specify a LDAP user and specify a branch!"
61
54
_help_message
62
55
exit 1
63
56
fi
64
57
65
- if [ -z $COMPOMENT ]; then
66
- COMPOMENT=" main"
58
+ if [[ ! -d ' debs' ]]; then
59
+ echo " [!!!] debs is not a directory."
60
+ exit 1
67
61
fi
68
62
69
- ssh ${ARGS_SSH} ${USERNAME} @repo.aosc.io " mkdir -p /mirror/debs/pool/${BRANCH} /${COMPOMENT} "
63
+ OUTPUT_DIR=" $( readlink -f debs) "
64
+ find " ${OUTPUT_DIR} " -maxdepth 1 -type f -delete -print
70
65
71
- for i in debs/* /* ; do
72
- if [ $i = " *_noarch.deb" ]; then
73
- rsync ${ARGS_RSYNC} --ignore-existing -rlOvhze ssh --progress $i ${USERNAME} @repo.aosc.io:/mirror/debs/pool/${BRANCH} /${COMPOMENT}
74
- else
75
- rsync ${ARGS_RSYNC} -rlOvhze ssh --progress $i ${USERNAME} @repo.aosc.io:/mirror/debs/pool/${BRANCH} /${COMPOMENT}
76
- fi
77
- done
66
+ ssh ${ARGS_SSH} " ${USERNAME} @repo.aosc.io" " mkdir -p '/mirror/debs/pool/${BRANCH} /${COMPOMENT} '"
67
+ rsync -rlOvhze ssh --progress " ${OUTPUT_DIR} " /* " ${USERNAME} @repo.aosc.io:/mirror/debs/pool/${BRANCH} /${COMPOMENT} "
78
68
79
69
if [ $AFTER_CLEAN_DIRECTORY = 1 ]; then
80
- sudo rm -rv $( pwd) /debs
70
+ sudo rm -rv " $( pwd) /debs"
81
71
fi
0 commit comments