User:Ganwell/mistakes: Difference between revisions

From Alpine Linux
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
= APKBUILD mistakes =
= Constrib mistakes =


These are just my note. Please read the official guidelines.
! These are just my notes. Please read the official guidelines.


== Style ==
== Style ==
Line 30: Line 30:
* Only add very common or required dependencies
* Only add very common or required dependencies


* Use post-install rarely, don't use it for anything that can be done during
* Use post-install rarely, don't use it for anything that can be done during package()
package()


* New packages go to testing first
* New packages go to testing first
Line 37: Line 36:
* Use spdx license names: https://spdx.org/licenses/
* Use spdx license names: https://spdx.org/licenses/


* main pacakges may only depend on main packages
* Dependencies
 
** main pacakges may only depend on main packages
** community packages may only depend on main/community package
** community packages may only depend on main/community package



Latest revision as of 21:44, 5 September 2018

Constrib mistakes

! These are just my notes. Please read the official guidelines.

Style

  • Use tabs
  • Order of functions: prepare, build, check, package (the order they are executed)
  • No empty variables
  • Set Contributor and Maintainer
  • Commit message repo/package: X
    • X: new apk
    • X: upgrade to Y
    • X: [other changes]
  • Shell: quote variables
  • Rebase your changes

Packages

  • Set pkgrel to 0 when when pkgver is increased
  • Else bump pkgrel to trigger rebuild
  • Only add very common or required dependencies
  • Use post-install rarely, don't use it for anything that can be done during package()
  • New packages go to testing first
  • Dependencies
    • main pacakges may only depend on main packages
    • community packages may only depend on main/community package

Testing

  • Test APKBUILD against edge, not current
  • Make sure the software actually works

Build

  • No downloads during build (is already prevented)

Languages

  • Don't use language-package managers (npm, pip, cabal): the build has to be reproducible