f6e8ee7533
This new patch is the patch between 4.4, and commit [1], a pull request at [2] to upsteam Mac and BSD compatibility. That pull request is itself a rebase of an older pull request for an earlier version of squashfs-tools. I squashed all commits between 4.4 and [1], apart from the BSD-specific ones, and exported the new patch from that. Attached below is the git diff --ignore-space-change between squashfs-tools 4.4 with the previous patch applied, and with the new patch applied. [1]: 7d31beec53e6245d3405d6ef2b96e9811ae07044 [2]: https://github.com/plougher/squashfs-tools/pull/69 --- diff --git a/squashfs-tools/info.c b/squashfs-tools/info.c index 8efefe6..5c2f835 100644 --- a/squashfs-tools/info.c +++ b/squashfs-tools/info.c @@ -159,7 +159,7 @@ void *info_thrd(void *arg) case EINTR: continue; default: - BAD_ERROR("sigwaitfailed " + BAD_ERROR("sigwait failed " "because %s\n", strerror(errno)); } } diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c index 67d86a5..3607448 100644 --- a/squashfs-tools/mksquashfs.c +++ b/squashfs-tools/mksquashfs.c @@ -35,7 +35,10 @@ #include <stddef.h> #include <sys/types.h> #include <sys/stat.h> -#ifdef linux +#ifndef linux +#include <sys/sysctl.h> +#else +#include <sys/sysinfo.h> #include <sys/sysmacros.h> #endif #include <fcntl.h> @@ -52,7 +55,6 @@ #include <sys/wait.h> #include <limits.h> #include <ctype.h> -#include <sys/sysinfo.h> #ifndef FNM_EXTMATCH /* glibc extension */ #define FNM_EXTMATCH 0 @@ -5191,7 +5193,17 @@ int parse_mode(char *arg, mode_t *res) int get_physical_memory() { + /* + * Long longs are used here because with PAE, a 32-bit + * machine can have more than 4GB of physical memory + * + * sysconf(_SC_PHYS_PAGES) relies on /proc being mounted. + * If it fails use sysinfo, if that fails return 0 + */ + long long num_pages = sysconf(_SC_PHYS_PAGES); + long long page_size = sysconf(_SC_PAGESIZE); int phys_mem; + #ifndef linux #ifdef HW_MEMSIZE #define SYSCTL_PHYSMEM HW_MEMSIZE @@ -5221,16 +5233,6 @@ int get_physical_memory() } #undef SYSCTL_PHYSMEM #else - /* - * Long longs are used here because with PAE, a 32-bit - * machine can have more than 4GB of physical memory - * - * sysconf(_SC_PHYS_PAGES) relies on /proc being mounted. - * If it fails use sysinfo, if that fails return 0 - */ - long long num_pages = sysconf(_SC_PHYS_PAGES); - long long page_size = sysconf(_SC_PAGESIZE); - if(num_pages == -1 || page_size == -1) { struct sysinfo sys; int res = sysinfo(&sys); diff --git a/squashfs-tools/mksquashfs.h b/squashfs-tools/mksquashfs.h index 88d0b5c..1beefef 100644 --- a/squashfs-tools/mksquashfs.h +++ b/squashfs-tools/mksquashfs.h @@ -24,7 +24,6 @@ * mksquashfs.h * */ -#include <pthread.h> struct dir_info { char *pathname; diff --git a/squashfs-tools/pseudo.c b/squashfs-tools/pseudo.c index f8fd529..48e6b27 100644 --- a/squashfs-tools/pseudo.c +++ b/squashfs-tools/pseudo.c @@ -30,7 +30,6 @@ #include <errno.h> #include <string.h> #include <stdlib.h> -#include <sys/stat.h> #include <sys/types.h> #include <sys/wait.h> #include <sys/stat.h> diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c index 00615ce..c1a6183 100644 --- a/squashfs-tools/unsquashfs.c +++ b/squashfs-tools/unsquashfs.c @@ -38,7 +38,6 @@ #include <sys/sysinfo.h> #include <sys/sysmacros.h> #endif - #include <sys/types.h> #include <sys/time.h> #include <sys/resource.h> @@ -1085,7 +1084,7 @@ int create_inode(char *pathname, struct inode *i) break; case SQUASHFS_SYMLINK_TYPE: case SQUASHFS_LSYMLINK_TYPE: { - struct timespec times[2] = { + struct timeval times[2] = { { i->time, 0 }, { i->time, 0 } }; @@ -1104,8 +1103,7 @@ int create_inode(char *pathname, struct inode *i) goto failed; } - res = utimensat(AT_FDCWD, pathname, times, - AT_SYMLINK_NOFOLLOW); + res = lutimes(pathname, times); if(res == -1) { EXIT_UNSQUASH_STRICT("create_inode: failed to set time on " "%s, because %s\n", pathname, |
||
---|---|---|
.. | ||
9pfs | ||
aefs | ||
afpfs-ng | ||
android-file-transfer | ||
apfs-fuse | ||
archivemount | ||
avfs | ||
bashmount | ||
bcache-tools | ||
bcachefs-tools | ||
bees | ||
bindfs | ||
blobfuse | ||
bonnie | ||
boxfs | ||
btrfs-dedupe | ||
btrfs-progs | ||
buttersink | ||
ceph | ||
chunkfs | ||
ciopfs | ||
convoy | ||
cpcfs | ||
cryfs | ||
curlftpfs | ||
darling-dmg | ||
davfs2 | ||
dislocker | ||
disorderfs | ||
djmount | ||
dosfstools | ||
duff | ||
duperemove | ||
e2fsprogs | ||
e2tools | ||
encfs | ||
exfat | ||
ext4magic | ||
extundelete | ||
f2fs-tools | ||
f3 | ||
fatresize | ||
fatsort | ||
file-rename | ||
fsfs | ||
fuse-7z-ng | ||
fuse-overlayfs | ||
fuseiso | ||
fusesmb | ||
gcsfuse | ||
genext2fs | ||
genimage | ||
genromfs | ||
gitfs | ||
glusterfs | ||
go-mtpfs | ||
gocryptfs | ||
gpart | ||
grive2 | ||
hfsprogs | ||
httpfs | ||
hubicfuse | ||
idsk | ||
ifuse | ||
irods | ||
jfsutils | ||
jmtpfs | ||
lizardfs | ||
mergerfs | ||
mhddfs | ||
mkspiffs | ||
moosefs | ||
mp3fs | ||
mtdutils | ||
mtools | ||
mtpfs | ||
netatalk | ||
nilfs-utils | ||
nixpart | ||
ntfs-3g | ||
rdfind | ||
reiser4progs | ||
reiserfsprogs | ||
relfs | ||
rmount | ||
s3backer | ||
s3fs | ||
securefs | ||
simg2img | ||
smbnetfs | ||
snapraid | ||
squashfs | ||
squashfuse | ||
sshfs-fuse | ||
svnfs | ||
tmsu | ||
u3-tool | ||
udftools | ||
unionfs-fuse | ||
vmfs-tools | ||
wdfs | ||
xfsprogs | ||
xtreemfs | ||
yandex-disk | ||
zerofree | ||
zfstools | ||
zkfuse |