DeveloperWiki:Patching

From PacBSD Wiki
Jump to: navigation, search

Patching[edit]

This policy is intended to suggest, not to enforce.

Patching[edit]

Unlike ArchLinux, package need to be patched frequently to build and function correctly under PacBSD. We've added some features to makepkg to assist in patching with patches from FreeBSD ports/

ArchLinux patches[edit]

From time to time ArchLinux will distribute patches with their packages which can at time also be useful to us. It's best to keep these patches unless they are Linux specific or conflict with port patches.

PacBSD patching[edit]

Patching with port patches is quite easy on PacBSD. Simply places the patches into a files/ directory in the current directory holding the PKGBUILD.

Patch naming should typically begin with patch or extra such as patch-src-libc or extra-tools-libc.

makepkg will apply these patches automatically to "${srcdir}/${pkgname}-${pkgver}". In cases when you need to change this you can use the variable "patchdir inside the PKGBUILD"

patchdir=("${_pkgbase}-34a")

When is patching discouraged?[edit]

  • Fixing minor features is not our job and patches should not be applied to fix things not directly related to the app's functionality. Patches to fix typos or images are discouraged.
  • Additional features should not be added by Arch. Patches that add completely new features should be sent to upstream. As said before - we ship packages as the ORIGINAL AUTHORS intended them. Not as WE intend them.
  • Features denied by upstream. If a patch was sent and the original developers denied it, we should never apply that patch, no matter how opinionated we are. You are welcome to fork the app and supply a package for your own app.