Difference between revisions of "Novena packaging overview"
(Created page with "Novena packages are built as .deb files from source. The majority of files live in git, so you should use git-buildpackage to build the output .deb file. All packages have tagg...") |
|||
Line 1: | Line 1: | ||
Novena packages are built as .deb files from source. The majority of files live in git, so you should use git-buildpackage to build the output .deb file. | Novena packages are built as .deb files from source. The majority of files live in git, so you should use git-buildpackage to build the output .deb file. | ||
+ | |||
+ | ==Building .deb files== | ||
All packages have tagged releases, and you must pass this release name to git-buildpackage in the form of --git-upstream-tag. The basic steps you should take to build a package are: | All packages have tagged releases, and you must pass this release name to git-buildpackage in the form of --git-upstream-tag. The basic steps you should take to build a package are: | ||
Line 25: | Line 27: | ||
These same steps can be taken for any files packaged for Novena. | These same steps can be taken for any files packaged for Novena. | ||
+ | |||
+ | ==Modifying source== | ||
+ | |||
+ | Modifying the source can be a bit tricky, because the git repo must be clean in order to build (unless you pass additional arguments to git-buildpackage). Generally, perform the following steps: | ||
+ | |||
+ | # Run debchanges. Be sure to make the following changes: | ||
+ | #* Update the version number (in the first line) to something valid, as this will be in the version of the resulting .deb | ||
+ | #* Change "UNRELEASED" to something like "unstable" or "stable" | ||
+ | #* Modify the list of changes using bullet points | ||
+ | #* Add your name to the sign-off line | ||
+ | #* Put your correct email address into the sign-off line | ||
+ | #* Save and close the file | ||
+ | # Make any changes you need to make to the source file | ||
+ | # Commit everything to git. There should be no untracked files, so add tempfiles and .o files to .gitignore | ||
+ | # Tag the release using "git tag", e.g. "git tag v1.1". If you're testing a release, delete the old tag first with "git tag -d", e.g. "git tag -d v1.1; git tag v1.1" | ||
+ | # If you're re-running a tag (e.g. you had to run "git tag -d"), remove the source files from the parent directory, e.g. "rm -f ../pulseaudio-novena_*") | ||
+ | # Run git-buildpackage -us -uc --git-remote-tag=[tagname] | ||
+ | |||
+ | The package will build, and source files will appear in the parent directory. |
Revision as of 07:17, 12 October 2014
Novena packages are built as .deb files from source. The majority of files live in git, so you should use git-buildpackage to build the output .deb file.
Building .deb files
All packages have tagged releases, and you must pass this release name to git-buildpackage in the form of --git-upstream-tag. The basic steps you should take to build a package are:
- Clone the repo using git
- List available tags
- Build a package using git-buildpackage
- Copy the resulting .deb file to the target machine
An example of the steps to take to build u-boot-novena:
git clone https://github.com/xobs/u-boot-novena.git git-buildpackage -us -uc --git-upstream-tag=v2014.10-novena-rc5
This will result in a few files getting generated in the parent directory:
xobs@xobs-novena ~/C/n/u-boot-novena-1.0> ls ../u-boot-novena_2014.10-novena* ../u-boot-novena_2014.10-novena.orig.tar.gz ../u-boot-novena_2014.10-novena-rc5_armhf.build ../u-boot-novena_2014.10-novena-rc5_armhf.changes ../u-boot-novena_2014.10-novena-rc5_armhf.deb ../u-boot-novena_2014.10-novena-rc5.debian.tar.xz ../u-boot-novena_2014.10-novena-rc5.dsc xobs@xobs-novena ~/C/n/u-boot-novena-1.0>
These same steps can be taken for any files packaged for Novena.
Modifying source
Modifying the source can be a bit tricky, because the git repo must be clean in order to build (unless you pass additional arguments to git-buildpackage). Generally, perform the following steps:
- Run debchanges. Be sure to make the following changes:
- Update the version number (in the first line) to something valid, as this will be in the version of the resulting .deb
- Change "UNRELEASED" to something like "unstable" or "stable"
- Modify the list of changes using bullet points
- Add your name to the sign-off line
- Put your correct email address into the sign-off line
- Save and close the file
- Make any changes you need to make to the source file
- Commit everything to git. There should be no untracked files, so add tempfiles and .o files to .gitignore
- Tag the release using "git tag", e.g. "git tag v1.1". If you're testing a release, delete the old tag first with "git tag -d", e.g. "git tag -d v1.1; git tag v1.1"
- If you're re-running a tag (e.g. you had to run "git tag -d"), remove the source files from the parent directory, e.g. "rm -f ../pulseaudio-novena_*")
- Run git-buildpackage -us -uc --git-remote-tag=[tagname]
The package will build, and source files will appear in the parent directory.