All of lore.kernel.org
 help / color / mirror / Atom feed
* recipe design curiosity: how to best install a package configuration file?
@ 2020-03-20 11:04 Robert P. J. Day
  2020-03-20 11:15 ` Ankur Tyagi
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Robert P. J. Day @ 2020-03-20 11:04 UTC (permalink / raw)
  To: OE Core mailing list


  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


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-03-20 12:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-20 11:04 recipe design curiosity: how to best install a package configuration file? Robert P. J. Day
2020-03-20 11:15 ` Ankur Tyagi
2020-03-20 11:32   ` Robert P. J. Day
2020-03-20 11:47     ` Ankur Tyagi
2020-03-20 11:28 ` Adrian Bunk
2020-03-20 11:57   ` Robert P. J. Day
2020-03-20 12:12 ` Quentin Schulz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.