diff options
author | Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org> | 2014-02-24 17:02:59 +0100 |
---|---|---|
committer | Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org> | 2014-02-24 17:06:02 +0100 |
commit | 31e4999e7b4239d5bdeb20d28502d829fdcc6d5c (patch) | |
tree | dd8ae981a1df3b9f01530b6315adc74647fc4312 | |
parent | 0aa2a934305325e17b07f7893a943ebcc32add69 (diff) | |
download | aports-31e4999e7b4239d5bdeb20d28502d829fdcc6d5c.tar.bz2 aports-31e4999e7b4239d5bdeb20d28502d829fdcc6d5c.tar.xz |
main/fsarchiver: upgrade to 0.6.18
-rw-r--r-- | main/fsarchiver/APKBUILD | 19 | ||||
-rw-r--r-- | main/fsarchiver/musl.patch | 207 |
2 files changed, 219 insertions, 7 deletions
diff --git a/main/fsarchiver/APKBUILD b/main/fsarchiver/APKBUILD index c2c2f3142e..83ac3bf889 100644 --- a/main/fsarchiver/APKBUILD +++ b/main/fsarchiver/APKBUILD @@ -1,21 +1,23 @@ -# Maintainer: Bartłomiej Piotrowski +# Maintainer: Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org> pkgname=fsarchiver -pkgver=0.6.17 -pkgrel=1 +pkgver=0.6.18 +pkgrel=0 pkgdesc='Safe and flexible file-system backup and deployment tool' arch=all url='http://www.fsarchiver.org/' license='GPL2' subpackages="$pkgname-doc" makedepends='attr-dev bzip2-dev e2fsprogs-dev lzo-dev xz-dev libgcrypt-dev zlib-dev' -source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz + musl.patch" _builddir="$srcdir/$pkgname-$pkgver" prepare() { cd "$_builddir" update_config_sub || return 1 + patch -p1 -i "$srcdir"/musl.patch } build() { @@ -33,6 +35,9 @@ package() { make DESTDIR="$pkgdir" install } -md5sums="74cd8cb541630da0542a0f5fd7cce247 fsarchiver-0.6.17.tar.gz" -sha256sums="409add97337783cb135f15c07318acf5067f5837f07bd62c7e358f3dcf5dced5 fsarchiver-0.6.17.tar.gz" -sha512sums="c433085c9c945fd48b073d9b53794cd35e09a9373e7e86ed32fde7f6c95c7fc9d01f805d5ab7708f61026998c4362c7c0d801d568cbd481a76dd79815d193954 fsarchiver-0.6.17.tar.gz" +md5sums="61bfe46dd1aca508169a96dfcd48a630 fsarchiver-0.6.18.tar.gz +ed536e4ef7dbcce3558d748c2f7d2136 musl.patch" +sha256sums="30c7b81b19435ca50fcdf964c15f50f530fbc3c3e1c6d379f3d656eba40c5d82 fsarchiver-0.6.18.tar.gz +b60e1f81b3fcff818578ea49bddb40f343b7d646b961d4aa6b269fb175b023cc musl.patch" +sha512sums="e56f00ae89196aff74943d4b4f3ff4a0c49bde0d77072d35e7d2ad8fd591dde33c4fa53d24151438812daa6052ec7f7ce639674e1c590f11fdd161591faeeb20 fsarchiver-0.6.18.tar.gz +62f1dbf109984a6eeb7a5786fbf9453b4341300aaf19d487cbdc43fadcdd9a2b437128b189e9391101cb19a9f02423f6e10e7f8afd8e032b0af13694fd4eba6a musl.patch" diff --git a/main/fsarchiver/musl.patch b/main/fsarchiver/musl.patch new file mode 100644 index 0000000000..cc4b2ea1d3 --- /dev/null +++ b/main/fsarchiver/musl.patch @@ -0,0 +1,207 @@ +diff -rupN a/src/common.c b/src/common.c +--- a/src/common.c 2014-02-13 22:31:32.000000000 +0100 ++++ b/src/common.c 2014-02-24 16:56:50.054679687 +0100 +@@ -29,7 +29,6 @@ + #include <sys/stat.h> + #include <fcntl.h> + #include <stdlib.h> +-#include <execinfo.h> + #include <wordexp.h> + #include <fnmatch.h> + #include <time.h> +@@ -549,23 +548,6 @@ u64 stats_errcount(cstats stats) + + int format_stacktrace(char *buffer, int bufsize) + { +- const int stack_depth=20; +- void *temp[stack_depth]; +- char **strings; +- int nptrs; +- int i; +- +- // format the backtrace (advanced error info) +- memset(buffer, 0, bufsize); +- nptrs=backtrace(temp, stack_depth); +- strings=backtrace_symbols(temp, nptrs); +- if (strings!=NULL) +- { +- for (i = 0; i < nptrs; i++) +- strlcatf(buffer, bufsize, "%s\n", strings[i]); +- free(strings); +- } +- + return 0; + } + +diff -rupN a/src/fsarchiver.h b/src/fsarchiver.h +--- a/src/fsarchiver.h 2014-02-13 22:43:59.000000000 +0100 ++++ b/src/fsarchiver.h 2014-02-24 16:57:13.494680985 +0100 +@@ -19,6 +19,7 @@ + #define __FSARCHIVER_H__ + + #include "types.h" ++#include <linux/limits.h> + + // ----------------------------- min and max ----------------------------- + #if !defined(min) +diff -rupN a/src/fs_xfs.h b/src/fs_xfs.h +--- a/src/fs_xfs.h 2014-02-13 22:30:56.000000000 +0100 ++++ b/src/fs_xfs.h 2014-02-24 16:49:23.984654967 +0100 +@@ -39,34 +39,34 @@ typedef int32_t __s32; + typedef uint64_t __u64; + typedef int64_t __s64; + +-typedef __uint32_t xfs_agblock_t; /* blockno in alloc. group */ +-typedef __uint32_t xfs_extlen_t; /* extent length in blocks */ +-typedef __uint32_t xfs_agnumber_t; /* allocation group number */ +-typedef __int32_t xfs_extnum_t; /* # of extents in a file */ +-typedef __int16_t xfs_aextnum_t; /* # extents in an attribute fork */ +-typedef __int64_t xfs_fsize_t; /* bytes in a file */ +-typedef __uint64_t xfs_ufsize_t; /* unsigned bytes in a file */ ++typedef uint32_t xfs_agblock_t; /* blockno in alloc. group */ ++typedef uint32_t xfs_extlen_t; /* extent length in blocks */ ++typedef uint32_t xfs_agnumber_t; /* allocation group number */ ++typedef int32_t xfs_extnum_t; /* # of extents in a file */ ++typedef int16_t xfs_aextnum_t; /* # extents in an attribute fork */ ++typedef int64_t xfs_fsize_t; /* bytes in a file */ ++typedef uint64_t xfs_ufsize_t; /* unsigned bytes in a file */ + +-typedef __int32_t xfs_suminfo_t; /* type of bitmap summary info */ +-typedef __int32_t xfs_rtword_t; /* word type for bitmap manipulations */ ++typedef int32_t xfs_suminfo_t; /* type of bitmap summary info */ ++typedef int32_t xfs_rtword_t; /* word type for bitmap manipulations */ + +-typedef __int64_t xfs_lsn_t; /* log sequence number */ +-typedef __int32_t xfs_tid_t; /* transaction identifier */ ++typedef int64_t xfs_lsn_t; /* log sequence number */ ++typedef int32_t xfs_tid_t; /* transaction identifier */ + +-typedef __uint32_t xfs_dablk_t; /* dir/attr block number (in file) */ +-typedef __uint32_t xfs_dahash_t; /* dir/attr hash value */ ++typedef uint32_t xfs_dablk_t; /* dir/attr block number (in file) */ ++typedef uint32_t xfs_dahash_t; /* dir/attr hash value */ + +-typedef __uint16_t xfs_prid_t; /* prid_t truncated to 16bits in XFS */ ++typedef uint16_t xfs_prid_t; /* prid_t truncated to 16bits in XFS */ + + /* + * These types are 64 bits on disk but are either 32 or 64 bits in memory. + * Disk based types: + */ +-typedef __uint64_t xfs_dfsbno_t; /* blockno in filesystem (agno|agbno) */ +-typedef __uint64_t xfs_drfsbno_t; /* blockno in filesystem (raw) */ +-typedef __uint64_t xfs_drtbno_t; /* extent (block) in realtime area */ +-typedef __uint64_t xfs_dfiloff_t; /* block number in a file */ +-typedef __uint64_t xfs_dfilblks_t; /* number of blocks in a file */ ++typedef uint64_t xfs_dfsbno_t; /* blockno in filesystem (agno|agbno) */ ++typedef uint64_t xfs_drfsbno_t; /* blockno in filesystem (raw) */ ++typedef uint64_t xfs_drtbno_t; /* extent (block) in realtime area */ ++typedef uint64_t xfs_dfiloff_t; /* block number in a file */ ++typedef uint64_t xfs_dfilblks_t; /* number of blocks in a file */ + + typedef __s64 xfs_off_t; /* <file offset> type */ + typedef __u64 xfs_ino_t; /* <inode> type */ +@@ -84,8 +84,8 @@ typedef struct { unsigned char __u_bit + */ + struct xfs_sb + { +- __uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */ +- __uint32_t sb_blocksize; /* logical block size, bytes */ ++ uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */ ++ uint32_t sb_blocksize; /* logical block size, bytes */ + xfs_drfsbno_t sb_dblocks; /* number of data blocks */ + xfs_drfsbno_t sb_rblocks; /* number of realtime blocks */ + xfs_drtbno_t sb_rextents; /* number of realtime extents */ +@@ -99,51 +99,51 @@ struct xfs_sb + xfs_agnumber_t sb_agcount; /* number of allocation groups */ + xfs_extlen_t sb_rbmblocks; /* number of rt bitmap blocks */ + xfs_extlen_t sb_logblocks; /* number of log blocks */ +- __uint16_t sb_versionnum; /* header version == XFS_SB_VERSION */ +- __uint16_t sb_sectsize; /* volume sector size, bytes */ +- __uint16_t sb_inodesize; /* inode size, bytes */ +- __uint16_t sb_inopblock; /* inodes per block */ ++ uint16_t sb_versionnum; /* header version == XFS_SB_VERSION */ ++ uint16_t sb_sectsize; /* volume sector size, bytes */ ++ uint16_t sb_inodesize; /* inode size, bytes */ ++ uint16_t sb_inopblock; /* inodes per block */ + char sb_fname[12]; /* file system name */ +- __uint8_t sb_blocklog; /* log2 of sb_blocksize */ +- __uint8_t sb_sectlog; /* log2 of sb_sectsize */ +- __uint8_t sb_inodelog; /* log2 of sb_inodesize */ +- __uint8_t sb_inopblog; /* log2 of sb_inopblock */ +- __uint8_t sb_agblklog; /* log2 of sb_agblocks (rounded up) */ +- __uint8_t sb_rextslog; /* log2 of sb_rextents */ +- __uint8_t sb_inprogress; /* mkfs is in progress, don't mount */ +- __uint8_t sb_imax_pct; /* max % of fs for inode space */ ++ uint8_t sb_blocklog; /* log2 of sb_blocksize */ ++ uint8_t sb_sectlog; /* log2 of sb_sectsize */ ++ uint8_t sb_inodelog; /* log2 of sb_inodesize */ ++ uint8_t sb_inopblog; /* log2 of sb_inopblock */ ++ uint8_t sb_agblklog; /* log2 of sb_agblocks (rounded up) */ ++ uint8_t sb_rextslog; /* log2 of sb_rextents */ ++ uint8_t sb_inprogress; /* mkfs is in progress, don't mount */ ++ uint8_t sb_imax_pct; /* max % of fs for inode space */ + /* + * These fields must remain contiguous. If you really + * want to change their layout, make sure you fix the + * code in xfs_trans_apply_sb_deltas(). + */ +- __uint64_t sb_icount; /* allocated inodes */ +- __uint64_t sb_ifree; /* free inodes */ +- __uint64_t sb_fdblocks; /* free data blocks */ +- __uint64_t sb_frextents; /* free realtime extents */ ++ uint64_t sb_icount; /* allocated inodes */ ++ uint64_t sb_ifree; /* free inodes */ ++ uint64_t sb_fdblocks; /* free data blocks */ ++ uint64_t sb_frextents; /* free realtime extents */ + /* + * End contiguous fields. + */ + xfs_ino_t sb_uquotino; /* user quota inode */ + xfs_ino_t sb_gquotino; /* group quota inode */ +- __uint16_t sb_qflags; /* quota flags */ +- __uint8_t sb_flags; /* misc. flags */ +- __uint8_t sb_shared_vn; /* shared version number */ ++ uint16_t sb_qflags; /* quota flags */ ++ uint8_t sb_flags; /* misc. flags */ ++ uint8_t sb_shared_vn; /* shared version number */ + xfs_extlen_t sb_inoalignmt; /* inode chunk alignment, fsblocks */ +- __uint32_t sb_unit; /* stripe or raid unit */ +- __uint32_t sb_width; /* stripe or raid width */ +- __uint8_t sb_dirblklog; /* log2 of dir block size (fsbs) */ +- __uint8_t sb_logsectlog; /* log2 of the log sector size */ +- __uint16_t sb_logsectsize; /* sector size for the log, bytes */ +- __uint32_t sb_logsunit; /* stripe unit size for the log */ +- __uint32_t sb_features2; /* additional feature bits */ ++ uint32_t sb_unit; /* stripe or raid unit */ ++ uint32_t sb_width; /* stripe or raid width */ ++ uint8_t sb_dirblklog; /* log2 of dir block size (fsbs) */ ++ uint8_t sb_logsectlog; /* log2 of the log sector size */ ++ uint16_t sb_logsectsize; /* sector size for the log, bytes */ ++ uint32_t sb_logsunit; /* stripe unit size for the log */ ++ uint32_t sb_features2; /* additional feature bits */ + /* + * bad features2 field as a result of failing to pad the sb + * structure to 64 bits. Some machines will be using this field + * for features2 bits. Easiest just to mark it bad and not use + * it for anything else. + */ +- __uint32_t sb_bad_features2; ++ uint32_t sb_bad_features2; + + /* must be padded to 64 bit alignment */ + }; +diff -rupN a/src/oper_save.c b/src/oper_save.c +--- a/src/oper_save.c 2014-02-13 22:31:32.000000000 +0100 ++++ b/src/oper_save.c 2014-02-24 16:51:07.984660731 +0100 +@@ -57,6 +57,10 @@ + #include "error.h" + #include "queue.h" + ++#ifndef S_BLKSIZE ++#define S_BLKSIZE 512 ++#endif ++ + typedef struct s_savear + { carchwriter ai; + cregmulti regmulti; |