Skip to content

Add new category fs for file systems#302

Closed
clausecker wants to merge 1 commit into
freebsd:mainfrom
clausecker:fs
Closed

Add new category fs for file systems#302
clausecker wants to merge 1 commit into
freebsd:mainfrom
clausecker:fs

Conversation

@clausecker
Copy link
Copy Markdown
Contributor

@clausecker clausecker commented Sep 29, 2024

This patch set adds a new category fs for file systems and file system utilities. The new category is populated with some 126 ports (that's more than x11-clocks!) that look like they might be file-system related.

I was motivated to add this new category when I noticed that many FUSE file systems were shipped as ports named sysutils/fusefs-$foo, making sysutils/fusefs- a pseudo-category for FUSE filesystems. If that's the (anti) pattern, why not make it offical and add a true category for file system ports? Turns out there are a lot more than one might think.

I hope that with this move, we can reduce the load on devel and sysutils (the two most popular misspellings of misc) and make file-system related ports easier to find.

If accepted, this'll be the first new physical category since c5978f0 of 2007-05-19 to be added.

For a full list of affected ports, see the list of commits attached to this PR. If you would like to not have your port moved to fs, please comment or send me an email.

Note that this PR is still wip and will be reviewed, exp-ran, etc. before being committed.

@metalefty
Copy link
Copy Markdown
Member

I personally like that idea. That sounds reasonable because there are more ports than x11-clocks. BTW, I like filesystem(s) more than fs.

@rosorio
Copy link
Copy Markdown
Contributor

rosorio commented Sep 30, 2024 via email

@yurivict
Copy link
Copy Markdown
Member

+1 I like this idea too.

@Jehops
Copy link
Copy Markdown
Member

Jehops commented Oct 2, 2024

Robert, as we discussed in Dublin, I generally think creating a new fs category for filesystems is a good idea. However, I'm on the fence about moving utilities such as sysutils/zrepl or sysutils/zfs-snapshot-mgmt. If others agree that also moving those ports is beneficial, then we should make it clear in the comment in fs/Makefile that utilities related to filesystems also belong there.

Here are a few more for you:

commit 230cb49ccce5a79985875ad16e36da0b8f9e8c52
Author:     Emanuel Haupt <ehaupt@FreeBSD.org>
AuthorDate: 2024-10-02 07:52:13 +0000
Commit:     Emanuel Haupt <ehaupt@FreeBSD.org>
CommitDate: 2024-10-02 07:52:32 +0000

    sysutils/fusefs-mergerfs: Add new port
    
    mergerfs is a union filesystem geared towards simplifying storage and
    management of files across numerous commodity storage devices. It is
    similar to mhddfs, unionfs, and aufs.
  1. (If we decide fs utilities should also be moved)
% cat sysutils/zap/pkg-descr
Maintain and replicate ZFS snapshots

zap automates the management of zfs snapshots.  With a few, simple
crontab entries, it can be used to create a comprehensive zfs backup
system.  There are no configuration files.  All parameters are supplied
on the command line or in zfs properties and all snapshot information
is stored in snapshot names.

zap plays nice with manually created snapshots or snapshots from other
tools.  It will only operate on snapshots it creates.
@clausecker
Copy link
Copy Markdown
Contributor Author

@Jehops Thank you for your concerns.

The current comment was supposed to read:

COMMENT = File systems and utilities

but I must have dropped the second half during copy editing. I'll restore that in my next push. I am open to having a category for only file system drivers, but I would prefer to also put the fs utilities in there. We could also add two categories: one for file system drivers and one for associated utilities (e.g. fsutil or fs-mgmt).

I'll go add the other two ports, too.

@Jehops
Copy link
Copy Markdown
Member

Jehops commented Oct 2, 2024

COMMENT = File systems and utilities

Taking inspiration from existing comments, how about File systems and related utilities?

games/Makefile    COMMENT = Games and related software
databases/Makefile    COMMENT = Databases and related software
finance/Makefile    COMMENT = Monetary, financial, and related applications
@clausecker
Copy link
Copy Markdown
Contributor Author

@Jehops Yeah sure, works for me. I'll put that in with my next edit.

@diizzyy
Copy link
Copy Markdown
Contributor

diizzyy commented Oct 6, 2024

Why this is submitted to GitHub? It's not a supported way of submitting patches (see Porters Handbook). Submit it to bugzilla and continue the discussion there.

@clausecker
Copy link
Copy Markdown
Contributor Author

@Diizzy We do process pull requests against ports.

I have submitted this change set like this as it's much easier to review the 137 individual ports affected than it would be with a big patch on Phabricator or Bugzilla.

@bsdimp
Copy link
Copy Markdown
Member

bsdimp commented Oct 6, 2024

@diizzyy Other than "the rules" is there some good reason not do it here? It seems to have generated a reasonable amount of feedback so far.

@diizzyy
Copy link
Copy Markdown
Contributor

diizzyy commented Oct 6, 2024

@bsdimp A lot more eyes and participants on bugzilla (and indirectly mailing lists), there's little to no involvement/interraction with most of the community including committers etc on GitHub.

@bsdimp
Copy link
Copy Markdown
Member

bsdimp commented Oct 6, 2024

@diizzyy And bugzilla is the worst tool ever to review changes (even worse than phabricator). It's barely adequate as a conveyer belt for submissions. Github is much better, and can as easily be references in other forum as bugzilla. The current bugzilla workflow is unustainable, imho, and requires too much extra work. fuz's changes likely need detailed commentary, for which bugzilla is ill suited to do on a change this large. It can't handle 10 commits in one go, let alone 140. Since it is an imperfect fit, fuz will also need to seek review elsewhere (which I thought I'd seen an email go by that did), true, but going to bugzilla is setting him up to fail because it would be such a bad tool for a change like this.

