summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/syslinux/PKGBUILD4
-rw-r--r--libre/syslinux/fix-undefined-type-umode_t.patch53
2 files changed, 52 insertions, 5 deletions
diff --git a/libre/syslinux/PKGBUILD b/libre/syslinux/PKGBUILD
index fed4d784a..f0c60030b 100644
--- a/libre/syslinux/PKGBUILD
+++ b/libre/syslinux/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=syslinux
pkgver=4.05
-pkgrel=4.1
+pkgrel=4.2
arch=('i686' 'x86_64')
pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE (Parabola rebranded)"
url="http://syslinux.zytor.com/"
@@ -30,7 +30,7 @@ md5sums=('82299242418385da1274c9479a778cb2'
'8dc2afca3739667e892faf04eb97e7b1'
'680750f73dc2e587ac567d057d485813'
'0035b6cac6756a384b861eda8d33e4f7'
- '75750bd5b0f5bc51920164a01a6f5f2e')
+ '8674f8a0f480f26b705570d699c78a2c')
build() {
# Do not try to build syslinux with our default LDFLAGS, it will fail
diff --git a/libre/syslinux/fix-undefined-type-umode_t.patch b/libre/syslinux/fix-undefined-type-umode_t.patch
index cfec1ad90..33ac6d323 100644
--- a/libre/syslinux/fix-undefined-type-umode_t.patch
+++ b/libre/syslinux/fix-undefined-type-umode_t.patch
@@ -1,11 +1,58 @@
--- syslinux-4.05.orig/libinstaller/linuxioctl.h 2011-12-09 16:28:17.000000000 -0200
-+++ syslinux-4.05/libinstaller/linuxioctl.h 2012-05-20 22:05:50.521380781 -0300
-@@ -19,7 +19,7 @@
++++ syslinux-4.05/libinstaller/linuxioctl.h 2012-05-18 20:30:23.000000000 -0300
+@@ -9,22 +9,36 @@
+
+ #include <sys/ioctl.h>
+
++#ifdef __linux__
++
+ #define statfs _kernel_statfs /* HACK to deal with broken 2.4 distros */
+
+ #include <linux/fd.h> /* Floppy geometry */
+ #include <linux/hdreg.h> /* Hard disk geometry */
+
+-#include <linux/fs.h> /* FIGETBSZ, FIBMAP, FS_IOC_FIEMAP */
+-#include <linux/msdos_fs.h> /* FAT_IOCTL_SET_ATTRIBUTES */
++#include <linux/fs.h> /* FIGETBSZ, FIBMAP, FS_IOC_* */
#undef SECTOR_SIZE /* Defined in msdos_fs.h for no good reason */
#undef SECTOR_BITS
-#include <linux/ext2_fs.h> /* EXT2_IOC_* */
-+#include <ext2fs/ext2_fs.h> /* EXT2_IOC_* */
++
++#ifndef FS_IOC_GETFLAGS
++/* Old kernel headers, these were once ext2-specific... */
++# include <linux/ext2_fs.h> /* EXT2_IOC_* */
++
++# define FS_IOC_GETFLAGS EXT2_IOC_GETFLAGS
++# define FS_IOC_SETFLAGS EXT2_IOC_SETFLAGS
++
++# define FS_IMMUTABLE_FL EXT2_IMMUTABLE_FL
++
++#else
++
++# include <ext2fs/ext2_fs.h>
++
++#endif
#ifndef FAT_IOCTL_GET_ATTRIBUTES
# define FAT_IOCTL_GET_ATTRIBUTES _IOR('r', 0x10, __u32)
+ #endif
+-
+ #ifndef FAT_IOCTL_SET_ATTRIBUTES
+ # define FAT_IOCTL_SET_ATTRIBUTES _IOW('r', 0x11, __u32)
+ #endif
+@@ -37,11 +51,13 @@
+
+ #undef statfs
+
+-#if defined(__linux__) && !defined(BLKGETSIZE64)
++#ifndef BLKGETSIZE64
+ /* This takes a u64, but the size field says size_t. Someone screwed big. */
+ # define BLKGETSIZE64 _IOR(0x12,114,size_t)
+ #endif
+
+ #include <linux/loop.h>
+
++#endif /* __linux__ */
++
+ #endif /* LIBINSTALLER_LINUXIOCTL_H */