Re: Smaller buildroot for Perl packages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Dne 10. 05. 24 v 14:16 Petr Pisar napsal(a):
V Fri, May 10, 2024 at 01:13:53PM +0200, Lumír Balhar napsal(a):
I might have an idea how to make building Perl packages faster and their
buildroot a little bit smaller.

perl-devel depends on systemtap-sdt-devel and that package contains a single
script written in Python and using pycparser. The single script bring
python3-pycparser and therefore the whole Python with its standard library
to the buildroot of all perl packages although (according to my testing)
none of the packages needs it.

I've selected all packages build-requiring perl-devel but don't
build-requiring python-devel directly - 520 in total. And from that number:

 7  faild to build for unrelated reasons
 3  packages have python3-devel in buildroot (different reasons than
systempat-sdt-devel)
81  packages have python3-libs but not python3-devel (different reasons than
systempat-sdt-devel)

and finally, the rest - 436 packages - builds fine without the python script
in systemtap-sdt-devel and therefore without Python at all.

My idea is to split systemtap-sdt-devel into two packages: one with all the
content but without the python script (/usr/bin/dtrace) and a new one
containing only the mentioned script.

That would make buildroots for many packages smaller and their builds
faster.

I also did a test rebuild of all packages directly build-requiring
systemtap-sdt-devel and identified these packages that really need the
dtrace script: glib2, sssd, qemu, python2.7, postgresql15, postgresql16,
perl, php, mariadb10.11, and libvirt. Those would newly depend on a new
package where we move the script to.

What do you think about this idea? Is it worth writing a Fedora change for
it?

That looks like a great optimization from Perl point of view. It also seems
that only 10 components will need adjustments, so a self-contained Fedora
change should be enough.

Unanswered question is run-time dependencies. There might be packages which
run-require systemtap-sdt-devel because of dtrace executable:

# dnf -q -C repoquery --whatrequires systemtap-sdt-devel
lttng-ust-devel-0:2.13.8-1.fc41.x86_64
perl-devel-4:5.38.2-507.fc41.x86_64
systemtap-testsuite-0:5.1~pre17062192g5fd8daba-1.fc40.x86_64


What about BuildRequires? Shouldn't they be included in your query?

Vít

But probably the most important part is systemtap maintainer (CCed). Is he
fine with this change? Isn't this incompatible change too obstrusive for dtrace
users? I believe it isn't, otherwise dtrace would not be packaged in a -devel
package.

-- Petr

--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux