-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pkglistgen: add an ability to update weakremovers.inc only #3165
Conversation
Doesn't pkglistgen write its output as productcompose files in that case? |
I'm not sure are you reference to productcomposer support in pkglistgen? or any other scenario please could you brief it a bit more? Leap 16.0 doesn't use pkglistgen to generate any product file(?), none for |
Yes: #3051 You can use pkglistgen to manage 000productcompose just like 000product.
i.e. 000productcompose in 16.0 currently only builds the FTP tree which doesn't really need solving because there's no DVD? |
Yes, but we don't have input files in 000package-groups, packagelist calculation is not needed.
Yes. 000productcompose builds the ftp tree only, it uses |
Ok, then it makes sense. Other approaches I can think of: a) Detect if there is no solving needed and skip those steps automatically (-> no manual config needed) |
I initially go for option b, but pkglistgen has code over there already so I don't bother to, if at some point in the future we must to have a separate weakremovers updater then I'll do so. |
@@ -753,27 +756,35 @@ def update_and_solve_target( | |||
if engine == Engine.product_composer: | |||
self.output_dir = productcompose_dir | |||
elif engine == Engine.legacy: | |||
self.output_dir = product_dir | |||
if not only_update_weakremovers: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be independent of the engine?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I limits --only-update-weakremovers
to legacy engine only, see changes in cli.py
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why?
IMO it's a bit weird to have to use the legacy engine in a project which uses product composer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see https://github.com/openSUSE/openSUSE-release-tools/blob/master/pkglistgen/cli.py#L79 , if product_composer engine in pkglistgen would not handle 000release-packages, why should --only-update-weakremovers
to be independednt of the engine?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not actually sure why, because even with product composer there is 000release-packages: https://src.suse.de/products/SLES/src/branch/16.0/000release-packages (note: internal link)
@adrianschroeter maybe you remember?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's true for Leap 16 atm, to manage release package manually, that's why I needed a better way here to handle weakremovers...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you know what SLES is doing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you know what SLES is doing?
I don't know will the thing gonna be changed in SLES16, but in SLE15, weakremovers.inc is not rely on 000update-repos, they have a manual maintained weakremovers.inc in 000packages-group, and copy it to 000release-pacakges by pkglistgen. See https://github.com/openSUSE/openSUSE-release-tools/blob/master/pkglistgen/tool.py#L863
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, indeed in SLES16/SL-Micro currently 000release-packages are managed manually
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, so the productcompose + weakremovers.inc case is just not relevant yet.
1b91471
to
70df3c7
Compare
Add an --only-update-weakremovers option to be able to update weakremovers.inc only. With this option, pkglistgen will checkout release package and update weakremovers.inc, nothing else, no needed to have other product package involved.
70df3c7
to
a893eaa
Compare
Add an --only-update-weakremovers option to be able to update weakremovers.inc only. With this option, pkglistgen will checkout release package and update weakremovers.inc, nothing else, no needed to have other product package involved.
Since Leap 16.0 don't use pkglistgen anymore but productcomposer, we still need a tool to recalculate weakremovers.inc according to the binary pool from the current and the previous version, therefore lets reuse pkglistgen's code for weakremovers handling.