mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
packaging
This commit is contained in:
parent
fdb969ea89
commit
574db704cc
|
@ -1399,7 +1399,7 @@ first grab the web-dependencies from a previous sfx (assuming you don't need to
|
||||||
```sh
|
```sh
|
||||||
rm -rf copyparty/web/deps
|
rm -rf copyparty/web/deps
|
||||||
curl -L https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py >x.py
|
curl -L https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py >x.py
|
||||||
python3 x.py -h
|
python3 x.py --version
|
||||||
rm x.py
|
rm x.py
|
||||||
mv /tmp/pe-copyparty/copyparty/web/deps/ copyparty/web/deps/
|
mv /tmp/pe-copyparty/copyparty/web/deps/ copyparty/web/deps/
|
||||||
```
|
```
|
||||||
|
|
|
@ -67,6 +67,7 @@ mkdir -p "${dirs[@]}"
|
||||||
for dir in "${dirs[@]}"; do for fn in ふが "$(printf \\xed\\x93)" 'qw,er;ty%20as df?gh+jkl%zxc&vbn <qwe>"rty'"'"'uio&asd fgh'; do echo "$dir" > "$dir/$fn.html"; done; done
|
for dir in "${dirs[@]}"; do for fn in ふが "$(printf \\xed\\x93)" 'qw,er;ty%20as df?gh+jkl%zxc&vbn <qwe>"rty'"'"'uio&asd fgh'; do echo "$dir" > "$dir/$fn.html"; done; done
|
||||||
# qw er+ty%20ui%%20op<as>df&gh&jk#zx'cv"bn`m=qw*er^ty?ui@op,as.df-gh_jk
|
# qw er+ty%20ui%%20op<as>df&gh&jk#zx'cv"bn`m=qw*er^ty?ui@op,as.df-gh_jk
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## upload mojibake
|
## upload mojibake
|
||||||
|
|
||||||
|
@ -143,6 +144,17 @@ sqlite3 -readonly up2k.db.key-full 'select w, v from mt where k = "key" order by
|
||||||
sqlite3 -readonly up2k.db.key-full 'select w, v from mt where k = "key" order by w' > k1; sqlite3 -readonly up2k.db 'select mt.w, mt.v, up.rd, up.fn from mt inner join up on mt.w = substr(up.w,1,16) where mt.k = "key" order by up.rd, up.fn' > k2; ok=0; ng=0; while IFS='|' read w k2 path; do k1="$(grep -E "^$w" k1 | sed -r 's/.*\|//')"; [ "$k1" = "$k2" ] && ok=$((ok+1)) || { ng=$((ng+1)); printf '%3s %3s %s\n' "$k1" "$k2" "$path"; }; done < <(cat k2); echo "match $ok diff $ng"
|
sqlite3 -readonly up2k.db.key-full 'select w, v from mt where k = "key" order by w' > k1; sqlite3 -readonly up2k.db 'select mt.w, mt.v, up.rd, up.fn from mt inner join up on mt.w = substr(up.w,1,16) where mt.k = "key" order by up.rd, up.fn' > k2; ok=0; ng=0; while IFS='|' read w k2 path; do k1="$(grep -E "^$w" k1 | sed -r 's/.*\|//')"; [ "$k1" = "$k2" ] && ok=$((ok+1)) || { ng=$((ng+1)); printf '%3s %3s %s\n' "$k1" "$k2" "$path"; }; done < <(cat k2); echo "match $ok diff $ng"
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## scanning for exceptions
|
||||||
|
|
||||||
|
cd /dev/shm
|
||||||
|
journalctl -aS '720 hour ago' -t python3 -o with-unit --utc | cut -d\ -f2,6- > cpp.log
|
||||||
|
tac cpp.log | awk '/RuntimeError: generator ignored GeneratorExit/{n=1} n{n--;if(n==0)print} 1' | grep 'generator ignored GeneratorExit' -C7 | head -n 100
|
||||||
|
awk '/Exception ignored in: <generator object StreamZip.gen/{s=1;next} /could not create thumbnail/{s=3;next} s{s--;next} 1' <cpp.log | less -R
|
||||||
|
less-search:
|
||||||
|
>: |Exception|Traceback
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## tracking bitflips
|
## tracking bitflips
|
||||||
|
|
||||||
|
@ -168,6 +180,7 @@ printf ' %s [%s]\n' $h2 "$(grep -F $h2 <handshakes | head -n 1)"
|
||||||
# BUT the clients will immediately re-handshake the upload with the same bitflipped hashes, so the uploaders have to refresh their browsers before you do that,
|
# BUT the clients will immediately re-handshake the upload with the same bitflipped hashes, so the uploaders have to refresh their browsers before you do that,
|
||||||
# so maybe just ask them to refresh and do nothing for 6 hours so the timeout kicks in, which deletes the placeholders/name-reservations and you can then manually delete the .PARTIALs at some point later
|
# so maybe just ask them to refresh and do nothing for 6 hours so the timeout kicks in, which deletes the placeholders/name-reservations and you can then manually delete the .PARTIALs at some point later
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## media
|
## media
|
||||||
|
|
||||||
|
|
|
@ -119,7 +119,7 @@ chmod 755 \
|
||||||
|
|
||||||
# extract the sfx
|
# extract the sfx
|
||||||
( cd copyparty-extras/sfx-full/
|
( cd copyparty-extras/sfx-full/
|
||||||
./copyparty-sfx.py -h
|
./copyparty-sfx.py --version
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,7 @@ while [ ! -z "$1" ]; do
|
||||||
re) repack=1 ; ;;
|
re) repack=1 ; ;;
|
||||||
ox) use_ox=1 ; ;;
|
ox) use_ox=1 ; ;;
|
||||||
gz) use_gz=1 ; ;;
|
gz) use_gz=1 ; ;;
|
||||||
|
gzz) shift;use_gzz=$1;use_gz=1; ;;
|
||||||
no-fnt) no_fnt=1 ; ;;
|
no-fnt) no_fnt=1 ; ;;
|
||||||
no-hl) no_hl=1 ; ;;
|
no-hl) no_hl=1 ; ;;
|
||||||
no-dd) no_dd=1 ; ;;
|
no-dd) no_dd=1 ; ;;
|
||||||
|
@ -484,7 +485,7 @@ nf=$(ls -1 "$zdir"/arc.* | wc -l)
|
||||||
pyoxidizer build --release --target-triple $tgt
|
pyoxidizer build --release --target-triple $tgt
|
||||||
mv $bdir/copyparty.exe dist/
|
mv $bdir/copyparty.exe dist/
|
||||||
cp -pv "$(for d in '/c/Program Files (x86)/Microsoft Visual Studio/'*'/BuildTools/VC/Redist/MSVC'; do
|
cp -pv "$(for d in '/c/Program Files (x86)/Microsoft Visual Studio/'*'/BuildTools/VC/Redist/MSVC'; do
|
||||||
find "$d" -name vcruntime140.dll; done | sort | grep -vE '/x64/|/onecore/' | head -n 1)" dist/
|
find "$d" -name vcruntime140.dll; done | sort | grep -vE '/x64/|/onecore/' | head -n 1)" dist/
|
||||||
dist/copyparty.exe --version
|
dist/copyparty.exe --version
|
||||||
cp -pv dist/copyparty{,.orig}.exe
|
cp -pv dist/copyparty{,.orig}.exe
|
||||||
[ $ultra ] && a="--best --lzma" || a=-1
|
[ $ultra ] && a="--best --lzma" || a=-1
|
||||||
|
@ -511,13 +512,18 @@ done
|
||||||
echo creating tar
|
echo creating tar
|
||||||
tar -cf tar "${targs[@]}" --numeric-owner -T list
|
tar -cf tar "${targs[@]}" --numeric-owner -T list
|
||||||
|
|
||||||
pc=bzip2
|
pc="bzip2 -"; pe=bz2
|
||||||
pe=bz2
|
[ $use_gz ] && pc="gzip -" && pe=gz
|
||||||
[ $use_gz ] && pc=gzip && pe=gz
|
[ $use_gzz ] && pc="pigz -11 -I$use_gzz" && pe=gz
|
||||||
|
|
||||||
echo compressing tar
|
echo compressing tar
|
||||||
# detect best level; bzip2 -7 is usually better than -9
|
for n in {2..9}; do cp tar t.$n; nice $pc$n t.$n & done; wait
|
||||||
for n in {2..9}; do cp tar t.$n; nice $pc -$n t.$n & done; wait; mv -v $(ls -1S t.*.$pe | tail -n 1) tar.bz2
|
minf=$(for f in t.*.$pe; do
|
||||||
|
s1=$(wc -c <$f)
|
||||||
|
s2=$(tr -d '\r\n\0' <$f | wc -c)
|
||||||
|
echo "$(( s2+(s1-s2)*3 )) $f"
|
||||||
|
done | sort -n | awk '{print$2;exit}')
|
||||||
|
mv -v $minf tar.bz2
|
||||||
rm t.* || true
|
rm t.* || true
|
||||||
exts=()
|
exts=()
|
||||||
|
|
||||||
|
|
|
@ -31,10 +31,9 @@ rm -f ../dist/copyparty-sfx*
|
||||||
shift
|
shift
|
||||||
./make-sfx.sh "$@"
|
./make-sfx.sh "$@"
|
||||||
f=../dist/copyparty-sfx
|
f=../dist/copyparty-sfx
|
||||||
[ -e $f.py ] ||
|
[ -e $f.py ] && s= || s=-gz
|
||||||
f=../dist/copyparty-sfx-gz
|
|
||||||
|
|
||||||
$f.py -h >/dev/null
|
$f$s.py --version >/dev/null
|
||||||
|
|
||||||
[ $parallel -gt 1 ] && {
|
[ $parallel -gt 1 ] && {
|
||||||
printf '\033[%s' s 2r H "0;1;37;44mbruteforcing sfx size -- press enter to terminate" K u "7m $* " K $'27m\n'
|
printf '\033[%s' s 2r H "0;1;37;44mbruteforcing sfx size -- press enter to terminate" K u "7m $* " K $'27m\n'
|
||||||
|
@ -44,9 +43,9 @@ $f.py -h >/dev/null
|
||||||
for ((a=0; a<$parallel; a++)); do
|
for ((a=0; a<$parallel; a++)); do
|
||||||
while [ -e .sfx-run ]; do
|
while [ -e .sfx-run ]; do
|
||||||
CSN=sfx$a ./make-sfx.sh re "$@"
|
CSN=sfx$a ./make-sfx.sh re "$@"
|
||||||
sz=$(wc -c <$f$a.py | awk '{print$1}')
|
sz=$(wc -c <$f$a$s.py | awk '{print$1}')
|
||||||
[ $sz -ge $min ] && continue
|
[ $sz -ge $min ] && continue
|
||||||
mv $f$a.py $f.py.$sz
|
mv $f$a$s.py $f$s.py.$sz
|
||||||
min=$sz
|
min=$sz
|
||||||
done &
|
done &
|
||||||
done
|
done
|
||||||
|
@ -55,7 +54,7 @@ $f.py -h >/dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
mv $f.py $f.$(wc -c <$f.py | awk '{print$1}').py
|
mv $f$s.py $f$s.$(wc -c <$f$s.py | awk '{print$1}').py
|
||||||
./make-sfx.sh re "$@"
|
./make-sfx.sh re "$@"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue