mirror of
https://github.com/Heleguo/lede.git
synced 2025-12-16 10:51:12 +00:00
tools/mtd-utils: fix build with ubuntu 18.04 LTS
This commit is contained in:
parent
dbbec549a7
commit
798d563de9
@ -7,13 +7,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mtd-utils
|
||||
PKG_VERSION:=2.2.1
|
||||
PKG_VERSION:=2.1.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=https://infraroot.at/pub/mtd/
|
||||
PKG_HASH:=f7ae20b2eb79ee83441468f0b99d897024cd96ff853eea59106fb1952065c803
|
||||
PKG_CPE_ID:=cpe:/a:mtd-utils_project:mtd-utils
|
||||
PKG_SOURCE_URL:=ftp://ftp.infradead.org/pub/mtd-utils/
|
||||
PKG_HASH:=8ad4c5f34716d40646aa28724a2f5616d325a6f119254f914e26976f1f76e9d6
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
--- a/jffsX-utils/compr_lzo.c
|
||||
+++ b/jffsX-utils/compr_lzo.c
|
||||
@@ -24,7 +24,6 @@
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
@@ -26,7 +26,6 @@
|
||||
#include <string.h>
|
||||
|
||||
#ifndef WITHOUT_LZO
|
||||
-#include <asm/types.h>
|
||||
#include <linux/jffs2.h>
|
||||
#include <lzo/lzo1x.h>
|
||||
@ -18,8 +18,8 @@
|
||||
#include <linux/jffs2.h>
|
||||
#include "common.h"
|
||||
#include "compr.h"
|
||||
--- a/include/rbtree.h
|
||||
+++ b/include/rbtree.h
|
||||
--- a/jffsX-utils/rbtree.h
|
||||
+++ b/jffsX-utils/rbtree.h
|
||||
@@ -94,8 +94,7 @@ static inline struct page * rb_insert_pa
|
||||
#ifndef _LINUX_RBTREE_H
|
||||
#define _LINUX_RBTREE_H
|
||||
@ -70,7 +70,7 @@
|
||||
#include <sys/types.h>
|
||||
--- a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c
|
||||
+++ b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c
|
||||
@@ -1568,6 +1568,7 @@ static int add_inode(struct stat *st, in
|
||||
@@ -1549,6 +1549,7 @@ static int add_inode(struct stat *st, in
|
||||
|
||||
if (c->default_compr != UBIFS_COMPR_NONE)
|
||||
use_flags |= UBIFS_COMPR_FL;
|
||||
@ -78,7 +78,7 @@
|
||||
if (flags & FS_COMPR_FL)
|
||||
use_flags |= UBIFS_COMPR_FL;
|
||||
if (flags & FS_SYNC_FL)
|
||||
@@ -1580,6 +1581,7 @@ static int add_inode(struct stat *st, in
|
||||
@@ -1561,6 +1562,7 @@ static int add_inode(struct stat *st, in
|
||||
use_flags |= UBIFS_DIRSYNC_FL;
|
||||
if (fctx)
|
||||
use_flags |= UBIFS_CRYPT_FL;
|
||||
@ -86,7 +86,7 @@
|
||||
memset(ino, 0, UBIFS_INO_NODE_SZ);
|
||||
|
||||
ino_key_init(&key, inum);
|
||||
@@ -1665,7 +1667,9 @@ static int add_dir_inode(const char *pat
|
||||
@@ -1646,7 +1648,9 @@ static int add_dir_inode(const char *pat
|
||||
fd = dirfd(dir);
|
||||
if (fd == -1)
|
||||
return sys_err_msg("dirfd failed");
|
||||
@ -96,23 +96,23 @@
|
||||
flags = 0;
|
||||
}
|
||||
|
||||
@@ -1878,6 +1882,7 @@ static int add_file(const char *path_nam
|
||||
@@ -1857,6 +1861,7 @@ static int add_file(const char *path_nam
|
||||
dn->ch.node_type = UBIFS_DATA_NODE;
|
||||
key_write(&key, &dn->key);
|
||||
out_len = NODE_BUFFER_SIZE - UBIFS_DATA_NODE_SZ;
|
||||
+#ifndef NO_NATIVE_SUPPORT
|
||||
if (c->default_compr == UBIFS_COMPR_NONE &&
|
||||
!c->encrypted && (flags & FS_COMPR_FL))
|
||||
#ifdef WITH_LZO
|
||||
@@ -1888,6 +1893,7 @@ static int add_file(const char *path_nam
|
||||
use_compr = UBIFS_COMPR_NONE;
|
||||
#ifdef WITHOUT_LZO
|
||||
@@ -1865,6 +1870,7 @@ static int add_file(const char *path_nam
|
||||
use_compr = UBIFS_COMPR_LZO;
|
||||
#endif
|
||||
else
|
||||
+#endif
|
||||
use_compr = c->default_compr;
|
||||
compr_type = compress_data(buf, bytes_read, &dn->data,
|
||||
&out_len, use_compr);
|
||||
@@ -1947,7 +1953,9 @@ static int add_non_dir(const char *path_
|
||||
@@ -1924,7 +1930,9 @@ static int add_non_dir(const char *path_
|
||||
if (fd == -1)
|
||||
return sys_err_msg("failed to open file '%s'",
|
||||
path_name);
|
||||
|
||||
@ -1,55 +1,57 @@
|
||||
--- a/jffsX-utils/Makemodule.am
|
||||
+++ b/jffsX-utils/Makemodule.am
|
||||
@@ -9,8 +9,9 @@ mkfs_jffs2_SOURCES = \
|
||||
include/mtd/jffs2-user.h \
|
||||
include/list.h \
|
||||
include/rbtree.h
|
||||
@@ -4,11 +4,19 @@ mkfs_jffs2_SOURCES = \
|
||||
jffsX-utils/compr_zlib.c \
|
||||
jffsX-utils/compr.h \
|
||||
jffsX-utils/rbtree.c \
|
||||
- jffsX-utils/compr_lzo.c \
|
||||
+ jffsX-utils/compr_lzma.c \
|
||||
+ jffsX-utils/lzma/LzFind.c \
|
||||
+ jffsX-utils/lzma/LzmaEnc.c \
|
||||
+ jffsX-utils/lzma/LzmaDec.c \
|
||||
jffsX-utils/compr.c \
|
||||
jffsX-utils/compr_rtime.c
|
||||
+
|
||||
+if !WITHOUT_LZO
|
||||
+mkfs_jffs2_SOURCES += jffsX-utils/compr_lzo.c
|
||||
+endif
|
||||
+
|
||||
mkfs_jffs2_LDADD = libmtd.a $(ZLIB_LIBS) $(LZO_LIBS)
|
||||
-mkfs_jffs2_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CFLAGS) $(LZO_CFLAGS)
|
||||
+mkfs_jffs2_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CFLAGS) $(LZO_CFLAGS) -I./include/linux/lzma
|
||||
|
||||
jffs2reader_SOURCES = jffsX-utils/jffs2reader.c include/mtd/jffs2-user.h
|
||||
jffs2reader_SOURCES = jffsX-utils/jffs2reader.c
|
||||
jffs2reader_LDADD = libmtd.a $(ZLIB_LIBS) $(LZO_LIBS)
|
||||
@@ -32,6 +33,14 @@ if WITH_ZLIB
|
||||
mkfs_jffs2_SOURCES += jffsX-utils/compr_zlib.c
|
||||
endif
|
||||
|
||||
+if WITH_LZMA
|
||||
+mkfs_jffs2_SOURCES += \
|
||||
+ jffsX-utils/compr_lzma.c \
|
||||
+ jffsX-utils/lzma/LzFind.c \
|
||||
+ jffsX-utils/lzma/LzmaEnc.c \
|
||||
+ jffsX-utils/lzma/LzmaDec.c
|
||||
+endif
|
||||
+
|
||||
EXTRA_DIST += jffsX-utils/device_table.txt jffsX-utils/mkfs.jffs2.1
|
||||
|
||||
dist_man1_MANS += jffsX-utils/mkfs.jffs2.1
|
||||
--- a/jffsX-utils/compr.c
|
||||
+++ b/jffsX-utils/compr.c
|
||||
@@ -471,6 +471,9 @@ int jffs2_compressors_init(void)
|
||||
#ifdef WITH_LZO
|
||||
@@ -520,6 +520,9 @@ int jffs2_compressors_init(void)
|
||||
#ifdef CONFIG_JFFS2_LZO
|
||||
jffs2_lzo_init();
|
||||
#endif
|
||||
+#ifdef WITH_LZMA
|
||||
+#ifdef CONFIG_JFFS2_LZMA
|
||||
+ jffs2_lzma_init();
|
||||
+#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -485,5 +488,8 @@ int jffs2_compressors_exit(void)
|
||||
#ifdef WITH_LZO
|
||||
@@ -534,5 +537,8 @@ int jffs2_compressors_exit(void)
|
||||
#ifdef CONFIG_JFFS2_LZO
|
||||
jffs2_lzo_exit();
|
||||
#endif
|
||||
+#ifdef WITH_LZMA
|
||||
+#ifdef CONFIG_JFFS2_LZMA
|
||||
+ jffs2_lzma_exit();
|
||||
+#endif
|
||||
return 0;
|
||||
}
|
||||
--- a/jffsX-utils/compr.h
|
||||
+++ b/jffsX-utils/compr.h
|
||||
@@ -22,8 +22,9 @@
|
||||
@@ -18,13 +18,14 @@
|
||||
|
||||
#define CONFIG_JFFS2_ZLIB
|
||||
#define CONFIG_JFFS2_RTIME
|
||||
-#define CONFIG_JFFS2_LZO
|
||||
+#define CONFIG_JFFS2_LZMA
|
||||
|
||||
#define JFFS2_RUBINMIPS_PRIORITY 10
|
||||
#define JFFS2_DYNRUBIN_PRIORITY 20
|
||||
#define JFFS2_RTIME_PRIORITY 50
|
||||
@ -61,11 +63,11 @@
|
||||
|
||||
#define JFFS2_COMPR_MODE_NONE 0
|
||||
#define JFFS2_COMPR_MODE_PRIORITY 1
|
||||
@@ -110,5 +111,10 @@ void jffs2_rtime_exit(void);
|
||||
@@ -115,5 +116,10 @@ void jffs2_rtime_exit(void);
|
||||
int jffs2_lzo_init(void);
|
||||
void jffs2_lzo_exit(void);
|
||||
#endif
|
||||
+#ifdef WITH_LZMA
|
||||
+#ifdef CONFIG_JFFS2_LZMA
|
||||
+int jffs2_lzma_init(void);
|
||||
+void jffs2_lzma_exit(void);
|
||||
+#endif
|
||||
@ -5013,7 +5015,7 @@
|
||||
+}
|
||||
--- a/jffsX-utils/mkfs.jffs2.c
|
||||
+++ b/jffsX-utils/mkfs.jffs2.c
|
||||
@@ -1668,11 +1668,11 @@ int main(int argc, char **argv)
|
||||
@@ -1667,11 +1667,11 @@ int main(int argc, char **argv)
|
||||
}
|
||||
erase_block_size *= units;
|
||||
|
||||
@ -5029,45 +5031,3 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -19,6 +19,10 @@ if WITH_ZSTD
|
||||
AM_CPPFLAGS += -DWITH_ZSTD
|
||||
endif
|
||||
|
||||
+if WITH_LZMA
|
||||
+AM_CPPFLAGS += -DWITH_LZMA
|
||||
+endif
|
||||
+
|
||||
if WITH_SELINUX
|
||||
AM_CPPFLAGS += -DWITH_SELINUX
|
||||
endif
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -96,6 +96,10 @@ AC_ARG_WITH([zstd],
|
||||
[AS_HELP_STRING([--with-zstd], [Support for ZSTD compression])],
|
||||
[], [with_zstd="check"])
|
||||
|
||||
+AC_ARG_WITH([lzma],
|
||||
+ [AS_HELP_STRING([--with-lzma], [Support for LZMA compression])],
|
||||
+ [], [with_lzma="check"])
|
||||
+
|
||||
AC_ARG_WITH([selinux],
|
||||
[AS_HELP_STRING([--with-selinux],
|
||||
[Support for selinux extended attributes])],
|
||||
@@ -269,6 +273,7 @@ fi
|
||||
AM_CONDITIONAL([WITH_LZO], [test "x$with_lzo" = "xyes"])
|
||||
AM_CONDITIONAL([WITH_ZLIB], [test "x$with_zlib" = "xyes"])
|
||||
AM_CONDITIONAL([WITH_ZSTD], [test "x$with_zstd" = "xyes"])
|
||||
+AM_CONDITIONAL([WITH_LZMA], [test "x$with_lzma" = "xyes"])
|
||||
AM_CONDITIONAL([WITH_XATTR], [test "x$with_xattr" = "xyes"])
|
||||
AM_CONDITIONAL([WITH_SELINUX], [test "x$with_selinux" = "xyes"])
|
||||
AM_CONDITIONAL([WITH_CRYPTO], [test "x$with_crypto" = "xyes"])
|
||||
@@ -313,6 +318,7 @@ AC_MSG_RESULT([
|
||||
lzo support: ${with_lzo}
|
||||
zlib support: ${with_zlib}
|
||||
zstd support: ${with_zstd}
|
||||
+ lzma support: ${with_lzma}
|
||||
xattr/acl support: ${with_xattr}
|
||||
SELinux support: ${with_selinux}
|
||||
fscrypt support: ${with_crypto}
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
}
|
||||
|
||||
entry = xcalloc(1, sizeof(struct filesystem_entry));
|
||||
@@ -1559,6 +1559,20 @@ static void parse_image(void){
|
||||
@@ -1558,6 +1558,20 @@ static void parse_image(void){
|
||||
close(in_fd);
|
||||
}
|
||||
|
||||
@ -41,7 +41,7 @@
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int c, opt;
|
||||
@@ -1577,6 +1591,7 @@ int main(int argc, char **argv)
|
||||
@@ -1576,6 +1590,7 @@ int main(int argc, char **argv)
|
||||
warn_page_size = 1; /* warn user if page size not 4096 */
|
||||
|
||||
jffs2_compressors_init();
|
||||
@ -49,7 +49,7 @@
|
||||
|
||||
while ((opt = getopt_long(argc, argv,
|
||||
"D:d:r:s:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0)
|
||||
@@ -1627,7 +1642,7 @@ int main(int argc, char **argv)
|
||||
@@ -1626,7 +1641,7 @@ int main(int argc, char **argv)
|
||||
break;
|
||||
|
||||
case 'f':
|
||||
|
||||
Loading…
Reference in New Issue
Block a user