Adopt an orphaned port project

I'm now struggling on where to find the makefile as it isn't snatched anymore into my port tree.
You can get the files of the port from the FreeBSD git repositories web site. In case of the port in question, the last ports tree including the port would be the 2022Q2 quarterly ports tree. Open the files in a browser (choose 'plain', i.e. Makefile), save files. I suggest to get all files of the port, not only the Makefile, especially the patches under 'file'.

The ports location can be anywhere, a users home directory for example, as long as a updated ports tree is present to use its ports framework.

Can you provide advice on how to restore a port project?
Open a review at https://reviews.freebsd.org, or less preferred by port committers (as I recall), a PR at https://bugs.freebsd.org. In either way there should be a patch attached, even if it's not complete or doesn't work as expected.

We have a port committer here in forums, zirias@, who maybe want to add to the said.

For documentation, I'm sure you are aware of the Porters Handbook, I mention it here just in case.
 
I would happily help out but I don't know what I don't know, and I suspect my skill set would be lacking.

My worry is I'd make a mess of things and cause more work for others that know what they're doing.

Is there a bulleted list somewhere of pre-requisit knowledge and/or a tutorial to fill in knowledge gaps for anyone willing to help out?
 
My worry is I'd make a mess of things and cause more work for others that know what they're doing.
Party at home. Of course you're going to mess up, everyone does, especially at first. Just set up a computer you can mess with, even a virtual machine will do. Play around, destroy, break it, rebuild it, read some more, and try again. It's the only way to properly learn something.

Is there a bulleted list somewhere of pre-requisit knowledge and/or a tutorial to fill in knowledge gaps for anyone willing to help out?
Not really. Because there are sooo many different kind of ports. Some use C, some Go, some LUA, some even a combination of various different languages. Pick something you like and delve into its documentation. See what instructions are needed to actually build a bunch of source code into something a computer understands.
 
Is there a bulleted list somewhere of pre-requisit knowledge and/or a tutorial to fill in knowledge gaps for anyone willing to help out?
The preceding post (and the very first one, although a bit dated by now) pretty much covers all the references you'd need to get started. If you're serious about getting involved with ports, consider subscribing to the freebsd-ports mailing list. It's fairly low volume, but can be helpful if you get stuck.

Besides all that just look around in the ports tree to get a feel for how things are being done, and maybe avoid the more complicated ports (many patches, bespoke logic in the port's Makefile, etc.) when picking your first one to contribute to. Good luck!
 
I think that was asked already, but for the love of Beastie, I cannot find it.
How can I list all installed ports that don't have a maintainer?
 
r
How can I list all installed ports that don't have a maintainer?
For me it is just a matter of avoiding a (too) heterogenous environment: I chose FreeBSD for servers; then I do not want to maintain Linux desktops at the same time. I would not have chosen FreeBSD as desktops alone if it had not been for the servers.


Yes, it is an example in pkg-query(8)
Bash:
# List unmaintained packages:
pkg query -e '%m = ports@FreeBSD.org' %o
 
Hi All. recently retired FW engineer with 40 years of 'c' and assembly looking to keep busy, Most of my career was in HDD and SSD. Any thoughts on a port I could help maintain ?
 
It is always best to work on something that is interesting to yourself. For ports that roughly translates to "a port I am using is unmaintained, maybe I could maintain it?".
If you want to tackle a slightly bigger hurdle, there is always the WantedPorts list https://wiki.freebsd.org/WantedPorts
 
Anyone heard of sdl_sge? Simple line/pixel graphics on a SDL 1 surface on Xorg.. It's out of the tree for years but I still use it because I don't have time to change things that need it. It still works when added to a recent portstree with the distfile.
I could try to get it back in the portstree but I don't think anybody is interested, which probably is why it has deprecated.
Never tried to add a port. Looks like a lot of work. Isn't there a web-form send option for it that has to contain all required information?
 
Anyone heard of sdl_sge? Simple line/pixel graphics on a SDL 1 surface on Xorg.. It's out of the tree for years but I still use it because I don't have time to change things that need it. It still works when added to a recent portstree with the distfile.
I could try to get it back in the portstree but I don't think anybody is interested, which probably is why it has deprecated.
Never tried to add a port. Looks like a lot of work. Isn't there a web-form send option for it that has to contain all required information?
I'm not using the software, so replying in general.

First of all, there must be the upstream hosting distfile(s). GitHub and GitLab are OK, too, if wanted version(s) is/are properly tagged (without tag for wanted version, need to specify a commit, but it would be trickier). Without any of these, no one can fetch the distfile(s).

Here, for once existed but deleted ports, you'll need to request the deleted port(s) to be resurrected to properly inherit prior commit history. This would be to revert (part of) the commit that deleted it. Only ports committers can do it. File a PR on Bugzilla for it or open review on Phabricator with patch to revert the deletion (If rejected, you cannot go further). Some committer would accept GitHub pull request, too, but it's basically considered "trial" and the accounts are NOT managed by FreeBSD project unlike Bugzilla or Phabricator.

For Phabricator, this page would help how you can do it. The method using specific CLI tool is described first, but usage of web interface is described later.

Next, you need to prepare patch for the port. You need to read Porter's Handbook to see what's needed. The milage may vary depending on the port.
But as you said you can add back deleted ports locally with success, it would be relatively easy. Fitting with up-to-date ports framework and making yourself as the maintainer would be the minimum requirements (, if any,) to be considered to be re-added.

Once ready, file a PR or open review like done on requesting resurrection.

For brand-new ports, you need to hook it on category Makefile (if the port is to be graphics/foo, you need to add foo to graphics/Makefile), too. You need to include the part in your patch.

I've described how I create patch to submit here before.

And my example of review to add new ports in conjunction with upgrading existing ones is here.
 
The reason it was removed is because the upstream was gone.
Code:
$  grep ^devel/sdl_sge /usr/ports/MOVED
devel/sdl_sge||2021-12-31|Has expired: Upstream no longer maintained

There are active committers who are keen to remove the port, so a new upstream would be needed to resurrect it.

Edit: About deleting ports
Those who tried to make python 3.13 the default and remove 3.11 and 3.12 on 3/31
described the effort to make these ports compatible with 3.12 as a waste of time.
They don't seem to mind that a lot of ports are being removed.
Code:
Most problematic failures at the moment:

science/py-scipy@py312 -> 309 skipped
japanese/mozc-server -> 15 skipped
devel/pyside2@py312 -> 8 skipped
devel/py-yappi@py312 -> 6 skipped
textproc/dblatex -> 5 skipped
audio/aubio -> 5 skipped
x11-toolkits/ntk -> 4 skipped
security/py-python-nss@py312 -> 3 skipped
x11-fonts/py-compreffor@py312 -> 3 skipped
astro/gpsd@nox11 -> 3 skipped
math/py-pandas-datareader@py312 -> 2 skipped
devel/py-strenum@py312 -> 2 skipped
biology/py-pysam@py312 -> 2 skipped
devel/py-stdlib-list@py312 -> 2 skipped
Code:
Can we stop wasting time
 
And this caused revert and revert-the-revert war, finally denied officially.
The reason is explained here.
Note that Antoine is the person who is managing official exp-runs.
Is this why I have to remove py311-cython3 manually because it conflcts with another branch? I don't remember exact details but a Firefox build stops if it exists. It's installed as dependency of something else. I added the "make deinstall " for this to my system create script, which is kind of ugly but no problem.

I think the problem here starts with taking python3 and python311 as package names while the number is actually part of the version. Perl has this too sometimes.
 
Is this why I have to remove py311-cython3 manually because it conflcts with another branch?
Precisely, no, but something look alike.
Unlike python, different versions of cython conflicts each other.

As far as I know, switching default cython to cython3 was planned, and in preparation of it, lang/cython0 that is equivalent with previous lang/cython was created last year, then, lang/cython became the equivalent of lang/cython3 with deletion of lang/cython3 last month.
 
  • Thanks
Reactions: MG
Back
Top