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
  • ports-mgmt/poudriere :
  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
  6. Install ports-mgmt/poudriere
  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>
  7. Build your modified port using poudriere
  1. portlint
  2. make check-plist
  3. make -V CPE_STR
  1. If you're the maintainer of the port, prefix the Summary with [MAINTAINER]
  2. Describe what's changed, refer to link if you submitted it upstream as well
  3. Attach the svn diff(s)
    1. Set maintainer-approval to + if you're the maintainer of the port
  4. Attach the poudriere logs
    1. As plain text when < 2MB
    2. Gzipped when > 2MB
  1. make makepatch is your friend
    1. make a backup of the files dir…
    2. run make patch to extract and patch the port
    3. Copy the file you want to modify to <file>.orig
    4. Edit the file
    5. In the port-dir run make makepatch to update all patches in the files dir
    6. NB. There can also be PATCH commands in the Makefile and extra-patches…
  • bernardspil/portingworkflow.1422628685.txt.gz
  • Last modified: 2015/01/30 14:38
  • by BernardSpil