From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [50.116.15.146]) by inbox.vuxu.org (Postfix) with ESMTP id A8210245DA for ; Thu, 20 Jun 2024 22:13:12 +0200 (CEST) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 15F0643BCD; Fri, 21 Jun 2024 06:13:06 +1000 (AEST) Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com [IPv6:2a00:1450:4864:20::12c]) by minnie.tuhs.org (Postfix) with ESMTPS id DCC3143BCB for ; Fri, 21 Jun 2024 06:12:59 +1000 (AEST) Received: by mail-lf1-x12c.google.com with SMTP id 2adb3069b0e04-52cc129c78fso1239582e87.2 for ; Thu, 20 Jun 2024 13:12:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718914378; x=1719519178; darn=tuhs.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=dwyo9CwqkERLl4ht/Apxu06MFXYKxKS35jBJb/V1Sx0=; b=lDlOgopBWCQEsClyXbDCmG4yfq7O97IAlS8Y6PpJcHZTC0pv0m9YShYw6LGKuTbAqG 8EkASIavF9GUU6k6nN3xmnYBrw7L2TpjPPJ0BOEWsMXwhkMJtFvGa9Q/3QbXzSJ/Pmga OUkai/Jr26X+Lb5IOOtGVQ4/DbAo7dAY3ILKytPGu7p8AFRnu87lBSsst+5L9R5QBpcy WZ/FZ997pEv4HeSD0CaSFGzw26QI2FNuQiVg8vb3UU0eu6Q5O7Q/YjcAaktxpYkBHklo hERgKtemcebzYIn1IDR1V8h3NSHZU1MxBcIA27xCas7AiRmrxbM7E6LfPT0r5f/lDbH+ W3pQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718914378; x=1719519178; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=dwyo9CwqkERLl4ht/Apxu06MFXYKxKS35jBJb/V1Sx0=; b=cc1Oavk43lg1iPMRz3UqRvarnP3reL9YuJsRCZpHLKlKLS0Gorx/gY42aJAZF71kzq OUa0MgLuRZGw5ShR/9tP17pgVFni+5R7ggPNI8ZCU5Z8AhVUVZRCfDbmpboQAt0GDzG3 JPcCCdPm7VapCKKTrwRLx3k6JylNS4momQqeE6GV6WpWHizBWaaVcz+OqjcabCP/ixUX TVlLBPgVr07QJ6uPJ1Gd5dZh8hkRpFXr4rA44Oica4XCTTJKv1SpPUts7R0jhoyi0lb8 te9Vhu08G5eg5VF+3QwAGElnzsdDC9HkXjoqpL+3jvMcuATO7isPXpx9QYTvUNdCZscJ Ha6g== X-Forwarded-Encrypted: i=1; AJvYcCVQM8elHMXHdHtx8Vc2gbhWk5dPLDiUncWMGYH+UKnQYm3r2Fb4ZF4+jgH8vr39t9pcxkVmn0crRfry7vr5 X-Gm-Message-State: AOJu0Yx03NLhk9/WJtavf8x6QB1hzX+j7VBWuXRwdEeu5V2R3AkQx4c7 JsP22D4Hgy64Zn+w0qJxkHY4sXgtiXoX0Ecrs3Z9IyeZ4Gc73iItnEtURJk1qSiGb5EbfKcNuw/ wo3AGkWCpelrQQSvWcmNks9YSzlXrsnR3 X-Google-Smtp-Source: AGHT+IHAh0nJEdGQAf/npqo322D+Mg6PYQyAjMiWZSYj8jGOiKoT1LarUXMkrN5bYOzi4dSaj4qHHcJ5SEFRUnQa4ZY= X-Received: by 2002:a05:6512:3f0e:b0:52c:9fd6:1b8a with SMTP id 2adb3069b0e04-52ccaa595c8mr5710558e87.8.1718914378075; Thu, 20 Jun 2024 13:12:58 -0700 (PDT) MIME-Version: 1.0 References: <87iky84c23.fsf@gmail.com> <20240617012531.GE12821@mcvoy.com> <0e6792ed-65b0-e2e1-8159-6426a7f15a8d@riddermarkfarm.ca> <202406200501.45K5118a028500@sdf.org> In-Reply-To: From: ron minnich Date: Thu, 20 Jun 2024 13:12:45 -0700 Message-ID: To: Warner Losh Content-Type: multipart/alternative; boundary="000000000000e7961e061b57f0ee" Message-ID-Hash: NAT4UI3KGBXXHUTIUPIP4ELAF24GI5BY X-Message-ID-Hash: NAT4UI3KGBXXHUTIUPIP4ELAF24GI5BY X-MailFrom: rminnich@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: The Unix Heritage Society mailing list X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: Version 256 of systemd boasts '42% less Unix philosophy' The Register List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --000000000000e7961e061b57f0ee Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable The slurm configure, produced by the configure script, is 1 mbyte, 30,000 lines of impenetrable script. For each .c file in slurm, an 11960 line libtool script is invoked. autoconfig uses m4. When I told Eric Grosse, back in 2015, that *anything* still used m4, he would not believe it was "the m4 from the 70s" until I showed him. He was speechless. He had assumed m4 died in the 80s. Personally, the autoconfig process does not fill me with confidence, and it was recently responsible for a very serious security problem. And, autoconfig doesn't work: I've lost track of how many times autoconf has failed for me. In general, in my experience, autoconf makes for less portability, not more. For a good example of a very portable system with a very clean, human-readable make setup, I'd recommend a look at plan9ports. It includes 2 window managers, 2 graphical editors, and all the Plan 9 tools, and somehow manages to be at least as portable as the autoconf mechanism. On Thu, Jun 20, 2024 at 12:59=E2=80=AFPM Warner Losh wrote= : > For me, precomputing an environment is the same as a wysiwyg editor: what > you see is all you get. If it works for you, and the environment that's > inferred from predefined CPP symbols is correct, then it's an easy > solution. When it's not, and for me it often wasn't, it's nothing but pai= n > and suffering and saying MF all the time (also not Make File).... I was > serious when I've said I've had more positive cmake experiences (which > haven't been all that impressive: I'm more impressed with meson in this > space, for example) than I ever had with IMakefiles, imake, xmkmf, etc... > But It's also clear that different people have lived through different > hassles, and I respect that... > > I've noticed too that we're relatively homogeneous these days: Everybody > is a Linux box or Windows Box or MacOS, except for a few weird people on > the fringes (like me). It's a lot easier to get things right enough w/o > autotools, scons, meson, etc than it was in The Bad Old Days of the Unix > Wars and the Innovation Famine that followed from the late 80s to the mid > 2000s.... In that environment, there's one of two reactions: Test > Everything or Least Common Denominator. And we've seen both represented i= n > this thread. As well as the 'There's so few environments, can't you > precompute them all?' sentiment from newbies that never bloodied their > knuckles with some of the less like Research Unix machines out there like > AIX and HP/UX... Or worse, Eunice... > > Warner > > On Thu, Jun 20, 2024 at 12:42=E2=80=AFPM Adam Thornton > wrote: > >> >> >> Someone clearly never used imake... >> >> >> There's a reason that the xmkmf command ends in the two letters it does, >> and I'm never going to believe it's "make file". >> >> Adam >> >> On Thu, Jun 20, 2024 at 11:34=E2=80=AFAM Greg A. Woods wrote: >> >>> At Thu, 20 Jun 2024 01:01:01 -0400, Scot Jenkins via TUHS >>> wrote: >>> Subject: [TUHS] Re: Version 256 of systemd boasts '42% less Unix >>> philosophy' The Register >>> > >>> > "Greg A. Woods" wrote: >>> > >>> > > I will not ever allow cmake to run, or even exist, on the machines = I >>> > > control... >>> > >>> > I'm not a fan of cmake either. >>> > >>> > How do you deal with software that only builds with cmake (or meson, >>> > scons, ... whatever the developer decided to use as the build tool)? >>> > What alternatives exist short of reimplementing the build process in >>> > a standard makefile by hand, which is obviously very time consuming, >>> > error prone, and will probably break the next time you want to update >>> > a given package? >>> >>> The alternative _is_ to reimplement the build process. >>> >>> For example, see: >>> >>> https://github.com/robohack/yajl/ >>> >>> This example is a far more comprehensive rewrite than is usually >>> necessary as I wanted a complete and portable example that could be use= d >>> as the basis for further projects. >>> >>> An example of a much simpler reimplementation: >>> >>> >>> http://cvsweb.NetBSD.org/bsdweb.cgi/src/external/mit/ctwm/bin/ctwm/Make= file?rev=3D1.12&content-type=3Dtext/x-cvsweb-markup&only_with_tag=3DMAIN >>> >>> -- >>> Greg A. Woods >>> >>> Kelowna, BC +1 250 762-7675 RoboHack >>> Planix, Inc. Avoncote Farms >>> >> --000000000000e7961e061b57f0ee Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
The slurm configure, produced by the configure script, is = 1 mbyte, 30,000 lines of impenetrable script. For each .c file in slurm, an= 11960 line libtool script is invoked. autoconfig uses m4. When I told Eric= Grosse, back in 2015, that *anything* still used m4, he would not believe = it was "the m4 from the 70s" until I showed him. He was speechles= s. He had assumed m4 died in the 80s.=C2=A0