@yurivict
Copy link
Copy Markdown
Member

yurivict commented Oct 6, 2024

And bugzilla is the worst tool ever to review changes [...]

This is off-topic here, but you probably have never seen Jira that is used by many companies.
Compared to Jira, Bugzilla is a totally sane and pleasant tool.


The key to your submission is not the exact list of ports, but the portmgr approval.
You need to contact somebody in the portmgr team and ask for approval.

Here is my proposal for the physics and chemistry categories from 2018 which is still not approved: https://reviews.freebsd.org/D13481

The FreeBSD Portmgr is a bit slow, don't you think?

@clausecker
Copy link
Copy Markdown
Contributor Author

@yurivict My original email went to ports@ as well as portmgr@ and explicitly asked for approval. I hope that suffices. If not, I'll bug portmgr some more (I encourage you to do the same about your proposal).

@diizzyy
Copy link
Copy Markdown
Contributor

diizzyy commented Oct 9, 2024

@bsdimp
Your personal preferrence is another topic as Yuri pointed out. The main issue is that this isn't a supported way of doing submissions, notifying people etc.

@bsdimp
Copy link
Copy Markdown
Member

bsdimp commented Oct 10, 2024

@bsdimp Your personal preferrence is another topic as Yuri pointed out. The main issue is that this isn't a supported way of doing submissions, notifying people etc.

Yes. And that's a problem too. The ossified FreeBSD processes aren't helpung the project.

@clausecker
Copy link
Copy Markdown
Contributor Author

I have just requesed an exp-run on Bugzilla: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281988

@mat813
Copy link
Copy Markdown
Member

mat813 commented Oct 18, 2024

Please rename the category from fs to filesystems

@clausecker
Copy link
Copy Markdown
Contributor Author

@mat813 That's really quite a mouthful. Should we also rename sysutils to system-utilities? Or devel to development? I would like to avoid such a long category name. FS is a well known and unambiguous acronym, so I think it's fine as a category name.

@diizzyy
Copy link
Copy Markdown
Contributor

diizzyy commented Oct 18, 2024

As much as fs is likely to be obvious for advanced users using really short acronyms can also cause unnecessary confusion.
OpenWrt for example also uses the full name, https://github.com/openwrt/packages/blob/master/utils/exfatprogs/Makefile#L24

@dlangille
Copy link
Copy Markdown
Contributor

dlangille commented Oct 19, 2024

I too prefer filesystems over fs.

EDIT: I've changed my mind, given the project is already using fs for the filesystem mailing list.

@Jehops
Copy link
Copy Markdown
Member

Jehops commented Oct 19, 2024

I argue that using fs to describe the category follows precedence more than filesystems.

The closest word to file systems in an existing category is windows managers, and we use wm for that category. Using fs to describe a file system is so common it's in the first sentence of the File Systems Wikipedia page.

@dlangille
Copy link
Copy Markdown
Contributor

dlangille commented Oct 19, 2024

I argue that using fs to describe the category follows precedence more than filesystems.

The closest word to file systems in an existing category is windows managers, and we use wm for that category. Using fs to describe a file system is so common it's in the first sentence of the File Systems Wikipedia page.

I concede.

EDIT: we have a mailing list: fs[@]freebsd[.]org - https://lists.freebsd.org/archives/freebsd-fs/

@clausecker
Copy link
Copy Markdown
Contributor Author

@mat813 @Jehops @dlangille So, what do we do about this one? Typing out filesystems makes me sad...

@mat813
Copy link
Copy Markdown
Member

mat813 commented Oct 20, 2024

Please name the category filesystems.

@clausecker
Copy link
Copy Markdown
Contributor Author

Rebased onto ab6304e.

@mat813
Copy link
Copy Markdown
Member

mat813 commented Oct 30, 2024

Can you request an exp-run so we make sure everything is squared away, and if it comes back without problems and nothing new comes up here, feel free to commit it.

@mat813
Copy link
Copy Markdown
Member

mat813 commented Oct 30, 2024

Oh, before you land this, please squash it all into a single commit.

@clausecker
Copy link
Copy Markdown
Contributor Author

@mat813 Are you sure? I specifically made it a bunch of individual commits so it's easy to move individual ports back if desired. Note that each of the commits is self-contained.

@mat813
Copy link
Copy Markdown
Member

mat813 commented Oct 30, 2024

Please squash it all.
Also, make sure the tree is not broken with running at least make index.

@clausecker
Copy link
Copy Markdown
Contributor Author

@mat813 I have verified that make index is fine, as is a poudriere bulk -an dry-run (which should pick up any dangling dependencies).

clausecker added a commit to clausecker/freebsd-ports that referenced this pull request Nov 5, 2024
The filesystems category houses file systems and file system utilities.
It is added mainly to turn the sysutils/fusefs-* pseudo-category into
a proper one, but is also useful for the sundry of other file systems
related ports found in the tree.

Ports that seem like they belong there are moved to the new category.

Approved by:	... (portmgr)
Pull Request:	freebsd#302
PR:		281988
@clausecker
Copy link
Copy Markdown
Contributor Author

Updated to just one squashed commit as requested.

Note that I'll likely have to rebase the patch set again before landing it, and that's much easier to do on the non-squashed patch set, so when landing, I will first rebase the unsquashed patch set and then squash it again before landing.

@dlangille
Copy link
Copy Markdown
Contributor

Updated to just one squashed commit as requested.

Note that I'll likely have to rebase the patch set again before landing it, and that's much easier to do on the non-squashed patch set, so when landing, I will first rebase the unsquashed patch set and then squash it again before landing.

Do you have an ETA on landing please?

@clausecker
Copy link
Copy Markdown
Contributor Author

@dlangille I plan to land this one the instant I get portmgr approval. There is nothing else left to do.

@rene0
Copy link
Copy Markdown
Member

rene0 commented Nov 6, 2024

Approved with portmgr hat on

@clausecker clausecker self-assigned this Nov 6, 2024
The filesystems category houses file systems and file system utilities.
It is added mainly to turn the sysutils/fusefs-* pseudo-category into
a proper one, but is also useful for the sundry of other file systems
related ports found in the tree.

