Re: s6: compatibility with make<3.82

From: Colin Booth <cathexis_at_gmail.com>
Date: Wed, 22 Jul 2015 09:47:57 -0700

On Tue, Jul 21, 2015 at 9:36 AM, Buck Evan <buck_at_yelp.com> wrote:
> Apparently the 'private' keyword was added in 3.82, but many of the
> platforms I care about have older versions of make.
>
> Would you accept a patch to factor it out?

Since everything related to s6 only has runtime dependencies on the
libc (or each other if you pass --disable-allstatic) as long as you
have two machines with the same libc, you can build on one machine and
transfer the results to another. This reduces the number of computers
that need to have an up-to-date gnu make to 1. Assuming this is a work
thing and you have a build cluster, update it on a subset of hosts,
tag those as skarnet-safe, and pin your s6 and friends builds to just
go there.

Additionally, gnu make builds fine on the oldest piece of hardware I
could check:

$ cat /etc/debian_version
4.0

$ uname -sr
Linux 2.6.18-4-amd64

make-4.0$ time (./configure > /dev/null ; make > /dev/null)

real 0m15.488s
user 0m10.817s
sys 0m3.572s

make-4.0$ ./make -v
GNU Make 4.0
Built for x86_64-unknown-linux-gnu

and knows how to parse the skarnet make files to boot:
execline-2.1.2.2$ ../make-4.0/make clean | echo $?
0

system make doesn't:
execline-2.1.2.2$ make -v
GNU Make 3.81

execline-2.1.2.2$ make clean
package/deps.mak:73: *** multiple target patterns. Stop.

Make v4 will add 30 seconds on to your build chain, but it's easy and
works on 9 year old distros. If you use a static-capable libc (musl,
ulibc), you don't even need to worry about the libc requirement.
Depending on how in-the-weeds you have to get with your build stuff it
can suck to set up (there is very little love lost between me and
Jenkins) but once it's done, it's done.

If not linux, I know that openbsd and freebsd both have 4.0+ versions
of gmake in ports. And I'm sure more esoteric unixes outside of the
BSD family can build make from source as well.

Cheers!

-- 
"If the doors of perception were cleansed every thing would appear to
man as it is, infinite. For man has closed himself up, till he sees
all things thru' narrow chinks of his cavern."
  --  William Blake
Received on Wed Jul 22 2015 - 16:47:57 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC