On Mon, May 28, 2018 at 11:16 AM, Fabio Valentini <decatho...@gmail.com>
wrote:

> On Mon, May 28, 2018 at 11:13 AM Adam Samalik <asama...@redhat.com> wrote:
>
>
>
> > On Mon, May 28, 2018 at 11:05 AM, Fabio Valentini <decatho...@gmail.com>
> wrote:
>
> >> On Mon, May 28, 2018 at 10:58 AM Petr Šabata <con...@redhat.com> wrote:
>
> >> > On Sat, May 26, 2018 at 05:00:43PM +0200, Fabio Valentini wrote:
> >> > > On Sat, May 26, 2018 at 3:44 PM Neal Gompa <ngomp...@gmail.com>
> wrote:
> >> > >
> >> > > > On Sat, May 26, 2018 at 9:35 AM Fabio Valentini <
> decatho...@gmail.com>
> >> > > > wrote:
> >> > >
> >> > > > > Hi all,
> >> > >
> >> > > > > I think I finally found a scenario where building some of my
> (and
> >> > > > others') packages as modules would be beneficial.
> >> > >
> >> > > > > The situation is:
> >> > >
> >> > > > > - The syncthing package has a lot of golang dependencies.
> >> > > > > - Some of them are too old in fedora, even in fedora rawhide,
> and
> >> some
> >> > > of
> >> > > > them have not been touched in years.
> >> > > > > - However, some other packages may depend on those older
> versions,
> >> or
> >> > > the
> >> > > > packagers don't have time to check for compatibility.
> >> > >
> >> > > > > The idea for a solution I came up with:
> >> > >
> >> > > > > - Build syncthing as a module.
> >> > > > > - Add "syncthing" branches to all incompatible dependencies (I
> >> guess I
> >> > > > have to request commit/admin access to do that for packages I
> don't
> >> own
> >> > > > yet?).
> >> > > > > - Update those branches to use the exact same commit as the
> vendored
> >> > > > sources in upstream syncthing.
> >> > > > > - Use those modules as dependencies for the syncthing module.
> >> > >
> >> > > > > Is that a valid, feasible use case of modularity?
> >> > >
> >> > >
> >> > > > You can kind of pigeonhole it into that, but I think you might be
> >> better
> >> > > > served by vendoring things you can't use from Fedora packages and
> >> going
> >> > > > from there.
> >> > >
> >> > > > The problem is that you're touching other people's packages and
> hoping
> >> > > they
> >> > > > don't make those branches go away. And at the end of it, the
> output
> >> would
> >> > > > be a single package that lives outside of the normal repo metadata
> and
> >> > > only
> >> > > > modularity-enabled clients would be able to install it.
> >> > >
> >> > > > The excludes most of the package managers that people can use in
> >> Fedora
> >> > > > right now.
> >> > >
> >> > > > It might make sense if you could describe which dist-git commit to
> >> use in
> >> > > > the module definition, regardless of what's actually released in
> the
> >> main
> >> > > > repos, and it would just build from those until you upgrade it.
> That
> >> would
> >> > > > avoid the need for branches in all the golang packages you need
> for
> >> > > > syncthing.
> >> > >
> >> > > I don't think that would be the case.
> >> > > An upstream commit that's newer than anything that has ever been
> >> packaged
> >> > > before for a fedora branch is never available, not even if I could
> >> target
> >> > > other dist-git commits. That's why I thought of modularity.
>
> >> > I might not be following but:
>
> >> > * you can link to any git refs -- branches, tags, or commits
>
> >> Yes, Neal also pointed that out to me - but it doesn't help if the
> required
> >> dependency has to be newer than anything that has ever been packaged for
> >> fedora, does it?
>
>
> > Modules can only include RPM packages — so having an upstream dependency
> which is not packaged is not gonna work. But if you package it yourself
> (possibly in a stream branch), you'll be fine.
>
> Yes, that's exactly what I would do, because the "normal" branches of those
> dependencies can't / won't be updated to the version I need because of
> arising conflicts.
>

Exactly.

I'm one of the people directly involved with Modularity — feel free to ask
me questions, I'm happy to help.


>
>
>
> >> > * if you branch the dependencies, it's really up to you to maintain
> >> >    those; that also means you can use any versions and patches
>
> >> > I think modularity could solve your problem provided that you
> >> > are fine with the syncthing module overriding those dependency
> >> > packages when people enable it.
> >> > Neal's comment on support in package managers is valid.
> >> > This will get better over time but the current state of things
> >> > is also something to consider.
>
> >> > P
> >> > _______________________________________________
> >> > devel mailing list -- devel@lists.fedoraproject.org
> >> > To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> >> > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> >> > List Guidelines: https://fedoraproject.org/
> wiki/Mailing_list_guidelines
> >> > List Archives:
>
> https://lists.fedoraproject.org/archives/list/devel@lists.
> fedoraproject.org/message/2XSSRRCHAKOFCSHJ5NMVWK2LHFEXOA5W/
> >> _______________________________________________
> >> devel mailing list -- devel@lists.fedoraproject.org
> >> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> >> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> >> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> >> List Archives:
> https://lists.fedoraproject.org/archives/list/devel@lists.
> fedoraproject.org/message/Y2RRCYPTCK7WN6ZSC3XOCNX3Z2SA7XF5/
>
>
>
>
> > --
>
> > Adam Šamalík
> > ---------------------------
> > Software Engineer
> > Red Hat
> > _______________________________________________
> > devel mailing list -- devel@lists.fedoraproject.org
> > To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> > List Archives:
> https://lists.fedoraproject.org/archives/list/devel@lists.
> fedoraproject.org/message/VWYRTM33EGD5FSIBZOBVLIZS2JDO3PTJ/
> _______________________________________________
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.
> fedoraproject.org/message/Q7WQJCR6JKOE7SS5ZSQYHL3JQBUYTKF2/
>



-- 

Adam Šamalík
---------------------------
Software Engineer
Red Hat
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/VNUYHZH2DKC3AOF4PLMAROEEU54Z5XDS/

Reply via email to