[OE-core] [PATCH] base-files: Fix LSB NG Cases.

Mark Hatle mark.hatle at windriver.com
Wed Sep 2 02:45:48 UTC 2015


On 9/1/15 9:09 PM, Li, Xin wrote:
> Hi, Richard and Mark,
> 
> Thanks for your reply. 
> 
>> Subject: Re: [OE-core] [PATCH] base-files: Fix LSB NG Cases.
>>
>> On 9/1/15 4:13 PM, Richard Purdie wrote:
>>> On Thu, 2015-06-04 at 16:52 +0800, Li xin wrote:
>>>> -/tset/LSB.fhs/var/tmp/tmp-tc.
>>>>
>>>> The LSB Core test requires the /var/tmp directory supports creation of files.
>>>> And the mount tmpfs on /var/volatile cause the /var/tmp directory
>>>> can't be writable for non-root users.
>>>
>>> This change doesn't look correct to me, its a pretty fundamental
>>> change to the way the system operates and certainly needs more thought
>>> and justification than the few lines above.
>>>
>>> Surely if its a non-root users issue, the problem is permissions, not
>>> the tmpfs anyway?
>>
>> I agree.. How is /var/volatile mounted in your environment?
>>
>> /var/volatile should be mounted as a tmpfs with default root only permissions.
>> (basefiles: fstab)
>>
>> A directory, /var/volatile/tmp should be constructed (after volatile is mounted) with
>> perms 01777.  (initscripts: populate-volatile.sh)
>>
>> /var/tmp should be a symbolic link to /var/volatile/tmp.  (meta/files/fs-perms.txt)
>>
>> All of this will result in a /var/tmp that permits any user to write to it (as it should),
>> but keep it in the volatile area.
>>
>> You should figure out what part of this is not working properly.  (If I had to guess it's
>> the mount of the volatile and create of the tmp dir is not working for you -- or you
>> have a system where the default mount rules / init scripts have been modified in
>> some way.)
>>
> 
> On my system:
> 
> root # cat /etc/fstab
> # stock fstab - you probably want to override this with a machine specific one
> 
> /dev/root            /                    auto       defaults              1  1
> proc                 /proc                proc       defaults              0  0
> devpts               /dev/pts             devpts     mode=0620,gid=5       0  0
> usbdevfs             /proc/bus/usb        usbdevfs   noauto                0  0
> tmpfs                /run                 tmpfs      mode=0755,nodev,nosuid,strictatime 0  0
> tmpfs                /var/volatile        tmpfs      defaults              0  0
> 
> # uncomment this if your device has a SD/MMC/Transflash slot
> #/dev/mmcblk0p1       /media/card          auto       defaults,sync,noauto  0  0
> 
> root #
> root # ls /var/tmp -ld
> lrwxrwxrwx 1 root root 12 Aug 24 09:24 /var/tmp -> volatile/tmp
> 
> root # ls /var/tmp/ -ld
> drwxr-xr-x 3 root root 60 Sep  1 08:11 /var/tmp/
> root #

You have a configuration problem somewhere.  The populate-volatile.sh initscript
used the /etc/default/volatiles configuration file.

It has defined:

# <type> <owner> <group> <mode> <path> <linksource>
d root root 1777 /var/volatile/tmp none
l root root 1777 /var/tmp /var/volatile/tmp

So figure out if your configuration file is missing, you don't have the right
populate-volatile.sh initscript or there is something else going on.

The system is designed, by default, to make /var/volatile/tmp to be 1777.

> This will permit non-root users to write to /var/tmp/ dir,
> But the LSB test requires it can be writable for non-root users. So the test result is FAIL.

This doesn't have anything to do with the LSB.  Your system is broken for some
reason, bug, configuration problem or something else.  If it's a bug in OE, we
need to get it fixed -- if it's a configuration problem you should fix that instead.

--Mark

> Regards,
> Li
> 
>>>
>>>> Signed-off-by: Li Xin <lixin.fnst at cn.fujitsu.com>
>>>> ---
>>>>  meta/recipes-core/base-files/base-files/fstab | 1 -
>>>>  1 file changed, 1 deletion(-)
>>>>
>>>> diff --git a/meta/recipes-core/base-files/base-files/fstab
>>>> b/meta/recipes-core/base-files/base-files/fstab
>>>> index d79a016..458ec70 100644
>>>> --- a/meta/recipes-core/base-files/base-files/fstab
>>>> +++ b/meta/recipes-core/base-files/base-files/fstab
>>>> @@ -4,7 +4,6 @@
>>>>  proc                 /proc                proc       defaults
>> 0  0
>>>>  devpts               /dev/pts             devpts
>> mode=0620,gid=5       0  0
>>>>  tmpfs                /run                 tmpfs
>> mode=0755,nodev,nosuid,strictatime 0  0
>>>> -tmpfs                /var/volatile        tmpfs      defaults
>> 0  0
>>>>
>>>>  # uncomment this if your device has a SD/MMC/Transflash slot
>>>>  #/dev/mmcblk0p1       /media/card          auto
>> defaults,sync,noauto  0  0
>>>> --
>>>> 1.8.4.2
>>>>
>>>
>>>
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list