the files contained in this directory are used by the OpenSUSE Build Service
to build/package binary releases and are otherwise not interesting
ensure that the custom git hooks are installed locally:
git config --local include.path ../build/hooks/gitconfig
when merging into master, the current manual procedure is as follows:
- create a new 'packaging' branch to enable the post-commit hooks then trigger them
=> $ git branch -D packaging && git checkout -b packaging && git commit --amend
- in build/packaging/debian.changelog
=> add new entry with list of significant commits
- copy all files in the build/packaging/ directory into the local osc directory
if build or install steps have changed:
- in loopidity.spec
=> update '%build' recipe, and/or '%post' install hooks
- in debian.rules
=> update 'build-stamp:' and 'install:' recipes
- in PKGBUILD
=> update 'build()' and 'package()' recipes
=> $ gpg --detach-sign PKGBUILD
if output files have changed:
- in loopidity.spec
=> update package '%files'
if dependencies have changed:
- in loopidity.spec
=> update 'BuildRequires' and/or 'Requires'
- in loopidity.dsc
=> update 'Build-Depends'
- in debian.control
=> update 'Build-Depends' and/or 'Depends'
- in PKGBUILD
=> update 'makedepends' and/or 'depends'
=> $ gpg --detach-sign PKGBUILD
packaging:
- git push --tags
- upload PKGBUILD.sig and TARBALL.sig to new github "release"
- delete PKGBUILD.sig, TARBALL.sig, and TARBALL
- osc local build - e.g.
=> $ osc build openSUSE_Tumbleweed i586 ./loopidity.spec
=> $ osc build Debian_8.0 x86_64 ./loopidity.dsc
- tweak any of the preceding steps as necessary until everything rocks sweetly
- verfy signature of downloaded github "release" tarball
- osc commit to the OBS build server for production build
commit packaging files to git:
- copy any modified files back into build/packaging/ directory
- explicitly check-in git-ignored files carrying post-commit checksums - e.g.
=> $ git add --force build/packaging/
- update documentation as necessary, git commit everything, then merge into master
=> $ git add -A && git commit -m 'update packaging files'
=> $ git checkout master && git merge packaging