aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-09-01 14:11:51 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-09-01 14:11:51 +0200
commit79c333899d318bf9b1eec3837833c7f0229d1906 (patch)
treed31f6513d6284bcc8dc9a7ec8523ec2fdfa1944c
parent3b43f166629efbb34e1b0ceeaa2f06452d0fed2f (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.h17
-rw-r--r--include/util.h16
-rw-r--r--lib/Makemodule.am8
-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.am2
-rw-r--r--tests/canonicalize_name.c2
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>