forked from golift/upload-packagecloud
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupload.sh
executable file
·60 lines (51 loc) · 1.35 KB
/
upload.sh
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
#!/usr/bin/env bash
set -e
shopt -s nullglob
echo "Installing package cloud gem..."
sudo gem install --no-document package_cloud
echo "REPO=${REPO}"
echo "SOURCE=${SOURCE}"
echo "PACKAGECLOUD_RPM_DISTRIB=${PACKAGECLOUD_RPM_DISTRIB}"
echo "PACKAGECLOUD_DEB_DISTRIB=${PACKAGECLOUD_DEB_DISTRIB}"
if [ "$REPO" = "" ]; then
echo "No REPO provided!"
exit 1
elif [ "$SOURCE" = "" ]; then
echo "No SOURCE provided!"
exit 1
fi
upload() {
echo "Uploading ${PACKAGE_NAME} to ${UPLOAD_PATH}."
package_cloud push ${UPLOAD_PATH} ${PACKAGE_NAME}
}
upload_file() {
if [ "$DISTRIBUTIONS" = "" ]; then
UPLOAD_PATH="${REPO}"
upload
else
for distrib in $DISTRIBUTIONS; do
UPLOAD_PATH="${REPO}/${distrib}"
upload
done
fi
}
upload_folder() {
DISTRIBUTIONS="${PACKAGECLOUD_DEB_DISTRIB}"
for deb in ${SOURCE}/*.deb; do
PACKAGE_NAME=$deb
upload_file
done
DISTRIBUTIONS="${PACKAGECLOUD_RPM_DISTRIB}"
for rpm in ${SOURCE}/*.rpm; do
PACKAGE_NAME=$rpm
upload_file
done
}
if [ -d "$SOURCE" ]; then
upload_folder
else
if [ "${SOURCE##*.}" = "rpm" ]; then DISTRIBUTIONS="${PACKAGECLOUD_RPM_DISTRIB}"; fi
if [ "${SOURCE##*.}" = "deb" ]; then DISTRIBUTIONS="${PACKAGECLOUD_DEB_DISTRIB}"; fi
PACKAGE_NAME="${SOURCE}"
upload_file
fi