Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 May 2025 07:56:38 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Alexander Ziaee <ziaee@freebsd.org>
Cc:        Dave Cottlehuber <dch@freebsd.org>, freebsd-current <freebsd-current@freebsd.org>, doc <doc@freebsd.org>,  emaste <emaste@freebsd.org>
Subject:   Re: Updating build and jail manual pages to include missing or obscure information
Message-ID:  <CANCZdfq2saGd0TkNZnPW3u-FFznncQ4c8FLu2VjRHhwnAtpLqg@mail.gmail.com>
In-Reply-To: <E1uI68z-00029a-NI@rmmprod05.runbox>
References:  <2d6ef406-2a4e-4876-b784-e9ad5a0e11be@app.fastmail.com> <E1uI68z-00029a-NI@rmmprod05.runbox>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
On Thu, May 22, 2025, 7:40 AM Alexander Ziaee <ziaee@freebsd.org> wrote:

> On 2025-05-22 02:05 -04:00 EDT, "Dave Cottlehuber" <dch@FreeBSD.org>
> wrote:
> > On Tue, 20 May 2025, at 21:17, Billiam Crashkopf wrote:
> >> Hello all,
> >>
> >> I recently had a bit of trouble finding the proper make targets to
> build
> >> and install the base FreeBSD system from source into an empty directory
> >> for use in a jail.  I had scoured the build(7) manual trying to find
> the
> >> right workflow, but was unable to come up with a solution based solely
> >> on the information available. After some discussion on the forum it was
> >> discovered that the answer was in fact in the jail(8) manual, under the
> >> Examples section.  However, the make targets listed in the jail(8)
> >> manual are not documented in the build(7) manual.   I'd like to open a
> >> discussion around updating the documentation to make the correct
> >> information easier to find.  Specifically:
> >>
> >>    * Should the 'world' and 'distribution' targets, and examples of
> >> their use, be included in the build(7) manual?
>
> There seems to be a rough consensus that we should remove the world and
> kernel targets.
>
> https://reviews.freebsd.org/D50276
>
> I like them, the workflow listed in jail(8) is massively simpler and
> faster than the current recommended workflow of building a pkgbase jail.
>

I object to removing these. I do agree we should document other methods,
but my spidt sense is this is still in use...

>>    * Is the workflow listed in the jail(8) manual currently correct?
> >> Should it cross-reference the build(7) manual?  Is there a way to make
> >> the information more discoverable?
>
> For a long time, build(7) said to read src/UPDATING.
> I think for discoverability and maintainability, we should put all the
> examples on build(7)ing the system in the examples section of build(7), and
> then reference that everywhere.
>

We recommended that to make sure people read the entries. So i wouldn't
remove that, but it might make sense to trim but not remove it from
UPDATING. Users only need to have more/vi working, and not man and all the
things it calls.

That will be much easier to maintain, and the documentation on the targets
> and variables is already there.
>

We had a lot in Makefile to cope with a lot of churn in the early days.
Plus having the docs with the code is quite helpful when trying to rebuild
a system. Maybe things are settled enough we can move. Maybe the weight
given to the rebuild the system can be reduced, but I worry that when
things go wrong with an upgrade this may get in the way.


>>    * Is it worth adding these instructions, or a reference to them, to
> >> the Handbook?
>
> I would like there to be a reference and not doc that will get stale. It
> is very hard to maintain all the duplicated information.
>

Most of it should be in the handbook, despite the duplication. Especially
the examples. The whole purpose of the handbook is to do the explaining,
and a lot of the stuff in build(7) more properly belongs there.... snd that
dynamic is another reason UPDATING and Makefile* have had a lot of this
traditionally. I don't think it's as binary as you suggest.

Warner

Warner

>> For reference, the original discussion is here:
> >>
> https://forums.freebsd.org/threads/installing-world-into-an-empty-jail.97866/
> >>
> >> My intent is to file PRs for any changes and, if it would be helpful,
> >> draft edits.
> >>
> >> Thanks,
> >>
> >> Bill
> >
> > Hi Bill
> >
> > yes to all of those I think.
> >
> > I believe Alex is doing some work in this area already, I'm happy
> > to help as a reviewer btw despite my lack of knowledge of manpage
> > macros.
>
> Hey, thanks for cc'ing me! Yes I am working on this; everyone is invited
> and here's what I've got so far:
>
> https://reviews.freebsd.org/D48693
>
> I have the manpage macros down; the issue is "what is the correct practice
> that we want to be recommending?" and "what examples should we have or not
> have?".
>
> Best,
> Alex
>

