Skip to main content

Packaging Changes

This page is meant to serve as a changelog of sorts for the Solus packaging environment and the packaging instructions. Refer to specific help pages for more details.

  • This list is not exhaustive
  • This list is in reverse chronological order (newest first)

2024

May

Remove 'Test Plan' and 'Checklist' from commit messages

  • These are no longer needed in commit messages.
  • They must still be included in the pull request description.

Add Rust macros to package.yml

  • We now have macros for building Rust packages. Example: %cargo_build. Rust packages should be switched to use the new macros as they are updated.
  • See the "Rust (cargo) actionable macros" section on the package.yml page.

Add guidance for SourceForge sources in package.yml

  • We now require SourceForge sources used in package.yml files to follow a specific format.
  • See the package.yml page.

February

Begin adding monitoring.yml to packages

  • A new per-package file was introduced: monitoring.yml. Used to monitor packages for releases and security advisories; see monitoring.yml.
  • This is not enforced by automatic checks yet, but we may ask that it be added.

2023

October

Adding checkdeps in package.yml

  • A new type of packaging dependency was added: checkdeps. They behave the same as builddeps, except they are not considered when determining build order for automatic builds. See the package.yml page.

Git hooks

  • Run go-task init to initialize Git hooks for the packages repository. See Prepare for packaging.
  • Use git commit for committing packaging changes and fill in the template shown. It is no longer required to manually copy-paste the template or use git commit --cleanup=scissors.

Requiring homepage in package.yml

  • The homepage key in package.yml has become mandatory. Use the address to the upstream source repository (eg: the GitHub page) if a package does not have a homepage.
  • This is enforced by checks on all pull requests.

Recommending amending commits in Pull Requests

  • Amending commits and force pushing the changes works better with our build tooling.
    • It was thought that abandoning this practice would be okay, but it turns out not to be the case.

September

Switch to asterisk bolding for PR template

  • The initial PR template for the packages repository used markdown header styling (## Heading text), but solus-sc does not render that styling, so the template was changed to asterisk bolding (**Heading text**)
  • https://github.com/getsolus/packages/pull/366

Switching From make to go-task

  • All packaging actions are now handled by go-task rather than make.
    • Building a package can be done using go-task rather than make.
    • Commands are the same: make local, for example, is replaced by go-task local.
    • You can see all available commands by either browsing to Taskfile.yml in the packages repository OR running go-task -l somewhere in your updated clone of the packages git monorepo.
  • Packagers should install go-task on their machines if they have not already.
  • The Makefile included with every package is no longer required. Please delete it from a package when updating, and do not include it when making the initial commit of a new package.

GitHub Monorepo Migration

  • Packages were moved from the initial multirepo setup to the packages monorepo: github.com/getsolus/packages Now packagers only need to clone/fork one repository for all packages.
  • The recommended migration strategy is to fork this repository and start with a clean clone. Any local changes to packages should be moved over manually.
  • Packagers should now title commits like packagename: Action; for example: nano: Update to 9.0. Generic titles like Update to 9.0 should not be used, except for rebuilds.
  • Packagers should use the pull request template for package updates, filling out the Summary and Test Plan sections as usual.

August

Initial GitHub Migration from old Phabricator Dev Tracker

  • This change was superseded by the later monorepo migration.
  • The new multirepo setup for packages was under github.com/solus-packages organization, packages were updated with PRs to individual repositories.
  • Issues were migrated to github.com/getsolus/packages from Phabricator. Closed issues were not migrated.
  • A read-only instance of the old Dev Tracker is available at phab.getsol.us. This will eventually be shut down.

April

The repository index was moved to cdn.getsol.us.

2022 and Earlier

Not included in this list.