Personally, = the autoconfig process does not fill me with confidence, and it was recentl= y responsible for a very serious security problem.=C2=A0And, autoconfig doe= sn't work: I've lost track of how many times autoconf has failed fo= r me. In general, in my experience, autoconf makes for less portability, no= t more.

For a good example of a very portable syst= em with a very clean, human-readable make setup, I'd recommend=C2=A0a l= ook at plan9ports. It includes 2 window managers, 2 graphical editors, and = all the Plan 9 tools, and somehow manages to be at least as portable as the= autoconf mechanism.

On Thu, Jun 20, 2024 at 12:59=E2=80=AFPM Warner L= osh <imp@bsdimp.com> wrote:
=
For me, precomputing an environment is the same as a wysiwyg editor: wha= t you see is all you get. If it works for you, and the environment that'= ;s inferred from predefined CPP symbols is correct, then it's an easy s= olution. When it's not, and for me it often wasn't, it's nothin= g but pain and suffering and saying MF all the time (also not Make File)...= .=C2=A0 I was serious when I've said I've had more positive cmake e= xperiences (which haven't been all that impressive: I'm more impres= sed with meson in this space, for example) than I ever had with IMakefiles,= imake, xmkmf, etc...=C2=A0 But It's also clear that different people h= ave lived through different hassles, and I respect that...

