2014-06-05 08:14:33

by chendt

[permalink] [raw]
Subject: [PATCH]statd: create statdpath dir if specify the "--with-statdpath=xx" parameter in configure nfs-utils source code

When configure the nfs-utils source code with "--with-statdpath=/foo" parameter,
#define NSM_DEFAULT_STATEDIR "/foo" will be generated in support/include/config.h file,
but Makefile will not create "/foo" dir.

Signed-off-by: [email protected]
---
Makefile.am | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index ae7cd16..5c9ef44 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -54,10 +54,10 @@ install-data-hook:
touch $(DESTDIR)$(statedir)/xtab; chmod 644 $(DESTDIR)$(statedir)/xtab
touch $(DESTDIR)$(statedir)/etab; chmod 644 $(DESTDIR)$(statedir)/etab
touch $(DESTDIR)$(statedir)/rmtab; chmod 644 $(DESTDIR)$(statedir)/rmtab
- mkdir -p $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak
touch $(DESTDIR)$(statedir)/state
- chmod go-rwx $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
- -chown $(statduser) $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
+ mkdir -p $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak
+ chmod go-rwx $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statedir)/state
+ -chown $(statduser) $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statedir)/state

uninstall-hook:
rm $(DESTDIR)$(statedir)/xtab
--
1.8.2.1


2014-06-05 12:38:57

by Trond Myklebust

[permalink] [raw]
Subject: Re: [PATCH]statd: create statdpath dir if specify the "--with-statdpath=xx" parameter in configure nfs-utils source code

On Thu, Jun 5, 2014 at 4:14 AM, Ditang Chen <[email protected]> wrote:
> When configure the nfs-utils source code with "--with-statdpath=/foo" parameter,
> #define NSM_DEFAULT_STATEDIR "/foo" will be generated in support/include/config.h file,
> but Makefile will not create "/foo" dir.
>
> Signed-off-by: [email protected]
> ---
> Makefile.am | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/Makefile.am b/Makefile.am
> index ae7cd16..5c9ef44 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -54,10 +54,10 @@ install-data-hook:
> touch $(DESTDIR)$(statedir)/xtab; chmod 644 $(DESTDIR)$(statedir)/xtab
> touch $(DESTDIR)$(statedir)/etab; chmod 644 $(DESTDIR)$(statedir)/etab
> touch $(DESTDIR)$(statedir)/rmtab; chmod 644 $(DESTDIR)$(statedir)/rmtab
> - mkdir -p $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak
> touch $(DESTDIR)$(statedir)/state
> - chmod go-rwx $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
> - -chown $(statduser) $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
> + mkdir -p $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak
> + chmod go-rwx $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statedir)/state
> + -chown $(statduser) $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statedir)/state
>

The file 'state' is owned by rpc.statd. Isn't it therefore also
subject to the --with-statdpath modifier?

At one point, the Fedora RPM packager even used to put it in
/var/lib/nfs/statd (as the manpage says it should) although that seems
to be broken now.

--
Trond Myklebust

Linux NFS client maintainer, PrimaryData

[email protected]

2014-06-06 03:17:18

by chendt

[permalink] [raw]
Subject: [PATCH]statd: create statdpath dir if specify the "--with-statdpath=xx" parameter in configure nfs-utils source code

When configure the nfs-utils source code with "--with-statdpath=/foo" parameter,
#define NSM_DEFAULT_STATEDIR "/foo" will be generated in support/include/config.h file,
but Makefile will not create "/foo" dir.

Signed-off-by: [email protected]
Reported-by: [email protected]
---
Makefile.am | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index ae7cd16..5824adc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -54,13 +54,13 @@ install-data-hook:
touch $(DESTDIR)$(statedir)/xtab; chmod 644 $(DESTDIR)$(statedir)/xtab
touch $(DESTDIR)$(statedir)/etab; chmod 644 $(DESTDIR)$(statedir)/etab
touch $(DESTDIR)$(statedir)/rmtab; chmod 644 $(DESTDIR)$(statedir)/rmtab
- mkdir -p $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak
- touch $(DESTDIR)$(statedir)/state
- chmod go-rwx $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
- -chown $(statduser) $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
+ mkdir -p $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak
+ touch $(DESTDIR)$(statdpath)/state
+ chmod go-rwx $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statdpath)/state
+ -chown $(statduser) $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statdpath)/state

uninstall-hook:
rm $(DESTDIR)$(statedir)/xtab
rm $(DESTDIR)$(statedir)/etab
rm $(DESTDIR)$(statedir)/rmtab
- rm $(DESTDIR)$(statedir)/state
+ rm $(DESTDIR)$(statdpath)/state
--
1.8.2.1


2014-06-17 18:06:33

by Steve Dickson

[permalink] [raw]
Subject: Re: [PATCH]statd: create statdpath dir if specify the "--with-statdpath=xx" parameter in configure nfs-utils source code



