Date: Mon, 10 Dec 2012 17:29:29 +0100 From: Lars Engels <lars.engels@0x20.net> To: ports@FreeBSD.org Subject: Adopt an orphaned port project Message-ID: <20121210162929.GC69108@e-new.0x20.net>
next in thread | raw e-mail | index | archive | help
--b5/uck/n8NLik0w1 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Since the ports tree is now open again, let's start the "Adopt an orphaned = port" project. =3D=3D=3D What is it? =3D=3D=3D According to http://freshports.org/ we currently have 23,940 ports in our t= ree, that's really great! But: There are 4,751 unmaintained ports (approx. 20%), that need _your_ lov= e. =3D=3D=3D What can I do? =3D=3D=3D Adopt one or more ports! You think it's a lot of work?=20 That's not necessarily the case, the ports are already there and just need someone to track the latest upstream versions and someone who keeps the por= t in a good shape. =3D=3D=3D How do I know which ports are unmaintained? =3D=3D=3D Thats pretty easy: If you want a list of all unmaintained ports, run # nawk -F"|" '$6 =3D=3D "ports@FreeBSD.org" {print $2}' /usr/ports/INDEX-`u= name -r |\ cut -d'.' -f1` If you want to see which of your installed ports are unmaintained run a) for pkgng # pkg query -e "%m =3D=3D 'ports@FreeBSD.org'" %o b) for pkg_* --- 8< ---- 8< ---------- 8< --------- 8< -------- 8< - #!/bin/sh INDEX=3D"/usr/ports/INDEX-$(uname -r | cut -d'.' -f1)" MAINTAINER=3D"ports@FreeBSD.org" grep -h ORIGIN /var/db/pkg/*/+CONTENTS | cut -d: -f2 | nawk -v INDEX=3D"$INDEX" -v MAINTAINER=3D"$MAINTAINER" \ '{ installed_ports[$0] =3D 1 } END { FS=3D"|" while (getline < INDEX) { if ($6 =3D=3D MAINTAINER) { sub(/\/usr\/ports\//, "", $2) unmaintained_ports[$2] =3D 1=20 }; } for (port in installed_ports) { if (unmaintained_ports[port]) { print port } } }' | sort --- 8< ---- 8< ---------- 8< --------- 8< -------- 8< - =3D=3D=3D What can I do then? =3D=3D=3D Pick a port, take a look at the port's Makefile and pkg-descr, see if a new version is avaiable upstream, check if the WWW line in pkg-descr still poin= ts to a valid site. Check for broken distfile mirrors, take a look at http://people.freebsd.org/~ehaupt/distilator/ports@FreeBSD.org-bad.html Find other mirrors, or mirror the distfiles yourself, remove the dead mirro= rs =66rom the port's Makefile. Try to update the port to the new version, add yourself as MAINTAINER in the Makefile. If the updated port works, create a patchfile and send a problem report (PR) with send-pr(1) or via the web interface http://www.freebsd.org/send-pr.html All you need then is some patience until some committer grabs the PR and eventually commits it or ask you to re-work the patch, if there are some is= sues left. =3D=3D=3D I'd really like to do that, but how do I actually do it? =3D=3D=3D There's very good documentation for porters: The porter's handbook: http://www.freebsd.org/doc/en/books/porters-handbook/ Don't worry. It's called a book, but it's not a very thick book. Even so it explains porting very good. While it's recommended to read the whole book you can also pick the chapters first that you need to update the port. If you still have problems or questions then, there are many helpful people= at the ports@FreeBSD.org mailing list. =3D=3D=3D What benefits do I have? =3D=3D=3D Actually there a several benefits: - You give something back to the community. That's the idea of open source. - You earn experience with Makefiles, diff(1), patch(1) and other useful to= ols. - You and everyone benefits from updated ports - Your names get added to the list of FreeBSD Contributors http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributors/index.ht= ml - If you create enough PRs and maintain a bunch of ports, it's quite possib= le that you get punished with a ports commit bit! \o/ --b5/uck/n8NLik0w1 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlDGDekACgkQKc512sD3afh5SQCdFgjoChEDUh1jefRVdAyTXs4l tswAn2ww8w+it5FO0z+IdnilCVte5muk =sx84 -----END PGP SIGNATURE----- --b5/uck/n8NLik0w1--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121210162929.GC69108>