-
Notifications
You must be signed in to change notification settings - Fork 52
Home
This repository tracks upstream salt and the patches for the openSUSE salt package.
See here for working with remote git repositories.
-
develop
- upstream development -
2015.8
- upstream branch for 2015.8.X bugfixes -
openSUSE-2015.8.3
- openSUSE branch for the openSUSE salt package
The openSUSE-2015.8.3
branch is based on the v2015.8.3
upstream tag. Commits on the openSUSE-2015.8.3
branch apply cleanly on the salt-2015.8.3.tar.gz
release tarball.
⚠️ Always try to keep patches merged to the upstream, if your patch is related to the source. If upstream does not likes the fix, try to find a compromise and try having no patches that aren't upstream.- Keep patches local as long as they do not need to be posted upstream and are package-related, outside of the source code tarball.
- Pick only the changes from the upstream that are verified and/or are really needed (e.g. required fix won't get in without related changes).
- Preferably add patches only after they were already accepted upstream and passed all the checks they run themselves separately. This is not always the case, but keeps you at the safe side.
- Only submit to
systemsmanagement:saltstack:testing/salt
⚠️ Checksystemsmanagement:saltstack/salt
for changes introduced byopenSUSE:Factory
(Yes, theopenSUSE:Factory
maintainers can introduce changes by themselves just to keep Factory working)
- Go to https://github.com/orgs/openSUSE/teams/salt
- Press "Request to join"
- As soon as your request is approved, you can continue with the steps below
- Checkout the
openSUSE-2015.8.3
branch - Add the fix
- Commit the fix
- Run
git format-patch v2015.8.3
- Add the latest
.patch
file to the package - Build the package
- Test the package
-
git push
if tests pass
- Checkout the
openSUSE-2015.8.3
branch -
git rebase -i v2015.8.3
- this will open your$EDITOR
- Change
pick
toedit
of the patch you want to change - save and exit your editor - Change the file(s)
-
git add
,git commit
,git rebase --continue
- Run
git format-patch v2015.8.3
- Move all
.patch
files to the package - Build the package
- Test the package
-
git push -f
if tests pass
Example: New 2015.8.x release
Assumptions:
-
Old openSUSE branch:
openSUSE-2015.8.3
, based onv2015.8.3
-
New release
v2015.8.4
-
New openSUSE branch:
openSUSE-2015.8.4
based onv2015.8.4
-
git fetch upstream
to get your repo up-to-date compared to upstream -
git fetch opensuse
to get your repo up-to-date compared to openSUSE -
git checkout openSUSE-2015.8.3
to go to theopenSUSE-2015.8.3
branch -
git pull opensuse openSUSE-2015.8.3
to get up-to-date with the openSUSE patches -
git checkout 2015.8
to go to the2015.8
branch -
git pull upstream 2015.8
to get the latest branch state from upstream -
git checkout v2015.8.4
to place git HEAD to the upstream release tag -
git checkout -b openSUSE-2015.8.4
to create the new openSUSE release branch -
git cherry-pick v2015.8.3..openSUSE-2015.8.3
to move all patches from the old openSUSE release branch to the new one. This will automagically detect patches that were merge upstream. You might run into conflicts if a openSUSE patch touches the same code area as an upstream commit. Go fix these conflicts, thengit add ...
,git cherry-pick --continue
resp.git cherry-pick --allow-empty
-
git push opensuse openSUSE-2015.8.4
to push the new branch to opensuse