From 689fa0ac86b49f5204b60f2419b7f34ea04fbf3c Mon Sep 17 00:00:00 2001 From: wangchong1995924 <15229716099@163.com> Date: Mon, 21 Nov 2022 16:30:07 +0800 Subject: [PATCH] replace openEuler with vendor macro --- openEuler_chroot.spec | 58 ++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/openEuler_chroot.spec b/openEuler_chroot.spec index 7c4f0e3..db020c3 100644 --- a/openEuler_chroot.spec +++ b/openEuler_chroot.spec @@ -1,24 +1,26 @@ # needsrootforbuild +%global vendor %{?_vendor:%{_vendor}}%{!?_vendor:openEuler} +%global s_vendor %(echo %{vendor} | tr 'A-Z' 'a-z') -Name: openEuler_chroot -Summary: Use for make iso in openEuler chroot +Name: %{vendor}_chroot +Summary: Use for make iso in %{vendor} chroot License: GPL Group: System/Management Version: 1.0 -Release: 0.10 +Release: 0.11 BuildRoot: %{_tmppath}/%{name}-%{version} BuildArch: noarch BuildRequires: dos2unix e2fsprogs filesystem info make tar vim perl libselinux-python3 coreutils Buildrequires: wget tar bzip2 sudo dnf-plugins-core iputils expect git dnf-utils yum %description -Use for make iso in openeuler chroot +Use for make iso in %{s_vendor} chroot %prep %build -mkdir -p /home/openeuler_chroot -cd /home/openeuler_chroot +mkdir -p /home/%{s_vendor}_chroot +cd /home/%{s_vendor}_chroot cat < obs_repo.conf [main] @@ -48,20 +50,20 @@ reposdir=/xxx [obs-Mainline] name=obs-Mainline -baseurl=http://openeuler-obs-repo.huawei.com:82/openEuler:/Mainline/%{_repository}/ +baseurl=http://%{s_vendor}-obs-repo.huawei.com:82/openEuler:/Mainline/%{_repository}/ enabled=1 gpgcheck=0 [obs-Extras] name=obs-Extras -baseurl=http://openeuler-obs-repo.huawei.com:82/openEuler:/Extras/%{_repository}/ +baseurl=http://%{s_vendor}-obs-repo.huawei.com:82/openEuler:/Extras/%{_repository}/ enabled=1 gpgcheck=0 END1 -echo "x.x.x.x openeuler-obs-repo.huawei.com" >> /etc/hosts +echo "x.x.x.x %{s_vendor}-obs-repo.huawei.com" >> /etc/hosts rpm_lst="pigz expect wget bash vim grep patch tar gzip bzip2 openssh-clients yum perl createrepo_c dnf-utils" myrepo=%{_repository} @@ -70,15 +72,15 @@ rpm_lst="${rpm_lst}" fi if which yum &> /dev/null; then - yum install -c obs_repo.conf --installroot=/home/openeuler_chroot/ -y $rpm_lst -x glibc32 + yum install -c obs_repo.conf --installroot=/home/%{s_vendor}_chroot/ -y $rpm_lst -x glibc32 else - yum-deprecated install -c obs_repo.conf --installroot=/home/openeuler_chroot/ -y $rpm_lst -x glibc32 + yum-deprecated install -c obs_repo.conf --installroot=/home/%{s_vendor}_chroot/ -y $rpm_lst -x glibc32 fi -cat < ./init_openeuler_chroot.sh +cat < ./init_%{s_vendor}_chroot.sh #!/bin/sh -cd /usr1/openeuler -BUILD_ROOT=/usr1/openeuler +cd /usr1/%{s_vendor} +BUILD_ROOT=/usr1/%{s_vendor} local com file mode arg mkdir -m 755 -p \$BUILD_ROOT/dev/pts @@ -120,15 +122,15 @@ END1 tar czf compile_env.tar.gz * %install -mkdir -p %{buildroot}/usr1/openeuler -cp -a /home/openeuler_chroot/compile_env.tar.gz %{buildroot}/usr1/openeuler +mkdir -p %{buildroot}/usr1/%{s_vendor} +cp -a /home/%{s_vendor}_chroot/compile_env.tar.gz %{buildroot}/usr1/%{s_vendor} %pre %post -cd /usr1/openeuler +cd /usr1/%{s_vendor} tar xf compile_env.tar.gz && rm -rf compile_env.tar.gz -BUILD_ROOT=/usr1/openeuler +BUILD_ROOT=/usr1/%{s_vendor} mkdir -m 755 -p $BUILD_ROOT/dev/pts test -d $BUILD_ROOT/dev/shm || rm -f $BUILD_ROOT/dev/shm @@ -165,27 +167,27 @@ mkdir -p $BUILD_ROOT/proc $BUILD_ROOT/sys mount --bind /sys $BUILD_ROOT/sys mount --bind /proc $BUILD_ROOT/proc -rm -rf $BUILD_ROOT/etc/yum.repos.d/openEuler.repo -touch $BUILD_ROOT/etc/yum.repos.d/openEuler.repo +rm -rf $BUILD_ROOT/etc/yum.repos.d/%{vendor}.repo +touch $BUILD_ROOT/etc/yum.repos.d/%{vendor}.repo %preun %postun i=0 -while cat /proc/mounts | grep '/usr1/openeuler' &> /dev/null +while cat /proc/mounts | grep '/usr1/%{s_vendor}' &> /dev/null do - while read a;do if echo $a | grep '/usr1/openeuler' &> /dev/null; then dir=`echo $a | awk '{print $2}'`;umount -f $dir;fi;done < /proc/mounts + while read a;do if echo $a | grep '/usr1/%{s_vendor}' &> /dev/null; then dir=`echo $a | awk '{print $2}'`;umount -f $dir;fi;done < /proc/mounts ((i++)) if [ $i -ge 8 ]; then break fi done -rm -rf /usr1/openeuler +rm -rf /usr1/%{s_vendor} %files %defattr(-,root,root) -%dir /usr1/openeuler -/usr1/openeuler/* +%dir /usr1/%{s_vendor} +/usr1/%{s_vendor}/* %clean rm -rf $RPM_BUILD_ROOT/* @@ -193,6 +195,12 @@ rm -rf %{_tmppath}/%{name}-%{version} rm -rf $RPM_BUILD_DIR/%{name}-%{version} %changelog +* Mon Nov 21 2022 wangchong - 1.0-0.11 +- Type:NA +- ID:NA +- SUG:NA +- DESC: replace openEuler with vendor macro + * Tue Jul 19 2022 xiasenlin - 1.0-0.10 - Type:bug-fix - ID:NA -- Gitee