mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
vendor foss licenses
license downloader (for generating COPYING.txt) broke after opensource.org changed their html, so just vendor all of it
This commit is contained in:
parent
bafe7f5a09
commit
33c4ccffab
40
scripts/genlic.py
Executable file
40
scripts/genlic.py
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import re, os, sys, codecs
|
||||||
|
|
||||||
|
outfile = os.path.realpath(sys.argv[1])
|
||||||
|
|
||||||
|
os.chdir(os.path.dirname(__file__))
|
||||||
|
|
||||||
|
with open("../docs/lics.txt", "rb") as f:
|
||||||
|
s = f.read().decode("utf-8").rstrip("\n") + "\n\n\n\n"
|
||||||
|
s = re.sub("\nC: ", "\nCopyright (c) ", s)
|
||||||
|
s = re.sub("\nL: ", "\nLicense: ", s)
|
||||||
|
ret = s.split("\n")
|
||||||
|
|
||||||
|
lics = [
|
||||||
|
"MIT License",
|
||||||
|
"BSD 2-Clause License",
|
||||||
|
"BSD 3-Clause License",
|
||||||
|
"SIL Open Font License v1.1",
|
||||||
|
]
|
||||||
|
|
||||||
|
for n, lic in enumerate(lics, 1):
|
||||||
|
with open("lics/%d.r13" % (n,), "rb") as f:
|
||||||
|
s = f.read().decode("utf-8")
|
||||||
|
s = codecs.decode(s, "rot_13")
|
||||||
|
s = "\n--- %s ---\n\n%s" % (lic, s)
|
||||||
|
ret.extend(s.split("\n"))
|
||||||
|
|
||||||
|
for n, ln in enumerate(ret):
|
||||||
|
if not ln.startswith("--- "):
|
||||||
|
continue
|
||||||
|
pad = " " * ((80 - len(ln)) // 2)
|
||||||
|
ln = "%s\033[07m%s\033[0m" % (pad, ln)
|
||||||
|
ret[n] = ln
|
||||||
|
|
||||||
|
ret.append("")
|
||||||
|
ret.append("")
|
||||||
|
|
||||||
|
with open(outfile, "wb") as f:
|
||||||
|
f.write(("\n".join(ret)).encode("utf-8"))
|
|
@ -1,54 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
outfile="$($(command -v realpath || command -v grealpath) "$1")"
|
|
||||||
|
|
||||||
[ -e genlic.sh ] || cd scripts
|
|
||||||
[ -e genlic.sh ]
|
|
||||||
|
|
||||||
f=../build/mit.txt
|
|
||||||
[ -e $f ] ||
|
|
||||||
curl https://opensource.org/licenses/MIT |
|
|
||||||
awk '/div>/{o=0}o>1;o{o++}/;COPYRIGHT HOLDER/{o=1}' |
|
|
||||||
awk '{gsub(/<[^>]+>/,"")};1' >$f
|
|
||||||
|
|
||||||
f=../build/isc.txt
|
|
||||||
[ -e $f ] ||
|
|
||||||
curl https://opensource.org/licenses/ISC |
|
|
||||||
awk '/div>/{o=0}o>2;o{o++}/;OWNER/{o=1}' |
|
|
||||||
awk '{gsub(/<[^>]+>/,"")};/./{b=0}!/./{b++}b>1{next}1' >$f
|
|
||||||
|
|
||||||
f=../build/2bsd.txt
|
|
||||||
[ -e $f ] ||
|
|
||||||
curl https://opensource.org/licenses/BSD-2-Clause |
|
|
||||||
awk '/div>/{o=0}o>1;o{o++}/HOLDER/{o=1}' |
|
|
||||||
awk '{gsub(/<[^>]+>/,"")};1' >$f
|
|
||||||
|
|
||||||
f=../build/3bsd.txt
|
|
||||||
[ -e $f ] ||
|
|
||||||
curl https://opensource.org/licenses/BSD-3-Clause |
|
|
||||||
awk '/div>/{o=0}o>1;o{o++}/HOLDER/{o=1}' |
|
|
||||||
awk '{gsub(/<[^>]+>/,"")};1' >$f
|
|
||||||
|
|
||||||
f=../build/ofl.txt
|
|
||||||
[ -e $f ] ||
|
|
||||||
curl https://opensource.org/licenses/OFL-1.1 |
|
|
||||||
awk '/PREAMBLE/{o=1}/sil\.org/{o=0}!o{next}/./{printf "%s ",$0;next}{print"\n"}' |
|
|
||||||
awk '{gsub(/<[^>]+>/,"");gsub(/^\s+/,"");gsub(/&/,"\\&")}/./{b=0}!/./{b++}b>1{next}1' >$f
|
|
||||||
|
|
||||||
(sed -r 's/^L: /License: /;s/^C: /Copyright (c) /' <../docs/lics.txt
|
|
||||||
printf '\n\n--- MIT License ---\n\n'; cat ../build/mit.txt
|
|
||||||
printf '\n\n--- ISC License ---\n\n'; cat ../build/isc.txt
|
|
||||||
printf '\n\n--- BSD 2-Clause License ---\n\n'; cat ../build/2bsd.txt
|
|
||||||
printf '\n\n--- BSD 3-Clause License ---\n\n'; cat ../build/3bsd.txt
|
|
||||||
printf '\n\n--- SIL Open Font License v1.1 ---\n\n'; cat ../build/ofl.txt
|
|
||||||
) |
|
|
||||||
while IFS= read -r x; do
|
|
||||||
[ "${x:0:4}" = "--- " ] || {
|
|
||||||
printf '%s\n' "$x"
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
n=${#x}
|
|
||||||
p=$(( (80-n)/2 ))
|
|
||||||
printf "%${p}s\033[07m%s\033[0m\n" "" "$x"
|
|
||||||
done > "$outfile"
|
|
5
scripts/lics/1.r13
Normal file
5
scripts/lics/1.r13
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Crezvffvba vf urerol tenagrq, serr bs punetr, gb nal crefba bognvavat n pbcl bs guvf fbsgjner naq nffbpvngrq qbphzragngvba svyrf (gur "Fbsgjner"), gb qrny va gur Fbsgjner jvgubhg erfgevpgvba, vapyhqvat jvgubhg yvzvgngvba gur evtugf gb hfr, pbcl, zbqvsl, zretr, choyvfu, qvfgevohgr, fhoyvprafr, naq/be fryy pbcvrf bs gur Fbsgjner, naq gb crezvg crefbaf gb jubz gur Fbsgjner vf sheavfurq gb qb fb, fhowrpg gb gur sbyybjvat pbaqvgvbaf:
|
||||||
|
|
||||||
|
Gur nobir pbclevtug abgvpr naq guvf crezvffvba abgvpr funyy or vapyhqrq va nyy pbcvrf be fhofgnagvny cbegvbaf bs gur Fbsgjner.
|
||||||
|
|
||||||
|
GUR FBSGJNER VF CEBIVQRQ "NF VF", JVGUBHG JNEENAGL BS NAL XVAQ, RKCERFF BE VZCYVRQ, VAPYHQVAT OHG ABG YVZVGRQ GB GUR JNEENAGVRF BS ZREPUNAGNOVYVGL, SVGARFF SBE N CNEGVPHYNE CHECBFR NAQ ABAVASEVATRZRAG. VA AB RIRAG FUNYY GUR NHGUBEF BE PBCLEVTUG UBYQREF OR YVNOYR SBE NAL PYNVZ, QNZNTRF BE BGURE YVNOVYVGL, JURGURE VA NA NPGVBA BS PBAGENPG, GBEG BE BGUREJVFR, NEVFVAT SEBZ, BHG BS BE VA PBAARPGVBA JVGU GUR FBSGJNER BE GUR HFR BE BGURE QRNYVATF VA GUR FBSGJNER.
|
7
scripts/lics/2.r13
Normal file
7
scripts/lics/2.r13
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Erqvfgevohgvba naq hfr va fbhepr naq ovanel sbezf, jvgu be jvgubhg zbqvsvpngvba, ner crezvggrq cebivqrq gung gur sbyybjvat pbaqvgvbaf ner zrg:
|
||||||
|
|
||||||
|
1. Erqvfgevohgvbaf bs fbhepr pbqr zhfg ergnva gur nobir pbclevtug abgvpr, guvf yvfg bs pbaqvgvbaf naq gur sbyybjvat qvfpynvzre.
|
||||||
|
|
||||||
|
2. Erqvfgevohgvbaf va ovanel sbez zhfg ercebqhpr gur nobir pbclevtug abgvpr, guvf yvfg bs pbaqvgvbaf naq gur sbyybjvat qvfpynvzre va gur qbphzragngvba naq/be bgure zngrevnyf cebivqrq jvgu gur qvfgevohgvba.
|
||||||
|
|
||||||
|
GUVF FBSGJNER VF CEBIVQRQ OL GUR PBCLEVTUG UBYQREF NAQ PBAGEVOHGBEF "NF VF" NAQ NAL RKCERFF BE VZCYVRQ JNEENAGVRF, VAPYHQVAT, OHG ABG YVZVGRQ GB, GUR VZCYVRQ JNEENAGVRF BS ZREPUNAGNOVYVGL NAQ SVGARFF SBE N CNEGVPHYNE CHECBFR NER QVFPYNVZRQ. VA AB RIRAG FUNYY GUR PBCLEVTUG UBYQRE BE PBAGEVOHGBEF OR YVNOYR SBE NAL QVERPG, VAQVERPG, VAPVQRAGNY, FCRPVNY, RKRZCYNEL, BE PBAFRDHRAGVNY QNZNTRF (VAPYHQVAT, OHG ABG YVZVGRQ GB, CEBPHERZRAG BS FHOFGVGHGR TBBQF BE FREIVPRF; YBFF BS HFR, QNGN, BE CEBSVGF; BE OHFVARFF VAGREEHCGVBA) UBJRIRE PNHFRQ NAQ BA NAL GURBEL BS YVNOVYVGL, JURGURE VA PBAGENPG, FGEVPG YVNOVYVGL, BE GBEG (VAPYHQVAT ARTYVTRAPR BE BGUREJVFR) NEVFVAT VA NAL JNL BHG BS GUR HFR BS GUVF FBSGJNER, RIRA VS NQIVFRQ BS GUR CBFFVOVYVGL BS FHPU QNZNTR.
|
9
scripts/lics/3.r13
Normal file
9
scripts/lics/3.r13
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Erqvfgevohgvba naq hfr va fbhepr naq ovanel sbezf, jvgu be jvgubhg zbqvsvpngvba, ner crezvggrq cebivqrq gung gur sbyybjvat pbaqvgvbaf ner zrg:
|
||||||
|
|
||||||
|
1. Erqvfgevohgvbaf bs fbhepr pbqr zhfg ergnva gur nobir pbclevtug abgvpr, guvf yvfg bs pbaqvgvbaf naq gur sbyybjvat qvfpynvzre.
|
||||||
|
|
||||||
|
2. Erqvfgevohgvbaf va ovanel sbez zhfg ercebqhpr gur nobir pbclevtug abgvpr, guvf yvfg bs pbaqvgvbaf naq gur sbyybjvat qvfpynvzre va gur qbphzragngvba naq/be bgure zngrevnyf cebivqrq jvgu gur qvfgevohgvba.
|
||||||
|
|
||||||
|
3. Arvgure gur anzr bs gur pbclevtug ubyqre abe gur anzrf bs vgf pbagevohgbef znl or hfrq gb raqbefr be cebzbgr cebqhpgf qrevirq sebz guvf fbsgjner jvgubhg fcrpvsvp cevbe jevggra crezvffvba.
|
||||||
|
|
||||||
|
GUVF FBSGJNER VF CEBIVQRQ OL GUR PBCLEVTUG UBYQREF NAQ PBAGEVOHGBEF "NF VF" NAQ NAL RKCERFF BE VZCYVRQ JNEENAGVRF, VAPYHQVAT, OHG ABG YVZVGRQ GB, GUR VZCYVRQ JNEENAGVRF BS ZREPUNAGNOVYVGL NAQ SVGARFF SBE N CNEGVPHYNE CHECBFR NER QVFPYNVZRQ. VA AB RIRAG FUNYY GUR PBCLEVTUG UBYQRE BE PBAGEVOHGBEF OR YVNOYR SBE NAL QVERPG, VAQVERPG, VAPVQRAGNY, FCRPVNY, RKRZCYNEL, BE PBAFRDHRAGVNY QNZNTRF (VAPYHQVAT, OHG ABG YVZVGRQ GB, CEBPHERZRAG BS FHOFGVGHGR TBBQF BE FREIVPRF; YBFF BS HFR, QNGN, BE CEBSVGF; BE OHFVARFF VAGREEHCGVBA) UBJRIRE PNHFRQ NAQ BA NAL GURBEL BS YVNOVYVGL, JURGURE VA PBAGENPG, FGEVPG YVNOVYVGL, BE GBEG (VAPYHQVAT ARTYVTRAPR BE BGUREJVFR) NEVFVAT VA NAL JNL BHG BS GUR HFR BS GUVF FBSGJNER, RIRA VS NQIVFRQ BS GUR CBFFVOVYVGL BS FHPU QNZNTR.
|
39
scripts/lics/4.r13
Normal file
39
scripts/lics/4.r13
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
CERNZOYR
|
||||||
|
|
||||||
|
Gur tbnyf bs gur Bcra Sbag Yvprafr (BSY) ner gb fgvzhyngr jbeyqjvqr qrirybczrag bs pbyynobengvir sbag cebwrpgf, gb fhccbeg gur sbag perngvba rssbegf bs npnqrzvp naq yvathvfgvp pbzzhavgvrf, naq gb cebivqr n serr naq bcra senzrjbex va juvpu sbagf znl or funerq naq vzcebirq va cnegarefuvc jvgu bguref.
|
||||||
|
|
||||||
|
Gur BSY nyybjf gur yvprafrq sbagf gb or hfrq, fghqvrq, zbqvsvrq naq erqvfgevohgrq serryl nf ybat nf gurl ner abg fbyq ol gurzfryirf. Gur sbagf, vapyhqvat nal qrevingvir jbexf, pna or ohaqyrq, rzorqqrq, erqvfgevohgrq naq/be fbyq jvgu nal fbsgjner cebivqrq gung nal erfreirq anzrf ner abg hfrq ol qrevingvir jbexf. Gur sbagf naq qrevingvirf, ubjrire, pnaabg or eryrnfrq haqre nal bgure glcr bs yvprafr. Gur erdhverzrag sbe sbagf gb erznva haqre guvf yvprafr qbrf abg nccyl gb nal qbphzrag perngrq hfvat gur sbagf be gurve qrevingvirf.
|
||||||
|
|
||||||
|
QRSVAVGVBAF
|
||||||
|
|
||||||
|
"Sbag Fbsgjner" ersref gb gur frg bs svyrf eryrnfrq ol gur Pbclevtug Ubyqre(f) haqre guvf yvprafr naq pyrneyl znexrq nf fhpu. Guvf znl vapyhqr fbhepr svyrf, ohvyq fpevcgf naq qbphzragngvba.
|
||||||
|
|
||||||
|
"Erfreirq Sbag Anzr" ersref gb nal anzrf fcrpvsvrq nf fhpu nsgre gur pbclevtug fgngrzrag(f).
|
||||||
|
|
||||||
|
"Bevtvany Irefvba" ersref gb gur pbyyrpgvba bs Sbag Fbsgjner pbzcbaragf nf qvfgevohgrq ol gur Pbclevtug Ubyqre(f).
|
||||||
|
|
||||||
|
"Zbqvsvrq Irefvba" ersref gb nal qrevingvir znqr ol nqqvat gb, qryrgvat, be fhofgvghgvat - va cneg be va jubyr - nal bs gur pbzcbaragf bs gur Bevtvany Irefvba, ol punatvat sbezngf be ol cbegvat gur Sbag Fbsgjner gb n arj raivebazrag.
|
||||||
|
|
||||||
|
"Nhgube" ersref gb nal qrfvtare, ratvarre, cebtenzzre, grpuavpny jevgre be bgure crefba jub pbagevohgrq gb gur Sbag Fbsgjner.
|
||||||
|
|
||||||
|
CREZVFFVBA & PBAQVGVBAF
|
||||||
|
|
||||||
|
Crezvffvba vf urerol tenagrq, serr bs punetr, gb nal crefba bognvavat n pbcl bs gur Sbag Fbsgjner, gb hfr, fghql, pbcl, zretr, rzorq, zbqvsl, erqvfgevohgr, naq fryy zbqvsvrq naq hazbqvsvrq pbcvrf bs gur Sbag Fbsgjner, fhowrpg gb gur sbyybjvat pbaqvgvbaf:
|
||||||
|
|
||||||
|
1) Arvgure gur Sbag Fbsgjner abe nal bs vgf vaqvivqhny pbzcbaragf, va Bevtvany be Zbqvsvrq Irefvbaf, znl or fbyq ol vgfrys.
|
||||||
|
|
||||||
|
2) Bevtvany be Zbqvsvrq Irefvbaf bs gur Sbag Fbsgjner znl or ohaqyrq, erqvfgevohgrq naq/be fbyq jvgu nal fbsgjner, cebivqrq gung rnpu pbcl pbagnvaf gur nobir pbclevtug abgvpr naq guvf yvprafr. Gurfr pna or vapyhqrq rvgure nf fgnaq-nybar grkg svyrf, uhzna-ernqnoyr urnqref be va gur nccebcevngr znpuvar-ernqnoyr zrgnqngn svryqf jvguva grkg be ovanel svyrf nf ybat nf gubfr svryqf pna or rnfvyl ivrjrq ol gur hfre.
|
||||||
|
|
||||||
|
3) Ab Zbqvsvrq Irefvba bs gur Sbag Fbsgjner znl hfr gur Erfreirq Sbag Anzr(f) hayrff rkcyvpvg jevggra crezvffvba vf tenagrq ol gur pbeerfcbaqvat Pbclevtug Ubyqre. Guvf erfgevpgvba bayl nccyvrf gb gur cevznel sbag anzr nf cerfragrq gb gur hfref.
|
||||||
|
|
||||||
|
4) Gur anzr(f) bs gur Pbclevtug Ubyqre(f) be gur Nhgube(f) bs gur Sbag Fbsgjner funyy abg or hfrq gb cebzbgr, raqbefr be nqiregvfr nal Zbqvsvrq Irefvba, rkprcg gb npxabjyrqtr gur pbagevohgvba(f) bs gur Pbclevtug Ubyqre(f) naq gur Nhgube(f) be jvgu gurve rkcyvpvg jevggra crezvffvba.
|
||||||
|
|
||||||
|
5) Gur Sbag Fbsgjner, zbqvsvrq be hazbqvsvrq, va cneg be va jubyr, zhfg or qvfgevohgrq ragveryl haqre guvf yvprafr, naq zhfg abg or qvfgevohgrq haqre nal bgure yvprafr. Gur erdhverzrag sbe sbagf gb erznva haqre guvf yvprafr qbrf abg nccyl gb nal qbphzrag perngrq hfvat gur Sbag Fbsgjner.
|
||||||
|
|
||||||
|
GREZVANGVBA
|
||||||
|
|
||||||
|
Guvf yvprafr orpbzrf ahyy naq ibvq vs nal bs gur nobir pbaqvgvbaf ner abg zrg.
|
||||||
|
|
||||||
|
QVFPYNVZRE
|
||||||
|
|
||||||
|
GUR SBAG FBSGJNER VF CEBIVQRQ "NF VF", JVGUBHG JNEENAGL BS NAL XVAQ, RKCERFF BE VZCYVRQ, VAPYHQVAT OHG ABG YVZVGRQ GB NAL JNEENAGVRF BS ZREPUNAGNOVYVGL, SVGARFF SBE N CNEGVPHYNE CHECBFR NAQ ABAVASEVATRZRAG BS PBCLEVTUG, CNGRAG, GENQRZNEX, BE BGURE EVTUG. VA AB RIRAG FUNYY GUR PBCLEVTUG UBYQRE OR YVNOYR SBE NAL PYNVZ, QNZNTRF BE BGURE YVNOVYVGL, VAPYHQVAT NAL TRARENY, FCRPVNY, VAQVERPG, VAPVQRAGNY, BE PBAFRDHRAGVNY QNZNTRF, JURGURE VA NA NPGVBA BS PBAGENPG, GBEG BE BGUREJVFR, NEVFVAT SEBZ, BHG BS GUR HFR BE VANOVYVGL GB HFR GUR SBAG FBSGJNER BE SEBZ BGURE QRNYVATF VA GUR SBAG FBSGJNER.
|
3
scripts/lics/README.md
Normal file
3
scripts/lics/README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
these are foss licenses in rot13 so scanners don't think copyparty isn't mit
|
||||||
|
|
||||||
|
1=mit 2=2bsd 3=3bsd 4=ofl
|
12
scripts/lics/rot.py
Executable file
12
scripts/lics/rot.py
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import os, codecs
|
||||||
|
|
||||||
|
for fn in os.listdir("."):
|
||||||
|
if not fn.endswith(".txt"):
|
||||||
|
continue
|
||||||
|
with open(fn, "rb") as f:
|
||||||
|
s = f.read().decode("utf-8")
|
||||||
|
b = codecs.encode(s, "rot_13").encode("utf-8")
|
||||||
|
with open(fn.replace("txt", "r13"), "wb") as f:
|
||||||
|
f.write(b)
|
|
@ -100,14 +100,13 @@ load_env || {
|
||||||
# cleanup
|
# cleanup
|
||||||
rm -rf unt build/pypi
|
rm -rf unt build/pypi
|
||||||
|
|
||||||
# grab licenses
|
# generate license list
|
||||||
scripts/genlic.sh copyparty/res/COPYING.txt
|
scripts/genlic.py copyparty/res/COPYING.txt
|
||||||
|
|
||||||
# clean-ish packaging env
|
# clean-ish packaging env
|
||||||
rm -rf build/pypi
|
rm -rf build/pypi
|
||||||
mkdir -p build/pypi
|
mkdir -p build/pypi
|
||||||
cp -pR pyproject.toml README.md LICENSE copyparty contrib bin scripts/strip_hints build/pypi/
|
cp -pR pyproject.toml README.md LICENSE copyparty contrib bin scripts/strip_hints build/pypi/
|
||||||
tar -c docs/lics.txt scripts/genlic.sh build/*.txt | tar -xC build/pypi/
|
|
||||||
cd build/pypi
|
cd build/pypi
|
||||||
|
|
||||||
# delete junk
|
# delete junk
|
||||||
|
|
|
@ -308,8 +308,7 @@ necho() {
|
||||||
# remove type hints before build instead
|
# remove type hints before build instead
|
||||||
(cd copyparty; PYTHONPATH="..:$PYTHONPATH" "$pybin" ../../scripts/strip_hints/a.py; rm uh)
|
(cd copyparty; PYTHONPATH="..:$PYTHONPATH" "$pybin" ../../scripts/strip_hints/a.py; rm uh)
|
||||||
|
|
||||||
licfile=$(realpath copyparty/res/COPYING.txt)
|
(cd ../scripts; ./genlic.py ../copyparty/res/COPYING.txt)
|
||||||
(cd ../scripts; ./genlic.sh "$licfile")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[ ! -e copyparty/web/deps/mini-fa.woff ] && [ $dl_wd ] && {
|
[ ! -e copyparty/web/deps/mini-fa.woff ] && [ $dl_wd ] && {
|
||||||
|
|
|
@ -64,7 +64,7 @@ git archive hovudstraum | tar -xC "$rls_dir"
|
||||||
echo ">>> export untracked deps"
|
echo ">>> export untracked deps"
|
||||||
tar -c copyparty/web/deps | tar -xC "$rls_dir"
|
tar -c copyparty/web/deps | tar -xC "$rls_dir"
|
||||||
|
|
||||||
scripts/genlic.sh "$rls_dir/copyparty/res/COPYING.txt"
|
scripts/genlic.py "$rls_dir/copyparty/res/COPYING.txt"
|
||||||
|
|
||||||
cd "$rls_dir"
|
cd "$rls_dir"
|
||||||
find -type d -exec chmod 755 '{}' \+
|
find -type d -exec chmod 755 '{}' \+
|
||||||
|
|
Loading…
Reference in a new issue