2 Packaging for New Upstream Releases
Dan Simmons edited this page 4 months ago

This is meant to supplement the Packaging Guide.

The scenario is this: Upstream has released a new version for a package that we host in gitea. We want to update that package. The following are some "notes" to briefly document that.

  1. Make sure your development environment is setup according to the packaging requirements
  2. Clone the repository from gitea
  3. Check the branch is the proper branch to be on git branch
  4. Create a changelog entry bumping the version to match the upstream release. See versioning for more information. dch -i
  5. Commit the change eg git commit -m "Bump version for new upstream release"
  6. Download the new tarball from upstream uscan --download-current-version
  7. Do a copyright update. Note This involves manually scanning the diff between the version the package previously in the archive and this new version, keeping track of any and all copyright notice changes and updating debian/copyright. This is tedious, and you have to do it manually.
  8. Make a changelog entry e.g. dch -a
  9. Commit the change eg git commit -m "Update copyright file"
  10. Make sure debhelper and Standards-version are at the latest versions. If they aren't, bump and read the upgrade notes. Again refer to the guide
  11. Make a changelog entry e.g. dch -a
  12. Commit the change eg git commit -m "Bump standards-version"
  13. Read the release notes and read them thoroughly. This is where upstream will usually(!) put anything else you have to adjust for as far as patches.
  14. If you added or removed patches... Make a changelog entry e.g. dch -a
  15. If you made any... Commit the change e.g. git commit -m "Removed patch applied in upstream code"
  16. Analyze the build dependencies, and bump everything in the LXQt stack to the latest version. Commit your change.
  17. Do a local build with sbuild, making sure you have the -EvIL +pedantic flags set in your sbuildrc file. For more information on sbuild go here or here
  18. Based on the results of your build, you may need to make adjustments to patches or any files you touched. Make sure the build is lintian clean. changelog entry and commit for every set of changes.
  19. Run wrap-and-sort. The guide has a section for more info.
  20. Make a changelog entry e.g. dch -a
  21. Commit the change e.g. git commit -m "Run wrap-and-sort"
  22. Push your commits (arc diff or if to CI git push this depends check with a developer)