diff -Nru libarchive-3.0.4/debian/changelog libarchive-3.0.4/debian/changelog
--- libarchive-3.0.4/debian/changelog	2013-03-27 12:14:58.000000000 -0400
+++ libarchive-3.0.4/debian/changelog	2013-04-20 20:25:40.000000000 -0400
@@ -1,3 +1,11 @@
+libarchive (3.0.4-3+nmu1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Use integers instead of unsigned longs in disk read/write routines, fixing
+    a build failure on s390x (closes: #704769). 
+
+ -- Michael Gilbert <mgilbert@debian.org>  Sun, 21 Apr 2013 00:20:35 +0000
+
 libarchive (3.0.4-3) unstable; urgency=low
 
   * Add patch that fixes CVE-2013-0211. (Closes: #703957)
diff -Nru libarchive-3.0.4/debian/patches/integers-for-s390x.patch libarchive-3.0.4/debian/patches/integers-for-s390x.patch
--- libarchive-3.0.4/debian/patches/integers-for-s390x.patch	1969-12-31 19:00:00.000000000 -0500
+++ libarchive-3.0.4/debian/patches/integers-for-s390x.patch	2013-04-20 20:21:33.000000000 -0400
@@ -0,0 +1,34 @@
+commit 0970d06ae27d5558894ea07cdd168672a9fbb58a
+Author: Andreas Schwab <schwab@linux-m68k.org>
+Date:   Wed Aug 29 15:41:51 2012 +0200
+
+    Fix more uses of EXT2_IOC_[GS]ETFLAGS
+
+Index: libarchive-3.0.4/libarchive/archive_read_disk_posix.c
+===================================================================
+--- libarchive-3.0.4.orig/libarchive/archive_read_disk_posix.c	2013-04-21 00:21:30.502368500 +0000
++++ libarchive-3.0.4/libarchive/archive_read_disk_posix.c	2013-04-21 00:21:30.418368497 +0000
+@@ -984,7 +984,7 @@
+ #elif defined(EXT2_IOC_GETFLAGS) && defined(EXT2_NODUMP_FL) &&\
+       defined(HAVE_WORKING_EXT2_IOC_GETFLAGS)
+ 		if (S_ISREG(st->st_mode) || S_ISDIR(st->st_mode)) {
+-			unsigned long stflags;
++			int stflags;
+ 
+ 			t->entry_fd = open_on_current_dir(t,
+ 			    tree_current_access_path(t), O_RDONLY | O_NONBLOCK);
+Index: libarchive-3.0.4/libarchive/archive_write_disk_posix.c
+===================================================================
+--- libarchive-3.0.4.orig/libarchive/archive_write_disk_posix.c	2013-04-21 00:21:30.502368500 +0000
++++ libarchive-3.0.4/libarchive/archive_write_disk_posix.c	2013-04-21 00:21:30.422368498 +0000
+@@ -2403,8 +2403,8 @@
+ {
+ 	int		 ret;
+ 	int		 myfd = fd;
+-	unsigned long newflags, oldflags;
+-	unsigned long sf_mask = 0;
++	int newflags, oldflags;
++	int sf_mask = 0;
+ 
+ 	if (set == 0  && clear == 0)
+ 		return (ARCHIVE_OK);
diff -Nru libarchive-3.0.4/debian/patches/series libarchive-3.0.4/debian/patches/series
--- libarchive-3.0.4/debian/patches/series	2013-03-27 10:32:47.000000000 -0400
+++ libarchive-3.0.4/debian/patches/series	2013-04-20 20:23:02.000000000 -0400
@@ -1,2 +1,3 @@
 gcc-4.7-fixes-from-upstream.patch
 fix-CVE-2013-0211.patch
+integers-for-s390x.patch
