Skip site navigation (1)Skip section navigation (2)
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>