Hello Pavel, On Thu, Aug 31, 2017 at 4:37 PM, Pavel Raiskup <prais...@redhat.com> wrote:
> On Thursday, August 31, 2017 3:48:21 PM CEST Michal Novotny wrote: > > a) you need an additional db field. you need to have more inputs in SCM > tabs > > when one has a meaning only if 'custom' is selected in the srpm_generator > > select (which means you should hide/unhide that by js in frontend to > have nice > > user experience), then on API, you need to have one selector (const > argument) > > for srpm_generator and then another field (name of the script) that has > > meaning only if 'custom' has been selected (that will occur on more > places in > > the code). > > False. With 'make srpm' you still want to specify where the Makefile is. > I hope you don't expect that the only-for-copr Makefiles will be added to > the root of all the project in the wild... > > Anyway, I did not expected that you will complain about *one argument* in > API or anywhere else, that's nitpick. How expensive is that? :) I can > help you with this additional work, sure. > > > And having the selector in the first place is good because you can > supply a > > default value and you can implicitly point users to the well-established > tools > > where people can get more info about them and finally pick the tool most > > suitable for them. > > Off-topic, selector picks among tito/mock-scm/py2rpm/... or > arbitrary_script. Each method has an arguments. > > > Additionally `make srpm` carries the message so user knows what's > expected. > > Why do you care how the end-user names the script? :) > > > There also needs to be some kind of uniformity because we need to put the > > output srpm into the predefined place (git repo directory) and also such > > scripts would usually tend to have similar names (gen_srpm.py, > make_srpm.pl), > > so automatically it is good to have a predefined choice, I mean...why > not. > > How the "name of the generating tool" reflects where the result SRPM is > put, and how "copr is going to import that"? > > > You can call your any_script.xyz from the Makefile. > > No, I __have to__, and that's the difference :) What's the benefit on > enforcing it? > > > Everyone is familar with Makefiles and likes them (for simple things at > > least). > > (rofl) I wish this was truth. > > > It's a nice tradition. And the approach is the same thing as defining a > > callback method that is being called from a certain lib that goes back > to your > > code. > > > > b) I like Makefiles for simple things, I think it's a neat choice. Also I > > hope that the default choice ('rpkg') will serve pretty well. > > I like Makefiles too, but that's not about my/your preferences. > > Yes, let's have rpkg/tito/mock-scm/xxx2rpm/.. methods to obtain sources, > but > let's have also a fall-back option which matches everybody else. After > some time, we'll see how the fall-back is useful (and whether anybody > still uses other declarative and not-flexible methods...). > > > c) Note that you can cover your use-case (of any-name script) by simply > > calling that script by name from the Makefile if you want. So there is > nothing > > to be refactored. > > Will ninja people install some Makefile only because of CI in Copr? So > you either will be adding ninja support (mistake), or you replace the > "make srpm" build option with general one (api change that annoys users). > That's the refactoring I'm talking about. > > Thanks, > Pavel > Please, let's have an off-line talk. I think I can better clarify why I think `make srpm` is the best. It's mostly about where we are now and where we need to get. Or if there is a concrete use-case that you know that will break, please tell, so that we can find a solution immediately. But I think an off-line talk might be the best. Depends on you. > > > >Ok, even better -> allow specifying custom command, like: > > > > >Git Repo: > > > something.somewhere.git/project/foo > > >Command to get sources: > > cd packaging/rpm/fedora ; SOMEVAR=something ./generate-rpm.sh > --some-arg > > >Packages needed to obtain sources: > > help2man, gettext-devel, wget, git-lfs > > >SRPM pattern: > > packaging/rpm/fedora/xyz*.src.rpm > > > > >The pattern is important; plus we should declare that only the first > > matched > > >srpm is going to be built. > > > > This is already _very_ complicated at least for new users that we would > > also like > > to attract (in addition to satisfying power users). > > > > So these are my reasons. I am willing to discuss this but at the same > time > > I don't > > want to spend too much time on this because it really is an > implementation > > detail. > > > > | Pavel > > > > On Thu, Aug 31, 2017 at 1:47 PM, Pavel Raiskup <prais...@redhat.com> > wrote: > > > > > On Thursday, August 31, 2017 11:43:08 AM CEST Michal Novotny wrote: > > > > On Thu, Aug 31, 2017 at 8:43 AM, Pavel Raiskup <prais...@redhat.com> > > > wrote: > > > > > I'm curious why you insist on 'make srpm'; that sounds like you > try > > > to push > > > > > the copr users somewhere, to "standardize something". > > > > > > > > It's easier on implementation. That's the main reason. I generally > > > believe > > > > that what's easier on implementation is better. > > > > > > This is not first time we talk about this... > > > > > > (a) can you elaborate what's "easier" to implement on the 'make srpm' > way? > > > > > > (b) shouldn't you make a life easier to your users? Even when I really > > > like > > > make, what's easier on "enforcing" Makefile existence to be able to > > > enable CI in copr? > > > > > > (c) Wrong general belief, please, forget about that. Doing it wrong > (== an > > > "easier" way) in the beginning is much more expensive in the end > (try > > > to > > > grep for "refactor" word...). The proposal is to have "one method" > > > which suits everybody; and never touch it again. But yeah, > no-thanks > > > for > > > not listening. Again. > > > > > > Pavel > > > > > > > > > > >
_______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org