On 06/05/2014 11:17 PM, Ditang Chen wrote:
> When configure the nfs-utils source code with "--with-statdpath=/foo" parameter,
> #define NSM_DEFAULT_STATEDIR "/foo" will be generated in support/include/config.h file,
> but Makefile will not create "/foo" dir.
>
> Signed-off-by: [email protected]
> Reported-by: [email protected]
> ---
> Makefile.am | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
Committed....

steved
>
> diff --git a/Makefile.am b/Makefile.am
> index ae7cd16..5824adc 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -54,13 +54,13 @@ install-data-hook:
> touch $(DESTDIR)$(statedir)/xtab; chmod 644 $(DESTDIR)$(statedir)/xtab
> touch $(DESTDIR)$(statedir)/etab; chmod 644 $(DESTDIR)$(statedir)/etab
> touch $(DESTDIR)$(statedir)/rmtab; chmod 644 $(DESTDIR)$(statedir)/rmtab
> - mkdir -p $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak
> - touch $(DESTDIR)$(statedir)/state
> - chmod go-rwx $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
> - -chown $(statduser) $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
> + mkdir -p $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak
> + touch $(DESTDIR)$(statdpath)/state
> + chmod go-rwx $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statdpath)/state
> + -chown $(statduser) $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statdpath)/state
>
> uninstall-hook:
> rm $(DESTDIR)$(statedir)/xtab
> rm $(DESTDIR)$(statedir)/etab
> rm $(DESTDIR)$(statedir)/rmtab
> - rm $(DESTDIR)$(statedir)/state
> + rm $(DESTDIR)$(statdpath)/state
>

2014-06-05 14:20:49

by Trond Myklebust

[permalink] [raw]
Subject: Re: [PATCH]statd: create statdpath dir if specify the "--with-statdpath=xx" parameter in configure nfs-utils source code

On Thu, Jun 5, 2014 at 10:15 AM, Steve Dickson <[email protected]> wrote:
> Hey,
>
> On 06/05/2014 08:38 AM, Trond Myklebust wrote:
>> On Thu, Jun 5, 2014 at 4:14 AM, Ditang Chen <[email protected]> wrote:
>>> When configure the nfs-utils source code with "--with-statdpath=/foo" parameter,
>>> #define NSM_DEFAULT_STATEDIR "/foo" will be generated in support/include/config.h file,
>>> but Makefile will not create "/foo" dir.
>>>
>>> Signed-off-by: [email protected]
>>> ---
>>> Makefile.am | 6 +++---
>>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/Makefile.am b/Makefile.am
>>> index ae7cd16..5c9ef44 100644
>>> --- a/Makefile.am
>>> +++ b/Makefile.am
>>> @@ -54,10 +54,10 @@ install-data-hook:
>>> touch $(DESTDIR)$(statedir)/xtab; chmod 644 $(DESTDIR)$(statedir)/xtab
>>> touch $(DESTDIR)$(statedir)/etab; chmod 644 $(DESTDIR)$(statedir)/etab
>>> touch $(DESTDIR)$(statedir)/rmtab; chmod 644 $(DESTDIR)$(statedir)/rmtab
>>> - mkdir -p $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak
>>> touch $(DESTDIR)$(statedir)/state
>>> - chmod go-rwx $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
>>> - -chown $(statduser) $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
>>> + mkdir -p $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak
>>> + chmod go-rwx $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statedir)/state
>>> + -chown $(statduser) $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statedir)/state
>>>
>>
>> The file 'state' is owned by rpc.statd. Isn't it therefore also
>> subject to the --with-statdpath modifier?
> --with-statedir and --with-statdpath are basically the same thing.
> When --with-statdpath is not specified, its set to the --with-statedir
> value, that's why this these mkdir,chmod and chown were not needed.
> But I guess if you do want split out the statdpath from the statedir
> those mkdir,chmod and chown need to happen.
>
>
>>
>> At one point, the Fedora RPM packager even used to put it in
>> /var/lib/nfs/statd (as the manpage says it should) although that seems
>> to be broken now.
>>
> It still does... So does RHEL... We have being going that for years...
> How is that broken?
>

My nfs-utils rpms on Fedora seem to be creating /var/lib/nfs/state
instead of putting it in the statd subdirectory.



--
Trond Myklebust

Linux NFS client maintainer, PrimaryData

[email protected]

2014-06-05 14:15:59

by Steve Dickson

[permalink] [raw]
Subject: Re: [PATCH]statd: create statdpath dir if specify the "--with-statdpath=xx" parameter in configure nfs-utils source code

Hey,

