@@ -125,23 +125,7 @@ check_packages() {
125
125
fi
126
126
}
127
127
128
- export DEBIAN_FRONTEND=noninteractive
129
-
130
- # Install git, curl, gpg, and debian-archive-keyring if missing
131
- . /etc/os-release
132
- check_packages curl ca-certificates gnupg2 apt-transport-https
133
- if ! type git > /dev/null 2>&1 ; then
134
- apt_get_update_if_needed
135
- apt-get -y install --no-install-recommends git
136
- fi
137
- if [ " ${ID} " = " debian" ]; then
138
- check_packages debian-archive-keyring
139
- fi
140
-
141
- # Install Git LFS
142
- echo " Installing Git LFS..."
143
- architecture=" $( dpkg --print-architecture) "
144
- if [[ " ${GIT_LFS_ARCHIVE_ARCHITECTURES} " = * " ${architecture} " * ]] && [[ " ${GIT_LFS_ARCHIVE_VERSION_CODENAMES} " = * " ${VERSION_CODENAME} " * ]]; then
128
+ install_using_apt () {
145
129
# Soft version matching
146
130
if [ " ${GIT_LFS_VERSION} " != " latest" ] && [ " ${GIT_LFS_VERSION} " != " lts" ] && [ " ${GIT_LFS_VERSION} " != " stable" ]; then
147
131
find_version_from_git_tags GIT_LFS_VERSION " https://github.com/git-lfs/git-lfs"
@@ -153,10 +137,12 @@ if [[ "${GIT_LFS_ARCHIVE_ARCHITECTURES}" = *"${architecture}"* ]] && [[ "${GIT_
153
137
get_common_setting GIT_LFS_ARCHIVE_GPG_KEY_URI
154
138
curl -sSL " ${GIT_LFS_ARCHIVE_GPG_KEY_URI} " | gpg --dearmor > /usr/share/keyrings/gitlfs-archive-keyring.gpg
155
139
echo -e " deb [arch=${architecture} signed-by=/usr/share/keyrings/gitlfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/${ID} ${VERSION_CODENAME} main\ndeb-src [arch=$( dpkg --print-architecture) signed-by=/usr/share/keyrings/gitlfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/${ID} ${VERSION_CODENAME} main" > /etc/apt/sources.list.d/git-lfs.list
156
- apt-get install -yq git-lfs${version_suffix}
140
+ apt-get install -yq git-lfs${version_suffix} || return 1
157
141
git lfs install --skip-repo
158
- else
159
- echo " No apt package for ${VERSION_CODENAME} ${architecture} . Installing manually."
142
+ }
143
+
144
+ install_using_github () {
145
+ echo " (*) No apt package for ${VERSION_CODENAME} ${architecture} . Installing manually."
160
146
mkdir -p /tmp/git-lfs
161
147
cd /tmp/git-lfs
162
148
find_version_from_git_tags GIT_LFS_VERSION " https://github.com/git-lfs/git-lfs"
@@ -171,6 +157,33 @@ else
171
157
tar xf " ${git_lfs_filename} " -C .
172
158
./install.sh
173
159
rm -rf /tmp/git-lfs /tmp/tmp-gnupg
160
+ }
161
+
162
+ export DEBIAN_FRONTEND=noninteractive
163
+
164
+ # Install git, curl, gpg, dirmngr and debian-archive-keyring if missing
165
+ . /etc/os-release
166
+ check_packages curl ca-certificates gnupg2 apt-transport-https dirmngr
167
+ if ! type git > /dev/null 2>&1 ; then
168
+ apt_get_update_if_needed
169
+ apt-get -y install --no-install-recommends git
170
+ fi
171
+ if [ " ${ID} " = " debian" ]; then
172
+ check_packages debian-archive-keyring
173
+ fi
174
+
175
+ # Install Git LFS
176
+ echo " Installing Git LFS..."
177
+ architecture=" $( dpkg --print-architecture) "
178
+ if [[ " ${GIT_LFS_ARCHIVE_ARCHITECTURES} " = * " ${architecture} " * ]] && [[ " ${GIT_LFS_ARCHIVE_VERSION_CODENAMES} " = * " ${VERSION_CODENAME} " * ]]; then
179
+ install_using_apt || use_github=" true"
180
+ else
181
+ use_github=" true"
182
+ fi
183
+
184
+ # If no archive exists or apt install fails, try direct from github
185
+ if [ " ${use_github} " = " true" ]; then
186
+ install_using_github
174
187
fi
175
188
176
189
echo " Done!"
0 commit comments