Re: Reorganizing FreeBSD Ports Directory Structure for Non-X Window Managers and Wayland Support

From: NSD <nsd_at_nantahala.systems>
Date: Fri, 28 Jul 2023 20:31:19 UTC
Thank you for sharing your feedback and concerns regarding the proposed changes to the FreeBSD Port directories. I appreciate your input, and it's crucial to consider all perspectives before making any modifications.

I understand that the Porter's Handbook recommends against adding new physical categories, and this is a valid point. We must carefully consider the challenges associated with introducing new categories, ensuring consistency, and avoiding confusion.

You mentioned that certain Wayland compositors also function as X11 window managers, like plasma5-kwin, kwinft, mutter, and enlightenment. This highlights the complexity of categorization. Indeed, accommodating both X11 and Wayland managers within separate directories might not be straightforward and could lead to complications.

I recognize the importance of keeping the directory structure intuitive and user-friendly to adhere to the Principle of Least Astonishment (POLA). Nested physical categories could potentially cause confusion and disrupt existing workflows, which is something we should avoid.

You suggested an alternative approach, advocating for tagging through virtual categories, which offers more flexibility and discoverability. I find the examples from Gentoo with "gui-wm" and PkgSrc with "wm" categories interesting, as they encompass both X11 window managers and Wayland compositors.

I completely understand your point about the challenge of finding the correct category for ports, even for non-Wayland ones. The primary goal of any directory reorganization should be to simplify the process and make it more intuitive for users.

Given your reservations and the complexities involved, I encourage further discussions to find a solution that meets the needs of the community while minimizing potential disruptions.

Thank you once again for sharing your thoughts on this matter.

Kind Regards,
NSD


On Thu, Jul 27, 2023, at 5:21 AM, Jan Beich wrote:
> NSD <nsd@nantahala.systems> writes:
> 
> > Dear All,
> >
> > FreeBSD could benefit from reorganizing its directory structure to
> > accommodate non-X Window managers more effectively. Currently, these
> > managers are all placed under the "x11" directories, which may not
> > accurately represent their nature.
> 
> - Porter's Handbook recommends against[1] adding new physical categories
> - Some Wayland compositors are also X11 window managers: plasma5-kwin,
>   kwinft, mutter and, probably, enlightment
> 
> [1] https://docs.freebsd.org/en/books/porters-handbook/makefiles/#proposing-categories
> 
> > A more intuitive approach could be to introduce a new "display" directory that encompasses various display managers. Here's a proposed reorganization:
> >
> > display/
> >   ├─ x11/
> >   │   └─...
> >   │
> >   ├─ wayland/
> >   │   ├─ wayland-wm/
> >   │   └─ ...
> >   │
> >   └─ arcan/
> >       └─ arcan-wm/
> >           └─ durden/
> 
> - Nested physical categories are a POLA violation (going to confuse and break lots of stuff)
> - Tagging is more flexible and discoverable and is already done via virtual categories
> - Gentoo uses "gui-wm" while PkgSrc uses "wm" for both X11 window managers
>   and Wayland compositors; for example, x11* can be renamed to gui*
> 
> Anyway, I'm not interested. I already struggle to find the correct
> category even for non-Wayland ports.
>