]> code.ossystems Code Review - openembedded-core.git/commitdiff
package.bbclass: support persistent /var/log
authorChen Qi <Qi.Chen@windriver.com>
Wed, 16 Aug 2017 11:57:18 +0000 (19:57 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 17 Aug 2017 09:04:31 +0000 (10:04 +0100)
Add a new file, fs-perms-persistent-log.txt, which treats /var/log
as a directory instead of a link.

Modify package.bbclass to use this file if VOLATILE_LOG_DIR is set to boolean
false value.

[YOCTO #6132]

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/package.bbclass
meta/files/fs-perms-persistent-log.txt [new file with mode: 0644]

index 2fe30dac0c049fe15316810d5bc35cc88ea4c91a..a051617ee1abb88e70aab5a4e44b075503a84f9b 100644 (file)
@@ -739,7 +739,7 @@ python fixup_perms () {
         bbpath = d.getVar('BBPATH')
         fs_perms_tables = d.getVar('FILESYSTEM_PERMS_TABLES')
         if not fs_perms_tables:
-            fs_perms_tables = 'files/fs-perms.txt'
+            fs_perms_tables = 'files/fs-perms.txt' if oe.types.boolean(d.getVar('VOLATILE_LOG_DIR', True)) else 'files/fs-perms-persistent-log.txt'
         for conf_file in fs_perms_tables.split():
             str += " %s" % bb.utils.which(bbpath, conf_file)
         return str
diff --git a/meta/files/fs-perms-persistent-log.txt b/meta/files/fs-perms-persistent-log.txt
new file mode 100644 (file)
index 0000000..3a7cf3a
--- /dev/null
@@ -0,0 +1,66 @@
+# This file contains a list of files and directories with known permissions.
+# It is used by the packaging class to ensure that the permissions, owners and
+# group of listed files and directories are in sync across the system.
+#
+# The format of this file 
+#
+#<path>        <mode>  <uid>   <gid>   <walk>  <fmode> <fuid>  <fgid>
+#
+# or
+#
+#<path> link <target>
+#
+# <path>: directory path
+# <mode>: mode for directory
+# <uid>:  uid for directory
+# <gid>:  gid for directory
+# <walk>: recursively walk the directory?  true or false
+# <fmode>: if walking, new mode for files
+# <fuid>:  if walking, new uid for files
+# <fgid>:  if walking, new gid for files
+# <target>: turn the directory into a symlink point to target
+#
+# in mode, uid or gid, a "-" means don't change any existing values
+#
+# /usr/src             0755    root    root    false   -       -       -
+# /usr/share/man       0755    root    root    true    0644    root    root
+
+# Note: all standard config directories are automatically assigned "0755 root root false - - -"
+
+# Documentation should always be corrected
+${mandir}              0755    root    root    true    0644    root    root
+${infodir}             0755    root    root    true    0644    root    root
+${docdir}              0755    root    root    true    0644    root    root
+${datadir}/gtk-doc     0755    root    root    true    0644    root    root
+
+# Fixup locales
+${datadir}/locale      0755    root    root    true    0644    root    root
+
+# Cleanup headers
+${includedir}          0755    root    root    true    0644    root    root
+${oldincludedir}       0755    root    root    true    0644    root    root
+
+# Cleanup debug src
+/usr/src/debug         0755    root    root    true    -       root    root
+
+# Items from base-files
+# Links
+${localstatedir}/run   link    /run
+${localstatedir}/lock  link    /run/lock
+${localstatedir}/tmp   link    volatile/tmp
+
+/home                          0755    root    root    false - - -
+/srv                           0755    root    root    false - - -
+${prefix}/src                  0755    root    root    false - - -
+${localstatedir}/local         0755    root    root    false - - -
+
+# Special permissions from base-files
+# Set 1777
+/tmp                           01777   root    root    false - - -
+${localstatedir}/volatile/tmp  01777   root    root    false - - -
+
+# Set 0700
+${ROOT_HOME}                   0700    root    root    false - - -
+
+# Set 2775-lsb
+${localstatedir}/mail          02775   root    mail    false - - -