1.arm64版BC-liunx-for-euler安裝git-lfs
檢查系統版本信息
uname -a
Linux bms-42068966-004 5.10.0-136.49.0.127.10.oe2203.bclinux.aarch64 #1 SMP Tue Oct 10 14:09:09 CST 2023 aarch64 aarch64 aarch64 GNU/Linux
下載git-lfs構建腳本和源碼
git clone https://gitee.com/src-openeuler/git-lfs
進入文件夾
cd git-lfs
#安裝rpm-build工具(root權限)
dnf install rpm-build
#準備rpmbuild環境
mkdir -p ~/rpmbuild/SPECS
mkdir ?-p ~/rpmbuild/RPMS
mkdir ?-p ~/rpmbuild/SOURCES
cd /etc/yum.repos.d/git-lfs/
cd /root/git-lfscp ./git-lfs.spec ~/rpmbuild/SPECS/
cp ./git-lfs-v3.6.1.tar.gz ~/rpmbuild/SOURCES
cp ./vendor.tar.gz ~/rpmbuild/SOURCES
cp ./0001-use-vendor-dir-for-build.patch ~/rpmbuild/SOURCES
cp ./git-lfs.yaml ~/rpmbuild/SOURCES
#安裝git-lfs的依賴golang
dnf install golang
#構建并安裝git-lfs
cd ~/rpmbuild/SPECS
rpmbuild -bb git-lfs.spec
dnf install ../RPMS/aarch64/git-lfs-3.2.0-1.aarch64.rpm
#查看是否安裝成功
git lfs version
?
#初始化
git lfs install?
#CentOS7yum版本安裝
#檢查系統版本信息
uname -a
#下載git-lfs構建腳本和源碼
git clone https://gitee.com/src-openeuler/git-lfs
#進入文件夾
cd git-lfs
#安裝rpm-build工具(root權限)
yum install rpm-build
#準備rpmbuild環境
mkdir -p ~/rpmbuild/SPECS
mkdir ?-p ~/rpmbuild/RPMS
mkdir ?-p ~/rpmbuild/SOURCES
cd /etc/yum.repos.d/git-lfs/
cd /root/git-lfscp ./git-lfs.spec ~/rpmbuild/SPECS/
cp ./git-lfs-v3.6.1.tar.gz ~/rpmbuild/SOURCES
cp ./vendor.tar.gz ~/rpmbuild/SOURCES
cp ./0001-use-vendor-dir-for-build.patch ~/rpmbuild/SOURCES
cp ./git-lfs.yaml ~/rpmbuild/SOURCES
#安裝git-lfs的依賴golang
參考來源:CentOS7使用yum安裝Golang(超詳細)_centos安裝golang-CSDN博客https://blog.csdn.net/qq_25919879/article/details/128400309
rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPOcurl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo.repoyum install golang
升級git版本(git-lfs需求更高版本的git大于1.8.3)
yum install -y http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
yum install -y gityum install -y perl-Test-Harness
rpm -qa | grep perl-Test-Harness
#構建并安裝git-lfs
cd ~/rpmbuild/SPECS
rpmbuild -bb git-lfs.speccd ~/rpmbuild/RPMSyum install ./git-lfs-3.2.0-1.aarch64.rpm
安裝過程日志:
[root@vmware-vm x86_64]# yum install ./git-lfs-3.6.1-1.x86_64.rpm
已加載插件:fastestmirror
正在檢查 ./git-lfs-3.6.1-1.x86_64.rpm: git-lfs-3.6.1-1.x86_64
./git-lfs-3.6.1-1.x86_64.rpm 將被安裝
正在解決依賴關系
--> 正在檢查事務
---> 軟件包 git-lfs.x86_64.0.3.6.1-1 將被 安裝
--> 解決依賴關系完成
依賴關系解決
====================================================================================================================================================Package ? ? ? ? ? ? ? ? ? ? ? ?架構 ? ? ? ? ? ? ? ? ? ? ? ? ?版本 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 源 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?大小
====================================================================================================================================================
正在安裝:git-lfs ? ? ? ? ? ? ? ? ? ? ? ?x86_64 ? ? ? ? ? ? ? ? ? ? ? ?3.6.1-1 ? ? ? ? ? ? ? ? ? ? ? ? ?/git-lfs-3.6.1-1.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? 11 M事務概要
====================================================================================================================================================
安裝 ?1 軟件包總計:11 M
安裝大小:11 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安裝 ? ?: git-lfs-3.6.1-1.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1/1驗證中 ? ? ?: git-lfs-3.6.1-1.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1/1已安裝:git-lfs.x86_64 0:3.6.1-1
完畢!
打印校驗版本
git-lfs --version
git-lfs/3.6.1 (GitHub; linux arm64; go 1.23.3; git ea47a34b)
2.x86_64版OpenEuler從源碼安裝git-lfs
#檢查系統版本信息
uname -a
Linux DESKTOP-5QRD15U 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
#下載git-lfs構建腳本和源碼
git clone https://gitee.com/src-openeuler/git-lfs
#進入文件夾
cd git-lfs
#安裝rpm-build工具(root權限)
yum install rpm-build
#準備rpmbuild環境
mkdir -p ~/rpmbuild/SPECSmkdir ?-p ~/rpmbuild/RPMSmkdir ?-p ~/rpmbuild/SOURCEScd /home/git-lfscp ./git-lfs.spec ~/rpmbuild/SPECS/cp ./git-lfs-v3.6.1.tar.gz ~/rpmbuild/SOURCEScp ./vendor.tar.gz ~/rpmbuild/SOURCEScp ./0001-use-vendor-dir-for-build.patch ~/rpmbuild/SOURCEScp ./git-lfs.yaml ~/rpmbuild/SOURCESyum install golang
#構建并安裝git-lfs
cd ~/rpmbuild/SPECSrpmbuild -bb git-lfs.speccd ~/rpmbuild/RPMScd x86_64yum install ./git-lfs-3.6.1-1.x86_64.rpm
安裝過程日志:
rpmbuild -bb git-lfs.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.DVEjkt
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd /root/rpmbuild/BUILD
+ rm -rf git-lfs-3.6.1
+ /usr/lib/rpm/rpmuncompress -x /root/rpmbuild/SOURCES/git-lfs-v3.6.1.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd git-lfs-3.6.1
+ /usr/lib/rpm/rpmuncompress -x /root/rpmbuild/SOURCES/vendor.tar.gz
/usr/bin/tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.provenance'
/usr/bin/tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.provenance'
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/lib/rpm/rpmuncompress /root/rpmbuild/SOURCES/0001-use-vendor-dir-for-build.patch
+ /usr/bin/patch -p0 -s --fuzz=0 --no-backup-if-mismatch -f
+ cd ..
+ mv git-lfs-3.6.1 git-lfs
+ mkdir -p git-lfs-3.6.1/src/github.com/git-lfs
+ mv git-lfs git-lfs-3.6.1/src/github.com/git-lfs/
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.g7NBeR
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd git-lfs-3.6.1
+ pushd src/github.com/git-lfs/git-lfs
~/rpmbuild/BUILD/git-lfs-3.6.1/src/github.com/git-lfs/git-lfs ~/rpmbuild/BUILD/git-lfs-3.6.1
+ make
fatal: not a git repository (or any of the parent directories): .git
delete this step
git-lfs: skipping fmt, no goimports found at `goimports` ...
delete this step
mkdir -p po/build
if command -v msgfmt >/dev/null 2>&1; \
then \msgfmt -o po/build/es.mo po/es.po; \
fi
delete this step
fatal: not a git repository (or any of the parent directories): .git
GO111MODULE=on GOOS= GOARCH= go build -mod=vendor -ldflags=""-linkmode=external" -X github.com/git-lfs/git-lfs/v3/config.GitCommit= -s -w " -gcflags=" " -trimpath -o ./bin/git-lfs ./git-lfs.go
+ popd
~/rpmbuild/BUILD/git-lfs-3.6.1
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.T7zFgT
+ umask 022
+ cd /root/rpmbuild/BUILD
+ '[' /root/rpmbuild/BUILDROOT/git-lfs-3.6.1-1.x86_64 '!=' / ']'
+ rm -rf /root/rpmbuild/BUILDROOT/git-lfs-3.6.1-1.x86_64
++ dirname /root/rpmbuild/BUILDROOT/git-lfs-3.6.1-1.x86_64
+ mkdir -p /root/rpmbuild/BUILDROOT
+ mkdir /root/rpmbuild/BUILDROOT/git-lfs-3.6.1-1.x86_64
+ cd git-lfs-3.6.1
+ install -Dpm0755 src/github.com/git-lfs/git-lfs/bin/git-lfs /root/rpmbuild/BUILDROOT/git-lfs-3.6.1-1.x86_64/usr/bin/git-lfs
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/brp-ldconfig
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip /usr/bin/strip
+ /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1 1
+ /usr/lib/rpm/brp-python-hardlink
Processing files: git-lfs-3.6.1-1.x86_64
Provides: git-lfs = 3.6.1-1 git-lfs(x86-64) = 3.6.1-1
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.32)(64bit) libc.so.6(GLIBC_2.34)(64bit) libresolv.so.2()(64bit) rtld(GNU_HASH)
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/git-lfs-3.6.1-1.x86_64
Wrote: /root/rpmbuild/RPMS/x86_64/git-lfs-3.6.1-1.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.9dQbUy
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd git-lfs-3.6.1
+ /usr/bin/rm -rf /root/rpmbuild/BUILDROOT/git-lfs-3.6.1-1.x86_64
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.qlADKX
+ umask 022
+ cd /root/rpmbuild/BUILD
+ rm -rf git-lfs-3.6.1 git-lfs-3.6.1.gemspec
+ RPM_EC=0
++ jobs -p
+ exit 0
版本驗證:
git-lfs --versiongit-lfs/3.6.1 (GitHub; linux amd64; go 1.21.4)