User:Ganwell/mistakes: Difference between revisions

From Alpine Linux
No edit summary
Line 5: Line 5:
== Style ==
== Style ==


1. Use tabs
* Use tabs


2. Order of functions: prepare, build, check, package (the order they are
* Order of functions: prepare, build, check, package (the order they are executed)
executed)


3. No empty variables
* No empty variables


4. Set Contributor and Maintainer
* Set Contributor and Maintainer


5. Commit message repo/package: X
* Commit message repo/package: X


X: new apk
** X: new apk


X: upgrade to Y
** X: upgrade to Y


X: [other changes]
** X: [other changes]


6. Shell: quote variables
* Shell: quote variables


7. Rebase your changes
* Rebase your changes


== Packages ==
== Packages ==
Line 47: Line 46:
== Testing ==
== Testing ==


1. Test APKBUILD against edge, not current
* Test APKBUILD against edge, not current


2. Make sure the software actually works
* Make sure the software actually works


== Build ==
== Build ==


1. No downloads during build (is already prevented)
* No downloads during build (is already prevented)


== Languages ==
== Languages ==


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

Revision as of 21:33, 5 September 2018

APKBUILD mistakes

These are just my note. 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
  • 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