[-- Attachment #2 --]
<div dir="auto"><div><br><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, May 22, 2025, 7:40 AM Alexander Ziaee &lt;<a href="mailto:ziaee@freebsd.org">ziaee@freebsd.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2025-05-22 02:05 -04:00 EDT, &quot;Dave Cottlehuber&quot; &lt;dch@FreeBSD.org&gt; wrote:<br>
&gt; On Tue, 20 May 2025, at 21:17, Billiam Crashkopf wrote:<br>
&gt;&gt; Hello all,<br>
&gt;&gt;<br>
&gt;&gt; I recently had a bit of trouble finding the proper make targets to build <br>
&gt;&gt; and install the base FreeBSD system from source into an empty directory <br>
&gt;&gt; for use in a jail.  I had scoured the build(7) manual trying to find the <br>
&gt;&gt; right workflow, but was unable to come up with a solution based solely <br>
&gt;&gt; on the information available. After some discussion on the forum it was <br>
&gt;&gt; discovered that the answer was in fact in the jail(8) manual, under the <br>
&gt;&gt; Examples section.  However, the make targets listed in the jail(8) <br>
&gt;&gt; manual are not documented in the build(7) manual.   I&#39;d like to open a <br>
&gt;&gt; discussion around updating the documentation to make the correct <br>
&gt;&gt; information easier to find.  Specifically:<br>
&gt;&gt;<br>
&gt;&gt;    * Should the &#39;world&#39; and &#39;distribution&#39; targets, and examples of <br>
&gt;&gt; their use, be included in the build(7) manual?<br>
<br>
There seems to be a rough consensus that we should remove the world and kernel targets.<br>
<br>
<a href="https://reviews.freebsd.org/D50276" rel="noreferrer noreferrer" target="_blank">https://reviews.freebsd.org/D50276</a><br>;
<br>
I like them, the workflow listed in jail(8) is massively simpler and faster than the current recommended workflow of building a pkgbase jail.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I object to removing these. I do agree we should document other methods, but my spidt sense is this is still in use...</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
&gt;&gt;    * Is the workflow listed in the jail(8) manual currently correct?  <br>
&gt;&gt; Should it cross-reference the build(7) manual?  Is there a way to make <br>
&gt;&gt; the information more discoverable?<br>
<br>
For a long time, build(7) said to read src/UPDATING.<br>
I think for discoverability and maintainability, we should put all the examples on build(7)ing the system in the examples section of build(7), and then reference that everywhere.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">We recommended that to make sure people read the entries. So i wouldn&#39;t remove that, but it might make sense to trim but not remove it from UPDATING. Users only need to have more/vi working, and not man and all the things it calls.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
That will be much easier to maintain, and the documentation on the targets and variables is already there.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">We had a lot in Makefile to cope with a lot of churn in the early days. Plus having the docs with the code is quite helpful when trying to rebuild a system. Maybe things are settled enough we can move. Maybe the weight given to the rebuild the system can be reduced, but I worry that when things go wrong with an upgrade this may get in the way.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
&gt;&gt;    * Is it worth adding these instructions, or a reference to them, to <br>
&gt;&gt; the Handbook?<br>
<br>
I would like there to be a reference and not doc that will get stale. It is very hard to maintain all the duplicated information.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Most of it should be in the handbook, despite the duplication. Especially the examples. The whole purpose of the handbook is to do the explaining, and a lot of the stuff in build(7) more properly belongs there.... snd that dynamic is another reason UPDATING and Makefile* have had a lot of this traditionally. I don&#39;t think it&#39;s as binary as you suggest.</div><div dir="auto"><br></div><div dir="auto">Warner</div><div dir="auto"><br></div><div dir="auto">Warner</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
&gt;&gt; For reference, the original discussion is here: <br>
&gt;&gt; <a href="https://forums.freebsd.org/threads/installing-world-into-an-empty-jail.97866/" rel="noreferrer noreferrer" target="_blank">https://forums.freebsd.org/threads/installing-world-into-an-empty-jail.97866/</a><br>;
&gt;&gt;<br>
&gt;&gt; My intent is to file PRs for any changes and, if it would be helpful, <br>
&gt;&gt; draft edits.<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt;<br>
&gt;&gt; Bill<br>
&gt; <br>
&gt; Hi Bill<br>
&gt; <br>
&gt; yes to all of those I think.<br>
&gt; <br>
&gt; I believe Alex is doing some work in this area already, I&#39;m happy<br>
&gt; to help as a reviewer btw despite my lack of knowledge of manpage<br>
&gt; macros.<br>
<br>
Hey, thanks for cc&#39;ing me! Yes I am working on this; everyone is invited and here&#39;s what I&#39;ve got so far:<br>
<br>
<a href="https://reviews.freebsd.org/D48693" rel="noreferrer noreferrer" target="_blank">https://reviews.freebsd.org/D48693</a><br>;
<br>
I have the manpage macros down; the issue is &quot;what is the correct practice that we want to be recommending?&quot; and &quot;what examples should we have or not have?&quot;. <br>
<br>
Best,<br>
Alex<br>
</blockquote></div></div></div>
home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfq2saGd0TkNZnPW3u-FFznncQ4c8FLu2VjRHhwnAtpLqg>