16:00:34 <sochotni> #startmeeting Java SIG -- https://fedoraproject.org/wiki/SIGs/Java 16:00:34 <zodbot> Meeting started Tue Feb 19 16:00:34 2013 UTC. The chair is sochotni. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:34 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:00:44 <sochotni> #meetingname Java SIG 16:00:44 <zodbot> The meeting name has been set to 'java_sig' 16:00:49 <sochotni> #topic roll-call 16:00:55 <sochotni> .fasinfo sochotni 16:00:56 <zodbot> sochotni: User: sochotni, Name: Stanislav Ochotnicky, email: sochotni@redhat.com, Creation: 2010-04-06, IRC Nick: , Timezone: Europe/Prague, Locale: en, GPG key ID: 71A1677C, Status: active 16:00:59 <mizdebsk> .fasinfo mizdebsk 16:01:00 <tradej> .fasinfo tradej 16:01:00 <zodbot> sochotni: Approved Groups: +gitfedorareview fedorabugs cla_redhat cla_fedora cla_done +packager provenpackager @git-javapackages 16:01:00 <akurtakov> .fasinfo akurtakov 16:01:03 <zodbot> mizdebsk: User: mizdebsk, Name: Mikolaj Izdebski, email: mizdebsk@redhat.com, Creation: 2012-04-02, IRC Nick: mizdebsk, Timezone: Europe/Prague, Locale: en, GPG key ID: , Status: active 16:01:06 <pingou> .fas pingou 16:01:06 <zodbot> mizdebsk: Approved Groups: @gitmaven-rpminstall-plugin provenpackager git-javapackages cla_fpca cla_done packager fedorabugs @gitjava-deptools 16:01:09 <zodbot> tradej: User: tradej, Name: Tomas Radej, email: tradej@redhat.com, Creation: 2011-08-03, IRC Nick: tradej, Timezone: Europe/Prague, Locale: en, GPG key ID: , Status: active 16:01:12 <zodbot> tradej: Approved Groups: provenpackager cla_fpca cla_done packager fedorabugs 16:01:15 <zodbot> akurtakov: User: akurtakov, Name: Alexander Kurtakov, email: akurtako@redhat.com, Creation: 2008-10-01, IRC Nick: akurtakov, Timezone: Europe/Sofia, Locale: en, GPG key ID: , Status: active 16:01:18 <zodbot> akurtakov: Approved Groups: @giteclipse-packagekit cla_fedora cla_done cla_redhat fedorabugs +packager provenpackager @git-javapackages @giteclipse-fedorapackager 16:01:21 <zodbot> pingou: pingou 'Pierre-YvesChibon' <pingou@pingoured.fr> 16:01:58 <msrb> .fasinfo msrb 16:02:00 <zodbot> msrb: User: msrb, Name: Michal Srb, email: msrb@redhat.com, Creation: 2012-12-04, IRC Nick: None, Timezone: UTC, Locale: en, GPG key ID: None, Status: active 16:02:02 <sochotni> I'll give it until 17:05 for the roll-call I guess 16:02:02 <zodbot> msrb: Approved Groups: @gitmaven-rpminstall-plugin fedorabugs packager cla_done cla_fpca 16:02:15 <vanaltj> .fasinfo jvanalte 16:02:16 <zodbot> vanaltj: User: jvanalte, Name: Jon VanAlten, email: jon.vanalten@redhat.com, Creation: 2011-05-19, IRC Nick: vanaltj, Timezone: UTC, Locale: en, GPG key ID: , Status: active 16:02:19 <zodbot> vanaltj: Approved Groups: packager fedorabugs cla_fpca cla_done 16:03:50 <rgrunber> .fasinfo rgrunber 16:03:50 <zodbot> rgrunber: User: rgrunber, Name: Roland Grunberg, email: rgrunber@redhat.com, Creation: 2009-07-23, IRC Nick: rgrunber, Timezone: America/Toronto, Locale: en, GPG key ID: , Status: active 16:03:54 <zodbot> rgrunber: Approved Groups: @giteclipse-packagekit cla_fedora cla_done cla_redhat packager fedorabugs @giteclipse-fedorapackager 16:05:10 <sochotni> ok, let's get going then 16:05:21 <sochotni> #topic New guidelines & XMvn packaging 16:05:45 <akurtakov> ok, I'll start 16:06:00 <sochotni> #link https://fedoraproject.org/wiki/User:Msrb/JavaPackagingDraft 16:06:12 <akurtakov> xmvn looks cool and simplifies packaging a lot but 16:06:22 <akurtakov> it brings major change to the way packaging is done 16:06:36 <akurtakov> it embeds parent package and removes 16:06:44 <akurtakov> the parent definition from the pom.xml 16:06:48 <akurtakov> in the binary rpm 16:07:17 <akurtakov> this will effectively mean that if one has a bug with e.g. apache-parent 16:07:25 <akurtakov> and fixes it 16:07:30 <akurtakov> he would have to rebuild 16:07:43 <akurtakov> all packages that have apache-parent as their parent 16:07:55 <akurtakov> going all the way down to the rabbit hole 16:08:04 <akurtakov> aka ~100 or more packages 16:08:21 <akurtakov> second, during these rebuilds 16:08:36 <sochotni> akurtakov: meaning current Mass Rebuild? 16:08:37 <akurtakov> we will have a mixture of old (embedded) and new 16:08:42 <sochotni> oh no, nvm 16:08:46 <akurtakov> parent 16:08:50 <mizdebsk> you could say the same about stdio.h header in glibc, if it contains a bug than tousands of packages would need to be rebuilt 16:09:02 <akurtakov> which can even lead to wrong requires 16:09:04 <mizdebsk> but how many bugs we had in parent poms like that? 16:09:13 <akurtakov> being generated hense second rebuild can be needed 16:09:15 <mizdebsk> and how many bugs we had because of inaccurate dependencies? 16:09:20 <akurtakov> mizdebsk: let me finish 16:09:27 <mizdebsk> which is easier to fix? launch a build or investigate dependency problem? 16:09:59 <mizdebsk> xmvn brings some disadvantages, but advantages they greatly outweight them 16:10:07 <akurtakov> third, this introduce unnecessary change form upstream and breaks the goal of having our repo being usable with upstream maven 16:10:13 <akurtakov> mizdebsk: LET ME FINISH 16:10:49 <akurtakov> as such changes will have the only impact 16:10:58 <akurtakov> of differening us from upstream sources 16:11:08 <akurtakov> as they are supposed to have no runtime effect 16:11:14 <akurtakov> forth, and most important 16:11:20 <akurtakov> this change was introduced 16:11:30 <akurtakov> hidden by everyone 16:11:33 <akurtakov> not documented 16:11:39 <akurtakov> not explained 16:11:56 <akurtakov> hidden for almost everyone 16:12:12 <akurtakov> which is not the way things should happen in an open source project 16:12:30 <akurtakov> while I can agree on discussing the technical points 16:12:37 <akurtakov> only point 4 should be enough 16:12:45 <mizdebsk> ad 4. 16:12:48 <akurtakov> for this to be bringed back, documented 16:12:55 <akurtakov> advertized on mailing list 16:12:58 <akurtakov> discussed there 16:13:04 <akurtakov> and only after that enabled 16:13:11 <mizdebsk> i made several announcements on java-devel, noone really answered 16:13:24 <akurtakov> mizdebsk: about embedding parent poms ? 16:13:46 <akurtakov> such thing deserves ATTENTION: Major change coming 16:14:05 <mizdebsk> i'm not embedding them myself, upstream Maven does 16:14:37 <mizdebsk> i only write them to disk as a kind of cache so we don;t need tens of dependencies to repeat the process when rebuilding next package\ 16:15:01 <mizdebsk> the code was developed publicly from the very beginning 16:15:08 <akurtakov> mizdebsk: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-dependency-analyzer/1.3/maven-dependency-analyzer-1.3.pom 16:15:11 <mizdebsk> everytone is welcome to join, discuss, develop it 16:15:21 <akurtakov> I don't see parent being removed ? 16:16:22 <akurtakov> when there is something approved, the one proposing a change needs to advertise it 16:16:32 <akurtakov> not everyone else to look in his code repositoriy 16:16:34 <vanaltj> fwiw, most of the mail I see about this was more like announcement "this is what is about to or has already happened" rather than proposal. 16:17:50 <akurtakov> so now I said what I think about this change 16:18:00 <akurtakov> this doesn't mean I'm against xmvn 16:18:20 <akurtakov> I would like to see it being default/advertized way 16:18:27 <akurtakov> but with embedding parent poms removed 16:18:32 <vanaltj> let me see if I understand the mass rebuild issue. 16:18:49 <vanaltj> if some small implementation bug is fixed, even if API/ABI doesn't change, it still requires rebuild? 16:19:30 <sochotni> vanaltj: this embedding is only happening for parent pom.xml files 16:19:41 <akurtakov> vanaltj: it's really a build time only thing 16:19:44 <sochotni> i.e. xmvn installs effective pom 16:20:39 <sochotni> OK, so my proposal...which *does* affect guidelines as well.. 16:20:41 <vanaltj> is that yes or no? (sorry, I am not nearly as familiar with maven as you guys, despite *using* it :P ) 16:21:12 <mizdebsk> vanaltj: definitely not 16:21:20 <vanaltj> ok 16:22:03 <sochotni> revert back to standard pom.xml files 16:22:22 <sochotni> add a guideline text which would limit BR/R on parent poms 16:22:41 <sochotni> so ONLY pure-maven packages can have "Requires: XX-parent" 16:22:42 <mizdebsk> effective poms are a *fundamental* principle behind xmvn 16:23:01 <mizdebsk> you can't just remive it without destroying the whole idea 16:23:04 <sochotni> and parent poms CAN NOT pull in additional deps besides parent poms 16:23:06 * tradej is afk 16:23:22 <sochotni> mizdebsk: nobody is talking about removing parent pom references 16:23:23 <akurtakov> mizdebsk: what stops you from using them but not installing them ? 16:23:43 <sochotni> akurtakov: still need them in buildroot 16:23:57 <sochotni> akurtakov: the parent packages I mean 16:24:09 <sochotni> one level lower 16:25:40 <sochotni> mizdebsk: what would be the issue with such an approach? 16:26:13 <mizdebsk> sochotni: multiple issues 16:26:18 <mizdebsk> 1) code duplication 16:26:48 <mizdebsk> instead of having a single R: in parent pom you have tens of repeated BR: in offspring packages 16:27:10 <mizdebsk> 2) R: can be genrated automaticcaly, BR cant 16:27:19 <mizdebsk> so you'd need to manage that duolicated code manually 16:27:58 <mizdebsk> 3) once package is built and tested a change to parent POM can break it 16:28:15 <akurtakov> my turn ? 16:28:21 <mizdebsk> (like some new dependency added in parent pom makes your pkg suddenly to stop working, not only building) 16:29:05 <mizdebsk> go ahead.. 16:29:07 <akurtakov> 1) code duplication : we would have copies of parent pom at different levels in the packages 16:29:33 <akurtakov> 2) not that a problem as pure maven packages can/will do require parents 16:30:08 <akurtakov> 3) not true for anything but maven as changing pom can affect only maven plugins 16:30:11 <akurtakov> at runtime 16:30:23 <akurtakov> about build breakage 16:30:36 <akurtakov> if building breaks you would better see it at build time not at runtime 16:31:03 <pingou> +1 on that 16:31:12 <pingou> I'd rather have my package not building than not working 16:31:18 <mizdebsk> 1) there is a difference between machine duplication of small metadata and manual maintenance of dependencies 16:31:46 <mizdebsk> 3) if you install effective pom then once you build your package it won't change because of some parent pom change 16:31:53 <mizdebsk> so i don't see your point 16:32:13 <sochotni> indeed I have to agree with mizdebsk here, the possibility of runtime brekage is actually smaller 16:32:23 <mizdebsk> if you don;t install effective poms then you can compile and test the package 16:32:24 <sochotni> it's much more likely (and happening) today 16:32:41 <akurtakov> 1) for the very small benefit of less BRs maintained manually you try to push many needed bumps/rebuilds needed for simple change 16:32:44 <mizdebsk> but the next day someone changes some POM and you need to follow up with updating your Requires 16:32:48 <mizdebsk> or you have broken package 16:32:57 <akurtakov> 3) don't live in maven world only - maven is build tool 16:33:04 <akurtakov> used to deliver what users use 16:33:17 <akurtakov> hence they don't care abour parent poms being effective or not 16:33:34 <akurtakov> and updating the parent pom 16:33:42 <mizdebsk> no, users do care 16:33:42 <akurtakov> will not break end user program 16:33:57 <akurtakov> except for packagers 16:34:03 <akurtakov> which I would not call users 16:34:05 <mizdebsk> users don't need 30 parent poms installed along with 40 maven plugins when they install freemind 16:34:19 <mizdebsk> or maven 16:34:30 <akurtakov> mizdebsk: fight mess with even more mess ? 16:34:35 <akurtakov> I dont' see there aren't bugs 16:34:47 <akurtakov> there are problems and they need to be fixed 16:34:52 <akurtakov> but this is not the way 16:35:12 <akurtakov> in the case of freemind 16:35:17 <mizdebsk> there are too many bugs to fix them manually, automatic requires generation provides a way to easily generate accurate dependencies 16:35:30 <mizdebsk> currently there is no standard how dependencies should be declared 16:35:33 <akurtakov> mizdebsk: so what stops you to generate automatic deps 16:35:43 <akurtakov> using the effective pom 16:35:46 <mizdebsk> some packages do declare dependency on POM, some don't 16:35:48 <akurtakov> but installing the normal one 16:35:48 <mizdebsk> etc/ 16:36:36 <sochotni> mizdebsk: that is because we do not have a policy for handling parent poms 16:36:44 <sochotni> that doesn't mean it can't change 16:36:47 <mizdebsk> i believe that the issue of effective/raw pom is out of sciope for this meeting 16:36:58 <sochotni> I'd still prefer if I didn't have to manually keep BRs/Rs up to date 16:37:20 <akurtakov> mizdebsk: it's a fundamental scope introduced with xmvn change 16:37:25 <mizdebsk> sochotni: if parent POm doesn't pull plugins for you then you will have to include them manually 16:37:39 <akurtakov> so voting on xmvn is related to this discussion 16:37:51 <akurtakov> unless we agree to vote on xmvn with this disabled 16:37:54 <akurtakov> until agreed 16:38:12 <mizdebsk> my point is that we won't have a consensus now, in a reasonable time 16:38:22 <mizdebsk> so let's better get keep going with other issues 16:38:38 <mizdebsk> and postpone the topic of effective vs raw pom for further discussion 16:38:47 <akurtakov> well, xmvn is the heart of the guideline changes 16:38:55 <akurtakov> if it will come with effective poms being installed 16:38:55 <rgrunber> just wondering, would it be possible for packagers to specify whether to embed, or just pull in from installed parent pom and have deps? 16:39:02 <akurtakov> I would vote the whole change -1 16:39:16 <akurtakov> if we can get xmvn installing normal poms I would vote +1 16:39:25 <akurtakov> that's why it makes huge difference 16:39:58 <mizdebsk> rgrunber: yes, you could install raw poms 16:40:22 <mizdebsk> but if you want to get simple and accurate automated requires then the only solution i can see is installing effective POMs 16:40:35 <mizdebsk> otherwise it's a mess 16:41:01 <mizdebsk> i analyzed many different possibilities, effective POM is the cleanest solution 16:41:20 <akurtakov> mizdebsk: have you ever thought out of curiosity why maven central installs normal poms not effective poms ? 16:41:48 <sochotni> mizdebsk: yes, but noone has seen/read that analysis which is causing the issue I'd say 16:42:09 <mizdebsk> akurtakov: maven has much more complicated dependency mechanisms 16:42:21 <sochotni> i.e. have a list of options, plusses, minuses and why you believe solution X is the right one 16:42:24 <mizdebsk> optional dependencies, dependency scopes, eclusions, ... 16:42:38 <mizdebsk> we CANNOT to that with rpm, which has much simpler dependency mechanism 16:43:02 <sochotni> akurtakov: plus, let's be honest...every package specifies exact parent pom version 16:43:16 <sochotni> so if you fix parent pom you still need to update all dependent packages 16:43:26 <akurtakov> sochotni: no 16:43:27 <mizdebsk> what works for maven central doesn't necessarly work for us 16:43:35 <akurtakov> we ignore versions 16:43:46 <akurtakov> hence I fix my apache/eclipse/whatever-parent 16:43:49 <akurtakov> and I'm done 16:44:04 <akurtakov> I don't need to rebuild everything the maven will throw in 16:44:28 <mizdebsk> akurtakov: maven central: you bump parent version and break it, offspring remain file because they have versioned R on parent 16:44:29 <sochotni> akurtakov: I assumed you were pointing to effective vs normal poms on Central due to this 16:44:47 <mizdebsk> effective pom: you break parebnt, offspring is still working because their effective pom didbnt change 16:45:01 <mizdebsk> raw pom: as soon as you break parent pom everything breaks 16:45:10 <akurtakov> mizdebsk: let me give you real example 16:45:12 <mizdebsk> so effective POM is much closer to upstream in this matter 16:45:21 <akurtakov> with the adventure of openjdk 16:45:36 <akurtakov> we had problems with plexus compilation 16:45:41 <akurtakov> target/source setting 16:46:10 <akurtakov> we fixed the parent in maven2-common-poms 16:46:20 <akurtakov> and voila everything was back and working 16:46:54 <akurtakov> same for javax.servlet:servlet but multiplyed 16:47:05 <akurtakov> so if I have effective pom 16:47:13 <akurtakov> I can't just fix the parent 16:47:22 <akurtakov> I should rebuild everything that embeds it 16:47:49 <mizdebsk> that's correct 16:48:00 <mizdebsk> but it works the other way too 16:48:26 <akurtakov> nope 16:48:41 <mizdebsk> let me give an example then 16:48:54 <mizdebsk> a real life example that caused much problem in fedora 16:49:24 <mizdebsk> someone updated parent POM in a *stable* release 16:49:39 <mizdebsk> new upstream versiuon added maven-enforcer-plugin 16:50:00 <mizdebsk> with a single update of this POM suddenly tens of packages FTBFS in a stable release 16:50:24 <mizdebsk> because parent POM was broken by adding enforcer plugin w/o declaring this as R: 16:50:27 <akurtakov> mizdebsk: something that is visible on the buildsystem and by packagers only 16:50:53 <akurtakov> while changing the pom makes a huge difference with regards to speaking to upstram 16:50:55 <mizdebsk> akurtakov: not only 16:51:15 <akurtakov> who else 16:51:25 <akurtakov> only people that do run mvn-rpmbuild 16:51:47 <mizdebsk> if parent pom added dependency on some huge package (that happened before) 16:52:13 <sochotni> mizdebsk: there's one more issue with effective poms I believe - you lose comments (including license headers from apache for example) 16:52:18 <mizdebsk> then your application dependency chain gets doubled or tripled 16:52:56 <mizdebsk> sochotni: i don't see how this is a problem 16:53:06 <mizdebsk> effective pom is supposed to be machine-readable only 16:53:16 <mizdebsk> and there are no legal issues about that 16:53:17 <akurtakov> mizdebsk: one simple question that needs yes or no answer 16:53:42 <mizdebsk> "who else?" any user 16:53:51 <mizdebsk> for multiple reasons 16:53:56 <akurtakov> can we have xmvn that doesn't installed effective pom? 16:54:05 <akurtakov> if we can't we should vote right now 16:54:10 <mizdebsk> akurtakov: yes you can 16:54:23 <mizdebsk> xmvn didn't use to install effective pom in the past 16:54:39 <sochotni> I have a suggestion: Let's have XMvn install normal pom.xml, look at guidelines as they are now 16:54:39 <akurtakov> ok, do we all aggree to continue with the guidelines 16:54:45 <mizdebsk> but with introduction of auto requires it has to install effective pom in order to keep dependencies sane 16:54:57 <sochotni> and we can discuss this on ML until our fingers bleed later 16:55:03 <akurtakov> with the prerequisite that xmvn will be switched back to installing normal pom 16:55:16 <sochotni> mizdebsk: we'll just have to complement parent pom requires for the time being 16:55:22 <sochotni> until we agree on a solution 16:55:25 <akurtakov> and for effective pom mizdebsk will have to convince us first 16:55:38 <sochotni> akurtakov: that was the general idea, yes 16:55:39 <akurtakov> via smth written 16:56:00 <akurtakov> sochotni: well, things in rawhide changed so this was needed 16:56:16 <akurtakov> no such change should ever happen without being approved by java sig and FPC first 16:58:21 <akurtakov> the biggest problem is that this was introduced without discussion 16:58:39 <akurtakov> and the opinion of other stackholders were not considered at all 16:58:53 <akurtakov> only after that come the technical problems 16:58:56 <sochotni> mizdebsk: so, OK with the proposal? 16:59:16 <mizdebsk> which one? 16:59:45 <sochotni> that we discuss guidelines as they are on the condition that XMvn installs non-effective poms 17:00:16 <sochotni> I assume this will mean that almost every package already using XMvn will have to be fixed 17:00:37 <sochotni> but that's to be expected since that was a test-run 17:00:45 <akurtakov> well, whatever we decide 17:00:51 <mizdebsk> i would rather pospone the whole guidelines change then 17:00:58 <akurtakov> xmvn needs to be reverted to install normal poms 17:01:01 <akurtakov> asap 17:01:06 <mizdebsk> auto-requires are the main factor driving the change 17:01:19 <mizdebsk> and effective pom are the basics behind it 17:01:21 <akurtakov> and changed to install effective pom only after/if we agree on it 17:01:21 <vanaltj> yeah partial guideline change now, more change later, this doesn't sound like the best thing. 17:02:09 <akurtakov> I'm fine to postpone the guidelines but xmvn needs to be reverted now 17:02:19 <mizdebsk> there is nothing to be reverted 17:02:24 <mizdebsk> xmvn is not in the guidelines 17:02:30 <mizdebsk> it's just a standard fedora package 17:02:33 <akurtakov> mizdebsk: even the behaviour 17:02:39 <akurtakov> or revert all packages using it 17:02:43 <akurtakov> to us mvn-rpmbuild 17:03:02 <mizdebsk> IMO packages using xmvn are in compliance with current guidelines 17:03:16 <mizdebsk> so unless you prove me wrong i disagree with the revert 17:03:17 <akurtakov> as they are using something not in the guidelines if you want to stay to the point 17:03:57 <akurtakov> guidelines say use mvn-rpmbuild 17:04:09 <akurtakov> mizdebsk: don't try to play word games 17:04:12 <akurtakov> others can do it too 17:04:26 <mizdebsk> akscram: no, they SHOULD use mvn-rpmbuild 17:04:28 <mizdebsk> not MUST 17:04:39 <mizdebsk> akurtakov: ^ 17:04:51 <vanaltj> what, besides guidelines, are reasons for revert? 17:04:52 <akurtakov> mizdebsk: don't let me escalate this to FESCO even 17:05:03 <akurtakov> changing the poms being installed 17:05:10 <sochotni> akurtakov: FPC 17:05:10 <vanaltj> (and what, besides guidelines, are reason to not revert?) 17:05:12 <akurtakov> is unapproved change 17:05:18 <akurtakov> and should have never happened 17:05:30 <mizdebsk> they are still POMs, effective or not they are valid POMs 17:05:37 <mizdebsk> so no violation here either 17:05:42 <vanaltj> akurtakov: let me rephrase, what's the damage from the change that happened? 17:06:02 <akurtakov> mizdebsk: have you ever read https://fedoraproject.org/wiki/Staying_close_to_upstream_projects?rd=PackageMaintainers/WhyUpstream 17:06:14 <akurtakov> vanaltj: the damage is that if you fix a parent pom 17:06:21 <vanaltj> (I'm trying to get a picture of what the least painful forward motion, regardless of history and what should/could have happened)... 17:06:24 <akurtakov> you need to rebuild all packages that has this as parent 17:06:34 <akurtakov> which you have no easy way to know 17:06:41 <akurtakov> as xmvn removed the parent declaration 17:06:50 <mizdebsk> so you do in upstream! 17:06:56 <akurtakov> and this will go through various levels 17:07:06 <mizdebsk> if you fix upstream artifact you need to modify ALL dependant artifacts and bump version! 17:07:15 <vanaltj> thire is no xmvn --what-depends-on-me ? 17:07:20 <akurtakov> mizdebsk: no 17:07:26 <akurtakov> when you fix glib 17:07:30 <mizdebsk> so my solution is much closer to upstream 17:07:35 <akurtakov> you don't have to rebuild all the packages that require on it 17:07:46 <sochotni> vanaltj: you can do repoquery --arch=src --whatrequires XXX-parent 17:07:48 <mizdebsk> i thought we were talking about java, not glib 17:08:08 <akurtakov> mizdebsk: parent poms are in the same category 17:08:09 <mizdebsk> in Maven world if you change artifact then you need to update all dependant artifacts 17:08:29 <akurtakov> mizdebsk: you don't in Fedora Maven world 17:08:29 <sochotni> vanaltj: that will basically ask "what buildrequires XXX-parent" 17:08:36 <mizdebsk> that change can be bugfix or bug 17:08:36 <akurtakov> which you try to introduce 17:08:42 <vanaltj> sochotni: ah right, of course :) 17:08:49 <sochotni> which in XMvn translates also to "What package embeds XXX-parent" 17:08:53 <akurtakov> sochotni: not that easy 17:09:11 <akurtakov> cause apache-parent will be embedded in many other parent poms 17:09:39 <sochotni> akurtakov: yes, you of course need do do --recursive 17:09:41 <mizdebsk> akurtakov: repoquery can list transttive dependencies out of the box, even print dependency trees 17:09:51 <mizdebsk> so it's not even easy, it's trivial 17:09:52 <sochotni> that's not the point though 17:09:53 <mizdebsk> a single command 17:10:11 <vanaltj> mizdebsk: as packager, I don't want to have to find and then rebuild all deps if I need to bump a parent, and it sounds like reverting would prevent this. What technical reasons do you have against reverting? 17:10:13 <akurtakov> mizdebsk: do you absolutely reject the proposal to revert xmvn change 17:10:40 <mizdebsk> vanaltj: you won't need to do this, only in some extreme cases 17:10:44 <mizdebsk> like major bug 17:11:05 <pingou> which can happen 17:11:22 <vanaltj> that's not a technical reason why not to revert. 17:11:23 <mizdebsk> akurtakov: you mean revert packages using %mvn_build to mvn-rpmbuild ? 17:11:29 <akurtakov> mizdebsk: NO 17:11:30 <vanaltj> that's trying to minimalize the reason TO revert. 17:11:37 <akurtakov> revert xmvn to install normal poms 17:11:58 <vanaltj> ah right two different revert options... 17:12:21 <akurtakov> mizdebsk: simple yes/no please 17:12:26 <mizdebsk> akurtakov: xmvn is a build tool only, if you use mvn-rpmbuild you still install raw poms manually 17:12:30 <akurtakov> I don't have more time to spend in circles 17:12:30 <mizdebsk> no harm done 17:12:39 <mizdebsk> only %mvn_install installs effective POMs 17:12:39 <akurtakov> yes or no? 17:12:52 <vanaltj> ok so revert packages by inverting the change that we had a couple weeks ago? 17:12:57 <akurtakov> I don't like word games 17:13:18 <mizdebsk> revert packages from %mvn_build back to mvn-rpmbuild? i DO mind 17:13:24 <akurtakov> vanaltj: no, the change was introduced after that 17:13:32 <akurtakov> without being discussed here first 17:13:54 <sochotni> mizdebsk: akurtakov meant mostly about installing normal, not effective poms 17:13:57 <sochotni> I believe 17:14:02 <akurtakov> mizdebsk: revent %mvn_build to install normal poms 17:14:08 <sochotni> i..e change xmvn to install non-effective poms 17:14:23 <mizdebsk> and i already said, autorequires will NOT work properly with this change 17:14:37 <akurtakov> they will but not fully 17:14:44 <mizdebsk> so if you use %mvn_build/%mvn_install and install raw poms instead of effective poms, you'll get a real mess 17:14:47 <mizdebsk> dependency bloat 17:14:52 <mizdebsk> so yes, i DO mind that 17:15:04 <vanaltj> are packages using auto-requires already? 17:15:14 <mizdebsk> vanaltj: yes 17:15:15 <sochotni> vanaltj: yes, about 50-60 17:15:26 <vanaltj> from before this effective poms change? 17:15:42 <akurtakov> mizdebsk: as it's mine vs yours opinion 17:15:43 <vanaltj> or packages updated for this change. 17:15:50 <akurtakov> I would let others vote and decide 17:15:53 <akurtakov> mizdebsk: wdyt ? 17:15:59 <akurtakov> we made our statements 17:16:11 <mizdebsk> i would postpone it for more discussion before letting others decide 17:16:40 <sochotni> vanaltj: repoquery --repoid=rawhide --whatprovides '/usr/share/maven-fragments/*xml' | wc -l 17:16:40 <akurtakov> mizdebsk: you can not enforce others to accept your change 17:16:45 <sochotni> 135 (binary rpms) 17:17:16 <mizdebsk> akurtakov: it's not about enforcing anyone to do anything 17:17:16 <akurtakov> and you do it already by using your proven packager 17:17:20 <mizdebsk> akurtakov: it's about choice 17:17:25 <akurtakov> you enforce effective poms on me 17:17:30 <mizdebsk> you have a chioce which tool you want to use 17:17:37 <akurtakov> for packages that you don't own 17:17:37 <vanaltj> sochotni: what I'm trying to figure out is if packages have been changed already that depend on the new xmvn changes under dispute. 17:17:39 <mizdebsk> %mvn_build vs mvn-rpmbuild 17:17:41 <akurtakov> and you do that choice 17:17:44 <sochotni> vanaltj: yes 17:17:51 <akurtakov> without the maintainer even knows about it 17:18:00 <vanaltj> ugh. 17:18:02 <sochotni> mizdebsk: actually effective poms do affect even mvn-rpmbuild packages 17:18:04 <mizdebsk> akurtakov: in which case? 17:18:18 <mizdebsk> i don't recall changing any package to the new style w/o asking maintainer 17:18:42 <sochotni> before this gets ad-hominem... 17:18:55 <sochotni> stop 17:18:57 <sochotni> both of you 17:19:21 <vanaltj> so, if xmvn gets reverted, there are these 135-odd binary rpms that also must be reverted? 17:19:27 <mizdebsk> all i want is to stop (postpone it) and go on with other stuff (if any) 17:20:01 <sochotni> vanaltj: there are 2 more or less options 17:20:25 <sochotni> revert all xmvn-using packages (around 100) to use mvn-rpmbuild 17:20:27 <sochotni> not ideal 17:20:28 <mizdebsk> vanaltj: no, there's nothing broken, that packages can stay 17:21:07 <sochotni> or make xmvn install non-effective pom which will make auto-requires a bit weird 17:21:19 <mizdebsk> these packages do follow guidelines: install POMs, have proper (implicit) requires on java, jpackage-utils etc. 17:21:20 <sochotni> and will cause some failures to be sure (especially in the beginning) 17:21:32 <mizdebsk> there is no necessity to revert them 17:21:46 <sochotni> and for that...I don't have a good answer 17:21:48 <akurtakov> I want to hear a vote here: 17:22:09 <akurtakov> who wants normal and who wants effective poms to be installed? 17:22:15 <akurtakov> normal 17:22:18 <mizdebsk> +1 effective 17:22:40 <sochotni> voting now doesn't help anything 17:22:53 <akurtakov> sochotni: it will help in my fpc 17:22:56 <akurtakov> ticket 17:23:01 <kdaniel> +1 normal. 17:23:19 <sochotni> akurtakov: I wanted to suggest that, since we are obviously out of line here 17:23:36 <akurtakov> ok, I want to point to the meeting minutes 17:23:44 <sochotni> for what it's worth I believe effective poms are better way to deal with stuff 17:23:47 <akurtakov> so they have the full picture 17:24:16 <sochotni> but current situation is less then ideal from guideline perspective 17:24:59 <rgrunber> i'd prefer normal poms, at least for now. 17:25:14 <sochotni> I don't think there's anything else to add really 17:25:20 <akurtakov> vanaltj: pingou: 17:25:53 <pingou> tbh I could follow the discussion but I don't know enought to vote for a side or the other 17:26:02 <vanaltj> I abstain, for similar reasons. 17:26:45 <pingou> I see the concern from akurtakov 17:26:52 <tradej> same as pingou and vanaltj 17:27:05 <msrb> same here 17:27:19 <akurtakov> aka the 4 of you are 0 17:27:31 <sochotni> so it's 2:2 if I counted correctly, not that it means much 17:27:33 <sochotni> IMO 17:27:36 <akurtakov> so normal/effective 3:2 17:27:38 <akurtakov> :) 17:27:44 <sochotni> oh right 17:27:46 <sochotni> sorry 17:27:46 <mizdebsk> no, obviously more discussion is needed as people are not sure 17:27:54 <sochotni> counted rgrunber and kdaniel as one :-D 17:27:57 <akurtakov> mizdebsk: yes, the problem is 17:28:09 <akurtakov> that change should happen after discussion not before it 17:28:13 <pingou> mizdebsk: discussion and information I think 17:28:20 <akurtakov> you fail to understand this point 17:28:30 <sochotni> we are obviously not going anywhere with this right now 17:28:36 <sochotni> so I am going the end the meeting 17:28:36 <vanaltj> I see issue with how this got introduced, and is a long term problem that needs to be sorted, but I'm not sure that I see reverting as helpful here other than to repair "the process". 17:28:46 <mizdebsk> akurtakov: the change happened only in my packages (or maintainers that approved the change) 17:28:59 <mizdebsk> if there are any bugs caused by that i'll fix them 17:29:17 <mizdebsk> why do you want to force me (and others) to one packaging style? 17:29:32 <sochotni> mizdebsk: there should only be one style 17:29:54 <sochotni> there will be multiple ways to package Maven artifacts over my dead body 17:30:17 <sochotni> we WILL agree or... 17:30:22 <mizdebsk> fedora is a free comminity, not a regime 17:30:42 <mizdebsk> package owners have ultimate decission what they want their packages to look like as long as it follows the policy 17:30:51 <sochotni> #endmeeting