[OE-core] recipe design curiosity: how to best install a package configuration file?
Ankur Tyagi
ankur.tyagi85 at gmail.com
Fri Mar 20 11:47:26 UTC 2020
new recipe version (most likely) will have new release and expect any change
If you are concerned about recipe version in your layer then manage that
rather than copying original recipe file *as it is* in your layer
When upgrading recipe, anyway have to test it to make sure your image
doesn't break. So no way you will miss any breaking change introduced. And
at that point you could have (if needed) your custom version in "file/"
rather than always copying the working sample which is already maintained
by someone else
I wouldn't recommend to have copy of unchanged upstream files in a custom
layer
Cheers
Ankur
On Sat, Mar 21, 2020, 12:32 AM Robert P. J. Day <rpjday at crashcourse.ca>
wrote:
> On Sat, 21 Mar 2020, Ankur Tyagi wrote:
>
> > what if sample file is updated in new version? Now you have to
> > maintain the copy in your "file/" as well.
> >
> > If you are using sample file as it is, then keeping a copy is
> > probably not a good idea
> >
> > Cheers
> > Ankur
>
> i actually think that's an argument in my favour ... i would be very
> nervous about how upgrading a recipe version would quietly upgrade my
> configuration file. i would far prefer to have to manually upgrade my
> configuration to keep in step.
>
> rday
>
> > got into a discussion yesterday about the "cleanest" way to
> design a
> > .bbappend file to install a package's configuration file, so i'm
> > curious about best practices, and here's an example. (and i'm
> asking
> > as it looks like this will be an issue for a number of recipes i'm
> > looking at.)
> >
> > current recipe for conntrack-tools:
> >
> >
> http://cgit.openembedded.org/meta-openembedded/tree/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.5.bb
> >
> > note how the recipe install step installs a conntrack.conf.sample
> > file:
> >
> > do_install_append() {
> > install -d ${D}/${sysconfdir}/conntrackd
> > install -d ${D}/${sysconfdir}/init.d
> > install -m 0644 ${S}/doc/sync/ftfw/conntrackd.conf
> ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample
> > ...
> >
> > so far, so good. now, in cases where a sample conf file is
> provided,
> > there is, of course, no guarantee that it will be applicable out of
> > the box -- one *expects* that it might be necessary to tweak such a
> > file and install it as part of a .bbappend file. and here's the
> point
> > of contention.
> >
> > in this current situation, it turns out that that sample conf
> file
> > just happens to be appropriate, so the entire .bbappend file for
> this
> > recipe consists of:
> >
> > do_install_append () {
> > install -m 0644 \
> > ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample \
> > ${D}/${sysconfdir}/conntrackd/conntrackd.conf
> > }
> >
> > yes, that will work, but i suggested that, even though it's
> > convenient, the problem with that approach is that looking at the
> > .bbappend file doesn't show you the contents of the file that will
> be
> > installed. to see the actual conf file, you'd have to peruse the
> > source, or check the final result ... you get the idea.
> >
> > i suggested that, even though the sample file in *this* case was
> > perfectly appropriate, i would choose to make a copy of it under
> > files/, and install the conf file from *there*, the advantage being
> > that the actual file being installed is immediately readable.
> >
> > does anyone have any strong opinions on this? it seems mundane,
> but
> > i think the latter approach is still superior, especially since i
> > suspect most sample configuration files would have to be adjusted,
> > anyway.
> >
> > thoughts? just trying to collect some best practices to apply to
> > this project.
> >
> > rday
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
> >
> >
> >
>
> --
>
> ========================================================================
> Robert P. J. Day Ottawa, Ontario, CANADA
> http://crashcourse.ca
>
> Twitter: http://twitter.com/rpjday
> LinkedIn: http://ca.linkedin.com/in/rpjday
> ========================================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20200321/443d6bd3/attachment.html>
More information about the Openembedded-core
mailing list