## page was renamed from PortsTasks

This is a list of ports tasks, resources and ideas.


Be sure to check the [[http://www.freebsd.org/cgi/query-pr-summary.cgi|PR database]] to see if something has already been done. To correlate PRs with existing ports check [[http://portsmon.freebsd.org/portsprsbyexplanation.py?explanation=existing|here]].

'''Table of Contents''' <<TableOfContents(2)>>

= Ports Tasks =

== New ports ==

See [[WantedPorts]] (new desired ports)

== Update ports ==

See also:

 * [[../TrackingUpstreamUpdates]] (info on checking for outdated ports)

== Fix ports ==

See also:

 * Ports marked BROKEN ([[http://www.freshports.org/ports-broken.php|freshports]] and [[http://portsmon.freebsd.org/portsconcordanceforbroken.py|portsmon]]), mainly unmaintained ones

== Clean up ports ==

 * [[../LongtermTargets]] (statistics about ports which need clean up)
 * Some ports with `CONFLICTS` could be patched to rename conflicting files
 * Obsolete (deprecated and expired)  ports to be removed/fixed (see [[http://www.freshports.org/ports-expired.php|freshports]])

== Ports documentation ==

Additions to the current ports documentation.

 * PortersHandbook (PavLucistnik ideas for PH)

In addition, IMHO the whole ports documentation could be put in a single document. Currently some information is contained in the Handbook (usage for users; missing update information). Porter's Handbook (for port developers; some issues described in above links) and Committer's Guide (sections about ports tree integration in CVS, repocopies, etc). A single document could have the following sections (not necessarily ordered, and some could be appendices):

 * Using the Ports Collection
  * Ports (adding, removing, searching, configuring - including knobs, OPTIONS and `bsd.*.mk` user variables, etc)
  * Packages (using from CDs, FTP, etc)
  * Updating the tree (CVSup, anoncvs, portsnap, snapshot tarballs, downgrading)
  * Updating the installed packages (portupgrade, portmaster, ports/UPDATING, etc)
  * Resources (web related pages: freshports, FreeBSD ports page, reporting errors, etc)
 * Developing ports (Porter's Handbook; all usable `bsd.*.mk` variables, recommended practices for various cases, useful targets and scripts for developing, etc)
 * Ports system internals (portbuild, package builds, package database format, how `DESTDIR` works, scripts in `Tools`, all targets, etc), or maybe in a manpage
 * Submitter's guide (send-pr links, best practices, required information, etc)
 * Committer's guide (Committer's guide relevant part; how ports are structured into CVS, ports practices, etc)

== Ports system infrastructure ==

=== Improvements to the current ports system and/or layout ===

 * [[pkg]], the "next-generation" package management paradigm by BaptisteDaroussin and others
 * [[Ports/NewCategories|New Ports Category Proposals]]
 * [[PortsUsingSQLite]] (using SQLite for the package database)
 * [[../Options]] (OPTIONS framework changes)
 * [[mkreadmes]], a new port (Mar 2012) written in C by ConradSabatier, which dramatically speeds up building the README.html files

=== Compiler-related issues ===

 * PortsAndClang (overall status of the clang/ports effort, with references to various -exp runs)

== Per port pages ==

Specific port pages, also see entries under [[Ports]].

 * [[Gnome]]
 * [[KDE]]
 * [[MySQL]]
 * [[../multimedia/mythtv|MythTV]] on FreeBSD
 * [[Samba]]
 * [[Valgrind]]
 * [[Wine]]

== Others ==

 * [[Java/Portlint|Portlint Wishlist for Java Ports]]
 * [[portupgrade]] (description, usage and desired features)

== Adopting ports ==

At any given time, approximately 20 - 25% of '''ALL''' ports are unmaintained. Orphaned ports need love too!  If you use it, consider adopting it. To find all ports that you have installed that are up for grabs, simply run `pkg query -e %m=ports@FreeBSD.org %o`.

Now that you know what is available, here are some links to guide you through the process.

 * http://lists.freebsd.org/pipermail/freebsd-announce/2006-May/001065.html, kris' announcement soliciting volunteers
 * http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports/index.html, Contributing to the ports collection
 * http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/, Porter's Handbook
 * http://portscout.freebsd.org/ports@freebsd.org.html, provides current port version
 * http://portsmon.freebsd.org/portsconcordanceformaintainer.py?maintainer=ports%40FreeBSD.org, portsmon cluster, has information regarding errors and open PRs against the port
 * http://www.oook.cz/bsd/sexiness.html, Pav's Guide to PR Sexiness

-- ThomasAbthorpe

== Stale Pages ==

(MarkLinimon note: these are pages that have not been updated in some time.)

 * AlejandroPulver's [[ ../ToDo ]] (recompilation of all ports system enhancements)
 * [[AndrewPantyukhin/Ports]] (wanted and in progress ports)
 * [[AndrewPantyukhin/Ports/Stats]] (some random statistics)
 * [[Metalink]] (supporting metalinks, P2P, etc)
 * [[portmgr]] (agenda/tasks of the ports management team)
 * [[ErwinLansing/Ports_BOF]] (topics for ports related discussions in last conference)
 * [[AndrewPantyukhin/NPAPI]], and [[AndrewPantyukhin/Linkfarming]]

= Ports Resources, Status, and Monitoring =

== Porting resources ==

Notes and clues about different porting scenarios.

 * [[Ports]] (various general and per-port notes)
 * [[../Configure]] (various configure hacks and workarounds)
 * [[../PortabilityGuidelines]] (notes about porting Linux applications)
 * MaintainerNotes (permission and preferences of maintainers about commits to their ports)

== Status and monitoring ==

Statistics, reports and status of ports.

 * [[portsmon]] (specialized status reports, including PRs and correlation)

----
CategoryStale CategoryPorts