Browse Source

Merge branch 'master' of git+ssh://www.openadk.org/git/openadk

Waldemar Brodkorb 10 years ago
parent
commit
c44cb7cf2f

+ 1 - 1
package/dosfstools/Makefile

@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		dosfstools
 PKG_VERSION:=		3.0.26
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		45012f5f56f2aae3afcd62120b9e5a08
 PKG_DESCR:=		utilities to create and check FAT filesystems
 PKG_SECTION:=		fs

+ 77 - 0
package/dosfstools/patches/patch-src_boot_c

@@ -0,0 +1,77 @@
+--- dosfstools-3.0.26.orig/src/boot.c	2014-01-17 07:06:54.000000000 +0100
++++ dosfstools-3.0.26/src/boot.c	2014-03-26 13:20:59.000000000 +0100
+@@ -155,7 +155,7 @@ static void check_backup_boot(DOS_FS * f
+ 	    fs->backupboot_start = bbs * lss;
+ 	    b->backup_boot = htole16(bbs);
+ 	    fs_write(fs->backupboot_start, sizeof(*b), b);
+-	    fs_write((loff_t) offsetof(struct boot_sector, backup_boot),
++	    fs_write((off_t) offsetof(struct boot_sector, backup_boot),
+ 		     sizeof(b->backup_boot), &b->backup_boot);
+ 	    printf("Created backup of boot sector in sector %d\n", bbs);
+ 	    return;
+@@ -233,9 +233,9 @@ static void read_fsinfo(DOS_FS * fs, str
+ 		    break;
+ 	    if (s > 0 && s < le16toh(b->reserved)) {
+ 		init_fsinfo(&i);
+-		fs_write((loff_t) s * lss, sizeof(i), &i);
++		fs_write((off_t) s * lss, sizeof(i), &i);
+ 		b->info_sector = htole16(s);
+-		fs_write((loff_t) offsetof(struct boot_sector, info_sector),
++		fs_write((off_t) offsetof(struct boot_sector, info_sector),
+ 			 sizeof(b->info_sector), &b->info_sector);
+ 		if (fs->backupboot_start)
+ 		    fs_write(fs->backupboot_start +
+@@ -327,7 +327,7 @@ void read_boot(DOS_FS * fs)
+     unsigned total_sectors;
+     unsigned short logical_sector_size, sectors;
+     unsigned fat_length;
+-    loff_t data_size;
++    off_t data_size;
+ 
+     fs_read(0, sizeof(b), &b);
+     logical_sector_size = GET_UNALIGNED_W(b.sector_size);
+@@ -352,18 +352,18 @@ void read_boot(DOS_FS * fs)
+     if (verbose)
+ 	printf("Checking we can access the last sector of the filesystem\n");
+     /* Can't access last odd sector anyway, so round down */
+-    fs_test((loff_t) ((total_sectors & ~1) - 1) * (loff_t) logical_sector_size,
++    fs_test((off_t) ((total_sectors & ~1) - 1) * (off_t) logical_sector_size,
+ 	    logical_sector_size);
+     fat_length = le16toh(b.fat_length) ?
+ 	le16toh(b.fat_length) : le32toh(b.fat32_length);
+-    fs->fat_start = (loff_t) le16toh(b.reserved) * logical_sector_size;
+-    fs->root_start = ((loff_t) le16toh(b.reserved) + b.fats * fat_length) *
++    fs->fat_start = (off_t) le16toh(b.reserved) * logical_sector_size;
++    fs->root_start = ((off_t) le16toh(b.reserved) + b.fats * fat_length) *
+ 	logical_sector_size;
+     fs->root_entries = GET_UNALIGNED_W(b.dir_entries);
+     fs->data_start = fs->root_start + ROUND_TO_MULTIPLE(fs->root_entries <<
+ 							MSDOS_DIR_BITS,
+ 							logical_sector_size);
+-    data_size = (loff_t) total_sectors *logical_sector_size - fs->data_start;
++    data_size = (off_t) total_sectors *logical_sector_size - fs->data_start;
+     fs->clusters = data_size / fs->cluster_size;
+     fs->root_cluster = 0;	/* indicates standard, pre-FAT32 root dir */
+     fs->fsinfo_start = 0;	/* no FSINFO structure */
+@@ -491,10 +491,10 @@ static void write_boot_label(DOS_FS * fs
+     }
+ }
+ 
+-loff_t find_volume_de(DOS_FS * fs, DIR_ENT * de)
++off_t find_volume_de(DOS_FS * fs, DIR_ENT * de)
+ {
+     uint32_t cluster;
+-    loff_t offset;
++    off_t offset;
+     int i;
+ 
+     if (fs->root_cluster) {
+@@ -525,7 +525,7 @@ static void write_volume_label(DOS_FS *
+ {
+     time_t now = time(NULL);
+     struct tm *mtime = localtime(&now);
+-    loff_t offset;
++    off_t offset;
+     int created;
+     DIR_ENT de;
+ 

+ 11 - 0
package/dosfstools/patches/patch-src_boot_h

@@ -0,0 +1,11 @@
+--- dosfstools-3.0.26.orig/src/boot.h	2014-01-17 07:06:55.000000000 +0100
++++ dosfstools-3.0.26/src/boot.h	2014-03-26 13:29:53.000000000 +0100
+@@ -25,7 +25,7 @@
+ 
+ void read_boot(DOS_FS * fs);
+ void write_label(DOS_FS * fs, char *label);
+-loff_t find_volume_de(DOS_FS * fs, DIR_ENT * de);
++off_t find_volume_de(DOS_FS * fs, DIR_ENT * de);
+ 
+ /* Reads the boot sector from the currently open device and initializes *FS */
+ 

+ 49 - 0
package/dosfstools/patches/patch-src_check_c

@@ -0,0 +1,49 @@
+--- dosfstools-3.0.26.orig/src/check.c	2014-03-07 18:35:11.000000000 +0100
++++ dosfstools-3.0.26/src/check.c	2014-03-26 10:04:41.000000000 +0100
+@@ -64,7 +64,7 @@ static DOS_FILE *root;
+ 	p->dir_ent.start = htole16(__v&0xffff);				\
+ 	p->dir_ent.starthi = htole16(__v>>16);				\
+ 	__v = htole32(__v);						\
+-	fs_write((loff_t)offsetof(struct boot_sector,root_cluster),	\
++	fs_write((off_t)offsetof(struct boot_sector,root_cluster),	\
+ 	         sizeof(((struct boot_sector *)0)->root_cluster),	\
+ 		 &__v);							\
+     }									\
+@@ -75,16 +75,16 @@ static DOS_FILE *root;
+     }									\
+   } while(0)
+ 
+-loff_t alloc_rootdir_entry(DOS_FS * fs, DIR_ENT * de, const char *pattern)
++off_t alloc_rootdir_entry(DOS_FS * fs, DIR_ENT * de, const char *pattern)
+ {
+     static int curr_num = 0;
+-    loff_t offset;
++    off_t offset;
+ 
+     if (fs->root_cluster) {
+ 	DIR_ENT d2;
+ 	int i = 0, got = 0;
+ 	uint32_t clu_num, prev = 0;
+-	loff_t offset2;
++	off_t offset2;
+ 
+ 	clu_num = fs->root_cluster;
+ 	offset = cluster_start(fs, clu_num);
+@@ -333,7 +333,7 @@ static int bad_name(DOS_FILE * file)
+     return 0;
+ }
+ 
+-static void lfn_remove(loff_t from, loff_t to)
++static void lfn_remove(off_t from, off_t to)
+ {
+     DIR_ENT empty;
+ 
+@@ -949,7 +949,7 @@ static void new_dir(void)
+  * @param           cp
+  */
+ static void add_file(DOS_FS * fs, DOS_FILE *** chain, DOS_FILE * parent,
+-		     loff_t offset, FDSC ** cp)
++		     off_t offset, FDSC ** cp)
+ {
+     DOS_FILE *new;
+     DIR_ENT de;

+ 11 - 0
package/dosfstools/patches/patch-src_check_h

@@ -0,0 +1,11 @@
+--- dosfstools-3.0.26.orig/src/check.h	2014-01-17 07:07:02.000000000 +0100
++++ dosfstools-3.0.26/src/check.h	2014-03-26 13:25:47.000000000 +0100
+@@ -23,7 +23,7 @@
+ #ifndef _CHECK_H
+ #define _CHECK_H
+ 
+-loff_t alloc_rootdir_entry(DOS_FS * fs, DIR_ENT * de, const char *pattern);
++off_t alloc_rootdir_entry(DOS_FS * fs, DIR_ENT * de, const char *pattern);
+ 
+ /* Allocate a free slot in the root directory for a new file. The file name is
+    constructed after 'pattern', which must include a %d type format for printf

+ 32 - 0
package/dosfstools/patches/patch-src_fat_c

@@ -0,0 +1,32 @@
+--- dosfstools-3.0.26.orig/src/fat.c	2014-01-17 07:07:05.000000000 +0100
++++ dosfstools-3.0.26/src/fat.c	2014-03-26 13:37:03.000000000 +0100
+@@ -180,7 +180,7 @@ void set_fat(DOS_FS * fs, uint32_t clust
+ {
+     unsigned char *data = NULL;
+     int size;
+-    loff_t offs;
++    off_t offs;
+ 
+     if (new == -1)
+ 	new = FAT_EOF(fs);
+@@ -264,9 +264,9 @@ uint32_t next_cluster(DOS_FS * fs, uint3
+     return FAT_IS_EOF(fs, value) ? -1 : value;
+ }
+ 
+-loff_t cluster_start(DOS_FS * fs, uint32_t cluster)
++off_t cluster_start(DOS_FS * fs, uint32_t cluster)
+ {
+-    return fs->data_start + ((loff_t) cluster -
++    return fs->data_start + ((off_t) cluster -
+ 			     2) * (uint64_t)fs->cluster_size;
+ }
+ 
+@@ -475,7 +475,7 @@ void reclaim_file(DOS_FS * fs)
+ 	/* If this cluster is the head of an orphan chain... */
+ 	if (get_owner(fs, i) == &orphan && !num_refs[i]) {
+ 	    DIR_ENT de;
+-	    loff_t offset;
++	    off_t offset;
+ 	    files++;
+ 	    offset = alloc_rootdir_entry(fs, &de, "FSCK%04dREC");
+ 	    de.start = htole16(i & 0xffff);

+ 11 - 0
package/dosfstools/patches/patch-src_fat_h

@@ -0,0 +1,11 @@
+--- dosfstools-3.0.26.orig/src/fat.h	2014-01-17 07:07:07.000000000 +0100
++++ dosfstools-3.0.26/src/fat.h	2014-03-26 13:29:04.000000000 +0100
+@@ -49,7 +49,7 @@ uint32_t next_cluster(DOS_FS * fs, uint3
+    last cluster of the respective cluster chain. CLUSTER must not be a bad
+    cluster. */
+ 
+-loff_t cluster_start(DOS_FS * fs, uint32_t cluster);
++off_t cluster_start(DOS_FS * fs, uint32_t cluster);
+ 
+ /* Returns the byte offset of CLUSTER, relative to the respective device. */
+ 

+ 11 - 0
package/dosfstools/patches/patch-src_fatlabel_c

@@ -0,0 +1,11 @@
+--- dosfstools-3.0.26.orig/src/fatlabel.c	2014-01-17 07:07:08.000000000 +0100
++++ dosfstools-3.0.26/src/fatlabel.c	2014-03-26 13:23:52.000000000 +0100
+@@ -92,7 +92,7 @@ int main(int argc, char *argv[])
+     char *device = NULL;
+     char label[12] = { 0 };
+ 
+-    loff_t offset;
++    off_t offset;
+     DIR_ENT de;
+ 
+     check_atari();

+ 38 - 0
package/dosfstools/patches/patch-src_fsck_fat_h

@@ -0,0 +1,38 @@
+--- dosfstools-3.0.26.orig/src/fsck.fat.h	2014-02-08 18:53:10.000000000 +0100
++++ dosfstools-3.0.26/src/fsck.fat.h	2014-03-26 13:29:32.000000000 +0100
+@@ -143,8 +143,8 @@ typedef struct {
+ typedef struct _dos_file {
+     DIR_ENT dir_ent;
+     char *lfn;
+-    loff_t offset;
+-    loff_t lfn_offset;
++    off_t offset;
++    off_t lfn_offset;
+     struct _dos_file *parent;	/* parent directory */
+     struct _dos_file *next;	/* next entry */
+     struct _dos_file *first;	/* first entry (directory only) */
+@@ -157,19 +157,19 @@ typedef struct {
+ 
+ typedef struct {
+     int nfats;
+-    loff_t fat_start;
++    off_t fat_start;
+     unsigned int fat_size;	/* unit is bytes */
+     unsigned int fat_bits;	/* size of a FAT entry */
+     unsigned int eff_fat_bits;	/* # of used bits in a FAT entry */
+     uint32_t root_cluster;	/* 0 for old-style root dir */
+-    loff_t root_start;
++    off_t root_start;
+     unsigned int root_entries;
+-    loff_t data_start;
++    off_t data_start;
+     unsigned int cluster_size;
+     uint32_t clusters;
+-    loff_t fsinfo_start;	/* 0 if not present */
++    off_t fsinfo_start;	/* 0 if not present */
+     long free_clusters;
+-    loff_t backupboot_start;	/* 0 if not present */
++    off_t backupboot_start;	/* 0 if not present */
+     unsigned char *fat;
+     DOS_FILE **cluster_owner;
+     char *label;

+ 59 - 0
package/dosfstools/patches/patch-src_io_c

@@ -0,0 +1,59 @@
+--- dosfstools-3.0.26.orig/src/io.c	2014-01-17 07:07:14.000000000 +0100
++++ dosfstools-3.0.26/src/io.c	2014-03-26 13:27:02.000000000 +0100
+@@ -48,7 +48,7 @@
+ 
+ typedef struct _change {
+     void *data;
+-    loff_t pos;
++    off_t pos;
+     int size;
+     struct _change *next;
+ } CHANGE;
+@@ -60,7 +60,7 @@ unsigned device_no;
+ 
+ #ifdef __DJGPP__
+ #include "volume.h"		/* DOS lowlevel disk access functions */
+-loff_t llseek(int fd, loff_t offset, int whence)
++off_t llseek(int fd, off_t offset, int whence)
+ {
+     if ((whence != SEEK_SET) || (fd == 4711))
+ 	return -1;		/* only those supported */
+@@ -72,9 +72,9 @@ loff_t llseek(int fd, loff_t offset, int
+ #define read(a,b,c) ReadVolume(b,c)
+ #define write(a,b,c) WriteVolume(b,c)
+ #else
+-loff_t llseek(int fd, loff_t offset, int whence)
++off_t llseek(int fd, off_t offset, int whence)
+ {
+-    return (loff_t) lseek64(fd, (off64_t) offset, whence);
++    return (off_t) lseek64(fd, (off64_t) offset, whence);
+ }
+ #endif
+ 
+@@ -118,7 +118,7 @@ void fs_open(char *path, int rw)
+  * @param[in]   size    Number of bytes to read
+  * @param[out]  data    Where to put the data read
+  */
+-void fs_read(loff_t pos, int size, void *data)
++void fs_read(off_t pos, int size, void *data)
+ {
+     CHANGE *walk;
+     int got;
+@@ -145,7 +145,7 @@ void fs_read(loff_t pos, int size, void
+     }
+ }
+ 
+-int fs_test(loff_t pos, int size)
++int fs_test(off_t pos, int size)
+ {
+     void *scratch;
+     int okay;
+@@ -158,7 +158,7 @@ int fs_test(loff_t pos, int size)
+     return okay;
+ }
+ 
+-void fs_write(loff_t pos, int size, void *data)
++void fs_write(off_t pos, int size, void *data)
+ {
+     CHANGE *new;
+     int did;

+ 35 - 0
package/dosfstools/patches/patch-src_io_h

@@ -0,0 +1,35 @@
+--- dosfstools-3.0.26.orig/src/io.h	2014-02-08 18:53:10.000000000 +0100
++++ dosfstools-3.0.26/src/io.h	2014-03-26 13:27:15.000000000 +0100
+@@ -27,9 +27,9 @@
+ #ifndef _IO_H
+ #define _IO_H
+ 
+-#include <fcntl.h>		/* for loff_t */
++#include <fcntl.h>		/* for off_t */
+ 
+-loff_t llseek(int fd, loff_t offset, int whence);
++off_t llseek(int fd, off_t offset, int whence);
+ 
+ /* lseek() analogue for large offsets. */
+ 
+@@ -38,17 +38,17 @@ void fs_open(char *path, int rw);
+ /* Opens the filesystem PATH. If RW is zero, the filesystem is opened
+    read-only, otherwise, it is opened read-write. */
+ 
+-void fs_read(loff_t pos, int size, void *data);
++void fs_read(off_t pos, int size, void *data);
+ 
+ /* Reads SIZE bytes starting at POS into DATA. Performs all applicable
+    changes. */
+ 
+-int fs_test(loff_t pos, int size);
++int fs_test(off_t pos, int size);
+ 
+ /* Returns a non-zero integer if SIZE bytes starting at POS can be read without
+    errors. Otherwise, it returns zero. */
+ 
+-void fs_write(loff_t pos, int size, void *data);
++void fs_write(off_t pos, int size, void *data);
+ 
+ /* If write_immed is non-zero, SIZE bytes are written from DATA to the disk,
+    starting at POS. If write_immed is zero, the change is added to a list in

+ 74 - 0
package/dosfstools/patches/patch-src_lfn_c

@@ -0,0 +1,74 @@
+--- dosfstools-3.0.26.orig/src/lfn.c	2014-01-17 07:07:16.000000000 +0100
++++ dosfstools-3.0.26/src/lfn.c	2014-03-26 13:24:23.000000000 +0100
+@@ -52,7 +52,7 @@ typedef struct {
+ unsigned char *lfn_unicode = NULL;
+ unsigned char lfn_checksum;
+ int lfn_slot = -1;
+-loff_t *lfn_offsets = NULL;
++off_t *lfn_offsets = NULL;
+ int lfn_parts = 0;
+ 
+ static unsigned char fat_uni2esc[64] = {
+@@ -170,7 +170,7 @@ static void clear_lfn_slots(int start, i
+     }
+ }
+ 
+-void lfn_fix_checksum(loff_t from, loff_t to, const char *short_name)
++void lfn_fix_checksum(off_t from, off_t to, const char *short_name)
+ {
+     int i;
+     __u8 sum;
+@@ -195,7 +195,7 @@ void lfn_reset(void)
+ 
+ /* This function is only called with de->attr == VFAT_LN_ATTR. It stores part
+  * of the long name. */
+-void lfn_add_slot(DIR_ENT * de, loff_t dir_offset)
++void lfn_add_slot(DIR_ENT * de, off_t dir_offset)
+ {
+     LFN_ENT *lfn = (LFN_ENT *) de;
+     int slot = lfn->id & LFN_ID_SLOTMASK;
+@@ -253,7 +253,7 @@ void lfn_add_slot(DIR_ENT * de, loff_t d
+ 	lfn_slot = slot;
+ 	lfn_checksum = lfn->alias_checksum;
+ 	lfn_unicode = alloc((lfn_slot * CHARS_PER_LFN + 1) * 2);
+-	lfn_offsets = alloc(lfn_slot * sizeof(loff_t));
++	lfn_offsets = alloc(lfn_slot * sizeof(off_t));
+ 	lfn_parts = 0;
+     } else if (lfn_slot == -1 && slot != 0) {
+ 	/* No LFN in progress, but slot found; start bit missing */
+@@ -272,7 +272,7 @@ void lfn_add_slot(DIR_ENT * de, loff_t d
+ 	switch (interactive ? get_key("123", "?") : '2') {
+ 	case '1':
+ 	    if (!lfn_offsets)
+-		lfn_offsets = alloc(sizeof(loff_t));
++		lfn_offsets = alloc(sizeof(off_t));
+ 	    lfn_offsets[0] = dir_offset;
+ 	    clear_lfn_slots(0, 0);
+ 	    lfn_reset();
+@@ -287,7 +287,7 @@ void lfn_add_slot(DIR_ENT * de, loff_t d
+ 	    lfn_slot = slot;
+ 	    lfn_checksum = lfn->alias_checksum;
+ 	    lfn_unicode = alloc((lfn_slot * CHARS_PER_LFN + 1) * 2);
+-	    lfn_offsets = alloc(lfn_slot * sizeof(loff_t));
++	    lfn_offsets = alloc(lfn_slot * sizeof(off_t));
+ 	    lfn_parts = 0;
+ 	    break;
+ 	}
+@@ -319,7 +319,7 @@ void lfn_add_slot(DIR_ENT * de, loff_t d
+ 	switch (interactive ? get_key(can_fix ? "123" : "12", "?") : '2') {
+ 	case '1':
+ 	    if (!lfn_offsets) {
+-		lfn_offsets = alloc(sizeof(loff_t));
++		lfn_offsets = alloc(sizeof(off_t));
+ 		lfn_parts = 0;
+ 	    }
+ 	    lfn_offsets[lfn_parts++] = dir_offset;
+@@ -406,7 +406,7 @@ void lfn_add_slot(DIR_ENT * de, loff_t d
+ 
+ /* This function is always called when de->attr != VFAT_LN_ATTR is found, to
+  * retrieve the previously constructed LFN. */
+-char *lfn_get(DIR_ENT * de, loff_t * lfn_offset)
++char *lfn_get(DIR_ENT * de, off_t * lfn_offset)
+ {
+     char *lfn;
+     __u8 sum;

+ 20 - 0
package/dosfstools/patches/patch-src_lfn_h

@@ -0,0 +1,20 @@
+--- dosfstools-3.0.26.orig/src/lfn.h	2014-01-17 07:07:17.000000000 +0100
++++ dosfstools-3.0.26/src/lfn.h	2014-03-26 13:24:56.000000000 +0100
+@@ -26,14 +26,14 @@
+ void lfn_reset(void);
+ /* Reset the state of the LFN parser. */
+ 
+-void lfn_add_slot(DIR_ENT * de, loff_t dir_offset);
++void lfn_add_slot(DIR_ENT * de, off_t dir_offset);
+ /* Process a dir slot that is a VFAT LFN entry. */
+ 
+-char *lfn_get(DIR_ENT * de, loff_t * lfn_offset);
++char *lfn_get(DIR_ENT * de, off_t * lfn_offset);
+ /* Retrieve the long name for the proper dir entry. */
+ 
+ void lfn_check_orphaned(void);
+ 
+-void lfn_fix_checksum(loff_t from, loff_t to, const char *short_name);
++void lfn_fix_checksum(off_t from, off_t to, const char *short_name);
+ 
+ #endif

+ 56 - 0
package/dosfstools/patches/patch-src_mkfs_fat_c

@@ -0,0 +1,56 @@
+--- dosfstools-3.0.26.orig/src/mkfs.fat.c	2014-02-08 18:53:10.000000000 +0100
++++ dosfstools-3.0.26/src/mkfs.fat.c	2014-03-26 13:37:51.000000000 +0100
+@@ -300,7 +300,7 @@ static long do_check(char *buffer, int t
+ static void alarm_intr(int alnum);
+ static void check_blocks(void);
+ static void get_list_blocks(char *filename);
+-static int valid_offset(int fd, loff_t offset);
++static int valid_offset(int fd, off_t offset);
+ static uint64_t count_blocks(char *filename, int *remainder);
+ static void check_mount(char *device_name);
+ static void establish_params(int device_num, int size);
+@@ -477,7 +477,7 @@ static void get_list_blocks(char *filena
+ /* Given a file descriptor and an offset, check whether the offset is a valid offset for the file - return FALSE if it
+    isn't valid or TRUE if it is */
+ 
+-static int valid_offset(int fd, loff_t offset)
++static int valid_offset(int fd, off_t offset)
+ {
+     char ch;
+ 
+@@ -492,7 +492,7 @@ static int valid_offset(int fd, loff_t o
+ 
+ static uint64_t count_blocks(char *filename, int *remainder)
+ {
+-    loff_t high, low;
++    off_t high, low;
+     int fd;
+ 
+     if ((fd = open(filename, O_RDONLY)) < 0) {
+@@ -506,7 +506,7 @@ static uint64_t count_blocks(char *filen
+ 	for (high = 1; valid_offset(fd, high); high *= 2)
+ 	    low = high;
+ 	while (low < high - 1) {
+-	    const loff_t mid = (low + high) / 2;
++	    const off_t mid = (low + high) / 2;
+ 	    if (valid_offset(fd, mid))
+ 		low = mid;
+ 	    else
+@@ -1299,7 +1299,7 @@ static void setup_tables(void)
+ 
+ #define seekto(pos,errstr)						\
+   do {									\
+-    loff_t __pos = (pos);						\
++    off_t __pos = (pos);						\
+     if (llseek (dev, __pos, SEEK_SET) != __pos)				\
+ 	error ("seek to " errstr " failed whilst writing tables");	\
+   } while(0)
+@@ -1679,7 +1679,7 @@ int main(int argc, char **argv)
+ 	    exit(1);		/* The error exit code is 1! */
+ 	}
+     } else {
+-	loff_t offset = blocks * BLOCK_SIZE - 1;
++	off_t offset = blocks * BLOCK_SIZE - 1;
+ 	char null = 0;
+ 	/* create the file */
+ 	dev = open(device_name, O_EXCL | O_RDWR | O_CREAT | O_TRUNC, 0666);

+ 3 - 5
package/fping/Makefile

@@ -4,15 +4,13 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		fping
-PKG_VERSION:=		2.4b2_to
+PKG_VERSION:=		3.9
 PKG_RELEASE:=		1
 PKG_MD5SUM:=		d5e8be59e307cef76bc479e1684df705
 PKG_DESCR:=		A program to ping hosts in parallel
 PKG_SECTION:=		net
-PKG_URL:=		http://fping.sourceforge.net/
-PKG_SITES:=		http://fping.sourceforge.net/download/
-
-DISTFILES:=		${PKG_NAME}.tar.gz
+PKG_URL:=		http://fping.org
+PKG_SITES:=		http://fping.org/dist/
 
 include ${TOPDIR}/mk/package.mk
 

+ 10 - 0
package/igmpproxy/patches/patch-src_igmpproxy_h

@@ -0,0 +1,10 @@
+--- igmpproxy-0.1.orig/src/igmpproxy.h	2009-10-05 20:19:26.000000000 +0200
++++ igmpproxy-0.1/src/igmpproxy.h	2014-03-26 18:05:47.000000000 +0100
+@@ -48,6 +48,7 @@
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <sys/time.h>
++#include <sys/types.h>
+ #include <sys/ioctl.h>
+ #include <sys/param.h>
+ 

+ 2 - 0
package/libnetfilter_queue/Makefile

@@ -15,6 +15,8 @@ PKG_URL:=		http://www.netfilter.org/projects/libnetfilter_queue/
 PKG_SITES:=		http://www.netfilter.org/projects/libnetfilter_queue/files/
 PKG_OPTS:=		dev
 
+PKG_LIBC_DEPENDS:=	uclibc glibc
+
 DISTFILES:=             ${PKG_NAME}-${PKG_VERSION}.tar.bz2
 
 include $(TOPDIR)/mk/package.mk

+ 2 - 2
package/postfix/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		postfix
-PKG_VERSION:=		2.10.2
+PKG_VERSION:=		2.11.0
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		109e753aecafe487207b425dd46e6ee9
+PKG_MD5SUM:=		25fe7dd05f81cc0755131beecee046fd
 PKG_DESCR:=		Postfix MTA
 PKG_SECTION:=		mail
 PKG_BUILDDEP:=		tinycdb

+ 4 - 4
package/postfix/patches/patch-makedefs

@@ -1,6 +1,6 @@
---- postfix-2.10.2.orig/makedefs	2013-02-04 02:33:13.000000000 +0100
-+++ postfix-2.10.2/makedefs	2013-10-10 16:28:03.000000000 +0200
-@@ -366,16 +366,7 @@ EOF
+--- postfix-2.11.0.orig/makedefs	2014-01-05 18:18:56.000000000 +0100
++++ postfix-2.11.0/makedefs	2014-03-25 08:55:06.000000000 +0100
+@@ -382,16 +382,7 @@ EOF
  		    SYSLIBS="-ldb"
  		    ;;
  		esac
@@ -17,4 +17,4 @@
 +		SYSLIBS="-lresolv"
  		;;
       GNU.0*|GNU/kFreeBSD.[567]*)
-      		SYSTYPE=GNU0
+ 		SYSTYPE=GNU0

+ 10 - 0
package/postfix/patches/patch-src_posttls-finger_posttls-finger_c

@@ -0,0 +1,10 @@
+--- postfix-2.11.0.orig/src/posttls-finger/posttls-finger.c	2013-12-16 17:06:33.000000000 +0100
++++ postfix-2.11.0/src/posttls-finger/posttls-finger.c	2014-03-25 08:58:04.000000000 +0100
+@@ -290,6 +290,7 @@
+   */
+ #include <sys_defs.h>
+ #include <stdarg.h>
++#include <stdio.h>
+ #include <string.h>
+ #include <ctype.h>
+ #include <stdlib.h>

+ 17 - 9
package/postfix/patches/patch-src_util_sys_defs_h

@@ -1,13 +1,21 @@
---- postfix-2.10.2.orig/src/util/sys_defs.h	2012-09-25 01:53:56.000000000 +0200
-+++ postfix-2.10.2/src/util/sys_defs.h	2013-10-10 16:30:37.000000000 +0200
-@@ -753,8 +753,8 @@ extern int initgroups(const char *, int)
- #define DEF_MAILBOX_LOCK "fcntl, dotlock"	/* RedHat >= 4.x */
+--- postfix-2.11.0.orig/src/util/sys_defs.h	2013-09-29 22:51:55.000000000 +0200
++++ postfix-2.11.0/src/util/sys_defs.h	2014-03-26 19:38:02.000000000 +0100
+@@ -46,7 +46,7 @@
  #define HAS_FSYNC
  #define HAS_DB
--#define DEF_DB_TYPE	"hash"
--#define ALIAS_DB_MAP	"hash:/etc/aliases"
+ #define HAS_SA_LEN
+-#define NATIVE_DB_TYPE	"hash"
++#define NATIVE_DB_TYPE	"cdb"
+ #if (defined(__NetBSD_Version__) && __NetBSD_Version__ >= 104250000)
+ #define ALIAS_DB_MAP   DEF_DB_TYPE ":/etc/mail/aliases"	/* sendmail 8.10 */
+ #endif
+@@ -54,7 +54,8 @@
+ #define ALIAS_DB_MAP   DEF_DB_TYPE ":/etc/mail/aliases"	/* OpenBSD 2.7 */
+ #endif
+ #ifndef ALIAS_DB_MAP
+-#define ALIAS_DB_MAP	DEF_DB_TYPE ":/etc/aliases"
 +#define DEF_DB_TYPE    "cdb"
-+#define ALIAS_DB_MAP   "cdb:/etc/postfix/aliases"
- #ifndef NO_NIS
- #define HAS_NIS
++#define ALIAS_DB_MAP	DEF_DB_TYPE ":/etc/postfix/aliases"
  #endif
+ #define GETTIMEOFDAY(t)	gettimeofday(t,(struct timezone *) 0)
+ #define ROOT_PATH	"/bin:/usr/bin:/sbin:/usr/sbin"

+ 6 - 5
package/rng-tools/Makefile

@@ -4,15 +4,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		rng-tools
-PKG_VERSION:=		2
-PKG_RELEASE:=		2
-PKG_MD5SUM:=		63d503191eabed630324c104cc024475
-PKG_DESCR:=		Daemon to use hardware random number generators.
+PKG_VERSION:=		4
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		ae89dbfcf08bdfbea19066cfbf599127
+PKG_DESCR:=		daemon to use hardware random number generators.
 PKG_SECTION:=		crypto
 PKG_URL:=		http://gkernel.sourceforge.net/
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=gkernel/}
 
-PKG_LIBC_DEPENDS:=	glibc musl
+# argp.h required
+PKG_LIBC_DEPENDS:=	glibc
 
 include $(TOPDIR)/mk/package.mk
 

+ 5 - 3
package/siproxd/Makefile

@@ -4,13 +4,13 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		siproxd
-PKG_VERSION:=		0.7.1
+PKG_VERSION:=		0.8.1
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		45e5a44803181e2bf3361d562060c904
+PKG_MD5SUM:=		1a6f9d13aeb2d650375c9a346ac6cbaf
 PKG_DESCR:=		a SIP (Session Initiation Protocol) proxy
 PKG_SECTION:=		proxy
 PKG_DEPENDS:=		libosip2 libpthread
-PKG_BUILDDEP:=		libosip2
+PKG_BUILDDEP:=		autotool libosip2
 PKG_URL:=		http://siproxd.sourceforge.net
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=siproxd/}
 
@@ -18,6 +18,8 @@ include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,SIPROXD,siproxd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
+AUTOTOOL_STYLE:=	autoreconf
+
 siproxd-install:
 	${INSTALL_DIR} ${IDIR_SIPROXD}/usr/sbin ${IDIR_SIPROXD}/etc
 	${INSTALL_DATA} ${WRKINST}/etc/siproxd.conf.example \

+ 0 - 11
package/siproxd/patches/patch-libltdl_ltmain_sh

@@ -1,11 +0,0 @@
---- siproxd-0.7.1.orig/libltdl/ltmain.sh	2008-02-02 18:16:31.000000000 +0100
-+++ siproxd-0.7.1/libltdl/ltmain.sh	2011-01-17 12:14:25.000000000 +0100
-@@ -1298,7 +1298,7 @@ EOF
-       # but this is not reliable with gcc because gcc may use -mfoo to
-       # select a different linker, different libraries, etc, while
-       # -Wl,-mfoo simply passes -mfoo to the linker.
--      -m*)
-+      -m*|-fstack-protector*|-flto)
- 	# Unknown arguments in both finalize_command and compile_command need
- 	# to be aesthetically quoted because they are evaled later.
- 	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`

+ 0 - 11
package/siproxd/patches/patch-scripts_ltmain_sh

@@ -1,11 +0,0 @@
---- siproxd-0.7.1.orig/scripts/ltmain.sh	2008-01-27 17:35:27.000000000 +0100
-+++ siproxd-0.7.1/scripts/ltmain.sh	2011-01-17 12:17:22.000000000 +0100
-@@ -1301,7 +1301,7 @@ EOF
-       # but this is not reliable with gcc because gcc may use -mfoo to
-       # select a different linker, different libraries, etc, while
-       # -Wl,-mfoo simply passes -mfoo to the linker.
--      -m*)
-+      -m*|-fstack-protector*|-flto)
- 	# Unknown arguments in both finalize_command and compile_command need
- 	# to be aesthetically quoted because they are evaled later.
- 	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`

+ 10 - 0
package/siproxd/patches/patch-src_resolve_c

@@ -0,0 +1,10 @@
+--- siproxd-0.8.1.orig/src/resolve.c	2011-05-28 17:47:15.000000000 +0200
++++ siproxd-0.8.1/src/resolve.c	2014-03-26 18:37:07.000000000 +0100
+@@ -20,6 +20,7 @@
+ 
+ #include "config.h"
+ 
++#include <sys/types.h>
+ #include <arpa/inet.h>
+ #include <netinet/in.h>
+