diff --git a/.cvsignore b/.cvsignore index 8d83b28..8a36285 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -xfsprogs_2.10.2-1.tar.gz +xfsprogs-3.0.0.tar.gz diff --git a/sources b/sources index 962147d..fd5dd63 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7d3d917b41dae79f9bc9b6ed24f45aa0 xfsprogs_2.10.2-1.tar.gz +ec734f935ec87ebb8be890d29380a3e6 xfsprogs-3.0.0.tar.gz diff --git a/xfsprogs-2.10.1-libdisk-gfs2.patch b/xfsprogs-2.10.1-libdisk-gfs2.patch deleted file mode 100644 index 53615f3..0000000 --- a/xfsprogs-2.10.1-libdisk-gfs2.patch +++ /dev/null @@ -1,120 +0,0 @@ -Recognize gfs & gfs2 disk formats. - -Signed-off-by: Eric Sandeen ---- - -Index: xfs-cmds-build/xfsprogs/libdisk/fstype.c -=================================================================== ---- xfs-cmds-build.orig/xfsprogs/libdisk/fstype.c -+++ xfs-cmds-build/xfsprogs/libdisk/fstype.c -@@ -68,6 +68,7 @@ swapped(unsigned short a) { - Added jfs - Christoph Hellwig - Added sysv - Tim Launchbury - Added udf - Bryce Nesbitt -+ Added gfs/gfs2 - Eric Sandeen - */ - - /* -@@ -192,6 +193,7 @@ fstype(const char *device) { - struct hpfs_super_block hpfssb; - struct adfs_super_block adfssb; - struct sysv_super_block svsb; -+ struct gfs2_sb gfs2sb; - struct stat statbuf; - - /* opening and reading an arbitrary unknown path can have -@@ -382,6 +384,21 @@ fstype(const char *device) { - } - - if (!type) { -+ /* block 64 */ -+ if (lseek(fd, GFS_SUPERBLOCK_OFFSET, SEEK_SET) != GFS_SUPERBLOCK_OFFSET -+ || read(fd, (char *) &gfs2sb, sizeof(gfs2sb)) != sizeof(gfs2sb)) -+ goto io_error; -+ if (gfsmagic(gfs2sb)) { -+ if (gfsformat(gfs2sb) == GFS_FORMAT_FS && -+ gfsmultiformat(gfs2sb) == GFS_FORMAT_MULTI) -+ type = "gfs"; -+ else if (gfsformat(gfs2sb) == GFS2_FORMAT_FS && -+ gfsmultiformat(gfs2sb) == GFS2_FORMAT_MULTI) -+ type = "gfs2"; -+ } -+ } -+ -+ if (!type) { - /* perhaps the user tries to mount the swap space - on a new disk; warn her before she does mkfs on it */ - int pagesize = getpagesize(); -Index: xfs-cmds-build/xfsprogs/libdisk/fstype.h -=================================================================== ---- xfs-cmds-build.orig/xfsprogs/libdisk/fstype.h -+++ xfs-cmds-build/xfsprogs/libdisk/fstype.h -@@ -242,6 +242,56 @@ struct ocfs_volume_label { - #define ocfslabellen(o) assemble2le(o.label_len) - #define OCFS_MAGIC "OracleCFS" - -+/* Common gfs/gfs2 constants: */ -+#define GFS_MAGIC 0x01161970 -+#define GFS_DEFAULT_BSIZE 4096 -+#define GFS_SUPERBLOCK_OFFSET (0x10 * GFS_DEFAULT_BSIZE) -+#define GFS_LOCKNAME_LEN 64 -+ -+/* gfs1 constants: */ -+#define GFS_FORMAT_FS 1309 -+#define GFS_FORMAT_MULTI 1401 -+/* gfs2 constants: */ -+#define GFS2_FORMAT_FS 1801 -+#define GFS2_FORMAT_MULTI 1900 -+ -+struct gfs2_meta_header { -+ char mh_magic[4]; -+ char mh_type[4]; -+ char __pad0[8]; /* Was generation number in gfs1 */ -+ char mh_format[4]; -+ char __pad1[4]; /* Was incarnation number in gfs1 */ -+}; -+ -+struct gfs2_inum { -+ char no_formal_ino[8]; -+ char no_addr[8]; -+}; -+ -+struct gfs2_sb { -+ struct gfs2_meta_header sb_header; -+ -+ char sb_fs_format[4]; -+ char sb_multihost_format[4]; -+ char __pad0[4]; /* Was superblock flags in gfs1 */ -+ -+ char sb_bsize[4]; -+ char sb_bsize_shift[4]; -+ char __pad1[4]; /* Was journal segment size in gfs1 */ -+ -+ struct gfs2_inum sb_master_dir; /* Was jindex dinode in gfs1 */ -+ struct gfs2_inum __pad2; /* Was rindex dinode in gfs1 */ -+ struct gfs2_inum sb_root_dir; -+ -+ char sb_lockproto[GFS_LOCKNAME_LEN]; -+ char sb_locktable[GFS_LOCKNAME_LEN]; -+ /* In gfs1, quota and license dinodes followed */ -+}; -+ -+#define gfsmagic(s) assemble4be(s.sb_header.mh_magic) -+#define gfsformat(s) assemble4be(s.sb_fs_format) -+#define gfsmultiformat(s) assemble4be(s.sb_multihost_format) -+ - static inline int - assemble2le(char *p) { - return (p[0] | (p[1] << 8)); -@@ -251,3 +301,8 @@ static inline int - assemble4le(char *p) { - return (p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24)); - } -+ -+static inline int -+assemble4be(char *p) { -+ return (p[3] | (p[2] << 8) | (p[1] << 16) | (p[0] << 24)); -+} - - - diff --git a/xfsprogs-2.10.1-parallel-build.patch b/xfsprogs-2.10.1-parallel-build.patch deleted file mode 100644 index c8a45fd..0000000 --- a/xfsprogs-2.10.1-parallel-build.patch +++ /dev/null @@ -1,189 +0,0 @@ - -w parallel builds of the xfsprogs package - -I got tired of waiting for xfsprogs to build -serially... - -On a 16p altix, make -j16 (excluding the configure -phase) went from 2m16s to 15s. - -I tossed this into an rpm and did a fedora scratch -build on all arches, they all passed - some of them, -at least, should have been doing parallel builds too. - -So this has had reasonable testing. - -Signed-off-by: Eric Sandeen ---- - -Index: xfs-cmds/xfsprogs/Makefile -=================================================================== ---- xfs-cmds.orig/xfsprogs/Makefile -+++ xfs-cmds/xfsprogs/Makefile -@@ -15,24 +15,36 @@ LSRCFILES = configure configure.in Makep - LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \ - Logs/* built .census install.* install-dev.* *.gz - --SUBDIRS = include libxfs libxlog libxcmd libhandle libdisk \ -- copy db fsck growfs io logprint mkfs quota mdrestore repair rtcp \ -- m4 man doc po debian build -+LIB_SUBDIRS = include libxfs libxlog libxcmd libhandle libdisk -+TOOL_SUBDIRS = copy db fsck growfs io logprint mkfs quota \ -+ mdrestore repair rtcp m4 man doc po debian build - --default: $(CONFIGURE) -+SUBDIRS = $(LIB_SUBDIRS) $(TOOL_SUBDIRS) -+ -+default: include/builddefs include/platform_defs.h - ifeq ($(HAVE_BUILDDEFS), no) - $(MAKE) -C . $@ - else -- $(SUBDIRS_MAKERULE) -+ $(MAKE) $(SUBDIRS) - endif - -+# tool/lib dependencies -+libxcmd: include -+copy mdrestore: libxfs -+db logprint: libxfs libxlog -+growfs: libxfs libxcmd -+io: libxcmd libhandle -+mkfs: libxfs libdisk -+quota: libxcmd -+repair: libxfs libxlog -+ - ifeq ($(HAVE_BUILDDEFS), yes) - include $(BUILDRULES) - else - clean: # if configure hasn't run, nothing to clean - endif - --$(CONFIGURE): -+include/builddefs: - autoconf - ./configure \ - --prefix=/ \ -@@ -48,16 +60,27 @@ $(CONFIGURE): - $$LOCAL_CONFIGURE_OPTIONS - touch .census - -+include/platform_defs.h: include/builddefs -+## Recover from the removal of $@ -+ @if test -f $@; then :; else \ -+ rm -f include/builddefs; \ -+ $(MAKE) $(AM_MAKEFLAGS) include/builddefs; \ -+ fi -+ - aclocal.m4:: - aclocal --acdir=`pwd`/m4 --output=$@ - --install: default -- $(SUBDIRS_MAKERULE) -+install: default $(addsuffix -install,$(SUBDIRS)) - $(INSTALL) -m 755 -d $(PKG_DOC_DIR) - $(INSTALL) -m 644 README $(PKG_DOC_DIR) - --install-dev: default -- $(SUBDIRS_MAKERULE) -+install-dev: default $(addsuffix -install-dev,$(SUBDIRS)) -+ -+%-install: -+ $(MAKE) -C $* install -+ -+%-install-dev: -+ $(MAKE) -C $* install-dev - - realclean distclean: clean - rm -f $(LDIRT) $(CONFIGURE) -Index: xfs-cmds/xfsprogs/include/buildrules -=================================================================== ---- xfs-cmds.orig/xfsprogs/include/buildrules -+++ xfs-cmds/xfsprogs/include/buildrules -@@ -6,16 +6,19 @@ _BUILDRULES_INCLUDED_ = 1 - - include $(TOPDIR)/include/builddefs - --clean clobber : $(SUBDIRS) -+clean clobber : $(addsuffix -clean,$(SUBDIRS)) - rm -f $(DIRT) - @rm -fr .libs -- $(SUBDIRS_MAKERULE) -+%-clean: -+ $(MAKE) -C $* clean - - # Never blow away subdirs - ifdef SUBDIRS - .PRECIOUS: $(SUBDIRS) -+.PHONY: $(SUBDIRS) -+ - $(SUBDIRS): -- $(SUBDIRS_MAKERULE) -+ $(MAKE) -C $@ - endif - - # -@@ -69,11 +72,13 @@ ifdef LTLIBRARY - DEPENDSCRIPT := $(DEPENDSCRIPT) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,' - endif - --depend : $(CFILES) $(HFILES) -- $(SUBDIRS_MAKERULE) -+depend : $(CFILES) $(HFILES) $(addsuffix -depend,$(SUBDIRS)) - $(DEPENDSCRIPT) > .dep - test -s .dep || rm -f .dep - -+%-depend: -+ $(MAKE) -C $* depend -+ - # Include dep, but only if it exists - ifeq ($(shell test -f .dep && echo .dep), .dep) - include .dep -Index: xfs-cmds/xfsprogs/include/buildmacros -=================================================================== ---- xfs-cmds.orig/xfsprogs/include/buildmacros -+++ xfs-cmds/xfsprogs/include/buildmacros -@@ -123,14 +123,6 @@ INSTALL_LINGUAS = \ - done - endif - --SUBDIRS_MAKERULE = \ -- @for d in $(SUBDIRS) ""; do \ -- if test -d "$$d" -a ! -z "$$d"; then \ -- $(ECHO) === $$d ===; \ -- $(MAKEF) -C $$d $@ || exit $$?; \ -- fi; \ -- done -- - MAN_MAKERULE = \ - @for f in *.[12345678] ""; do \ - if test ! -z "$$f"; then \ -Index: xfs-cmds/xfsprogs/man/Makefile -=================================================================== ---- xfs-cmds.orig/xfsprogs/man/Makefile -+++ xfs-cmds/xfsprogs/man/Makefile -@@ -7,7 +7,16 @@ include $(TOPDIR)/include/builddefs - - SUBDIRS = man3 man5 man8 - --default install install-dev : $(SUBDIRS) -- $(SUBDIRS_MAKERULE) -+default : $(SUBDIRS) -+ -+install : $(addsuffix -install,$(SUBDIRS)) -+ -+install-dev : $(addsuffix -install-dev,$(SUBDIRS)) -+ -+%-install: -+ $(MAKE) -C $* install -+ -+%-install-dev: -+ $(MAKE) -C $* install-dev - - include $(BUILDRULES) - -_______________________________________________ -xfs mailing list -xfs@oss.sgi.com -http://oss.sgi.com/mailman/listinfo/xfs - - diff --git a/xfsprogs-2.10.1-ustat.patch b/xfsprogs-2.10.1-ustat.patch deleted file mode 100644 index 5caf520..0000000 --- a/xfsprogs-2.10.1-ustat.patch +++ /dev/null @@ -1,49 +0,0 @@ -Linux kernels (at least up until 2.6.27) are lacking compat sys_ustat -handlers on some platforms (notably PPC) so that if called from 32 bits -on a 64-bit kernel, the kernel will copy out too much (32 bytes onto a -20-byte structure): - -[root@xero xfstests]# xfs_logprint /dev/loop0 -xfs_logprint: -*** stack smashing detected ***: xfs_logprint terminated -Aborted - -This will be fixed upstream, but for the benefit of older kernels we -may want to guard against this by padding the structure we pass into -the syscall. We don't care about the values anyway, just the return -value. - -Signed-off-by: Eric Sandeen ---- - -Index: xfs-cmds/xfsprogs/libxfs/linux.c -=================================================================== ---- xfs-cmds.orig/xfsprogs/libxfs/linux.c -+++ xfs-cmds/xfsprogs/libxfs/linux.c -@@ -49,7 +49,8 @@ static int max_block_alignment; - int - platform_check_ismounted(char *name, char *block, struct stat64 *s, int verbose) - { -- struct ustat ust; -+ /* Pad ust; pre-2.6.28 linux copies out too much in 32bit compat mode */ -+ struct ustat ust[2]; - struct stat64 st; - - if (!s) { -@@ -60,7 +61,7 @@ platform_check_ismounted(char *name, cha - s = &st; - } - -- if (ustat(s->st_rdev, &ust) >= 0) { -+ if (ustat(s->st_rdev, ust) >= 0) { - if (verbose) - fprintf(stderr, - _("%s: %s contains a mounted filesystem\n"), - - -_______________________________________________ -xfs mailing list -xfs@oss.sgi.com -http://oss.sgi.com/mailman/listinfo/xfs - - diff --git a/xfsprogs.spec b/xfsprogs.spec index 38f1b97..b70a267 100644 --- a/xfsprogs.spec +++ b/xfsprogs.spec @@ -1,7 +1,7 @@ Summary: Utilities for managing the XFS filesystem Name: xfsprogs -Version: 2.10.2 -Release: 3%{?dist} +Version: 3.0.0 +Release: 1%{?dist} # Licensing based on generic "GNU GENERAL PUBLIC LICENSE" # in source, with no mention of version. # doc/COPYING file specifies what is GPL and what is LGPL @@ -9,7 +9,7 @@ Release: 3%{?dist} License: GPL+ and LGPLv2+ Group: System Environment/Base URL: http://oss.sgi.com/projects/xfs/ -Source0: ftp://oss.sgi.com/projects/xfs/cmd_tars/%{name}_%{version}-1.tar.gz +Source0: ftp://oss.sgi.com/projects/xfs/cmd_tars/%{name}-%{version}.tar.gz Source1: xfsprogs-wrapper.h BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: libtool, gettext @@ -18,10 +18,6 @@ Provides: xfs-cmds Obsoletes: xfs-cmds <= %{version} Conflicts: xfsdump < 2.0.0 -Patch0: xfsprogs-2.10.1-parallel-build.patch -Patch1: xfsprogs-2.10.1-libdisk-gfs2.patch -Patch2: xfsprogs-2.10.1-ustat.patch - %description A set of commands to use the XFS filesystem, including mkfs.xfs. @@ -51,14 +47,11 @@ also want to install xfsprogs. %prep %setup -q -%patch0 -p2 -%patch1 -p2 -%patch2 -p2 %build -# xfsprogs abuses libexecdir export tagname=CC DEBUG=-DNDEBUG - +autoconf +# xfsprogs abuses libexecdir %configure \ --sbindir=/sbin \ --libdir=/%{_lib} \ @@ -113,12 +106,14 @@ rm -rf $RPM_BUILD_ROOT %files devel %defattr(-,root,root) %{_mandir}/man3/* -%{_includedir}/disk %{_includedir}/xfs %{_libdir}/*.a %{_libdir}/*.so %changelog +* Wed Feb 04 2009 Eric Sandeen 3.0.0-1 +- New upstream release + * Thu Jan 08 2009 Eric Sandeen 2.10.2-3 - Fix perms of libhandle.so in specfile, not makefile