diff options
Diffstat (limited to 'package/squashfs')
-rw-r--r-- | package/squashfs/Makefile | 37 | ||||
-rw-r--r-- | package/squashfs/patches/patch-squashfs-tools_Makefile | 11 | ||||
-rw-r--r-- | package/squashfs/patches/patch-squashfs-tools_mksquashfs_c | 47 | ||||
-rw-r--r-- | package/squashfs/patches/patch-squashfs-tools_unsquashfs_c | 39 |
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 |