mirror of
https://github.com/9001/copyparty.git
synced 2025-08-16 16:42:13 -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
|
||||
|
||||
first grab the web-dependencies from a previous sfx (assuming you don't need to modify something in those):
|
||||
|
||||
```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:
|
||||
build the sfx using any of the following examples:
|
||||
|
||||
```sh
|
||||
./scripts/make-sfx.sh # regular edition
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
set -e
|
||||
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'
|
||||
|
||||
# optional args:
|
||||
|
@ -44,6 +46,13 @@ help() { exec cat <<'EOF'
|
|||
#
|
||||
# `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:
|
||||
|
@ -111,6 +120,7 @@ while [ ! -z "$1" ]; do
|
|||
no-hl) no_hl=1 ; ;;
|
||||
no-dd) no_dd=1 ; ;;
|
||||
no-cm) no_cm=1 ; ;;
|
||||
dl-wd) dl_wd=1 ; ;;
|
||||
ign-wd) ign_wd=1 ; ;;
|
||||
fast) zopf= ; ;;
|
||||
ultra) ultra=1 ; ;;
|
||||
|
@ -292,10 +302,46 @@ necho() {
|
|||
(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
|
||||
or run with argument "ign-wd" if this was intentional
|
||||
echo "extracting webdeps..."
|
||||
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
|
||||
exit 1
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue