From 004b3fa810d0458d8ee583c6818b5edf0866b502 Mon Sep 17 00:00:00 2001 From: Pascal Terjan Date: Sun, 26 Nov 2023 20:49:30 +0000 Subject: Fix rebuilding perl on armv7hl --- NEWS | 2 ++ rebuild_perl_iurt | 32 ++++++++++++++++---------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/NEWS b/NEWS index ade912b..de39941 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,6 @@ - iurt: Sort packages.arch.log +- rebuild_perl_iurt: set --target to correctly build for armv7hl on aarch64 + machines 0.8.2.2 - ulri: Fix a crash after build failures diff --git a/rebuild_perl_iurt b/rebuild_perl_iurt index 94843e5..4d68186 100755 --- a/rebuild_perl_iurt +++ b/rebuild_perl_iurt @@ -23,33 +23,33 @@ if [ -z "$perlchroot" ]; then exit 1 fi -iurt --repository $repository --shell -r $distro $arch --use-old-chroot $perlchroot --chrooted-urpmi -m $media -- $repository <<"EOF" +iurt --repository $repository --shell -r $distro $arch --use-old-chroot $perlchroot --chrooted-urpmi -m $media -- $repository < ~/.mgarepo/config -perlapis_path=$HOME/perlapis.txt -[ -e $perlapis_path ] || rpm -q --provides perl-base | grep ^libperl.so. > $perlapis_path -for p in perl perl-Test-LeakTrace perl-PerlIO-utf8_strict perl-List-MoreUtils-XS perl-List-MoreUtils perl-URPM perl-Locale-gettext; do mgarepo getsrpm -n $p; done +perl -pe 's/svn\\+ssh:/svn:/' /etc/mgarepo.conf > ~/.mgarepo/config +perlapis_path=\$HOME/perlapis.txt +[ -e \$perlapis_path ] || rpm -q --provides perl-base | grep ^libperl.so. > \$perlapis_path +for p in perl perl-Test-LeakTrace perl-PerlIO-utf8_strict perl-List-MoreUtils-XS perl-List-MoreUtils perl-URPM perl-Locale-gettext; do mgarepo getsrpm -n \$p; done rpm -ivh --nodeps *.src.rpm sudo urpmi --auto --no-verify-rpm rpmbuild/SPECS/*.spec -rpmbuild -ba rpmbuild/SPECS/perl.spec -sudo rpm -Uvh --nodeps --force $(ls rpmbuild/RPMS/*/perl-*.rpm | grep -v debuginfo) -rpmbuild -ba rpmbuild/SPECS/perl-Test-LeakTrace.spec +rpmbuild --target $arch -ba rpmbuild/SPECS/perl.spec +sudo rpm -Uvh --nodeps --force \$(ls rpmbuild/RPMS/*/perl-*.rpm | grep -v debuginfo) +rpmbuild --target $arch -ba rpmbuild/SPECS/perl-Test-LeakTrace.spec sudo rpm -Uvh --force rpmbuild/RPMS/*/perl-Test-LeakTrace*.rpm -rpmbuild -ba rpmbuild/SPECS/perl-List-MoreUtils-XS.spec +rpmbuild --target $arch -ba rpmbuild/SPECS/perl-List-MoreUtils-XS.spec sudo rpm -Uvh --force rpmbuild/RPMS/*/perl-List-MoreUtils-XS*.rpm -PERL5LIB=$(rpm -ql perl-List-MoreUtils-XS perl-List-MoreUtils | perl -ne 's!/List/MoreUtils.pm!! && print') LIST_MOREUTILS_PP=1 rpmbuild -ba rpmbuild/SPECS/perl-List-MoreUtils.spec +PERL5LIB=\$(rpm -ql perl-List-MoreUtils-XS perl-List-MoreUtils | perl -ne 's!/List/MoreUtils.pm!! && print') LIST_MOREUTILS_PP=1 rpmbuild --target $arch -ba rpmbuild/SPECS/perl-List-MoreUtils.spec sudo rpm -Uvh --force rpmbuild/RPMS/*/perl-List-MoreUtils-*.rpm -rpmbuild -ba rpmbuild/SPECS/perl-URPM.spec -rpmbuild -ba rpmbuild/SPECS/perl-Locale-gettext.spec +rpmbuild --target $arch -ba rpmbuild/SPECS/perl-URPM.spec +rpmbuild --target $arch -ba rpmbuild/SPECS/perl-Locale-gettext.spec sudo rpm -Uvh --force rpmbuild/RPMS/*/perl-URPM-*.rpm rpmbuild/RPMS/*/perl-Locale-gettext-*.rpm -updatepkgs() { spec=$1; toupdate=; while read line; do set -- $line; name=$1; path=$2; rpm -q $name --quiet && toupdate="$toupdate $path"; done < <(rpm -q --specfile $spec --qf '%{name} rpmbuild/RPMS/%{arch}/%{name}-%{version}-%{release}.%{arch}.rpm\n' | egrep -v -- '-(debuginfo|__restore__)-'); [ -n "$toupdate" ] && sudo rpm -Uvh --force $toupdate; } -rebuild() { p=$1; mgarepo getsrpm -n $p; rpm -ivh @*:$p-*.src.rpm; spec=rpmbuild/SPECS/$p.spec; sudo urpmi --auto --no-verify-rpm $spec; rpmbuild -ba $spec; updatepkgs $spec; } -pkgs=$(LC_ALL=C rpm -q --qf '%{SOURCERPM}\n' --whatrequires $(cat $perlapis_path) | perl -lne '/^(\S+)-[^-]+-[^-]+$/ and print $1' | uniq); for p in $pkgs; do rebuild $p; done +updatepkgs() { spec=\$1; toupdate=; while read line; do set -- \$line; name=\$1; path=\$2; rpm -q \$name --quiet && toupdate="\$toupdate \$path"; done < <(rpm -q --specfile \$spec --qf '%{name} rpmbuild/RPMS/%{arch}/%{name}-%{version}-%{release}.%{arch}.rpm\n' | egrep -v -- '-(debuginfo|__restore__)-'); [ -n "\$toupdate" ] && sudo rpm -Uvh --force \$toupdate; } +rebuild() { p=\$1; mgarepo getsrpm -n \$p; rpm -ivh @*:\$p-*.src.rpm; spec=rpmbuild/SPECS/\$p.spec; sudo urpmi --auto --no-verify-rpm \$spec; rpmbuild --target $arch -ba \$spec; updatepkgs \$spec; } +pkgs=\$(LC_ALL=C rpm -q --qf '%{SOURCERPM}\n' --whatrequires \$(cat \$perlapis_path) | perl -lne '/^(\S+)-[^-]+-[^-]+$/ and print \$1' | uniq); for p in \$pkgs; do rebuild \$p; done EOF echo $perlchroot -- cgit v1.2.1