tools/squashfs4: include sysmacros.h explicitly
glibc is moving to remove the include of sys/sysmacros.h from sys/types.h, and some distros have done this early. Other libcs may already lack this include. Include sysmacros.h explicitly. Fixes: FS#1017 Signed-off-by: Alex Maclean <monkeh@monkeh.net> [refresh patches] Signed-off-by: Mathias Kresin <dev@kresin.me>
This commit is contained in:
parent
09bfca653c
commit
4425fa84da
5 changed files with 36 additions and 16 deletions
20
tools/squashfs4/patches/130-include_sysmacros.patch
Normal file
20
tools/squashfs4/patches/130-include_sysmacros.patch
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
--- a/squashfs-tools/mksquashfs.c
|
||||||
|
+++ b/squashfs-tools/mksquashfs.c
|
||||||
|
@@ -33,6 +33,7 @@
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
+#include <sys/sysmacros.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <errno.h>
|
||||||
|
--- a/squashfs-tools/unsquashfs.c
|
||||||
|
+++ b/squashfs-tools/unsquashfs.c
|
||||||
|
@@ -30,6 +30,7 @@
|
||||||
|
#include "xattr.h"
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
+#include <sys/sysmacros.h>
|
||||||
|
|
||||||
|
struct cache *fragment_cache, *data_cache;
|
||||||
|
struct queue *to_reader, *to_deflate, *to_writer, *from_writer;
|
|
@ -16,7 +16,7 @@
|
||||||
#define SQUASHFS_METADATA_LOG 13
|
#define SQUASHFS_METADATA_LOG 13
|
||||||
--- a/squashfs-tools/unsquashfs.c
|
--- a/squashfs-tools/unsquashfs.c
|
||||||
+++ b/squashfs-tools/unsquashfs.c
|
+++ b/squashfs-tools/unsquashfs.c
|
||||||
@@ -1463,10 +1463,12 @@ int read_super(char *source)
|
@@ -1464,10 +1464,12 @@ int read_super(char *source)
|
||||||
*/
|
*/
|
||||||
read_fs_bytes(fd, SQUASHFS_START, sizeof(struct squashfs_super_block),
|
read_fs_bytes(fd, SQUASHFS_START, sizeof(struct squashfs_super_block),
|
||||||
&sBlk_4);
|
&sBlk_4);
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
sBlk_4.s_minor == 0) {
|
sBlk_4.s_minor == 0) {
|
||||||
s_ops.squashfs_opendir = squashfs_opendir_4;
|
s_ops.squashfs_opendir = squashfs_opendir_4;
|
||||||
s_ops.read_fragment = read_fragment_4;
|
s_ops.read_fragment = read_fragment_4;
|
||||||
@@ -1479,7 +1481,11 @@ int read_super(char *source)
|
@@ -1480,7 +1482,11 @@ int read_super(char *source)
|
||||||
/*
|
/*
|
||||||
* Check the compression type
|
* Check the compression type
|
||||||
*/
|
*/
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1494,8 +1500,10 @@ int read_super(char *source)
|
@@ -1495,8 +1501,10 @@ int read_super(char *source)
|
||||||
* Check it is a SQUASHFS superblock
|
* Check it is a SQUASHFS superblock
|
||||||
*/
|
*/
|
||||||
swap = 0;
|
swap = 0;
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
squashfs_super_block_3 sblk;
|
squashfs_super_block_3 sblk;
|
||||||
ERROR("Reading a different endian SQUASHFS filesystem "
|
ERROR("Reading a different endian SQUASHFS filesystem "
|
||||||
"on %s\n", source);
|
"on %s\n", source);
|
||||||
@@ -1573,7 +1581,11 @@ int read_super(char *source)
|
@@ -1574,7 +1582,11 @@ int read_super(char *source)
|
||||||
/*
|
/*
|
||||||
* 1.x, 2.x and 3.x filesystems use gzip compression.
|
* 1.x, 2.x and 3.x filesystems use gzip compression.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
+#include <sys/param.h>
|
+#include <sys/param.h>
|
||||||
+#endif
|
+#endif
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
#include <sys/sysmacros.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <fcntl.h>
|
|
||||||
--- a/squashfs-tools/unsquashfs.h
|
--- a/squashfs-tools/unsquashfs.h
|
||||||
+++ b/squashfs-tools/unsquashfs.h
|
+++ b/squashfs-tools/unsquashfs.h
|
||||||
@@ -25,6 +25,9 @@
|
@@ -25,6 +25,9 @@
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/squashfs-tools/mksquashfs.c
|
--- a/squashfs-tools/mksquashfs.c
|
||||||
+++ b/squashfs-tools/mksquashfs.c
|
+++ b/squashfs-tools/mksquashfs.c
|
||||||
@@ -735,13 +735,13 @@ void cache_block_put(struct file_buffer
|
@@ -736,13 +736,13 @@ void cache_block_put(struct file_buffer
|
||||||
+ (((char *)A) - data_cache)))
|
+ (((char *)A) - data_cache)))
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
{
|
{
|
||||||
pthread_mutex_lock(&progress_mutex);
|
pthread_mutex_lock(&progress_mutex);
|
||||||
pthread_cond_signal(&progress_wait);
|
pthread_cond_signal(&progress_wait);
|
||||||
@@ -749,7 +749,7 @@ inline void update_progress_bar()
|
@@ -750,7 +750,7 @@ inline void update_progress_bar()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
{
|
{
|
||||||
TRACE("Waiting for thread %d\n", i);
|
TRACE("Waiting for thread %d\n", i);
|
||||||
while(thread[i] != 0)
|
while(thread[i] != 0)
|
||||||
@@ -3358,7 +3358,7 @@ struct inode_info *lookup_inode(struct s
|
@@ -3359,7 +3359,7 @@ struct inode_info *lookup_inode(struct s
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/squashfs-tools/mksquashfs.c
|
--- a/squashfs-tools/mksquashfs.c
|
||||||
+++ b/squashfs-tools/mksquashfs.c
|
+++ b/squashfs-tools/mksquashfs.c
|
||||||
@@ -175,6 +175,9 @@ unsigned int cache_bytes = 0, cache_size
|
@@ -176,6 +176,9 @@ unsigned int cache_bytes = 0, cache_size
|
||||||
/* inode lookup table */
|
/* inode lookup table */
|
||||||
squashfs_inode *inode_lookup_table = NULL;
|
squashfs_inode *inode_lookup_table = NULL;
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
/* in memory directory data */
|
/* in memory directory data */
|
||||||
#define I_COUNT_SIZE 128
|
#define I_COUNT_SIZE 128
|
||||||
#define DIR_ENTRIES 32
|
#define DIR_ENTRIES 32
|
||||||
@@ -2452,6 +2455,8 @@ again:
|
@@ -2453,6 +2456,8 @@ again:
|
||||||
restat:
|
restat:
|
||||||
fstat(file, &buf2);
|
fstat(file, &buf2);
|
||||||
close(file);
|
close(file);
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
if(read_size != buf2.st_size) {
|
if(read_size != buf2.st_size) {
|
||||||
memcpy(buf, &buf2, sizeof(struct stat));
|
memcpy(buf, &buf2, sizeof(struct stat));
|
||||||
file_buffer->error = 2;
|
file_buffer->error = 2;
|
||||||
@@ -3612,7 +3617,7 @@ void dir_scan(squashfs_inode *inode, cha
|
@@ -3613,7 +3618,7 @@ void dir_scan(squashfs_inode *inode, cha
|
||||||
buf.st_mode = S_IRWXU | S_IRWXG | S_IRWXO | S_IFDIR;
|
buf.st_mode = S_IRWXU | S_IRWXG | S_IRWXO | S_IFDIR;
|
||||||
buf.st_uid = getuid();
|
buf.st_uid = getuid();
|
||||||
buf.st_gid = getgid();
|
buf.st_gid = getgid();
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
buf.st_dev = 0;
|
buf.st_dev = 0;
|
||||||
buf.st_ino = 0;
|
buf.st_ino = 0;
|
||||||
dir_ent->inode = lookup_inode(&buf);
|
dir_ent->inode = lookup_inode(&buf);
|
||||||
@@ -3623,6 +3628,8 @@ void dir_scan(squashfs_inode *inode, cha
|
@@ -3624,6 +3629,8 @@ void dir_scan(squashfs_inode *inode, cha
|
||||||
pathname, strerror(errno));
|
pathname, strerror(errno));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
dir_ent->inode = lookup_inode(&buf);
|
dir_ent->inode = lookup_inode(&buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3677,6 +3684,8 @@ struct dir_info *dir_scan1(char *pathnam
|
@@ -3678,6 +3685,8 @@ struct dir_info *dir_scan1(char *pathnam
|
||||||
filename, strerror(errno));
|
filename, strerror(errno));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
|
|
||||||
if((buf.st_mode & S_IFMT) != S_IFREG &&
|
if((buf.st_mode & S_IFMT) != S_IFREG &&
|
||||||
(buf.st_mode & S_IFMT) != S_IFDIR &&
|
(buf.st_mode & S_IFMT) != S_IFDIR &&
|
||||||
@@ -3795,7 +3804,7 @@ struct dir_info *dir_scan2(struct dir_in
|
@@ -3796,7 +3805,7 @@ struct dir_info *dir_scan2(struct dir_in
|
||||||
buf.st_gid = pseudo_ent->dev->gid;
|
buf.st_gid = pseudo_ent->dev->gid;
|
||||||
buf.st_rdev = makedev(pseudo_ent->dev->major,
|
buf.st_rdev = makedev(pseudo_ent->dev->major,
|
||||||
pseudo_ent->dev->minor);
|
pseudo_ent->dev->minor);
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
buf.st_ino = pseudo_ino ++;
|
buf.st_ino = pseudo_ino ++;
|
||||||
|
|
||||||
if(pseudo_ent->dev->type == 'f') {
|
if(pseudo_ent->dev->type == 'f') {
|
||||||
@@ -4674,6 +4683,15 @@ int main(int argc, char *argv[])
|
@@ -4675,6 +4684,15 @@ int main(int argc, char *argv[])
|
||||||
progress = FALSE;
|
progress = FALSE;
|
||||||
else if(strcmp(argv[i], "-no-exports") == 0)
|
else if(strcmp(argv[i], "-no-exports") == 0)
|
||||||
exportable = FALSE;
|
exportable = FALSE;
|
||||||
|
@ -71,7 +71,7 @@
|
||||||
else if(strcmp(argv[i], "-processors") == 0) {
|
else if(strcmp(argv[i], "-processors") == 0) {
|
||||||
if((++i == argc) || (processors =
|
if((++i == argc) || (processors =
|
||||||
strtol(argv[i], &b, 10), *b != '\0')) {
|
strtol(argv[i], &b, 10), *b != '\0')) {
|
||||||
@@ -5314,7 +5332,7 @@ printOptions:
|
@@ -5315,7 +5333,7 @@ printOptions:
|
||||||
sBlk.flags = SQUASHFS_MKFLAGS(noI, noD, noF, noX, no_fragments,
|
sBlk.flags = SQUASHFS_MKFLAGS(noI, noD, noF, noX, no_fragments,
|
||||||
always_use_fragments, duplicate_checking, exportable,
|
always_use_fragments, duplicate_checking, exportable,
|
||||||
no_xattrs, comp_opts);
|
no_xattrs, comp_opts);
|
||||||
|
|
Loading…
Reference in a new issue