2.11BSD operating system for microcontrollers
It is currently Sat Jan 29, 2022 1:26 pm

All times are UTC

Post new topic Reply to topic  [ 1 post ] 
Author Message
PostPosted: Mon Feb 15, 2016 8:20 am 
User avatar

Joined: Sun Oct 20, 2013 3:15 am
Posts: 322
I've realized a bit that the ports tree right now is effectively black magic that only I know. That needs to change. Other people need to be able to contribute ports to the ports tree.

So here's a first attempt at making it easy for others to begin writing their own ports that we can put in the ports tree.
Step 1. Find a piece of software you want to port (or use a piece of software you wrote yourself!)

Step 2. Checkout the ports tree if you haven't already.
$ cd $BSDSRC && git clone ports

Step 3. Build LiteBSD if you haven't already.
$ bmake build

Step 4. Identify which category your port should live in (or create a new category if none fit, but really do try to use an existing category)

Step 5. Create the port directory
$ mkdir -p ports/<category>/<port name>

Step 6. Enter that directory and put all the code in it.

Step 7. Now, you need to use a Makefile that bmake can understand. There is a template available for you to use: ... e.template

Step 8. Once everything is set up run "bmake build" to build the software. If you need to tweak the code to get it to compile, that is OK and normal.

Step 9. When everything is built, run "bmake fake" to ensure it installs correctly.

Step 10. Now run "bmake control" to create an opkg control file. This file allows opkg to work with the final package we will make. You will need to edit this file (it appears in the the directory you're working in once you run that command, it is named "control"): edit the Description, Put your name and email address in as the Maintainer (in the format "YourName <>", and select the appropriate license for the code.

Step 11. The final step: run "bmake package" and a package named ${PORT}-${V} will appear in the work/ directory. Congrats! You have successfully created a package for LiteBSD. You can write this to your LiteBSD machine and install it with "opkg install ${PORT}-${V}"

To get your package ready for inclusion in the ports tree:
Step 1. Run "make clean" and "make clean-package" to make sure we're not committing binaries and .o files.

Step 2. Make a pull request on GitHub (or ask me to give you write access so you can commit it yourself).

That's it! Good luck and have fun. And ask lots of questions so this guide can improve.
Writing ports is an easy and effective way of making LiteBSD more useful for yourself and everyone. Plus you can show everyone how you're contributing to LiteBSD!

@__briancallahan on Twitter

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:

Powered by phpBB® Forum Software © phpBB Group

BSD Daemon used with permission