diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-09-01 14:11:51 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-09-01 14:11:51 +0200 |
commit | 79c333899d318bf9b1eec3837833c7f0229d1906 (patch) | |
tree | d31f6513d6284bcc8dc9a7ec8523ec2fdfa1944c | |
parent | 3b43f166629efbb34e1b0ceeaa2f06452d0fed2f (diff) |
Move some application specific stuff out of libutil
This commit does the following:
- canonicalize_name is moved to libfstree
- source_date_epoch is only used inside libfstree, so it's also moved
over and can later be completely internalized
- print_version is moved over to sqfshelper. Mainly so it doesn't end
up in libsquashfs.so for no sane reason.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-rw-r--r-- | include/fstree.h | 17 | ||||
-rw-r--r-- | include/util.h | 16 | ||||
-rw-r--r-- | lib/Makemodule.am | 8 | ||||
-rw-r--r-- | lib/fstree/canonicalize_name.c (renamed from lib/util/canonicalize_name.c) | 2 | ||||
-rw-r--r-- | lib/fstree/source_date_epoch.c (renamed from lib/util/source_date_epoch.c) | 2 | ||||
-rw-r--r-- | lib/sqfshelper/print_version.c (renamed from lib/util/print_version.c) | 0 | ||||
-rw-r--r-- | tests/Makemodule.am | 2 | ||||
-rw-r--r-- | tests/canonicalize_name.c | 2 |
8 files changed, 26 insertions, 23 deletions
diff --git a/include/fstree.h b/include/fstree.h index 5b853f3..7ee105b 100644 --- a/include/fstree.h +++ b/include/fstree.h @@ -339,4 +339,21 @@ uint64_t find_equal_blocks(file_info_t *file, file_info_t *list, void optimize_unpack_order(fstree_t *fs, size_t num_jobs, file_info_t *out[num_jobs]); + +/* + Convert back to forward slashed, remove all preceeding and trailing slashes, + collapse all sequences of slashes, remove all path components that are '.' + and returns failure state if one of the path components is '..'. + + Returns 0 on success. +*/ +int canonicalize_name(char *filename); + +/* + If the environment variable SOURCE_DATE_EPOCH is set to a parsable number + that fits into an unsigned 32 bit value, return its value. Otherwise, + default to 0. + */ +uint32_t get_source_date_epoch(void); + #endif /* FSTREE_H */ diff --git a/include/util.h b/include/util.h index ba95b03..651a958 100644 --- a/include/util.h +++ b/include/util.h @@ -47,15 +47,6 @@ typedef struct sparse_map_t { } sparse_map_t; /* - Convert back to forward slashed, remove all preceeding and trailing slashes, - collapse all sequences of slashes, remove all path components that are '.' - and returns failure state if one of the path components is '..'. - - Returns 0 on success. -*/ -int canonicalize_name(char *filename); - -/* A wrapper around the write() system call. It retries the write if it is interrupted by a signal or only part of the data was written. Returns 0 on success. Writes to stderr on failure using 'errstr' as a perror style @@ -109,13 +100,6 @@ int popd(void); int padd_file(int outfd, uint64_t size, size_t blocksize); /* - If the environment variable SOURCE_DATE_EPOCH is set to a parsable number - that fits into an unsigned 32 bit value, return its value. Otherwise, - default to 0. - */ -uint32_t get_source_date_epoch(void); - -/* Helper for allocating data structures with flexible array members. 'base_size' is the size of the struct itself, 'item_size' the size of a diff --git a/lib/Makemodule.am b/lib/Makemodule.am index bc08cc9..7b63274 100644 --- a/lib/Makemodule.am +++ b/lib/Makemodule.am @@ -6,6 +6,8 @@ libfstree_a_SOURCES += lib/fstree/add_by_path.c lib/fstree/xattr.c libfstree_a_SOURCES += lib/fstree/node_from_path.c include/fstree.h libfstree_a_SOURCES += lib/fstree/gen_file_list.c lib/fstree/deduplicate.c libfstree_a_SOURCES += lib/fstree/optimize_unpack_order.c +libfstree_a_SOURCES += lib/fstree/canonicalize_name.c +libfstree_a_SOURCES += lib/fstree/source_date_epoch.c libfstree_a_CFLAGS = $(AM_CFLAGS) $(LIBSELINUX_CFLAGS) libfstree_a_CPPFLAGS = $(AM_CPPFLAGS) @@ -26,17 +28,17 @@ libsqfshelper_a_SOURCES += lib/sqfshelper/write_dir.c libsqfshelper_a_SOURCES += lib/sqfshelper/write_inode.c libsqfshelper_a_SOURCES += lib/sqfshelper/write_export_table.c libsqfshelper_a_SOURCES += lib/sqfshelper/xattr_reader.c +libsqfshelper_a_SOURCES += lib/sqfshelper/print_version.c libsqfshelper_a_SOURCES += include/data_reader.h lib/sqfshelper/data_reader.c libsqfshelper_a_SOURCES += include/data_writer.h lib/sqfshelper/data_writer.c libsqfshelper_a_SOURCES += include/xattr_reader.h lib/sqfshelper/write_xattr.c -libutil_la_SOURCES = lib/util/canonicalize_name.c lib/util/write_data.c +libutil_la_SOURCES = lib/util/write_data.c libutil_la_SOURCES += lib/util/read_data.c include/util.h -libutil_la_SOURCES += lib/util/print_version.c lib/util/mkdir_p.c +libutil_la_SOURCES += lib/util/mkdir_p.c libutil_la_SOURCES += lib/util/str_table.c include/str_table.h libutil_la_SOURCES += lib/util/dirstack.c lib/util/padd_file.c libutil_la_SOURCES += lib/util/read_data_at.c lib/util/alloc.c -libutil_la_SOURCES += lib/util/source_date_epoch.c libutil_la_CFLAGS = $(AM_CFLAGS) libutil_la_CPPFLAGS = $(AM_CPPFLAGS) diff --git a/lib/util/canonicalize_name.c b/lib/fstree/canonicalize_name.c index f99bc2a..15c02be 100644 --- a/lib/util/canonicalize_name.c +++ b/lib/fstree/canonicalize_name.c @@ -6,7 +6,7 @@ */ #include "config.h" -#include "util.h" +#include "fstree.h" static void normalize_slashes(char *filename) { diff --git a/lib/util/source_date_epoch.c b/lib/fstree/source_date_epoch.c index 1397e52..bbf2e42 100644 --- a/lib/util/source_date_epoch.c +++ b/lib/fstree/source_date_epoch.c @@ -5,7 +5,7 @@ * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> */ #include "config.h" -#include "util.h" +#include "fstree.h" #include <stdlib.h> #include <stdio.h> diff --git a/lib/util/print_version.c b/lib/sqfshelper/print_version.c index b23e2bd..b23e2bd 100644 --- a/lib/util/print_version.c +++ b/lib/sqfshelper/print_version.c diff --git a/tests/Makemodule.am b/tests/Makemodule.am index b242bd2..4b17b34 100644 --- a/tests/Makemodule.am +++ b/tests/Makemodule.am @@ -1,5 +1,5 @@ test_canonicalize_name_SOURCES = tests/canonicalize_name.c -test_canonicalize_name_LDADD = libutil.la +test_canonicalize_name_LDADD = libfstree.a test_mknode_simple_SOURCES = tests/mknode_simple.c test_mknode_simple_LDADD = libfstree.a diff --git a/tests/canonicalize_name.c b/tests/canonicalize_name.c index 64ca766..d67bc1e 100644 --- a/tests/canonicalize_name.c +++ b/tests/canonicalize_name.c @@ -6,7 +6,7 @@ */ #include "config.h" -#include "util.h" +#include "fstree.h" #include <string.h> #include <stdlib.h> |