-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathupdate.sh
More file actions
executable file
·122 lines (109 loc) · 3.95 KB
/
Copy pathupdate.sh
File metadata and controls
executable file
·122 lines (109 loc) · 3.95 KB
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
#!/bin/bash
# rsync -cauv --delete --info=stats2 --exclude={"caur.files","*.files.tar*","caur.db","*.db.tar*"} /var/cache/pacman/caur/ /home/cretm/app/dev.ctlos.ru/ctlos-aur
# find './' -maxdepth 1 -type f -regex '.*\.\(zst\|xz\)' -exec gpg -b '{}' \;
# find './' -maxdepth 1 -type f -exec gpg --pinentry-mode loopback --passphrase=${GPG_PASS} -b '{}' \;
# apindex .
# ./update.sh -add
# systemctl --user start kbfs
# ./update.sh -all
# surge --project ../ --domain https://ctlos.surge.sh
# https://osdn.net/projects/ctlos/storage/ctlos_repo/x86_64/
# https://github.com/ctlos/ctlos_repo/tree/master/x86_64
local_repo=${PWD}
arch=x86_64
echo $local_repo
echo
repo_name=ctlos_repo
repo_ctlos=cretm@cloud.ctlos.ru:/home/cretm/app/cloud.ctlos.ru/$repo_name/
repo_osdn=creio@storage.osdn.net:/storage/groups/c/ct/ctlos/$repo_name/
repo_keybase=/run/user/1000/keybase/kbfs/public/cvc/$repo_name/
aur_ctlos=/media/files/github/ctlos/ctlos-aur/x86_64/
aur_keybase=/run/user/1000/keybase/kbfs/public/cvc/ctlos-aur/
srht_repo=/media/files/srht/ctlos/$repo_name/
_git_up() {
git status
git add --all
msg="$(date +%d.%m.%Y) Update"
git commit -a -m "$msg"
git push
}
_keybase() {
srv_keybase="$(systemctl status --user kbfs | grep -i running 2>/dev/null || echo '')"
if [[ "$srv_keybase" ]]; then
rsync -cauvCLP --info=stats2 --delete-excluded --delete --exclude={"build",".git*",".*ignore"} "$local_repo/$arch/" "$repo_keybase"
else
systemctl start --user kbfs
sleep 4
echo "systemctl start --user kbfs done"
rsync -cauvCLP --info=stats2 --delete-excluded --delete --exclude={"build",".git*",".*ignore"} "$local_repo/$arch/" "$repo_keybase"
fi
# if read -re -p "stop keybase user service? [Y/n]: " ans && [[ $ans == 'n' || $ans == 'N' ]]; then
# echo "skip stop kbfs"
# else
# systemctl stop --user kbfs
# echo "stop kbfs done"
# fi
echo "rsync keybase repo"
}
_srht() {
if [[ -d "$srht_repo" ]]; then
rsync -avrCLP --delete --exclude={"build",".git*"} "$local_repo/" "$srht_repo"
cd $srht_repo
_git_up
cd $local_repo
fi
}
if [ "$1" = "-add" ]; then
cd $local_repo/$arch
# repo-add -s -v -n -R $repo_name.db.tar.zst *.pkg.tar.xz
# repo-add -n -R $repo_name.db.tar.zst *.pkg.tar.{xz,zst}
repo-add -s -n -R -q $repo_name.db.tar.zst *.pkg.tar.zst #2>/dev/null;
rm -f "$repo_name".{db,db.sig,files,files.sig}
cp -f $repo_name.db.tar.zst $repo_name.db
cp -f $repo_name.db.tar.zst.sig $repo_name.db.sig
cp -f $repo_name.files.tar.zst $repo_name.files
cp -f $repo_name.files.tar.zst.sig $repo_name.files.sig
##optional-remove for old repo.db##
rm -f *{zst,gz}.old{,.sig}
echo "Repo Up"
elif [ "$1" = "-clean" ]; then
cd $local_repo/$arch
rm $repo_name*
echo "Repo clean"
elif [ "$1" = "-o" ]; then
# rsync -cauvCLP --info=stats2 --delete-excluded --delete "$local_repo/$arch/" "$repo_osdn"
echo "rsync repo"
elif [ "$1" = "-sync" ]; then
# _keybase
_git_up
_srht
echo "rsync all repo"
elif [ "$1" = "-k" ]; then
_keybase
elif [ "$1" = "-all" ]; then
cd $local_repo/$arch
repo-add -s -n -R -q $repo_name.db.tar.zst *.pkg.tar.zst
rm -f "$repo_name".{db,db.sig,files,files.sig}
cp -f $repo_name.db.tar.zst $repo_name.db
cp -f $repo_name.db.tar.zst.sig $repo_name.db.sig
cp -f $repo_name.files.tar.zst $repo_name.files
cp -f $repo_name.files.tar.zst.sig $repo_name.files.sig
##optional-remove for old repo.db##
rm -f *{zst,gz}.old{,.sig}
sudo pacsync $repo_name >/dev/null;
# _keybase
_git_up
_srht
echo "add pkg, rsync all repo"
elif [ "$1" = "-l" ]; then
pacman -Sl $repo_name --color=always | sed 's/^/ /'
echo -e "\n $repo_name "$(pacman -Sql $repo_name | wc -l)" packages: pacman -Sl $repo_name"
fi
## sync ctlos-aur repo
if [[ "$1" = "-aur" && -d "$aur_ctlos" ]]; then
srv_keybase="$(systemctl status --user kbfs | grep -i running 2>/dev/null || echo '')"
if [[ "$srv_keybase" ]]; then
rsync -cauvCLP --delete-excluded --delete "$aur_ctlos" "$aur_keybase"
echo "sync aur"
fi
fi