port packaging from r0c

This commit is contained in:
ed
2019-06-01 15:55:21 +00:00
parent b3de0712d3
commit 465cc8882f
4 changed files with 419 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
cd %~dp0\..
python setup.py clean2
python setup.py rstconv
python setup.py sdist bdist_wheel --universal
REM python setup.py sdist upload -r pypi

104
scripts/make-pypi-release.sh Executable file
View File

@@ -0,0 +1,104 @@
#!/bin/bash
set -e
echo
# osx support
sed=$( which gsed 2>/dev/null || which sed)
find=$(which gfind 2>/dev/null || which find)
sort=$(which gsort 2>/dev/null || which sort)
which md5sum 2>/dev/null >/dev/null &&
md5sum=md5sum ||
md5sum="md5 -r"
mode="$1"
[[ "x$mode" == x ]] &&
{
echo "need argument 1: (D)ry or (U)pload"
echo
exit 1
}
[[ -e copyparty/__main__.py ]] || cd ..
[[ -e copyparty/__main__.py ]] ||
{
echo "run me from within the copyparty folder"
echo
exit 1
}
# one-time stuff, do this manually through copy/paste
true ||
{
cat > ~/.pypirc <<EOF
[distutils]
index-servers =
pypi
pypitest
[pypi]
username=qwer
password=asdf
[pypitest]
repository: https://test.pypi.org/legacy/
username=qwer
password=asdf
EOF
# set pypi password
chmod 600 ~/.pypirc
sed -ri 's/qwer/username/;s/asdf/password/' ~/.pypirc
# setup build env
cd ~/dev/copyparty &&
virtualenv buildenv
. buildenv/bin/activate
pip install m2r
deactivate
# test rst
pip install docutils
./setup.py --long-description | tee ~/Desktop/rst | rst2html.py > ~/Desktop/rst.html
}
pydir="$(
which python |
sed -r 's@[^/]*$@@'
)"
[[ -e "$pydir/activate" ]] &&
{
echo '`deactivate` your virtualenv'
exit 1
}
function have() {
python -c "import $1; $1; $1.__version__"
}
. buildenv/bin/activate
have setuptools
have wheel
have m2r
./setup.py clean2
./setup.py rstconv
./setup.py sdist bdist_wheel --universal
[[ "x$mode" == "xu" ]] &&
./setup.py sdist bdist_wheel upload -r pypi
cat <<EOF
all done!
to clean up the source tree:
cd ~/dev/copyparty
./setup.py clean2
EOF

107
scripts/make-tgz-release.sh Executable file
View File

@@ -0,0 +1,107 @@
#!/bin/bash
set -e
echo
sed=$( which gsed 2>/dev/null || which sed)
find=$(which gfind 2>/dev/null || which find)
sort=$(which gsort 2>/dev/null || which sort)
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 copyparty folder"
echo
exit 1
}
out_dir="$(pwd | $sed -r 's@/[^/]+$@@')"
zip_path="$out_dir/copyparty-$ver.zip"
tgz_path="$out_dir/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"
git archive master |
tar -x -C "$rls_dir"
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
mv LICENSE LICENSE.txt
# 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 ..
echo ">>> tar"; tar -czf "$tgz_path" "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 master rls src ; do alr $x; done