mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] RFC: Make version selection.
@ 2021-06-18 12:29 Christian Melki
  2021-06-19 21:44 ` Roland Hieber
  0 siblings, 1 reply; 4+ messages in thread
From: Christian Melki @ 2021-06-18 12:29 UTC (permalink / raw)
  To: ptxdist

Make 4.3 introduced a new set of incompatibility.

https://lwn.net/Articles/810071/

This rarely affects building, but sometimes it will.
How about adding something like tool version selection?
(Building a specific version perhaps?).
Ptxdist seem rather content with just "some make", but since host 
version will undeniably affect the build success in some cases, how 
about making it an option?
Host cmake is a host-rule f.ex?

Regards,
Christian

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] RFC: Make version selection.
  2021-06-18 12:29 [ptxdist] RFC: Make version selection Christian Melki
@ 2021-06-19 21:44 ` Roland Hieber
  2021-06-20  5:45   ` Christian Melki
  0 siblings, 1 reply; 4+ messages in thread
From: Roland Hieber @ 2021-06-19 21:44 UTC (permalink / raw)
  To: ptxdist

On Fri, Jun 18, 2021 at 02:29:07PM +0200, Christian Melki wrote:
> Make 4.3 introduced a new set of incompatibility.
> 
> https://lwn.net/Articles/810071/
> 
> This rarely affects building, but sometimes it will.
> How about adding something like tool version selection?
> (Building a specific version perhaps?).
> Ptxdist seem rather content with just "some make", but since host version
> will undeniably affect the build success in some cases, how about making it
> an option?
> Host cmake is a host-rule f.ex?

This could result in a bit of yak shaving, because PTXdist host tools
are built using the normal PTXdist build system, which first feeds all
rule files to make and uses it for dependency generation. So make would
still be needed on the host to build the new host-make.

As an alternative, we could invent a special way to build the host-make
first (could be a static shell library function), and then restart
parsing the rules with the new host-make. But still then, at least one
make is needed on the build host to build PTXdist itself after the
./configure … :)

As another alternative, we could test for known make incompatibilities
on PTXdist startup and try to set up our rule files accordingly so they
built with all make versions. Maybe add a linter function too, if
possible.

 - Roland

-- 
Roland Hieber, Pengutronix e.K.          | r.hieber@pengutronix.de     |
Steuerwalder Str. 21                     | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686         | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] RFC: Make version selection.
  2021-06-19 21:44 ` Roland Hieber
@ 2021-06-20  5:45   ` Christian Melki
  2021-06-25  7:50     ` Michael Olbrich
  0 siblings, 1 reply; 4+ messages in thread
From: Christian Melki @ 2021-06-20  5:45 UTC (permalink / raw)
  To: ptxdist

On 6/19/21 11:44 PM, Roland Hieber wrote:
> On Fri, Jun 18, 2021 at 02:29:07PM +0200, Christian Melki wrote:
>> Make 4.3 introduced a new set of incompatibility.
>>
>> https://lwn.net/Articles/810071/
>>
>> This rarely affects building, but sometimes it will.
>> How about adding something like tool version selection?
>> (Building a specific version perhaps?).
>> Ptxdist seem rather content with just "some make", but since host version
>> will undeniably affect the build success in some cases, how about making it
>> an option?
>> Host cmake is a host-rule f.ex?
> 
> This could result in a bit of yak shaving, because PTXdist host tools
> are built using the normal PTXdist build system, which first feeds all
> rule files to make and uses it for dependency generation. So make would
> still be needed on the host to build the new host-make.
> 

Sure. It will need a real host make, regardless.
But can't this be done like a ... host-make-old? Then your make variable
for that obnoxious package gets treated with a "older make" and the rest
of the world lives on like normal?
Ptxdist doesn't care, neither does the vast majority of packages. They
are going to be up to date and have fixed makefiles.

> As an alternative, we could invent a special way to build the host-make
> first (could be a static shell library function), and then restart
> parsing the rules with the new host-make. But still then, at least one
> make is needed on the build host to build PTXdist itself after the
> ./configure … :)
> 
Yuck. :)

> As another alternative, we could test for known make incompatibilities
> on PTXdist startup and try to set up our rule files accordingly so they
> built with all make versions. Maybe add a linter function too, if
> possible.
> 

I got stuck on the new make with the really, really old gstreamer tools.
I've patched them (will send those in if anybody cares). So keeping up
with patches is also an alternative. But I'd rather be able to tell
ptxdist "older make here please".

>  - Roland
> 


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] RFC: Make version selection.
  2021-06-20  5:45   ` Christian Melki
@ 2021-06-25  7:50     ` Michael Olbrich
  0 siblings, 0 replies; 4+ messages in thread
From: Michael Olbrich @ 2021-06-25  7:50 UTC (permalink / raw)
  To: ptxdist

On Sun, Jun 20, 2021 at 07:45:39AM +0200, Christian Melki wrote:
> On 6/19/21 11:44 PM, Roland Hieber wrote:
> > On Fri, Jun 18, 2021 at 02:29:07PM +0200, Christian Melki wrote:
> >> Make 4.3 introduced a new set of incompatibility.
> >>
> >> https://lwn.net/Articles/810071/
> >>
> >> This rarely affects building, but sometimes it will.
> >> How about adding something like tool version selection?
> >> (Building a specific version perhaps?).
> >> Ptxdist seem rather content with just "some make", but since host version
> >> will undeniably affect the build success in some cases, how about making it
> >> an option?
> >> Host cmake is a host-rule f.ex?
> > 
> > This could result in a bit of yak shaving, because PTXdist host tools
> > are built using the normal PTXdist build system, which first feeds all
> > rule files to make and uses it for dependency generation. So make would
> > still be needed on the host to build the new host-make.
> > 
> 
> Sure. It will need a real host make, regardless.
> But can't this be done like a ... host-make-old? Then your make variable
> for that obnoxious package gets treated with a "older make" and the rest
> of the world lives on like normal?
> Ptxdist doesn't care, neither does the vast majority of packages. They
> are going to be up to date and have fixed makefiles.

From what I can tell, the incompatibility is mostly on-way. If it works
with the new version, then it works with the old version. And PTXdist (and
all actively developed packages) have been fixed.

> > As an alternative, we could invent a special way to build the host-make
> > first (could be a static shell library function), and then restart
> > parsing the rules with the new host-make. But still then, at least one
> > make is needed on the build host to build PTXdist itself after the
> > ./configure … :)
> > 
> Yuck. :)

This is really not needed. PTXdist itself work with old and new versions.
It's slower and dependency handling is a bit degraded for _really_ old
versions but that's it.

> > As another alternative, we could test for known make incompatibilities
> > on PTXdist startup and try to set up our rule files accordingly so they
> > built with all make versions. Maybe add a linter function too, if
> > possible.
> 
> I got stuck on the new make with the really, really old gstreamer tools.
> I've patched them (will send those in if anybody cares). So keeping up
> with patches is also an alternative. But I'd rather be able to tell
> ptxdist "older make here please".

Well, you could create a host-old-make package, that installs it binary
into a separate path (like we do with qt5) and add a dependency and a
custom PATH to the packages that need it.

But I'm not sure if it is worth the effort. The necessary changes are not
that big and a few patches to fix the Makefiles are probably less work.

Regards,
Michael

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-06-25  7:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-18 12:29 [ptxdist] RFC: Make version selection Christian Melki
2021-06-19 21:44 ` Roland Hieber
2021-06-20  5:45   ` Christian Melki
2021-06-25  7:50     ` Michael Olbrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox