mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
license downloader (for generating COPYING.txt) broke after opensource.org changed their html, so just vendor all of it
128 lines
2.7 KiB
Bash
Executable file
128 lines
2.7 KiB
Bash
Executable file
#!/bin/bash
|
|
set -e
|
|
echo
|
|
|
|
# osx support
|
|
# port install gnutar findutils gsed coreutils
|
|
gtar=$(command -v gtar || command -v gnutar) || true
|
|
[ ! -z "$gtar" ] && command -v gfind >/dev/null && {
|
|
tar() { $gtar "$@"; }
|
|
sed() { gsed "$@"; }
|
|
find() { gfind "$@"; }
|
|
sort() { gsort "$@"; }
|
|
command -v grealpath >/dev/null &&
|
|
realpath() { grealpath "$@"; }
|
|
}
|
|
|
|
which md5sum 2>/dev/null >/dev/null &&
|
|
md5sum=md5sum ||
|
|
md5sum="md5 -r"
|
|
|
|
ver="$1"
|
|
|
|
[ "x$ver" = x ] &&
|
|
{
|
|
echo "need argument 1: version"
|
|
echo
|
|
exit 1
|
|
}
|
|
|
|
[ -e copyparty/__main__.py ] || cd ..
|
|
[ -e copyparty/__main__.py ] ||
|
|
{
|
|
echo "run me from within the project root folder"
|
|
echo
|
|
exit 1
|
|
}
|
|
|
|
mkdir -p dist
|
|
zip_path="$(pwd)/dist/copyparty-$ver.zip"
|
|
tgz_path="$(pwd)/dist/copyparty-$ver.tar.gz"
|
|
|
|
[ -e "$zip_path" ] ||
|
|
[ -e "$tgz_path" ] &&
|
|
{
|
|
echo "found existing archives for this version"
|
|
echo " $zip_path"
|
|
echo " $tgz_path"
|
|
echo
|
|
echo "continue?"
|
|
read -u1
|
|
}
|
|
rm "$zip_path" 2>/dev/null || true
|
|
rm "$tgz_path" 2>/dev/null || true
|
|
|
|
#sed -ri "s/^(ADMIN_PWD *= *u).*/\1'hunter2'/" copyparty/config.py
|
|
|
|
tmp="$(mktemp -d)"
|
|
rls_dir="$tmp/copyparty-$ver"
|
|
mkdir "$rls_dir"
|
|
|
|
echo ">>> export from git"
|
|
git archive hovudstraum | tar -xC "$rls_dir"
|
|
|
|
echo ">>> export untracked deps"
|
|
tar -c copyparty/web/deps | tar -xC "$rls_dir"
|
|
|
|
scripts/genlic.py "$rls_dir/copyparty/res/COPYING.txt"
|
|
|
|
cd "$rls_dir"
|
|
find -type d -exec chmod 755 '{}' \+
|
|
find -type f -exec chmod 644 '{}' \+
|
|
|
|
commaver="$(
|
|
printf '%s\n' "$ver" |
|
|
sed -r 's/\./, /g'
|
|
)"
|
|
|
|
grep -qE "^VERSION *= \(${commaver}\)$" copyparty/__version__.py ||
|
|
{
|
|
echo "$tmp"
|
|
echo "bad version"
|
|
echo
|
|
echo " arg: $commaver"
|
|
echo "code: $(
|
|
cat copyparty/__version__.py |
|
|
grep -E '^VERSION'
|
|
)"
|
|
echo
|
|
echo "continue?"
|
|
read -u1
|
|
}
|
|
|
|
rm -rf .vscode
|
|
rm \
|
|
.gitattributes \
|
|
.gitignore
|
|
|
|
cp -pv LICENSE LICENSE.txt
|
|
mv setup.py{,.disabled}
|
|
|
|
# the regular cleanup memes
|
|
find -name '*.pyc' -delete
|
|
find -name __pycache__ -delete
|
|
find -type f \( -name .DS_Store -or -name ._.DS_Store \) -delete
|
|
find -type f -name ._\* | while IFS= read -r f; do cmp <(printf '\x00\x05\x16') <(head -c 3 -- "$f") && rm -f -- "$f"; done
|
|
|
|
# also messy because osx support
|
|
find -type f -exec $md5sum '{}' \+ |
|
|
sed -r 's/(.{32})(.*)/\2\1/' | LC_COLLATE=c sort |
|
|
sed -r 's/(.*)(.{32})/\2\1/' |
|
|
sed -r 's/^(.{32}) \./\1 ./' > ../.sums.md5
|
|
mv ../.sums.md5 .
|
|
|
|
cd ..
|
|
pwd
|
|
echo ">>> tar"; tar -czf "$tgz_path" --owner=1000 --group=1000 --numeric-owner "copyparty-$ver"
|
|
echo ">>> zip"; zip -qr "$zip_path" "copyparty-$ver"
|
|
|
|
rm -rf "$tmp"
|
|
echo
|
|
echo "done:"
|
|
echo " $zip_path"
|
|
echo " $tgz_path"
|
|
echo
|
|
|
|
# function alr() { ls -alR copyparty-$1 | sed -r "s/copyparty-$1/copyparty/" | sed -r 's/[A-Z][a-z]{2} [0-9 ]{2} [0-9]{2}:[0-9]{2}//' > $1; }; for x in hovudstraum rls src ; do alr $x; done
|
|
|