On 06/05/2014 08:38 AM, Trond Myklebust wrote:
> On Thu, Jun 5, 2014 at 4:14 AM, Ditang Chen <[email protected]> wrote:
>> When configure the nfs-utils source code with "--with-statdpath=/foo" parameter,
>> #define NSM_DEFAULT_STATEDIR "/foo" will be generated in support/include/config.h file,
>> but Makefile will not create "/foo" dir.
>>
>> Signed-off-by: [email protected]
>> ---
>> Makefile.am | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/Makefile.am b/Makefile.am
>> index ae7cd16..5c9ef44 100644
>> --- a/Makefile.am
>> +++ b/Makefile.am
>> @@ -54,10 +54,10 @@ install-data-hook:
>> touch $(DESTDIR)$(statedir)/xtab; chmod 644 $(DESTDIR)$(statedir)/xtab
>> touch $(DESTDIR)$(statedir)/etab; chmod 644 $(DESTDIR)$(statedir)/etab
>> touch $(DESTDIR)$(statedir)/rmtab; chmod 644 $(DESTDIR)$(statedir)/rmtab
>> - mkdir -p $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak
>> touch $(DESTDIR)$(statedir)/state
>> - chmod go-rwx $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
>> - -chown $(statduser) $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
>> + mkdir -p $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak
>> + chmod go-rwx $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statedir)/state
>> + -chown $(statduser) $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statedir)/state
>>
>
> The file 'state' is owned by rpc.statd. Isn't it therefore also
> subject to the --with-statdpath modifier?
--with-statedir and --with-statdpath are basically the same thing.
When --with-statdpath is not specified, its set to the --with-statedir
value, that's why this these mkdir,chmod and chown were not needed.
But I guess if you do want split out the statdpath from the statedir
those mkdir,chmod and chown need to happen.


>
> At one point, the Fedora RPM packager even used to put it in
> /var/lib/nfs/statd (as the manpage says it should) although that seems
> to be broken now.
>
It still does... So does RHEL... We have being going that for years...
How is that broken?

steved.

2014-06-06 03:09:29

by chendt

[permalink] [raw]
Subject: Re: [PATCH]statd: create statdpath dir if specify the "--with-statdpath=xx" parameter in configure nfs-utils source code

On 06/05/2014 10:20 PM, Trond Myklebust wrote:
> On Thu, Jun 5, 2014 at 10:15 AM, Steve Dickson <[email protected]> wrote:
>> Hey,
>>
>> On 06/05/2014 08:38 AM, Trond Myklebust wrote:
>>> On Thu, Jun 5, 2014 at 4:14 AM, Ditang Chen <[email protected]> wrote:
>>>> When configure the nfs-utils source code with "--with-statdpath=/foo" parameter,
>>>> #define NSM_DEFAULT_STATEDIR "/foo" will be generated in support/include/config.h file,
>>>> but Makefile will not create "/foo" dir.
>>>>
>>>> Signed-off-by: [email protected]
>>>> ---
>>>> Makefile.am | 6 +++---
>>>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/Makefile.am b/Makefile.am
>>>> index ae7cd16..5c9ef44 100644
>>>> --- a/Makefile.am
>>>> +++ b/Makefile.am
>>>> @@ -54,10 +54,10 @@ install-data-hook:
>>>> touch $(DESTDIR)$(statedir)/xtab; chmod 644 $(DESTDIR)$(statedir)/xtab
>>>> touch $(DESTDIR)$(statedir)/etab; chmod 644 $(DESTDIR)$(statedir)/etab
>>>> touch $(DESTDIR)$(statedir)/rmtab; chmod 644 $(DESTDIR)$(statedir)/rmtab
>>>> - mkdir -p $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak
>>>> touch $(DESTDIR)$(statedir)/state
>>>> - chmod go-rwx $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
>>>> - -chown $(statduser) $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
>>>> + mkdir -p $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak
>>>> + chmod go-rwx $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statedir)/state
>>>> + -chown $(statduser) $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statedir)/state
>>>>
>>>
>>> The file 'state' is owned by rpc.statd. Isn't it therefore also
>>> subject to the --with-statdpath modifier?
>> --with-statedir and --with-statdpath are basically the same thing.
>> When --with-statdpath is not specified, its set to the --with-statedir
>> value, that's why this these mkdir,chmod and chown were not needed.
>> But I guess if you do want split out the statdpath from the statedir
>> those mkdir,chmod and chown need to happen.
>>
>>
>>>
>>> At one point, the Fedora RPM packager even used to put it in
>>> /var/lib/nfs/statd (as the manpage says it should) although that seems
>>> to be broken now.
>>>
>> It still does... So does RHEL... We have being going that for years...
>> How is that broken?
>>
>
> My nfs-utils rpms on Fedora seem to be creating /var/lib/nfs/state
> instead of putting it in the statd subdirectory.
>
I tested it on RHEL, the file 'state' subject to the --with-statdpath modifier.

nfs-utils rpms on Fedora/RHEL split out the statdpath from the statedir,configure
with '--with-statdpath=/var/lib/nfs/statd', and creating /var/lib/nfs/state file,
but '/var/lib/nfs/state' seems not to be used, the really be used file is
/var/lib/nfs/statd/state.

I‘ll send another patch to fix it.
>
>