BSDCan2013 - Final
BSDCan 2013
The Technical BSD Conference
Speakers | |
---|---|
Gábor Páli |
Schedule | |
---|---|
Day | Tutorials - Day 2 - 2013-05-16 |
Room | MNT 202 |
Start time | 13:00 |
Duration | 03:00 |
Info | |
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.