After seeing multiple ways to find packages that need rebuilding after a SONAME update and having asked once or twice for someone (smarter than me) to document a best practice, I gave up on waiting and took a shot at it:
I'm sure lots of improvements can be made but it "works"... $ cat fed-needs-rebuilding #!/bin/bash provides=$(mktemp -t provides-XXXXXXXX) requires=$(mktemp -t requires-XXXXXXXX) # Need to figure out how to handle packages that generate lots of subpackages. #for pkg in $(dnf --repoid=rawhide list $1 | awk '{print $1}'); do dnf repoquery --repoid=rawhide --provides $pkg >> $provides; done # Determine the provides of the specified package echo "Determining provides of package $1" dnf -q repoquery --repoid=rawhide --provides $1 > $provides sort -u -o $provides $provides sed -i "/^bundled/d" $provides echo "Found $(wc -l $provides | awk '{print $1}') provides to be evaluated." while read dep; do \ echo "Checking $dep" dnf -q repoquery --repoid=rawhide --source --whatrequires "$dep" >> $requires done < $provides sort -u -o $requires $requires sed -i "/^$1/d" $requires echo "The following packages need to be rebuilt:" cat $requires --- Example output: $ ./fed-needs-rebuilding OpenImageIO Determining provides of package OpenImageIO Found 7 provides to be evaluated. Checking libOpenImageIO.so.2.1 Checking libOpenImageIO.so.2.1()(64bit) Checking libOpenImageIO_Util.so.2.1 Checking libOpenImageIO_Util.so.2.1()(64bit) Checking OpenImageIO = 2.1.14.0-1.fc33 Checking OpenImageIO(x86-32) = 2.1.14.0-1.fc33 Checking OpenImageIO(x86-64) = 2.1.14.0-1.fc33 The following packages need to be rebuilt: blender-2.82a-3.fc33.src.rpm luxcorerender-2.3-2.fc33.src.rpm OpenColorIO-1.1.1-7.fc33.src.rpm Thanks, Richard
_______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org