Removing sub-parts from the remote parts ecosystem.
Joe Talbott
joe.talbott at canonical.com
Wed Aug 10 11:51:10 UTC 2016
On Aug 10, 2016 2:15 AM, "Didier Roche" <didrocks at ubuntu.com> wrote:
>
> Le 09/08/2016 à 23:41, Joe Talbott a écrit :
> > Dear Snapcrafters,
>
> Hey Joe,
> >
> > The wiki introduced the concept of sub-parts and used namespacing to
> > associate a list of sub-parts with a project-part. However the
> > concept was ill-conceived and now needs to be removed. In essence,
> > all parts should be top level parts. Each entry in the wiki should
> > identify one or more parts from a snapcraft.yaml file that are
> > considered to be useful to other snapcraft users. A current example
> > of subparts might look like this:
> >
> > ---
> > origin: https://github.com/josepht/snaptastic
> > maintainer: Joe Talbott <joe.talbott at canonical.com>
> > description: Some fun parts
> > project-parts: fun-part
> > parts: [a, b, c]
> >
> > Which would produce parts ‘fun-part/a’, ‘fun-part/b’, and
> > ‘fun-part/c’. The new approach should be:
> >
> > ---
> > origin: https://github.com/josepht/snaptastic
> > maintainer: Joe Talbott <joe.talbott at canonical.com>
> > description: Some fun parts
> > parts: [fun-part, fun-part-a, fun-part-b, fun-part-c]
> >
> > Where the hierarchy is removed and each part is a top-level part. The
> > part names will need to be changed in the snapcraft.yaml file as well.
> >
>
> Namespacing was really nice for things like desktop/ parts
> (desktop/gtk3, desktop/gtk2, desktop/qt5, desktop/qt4,
> desktop/glibonly). There is as well mqtt-paho/python2 and
> pqtt-patho/python3.
> A lot of existing snaps are using those already and I find it really sad
> that we are going to break backward compatibility for a feature that was
> prominently advocated for in our blog posts like
> http://blog.sergiusens.org/posts/The-Snapcraft-Parts-Ecosystem/.
> Developers prefer to work on their snap rather than fighting for keeping
> it working with latest snapcraft/store, please keep that in mind.
>
> I think at least a reasonable approach would be to have a transition
> plan for a period of time backed into the tool. That means that
> snapcraft needs to be able to detect namespaced parts, and suggests
> corresponding new part name to use (as we only have 7 of them, that
> seems reasonable to handle the mapping by hand). I think that will put a
> nice precedent on how we care about developer experience, and try to
> minimize the impact on everyone. Is there anything like this planned?
The plan would be to convert the wiki parts and their origins but to have a
deprecation warning for any snapcraft.yaml using the namespaced part names
and to have snapcraft automatically convert '/' to '-' during part
loading. This should lessen the pain for developers and allow them to make
plans to update their snapcraft.yaml files.
Thanks,
Joe
>
> Also, please do not break this feature before the parts are transitioned
> to the new name scheme.
>
> My 2 cents
> Didier
>
>
> --
> Snapcraft mailing list
> Snapcraft at lists.snapcraft.io
> Modify settings or unsubscribe at:
https://lists.ubuntu.com/mailman/listinfo/snapcraft
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/snapcraft/attachments/20160810/8e6d59e9/attachment.html>
More information about the Snapcraft
mailing list