Skip to content

Commit

Permalink
docs/packaging: Update release process for package (un)deprecation (#549
Browse files Browse the repository at this point in the history
)

* docs/packaging: Update release process for package (un)deprecation

Depends on
getsolus/packages#2900
getsolus/solus-sc#341

* .cspell-allowed-words.txt: Add deprecate and undeprecate

Terminology used to describe removing and restoring packages to the repository
  • Loading branch information
joebonrichie authored Jun 8, 2024
1 parent 8d11c38 commit 997cff6
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 10 deletions.
2 changes: 2 additions & 0 deletions .cspell-allowed-words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ cython
datacenter
datagrip
dbus
deprecate
destdir
devel
devlog
Expand Down Expand Up @@ -369,6 +370,7 @@ touchpad
touchpads
trackpad
transifex
undeprecate
uefi
ufriilt
unetbootin
Expand Down
21 changes: 11 additions & 10 deletions docs/packaging/procedures/release-processes.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,23 +33,24 @@ Deprecated packages will remove themselves from the users systems as the first o

Follow these steps to submit a package for deprecation:

1. Fork and clone the `solus-sc` repo [on GitHub](https://github.com/getsolus/solus-sc), and/or create a new branch
1. Create a new branch in the Solus `packages` repository [on GitHub](https://github.com/getsolus/packages) (forking it first if necessary) with a suitable name such as "deprecate-foobar"
2. Edit `repo_data/distribution.xml.in`
3. Add the package you wish to deprecate at the end of the `<Obsoletes>` section
4. Run the `merged_repos.sh` script
5. Commit and push your changes to your repository/branch
6. Open a Pull Request on GitHub

If a deprecation depends on a packaging change landing before it can be properly deprecated without undesirable side effects on user systems, the GitHub deprecation Pull Request MUST link to the packaging change and declare it as a dependency for deprecation.
4. Change directory to repo_data (`cd repo_data`), then run the `merged_repos.sh` script
5. Remove the package from the Solus `packages` repository, for example `rm -fr packages/f/foobar`
6. Commit and push your changes to your repository/branch
7. Open a Pull Request on GitHub

### Un-deprecating a package

The above steps also apply to un-deprecating a package, with the following additions:

1. Before making changes, the package repository must be reactivated
2. In Step 2, remove the package from the list instead of adding it
3. After the `solus-sc` pull request has been merged, ask a Solus Staff member to use available tooling to update the repository files, then index the repo with `ferryctl index unstable` (or do it yourself if you have the ability)
4. Bump or update the package
1. Create a new branch in the Solus `packages` repository [on GitHub](https://github.com/getsolus/packages) (forking it first if necessary) with a suitable name such as "undeprecate-foobar"
2. Find the commit deprecating the package and restore the package within the repository structure. For example restore all files in packages/f/foobar or use `git revert` if appropriate
3. Edit `repo_data/distribution.xml.in` and remove the package you wish to undeprecate in the `<Obsoletes>` section
4. Change directory to repo_data (`cd repo_data`), then run the `merged_repos.sh` script
5. Open a Pull Request on GitHub and ask a Solus Staff member to use available tooling to update the repository files, then index the repository with `ferryctl index unstable` (or do it yourself if you have the ability)
6. Bump or update the package

## Major stack changes

Expand Down

0 comments on commit 997cff6

Please sign in to comment.