* Kevin Fenzi:

> On Mon, Oct 28, 2024 at 05:49:56PM +0100, Florian Weimer wrote:
>> * Kevin Fenzi:
>> 
>> > On Mon, Oct 28, 2024 at 09:07:59AM +0100, Florian Weimer wrote:
>> >> * Kevin Fenzi:
>> >> 
>> >> > As a side note, I removed s309x from the noarch_arches when that was
>> >> > going on, but I have readded it a while back. (So noarch builds could
>> >> > also happen on s390x). Also, changes in koji 1.35 meant that srpm build
>> >> > tasks just use noarch_arches, so they too can happen on s390x. I've been
>> >> > watching things and so far this doesn't seem to be a problem.
>> >> 
>> >> I was recently bitten by “fedpkg srpm” (or “fedpkg build --scratch
>> >> --srpm”) not yet using --arch noarch for constructing the source RPM. 8-/
>> >
>> > I think the idea is that a src.rpm should be the same constructed on any
>> > arch... ie, 
>> > https://docs.fedoraproject.org/en-US/packaging-guidelines/#_no_arch_specific_sources_or_patches
>> 
>> I don't dispute that, but you have to run rpmbuild with --arch noarch
>> (on Fedora 40 at least) to get that effect.
>
> This is with glibc?

Yes, sort of …

> I made a normal 'fedpkg srpm' with my x86_64 laptop and then one with
> --arch noarch:
>
> rpmdiff glibc-2.40.9000-14.fc42.src.rpm-x86_64 
> glibc-2.40.9000-14.fc42.src.rpm-noarch
> removed     REQUIRES valgrind  
> removed     PROVIDES sysroot-x86_64-fc42-glibc = 2.40.9000-14.fc42
> removed     PROVIDES glibc32 = 2.40.9000-14.fc42
> added       PROVIDES sysroot-noarch-fc42-glibc = 2.40.9000-14.fc42
>
> But yeah....

This only works after applying this change:

commit 9dacf7e4e90aa852bf05b7dab8540825f0619ab3
Author: Florian Weimer <fwei...@redhat.com>
Date:   Sat Oct 26 01:22:06 2024 +0200

    Define macros that are expanded during source RPM construction for noarch
    
    Otherwise, building source RPMs in Koji chokes on directives such as
    
    Provides: %{glibc_ldso}
    
    even though these entries are not relevant to source RPMs.

diff --git a/glibc.spec b/glibc.spec
index d3896df..d83652e 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -296,6 +296,14 @@ Source12: ChangeLog.old
 %define glibc_rtld_early_cflags -march=x86-64
 %endif
 
+# This is necessary to enable source RPM building under noarch, as
+# used by some build environments.
+%ifarch noarch
+%global glibc_ldso /lib/ld.so
+%global glibc_has_libnldbl 0
+%global glibc_has_libmvec 0
+%endif
+
 ######################################################################
 # Activate the wrapper script for debuginfo generation, by rewriting
 # the definition of __debug_install_post.


The thing is, the previous version without this commit passed extensive
testing after fedpkg build --scratch --srpm (manual file list comparison
and stuff).  So it was a bit annoying when it immediately failed
building. 8-)

Thanks,
Florian

-- 
_______________________________________________
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
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to