diff --git a/.gitignore b/.gitignore index cb967f45..b7b533b4 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ copyparty/res/COPYING.txt copyparty/web/deps/ srv/ scripts/docker/i/ +scripts/deps-docker/uncomment.py contrib/package/arch/pkg/ contrib/package/arch/src/ diff --git a/copyparty/web/svcs.html b/copyparty/web/svcs.html index ef8847e9..65038deb 100644 --- a/copyparty/web/svcs.html +++ b/copyparty/web/svcs.html @@ -192,6 +192,7 @@

partyfuse

partyfuse.py -- fast, read-only, + needs fuse.py in the same folder, needs winfsp doesn't need root

diff --git a/scripts/deps-docker/Dockerfile b/scripts/deps-docker/Dockerfile index a59c15a5..a66191ee 100644 --- a/scripts/deps-docker/Dockerfile +++ b/scripts/deps-docker/Dockerfile @@ -37,6 +37,7 @@ RUN mkdir -p /z/dist/no-pk \ && wget https://github.com/google/zopfli/archive/zopfli-$ver_zopfli.tar.gz -O zopfli.tgz \ && wget https://github.com/Daninet/hash-wasm/releases/download/v$ver_hashwasm/hash-wasm@$ver_hashwasm.zip -O hash-wasm.zip \ && wget https://github.com/PrismJS/prism/archive/refs/tags/v$ver_prism.tar.gz -O prism.tgz \ + && wget https://files.pythonhosted.org/packages/04/0b/4506cb2e831cea4b0214d3625430e921faaa05a7fb520458c75a2dbd2152/fusepy-3.0.1.tar.gz -O fusepy.tgz \ && (mkdir hash-wasm \ && cd hash-wasm \ && unzip ../hash-wasm.zip) \ @@ -56,6 +57,7 @@ RUN mkdir -p /z/dist/no-pk \ && npm i gulp-cli -g ) \ && tar -xf dompurify.tgz \ && tar -xf prism.tgz \ + && tar -xf fusepy.tgz \ && unzip fontawesome.zip \ && tar -xf zopfli.tgz @@ -158,6 +160,18 @@ RUN cd /z/dist \ && rmdir no-pk +# build fusepy +COPY uncomment.py /z +RUN mv /z/fusepy-3.0.1/fuse.py /z/dist/f1 \ + && cd /z/dist \ + && python3 /z/uncomment.py f1 \ + && sed -ri '/self.__critical_exception = e/d' f1 \ + && awk '/^log =/{s=0} !s; /^from traceback im/{s=1;print"from functools import partial";print"basestring = str"}' f2 \ + && awk '/LoggingMixIn:/{exit} /Time as floating/{s=3}--s<0' f1 \ + && awk "/if _machine =/{s=0} /'(mips|ppc|ppc64)'/{s=1} !s" f2 \ + && rm f1 && mv f2 fuse.py + + # git diff -U2 --no-index marked-1.1.0-orig/ marked-1.1.0-edit/ -U2 | sed -r '/^index /d;s`^(diff --git a/)[^/]+/(.* b/)[^/]+/`\1\2`; s`^(---|\+\+\+) ([ab]/)[^/]+/`\1 \2`' > ../dev/copyparty/scripts/deps-docker/marked-ln.patch # d=/home/ed/dev/copyparty/scripts/deps-docker/; tar -cf ../x . && ssh root@$bip "cd $d && tar -xv >&2 && make >&2 && tar -cC ../../copyparty/web deps" <../x | (cd ../../copyparty/web/; cat > the.tgz; tar -xvf the.tgz; rm the.tgz) # gzip -dkf ../dev/copyparty/copyparty/web/deps/deps/marked.full.js.gz && diff -NarU2 ../dev/copyparty/copyparty/web/deps/{,deps/}marked.full.js diff --git a/scripts/deps-docker/Makefile b/scripts/deps-docker/Makefile index 4951d11e..dcd1f03f 100644 --- a/scripts/deps-docker/Makefile +++ b/scripts/deps-docker/Makefile @@ -4,8 +4,10 @@ vend := $(self)/../../copyparty/web/deps # prefers podman-docker (optionally rootless) over actual docker/moby all: + cp -pv ../uncomment.py . + docker build -t build-copyparty-deps . - + rm -rf $(vend) mkdir $(vend) diff --git a/scripts/make-sfx.sh b/scripts/make-sfx.sh index 474d2f39..34ecbe2f 100755 --- a/scripts/make-sfx.sh +++ b/scripts/make-sfx.sh @@ -437,7 +437,7 @@ rm -f ftp/pyftpdlib/{__main__,prefork}.py rm -rf copyparty/mdns.py copyparty/stolen/dnslib [ $no_pf ] && - rm -rf copyparty/web/a/partyfuse.py + rm -rf copyparty/web/a/partyfuse.py copyparty/web/deps/fuse.py [ $no_cm ] && { rm -rf copyparty/web/mde.* copyparty/web/deps/easymde* diff --git a/scripts/sfx.ls b/scripts/sfx.ls index 5fc14001..46d5eb40 100644 --- a/scripts/sfx.ls +++ b/scripts/sfx.ls @@ -84,6 +84,7 @@ copyparty/web/deps/__init__.py, copyparty/web/deps/busy.mp3, copyparty/web/deps/easymde.css, copyparty/web/deps/easymde.js, +copyparty/web/deps/fuse.py, copyparty/web/deps/marked.js, copyparty/web/deps/mini-fa.css, copyparty/web/deps/mini-fa.woff,