aboutsummaryrefslogtreecommitdiffstats
path: root/main/fsarchiver
diff options
context:
space:
mode:
authorBartłomiej Piotrowski <bpiotrowski@alpinelinux.org>2014-02-24 17:02:59 +0100
committerBartłomiej Piotrowski <bpiotrowski@alpinelinux.org>2014-02-24 17:06:02 +0100
commit31e4999e7b4239d5bdeb20d28502d829fdcc6d5c (patch)
treedd8ae981a1df3b9f01530b6315adc74647fc4312 /main/fsarchiver
parent0aa2a934305325e17b07f7893a943ebcc32add69 (diff)
downloadaports-31e4999e7b4239d5bdeb20d28502d829fdcc6d5c.tar.bz2
aports-31e4999e7b4239d5bdeb20d28502d829fdcc6d5c.tar.xz
main/fsarchiver: upgrade to 0.6.18
Diffstat (limited to 'main/fsarchiver')
-rw-r--r--main/fsarchiver/APKBUILD19
-rw-r--r--main/fsarchiver/musl.patch207
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;