diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-09-28 21:10:15 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-09-28 23:34:17 +0200 |
commit | f415b29255819e19ffde16018fb9ad02cbbfd17c (patch) | |
tree | 41dfa5a80fdb2015098ad5f4210acc4c21ec3cd0 | |
parent | 5e4d53c713d3f01ae2d24a7d2311d65761b143dc (diff) |
Move fstree selinux code to gensquashfs
Same rational as for the dir-scanner code: It's actually the only user and
it is going to get a lot closer integerated with libsquashfs.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-rw-r--r-- | include/fstree.h | 4 | ||||
-rw-r--r-- | lib/fstree/Makemodule.am | 7 | ||||
-rw-r--r-- | mkfs/Makemodule.am | 4 | ||||
-rw-r--r-- | mkfs/mkfs.h | 7 | ||||
-rw-r--r-- | mkfs/selinux.c (renamed from lib/fstree/selinux.c) | 10 |
5 files changed, 12 insertions, 20 deletions
diff --git a/include/fstree.h b/include/fstree.h index 110ad1f..a60b214 100644 --- a/include/fstree.h +++ b/include/fstree.h @@ -222,10 +222,6 @@ void fstree_xattr_deduplicate(fstree_t *fs); */ int fstree_from_file(fstree_t *fs, const char *filename, FILE *fp); -/* Add labels from an SELinux labeling file to all tree nodes. - Returns 0 on success. Internally prints errors to stderr. */ -int fstree_relabel_selinux(fstree_t *fs, const char *filename); - /* Returns 0 on success. Prints to stderr on failure */ int fstree_gen_inode_table(fstree_t *fs); diff --git a/lib/fstree/Makemodule.am b/lib/fstree/Makemodule.am index 960ab1d..fe2c5ca 100644 --- a/lib/fstree/Makemodule.am +++ b/lib/fstree/Makemodule.am @@ -6,12 +6,7 @@ libfstree_a_SOURCES += lib/fstree/add_by_path.c lib/fstree/xattr.c libfstree_a_SOURCES += include/fstree.h libfstree_a_SOURCES += lib/fstree/gen_file_list.c libfstree_a_SOURCES += lib/fstree/source_date_epoch.c -libfstree_a_CFLAGS = $(AM_CFLAGS) $(LIBSELINUX_CFLAGS) +libfstree_a_CFLAGS = $(AM_CFLAGS) libfstree_a_CPPFLAGS = $(AM_CPPFLAGS) -if WITH_SELINUX -libfstree_a_SOURCES += lib/fstree/selinux.c -libfstree_a_CPPFLAGS += -DWITH_SELINUX -endif - noinst_LIBRARIES += libfstree.a diff --git a/mkfs/Makemodule.am b/mkfs/Makemodule.am index f1e0d0d..75fc3a4 100644 --- a/mkfs/Makemodule.am +++ b/mkfs/Makemodule.am @@ -3,9 +3,11 @@ gensquashfs_SOURCES += mkfs/dirscan.c gensquashfs_LDADD = libsqfshelper.a libsquashfs.la libfstree.a libutil.la gensquashfs_LDADD += $(LIBSELINUX_LIBS) gensquashfs_CPPFLAGS = $(AM_CPPFLAGS) -gensquashfs_CFLAGS = $(AM_CFLAGS) +gensquashfs_CFLAGS = $(AM_CFLAGS) $(LIBSELINUX_CFLAGS) + if WITH_SELINUX gensquashfs_CPPFLAGS += -DWITH_SELINUX +gensquashfs_SOURCES += mkfs/selinux.c endif bin_PROGRAMS += gensquashfs diff --git a/mkfs/mkfs.h b/mkfs/mkfs.h index bce98d8..f00898b 100644 --- a/mkfs/mkfs.h +++ b/mkfs/mkfs.h @@ -23,6 +23,11 @@ #include <sys/xattr.h> #endif +#ifdef WITH_SELINUX +#include <selinux/selinux.h> +#include <selinux/label.h> +#endif + #include <getopt.h> #include <assert.h> #include <unistd.h> @@ -65,4 +70,6 @@ void process_command_line(options_t *opt, int argc, char **argv); int fstree_from_dir(fstree_t *fs, const char *path, unsigned int flags); +int fstree_relabel_selinux(fstree_t *fs, const char *filename); + #endif /* MKFS_H */ diff --git a/lib/fstree/selinux.c b/mkfs/selinux.c index 1cb921d..5fc4f52 100644 --- a/lib/fstree/selinux.c +++ b/mkfs/selinux.c @@ -4,15 +4,7 @@ * * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> */ -#include "config.h" - -#include "fstree.h" - -#include <selinux/selinux.h> -#include <selinux/label.h> -#include <string.h> -#include <stdlib.h> -#include <stdio.h> +#include "mkfs.h" #define XATTR_NAME_SELINUX "security.selinux" #define XATTR_VALUE_SELINUX "system_u:object_r:unlabeled_t:s0" |