summaryrefslogtreecommitdiff
path: root/package/squashfs
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-03-30 15:55:20 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-03-30 15:55:20 +0200
commit8aed1fcd443b550c15a21ddbf1b1d3899803120a (patch)
treece7c0a22c1d5ed7d437198b4447a3aa2fd578665 /package/squashfs
parent12c9d74bb923174117e28186e4a7698e623803a2 (diff)
rework hosttools building, add tools into package stuff
Diffstat (limited to 'package/squashfs')
-rw-r--r--package/squashfs/Makefile37
-rw-r--r--package/squashfs/patches/patch-squashfs-tools_Makefile11
-rw-r--r--package/squashfs/patches/patch-squashfs-tools_mksquashfs_c47
-rw-r--r--package/squashfs/patches/patch-squashfs-tools_unsquashfs_c39
4 files changed, 134 insertions, 0 deletions
diff --git a/package/squashfs/Makefile b/package/squashfs/Makefile
new file mode 100644
index 000000000..575849acd
--- /dev/null
+++ b/package/squashfs/Makefile
@@ -0,0 +1,37 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= squashfs
+PKG_VERSION:= 4.2
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 1b7a781fb4cf8938842279bd3e8ee852
+PKG_DESCR:= squashfs filesystem utilities
+PKG_SECTION:= fs
+PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=squashfs/}
+
+DISTFILES:= ${PKG_NAME}${PKG_VERSION}.tar.gz
+WRKDIST= ${WRKDIR}/$(PKG_NAME)${PKG_VERSION}
+
+PKG_CFLINE_SQUASHFS:= depends on ADK_HOST_ONLY
+
+include $(TOPDIR)/mk/host.mk
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,SQUASHFS,squashfs,$(PKG_VERSION)-${PKG_RELEASE}))
+
+HOST_STYLE:= manual
+HOST_MAKE_FLAGS+= XATTR_SUPPORT=0 XZ_SUPPORT=1 EXTRA_LDFLAGS=$(LDFLAGS_FOR_BUILD)
+
+host-build:
+ (cd ${WRKBUILD}/squashfs-tools && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ ${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET})
+
+squashfs-hostinstall:
+ ${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/bin
+ ${INSTALL_BIN} ${WRKBUILD}/squashfs-tools/mksquashfs \
+ ${STAGING_HOST_DIR}/usr/bin
+
+include ${TOPDIR}/mk/host-bottom.mk
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/squashfs/patches/patch-squashfs-tools_Makefile b/package/squashfs/patches/patch-squashfs-tools_Makefile
new file mode 100644
index 000000000..cc764141f
--- /dev/null
+++ b/package/squashfs/patches/patch-squashfs-tools_Makefile
@@ -0,0 +1,11 @@
+--- squashfs4.2.orig/squashfs-tools/Makefile 2011-02-28 21:04:15.000000000 +0100
++++ squashfs4.2/squashfs-tools/Makefile 2014-03-29 15:02:11.000000000 +0100
+@@ -93,7 +93,7 @@ XATTR_DEFAULT = 1
+ # End of BUILD options section #
+ ###############################################
+
+-INCLUDEDIR = -I.
++INCLUDEDIR = -I. $(CPPFLAGS_FOR_BUILD)
+ INSTALL_DIR = /usr/local/bin
+
+ MKSQUASHFS_OBJS = mksquashfs.o read_fs.o sort.o swap.o pseudo.o compressor.o
diff --git a/package/squashfs/patches/patch-squashfs-tools_mksquashfs_c b/package/squashfs/patches/patch-squashfs-tools_mksquashfs_c
new file mode 100644
index 000000000..877894c6c
--- /dev/null
+++ b/package/squashfs/patches/patch-squashfs-tools_mksquashfs_c
@@ -0,0 +1,47 @@
+--- squashfs4.2.orig/squashfs-tools/mksquashfs.c 2011-02-28 23:24:09.000000000 +0100
++++ squashfs4.2/squashfs-tools/mksquashfs.c 2014-03-29 15:02:16.000000000 +0100
+@@ -60,6 +60,10 @@
+ #include <sys/sysinfo.h>
+ #endif
+
++#ifndef FNM_EXTMATCH
++#define FNM_EXTMATCH 0
++#endif
++
+ #ifdef SQUASHFS_TRACE
+ #define TRACE(s, args...) \
+ do { \
+@@ -721,13 +725,13 @@ void cache_block_put(struct file_buffer
+ + (((char *)A) - data_cache)))
+
+
+-inline void inc_progress_bar()
++static inline void inc_progress_bar()
+ {
+ cur_uncompressed ++;
+ }
+
+
+-inline void update_progress_bar()
++static inline void update_progress_bar()
+ {
+ pthread_mutex_lock(&progress_mutex);
+ pthread_cond_signal(&progress_wait);
+@@ -735,7 +739,7 @@ inline void update_progress_bar()
+ }
+
+
+-inline void waitforthread(int i)
++static inline void waitforthread(int i)
+ {
+ TRACE("Waiting for thread %d\n", i);
+ while(thread[i] != 0)
+@@ -3340,7 +3344,7 @@ struct inode_info *lookup_inode(struct s
+ }
+
+
+-inline void add_dir_entry(char *name, char *pathname, struct dir_info *sub_dir,
++static inline void add_dir_entry(char *name, char *pathname, struct dir_info *sub_dir,
+ struct inode_info *inode_info, struct dir_info *dir)
+ {
+ if((dir->count % DIR_ENTRIES) == 0) {
diff --git a/package/squashfs/patches/patch-squashfs-tools_unsquashfs_c b/package/squashfs/patches/patch-squashfs-tools_unsquashfs_c
new file mode 100644
index 000000000..d57b184de
--- /dev/null
+++ b/package/squashfs/patches/patch-squashfs-tools_unsquashfs_c
@@ -0,0 +1,39 @@
+--- squashfs4.2.orig/squashfs-tools/unsquashfs.c 2011-02-28 23:27:06.000000000 +0100
++++ squashfs4.2/squashfs-tools/unsquashfs.c 2014-03-29 15:02:16.000000000 +0100
+@@ -29,7 +29,13 @@
+ #include "compressor.h"
+ #include "xattr.h"
+
++#ifndef FNM_EXTMATCH
++#define FNM_EXTMATCH 0
++#endif
++
++#ifdef __linux__
+ #include <sys/sysinfo.h>
++#endif
+ #include <sys/types.h>
+
+ struct cache *fragment_cache, *data_cache;
+@@ -1810,7 +1816,7 @@ void initialise_threads(int fragment_buf
+ "\n");
+
+ if(processors == -1) {
+-#ifndef linux
++#if 0
+ int mib[2];
+ size_t len = sizeof(processors);
+
+@@ -1821,11 +1827,13 @@ void initialise_threads(int fragment_buf
+ mib[1] = HW_NCPU;
+ #endif
+
++#ifdef __linux__
+ if(sysctl(mib, 2, &processors, &len, NULL, 0) == -1) {
+ ERROR("Failed to get number of available processors. "
+ "Defaulting to 1\n");
+ processors = 1;
+ }
++#endif
+ #else
+ processors = sysconf(_SC_NPROCESSORS_ONLN);
+ #endif