summarylogtreecommitdiffstats
path: root/qualcommsoftwarecenter.install
blob: 8661bdcebdd440f976b0c799ced8a9e5755db477 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
pre_install() {
	if [ ! -f /opt/qcom/softwarecenter/bin/softwarecenter ];then #if the app was installed before, we can assume that eula was accepted
	  :
	fi
	OS_NAME=Ubuntu
	versionid=$(grep '^VERSION_ID' /etc/os-release | awk 'NR==1{print$1}' |awk '{print substr($0, 13, 2)}')
	os=$(egrep '^(VERSION|NAME)=' /etc/os-release | awk 'NR==1{print$1}' |awk '{print substr($0, 7, 6)}')
	MINIMUM_OS_VERSION=20
	if [ "$os" = "$OS_NAME" ];
	then
	    if [ $MINIMUM_OS_VERSION -gt $versionid ];
	    then
	    echo "Qualcomm Software Center App is supported on Ubuntu 20 and above."
	    echo "Installation will be terminated."
	    exit 1
	    fi
	fi
	if [ -d /run/systemd/system ] ; then
	  sudo systemctl stop qikservice3 > /dev/null 2>&1 || true
	fi


	QCOM_INSTALL_DIR="/opt/qcom"
	QCOM_TMP="/var/tmp/qcom"
	QCOM_LIB="/var/lib/qcom"
	INSTALL_LOG_DIR=$TEMP_INSTALL_FILES_DIR/logs
	QSC_APP_NAME="softwarecenter"

	mkdir -p $INSTALL_LOG_DIR

	{
	echo `date '+%Y-%m-%d %H:%M:%S'` PRE-INSTALL STARTED 


	rm -rf  $QCOM_INSTALL_DIR//$QSC_APP_NAME || true
	rm -rf  $QCOM_INSTALL_DIR/qik3/ > /dev/null 2>&1 || true
	mkdir -p $QCOM_INSTALL_DIR
	chmod 777 $QCOM_INSTALL_DIR
	mkdir -p $QCOM_TMP
	chmod 777 $QCOM_TMP
	mkdir -p $QCOM_LIB
	chmod 777 $QCOM_LIB

	echo `date '+%Y-%m-%d %H:%M:%S'` PRE-INSTALL DONE 
	} 2>&1 | tee -a $PRE_INSTALL_LOG_FILE
}

