From owner-freebsd-ports@freebsd.org Fri Feb 12 06:22:12 2016 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5DD03AA4297 for ; Fri, 12 Feb 2016 06:22:12 +0000 (UTC) (envelope-from royce.williams@gmail.com) Received: from mail-ob0-x22f.google.com (mail-ob0-x22f.google.com [IPv6:2607:f8b0:4003:c01::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 23C8F9D1; Fri, 12 Feb 2016 06:22:12 +0000 (UTC) (envelope-from royce.williams@gmail.com) Received: by mail-ob0-x22f.google.com with SMTP id is5so107639142obc.0; Thu, 11 Feb 2016 22:22:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=zZgTDg9QNML4zNfcjyLk7FPFx1mqLRFgs7zgR9zm4w8=; b=N+TCGqkluN6Djj9GJt+mmLb7m1Dpe8EBrWTDTcS9dc4sVlgpQcnbTnsHHtlRFjWFOp V7GNE9PhKX2nCYfvy4HEhgMBMkzDs6KWLq3XbH1g06ZaLFDH7i43cQJLLYVpiFjfZbJJ x+FmO7QMfYzO0oRWACa4qxcCng+bh+XiWGugU44URHRsS+t9IvTsjwfc0doljDEJL8De N810NiuTEnYg696robNBmpXVltwwJeV1oQL72pzzk8P4ubPGGu55oJ7Jq3egObtfZwpx HlykXrj5rPaSTzmGhreYotc+wPqBXtSr2V3ziyszX+t2cijaMJWFE1MjVn+5gySvgfUn gKeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc:content-type; bh=zZgTDg9QNML4zNfcjyLk7FPFx1mqLRFgs7zgR9zm4w8=; b=fzsrT7TGgM8oZal9qdxwyplaeLTPK/J8UVUisvPRDqhBrL95QEDtMFbLTxXMhsmP+L NFuSzvbKUPDOJzqxzxWsLNEFuDtFKlc1OazTKJW7amuVl8UJfqF/QXnvU1eKYiyOCW9f cSui45EHZo1/+lUK9nQ6at3twxY6kseGqvpNYr6gCo4fJF2mCRLzGHParZEzGMcG1v00 5Y0iSjqXSCjcB8kVzLRfAZLvXctAzDdh27vb1KeQYLZvbM2EnbfbpbFw5NotktDOKSSe HiwwnJyCbo8fdlNUrL0SK2FROqqj2/VGI1g0CvFR29fVeTt7auKssaHmksjqCvl6E5cG +55A== X-Gm-Message-State: AG10YOQc9yEHyhhLV7FcrqAG2llaxbkbzlRkmGxXYg2PyuZL+8Zm4136t53ktoNYLeUD027MYcqY53CfCBUvSQ== X-Received: by 10.60.179.49 with SMTP id dd17mr48993134oec.5.1455258131384; Thu, 11 Feb 2016 22:22:11 -0800 (PST) MIME-Version: 1.0 Sender: royce.williams@gmail.com Received: by 10.202.169.198 with HTTP; Thu, 11 Feb 2016 22:21:41 -0800 (PST) In-Reply-To: <56BD2A1E.1020706@marino.st> References: <56B754A8.3030605@marino.st> <56BCE01D.4010701@FreeBSD.org> <56BCE218.40403@marino.st> <56BCEC5F.4020007@marino.st> <56BD2A1E.1020706@marino.st> From: Royce Williams Date: Thu, 11 Feb 2016 21:21:41 -0900 X-Google-Sender-Auth: V6CP_A4v4nc8dsYsgCf_MmTooFw Message-ID: Subject: Re: Removing documentation To: John Marino Cc: Kevin Oberman , lev@freebsd.org, FreeBSD Mailing List Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Feb 2016 06:22:12 -0000 On Thu, Feb 11, 2016 at 3:41 PM, John Marino wrote: > > On 2/12/2016 1:22 AM, Royce Williams wrote: > > Is the abstraction is happening at the equivalent level here? The > > platforms that I'm thinking of -- that appear to have already solved > > this entire class of problem long ago -- feature wrappers around > > apt-get, not wrappers around dpkg. > > I'm not a linux guy so those things don't mean much the me. The > abstraction layer here is at the appropriate level. I'm not seeing this > fragmentation problem you're talking about, at least not with the newer > tools. It's the long tail of non-newer tools that appears to be a big part of the problem. I think that you and I are in agreement there. But I also think that the older tools do some things well that enough people will miss that it will undermine adoption of newer tools for a while. > > > I'm advocating that we stop quasi-providing four different flavors of > > apt-get. Until there is a single and official mechanism for both > > dependency resolution and configuration option management, the > > fragmentation remains. > > Why do you think this is the case? Ports defines the dependencies and > pkg respects them. I'm not seeing where there more than one method > here. What other ones are there? The current ports/pkg relationship is still fragile, perhaps because it's new. I almost abandoned FreeBSD entirely a couple of months ago when an interesting corner case of the use of pkg managed to unilaterally and without warning delete in its entirety the contents of /usr/local/etc/rc.d in of my jails. Contrast this with the Ubuntu world, where there is a well-baked "unattended-upgrades" option that automatically downloads and upgrades all security updates for both the OS and all third-party packages. > > > If there were no ports system, and everything was package-driven, I'd > > agree. Synth and its cousins exist because people work from ports -- > > which means that dependencies matter. > > Synth exist because people are insisting to build from source (even > irrationally) so they might as well do it correctly. The statement > above doesn't have anything to do with Synth being a binary. If you believe that people who want to build from source are irrational, to me this means that you do not yet understand the current use cases of the software you're purporting to replace. > > If a shell script was so good, why is portmaster unmaintainable? I wasn't advocating for using a shell script. I'm advocating for a core-driven, Foundation-funded initiative to identify requirements and functionality for true, integrated ports and packages management, drive it to completion for parity with modern package management practices, and bring it into core. > > > The laissez-faire "there's no requirement to build from ports" that > > permeates FreeBSD is exactly what's wrong. The fact that half of the > > documentation and quasi-official tools tell people "hey, use one of > > these three ports management tools, or maybe packages, pick what works > > for you -- oh, and be sure to check /usr/ports/UPDATING every time you > > touch any port or package" is a deep symptom of this fragmentation. > > THERE'S NO REQUIREMENT THAT SOMETHING THAT BUILDS PORTS NEEDS THAT > ITSELF IS BUILT FROM PORTS. You responded to something different. Breathe. :) I'm not saying it's required. I'm saying that it's what many people do -- and probably for reasons that should be identified and understood before dismissing them. > > Because FreeBSD software management itself is not purely package based. > > > > As long as the ports system exists (and I think it should!), the > > management of compilation requirements -- especially for something > > that might need to be bootstrapped early, like a software management > > tool -- is a valid topic. > > Well, except *this* tool will never be in a "bootstrap" path. Above is > completely irrelevant. Besides, if the base is built, ports work, > period. There are no "compilation" requirements. > > > > To be clear: except for the Ada/ruby/whatever dependency chain, my > > beef isn't with Synth qua Synth. It's that every time we spin up Yet > > Another Optional Software Management Tool, we fragment further. If > > Synth becomes the holy grail of package management -- so compelling > > that it becomes the only choice people would want to make, which is > > what I think we need -- then it should become part of base. > > 1) you should focus on retiring the old tools No disagreement there. > > 2) It will never be part of base That's where we differ. I think that a software management suite that has fully identified the use cases would necessarily need to be part of base. And the fact that it's not part of base is only going to make the fragmentation worse over time. Mine is just one opinion, of course. > > 3) no ports tool has even been part of base I know. I think that's bad. > > 4) the "winner" will be determined by merit. If some people insist on > using inferior/broken/obsolete/unmaintained tools it's their choice and > problem. The majority will migrate naturally. I think that all previous attempts to solve the problem had the same idea. It hasn't happened yet, and my assertion is that it hasn't happened because the full suite of requirements for a unified solution are A) not yet well understood, and B) not sponsored at high enough levels by the project (read as: Foundation funding). > > This started because I think that if a tool is documented in handbook, > it must be maintained (not part of base). I've got no issue with > non-base software documented. I was saying that being in the handbook > should have a required level of quality and abandoning it would cause > the quality to fall under that level. I have no disagreement with this at all. I semi-hijacked this thread to try to solve what I see as the deeper problem. Synth is, in some ways, an innocent bystander. :) My soapbox is that I see most software-management-related FreeBSD projects (like portmaster, portupgrade, Synth, etc.) as noble heroics that are executed in a relative vacuum by well-meaning and gifted folks who try to solve the problem as best they can at the level they can. Software management needs endorsement and requirements gathering from some high-powered people from all branches of FreeBSD development and usage. I want more for FreeBSD than can be accomplished at the wildcat level. The closest equivalent I can think of is freebsd-update, which was a one-man job by a very smart and very motivated person who understood the problem space well, and who executed it well enough for it to become part of base ... but even then, has failure modes and fragility that should have been addressed before it became part of base (and that I think would have been caught if the requirements had been identified up front by a broader (and better-funded) team). freebsd-update is great, but it could be better -- and it's the kind of thing that's so fundamental to an operating system that "if you think it should be better, send us a patch" indicates a significant misunderstanding of its importance. I feel the same way about software management. We can drop the topic and move on to the mechanics of getting people familiar with Synth and answering specific objections to its use. I genuinely hope that it does well. Royce