@@ -28,55 +28,20 @@ check_audio () {
2828 fi
2929}
3030
31- add_ms_repo () {
32- eval " $( apt-config shell APT_SOURCE_PARTS Dir::Etc::sourceparts/d) "
33- CODE_SOURCE_PART=" ${APT_SOURCE_PARTS} vscode.list"
34- if [ -f " $CODE_SOURCE_PART " ]; then
35- echo " Already exists. Skipped."
31+ remove_ms_repo () {
32+ if dpkg -l code code-insiders code-exploration 2> /dev/null | grep -q ' ^ii' ; then
33+ echo " VS Code is installed. Skipped."
3634 return 0
3735 fi
38- eval " $( apt-config shell APT_TRUSTED_PARTS Dir::Etc::trustedparts/d) "
39- CODE_TRUSTED_PART=" ${APT_TRUSTED_PARTS} microsoft.gpg"
40-
41- # Sourced from https://packages.microsoft.com/keys/microsoft.asc
42- if [ ! -f " $CODE_TRUSTED_PART " ]; then
43- echo " -----BEGIN PGP PUBLIC KEY BLOCK-----
44- Version: GnuPG v1.4.7 (GNU/Linux)
45-
46- mQENBFYxWIwBCADAKoZhZlJxGNGWzqV+1OG1xiQeoowKhssGAKvd+buXCGISZJwT
47- LXZqIcIiLP7pqdcZWtE9bSc7yBY2MalDp9Liu0KekywQ6VVX1T72NPf5Ev6x6DLV
48- 7aVWsCzUAF+eb7DC9fPuFLEdxmOEYoPjzrQ7cCnSV4JQxAqhU4T6OjbvRazGl3ag
49- OeizPXmRljMtUUttHQZnRhtlzkmwIrUivbfFPD+fEoHJ1+uIdfOzZX8/oKHKLe2j
50- H632kvsNzJFlROVvGLYAk2WRcLu+RjjggixhwiB+Mu/A8Tf4V6b+YppS44q8EvVr
51- M+QvY7LNSOffSO6Slsy9oisGTdfE39nC7pVRABEBAAG0N01pY3Jvc29mdCAoUmVs
52- ZWFzZSBzaWduaW5nKSA8Z3Bnc2VjdXJpdHlAbWljcm9zb2Z0LmNvbT6JATUEEwEC
53- AB8FAlYxWIwCGwMGCwkIBwMCBBUCCAMDFgIBAh4BAheAAAoJEOs+lK2+EinPGpsH
54- /32vKy29Hg51H9dfFJMx0/a/F+5vKeCeVqimvyTM04C+XENNuSbYZ3eRPHGHFLqe
55- MNGxsfb7C7ZxEeW7J/vSzRgHxm7ZvESisUYRFq2sgkJ+HFERNrqfci45bdhmrUsy
56- 7SWw9ybxdFOkuQoyKD3tBmiGfONQMlBaOMWdAsic965rvJsd5zYaZZFI1UwTkFXV
57- KJt3bp3Ngn1vEYXwijGTa+FXz6GLHueJwF0I7ug34DgUkAFvAs8Hacr2DRYxL5RJ
58- XdNgj4Jd2/g6T9InmWT0hASljur+dJnzNiNCkbn9KbX7J/qK1IbR8y560yRmFsU+
59- NdCFTW7wY0Fb1fWJ+/KTsC4=
60- =J6gs
61- -----END PGP PUBLIC KEY BLOCK-----
62- " | gpg --dearmor > microsoft.gpg
63- mv microsoft.gpg " $CODE_TRUSTED_PART "
64- fi
65-
66- # Install repository source list
67- WRITE_SOURCE=0
68- if [ ! -f " $CODE_SOURCE_PART " ]; then
69- # Write source list if it does not exist
70- WRITE_SOURCE=1
71- elif grep -q " # disabled on upgrade to" /etc/apt/sources.list.d/vscode.list; then
72- # Write source list if it was disabled by OS upgrade
73- WRITE_SOURCE=1
74- fi
75- if [ " $WRITE_SOURCE " -eq " 1" ]; then
76- echo " ### THIS FILE IS AUTOMATICALLY CONFIGURED ###
77- # You may comment out this entry, but any other modifications may be lost.
78- deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main" > " $CODE_SOURCE_PART "
79- fi
36+ eval " $( apt-config shell APT_SOURCE_PARTS Dir::Etc::sourceparts/d) "
37+ CODE_SOURCE_PART=" ${APT_SOURCE_PARTS} vscode.list"
38+ if ! grep -vsq ' ^\s*$\|^\s*#' " $CODE_SOURCE_PART " ; then
39+ echo " vscode.list is missing or contains no data. Skipped."
40+ return 0
41+ fi
42+ eval " $( apt-config shell APT_TRUSTED_PARTS Dir::Etc::trustedparts/d) "
43+ CODE_TRUSTED_PART=" ${APT_TRUSTED_PARTS} microsoft.gpg"
44+ rm -f " $CODE_SOURCE_PART " " $CODE_TRUSTED_PART " || true
8045}
8146
8247case " ${1} " in
@@ -119,9 +84,9 @@ case "${1}" in
11984 echo " Updating apt sources from {mirrordirector,archive}.raspbian.org to raspbian.raspberrypi.org..."
12085 find /etc/apt/sources.list* -type f -exec sed -i -E ' s/(mirrordirector|archive)\.raspbian\.org/raspbian.raspberrypi.org/g' {} \;
12186 fi
122- if dpkg --compare-versions " ${2} " lt -nl " 20210125" ; then
123- echo " Adding vscode repo..."
124- add_ms_repo
87+ if dpkg --compare-versions " ${2} " ge -nl " 20210125" && dpkg --compare-versions " ${2} " lt-nl " 20210222 " ; then
88+ echo " Removing vscode repo..."
89+ remove_ms_repo
12590 fi
12691 ;;
12792
0 commit comments