From nobody Sat Jan 25 20:14:09 2025 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YgQr5129Yz5lrZl for ; Sat, 25 Jan 2025 20:14:13 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4YgQr43Tw7z3YFZ; Sat, 25 Jan 2025 20:14:12 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sdaoden.eu; s=citron; t=1737836050; x=1738502716; h=date:author:from:to:cc:subject: message-id:in-reply-to:references:mail-followup-to:openpgp:blahblahblah: mime-version:content-type:content-transfer-encoding:author:from:subject: date:to:cc:resent-author:resent-date:resent-from:resent-sender:resent-to: resent-cc:resent-reply-to:resent-message-id:in-reply-to:references: mime-version:content-type:content-transfer-encoding:content-disposition: content-id:content-description:message-id:mail-followup-to:openpgp: blahblahblah; bh=mQx4hq/p3WIUZ+nfLYsD2WLq5SctPrLbJ15hhoYExm0=; b=YSf1R9BGewzR5eic4ZR5Uo5EqzLsCHga7Br35+tVc8YHiwBlnKAovmClhZoYU/S+zc8Cb1Wg R+SBu8wIhwlQY+y/uul2uZqpM4hS7yd6iMViXFKvJplYbagMTr2Jdib4fP6euTl0+mEUweeJSU SNe+okK5wiMTlP9gT+ewEGySXorFtyzgIVNDHzmjLAAV3hpmrGdIbZvgs2KNpBgeMo0/xguG2V 02tqk41ySWn0Vye3A/LgUZ9kRuhqIp86Qz3e2z0SpBZX0T8j8QZozasOrpVWjT9Q9WNELX6lRO Wc0CqhuKfmdPt88eh8wwjbnBsnqLB2SHPNLzJ6KpdaE4kkSA== DKIM-Signature: v=1; a=adaed25519-sha256; c=relaxed/relaxed; d=sdaoden.eu; s=orange; t=1737836050; x=1738502716; h=date:author:from:to:cc:subject: message-id:in-reply-to:references:mail-followup-to:openpgp:blahblahblah: mime-version:content-type:content-transfer-encoding:author:from:subject: date:to:cc:resent-author:resent-date:resent-from:resent-sender:resent-to: resent-cc:resent-reply-to:resent-message-id:in-reply-to:references: mime-version:content-type:content-transfer-encoding:content-disposition: content-id:content-description:message-id:mail-followup-to:openpgp: blahblahblah; bh=mQx4hq/p3WIUZ+nfLYsD2WLq5SctPrLbJ15hhoYExm0=; b=xodinFMCOcV+bj5QOnZqa4KTrgSCNJ38yTxk12dlkpL5hV+tliM0CPHwaDzTJL1fCkFzkypy 7bYVSnGzMjkbDA== Date: Sat, 25 Jan 2025 21:14:09 +0100 Author: Steffen Nurpmeso From: Steffen Nurpmeso To: Warner Losh Cc: Florian Walpen , freebsd-current@freebsd.org, Gleb Smirnoff , bob prohaska Subject: Re: /usr/src and /usr/ports not git directories ? Message-ID: <20250125201409.zqiE6kao@steffen%sdaoden.eu> In-Reply-To: References: <8355934.G18vQ0XA4d@z240> <4081188.p4y8TspHLy@z240> <20250125175049.N9cIkQ__@steffen%sdaoden.eu> Mail-Followup-To: Warner Losh , Florian Walpen , freebsd-current@freebsd.org, Gleb Smirnoff , bob prohaska User-Agent: s-nail v14.9.25-637-gb6804e05e6-dirty OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4YgQr43Tw7z3YFZ X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15987, ipnet:217.144.128.0/20, country:DE] Warner Losh wrote in : |On Sat, Jan 25, 2025 at 10:50=E2=80=AFAM Steffen Nurpmeso |wrote: |> Florian Walpen wrote in |> <4081188.p4y8TspHLy@z240>: |>|On Thursday, January 23, 2025 4:38:16 AM CET Florian Walpen wrote: |>|> Installing the src tree as a non-git snapshot is useless for |> developers \ |>|> and |>|> people that update through src builds, I agree with that. My take is |> that |>|> installing the src tree is optional, giving a hint in the installer \ |>|> should |>|> be enough. There will be secondary steps anyway in this scenario, like |>|> installing the git executable and updating the src tree. As stated, we |>|> could simplify the post-install repo cloning through a Makefile. |>| |>|FWIW, I found the /usr/Makefile that is part of DragonflyBSD here: |> |> I *thought* the thing is also data reduction, you know. |> |> As in, if the source directory is simply tarballed, you have the |> full size but no git repository; if you want to update, you need |> to download the full new ball, even if the actual changes are only |> a few megabyte or so. (Or bsdiff(1)ed, but no such iirc.) |> |> If you have the git directory that it is, "fully" garbage |> collected, then this increases the size, but you can then simply |> update, merge --ff-only. But this is a large tarball. |> |> If you ship only the .git repository *without* a checkout, with |> a depth of 1, you get almost the same size as with the normal |> only-sources tarball, but you can use git to update very easily, |> with minimal bandwidth, you can use git to populate the complete |> history, etc. |> However, you need git to perform the initial checkout of the |> sources. git is large and git is not BSD/etc licensed. |> Thus: if you would have a minimal program that fetches the blob |> content out of a shallow, garbage-collected git clone, you have |> all the advantages, but none of the disadvantages. |> Problem is there is no such program. | |pkg add git isn't terrible. pkg add got is even smaller and should |work, but I've not double checked. | |Since moving to git, git has become 'table stakes' to do things |with the system. While we don't go out of our way to make 'got' not |work for simple things, we don't test it that often either. got has |a happy license, but an incompatible CLI and it's quite a bit less |capable than git, despite it's better license. Including it in base has |a lot of issues beyond the git import (how much of our git instructions |do we update to include it in our docs, for example). | |So it's possible to extract things w/o GPL'd code, it would be very |much a niche thing for the relatively few people that care. Everybody |else would take 'the paved path' of git and not give it a second thought. |I think the projects limited resources would be best spent by doing this |and allowing the purists to be able to do it if they wanted, while not |saddling everybody else with a tool they aren't familiar with. In a world |where we have infinite resources, we could do the training and education |needed for got, but pragmatically, I think got or any other git-alternati= ve |path is too much of a hassle for too many people to be a viable option |any time soon. That is where i started with the way i do it for myself, with "git checkout $(cat NULL)"; this NULL could in FreeBSD be a file README that states something like "make checkout" or so ... Even though that smells like DragonFly BSD then :) I install git on my FreeBSDs, so this is not about me. (Since i track FreeBSD source i can very well use git archive to get the sources from "the inside", if desired. Having a file that contains the branch name in src/ would allow automatization of that even.) It was only a suggestion... Ciao, --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) | |In Fall and Winter, feel "The Dropbear Bard"s pint(er). | |The banded bear |without a care, |Banged on himself for e'er and e'er | |Farewell, dear collar bear