I've noticed too that we're relatively homogeneous these d= ays: Everybody is a Linux box or Windows Box or MacOS, except for a few wei= rd people on the fringes (like me). It's a lot easier to get things rig= ht enough w/o autotools, scons, meson, etc than it was in The Bad Old Days = of the Unix Wars and the Innovation Famine that followed from the late 80s = to the mid 2000s.... In that environment, there's one of two reactions:= Test Everything or Least Common Denominator. And we've seen both repre= sented in this thread.=C2=A0 As well as the 'There's so few environ= ments, can't you precompute them all?' sentiment from newbies that = never bloodied their knuckles with some of the less like Research Unix mach= ines out there like AIX and HP/UX...=C2=A0 Or worse, Eunice...
Warner

On Thu, Jun 20, 2024 at 12:42=E2=80=AFPM Adam Thornt= on <athornton@g= mail.com> wrote:


Someone clearly never used imake...

There's a reaso= n that the xmkmf command ends in the two letters it does, and I'm nev= er going to believe it's "make file".

Adam
=

On Thu, Jun 20, 2024 at 11:34=E2=80=AFAM Greg A. Woods <woods@robohack.ca> wrot= e:
At Thu, 20 Ju= n 2024 01:01:01 -0400, Scot Jenkins via TUHS <tuhs@tuhs.org> wrote:
Subject: [TUHS] Re: Version 256 of systemd boasts '42% less Unix philos= ophy' The Register
>
> "Greg A. Woods" <woods@robohack.ca> wrote:
>
> > I will not ever allow cmake to run, or even exist, on the machine= s I
> > control...
>
> I'm not a fan of cmake either.
>
> How do you deal with software that only builds with cmake (or meson, > scons, ... whatever the developer decided to use as the build tool)? > What alternatives exist short of reimplementing the build process in > a standard makefile by hand, which is obviously very time consuming, > error prone, and will probably break the next time you want to update<= br> > a given package?

The alternative _is_ to reimplement the build process.

For example, see:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 https://github.com/robohack/yajl/
This example is a far more comprehensive rewrite than is usually
necessary as I wanted a complete and portable example that could be used as the basis for further projects.

An example of a much simpler reimplementation:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 http://cvsweb.NetBSD.org/bsdweb.cgi/src/external/mit/ctwm/bin/ctwm/Make= file?rev=3D1.12&content-type=3Dtext/x-cvsweb-markup&only_with_tag= =3DMAIN

--
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Greg A. = Woods <gwoods@acm.or= g>

Kelowna, BC=C2=A0 =C2=A0 =C2=A0+1 250 762-7675=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0RoboHack <woods@robohack.ca>
Planix, Inc. <wood= s@planix.com>=C2=A0 =C2=A0 =C2=A0Avoncote Farms <woods@avoncote.ca>
--000000000000e7961e061b57f0ee--