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)