mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
make-sfx: option to auto-obtain webdeps
This commit is contained in:
parent
03be26fafc
commit
9f122ccd16
|
@ -238,23 +238,7 @@ pip install black==21.12b0 click==8.0.2 bandit pylint flake8 isort mypy # vscod
|
||||||
|
|
||||||
if you just want to modify the copyparty source code (py/html/css/js) then this is the easiest approach
|
if you just want to modify the copyparty source code (py/html/css/js) then this is the easiest approach
|
||||||
|
|
||||||
first grab the web-dependencies from a previous sfx (assuming you don't need to modify something in those):
|
build the sfx using any of the following examples:
|
||||||
|
|
||||||
```sh
|
|
||||||
rm -rf copyparty/web/deps
|
|
||||||
curl -L https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py >x.py
|
|
||||||
python3 x.py --version
|
|
||||||
rm x.py
|
|
||||||
cp -R /tmp/pe-copyparty.$(id -u)/copyparty/web/deps copyparty/web/
|
|
||||||
```
|
|
||||||
|
|
||||||
or you could build the web-dependencies from source instead:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
make -C scripts/deps-docker
|
|
||||||
```
|
|
||||||
|
|
||||||
then build the sfx using any of the following examples:
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./scripts/make-sfx.sh # regular edition
|
./scripts/make-sfx.sh # regular edition
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
set -e
|
set -e
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
berr() { p=$(head -c 72 </dev/zero | tr '\0' =); printf '\n%s\n\n' $p; cat; printf '\n%s\n\n' $p; }
|
||||||
|
|
||||||
help() { exec cat <<'EOF'
|
help() { exec cat <<'EOF'
|
||||||
|
|
||||||
# optional args:
|
# optional args:
|
||||||
|
@ -44,6 +46,13 @@ help() { exec cat <<'EOF'
|
||||||
#
|
#
|
||||||
# `no-dd` saves ~2k by removing the mouse cursor
|
# `no-dd` saves ~2k by removing the mouse cursor
|
||||||
#
|
#
|
||||||
|
# _____________________________________________________________________
|
||||||
|
# build behavior:
|
||||||
|
#
|
||||||
|
# `dl-wd` automatically downloads webdeps if necessary
|
||||||
|
#
|
||||||
|
# `ign-wd` allows building an sfx without webdeps
|
||||||
|
#
|
||||||
# ---------------------------------------------------------------------
|
# ---------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# if you are on windows, you can use msys2:
|
# if you are on windows, you can use msys2:
|
||||||
|
@ -111,6 +120,7 @@ while [ ! -z "$1" ]; do
|
||||||
no-hl) no_hl=1 ; ;;
|
no-hl) no_hl=1 ; ;;
|
||||||
no-dd) no_dd=1 ; ;;
|
no-dd) no_dd=1 ; ;;
|
||||||
no-cm) no_cm=1 ; ;;
|
no-cm) no_cm=1 ; ;;
|
||||||
|
dl-wd) dl_wd=1 ; ;;
|
||||||
ign-wd) ign_wd=1 ; ;;
|
ign-wd) ign_wd=1 ; ;;
|
||||||
fast) zopf= ; ;;
|
fast) zopf= ; ;;
|
||||||
ultra) ultra=1 ; ;;
|
ultra) ultra=1 ; ;;
|
||||||
|
@ -292,10 +302,46 @@ necho() {
|
||||||
(cd ../scripts; ./genlic.sh "$licfile")
|
(cd ../scripts; ./genlic.sh "$licfile")
|
||||||
}
|
}
|
||||||
|
|
||||||
[ -e copyparty/web/deps/mini-fa.woff ] || [ $ign_wd ] || { cat <<'EOF'
|
[ ! -e copyparty/web/deps/mini-fa.woff ] && [ $dl_wd ] && {
|
||||||
|
echo "could not find webdeps; downloading..."
|
||||||
|
url=https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py
|
||||||
|
wget -Ox.py "$url" || curl -L "$url" >x.py
|
||||||
|
|
||||||
could not find webdeps; please see https://github.com/9001/copyparty/blob/hovudstraum/docs/devnotes.md#building
|
echo "extracting webdeps..."
|
||||||
or run with argument "ign-wd" if this was intentional
|
wdsrc="$("$pybin" x.py --version 2>&1 | tee /dev/stderr | awk '/sfxdir:/{sub(/.*: /,"");print;exit}')"
|
||||||
|
[ "$wdsrc" ] || {
|
||||||
|
echo failed to discover tempdir of reference copyparty-sfx.py
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
rm -rf copyparty/web/deps
|
||||||
|
cp -pvR "$wdsrc/copyparty/web/deps" copyparty/web/
|
||||||
|
|
||||||
|
# also copy it out into the source-tree for next time
|
||||||
|
rm -rf ../copyparty/web/deps
|
||||||
|
cp -pR copyparty/web/deps ../copyparty/web
|
||||||
|
|
||||||
|
rm x.py
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -e copyparty/web/deps/mini-fa.woff ] || [ $ign_wd ] || { berr <<'EOF'
|
||||||
|
ERROR:
|
||||||
|
could not find webdeps; the front-end will not be fully functional
|
||||||
|
|
||||||
|
please choose one of the following:
|
||||||
|
|
||||||
|
A) add the argument "dl-wd" to fix it automatically; this will
|
||||||
|
download copyparty-sfx.py and extract the webdeps from there
|
||||||
|
|
||||||
|
B) build the webdeps from source: make -C scripts/deps-docker
|
||||||
|
|
||||||
|
C) add the argument "ign-wd" to continue building the sfx without webdeps
|
||||||
|
|
||||||
|
alternative A is a good choice if you are only intending to
|
||||||
|
modify the copyparty source code (py/html/css/js) and do not
|
||||||
|
plan to make any changes to the mostly-third-party webdeps
|
||||||
|
|
||||||
|
there may be additional hints in the devnotes:
|
||||||
|
https://github.com/9001/copyparty/blob/hovudstraum/docs/devnotes.md#building
|
||||||
EOF
|
EOF
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue