* Re: Smaller buildroot for Perl packages
[not found] <94ddb6bc-fe38-4919-b8bc-37c64516b65f@redhat.com>
@ 2024-05-10 12:16 ` Petr Pisar
2024-05-10 15:16 ` Frank Ch. Eigler
0 siblings, 1 reply; 2+ messages in thread
From: Petr Pisar @ 2024-05-10 12:16 UTC (permalink / raw)
To: Development discussions related to Fedora; +Cc: Jitka Plesnikova, fche
[-- Attachment #1: Type: text/plain, Size: 2570 bytes --]
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
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Smaller buildroot for Perl packages
2024-05-10 12:16 ` Smaller buildroot for Perl packages Petr Pisar
@ 2024-05-10 15:16 ` Frank Ch. Eigler
0 siblings, 0 replies; 2+ messages in thread
From: Frank Ch. Eigler @ 2024-05-10 15:16 UTC (permalink / raw)
To: Development discussions related to Fedora, Jitka Plesnikova, systemtap
Hi -
> [...]
> > 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.
No objection here.
> > [...]
> > 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.
(The logistic challenge there will be side-tag rebuilding all those
after a systemtap subrpm split.)
How much time did excluding the python bits from the perl buildroot
actually save during your tests?
> 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
By default, these packages could inherit dependencies on both of the
split subrpms, until their respective packagers decide to analyze and
narrow it further down.
- FChE
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-05-10 15:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <94ddb6bc-fe38-4919-b8bc-37c64516b65f@redhat.com>
2024-05-10 12:16 ` Smaller buildroot for Perl packages Petr Pisar
2024-05-10 15:16 ` Frank Ch. Eigler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).