In the newest Fedora 31 refresh (and in Fedora 32) `baseurl` in repos contains `download.example`. That is of course not a valid domain. Closes #1001
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/sh -eux
 | 
						|
 | 
						|
SRPM="$1"
 | 
						|
 | 
						|
# always remove older versions of these RPMs if they exist
 | 
						|
# to ensure newly built packages have been installed
 | 
						|
yum -y remove lorax lorax-composer composer-cli
 | 
						|
 | 
						|
if ! rpm -q beakerlib; then
 | 
						|
    if [ $(. /etc/os-release && echo $ID) = "rhel" ]; then
 | 
						|
        (cd /etc/yum.repos.d; curl -O -L http://download.devel.redhat.com/beakerrepos/beaker-client-RedHatEnterpriseLinux.repo)
 | 
						|
 | 
						|
         # The beaker repository doesn't include repos for minor releases
 | 
						|
         VERSION=$(. /etc/os-release && echo ${VERSION_ID%.*})
 | 
						|
         yum install -y --releasever=$VERSION --setopt=sslverify=0 beakerlib
 | 
						|
 | 
						|
         # prevent yum from trying to sync the cache again later (it fails without sslverify=0)
 | 
						|
         rm /etc/yum.repos.d/beaker-client-RedHatEnterpriseLinux.repo
 | 
						|
     else
 | 
						|
         yum install -y beakerlib
 | 
						|
    fi
 | 
						|
fi
 | 
						|
 | 
						|
# disable mirrors & re-enable direct download
 | 
						|
sed -i "s/metalink.*//" /etc/yum.repos.d/*.repo
 | 
						|
sed -i "s/#\(baseurl=.*\)/\1/" /etc/yum.repos.d/*.repo
 | 
						|
sed -i "s/download.fedoraproject/dl.fedoraproject/" /etc/yum.repos.d/*.repo
 | 
						|
 | 
						|
# HACK: Fedora ships baseurl with `example.com` as domain
 | 
						|
# Example: `#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Everything/$basearch/`
 | 
						|
sed -i "s/download.example/dl.fedoraproject.org/" /etc/yum.repos.d/*.repo
 | 
						|
 | 
						|
# Grow root partition to make room for images. This only works on Fedora right now.
 | 
						|
echo ", +" | sfdisk -N 2 -f /dev/vda
 | 
						|
partprobe
 | 
						|
pvs --noheadings -opv_name | xargs pvresize
 | 
						|
rootlv=$(findmnt --noheadings -oSOURCE /)
 | 
						|
lvresize $rootlv -l+100%FREE -r
 | 
						|
 | 
						|
rm -rf build-results
 | 
						|
su builder -c "/usr/bin/mock --verbose --no-clean --resultdir build-results --rebuild $SRPM"
 | 
						|
 | 
						|
packages=$(find build-results -name '*.rpm' -not -name '*.src.rpm')
 | 
						|
yum install -y $packages
 | 
						|
 | 
						|
systemctl enable lorax-composer.socket
 | 
						|
 | 
						|
if [ -f /usr/bin/docker ]; then
 | 
						|
    yum remove -y $(rpm -qf /usr/bin/docker)
 | 
						|
fi
 | 
						|
 | 
						|
if ! rpm -q podman-docker; then
 | 
						|
    yum install -y podman-docker
 | 
						|
fi
 |