This is an old revision of the document!


Porter's workflow AKA Hack-a-port

Documenting the workflow I've established to hack ports WORK IN PROGRESS - INCOMPLETE - YMMV

  • devel/git : Minimized depedencies CONTRIB=off CVS=off GUI=off NLS=off P4=off
  • svn(lite) : in base is sufficient (or devel/subversion from ports)
  • ports-mgmt/portlint : Sanity checks
  1. Get a GitHub account
  2. Create a ports repo in your GitHub
  3. Clone your GitHub ports repo on your local system to <ports>
  4. add .svn to .gitignore (or does that happen by default?)
  5. alias svn to svnlite if you're not installing devel/subversion for full svn support
  1. Create the category dir in <ports>
  2. In the category dir using svn svn co https://svn0.eu.FreeBSD.org/ports/head/<category>/<port>
  3. In <ports> run git add .
  4. Modify your port
    1. whatever needs to change, see next sections
  5. in <ports>/<category>/<port> update local svn
    1. svn add/move/copy/remove <file>
    2. svn status to check your work
    3. svn update to update your local svn tree
  6. in <ports>/<category>/<port> run svn diff > ../../patch-<port>-<version>-<shortdesc>
  1. portlint
  2. make check-plist
  1. make makepatch is your friend
    1. run make patch to extract and patch the port
    2. Copy the file you want to modify to <file>.orig
    3. Edit the file
    4. In the port-dir run make makepatch to update all patches in the files dir
    5. NB. There can also be PATCH commands in the Makefile and extra-patches…
  • bernardspil/portingworkflow.1422008791.txt.gz
  • Last modified: 2015/01/23 10:26
  • by BernardSpil