
openEuler 20.03 LTS SP3 基于openEuler-20.03-LTS-SP3-source-dvd.ison内src.rpm重新编译所有rpm包 自动化脚本
【代码】openEuler 20.03 LTS SP3 基于openEuler-20.03-LTS-SP3-source-dvd.ison内src.rpm重新编译所有rpm包 自动化脚本。
·
rpmbuild-all.sh
#!/bin/bash
set -x
SRC_RPM_LIST=$(cd /mnt/src-iso/Packages; ls *.src.rpm)
for SRC_RPM in ${SRC_RPM_LIST[@]}
do
echo ${SRC_RPM}
if [ -f /root/rpmbuild-record/${SRC_RPM} ]; then
echo "${SRC_RPM} already build."
else
echo "start build. "$(date)
echo "1. install ${SRC_RPM}"
rpm -ivh /mnt/src-iso/Packages/${SRC_RPM}
cd /root/rpmbuild
SPEC_FILE=$(ls SPECS/*.spec)
echo "2. detected ${SPEC_FILE}"
echo "3. yum-builddep"
yum-builddep -y ${SPEC_FILE}
echo "4. rpmbuild"
rpmbuild -ba ${SPEC_FILE}
echo "5. finished ${SPEC_FILE}"
# 移动spec文件,方便下次寻找目标文件
mkdir -p SPECS/bak
mv ${SPEC_FILE} SPECS/bak/ -f
# 记录编译完成,防止重复执行脚本重复编译,做到类似断点续传
touch /root/rpmbuild-record/${SRC_RPM}
fi
done
mount状态
/dev/sr0 on /mnt/iso type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
/mnt/hostos/openEuler-20.03-LTS-SP3-everything-aarch64-dvd.iso on /mnt/everything-iso type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
/mnt/hostos/openEuler-20.03-LTS-SP3-source-dvd.iso on /mnt/src-iso type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
repo源配置
[OS]
name=OS
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS-SP3/OS/$basearch/RPM-GPG-KEY-openEuler
[everything]
name=everything
baseurl=file:///mnt/everything-iso
enabled=1
gpgcheck=0
[source]
name=source
baseurl=file:///mnt/src-iso
enabled=1
gpgcheck=0
效果
更多推荐
所有评论(0)