Mailinglist Archive: opensuse-buildservice (93 mails)

< Previous Next >
Re: [opensuse-buildservice] OBS Maintenance Process - How to release a maintenance update to different codestream?
Hi Srinidhi,

On Wed, Jul 10, 2019 at 03:37:37AM -0600, Srinidhi B wrote:
Hello Everyone,

I've a question regarding OBS Maintenance Process: What is the best way to
re-release a maintenance update into a different codestream? What I mean to
ask is - a maintenance update released for codestream X needs to be released
into codestream Y with following conditions:

A different product from the same built binaries?

* Packages should not be rebuilt in codestream Y
* Binaries should not be signed again

I've written a script that does the following:

1. Run cmd=createmaintenanceincident on the Maintenance project to create a
new incident
2. Create "patchinfo" package
3. Update patchinfo/_patchinfo
- based on a very slightly modified version of code taken from obs_admin
--create-patchinfo-from-updateinfo
- enable build and publish manually (I'm yet to figure out how to create
proper hash for enabling these at the package creation time)
4. Branch Channel package - osc branch -M <Channels-prj> <channel-pkg>
<maintenance-incident>
5. Enable channel - osc enablechannel <maintenance-incident> <channel-pkg>
6. Upload / inject binaries and updateinfo.xml fetched from step 3 to
"patchinfo" package

What I found while talking to Adrian on IRC, I can't raise a release request
for such a maintenance incident because the API can't find a package other
than "patchinfo" in "succeeded" state. And even if I use _aggregates for
these packages, then also, I can't raise a release request because
"patchinfo" package is always "excluded" saying "no package enabled".

How do I go about re-releasing a maintenance update?

What we do:

osc unlock $INCIDENT the previous released incident.
This will keep the package still locked.

add the new product channels (via osc addchannels or osc branch -M ...
$OLDINCIDENT)

Edit the project meta:

osc meta prj -e $INCIDENT

remove trigger="maintenance" XML attributes from the repos that should
NOT be rereleased.

Check if the channels are in the correct channels with "osc ls -b" or similar.

then do a releaserequest again

osc releaserequest $INCIDENT

check with "rq show" if its correct.

Ciao, Marcus
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups
References