post_install() {
	gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
	if [ ! -f /opt/qcom/softwarecenter/bin/softwarecenter ];then #if the app was installed before, we can assume that eula was accepted
		:
	fi

	QSC_VER="1.6.0"

	QSC_COMPONENT_ID=abc31016-7831-11ee-b4ae-026b10d3716b
	QSC_PRODUCT_ID=ab2423ae-7831-11ee-b4ae-026b10d3716b
	QSC_FEATURE_ID=ab64288f-7831-11ee-b4ae-026b10d3716b
	QSC_GUID=3b59d03c-d624-4c78-ad52-a516b8ec85b4
	COMPONENT_FILE="/var/lib/qcom/data/qik/components/qikcomponent_$QSC_COMPONENT_ID.dat"

	QCOM_HOME_DIR="/opt/qcom"
	QCOM_TMP_DIR="/var/tmp/qcom"
	QCOM_LIB_DIR="/var/lib/qcom"
	QSC_HOME_DIR=$QCOM_HOME_DIR/softwarecenter
	QSC_BIN_DIR=$QSC_HOME_DIR/bin
	QIK_BIN_DIR=$QSC_BIN_DIR/qik
	QPM_CLI_BIN_DIR=$QSC_BIN_DIR/qpm-cli
	QPM3_CLI_BIN_DIR=$QSC_BIN_DIR/qpm3-cli
	QSC_CLI_BIN_DIR=$QSC_BIN_DIR/qsc-cli
	COMMON_LIBS_DIR=$QCOM_HOME_DIR/tools-common/libs

	QLAUNCHER_DATA_DIR=$QCOM_LIB_DIR/data/qualcomm_launcher
	QLAUNCHER_LICENSE_DIR=$QLAUNCHER_DATA_DIR/licenses
	QLAUNCHER_WORKSPACES_FILEPATH=$QLAUNCHER_LICENSE_DIR/workspaces2.json

	TEMP_INSTALL_FILES_DIR=/tmp/qcom/qsc_installer
	QSC_SETUP_SCRIPT_FILEPATH=$TEMP_INSTALL_FILES_DIR/prepare_qsc.sh
	LAUNCHER_DEPENDENCIES_INSTALLER_SCRIPT_FILEPATH=$TEMP_INSTALL_FILES_DIR/dependencies_installer.sh
	QPM3_CRONJOB_FILEPATH=$TEMP_INSTALL_FILES_DIR/qpm3cronjob
	INSTALL_LOG_DIR=$TEMP_INSTALL_FILES_DIR/logs
	EXTERNAL_DEPENDENCIES_DIR=$TEMP_INSTALL_FILES_DIR/external-dependencies

	GIT_CONFIG_DIR=$QLAUNCHER_DATA_DIR/.qualcomm_launcher_workspace_config
	LAUNCHER_AGREEMENT_DIR=$QLAUNCHER_DATA_DIR/eula/launcher_agreement

	mkdir -p $GIT_CONFIG_DIR/.git_config
	chmod -R 777 $GIT_CONFIG_DIR

	mkdir -p $LAUNCHER_AGREEMENT_DIR && touch $LAUNCHER_AGREEMENT_DIR/users.txt
	chmod -R 777 $LAUNCHER_AGREEMENT_DIR

	mkdir -p $INSTALL_LOG_DIR
	chmod -R 777 $INSTALL_LOG_DIR

	{
	echo `date '+%Y-%m-%d %H:%M:%S'` POST-INSTALL START >&2

	echo SETTING UP DIRECTORIES >&2
	sudo sh $QSC_SETUP_SCRIPT_FILEPATH

	echo CREATING LINKS >&2 
	sudo ln -fs $QPM3_CLI_BIN_DIR/qpm3-cli /usr/bin/qpm3-cli
	sudo ln -fs $QPM_CLI_BIN_DIR/qpm-cli /usr/bin/qpm-cli
	sudo ln -fs $QIK_BIN_DIR/qik /usr/bin/qikv3
	sudo ln -fs $QIK_BIN_DIR/qik $QCOM_LIB_DIR/bin/qikv3 || exit 1
	sudo ln -fs $QSC_CLI_BIN_DIR/qsc-cli /usr/bin/qsc-cli

	if [ -d /run/systemd/system ] ; then
	  echo INITIALIZING QIKSERVICE3  >&2
	  #qikv3 install /tmp/qcom/qsc_installer/qikservice3_installer.qik  --force > /dev/null
	fi

	mv $QPM3_CRONJOB_FILEPATH /etc/cron.d/qpm3cronjob
	sudo chmod 755 /etc/cron.d/qpm3cronjob
	sudo chown root /etc/cron.d/qpm3cronjob

	# sudo chmod 755 $LAUNCHER_DEPENDENCIES_INSTALLER_SCRIPT_FILEPATH
	# nohup bash $LAUNCHER_DEPENDENCIES_INSTALLER_SCRIPT_FILEPATH > /dev/null 2>&1 &
	INSTALL_DATE=`date '+%Y-%m-%d %H:%M:%S'`

	cat <<END > $COMPONENT_FILE
{"Branch":null,"ComponentID":"$QSC_COMPONENT_ID","ComponentName":"Qualcomm_Software_Center.Core","ComponentType":"Core","DependsOn":null,"Description":"Qualcomm_Software_Center.Core","FeatureID":"$QSC_FEATURE_ID","FeatureName":"Core","GUID":"$QSC_GUID","InstallLocation":"\/opt\/qcom\/softwarecenter\/bin","InstallLocationRoot":"\/opt\/qcom\/softwarecenter","InstallationDate":"$INSTALL_DATE","MultipleVersions":0,"Name":"Qualcomm_Software_Center","ProductID":"$QSC_PRODUCT_ID","ProductName":"Qualcomm_Software_Center","PublishedDate":"2024-02-23 13:31:44","Publisher":"Qualcomm Technologies, Inc.","ReferenceCounter":0,"RequiredBy":null,"SpaceReq":"","Subtitle":"Qualcomm® Software Center","Version":"$QSC_VER","packageFile":""}
END

	sudo chmod 777 $COMPONENT_FILE

	echo UPDATING MENU >&2
	sudo chmod 644 /usr/share/menu/qualcommsoftwarecenter
	sudo chmod 755 /usr/share/pixmaps/qualcommsoftwarecenter.png
	sudo chmod 755 /usr/share/applications/qualcommsoftwarecenter.desktop
	update-desktop-database > /dev/null 2>&1 || true
	sudo -i -u $(logname) bash -c 'xdg-desktop-menu install /usr/share/applications/qualcommsoftwarecenter.desktop --novendor' > /dev/null 2>&1 || true
	xdg-mime default softwarecenter.desktop x-scheme-handler/qsc > /dev/null 2>&1 || true

	echo `date '+%Y-%m-%d %H:%M:%S'` POST-INSTALL END >&2
	echo "Installed Qualcomm Software Center v$QSC_VER successfully." >&2

	} 2>&1 | tee -a $POST_INSTALL_LOG_FILE

	if [ ! -f /opt/qcom/softwarecenter/bin/softwarecenter ];then #if the app was installed before, we can assume that eula was accepted
		:
	fi
	echo "To open the QSC desktop application, search for “Qualcomm Software Center” in the Applications menu" >&2
	update-desktop-database -q
}

pre_upgrade() {
	pre_install
}

post_upgrade() {
	post_install
}

post_remove() {
	gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
	update-desktop-database -q
}