> On May 8, 2025, at 13:29, Bojan Petrovic <[email protected]> wrote:
> 
> Hello Moin,
> 
> On Thu, May 8, 2025, at 12:32 PM, Moin Rahman wrote:
>> It was about building your own packages with your own options —
>> but in a way that’s reproducible and supportable. That’s how you get reliable
>> behavior, avoid stale /var/db/ports artifacts, and report bugs that 
>> developers
>> can actually triage.
> 
> Do you think that the Handbook should be updated to discourage direct use of 
> make, or at least, suggest using poudriere for building packages for which 
> you need to file bug reports?
> 
> Best regards,
> Bojan

That’s a fair question, and yes — I do think the Handbook should be updated to
recommend poudriere, or at least clarify when it's expected, especially for bug
reporting. But it’s important not to conflate that with discouraging make.

Using make directly is still a valid and essential part of the FreeBSD ports
workflow. Developers do it all the time for quick testing, local verification,
and small or obvious changes — version bumps, COMMENT or LICENSE adjustments,
distinfo updates, things like that. For these kinds of changes, especially when
handled by someone who knows what they’re doing, poudriere isn't always
necessary. It’s entirely reasonable to test those using make install or even
just make stage && make check-plist. Even I use it regularly to bootstrap
systems for airgapped environment from Ground 0.

Where things break down is when users file bug reports involving build failures,
OPTIONS handling, or upgrade issues from systems that have been evolving for
months — or even years — using make reinstall, mixed pkg and portmaster
workflows, stale trees, or forgotten OPTIONS settings. Those kinds of
environments are effectively unbounded: no two systems are alike, and the state
can’t be replicated reliably. In those cases, poudriere isn’t just a nice to
have — it’s the only way a maintainer can be sure they’re seeing the same thing
the reporter saw.

This is why poudriere is important. It’s not about making things harder — it’s
about providing a clean, reproducible environment that allows us to verify and
debug issues in a controlled way. FreeBSD itself uses poudriere to build every
package in the official repositories. It supports custom OPTIONS, multiple
jails, and full dependency resolution in an auditable way. When someone says
“this fails in poudriere with these options, on a fresh tree,” we can do
something with that. When someone says “I ran make reinstall and now it breaks,”
we have to start from scratch.

So yes, the Handbook should be clearer. make is still perfectly fine for many
tasks, and nobody is saying otherwise. But when users report bugs — especially
those that expect maintainers to investigate and act — they should be expected
to validate the issue using poudriere or a similarly clean method. That’s not
gatekeeping — it’s just the only sustainable way to ensure we’re all speaking
the same language when something goes wrong.

Kind regards,
Moin

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to