HOWTO: Build your own package repository
Dear pfSense 2.0 package users,
There has been some issues with wrong FreeBSD package versions lately:
In order to work around those issues and provide a patch, I have set up my own package repository.
I provide this "HOWTO" in the hope that it may help others with the same problems to debug and/or work around similar issues.
First of all: There is some documentation on this on the Wiki already. Read those first:
Step 1: Webserver
Set up your own webserver (visible from the pfSense box).
Enable php. On an Apache2 server this would be
AddHandler php5-script php AddType text/html php
Step 2: Packages
Go to the root of the Webserver and:
git clone http://gitweb.pfsense.org/xmlrpc-server/mainline.git pfSense git clone http://gitweb.pfsense.org/pfsense-packages/mainline.git packages
Step 4: Have pfSense use the repository
Go to the pfSense GUI.
Paste this as the path: /pkg_mgr_settings.php
Enter the URL of your server
Step 5: Check it out
And now - yo and behold - go to the GUI under System -> Packages
and those should be served by your own new repository
Step 6: Patch and play
Now you can patch the package configuration files, and install your own modified packages!
Step 7: Report bugs
Open a ticket at http://redmine.pfsense.org with your patched changes so they can be fixed for everyone else
Open a ticket at http://redmine.pfsense.org with your patched changes so they can be fixed for everyone else :D
Already did so:
Well I meant for others who read this later. If they go through the trouble of making their own package repo and they know how to fix a bug, it would be nice if they fed their patches back into the system.
I may take some of this post and fill out the "Developing Packages" page on the Wiki if you don't mind, and/or make this a sticky.
I added step 7 to the original post.
And yes, by all means: You are welcome to use the content of the post in any way you see fit!
Is it version 2.0 specific? It seems the same procedure is correct for 1.2.3 users, no?
It should work for both, but altering the package repo setting as described only works on 2.0. On 1.2.3 you need to edit /etc/inc/globals.inc and alter the xmlrpcbaseurl setting by hand.
As for the package definitions, for 2.0 you edit pkg_config.8.xml (or the amd64 version) and for 1.2.3 it's pkg_config.7.xml.
I beefed this up a bit and imported it into the Doc Wiki: