Table of Contents

Volunteer Pkgsrc

About

A secondary pkgsrc repository has been created on GitHub to allow volunteers to contribute to pkgsrc directly. It is currently experimental as its relationship to the primary pkgsrc repository has yet to be determined.

Care to Contribute?

1. Orient yourself with pkgsrc

2. Create an account and add SSH keys at GitHub

3. Fork the minix-pkgsrc repository from pikpik's to your own repository on GitHub

This saves your time and network bandwidth by downloading the repository only once.

4. Download your pkgsrc repository

First, download the official pkgsrc.
$ cd /usr

$ make pkgsrc-create
	
Then, add your repository as a remote repository.
$ cd /usr/pkgsrc

$ git remote add unofficial git://github.com/you/minix-pkgsrc.git

$ git fetch unofficial

$ git branch unofficial-minix-master unofficial/minix-master
	
<!> Note: If you use ''https://'' in place of ''git://'' and have an SSL-related problem when you fetch, then please use the following steps to install SSL certificates.
$ cd /usr/pkgsrc/security/mozilla-rootcerts

$ bmake install

$ cd /usr/pkg/etc/openssl/certs

$ mozilla-rootcerts extract

$ mozilla-rootcerts rehash
	

5. Check-out the minix-master branch locally

$ git checkout unofficial-minix-master
	

6. Create a new branch from it to host your work

$ git branch my-package-branch

$ git checkout my-package-branch
	

7. Push this branch to your remote repository

$ git push unofficial my-package-branch
	
This will create the reference work for others to test and later include in the volunteer pkgsrc.

8. Hack locally, commit, test, pkglint, etc.

Instructions for building packages can be found on the [[.:testingpkgsrc|Testing Pkgsrc]] page.

9. Push up the ongoing work for other people to test it

$ git push unofficial my-package-branch
	

10. Let people on the mailing list know about it

Please include in your message the name of the branch and the public address to your repository.

11. Periodically merge changes from minix-master into your branch

$ git pull unofficial-minix-master

$ git checkout my-package-branch

$ git merge unofficial-minix-master
	
This eases later work, and also will grab the good work done elsewhere on the dependencies. ;-)

12. Continue testing and pushing your local branch up to your repository

13. When your branch is ready, open an issue on the issue tracker of the volunteer pkgsrc

Title: Ready for testing: my-package-port by [you]

Hi,

I've ported [package], and my branch "my-package-branch" is ready for testing at: https://github.com/[you]/minix-pkgsrc.git

Thanks
	
When the committee agrees with the current state of the package as published in your GitHub repository, they will copy the branch into the volunteer pkgsrc repository and prepare it for inclusion into the official pkgsrc.

Maintaining Branches

As upstream changes from the official pkgsrc repository become available, updating your repository allows your changes to merge cleanly in the future.

1. Update the official branch

$ git checkout minix-master

$ cd /usr

$ make pkgsrc-update
	

2. Make your unofficial branch identical to the official one

$ cd /usr/pkgsrc

$ git checkout unofficial-minix-master

$ git rebase minix-master
	

3. Merge changes from either the official or unofficial branch into your own

$ git checkout my-package-port

$ git merge unofficial-minix-master
	

Volunteer Pkgsrc Committee

To be added as a collaborator/contributor:

  1. Create a Github account.
  2. Create a new issue requesting commit access.

Issue Tracker: https://github.com/pikpik/minix-pkgsrc/issues

More to comeā€¦