* [Buildroot] libdaemons localstatedir /usr/var
@ 2014-10-12 0:55 Jörg Krause
2014-10-12 7:18 ` Thomas Petazzoni
0 siblings, 1 reply; 9+ messages in thread
From: Jörg Krause @ 2014-10-12 0:55 UTC (permalink / raw)
To: buildroot
I have a package which uses libdaemon for running as a daemoon and for
creating the pid file. libdaemons default directory for opening the pid
file is /usr/var/run. However, buildroot does not create this directory
in the output directory by default. The package compiles successfully
but fails to run because of the missing directory.
How should I deal with this?
1) patch libdaemon.mk: LIBDAEMON_CONF_OPTS = ... --localstatedir=/var
2) add /usr/var/run to my rootfs overlay directory
What do you think? Any other suggestions?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20141012/e99f62df/attachment.html>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] libdaemons localstatedir /usr/var
2014-10-12 0:55 [Buildroot] libdaemons localstatedir /usr/var Jörg Krause
@ 2014-10-12 7:18 ` Thomas Petazzoni
2014-10-12 9:26 ` Jörg Krause
0 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2014-10-12 7:18 UTC (permalink / raw)
To: buildroot
Dear J?rg Krause,
On Sun, 12 Oct 2014 02:55:57 +0200, J?rg Krause wrote:
> I have a package which uses libdaemon for running as a daemoon and for
> creating the pid file. libdaemons default directory for opening the pid
> file is /usr/var/run. However, buildroot does not create this directory
> in the output directory by default. The package compiles successfully
> but fails to run because of the missing directory.
>
> How should I deal with this?
>
> 1) patch libdaemon.mk: LIBDAEMON_CONF_OPTS = ... --localstatedir=/var
> 2) add /usr/var/run to my rootfs overlay directory
>
> What do you think? Any other suggestions?
I'd say (1).
Isn't --localstatedir a common autoconf variable ? I see 26 packages
passing --localstatedir=/var in Buildroot. Maybe it's time to move as a
common definition, like --prefix=/usr ?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] libdaemons localstatedir /usr/var
2014-10-12 7:18 ` Thomas Petazzoni
@ 2014-10-12 9:26 ` Jörg Krause
2014-10-12 13:09 ` Arnout Vandecappelle
0 siblings, 1 reply; 9+ messages in thread
From: Jörg Krause @ 2014-10-12 9:26 UTC (permalink / raw)
To: buildroot
Dear Thomas Petazzoni,
On 10/12/2014 09:18 AM, Thomas Petazzoni wrote:
> Dear J?rg Krause,
>
> On Sun, 12 Oct 2014 02:55:57 +0200, J?rg Krause wrote:
>> I have a package which uses libdaemon for running as a daemoon and for
>> creating the pid file. libdaemons default directory for opening the pid
>> file is /usr/var/run. However, buildroot does not create this directory
>> in the output directory by default. The package compiles successfully
>> but fails to run because of the missing directory.
>>
>> How should I deal with this?
>>
>> 1) patch libdaemon.mk: LIBDAEMON_CONF_OPTS = ... --localstatedir=/var
>> 2) add /usr/var/run to my rootfs overlay directory
>>
>> What do you think? Any other suggestions?
> I'd say (1).
Looks good. I will prepare a patch.
> Isn't --localstatedir a common autoconf variable ? I see 26 packages
> passing --localstatedir=/var in Buildroot. Maybe it's time to move as a
> common definition, like --prefix=/usr ?
Yes, it is. There was a discussion on the mailing list long time ago:
Making --localstatedir=/var global?
(http://lists.busybox.net/pipermail/buildroot/2011-April/042918.html.)
And also this one:
Bizarre things on the allyespackageconfig build
(http://lists.busybox.net/pipermail/buildroot/2013-May/071856.html)
Best regards
J?rg Krause
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20141012/44a6492c/attachment.html>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] libdaemons localstatedir /usr/var
2014-10-12 9:26 ` Jörg Krause
@ 2014-10-12 13:09 ` Arnout Vandecappelle
2014-10-12 15:56 ` Jörg Krause
2014-10-17 0:21 ` Jörg Krause
0 siblings, 2 replies; 9+ messages in thread
From: Arnout Vandecappelle @ 2014-10-12 13:09 UTC (permalink / raw)
To: buildroot
On 12/10/14 11:26, J?rg Krause wrote:
> Dear Thomas Petazzoni,
>
> On 10/12/2014 09:18 AM, Thomas Petazzoni wrote:
>> Dear J?rg Krause,
>>
>> On Sun, 12 Oct 2014 02:55:57 +0200, J?rg Krause wrote:
>>> I have a package which uses libdaemon for running as a daemoon and for
>>> creating the pid file. libdaemons default directory for opening the pid
>>> file is /usr/var/run. However, buildroot does not create this directory
>>> in the output directory by default. The package compiles successfully
>>> but fails to run because of the missing directory.
>>>
>>> How should I deal with this?
>>>
>>> 1) patch libdaemon.mk: LIBDAEMON_CONF_OPTS = ... --localstatedir=/var
>>> 2) add /usr/var/run to my rootfs overlay directory
>>>
>>> What do you think? Any other suggestions?
>> I'd say (1).
>
> Looks good. I will prepare a patch.
>
>> Isn't --localstatedir a common autoconf variable ? I see 26 packages
>> passing --localstatedir=/var in Buildroot. Maybe it's time to move as a
>> common definition, like --prefix=/usr ?
>
> Yes, it is. There was a discussion on the mailing list long time ago:
>
> Making --localstatedir=/var global?
> (http://lists.busybox.net/pipermail/buildroot/2011-April/042918.html.)
>
> And also this one:
>
> Bizarre things on the allyespackageconfig build
> (http://lists.busybox.net/pipermail/buildroot/2013-May/071856.html)
+1 to making it a global pkg-autotools option. J?rg, care to prepare a patch
for that? Removing the existing --localstatedir should be a separate patch then.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] libdaemons localstatedir /usr/var
2014-10-12 13:09 ` Arnout Vandecappelle
@ 2014-10-12 15:56 ` Jörg Krause
2014-10-12 16:13 ` Thomas Petazzoni
2014-10-17 0:21 ` Jörg Krause
1 sibling, 1 reply; 9+ messages in thread
From: Jörg Krause @ 2014-10-12 15:56 UTC (permalink / raw)
To: buildroot
On 10/12/2014 03:09 PM, Arnout Vandecappelle wrote:
> On 12/10/14 11:26, J?rg Krause wrote:
>> Dear Thomas Petazzoni,
>>
>> On 10/12/2014 09:18 AM, Thomas Petazzoni wrote:
>>> Dear J?rg Krause,
>>>
>>> On Sun, 12 Oct 2014 02:55:57 +0200, J?rg Krause wrote:
>>>> I have a package which uses libdaemon for running as a daemoon and for
>>>> creating the pid file. libdaemons default directory for opening the pid
>>>> file is /usr/var/run. However, buildroot does not create this directory
>>>> in the output directory by default. The package compiles successfully
>>>> but fails to run because of the missing directory.
>>>>
>>>> How should I deal with this?
>>>>
>>>> 1) patch libdaemon.mk: LIBDAEMON_CONF_OPTS = ... --localstatedir=/var
>>>> 2) add /usr/var/run to my rootfs overlay directory
>>>>
>>>> What do you think? Any other suggestions?
>>> I'd say (1).
>> Looks good. I will prepare a patch.
>>
>>> Isn't --localstatedir a common autoconf variable ? I see 26 packages
>>> passing --localstatedir=/var in Buildroot. Maybe it's time to move as a
>>> common definition, like --prefix=/usr ?
>> Yes, it is. There was a discussion on the mailing list long time ago:
>>
>> Making --localstatedir=/var global?
>> (http://lists.busybox.net/pipermail/buildroot/2011-April/042918.html.)
>>
>> And also this one:
>>
>> Bizarre things on the allyespackageconfig build
>> (http://lists.busybox.net/pipermail/buildroot/2013-May/071856.html)
> +1 to making it a global pkg-autotools option. J?rg, care to prepare a patch
> for that? Removing the existing --localstatedir should be a separate patch then.
I will prepare a patch for this. Should I add this to host configure,
too? I guess so...
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] libdaemons localstatedir /usr/var
2014-10-12 15:56 ` Jörg Krause
@ 2014-10-12 16:13 ` Thomas Petazzoni
2014-10-12 16:18 ` Arnout Vandecappelle
0 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2014-10-12 16:13 UTC (permalink / raw)
To: buildroot
Dear J?rg Krause,
On Sun, 12 Oct 2014 17:56:02 +0200, J?rg Krause wrote:
> >> Bizarre things on the allyespackageconfig build
> >> (http://lists.busybox.net/pipermail/buildroot/2013-May/071856.html)
> > +1 to making it a global pkg-autotools option. J?rg, care to prepare a patch
> > for that? Removing the existing --localstatedir should be a separate patch then.
>
> I will prepare a patch for this. Should I add this to host configure,
> too? I guess so...
If you add that to host configure, it should be $(HOST_DIR)/var.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] libdaemons localstatedir /usr/var
2014-10-12 16:13 ` Thomas Petazzoni
@ 2014-10-12 16:18 ` Arnout Vandecappelle
0 siblings, 0 replies; 9+ messages in thread
From: Arnout Vandecappelle @ 2014-10-12 16:18 UTC (permalink / raw)
To: buildroot
On 12/10/14 18:13, Thomas Petazzoni wrote:
> Dear J?rg Krause,
>
> On Sun, 12 Oct 2014 17:56:02 +0200, J?rg Krause wrote:
>
> >>> Bizarre things on the allyespackageconfig build
> >>> (http://lists.busybox.net/pipermail/buildroot/2013-May/071856.html)
> >> +1 to making it a global pkg-autotools option. J?rg, care to prepare a patch
> >> for that? Removing the existing --localstatedir should be a separate patch
> then.
> >
> > I will prepare a patch for this. Should I add this to host configure,
> > too? I guess so...
>
> If you add that to host configure, it should be $(HOST_DIR)/var.
But I don't think that there's any host package that does anything
useful with the localstatedir.
Regards,
Arnout
>
> Thomas
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] libdaemons localstatedir /usr/var
2014-10-12 13:09 ` Arnout Vandecappelle
2014-10-12 15:56 ` Jörg Krause
@ 2014-10-17 0:21 ` Jörg Krause
2014-10-17 8:53 ` Thomas Petazzoni
1 sibling, 1 reply; 9+ messages in thread
From: Jörg Krause @ 2014-10-17 0:21 UTC (permalink / raw)
To: buildroot
Dear Thomas Petazzoni,
Dear Arnout Vandecappelle,
On 10/12/2014 03:09 PM, Arnout Vandecappelle wrote:
> On 12/10/14 11:26, J?rg Krause wrote:
>>> >>Isn't --localstatedir a common autoconf variable ? I see 26 packages
>>> >>passing --localstatedir=/var in Buildroot. Maybe it's time to move as a
>>> >>common definition, like --prefix=/usr ?
>> >
>> >Yes, it is. There was a discussion on the mailing list long time ago:
>> >
>> > Making --localstatedir=/var global?
>> > (http://lists.busybox.net/pipermail/buildroot/2011-April/042918.html.)
>> >
>> >And also this one:
>> >
>> > Bizarre things on the allyespackageconfig build
>> > (http://lists.busybox.net/pipermail/buildroot/2013-May/071856.html)
> +1 to making it a global pkg-autotools option. J?rg, care to prepare a patch
> for that? Removing the existing --localstatedir should be a separate patch then.
I started with setting --localstatedir=/var globally. There are three
packages which set localstatedir to another directory as /var:
* dhcp: It's save to remove local localstatedir here. Is it used for
setting leases and pid files. All leases and pid files are set as config
options in the dhcp.mk.
* proftpd: Uses localstatedir to set the location of the pid file:
AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`")
AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo
"${localstatedir}/proftpd.pid"`")
Maybe a patch should set it to?:
AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}/run"`")
AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo
"${localstatedir}/run/proftpd.pid"`")
* mysql: localstatedir sets the location for database directories and
other files. Not sure how to handle this.
Do you have any suggestions?
J?rg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20141017/1dcc90c1/attachment.html>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] libdaemons localstatedir /usr/var
2014-10-17 0:21 ` Jörg Krause
@ 2014-10-17 8:53 ` Thomas Petazzoni
0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2014-10-17 8:53 UTC (permalink / raw)
To: buildroot
Dear J?rg Krause,
On Fri, 17 Oct 2014 02:21:29 +0200, J?rg Krause wrote:
> I started with setting --localstatedir=/var globally. There are three
> packages which set localstatedir to another directory as /var:
>
> * dhcp: It's save to remove local localstatedir here. Is it used for
> setting leases and pid files. All leases and pid files are set as config
> options in the dhcp.mk.
Ok.
> * proftpd: Uses localstatedir to set the location of the pid file:
>
> AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`")
> AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo
> "${localstatedir}/proftpd.pid"`")
>
> Maybe a patch should set it to?:
>
> AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}/run"`")
> AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo
> "${localstatedir}/run/proftpd.pid"`")
Sounds good.
> * mysql: localstatedir sets the location for database directories and
> other files. Not sure how to handle this.
You can keep a custom --localstatedir in mysql.mk.
One of the good thing with autoconf is that if you pass:
--localstatedir=/var ... --localstatedir=/var/something
Then /var/something will be used. So, we can set --localstatedir=/var
by default in the infrastructure, and still have certain packages doing
weird things override it.
So this also means that your patch should be in at least two steps: one
step adding --localstatedir=/var to the infrastructure, and then one
patch removing --localstatedir=/var from the packages where this is no
longer needed.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-10-17 8:53 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-12 0:55 [Buildroot] libdaemons localstatedir /usr/var Jörg Krause
2014-10-12 7:18 ` Thomas Petazzoni
2014-10-12 9:26 ` Jörg Krause
2014-10-12 13:09 ` Arnout Vandecappelle
2014-10-12 15:56 ` Jörg Krause
2014-10-12 16:13 ` Thomas Petazzoni
2014-10-12 16:18 ` Arnout Vandecappelle
2014-10-17 0:21 ` Jörg Krause
2014-10-17 8:53 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox