HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-172-31-4-197 6.8.0-1036-aws #38~22.04.1-Ubuntu SMP Fri Aug 22 15:44:33 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //var/lib/dpkg/info/code.postinst
#!/usr/bin/env bash
#
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.

# Symlink bin command to /usr/bin
rm -f /usr/bin/code
ln -s /usr/share/code/bin/code /usr/bin/code

# Register code in the alternatives system
# Priority of 0 should never make code the default editor in auto mode as most
# developers would prefer a terminal editor as the default.
update-alternatives --install /usr/bin/editor editor /usr/bin/code 0

# Install the desktop entry
if hash update-desktop-database 2>/dev/null; then
	update-desktop-database
fi

# Update mimetype database to pickup workspace mimetype
if hash update-mime-database 2>/dev/null; then
	update-mime-database /usr/share/mime
fi

if [ "code" != "code-oss" ]; then
	# Remove the legacy bin command if this is the stable build
	if [ "code" = "code" ]; then
		rm -f /usr/local/bin/code
	fi

	# Register apt repository
	eval $(apt-config shell APT_SOURCE_PARTS Dir::Etc::sourceparts/d)
	CODE_SOURCE_PART=${APT_SOURCE_PARTS}vscode.list
	CODE_SOURCE_PART_DEB822=${APT_SOURCE_PARTS}vscode.sources

	CODE_TRUSTED_PART=/usr/share/keyrings/microsoft.gpg
	CODE_TRUSTED_PART_OLD="/etc/apt/trusted.gpg.d/microsoft.gpg"

	# RET seems to be true by default even after db_get is called on a first install.
	RET='true'
	if [ -e '/usr/share/debconf/confmodule' ]; then
		. /usr/share/debconf/confmodule
		db_get code/add-microsoft-repo || true
	fi

	# Determine whether to write the Microsoft repository source list
	WRITE_SOURCE='no'
	if [ "$RET" = 'false' ]; then
		# The user specified in debconf not to add the Microsoft repository
		WRITE_SOURCE='no'
	elif [ -f "$CODE_SOURCE_PART" ]; then
		# The user is not on the new DEB822 format
		WRITE_SOURCE='yes'
	elif [ -f "$CODE_SOURCE_PART_DEB822" ]; then
		# The user is on the new DEB822 format, but refresh the file contents
		WRITE_SOURCE='yes'
	elif [ -f /etc/rpi-issue ]; then
		# Do not write on Raspberry Pi OS
		# https://github.com/microsoft/vscode/issues/118825
		WRITE_SOURCE='no'
	else
		WRITE_SOURCE='ask'
	fi

	if [ "$WRITE_SOURCE" = 'ask' ]; then
		if ! [ -t 1 ]; then
			# By default, write sources in a non-interactive terminal
			# to match old behavior.
			WRITE_SOURCE='yes'
		elif [ -e '/usr/share/debconf/confmodule' ]; then
			# Ask the user whether to actually write the source list
			db_input high code/add-microsoft-repo || true
			db_go || true

			db_get code/add-microsoft-repo
			if [ "$RET" = false ]; then
				WRITE_SOURCE='no'
			else
				WRITE_SOURCE='yes'
			fi
		else
			# The terminal is interactive but there is no debconf.
			# Write sources to match old behavior.
			WRITE_SOURCE='yes'
		fi
	fi

	if [ "$WRITE_SOURCE" != 'no' ]; then
		# Check if apt modernize-sources is available.
		if apt modernize-sources --help >/dev/null 2>&1; then
			# Write repository in deb822 format with Signed-By.
			echo "### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost." > "$CODE_SOURCE_PART_DEB822"
			cat <<EOF >> "$CODE_SOURCE_PART_DEB822"
Types: deb
URIs: https://packages.microsoft.com/repos/code
Suites: stable
Components: main
Architectures: amd64,arm64,armhf
Signed-By: $CODE_TRUSTED_PART
EOF
			if [ -f "$CODE_SOURCE_PART" ]; then
				rm -f "$CODE_SOURCE_PART"
			fi
		else
			echo "### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/repos/code stable main" > $CODE_SOURCE_PART
		fi

		# Sourced from https://packages.microsoft.com/keys/microsoft.asc
		if [ ! -f $CODE_TRUSTED_PART ]; then
			echo "-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.7 (GNU/Linux)

mQENBFYxWIwBCADAKoZhZlJxGNGWzqV+1OG1xiQeoowKhssGAKvd+buXCGISZJwT
LXZqIcIiLP7pqdcZWtE9bSc7yBY2MalDp9Liu0KekywQ6VVX1T72NPf5Ev6x6DLV
7aVWsCzUAF+eb7DC9fPuFLEdxmOEYoPjzrQ7cCnSV4JQxAqhU4T6OjbvRazGl3ag
OeizPXmRljMtUUttHQZnRhtlzkmwIrUivbfFPD+fEoHJ1+uIdfOzZX8/oKHKLe2j
H632kvsNzJFlROVvGLYAk2WRcLu+RjjggixhwiB+Mu/A8Tf4V6b+YppS44q8EvVr
M+QvY7LNSOffSO6Slsy9oisGTdfE39nC7pVRABEBAAG0N01pY3Jvc29mdCAoUmVs
ZWFzZSBzaWduaW5nKSA8Z3Bnc2VjdXJpdHlAbWljcm9zb2Z0LmNvbT6JATUEEwEC
AB8FAlYxWIwCGwMGCwkIBwMCBBUCCAMDFgIBAh4BAheAAAoJEOs+lK2+EinPGpsH
/32vKy29Hg51H9dfFJMx0/a/F+5vKeCeVqimvyTM04C+XENNuSbYZ3eRPHGHFLqe
MNGxsfb7C7ZxEeW7J/vSzRgHxm7ZvESisUYRFq2sgkJ+HFERNrqfci45bdhmrUsy
7SWw9ybxdFOkuQoyKD3tBmiGfONQMlBaOMWdAsic965rvJsd5zYaZZFI1UwTkFXV
KJt3bp3Ngn1vEYXwijGTa+FXz6GLHueJwF0I7ug34DgUkAFvAs8Hacr2DRYxL5RJ
XdNgj4Jd2/g6T9InmWT0hASljur+dJnzNiNCkbn9KbX7J/qK1IbR8y560yRmFsU+
NdCFTW7wY0Fb1fWJ+/KTsC4=
=J6gs
-----END PGP PUBLIC KEY BLOCK-----
" | gpg --dearmor > $CODE_TRUSTED_PART
			if [ -f "$CODE_TRUSTED_PART_OLD" ]; then
				rm -f "$CODE_TRUSTED_PART_OLD"
			fi
		fi
	fi
fi