From 39d6b5a0cf8035a7a1ea69bc429c3baa85cb9c99 Mon Sep 17 00:00:00 2001 From: Jonathan Yu Date: Sat, 8 Jan 2022 11:08:56 -0800 Subject: [PATCH 1/2] feat: add more package repositories * Add Microsoft Edge repository * Prevent VSCode from installing repository list * Add NodeSource repository * Add Yarnpkg repository --- files/etc/apt/preferences.d/microsoft-edge | 12 ++++ files/etc/apt/preferences.d/microsoft-vscode | 4 ++ files/etc/apt/preferences.d/nodesource | 9 +++ files/etc/apt/preferences.d/yarnpkg | 8 +++ .../apt/sources.list.d/microsoft-edge.list | 1 + .../apt/sources.list.d/microsoft-vscode.list | 2 +- files/etc/apt/sources.list.d/nodesource.list | 1 + files/etc/apt/sources.list.d/yarnpkg.list | 1 + files/etc/default/microsoft-edge-beta | 4 ++ files/etc/default/microsoft-edge-dev | 4 ++ .../local/share/keyrings/google-chrome.gpg | Bin 7401 -> 9024 bytes files/usr/local/share/keyrings/nodesource.gpg | Bin 0 -> 2206 bytes files/usr/local/share/keyrings/yarnpkg.gpg | Bin 0 -> 11460 bytes install-system.sh | 63 ++++++++++++++---- update-keys.sh | 8 +++ 15 files changed, 104 insertions(+), 13 deletions(-) create mode 100644 files/etc/apt/preferences.d/microsoft-edge create mode 100644 files/etc/apt/preferences.d/nodesource create mode 100644 files/etc/apt/preferences.d/yarnpkg create mode 100644 files/etc/apt/sources.list.d/microsoft-edge.list create mode 100644 files/etc/apt/sources.list.d/nodesource.list create mode 100644 files/etc/apt/sources.list.d/yarnpkg.list create mode 100644 files/etc/default/microsoft-edge-beta create mode 100644 files/etc/default/microsoft-edge-dev create mode 100644 files/usr/local/share/keyrings/nodesource.gpg create mode 100644 files/usr/local/share/keyrings/yarnpkg.gpg diff --git a/files/etc/apt/preferences.d/microsoft-edge b/files/etc/apt/preferences.d/microsoft-edge new file mode 100644 index 0000000..2441961 --- /dev/null +++ b/files/etc/apt/preferences.d/microsoft-edge @@ -0,0 +1,12 @@ +# Ignore all packages from this repository by default +Package: * +Pin: origin packages.microsoft.com +Pin-Priority: 1 + +Package: microsoft-edge-beta +Pin: origin packages.microsoft.com +Pin-Priority: 500 + +Package: microsoft-edge-dev +Pin: origin packages.microsoft.com +Pin-Priority: 500 diff --git a/files/etc/apt/preferences.d/microsoft-vscode b/files/etc/apt/preferences.d/microsoft-vscode index dc134ac..4820cf6 100644 --- a/files/etc/apt/preferences.d/microsoft-vscode +++ b/files/etc/apt/preferences.d/microsoft-vscode @@ -6,3 +6,7 @@ Pin-Priority: 1 Package: code Pin: origin packages.microsoft.com Pin-Priority: 500 + +Package: code-insiders +Pin: origin packages.microsoft.com +Pin-Priority: 500 diff --git a/files/etc/apt/preferences.d/nodesource b/files/etc/apt/preferences.d/nodesource new file mode 100644 index 0000000..04221c3 --- /dev/null +++ b/files/etc/apt/preferences.d/nodesource @@ -0,0 +1,9 @@ +# Ignore all packages from this repository by default +Package: * +Pin: origin deb.nodesource.com +Pin-Priority: 1 + +# Node.js +Package: nodejs +Pin: origin deb.nodesource.com +Pin-Priority: 500 diff --git a/files/etc/apt/preferences.d/yarnpkg b/files/etc/apt/preferences.d/yarnpkg new file mode 100644 index 0000000..37382c7 --- /dev/null +++ b/files/etc/apt/preferences.d/yarnpkg @@ -0,0 +1,8 @@ +# Ignore all packages from this repository by default +Package: * +Pin: origin dl.yarnpkg.com +Pin-Priority: 1 + +Package: yarn +Pin: origin dl.yarnpkg.com +Pin-Priority: 500 diff --git a/files/etc/apt/sources.list.d/microsoft-edge.list b/files/etc/apt/sources.list.d/microsoft-edge.list new file mode 100644 index 0000000..d86df30 --- /dev/null +++ b/files/etc/apt/sources.list.d/microsoft-edge.list @@ -0,0 +1 @@ +deb [arch=amd64,arm64 signed-by=/usr/local/share/keyrings/microsoft.gpg] https://packages.microsoft.com/repos/edge stable main diff --git a/files/etc/apt/sources.list.d/microsoft-vscode.list b/files/etc/apt/sources.list.d/microsoft-vscode.list index 1ace724..7ae3ce4 100644 --- a/files/etc/apt/sources.list.d/microsoft-vscode.list +++ b/files/etc/apt/sources.list.d/microsoft-vscode.list @@ -1 +1 @@ -deb [arch=amd64 signed-by=/usr/local/share/keyrings/microsoft.gpg] https://packages.microsoft.com/repos/code stable main +deb [arch=amd64,arm64 signed-by=/usr/local/share/keyrings/microsoft.gpg] https://packages.microsoft.com/repos/code stable main diff --git a/files/etc/apt/sources.list.d/nodesource.list b/files/etc/apt/sources.list.d/nodesource.list new file mode 100644 index 0000000..baf5952 --- /dev/null +++ b/files/etc/apt/sources.list.d/nodesource.list @@ -0,0 +1 @@ +deb [signed-by=/usr/local/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_16.x bookworm main diff --git a/files/etc/apt/sources.list.d/yarnpkg.list b/files/etc/apt/sources.list.d/yarnpkg.list new file mode 100644 index 0000000..cdcb447 --- /dev/null +++ b/files/etc/apt/sources.list.d/yarnpkg.list @@ -0,0 +1 @@ +deb [signed-by=/usr/local/share/keyrings/yarnpkg.gpg] https://dl.yarnpkg.com/debian/ stable main diff --git a/files/etc/default/microsoft-edge-beta b/files/etc/default/microsoft-edge-beta new file mode 100644 index 0000000..8620a60 --- /dev/null +++ b/files/etc/default/microsoft-edge-beta @@ -0,0 +1,4 @@ +# These settings are required to prevent the postinst script +# from modifying /etc/apt/sources.list.d +repo_add_once="false" +repo_reenable_on_distupgrade="false" diff --git a/files/etc/default/microsoft-edge-dev b/files/etc/default/microsoft-edge-dev new file mode 100644 index 0000000..8620a60 --- /dev/null +++ b/files/etc/default/microsoft-edge-dev @@ -0,0 +1,4 @@ +# These settings are required to prevent the postinst script +# from modifying /etc/apt/sources.list.d +repo_add_once="false" +repo_reenable_on_distupgrade="false" diff --git a/files/usr/local/share/keyrings/google-chrome.gpg b/files/usr/local/share/keyrings/google-chrome.gpg index 494036aceb2aacf44a0a025fcc4975e71633311c..acdb00db55c946dffc3836808dcca7b3ce99fa1a 100644 GIT binary patch delta 1616 zcmV-W2Cw<)IlxA+=^TH#0u2OVcnqHb5CEjuY#O`kKcuOSPH~GeaCgbHEQwKzMjJ5M zDw0n0vIf{d$!$~ur%|ZTJp5Nomi2C?k-Ylwi(L7sKdr+1(>Avx9yuMFRSJH)Q3$}^ zB|h#jt{$&;*b+u5yt@!xEP=+?tn|kfVH0Z1{Of;$=O2=q1jB!CJyoQ8u=$9^^;4Tv z9H=3p6$y8(ndWPtbMZr$CV@P_?~5yyq;c7W&##%>64Gyy3-(xS0`}DuD^EkC}>*6021C$aQ~+0&@Fs?hC@(V7u&& z-&JLR5yQ+#8NYvYRz1^&YmA{<{~=k5Pq*j`m7#k>(AwzMQgNUnj@@VU#fEcP2r7A-m~uAbV+f9 z@LZ_TH>M*)(W$?1&*!m8(>sPGGdBPc0RRDs1VjWF0SEvO1p;As44;#+7$ARPcnqHa z3JDNSvVF3nxQmN|2@n5L4M!wXpt+dVYdsA$j6+FqY!dt@d~W`CiXh^Z80T>JHx`s@ zpi+aag(lPSxbM3r$JJQz;{i%;}4$~yQXP?A#~2&2(!m~z=L}ukORYVw1Oo4r;_2^CwcQxvW)^coifSR z4!WvkTo3oz?#RhJYzuCAof0bYDGL3tA?6P6IV0;^?m*#A8X0}?;BJeY6o%Lk!~fo~ zHJFHFN=jh&b?V*Nk<|lDZ3bYLSAvWzHsIVR3^5IH-CbsTp$6Uvumpd-NcR-%1xCbc zr-V1vG|kelpvKao1C8eZuEY$^{3XURw~4eBE~IfB>)I2$2e{j!A&YPuMzg?!duJG7 zLbqKu6V`8grx(Q~18UOB+wd18BHoQ z><8uyXU5B8d7}@w7><91J?)gJh&K9hVj90;MU$^x7z;qZ9h5o63LK`D+-Cfr)D_Z3 zNn~YoK(xOV`9O-;(_($EKH%Yq;5WXJC}j_cjSNTzt`F$VvCNMbd(Lj zwEbY-g0j>z_$lgxwh#Ytx?`h9AqXH|c~~MX;=tbagh&LdKCdAXyzWp&TWa@t4IB-d zgx~H^;8q-q4}sYdo(>q@nDO$Y4ruupfXI%?Ih+Y2EtI z*qf8dH4(pyK{kJ`Id9ywLEP=+`c16zTR;HGT7QRH#?>SqU|1C0p#~tQBY!W1YUApNFl^}XInxXTxhU? z$bBsgnmg4}Mi`GDs`+N=J1X&^9+-PbE=hq&{k)l`r(A#BcS)B+W?}HpH79gp-XV`1 z&4Q|#K*e)gBDwRmu?d9Ti2J_g?{;{1;iWWc_v}P9DDtp)0gEoje~>~iT_Yp zmEBBHNS42i1YC~u3Z}HF;?Nn}B1qk~n~fIY#svhnQnk~c$$Fez0o*;li!nR;(d}A- z&g~qcmvMg!L4Y61Aove|+_T}85whI~U(P(eBz1?6fe5mRbl4QU`PHuih90g<-t_N& zhp)ls13zMTJq9%XIa z6;pJz*H*k!j(|Os~*FJB3KG+~!#{T4|Z}*Q{#7kqcGS7^lug9&y O;7^=FFOLd9XA`dVz7{F~ delta 7 OcmX@$_R@00OBnzVS_9qy diff --git a/files/usr/local/share/keyrings/nodesource.gpg b/files/usr/local/share/keyrings/nodesource.gpg new file mode 100644 index 0000000000000000000000000000000000000000..4f3ec4ed793b397c15b9cba46c45cac6315dcc62 GIT binary patch literal 2206 zcmV;P2x0e`0u2OHn zGb2pT0FAJHnQ9LOen#@%F5|z&XQSYC`H_RzY$X#LGtDigk9KP_M=>ehkUPDXTu;B(V3ubAZ5m-sKU^kff*x~ zZ`Cm{)>!{y$rAt(0RRECA5L#%Wm9i;a${v6JZErcKyGhjWpi(Ja${vKV{dIfi2^tT z69EDMA_W3dnMyIxRsH;0PMkg$clS^{YTdUXw+PSWLNu=D0z2yO(O z_L)x-nN}nt%nnbK_KGzgha(e!#vOg#< zDV3pDqn*)=Wy$Atk^4+1CMYk-4;}Z1C+o<{-7M|O=%x6uUWppkB0=VIvbXoDGIP-N zq-m;2y#N%yudo`pz(4g63%S%092Zt2H^_rSC8@r4%OuDm1PL6`jbBvv&sE@N5AEzZy|9o#Den98Na`3}LhG;}Feurl9!o_En{3W5c`HWwC zvSc;MaJ?9&zEC5mh?eByw7&Ppa*vpR17SkBOr1P`{D)bx#<9JOtw?%LWi~MSqr{D{ zNjSP_F1-9@r_I*qq@)UvjrYg^>X!8+E} zMwR_59u1pS&LPPvZk6#cM&0>l7ErehWFIuqaG#&4Ss;8^akyF#TUGg3cgWiK74@o9!uIFErdKdjjITX|v%3 zUsg#~(bn4CnDl)bGku-5sX_4x@XYO}ba)la7GdHy$Y9)s2Tbpjc2)mqec%8wK)oeH zzf1hLr$%$7#PmA*m|+E-0|z^d;WJU%OJiZtIE&iROSaP6d~Rq$Tta(Ayl`-c<|&nfrwbw=OFZp*dq>L1av);N3wE+aeWA@@&(c_& zN2PxK=Q;j}EHb^6r7iLOnpdDXB(?$@3;+rV5EfOSt7unZfP>Hw0GwhUD@R{&F_wRZ1~2By zI%84XB+wDNIiGz3sLe0y#;2Uq6F0%fi_`)PxM*cuSB7^?5x?|R&E{jBF|dT)L!2P; z)Q-A^MBsW8jj{Dwp5ygBlBh3#1Opok&DJ21f%;F@xWJMBAp3s0;Zqb`x1+?$GV+=x zPki{BDcOI}xZGi?mk1f9TeS^apSix1lpg*3{%l*6d2`~ur^_x;oamqi;R^bh#Q5dw=z ze+M&hc}-v|&mj?`V^PuBYxBa+-Mi+nnag z9eQ6NssJ;!_Nnu}AX&>9GxCH~+^$})WE9M0H`$0SR}BL08A;u-$u3-jNK{Z@SnEeO03#02lO?o~>rC*DA4s+0G#EbI&sEr!W(OV literal 0 HcmV?d00001 diff --git a/files/usr/local/share/keyrings/yarnpkg.gpg b/files/usr/local/share/keyrings/yarnpkg.gpg new file mode 100644 index 0000000000000000000000000000000000000000..686583c75c24a1f36f0e8023a06845ed950be17b GIT binary patch literal 11460 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 E2dI&$`2YX_ literal 0 HcmV?d00001 diff --git a/install-system.sh b/install-system.sh index 988a3db..04851de 100755 --- a/install-system.sh +++ b/install-system.sh @@ -23,34 +23,73 @@ echo "--> Removing redundant/unnecessary files..." FILES="$PROJECT_ROOT/files" -if prompt "Install Chrome repositories? (y/N)"; then - make_directory "/etc/apt/preferences.d" - copy "$FILES/etc/apt/preferences.d/google-chrome" "/etc/apt/preferences.d/google-chrome" +make_directory "/etc/apt/preferences.d" +make_directory "/etc/apt/sources.list.d" +make_directory "/etc/default" +make_directory "/usr/local/share/keyrings" - make_directory "/etc/apt/sources.list.d" +if prompt "Install Google Chrome repositories? (y/N)"; then + copy "$FILES/etc/apt/preferences.d/google-chrome" "/etc/apt/preferences.d/google-chrome" copy "$FILES/etc/apt/sources.list.d/google-chrome.list" "/etc/apt/sources.list.d/google-chrome.list" - make_directory "/etc/default" - copy "$FILES/etc/default/google-chrome" "/etc/default/google-chrome" - - make_directory "/usr/local/share/keyrings" + # Install repository-specific keyring copy "$FILES/usr/local/share/keyrings/google-chrome.gpg" "/usr/local/share/keyrings/google-chrome.gpg" + + # Prevent Chrome from adding repositories and keys, since + # we want to manage these ourselves. + copy "$FILES/etc/default/google-chrome" "/etc/default/google-chrome" else remove "/etc/apt/sources.list.d/google-chrome.list" fi +if prompt "Install Microsoft Edge repositories? (y/N)"; then + copy "$FILES/etc/apt/preferences.d/microsoft-edge" "/etc/apt/preferences.d/microsoft-edge" + copy "$FILES/etc/apt/sources.list.d/microsoft-edge.list" "/etc/apt/sources.list.d/microsoft-edge.list" + + # Install repository-specific keyring + copy "$FILES/usr/local/share/keyrings/microsoft.gpg" "/usr/local/share/keyrings/microsoft.gpg" + + # Prevent Edge from adding repositories and keys, since + # we want to manage these ourselves. + copy "$FILES/etc/default/microsoft-edge-beta" "/etc/default/microsoft-edge-beta" + copy "$FILES/etc/default/microsoft-edge-dev" "/etc/default/microsoft-edge-dev" +else + remove "/etc/apt/sources.list.d/microsoft-edge.list" +fi + if prompt "Install Microsoft Visual Studio Code repositories? (y/N)"; then - make_directory "/etc/apt/preferences.d" copy "$FILES/etc/apt/preferences.d/microsoft-vscode" "/etc/apt/preferences.d/microsoft-vscode" - - make_directory "/etc/apt/sources.list.d" copy "$FILES/etc/apt/sources.list.d/microsoft-vscode.list" "/etc/apt/sources.list.d/microsoft-vscode.list" - make_directory "/usr/local/share/keyrings" + # Install repository-specific keyring copy "$FILES/usr/local/share/keyrings/microsoft.gpg" "/usr/local/share/keyrings/microsoft.gpg" + + # VSCode will look for a vscode.list file, but we want to manage + # things manually, so ensure it's empty. + echo >"/etc/apt/sources.list.d/vscode.list" else remove "/etc/apt/sources.list.d/microsoft-vscode.list" fi +if prompt "Install NodeSource repositories? (y/N)"; then + copy "$FILES/etc/apt/preferences.d/nodesource" "/etc/apt/preferences.d/nodesource" + copy "$FILES/etc/apt/sources.list.d/nodesource.list" "/etc/apt/sources.list.d/nodesource.list" + + # Install repository-specific keyring + copy "$FILES/usr/local/share/keyrings/nodesource.gpg" "/usr/local/share/keyrings/nodesource.gpg" +else + remove "/etc/apt/sources.list.d/nodesource.list" +fi + +if prompt "Install Yarnpkg repositories? (y/N)"; then + copy "$FILES/etc/apt/preferences.d/yarnpkg" "/etc/apt/preferences.d/yarnpkg" + copy "$FILES/etc/apt/sources.list.d/yarnpkg.list" "/etc/apt/sources.list.d/yarnpkg.list" + + # Install repository-specific keyring + copy "$FILES/usr/local/share/keyrings/yarnpkg.gpg" "/usr/local/share/keyrings/yarnpkg.gpg" +else + remove "/etc/apt/sources.list.d/yarnpkg.list" +fi + echo echo "==> system installation completed successfully" diff --git a/update-keys.sh b/update-keys.sh index ea056c3..975b981 100755 --- a/update-keys.sh +++ b/update-keys.sh @@ -20,4 +20,12 @@ pushd "$PROJECT_ROOT/files/usr/local/share/keyrings" # Microsoft repository signing key (Edge and Code) curl "${curl_flags[@]}" "https://packages.microsoft.com/keys/microsoft.asc" | \ gpg --dearmor --output="microsoft.gpg" + + # NodeSource signing key + curl "${curl_flags[@]}" "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" | \ + gpg --dearmor --output="nodesource.gpg" + + # Yarnpkg signing key + curl "${curl_flags[@]}" "https://dl.yarnpkg.com/debian/pubkey.gpg" | \ + gpg --dearmor --output="yarnpkg.gpg" popd From 9c7e3fa509562a77e77259080033384d806a4284 Mon Sep 17 00:00:00 2001 From: Jonathan Yu Date: Sat, 8 Jan 2022 11:16:52 -0800 Subject: [PATCH 2/2] add edge stable --- files/etc/apt/preferences.d/microsoft-edge | 4 ++++ files/etc/default/microsoft-edge-stable | 4 ++++ 2 files changed, 8 insertions(+) create mode 100644 files/etc/default/microsoft-edge-stable diff --git a/files/etc/apt/preferences.d/microsoft-edge b/files/etc/apt/preferences.d/microsoft-edge index 2441961..d0dcb16 100644 --- a/files/etc/apt/preferences.d/microsoft-edge +++ b/files/etc/apt/preferences.d/microsoft-edge @@ -3,6 +3,10 @@ Package: * Pin: origin packages.microsoft.com Pin-Priority: 1 +Package: microsoft-edge-stable +Pin: origin packages.microsoft.com +Pin-Priority: 500 + Package: microsoft-edge-beta Pin: origin packages.microsoft.com Pin-Priority: 500 diff --git a/files/etc/default/microsoft-edge-stable b/files/etc/default/microsoft-edge-stable new file mode 100644 index 0000000..8620a60 --- /dev/null +++ b/files/etc/default/microsoft-edge-stable @@ -0,0 +1,4 @@ +# These settings are required to prevent the postinst script +# from modifying /etc/apt/sources.list.d +repo_add_once="false" +repo_reenable_on_distupgrade="false"