Approved by:	portmgr (rene)
Reviewed by:	mat
Pull Request:	freebsd#302
PR:		281988
@clausecker
Copy link
Copy Markdown
Contributor Author

Will remove the following two ports from the patch set: funionfs, fusepak. This is because they don't have TIMESTAMP in their distinfo and they don't fetch, so I can't regenerate distinfo. Both are slated for removal, so I guess it's fine.

freebsd-git pushed a commit that referenced this pull request Nov 6, 2024
The filesystems category houses file systems and file system utilities.
It is added mainly to turn the sysutils/fusefs-* pseudo-category into
a proper one, but is also useful for the sundry of other file systems
related ports found in the tree.

Ports that seem like they belong there are moved to the new category.
Two ports, sysutils/fusefs-funionfs and sysutils/fusefs-fusepak are
not moved as they currently don't fetch and don't have TIMESTAMP set
in their distinfo, but that is required to be able to push a rename
of the port by the pre-receive hook.

Approved by:	portmgr (rene)
Reviewed by:	mat
Pull Request:	#302
PR:		281988
@clausecker
Copy link
Copy Markdown
Contributor Author

Closed by 6e2da96.

@clausecker clausecker closed this Nov 6, 2024
netgate-git-updates pushed a commit to pfsense/FreeBSD-ports that referenced this pull request Nov 7, 2024
Go ports encode the ports category in their DISTDIR_SUBDIR.  Regenerate
distinfo following a move of the ports.  Checksums remain the same.

Reported by:	olgeni
Approved by:	portmgr (infrastructure blanket)
Pull Request:	freebsd/freebsd-ports#302
PR:		281988
Fixes:		6e2da96
freebsd-git pushed a commit that referenced this pull request Nov 8, 2024
A copy paste error from when the patch set was reworked to name the
category "filesystems" instead of "fs."

Reported by:	danfe
Fixes:		6e2da96
Pull Request:	#302
PR:		281988
@bdrewery
Copy link
Copy Markdown
Member

bdrewery commented Nov 13, 2024

I'm in a minority here but don't like this kind of moving chairs change.

  • Some of us use "meta packages" that have RUN_DEPENDS on specific packages. Poudriere doesn't support MOVED there (no tool does). I'll consider adding support. In the meantime I have to duplicate every port and use .if exists checks.
  • Most ports reasonably could have multiple categories. What's a filesystem category that's not a sysutils? My port zfstools fits both. Are we nuking sysutils?
  • "src-mgmt" is coming next, again every single tool going into there also fits in "devel", so what benefit is there?
  • I don't see the motivation. What benefit does it bring? I used to be able to identity fusefs ports with echo */*fusefs* but now can't with that, so it's back to freshports or git grep anyway.
  • POLA used to mean something. This kind of thing and renaming services s/-/_/g just creates downstream problems.
  • This is changing decades old naming schemes for what benefit? It only creates mental work.
  • Forces rebuilds.

Complainers don't always show up in a PR. This change hasn't even hit quarterly yet.

grahamperrin added a commit to grahamperrin/freebsd-src that referenced this pull request Dec 27, 2024
RIP sysutils/fusefs-smbnetfs, one of 142 moves that arose from
freebsd/freebsd-ports#302 and base 6e2da9672f79
on 2024-11-06. This one involved a change of name in addition to the
change of category.

Instead, advise users to evaluate filesystems/smbnetfs.

MFC after:      1 day
@grahamperrin
Copy link
Copy Markdown
Contributor

I'm in a minority here but don't like this kind of moving chairs change.

… Complainers don't always show up in a PR. This change hasn't even hit quarterly yet.

I'm not averse to change, however (in a future ideal world) there should be broader planning – including src (at least, manual pages), not forgetting Bugzilla and FreshPorts (its bug-finder icon) – before move-related commits such as this.

That's an ideal world. I'm not complaining about reality :-)

Thanks

mikhailmaximov added a commit to mikhailmaximov/zfs-stats that referenced this pull request Apr 7, 2025
This port was moved into a new category `filesystems`
freebsd/freebsd-ports#302
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment