451 lines
27 KiB
Bash
Executable file
451 lines
27 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# configuration! replace witt your own remotes and names
|
|
# but keep REPO_NAME in remote, since it's template and will be replaced be sed
|
|
DEV_PATH="/home/USER/dev"
|
|
COPYRIGHT_HOLDER="USER"
|
|
|
|
REMOTES=(
|
|
"git@github.com:USER/REPO_NAME.git"
|
|
"https://some.real.git.instance/USER/REPO_NAME.git"
|
|
)
|
|
|
|
# cat raw.txt | gzip -c -n -f | base64 > encoded.txt
|
|
# cat encoded.txt | base64 -d | gzip -d -c -n
|
|
|
|
# COPYRIGHT_YEAR, COPYRIGHT_HOLDER
|
|
LICENSE_BSD2CLAUSE=$(cat <<EOF
|
|
H4sIAAAAAAAAA7VSzW6jMBC++ylGPbUSm9X2uHsyxgmWCGZtk5TTioLbWiK4AtKqb79jJ1VT9bCn
|
|
lSIyMOPvb5zqDG6/saE9zhYK19lxtoQw//w2ucenBa67G2CyapTY5OZPw6lKLt5zWWRcrQgdBojz
|
|
M0x2ttOL7VeEKNu7eZnc/XFxfoR27CGwuBFmf5w6G7/cu7Gd3uDBT4c5gVe3PIGf4r8/LuTge/fg
|
|
ujYAJNBOFp7tdHDLYnt4nvyL67FYntoFHxZBhsG/uvEROj/2LhyaSTh0sMtP8mMFnxXN4B/epXS+
|
|
x7HjvKCBpUWJAa+99y+hdQ6DAMDoFwwpwbabYUCwgPHBFi19loKM3dC6g51W5ParBKS6iOBdAnrr
|
|
jyjrP6iAk7kA0/vueLDj0r7v5ztG77E5waFd7OTaYf6IOe4moF4awDWbXGjQcm32VHHAulJyJzKe
|
|
QdqAyTnQ2uRSAS0zvDqlUSKtjVQarqjG8avQILRsgN9VimsNOCu2VSEQASEVLY3gOgFRsqLORLlJ
|
|
AAGglAYKsRUGx4xMAhP5egzkGrZcsRxfaSoKYZooZC1MGbjWQRhUVBnB6oIqqGpVSc1J8JIJzQoq
|
|
tjxbAdIjJfAdLw3onBbFpTf8fbKWctRG04KTSIDmMqE4M8HFR8UwJZRVJKArzkQo+B1HD1Q1yRlT
|
|
8981DmGTZHRLN2jp+h9JYP6sVnwblKJ9XafaCFMbDhspM00QWHO1E4zrX1BIHUOqNU8go4ZGYoTA
|
|
hLCNdVprEbMSpeFK1ZURsrwhudxjGKiR4tEshirLaBVzkaoJoCGDmHkC+5zjdxVijEnREIHGxJgh
|
|
F2PIhwGaC49Q8k0hNrxkPHRlQNkLzW+AKqHDgDjR7mlDZB0th82gqlN5cTuTuD8Qa6DZTgTZ52Fc
|
|
uRbn6yHXRNcsh1PcK/IXoilyCSMFAAA=
|
|
EOF
|
|
)
|
|
|
|
# COPYRIGHT_YEAR, COPYRIGHT_HOLDER
|
|
LICENSE_MIT=$(cat <<EOF
|
|
H4sIAAAAAAAAA11TS4+bMBC++1eMctqV0PbemwPOxipgZJxNc6oIOMEVwRF2Gu2/7wzJPiUkNK/v
|
|
MQOFNJC71o7BMpb68+vkjn2Eh/YRUlXttHxemz87wfWncK3yTGjGKjudXAjOj+AC9Hay+1c4Ts0Y
|
|
bZfAYbIW/AHavpmONoHooRlf4WyngAN+Hxs3uvEIDbRIy7Az9ggT/CFem8licwdNCL51DeJB59vL
|
|
yY6xicR3cIMN8BB7C4v6PrF4nEk62wzMjUC1txJcXez9JcJkQ5xcSxgJuLEdLh1peCsP7uTuDDQ+
|
|
7yIwBL0EdEA6Ezj5zh3obWdb58t+cKFPoHMEvb9ETAZKzktNyMcPP0Gww8AQwaHu2euHurmHpJ9p
|
|
ofG+okCZa+9PX524wA6XaURKO890Hlc2M/61baQMtR/8MPgrWWv92DlyFH4yZrDU7P0/O3u5nXr0
|
|
EaXeJNABzh9XvZdC3wwD7O19YciL620+2ZmIPkQ8vGsGOPtp5vtu8wn51wJqtTJbrgXIGiqtXmQm
|
|
MljwGuNFAltp1mpjADs0L80O1Ap4uYNfsswSEL8rLeoalGayqHIpMCfLNN9ksnyGJc6VCr9nWUiD
|
|
oEYBEd6hpKgJrBA6XWPIlzKXZpewlTQlYa6UBg4V10ammxw/+GqjK1ULpM8QtpTlSiOLKERpnpAV
|
|
cyBeMIB6zfOcqBjfoHpN+j5+F7j9LjUsBSrjy1zcqNBUmnNZJJDxgj+LeUohimbUdlMH27WgFPFx
|
|
fFIjVUk2UlUajWGCLrV5H93KWiTAtaxpISutioTROnFCzSA4V4obCq0avlwEWyje1OIdEDLBc8Sq
|
|
aZgsvjU/sf8ba/WiOwQAAA==
|
|
EOF
|
|
)
|
|
|
|
# no copyrights here, since you don't own your code with GPL :^)
|
|
LICENSE_GPL2=$(cat <<EOF
|
|
H4sIAAAAAAAAA51bbXPbSHL+Pr9iSl8sVdH0ypdLbtepVFESZCMnkVqSslcfQWJIYg0CDAaQzH+f
|
|
p7tngAFfvJe4bs8WCfT0ez/d09L6+M/n8bP+HI2j6ehBPz3fPMS3Gv9F41mkTjxNf76aymZloT8O
|
|
9H83hdHXv/56rZS+LXf7Kltvan15e4UP//HrgL/S95Uxelau6rekMvq+bIo0qUFgoONiORzo/9zU
|
|
9e63Dx9WdjUsq/WH/1L67/RWUnzPs0LParxfD/R9tqo3+j4vy2qgb0pbE4XHkf7l4/X1L++v//bL
|
|
tX6ejZSOXk21L8FXZvXOVNusrk2q61IvwaBOilSnma2rbNHURuPZBZjZ0peZsUqXK11v8GaeLU1h
|
|
jU7LZbM1Bc7H83q5SYp1Vqx1VhP5oqx1kuflm0mH6py6+M9TZZLtIjf01HxjPHmrV2WltxBGW68g
|
|
+i81NlsXwnadfMeHb8le78umUitoIy239I3d8POQiPmCxPVQ65s9hCnqKrFgusZZbGFTmCrJ9VOz
|
|
wNHqwUkHGbKiNkUqR62bBFqvYS46Sv/sKPpOeZ7fv8cjW+LTNniMDm3FwRH0LAsKXYFHqxsLFxqS
|
|
JjKr+qxpz1qy2+WwCB3O+mHDmL4zqc6Z3tlAgwVLkxR7XeKdSu+qcl0lW/22KYlyU2/KykJLWzgH
|
|
nlSNFZuCpctZuTXutXOO2xNuWcKHoL7FXnllPxgLAfUZwbLC1iZJh1dav5SNXiYFy7rXwgtr3jFs
|
|
YcCyZNf6tjGFfoNedyb5TspgpXpGBvQVMVSZlakqkgYKcPYbkJ+qXYXzIeCkOceZPXK90KRJTU6h
|
|
NsmrGDhwjiCeJIyO+NOXznWqNXuC4hiDkl5xtM5WRFq/ZXZzNWiPgixLk70SkaZaEukUhqlYYWuD
|
|
+KuVfxE+ix+DV+kZ56g9Z8Tr8D0NHpfCJREpdGHehF+v90/iQ57c96J8a+mmJdG0RBl6tmydeUmv
|
|
1mZZS+RwHrRslcIEuqwMaWpJTmSFPJSxyFIFX6WURco0BUe6O0QoEePk0fa7fFWSVSqK24oFlKeG
|
|
ai7v9E5BRNs8qZn40lR1AoHxxA5fZossz+rMpSGiLBpVJy0aanJAHDn1b8s0W5H7siru8YX5kWx3
|
|
OR5yT5wkZ5vlRide5dDVxlDUKfxUZywxpwy9MiDE5zRIA+vM+R+8IwOpAsqhtNJpgfVKYaTJV4cS
|
|
ZfzugTvjlT0H2KB1tcC98K0KPA90RnCJlg+7gUvgma13BlQaSkFMVRwG/8oq5U1DMWxOeQn8HnWt
|
|
foNNa7Ozv+nL6yuuVVJM+1qHW6rLj1fQH+LcuUlQrd42GZRKOrL8ZW7WCHOugpZrtiuDg9DCoPmB
|
|
qxCbMTyPuR7lFhoiW5iELMbZE+nWiUJUKVggkDg8R6N3eOdwihVufGVuyHFtjddsawrJpkWJ9ysq
|
|
Qns+kqXr1RoYIl4dlRhmPuM0jM+3hk4xuZVasEuQj8FhQfwply1s6EFg15kMzLx552AH8nWeTixh
|
|
kqxI8gHOEJGoxkARqOxbLqVVmTZLYYNrCFkX3kkEkJpzMj1ZIaClXDl6hwd2Tc0FRtzlnr7O9wM+
|
|
JExPxFK9AaJA5cZZqPakyxolhKV3tXFHX9dUZuF3lFs5g7yWWcrnp5QdK5EY9cu7AxVGBGciSm8L
|
|
JwmRFWn2mqUNMaXLBScSOaSFM4j4Qhv45pKjjevQpiODv1GGTJ1U+6FLmvAJcheYmZ2HNb5NUsIy
|
|
epmbxHEIFTiBJPwWLYRKxTWda71zaIOyPD4mvbfPJQzWhh6C7cj+beRyfSohoWRNokmBAgkGXfpy
|
|
vq7E25YCBlYlIcAz+O/n6HoeTR9nejS+07eT8V08jyfjmb6fTPHj00s8/jzQd/FsPo1vnukrfvBx
|
|
chffx7cj+oCO/GXIKOoUbHK+yZqHOIJp3srqu0sThBJhQ6sS0hMV4l2eOOclD+ly0KbMqdLYZO+w
|
|
7xZoFCbokkiqmrYYiUI9kD6NNYZig4sn4e8C8NpAiwPFAKZln2tEIANxz0kQDnrBoiwSCW0+2VNT
|
|
W4Oip03GIgffEA2iC1azV5gPzsZUhPlO4Dx5+00CPGNeIDmOlWed2pxv9yjrXVmxTzCyGCjHQNtk
|
|
kASU7EP/sT7/toU6pURC8rPFVI5AbZI1qezyC9IkssIKKh60L9CBDOSXeUNAno4oG3J8wFv3daG8
|
|
ZfRFePoFwdCI8roLE853SZpWhnNmYvUFCskF3HuEXP8qaKF0eiWUdS5IekIysiQU2qFl8Q7nDp8k
|
|
3zJEa2qbcfyjnIK6d5WEUudKVU1xpHqXoT3sMenAwTemhqSKnFBuw1dUANzLgrD3ig8k23JB4Jya
|
|
1Vwe9ZGjKX/yJXKi2REOK7hDQfoi5hYGYJ2zGOQ8wfHVUH0TtKNbJ6sawt5Ey9Ipvgi1QqalkbJw
|
|
PRREk+z/lY7WAzdH5p0NQQ2ZN0TahKGzgiNki5LQAJUh+JDzTQeGFalmly2bsrG5nI6cw4kdvotP
|
|
dhToqDYQggGDYzJ8SnWR5jKPE2KZJ9kWWgHTHgZ80t+N2VFIkAc4qKfkNevLF4EhapV7mVC6QBI+
|
|
WVhT4BQqbJCtJa3oGUaUXa8YoIK+6uAILIpPbO4cleQlrCsgrnsapmqtJG0PI1kHapBqN3uL4Mid
|
|
X0sw+95NThK0t3dUEgcay53LMCRzi5UCMEYV+Ifv0j2CZs/52HmOA3tMUaSqTjuMz5gusynJbHii
|
|
4SK5FXbPpuKBK6zipyHq5NTeT4QuwesTpWTmhLtWyQJxe8Iv4RpA31tjxElECmuCov6blOjkqusI
|
|
lkljpZ1oAeQqy6V8LqFbVixkpPB2Lsc0LOVVjmnfcLK+JecIBZ+BUmq9nOPJUw4qLI74YN8kBbRk
|
|
A31BOS6yXJ+LnE5k3lCc+VtGY1XdlnX+zEqpI7kOUqAzLNPg9xiDlyvqiHrwCjkicackpAXvz1Si
|
|
OBqzKm2pkAOdQwK+9Iv4yyuP41vV+0JfwK8YZALipjKn4VaBRlVVQmUIecYJj0SLBBs0iKJK8lH+
|
|
EpaqqKT6LEwRQa7HrwcEGTFmhWOI5k1VikpbUbbgLhHcZZTkKzIKgBI5tPhTUZQNsgtNCV0R5qDo
|
|
ZTx9MuMlTMB9cL4RuiSAi2Zm4BFY6x8uCoSP9oWrbnrBkzaO+ADji8d7bbO5mMJhwLgyavLc1y8i
|
|
p7nzLfVrZt4OciJT6RDeZfRjaThd/UYFtleya2vylZ8/ehuANyZBtY5LeusJonwZGRQ9lQ8kifUy
|
|
kJfmGCH8T5NVMo8RigfEhleqnaHwo1sZMPB8zhWT1l35yC46uDFVGUEBfJ+gJdTWuCEM64daS35F
|
|
sNDZyBxwWaI5xIL4SGxZgBpPdQkZVQwQO9hBD1uD4CM3owOsg3tbqPiVerKaAiEMQTEsAR6O0AHN
|
|
tHiW3clZorK17HMkHeQjnn0k9uBomj83dfuCOvA5m2wDreBtzjzcb0qGkc4ks72aog5rCufVEG+6
|
|
miU0fIPo3vJJSPU1ILPgbjQiPZ9gAI+F0UL8oOm4M70i01buGI8xGy4WMhrBB9yIiliVWSdVilrA
|
|
9sdL+o2qtAzK5nhxEFwjEKc8iq/bfOn0xLWIcFEwC2ScamsVjpHwmDR3Fd14AAQwszIUwHOfNKy0
|
|
4b6hO4q7G2V+mEpaYT9EkzkRjTPyk8oO+qeyAprLabLhuyl7EglA5rigziKTu58tJbpkvSYtebKu
|
|
5RE5SCunCKlDqMX5kT/8CRC5op8T/VrmDc33V2h6bV1W6KtcSu/kE+jbJaFF5dNfwJ1kTfZpalJO
|
|
Frm//RypH4pwyD11kFJLPfr5eEUlqlz8SfMVPw+H9ZZNzfmGANmJ8qtmPuKumYePmkHUOQyFZEDj
|
|
MxdTMt6ABjr4NFqiJO8IrcB/W2vQZ7nhUlfJfJnr4BaRAQD1nmo5MSn4qetBBi7mfdQGM4WfAEEp
|
|
NX1x2MDOeEtQK7dJlcH/Gz8k6gaGVHMEjH2CCgctIDuWLGnjiRH3QL8meSbkoLMc2bnmWZzItTdJ
|
|
xZc2XVfB+IgTwn7g8LgDUAXdbMkwupC7PcZF7rLLNwhU/EzlobZTXOivAy7ConumcKjxoEQfGqdn
|
|
B8Z9Un//NRuc179I8v+wwfKcd2UFqUAyRdCyMjx1hZkNJKX/4E7qjMgEUXh4luTgpZB85lCMu9aV
|
|
6cCKR4kFAVHKlOjajqYdfopARY/eb/kLodZfBy/L2+LTpPU66sqhl0qmO3rWLHx1WIj2HXLpXZat
|
|
uqQiAzHhha8IxRzbtnLSQ3Qx56a2/cYM+uTL0XvuGUKmZSDXhr6crvh0OdLfzRzxhc9xSEOtUtY1
|
|
LWjs8sZyY5JYWy4zPw9DCCTk+GaVFZnMXanNcs9LHq6ynVwuU8FWvn4Rc5kbkzHsoWl5nichcOgk
|
|
gpRfYPhXUjphO2V3hi1uPJYdHMkThgtf91HVcOM4utnji8J20tNi2vC1S+raZVroKENHC25AFNnp
|
|
qouEbfInI4AtPJrR6aVISBx/hxubXKCJpTR+5SRUqFGV9Kx2b2tAN54xUeLty0+NErTaFIxbmOf2
|
|
KOVQe+IilOfMfe2hyK+O0EJAnSBWEAF0c+PGZOzo4E+BOh/tFjYYHSfuWpq9gafUDtX6tzTBdaRm
|
|
4vKAwJH3ebjNYJSJ4YuGcb5Vp2BlL0vShQXh42a9CXJ75m7PZca53aFnCpZOAiIH06JAGQwZ/q2D
|
|
DOREMgaSYQ26Px6hC3wNQUsPSihxVHJe82NHY1xun1yl99k8QCp0sUnjJTjFrlYMcd4YDJZnjz9/
|
|
OqVPumISF+Rro6ShKlC7WkZFJCM79q5AT7Cl2jD0+iUEzfdDbW6ViRUrw9+4s3WpQHiAFkwE26s4
|
|
v8SQVd0iTssYRw5bibobSsWeAbSDdOeF/62aXBJLniVoHdl0fxfT+e4u7DXJI3f1QQtmMxpJ+ntq
|
|
9hy3ecG5thWfMDF7OF1nrqnBl6Ft/1bXDfSQwc8YhqZBtT28+ZAtHGp4E9+UVXxft8kWWS2D+jx5
|
|
ay/yXZ94LI/QQW0p6Zp6sZc7Mp5W9PD1wej+0o0Xz47Yr2S0Q3ePy9Zr5PzEjXR7Nq4Zv9KNNc0b
|
|
/cLR/+WOTzhu2VcHSjzocNzWw78P5RalzrbG4ZOfIf2/kLgO9xsOAsg5P3XIPhp9RlP+Ttl9I0sj
|
|
EsT9SWJw1+/5QnRzKqrpZtucuRf12xQuPWUoDG5uuWoqvq3q7Z64Fqwbqb/Tba/pcqtLAOzXUMWG
|
|
L7iGqh9JbllFQBIaW/z/kuzURaC7UAqyMctx0JD9x1DHK6nrPE1BiLb3AlQD0LT/2aRrnuQJRgma
|
|
U7l+VgCiVHCMf2jl7OlvD2hcoy/l4nmbudVDd3WNcG2MvRqowAsZC7Me2RHIdy7dKgwJJVwB+DEg
|
|
QbfsD+4y9ZUv07T0hzCpHdBvjziIkYFctkksU7mg0Sed21bG8+/K9oVbhaLXw4l+6cC4pQUeuJfN
|
|
tk2OMDVyVSTXF6ghawcru6yvwkubYG/PwJY8fA9ec5X/yIiEvL1jnok9twFwvKSUeOu2izRlkwuO
|
|
kxVSXZV7dAn797xdEAR3ABP8KUh+gnpL3sgp2+s1d8GSoiwsaVuDh/btT+giGVRADhGRMw/3FW75
|
|
k5wBXHn1LqAkws4yhwrrHD+2oGRI9+kVFa12GsRG/gn7AuGCK5+jeRT+uTE5AWnphWmprpCgNAzy
|
|
pPQyCQrGZZMnyLRZtWy2lrO2ZLhFkncp3ITkg51UJTNJf5viHwouJQ52WN0uZSEupMJj6f407k3c
|
|
dk3FGezEyA2WaVx95p8k6oNFFNstVdCYH666d8Mzntb5nT03qpO5QVbv3V2Q4lm2PPmpf/gmcQ0N
|
|
SRdw6O/43FINCb2uHMXabWR2/XXPxIL5B+14VWXk+pRJpMTvZDnDe/+OB/KkMK0f2Y6mxPPddo5a
|
|
01YHwlqyjjum7cTf6AK/4htIWvQ7Ysmkyns7py7XkvBiosvnZSHzbsuJk7dalkHLlgAs8Uuf3Ay1
|
|
2bWXvbxP9SEtCzFAiuqT8pIpb11pu2GfITDI5b03K2h59fx1ycgxKcsn7baES4OuEkoi3pQZY8L5
|
|
QdSEbsrbccQonULDfd51enM94gJqMK8SAAtzXK2kqtr6KD1TlfvH0N+sHU4pPrj914OEldlgd4Iu
|
|
D/yaKLdFFeUs15uSq3TOv9h311phly4pukMjR4tElBS58bI9Po67AE7oSZrK1IF8ANZeG3p8t+Hr
|
|
856IwcYLyppcxCnJw60oA1nSTOr+q71fFpBhTsEYYItOQHWKkMzRWHeASakiFnIztUykuAapGBi/
|
|
RADTBYnlfB6wiDCHU/rxort7XJTp0YoBW/XXIa/BnN1JJ0351YvKvGZ8dSsmp/XmV/mlDauc7c8s
|
|
pwsEIBBL0YS/Id6MZAtpcOyQX6LAZ5TbwbvdZRUvsPshk6W4dW/IL08Qh4CdtLeAF1IDF8s5w8u2
|
|
ER/R7lLKJQcckZchGVs7YmQqmq7StJFMCBs3EJrSon+iaLYLU3Wbor415lnOinv1g2eP+gjJlME2
|
|
nSu0F5S7aUur8hQuBl0TxxXbL2h0o/NgfNrH035DzN8PeqbKyq8M9I7yBu529Mgd1Al3OJK9u84Q
|
|
JexPqeDgimzfLrCUHub7V6g1Pc3NqV/OkL2lX4YeO/pt1CA6GCocLZ/wIpyk33Af1brbu14EH2Bq
|
|
8TS+IKYQM/3yoNw2PaH3rpF2yLAtAu1tZJjm/kLzB8edi9dP/Msc5dZQkFnF5aAdMdp299n9wgbV
|
|
MNY7jzAQeXD5tOOFlsfXZZJzdHPsVa/e7QQVIOU0stiL97sZAH/kf9Wn9ws0Qqnclm3LTr8CJIsN
|
|
KRKMKyPtK2vJJ/n+L34RajzR30bT6Wg8f2GnuB7qm+h29DyL9PxLpJ+mk8/T0aOOZ35P9k7fT6NI
|
|
T+717ZfR9HM0oOemET0R0qKt2YAAnprwz9Ef82g810/R9DGez0Ht5kWPnp5AfHTzEOmH0TeoOPrj
|
|
Nnqa629forGaEPlvMfiZzUf0QjzW36bxPB5/ZoK0mjuNP3+Z6y+Th7toyvu7H3A6v6ifRtN5HM0U
|
|
+Pga3/WFuhjNwPaF/hbPv0ye5y3zJNxo/KL/GY/vBjqKmVD0x9M0mkF+BdrxIziO8GU8vn14vuPV
|
|
4BtQGE/m0BMkA5/zCavGP+upgxnQV4/RFPobz0c38UOMI2mX+D6ej3EEbxyPhPPb54cRhHiePk1m
|
|
Ec10SIUgAoVP49k/9WimnGJ/fx61hKBd0HgcjW/ZUAeGJHH1y+SZSgnkfrijB5R/gBQV6bvoPrqd
|
|
x19hXjyJY2bPj5HT92zOCnp40OPoFvyOpi96Fk2/xrekBzWNnkYx1E9b09MpUZmMJeF8HJLx4CXR
|
|
V/KB5/EDSTuNfn+GPCc8gWiMPsPbSJmB3dW3GIeThQ6NP+BX8EVn/Be40UQ/jl5kVfvFuQfYbHe5
|
|
+14Bp+i8c3QzIR3cgJ+Y2QIjpBAy0d3ocfQ5mg1U6wR8tFsvH+jZU3Qb0z/wPVwPtn4QrSCKfn8m
|
|
K+IDR0SPYE4SjfzQmYxikHxt7H0EZx/G5WV39oH/kV88TGbkbDhkPtLMMf6+iejpaTSGvjicRre3
|
|
z1OEFj1Bb4Cb2TOCLR6zURTJy9EcT+98PLGe9f0ofnieHvkYTp5AhUSSfa01iHey2dWAfUDH9zjq
|
|
9ouznu5F7Yv+AlPcRHhsdPc1pswj5yjEwix2Opk4Ck6P57IdpOW3Tyz4q/8FGTuknoY7AAA=
|
|
EOF
|
|
)
|
|
|
|
LICENSE_GPL3=$(cat <<EOF
|
|
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
|
|
+UuLydtPr3U98h/JJe/zsW8g/F86qZK32H4AAA==
|
|
EOF
|
|
)
|
|
|
|
function select_license() {
|
|
printf "Software licenses:\n"
|
|
printf "\t0. BSD2-Clause\n"
|
|
printf "\t1. MIT\n"
|
|
printf "\t2. GPLv2\n"
|
|
printf "\t3. GPLv3\n"
|
|
|
|
printf "Select software license: "; read ilicense
|
|
case "$ilicense" in
|
|
0)
|
|
license="$LICENSE_BSD2CLAUSE"
|
|
;;
|
|
1)
|
|
license="$LICENSE_MIT"
|
|
;;
|
|
2)
|
|
license="$LICENSE_GPL2"
|
|
;;
|
|
3)
|
|
license="$LICENSE_GPL3"
|
|
;;
|
|
*)
|
|
echo "Unknown license!"; exit 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
function license_decode() {
|
|
echo "$1" | base64 -d | gzip -d -c -n
|
|
}
|
|
|
|
function license_template() {
|
|
sed -i -e "s/$2/$3/" "$1"
|
|
}
|
|
|
|
function repomaker_genlicense() {
|
|
license_file=$(mktemp)
|
|
license_decode "$license" > "$license_file"
|
|
|
|
license_template "$license_file" "COPYRIGHT_YEAR" "$(date +%Y)"
|
|
license_template "$license_file" "COPYRIGHT_HOLDER" "$COPYRIGHT_HOLDER"
|
|
|
|
output=$(cat "$license_file")
|
|
rm "$license_file"
|
|
echo "$output"
|
|
}
|
|
|
|
function repomaker_init() {
|
|
printf "Enter repo name: "; read repo_name
|
|
printf "Enter repo description: "; read repo_desc
|
|
|
|
echo "Remotes: "
|
|
for i in "${!REMOTES[@]}"; do
|
|
printf "\t%d. %s\n" $i "${REMOTES[$i]}"
|
|
done
|
|
|
|
printf "Select primary remote: "; read iremote_primary
|
|
remote_primary="${REMOTES[$iremote_primary]}"
|
|
|
|
# create repo directory
|
|
repo_path="$DEV_PATH/$repo_name"
|
|
mkdir -p "$repo_path"
|
|
# generate license
|
|
select_license
|
|
repomaker_genlicense > "$repo_path/LICENSE"
|
|
# add readme
|
|
printf "# $repo_name\n\n$repo_desc\n" > "$repo_path/README.md"
|
|
# init git repo
|
|
cd "$repo_path"
|
|
git init
|
|
# add primary remote
|
|
git remote add origin $(echo "$remote_primary" | sed "s/REPO_NAME/$repo_name/")
|
|
# add push remotes
|
|
for i in "${!REMOTES[@]}"; do
|
|
if [ "$i" -ne "$iremote_primary" ]; then
|
|
git remote set-url --add origin $(echo "${REMOTES[$i]}" | sed "s/REPO_NAME/$repo_name/")
|
|
fi
|
|
done
|
|
# all done!
|
|
}
|
|
|
|
|
|
case "$1" in
|
|
"init")
|
|
repomaker_init
|
|
;;
|
|
"genlicense")
|
|
select_license
|
|
repomaker_genlicense
|
|
;;
|
|
*)
|
|
echo "repomaker.sh init/genlicense"; exit 1
|
|
esac
|