BSDCan2013 - Final

BSDCan 2013
The Technical BSD Conference

Gábor Páli
Day Tutorials - Day 2 - 2013-05-16
Room MNT 202
Start time 13:00
Duration 03:00
ID 389
Event type Workshop
Track Tutorial
Language used for presentation English

Making FreeBSD Ports

This workshop session is recommended for any FreeBSD user who is missing his or her favorite third-party application from the Ports Collection, and wants to learn how to make a port for it. Besides curiosity and self-motivation, a basic knowledge of Unix, programming languages and BSD make(1) is assumed from participants. The tutorial guides you through the first steps of making a port for the FreeBSD operating system and teaches you the related common procedures and practices, e.g. patching the software in question, updating the port, using other parts of the ports tree to your benefit, and the ways of testing and finally sharing your work.

The tutorial aims to give a quick introduction and overview to all who have ever pondered how to make their software of choice installed and run on FreeBSD without relying on others, optionally want to be involved in the porting work of the FreeBSD Project at some point later -- but never actually managed to get to the meat of the matter.

Our planned topics are as follows:

  • Prerequisites
  • Anatomy of a Port
  • A Handful of Useful make(1) Variables and Guidelines to Know
  • Getting the Source Code and Patching It
  • Dealing with Dependencies and Conflicts
  • Working with .mk Files
  • Ports with Configurable Options
  • Associated Services, Users and Groups
  • Installing Files
  • Packages vs. Ports
  • Testing a Port, Building Packages for Your Ports
  • Restrictions on Ports
  • Publishing Ports and Packages You Created
  • Submitting Port PRs, Working with Committers
  • Ports Security
  • Keeping Up
  • Some of the Advanced Practices (if time permits)

The contents are loosely based on the FreeBSD Porter's Handbook and the tutor's own experience gained as a FreeBSD ports committer since 2009.