Hello everyone,
I have new underling (Premysl Janouch) starting in packagers team from this month. In order for him to learn about how we did and do packages I needed to give him some old-style specs and get him to clean them up and streamlined to current standards.
For that I noticed that Yast+friends would be nice testing ground. Thus we (well he) would sort out the packages one by one and sent PR on github of their respective projects.
For some it might be just spec-cleaner run for most I suspect it might be slightly more tweaking. Regardless the requirements are: 1) clean it up 2) no excessive rpmlint warnings 3) support of 13.15+ (SLE12, openSUSE13.2, ...)
Any other requirements you would like to see and know? Overall of course he will test the packages and install them so we are fairly sure if it actually works ;-)
Cheers
Tom
PS: I am not subscribed, please keep me in CC on the thread.
On Tue, 22 Mar 2016 13:06:51 +0100 Tomas Chvatal tchvatal@suse.cz wrote:
Hello everyone,
I have new underling (Premysl Janouch) starting in packagers team from this month. In order for him to learn about how we did and do packages I needed to give him some old-style specs and get him to clean them up and streamlined to current standards.
For that I noticed that Yast+friends would be nice testing ground. Thus we (well he) would sort out the packages one by one and sent PR on github of their respective projects.
For some it might be just spec-cleaner run for most I suspect it might be slightly more tweaking. Regardless the requirements are:
- clean it up
- no excessive rpmlint warnings
- support of 13.15+ (SLE12, openSUSE13.2, ...)
4) Do not break it :) 5) use spec cleaner and its result, we already do it automatic, just do not have it in git - https://github.com/openSUSE/packaging_rake_tasks/blob/ac35fdb8c3729a80eab62b...
Any other requirements you would like to see and know? Overall of course he will test the packages and install them so we are fairly sure if it actually works ;-)
Good, just ensure that old version is not installed, otherwise it can work even if something is not installed.
BTW I encouraged him to join our IRC and discuss what he finds as currently there is combination of packages using rake, autotools and cmake.
Cheers
Tom
PS: I am not subscribed, please keep me in CC on the thread.
Josef
Josef Reidinger píše v Út 22. 03. 2016 v 13:43 +0100:
4) Do not break it :)
Suure, when we broke something last time, I can't even remember such thing happening ;-)
- use spec cleaner and its result, we already do it automatic, just
do not have it in git - https://github.com/openSUSE/packaging_rake_tasks/blob/ac35fdb8c3729a8 0eab62b42cc09933245f71326/lib/tasks/osc.rake#L123
That is format_spec_file the lightweight brother of spec-cleaner that I try hard to obsolete ;-)
Any other requirements you would like to see and know? Overall of course he will test the packages and install them so we are fairly sure if it actually works ;-)
Good, just ensure that old version is not installed, otherwise it can work even if something is not installed.
BTW I encouraged him to join our IRC and discuss what he finds as currently there is combination of packages using rake, autotools and cmake.
Yep we are aware of the mix. He will have most of the team members at his disposal to actually help him. We expect him fully to not understand all that can be in the specs.
Please be nice to him on the irc, afterall he is new ;-)
Cheers
Tom
On Tue, 22 Mar 2016 13:47:34 +0100 Tomas Chvatal tchvatal@suse.cz wrote:
Josef Reidinger píše v Út 22. 03. 2016 v 13:43 +0100:
4) Do not break it :)
Suure, when we broke something last time, I can't even remember such thing happening ;-)
- use spec cleaner and its result, we already do it automatic, just
do not have it in git - https://github.com/openSUSE/packaging_rake_tasks/blob/ac35fdb8c3729a8 0eab62b42cc09933245f71326/lib/tasks/osc.rake#L123
That is format_spec_file the lightweight brother of spec-cleaner that I try hard to obsolete ;-)
Reason why we use it, is that IBS automatic use it, so then comparing spec in target project and devel project differs, which cause useless submit requests by ci.
Any other requirements you would like to see and know? Overall of course he will test the packages and install them so we are fairly sure if it actually works ;-)
Good, just ensure that old version is not installed, otherwise it can work even if something is not installed.
BTW I encouraged him to join our IRC and discuss what he finds as currently there is combination of packages using rake, autotools and cmake.
Yep we are aware of the mix. He will have most of the team members at his disposal to actually help him. We expect him fully to not understand all that can be in the specs.
we also know it, so he can ask anytime.
Please be nice to him on the irc, afterall he is new ;-)
When you get him old yast spec I think you wan to harden him :)
Cheers
Tom
On 22.3.2016 13:43, Josef Reidinger wrote:
On Tue, 22 Mar 2016 13:06:51 +0100 Tomas Chvatal tchvatal@suse.cz wrote:
Any other requirements you would like to see and know? Overall of course he will test the packages and install them so we are fairly sure if it actually works ;-)
Good, just ensure that old version is not installed, otherwise it can work even if something is not installed.
BTW I encouraged him to join our IRC and discuss what he finds as currently there is combination of packages using rake, autotools and cmake.
My requirement is "simple" and similar to Josef's:
- Learn what we do now, why and how (learn about our expectations) - Define your/his expectations - Discuss the proposed change with the team (Josef seems to have volunteered for being the primary contact, but there are more experts here) - Change it via a PR
All discussion can be either here on a ML, or at our IRC or he can talk to people face to face or video to video at Jangouts.
Just a side note: I support this idea :)
Dne 22.3.2016 v 13:06 Tomas Chvatal napsal(a): [...]
Any other requirements you would like to see and know? Overall of course he will test the packages and install them so we are fairly sure if it actually works ;-)
YaST also defines some helper RPM macros which are shared across all YaST packages [1].
So the additional requirements could be:
- Check the macros as well, there can be possibly issues just like in the specs.
- If you find a repetitive pattern in the specs it should be moved to the macros (if possible).
Another thing is that some YaST packages still provide/obsolete very old Yast packages (like y2c_*, y2a_*, yast2-config-*, yast2-agent-*,...) which were used about 15 years ago. IMHO they should be removed as they are useless these days.
You can use my quick&dirty grep (not smart enough, reports some false positives) [2] to find them.
Ladislav
[1] https://github.com/yast/yast-devtools/blob/master/build-tools/rpm/macros.yas... [2] find . -name '*.spec' -exec grep -H -n 'y2._|yast2-config-|yast2-agent-|yast2-db-|yast2-trans-' {} ;
--
Ladislav Slezák Appliance department / YaST Developer Lihovarská 1060/12 190 00 Prague 9 / Czech Republic tel: +420 284 028 960 lslezak@suse.com SUSE