ports/81789: sysutils/xfsprogs port (NEW)

Craig Rodrigues rodrigc at crodrigues.org
Thu Jun 2 02:20:02 UTC 2005


>Number:         81789
>Category:       ports
>Synopsis:       sysutils/xfsprogs port (NEW)
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jun 02 02:20:01 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Craig Rodrigues
>Release:        FreeBSD 6.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD dibbler.crodrigues.org 6.0-CURRENT FreeBSD 6.0-CURRENT #59: Tue May 17 07:48:42 EDT 2005 rodrigc at dibbler.crodrigues.org:/usr/obj/usr/src/sys/MYKERNEL1 i386


	
>Description:
	New port for xfsprogs.  These are utilities for dealing
	with XFS filesystems.  This is part of the XFS for FreeBSD project:

	http://people.freebsd.org/~rodrigc/xfs/

>How-To-Repeat:
	
>Fix:


# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	xfsprogs
#	xfsprogs/files
#	xfsprogs/files/patch-configure
#	xfsprogs/files/patch-Makefile
#	xfsprogs/files/patch-buildmacros
#	xfsprogs/files/patch-builddefs.in
#	xfsprogs/files/patch-fstype.c
#	xfsprogs/files/patch-fstype.h
#	xfsprogs/files/patch-aclocal.m4
#	xfsprogs/files/patch-fsck_Makefile
#	xfsprogs/Makefile
#	xfsprogs/pkg-plist
#	xfsprogs/pkg-descr
#	xfsprogs/distinfo
#
echo c - xfsprogs
mkdir -p xfsprogs > /dev/null 2>&1
echo c - xfsprogs/files
mkdir -p xfsprogs/files > /dev/null 2>&1
echo x - xfsprogs/files/patch-configure
sed 's/^X//' >xfsprogs/files/patch-configure << 'END-of-xfsprogs/files/patch-configure'
X--- configure.orig	Sat Aug 16 00:16:35 2003
X+++ configure	Sat Aug 16 00:31:29 2003
X@@ -3080,6 +3080,8 @@
X echo "${ECHO_T}$ac_cv_prog_egrep" >&6
X  EGREP=$ac_cv_prog_egrep
X 
X+OBJEXT=o
X+ac_objext=o
X 
X echo "$as_me:$LINENO: checking for ANSI C header files" >&5
X echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
END-of-xfsprogs/files/patch-configure
echo x - xfsprogs/files/patch-Makefile
sed 's/^X//' >xfsprogs/files/patch-Makefile << 'END-of-xfsprogs/files/patch-Makefile'
X--- Makefile.orig	Thu Dec 23 13:35:01 2004
X+++ Makefile	Thu Dec 23 13:35:08 2004
X@@ -44,7 +44,7 @@
X 	Logs/* built .census install.* install-dev.* *.gz
X 
X SUBDIRS = include libxfs libxlog libhandle libdisk \
X-	copy db fsck growfs io imap logprint mkfile mkfs repair rtcp \
X+	db fsck growfs io imap logprint mkfile mkfs repair rtcp \
X 	m4 man doc po debian build
X 
X default: $(CONFIGURE)
END-of-xfsprogs/files/patch-Makefile
echo x - xfsprogs/files/patch-buildmacros
sed 's/^X//' >xfsprogs/files/patch-buildmacros << 'END-of-xfsprogs/files/patch-buildmacros'
X--- include/buildmacros.orig	Sat Aug 16 01:41:15 2003
X+++ include/buildmacros	Sat Aug 16 01:41:48 2003
X@@ -54,8 +54,6 @@
X 	  $(LFILES:.l=.o) \
X 	  $(YFILES:%.y=%.tab.o)
X 
X-INSTALL	= $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
X-
X SHELL = /bin/sh
X IMAGES_DIR = $(TOPDIR)/all-images
X DIST_DIR = $(TOPDIR)/dist
END-of-xfsprogs/files/patch-buildmacros
echo x - xfsprogs/files/patch-builddefs.in
sed 's/^X//' >xfsprogs/files/patch-builddefs.in << 'END-of-xfsprogs/files/patch-builddefs.in'
X--- include/builddefs.in.orig	Thu Dec 23 13:38:50 2004
X+++ include/builddefs.in	Thu Dec 23 13:39:02 2004
X@@ -113,7 +113,7 @@
X PCFLAGS = -I/usr/local/include
X endif
X 
X-GCFLAGS = -O1 $(OPTIMIZER) $(DEBUG) -funsigned-char -fno-strict-aliasing -Wall \
X+GCFLAGS = $(OPTIMIZER) $(DEBUG) -funsigned-char -fno-strict-aliasing -Wall \
X 	  -DVERSION=\"$(PKG_VERSION)\" -DLOCALEDIR=\"$(PKG_LOCALE_DIR)\"  \
X 	  -DPACKAGE=\"$(PKG_NAME)\" -I$(TOPDIR)/include
X 
END-of-xfsprogs/files/patch-builddefs.in
echo x - xfsprogs/files/patch-fstype.c
sed 's/^X//' >xfsprogs/files/patch-fstype.c << 'END-of-xfsprogs/files/patch-fstype.c'
X--- libdisk/fstype.c.orig	Tue Aug 19 15:29:58 2003
X+++ libdisk/fstype.c	Tue Aug 19 15:31:13 2003
X@@ -63,6 +63,28 @@
X      return (a>>8) | (a<<8);
X }
X 
X+#define blksize	512
X+static int
X+read_dev(int fd, void *buf, size_t len)
X+{
X+	char 	block[blksize];
X+	size_t  ret;
X+	size_t readlen = len - len % blksize;
X+	
X+	ret = read(fd, buf, readlen);
X+	if (ret != readlen)
X+		return ret;
X+
X+	if (readlen == len)
X+		return ret;
X+
X+	ret = read(fd, block, blksize);
X+	if (ret != blksize)
X+		return ret;
X+
X+	memcpy((char*)buf + readlen, block, len - readlen);
X+	return len;
X+}
X /*
X     Probes the device and attempts to determine the type of filesystem
X     contained within.
X@@ -120,7 +142,7 @@
X 	   (block sizes larger than 2K will be null padded) */
X 	for (bs = 1; bs < 16; bs++) {
X 		lseek(fd, bs*2048+32768, SEEK_SET);
X-		if (read(fd, (char *)&isosb, sizeof(isosb)) != sizeof(isosb))
X+		if (read_dev(fd, (char *)&isosb, sizeof(isosb)) != sizeof(isosb))
X 			return 0;
X 		if (isosb.id[0])
X 			break;
X@@ -130,7 +152,7 @@
X 	for (j = 1; j < 64; j++) {
X 		if (j > 1) {
X 			lseek(fd, j*bs*2048+32768, SEEK_SET);
X-			if (read(fd, (char *)&isosb, sizeof(isosb))
X+			if (read_dev(fd, (char *)&isosb, sizeof(isosb))
X 			    != sizeof(isosb))
X 				return 0;
X 		}
X@@ -212,7 +234,9 @@
X        undesired side effects - first check that `device' refers
X        to a block device or ordinary file */
X     if (stat (device, &statbuf) ||
X-	!(S_ISBLK(statbuf.st_mode) || S_ISREG(statbuf.st_mode)))
X+	!(S_ISBLK(statbuf.st_mode) ||
X+	  S_ISREG(statbuf.st_mode) ||
X+	  S_ISCHR(statbuf.st_mode)))
X       return 0;
X 
X     fd = open(device, O_RDONLY);
X@@ -225,7 +249,7 @@
X     if (!type) {
X 	 /* block 0 */
X 	 if (lseek(fd, 0, SEEK_SET) != 0
X-	     || read(fd, (char *) &xsb, sizeof(xsb)) != sizeof(xsb))
X+	     || read_dev(fd, (char *) &xsb, sizeof(xsb)) != sizeof(xsb))
X 	      goto try_iso9660;
X 	 /* Gyorgy Kovesdi: none of my photocds has a readable block 0 */
X 
X@@ -262,7 +286,7 @@
X     if (!type) {
X 	    /* sector 1 */
X 	    if (lseek(fd, 512 , SEEK_SET) != 512
X-		|| read(fd, (char *) &svsb, sizeof(svsb)) != sizeof(svsb))
X+		|| read_dev(fd, (char *) &svsb, sizeof(svsb)) != sizeof(svsb))
X 		    goto io_error;
X 	    if (sysvmagic(svsb) == SYSV_SUPER_MAGIC )
X 		    type = "sysv";
X@@ -271,7 +295,7 @@
X     if (!type) {
X 	/* block 1 */
X 	if (lseek(fd, 1024, SEEK_SET) != 1024 ||
X-	    read(fd, (char *) &sb, sizeof(sb)) != sizeof(sb))
X+	    read_dev(fd, (char *) &sb, sizeof(sb)) != sizeof(sb))
X 		goto io_error;
X 
X 	/* ext2 has magic in little-endian on disk, so "swapped" is
X@@ -311,7 +335,7 @@
X     if (!type) {
X 	/* block 3 */
X         if (lseek(fd, 0xc00, SEEK_SET) != 0xc00
X-            || read(fd, (char *) &adfssb, sizeof(adfssb)) != sizeof(adfssb))
X+            || read_dev(fd, (char *) &adfssb, sizeof(adfssb)) != sizeof(adfssb))
X              goto io_error;
X 
X 	/* only a weak test */
X@@ -326,7 +350,7 @@
X 
X 	 /* block 8 */
X 	 if (lseek(fd, 8192, SEEK_SET) != 8192
X-	     || read(fd, (char *) &ufssb, sizeof(ufssb)) != sizeof(ufssb))
X+	     || read_dev(fd, (char *) &ufssb, sizeof(ufssb)) != sizeof(ufssb))
X 	      goto io_error;
X 
X 	 mag = ufsmagic(ufssb);
X@@ -338,7 +362,7 @@
X 	/* block 8 */
X 	if (lseek(fd, REISERFS_OLD_DISK_OFFSET_IN_BYTES, SEEK_SET) !=
X 				REISERFS_OLD_DISK_OFFSET_IN_BYTES
X-	    || read(fd, (char *) &reiserfssb, sizeof(reiserfssb)) !=
X+	    || read_dev(fd, (char *) &reiserfssb, sizeof(reiserfssb)) !=
X 		sizeof(reiserfssb))
X 	    goto io_error;
X 	if (is_reiserfs_magic_string(&reiserfssb))
X@@ -348,7 +372,7 @@
X     if (!type) {
X 	/* block 8 */
X         if (lseek(fd, 0x2000, SEEK_SET) != 0x2000
X-            || read(fd, (char *) &hpfssb, sizeof(hpfssb)) != sizeof(hpfssb))
X+            || read_dev(fd, (char *) &hpfssb, sizeof(hpfssb)) != sizeof(hpfssb))
X              goto io_error;
X 
X         if (hpfsmagic(hpfssb) == HPFS_SUPER_MAGIC)
X@@ -358,7 +382,7 @@
X     if (!type) {
X 	 /* block 32 */
X 	 if (lseek(fd, JFS_SUPER1_OFF, SEEK_SET) != JFS_SUPER1_OFF
X-	     || read(fd, (char *) &jfssb, sizeof(jfssb)) != sizeof(jfssb))
X+	     || read_dev(fd, (char *) &jfssb, sizeof(jfssb)) != sizeof(jfssb))
X 	      goto io_error;
X 	 if (!strncmp(jfssb.s_magic, JFS_MAGIC, 4))
X 	      type = "jfs";
X@@ -368,7 +392,7 @@
X 	 /* block 32 */
X     try_iso9660:
X 	 if (lseek(fd, 0x8000, SEEK_SET) != 0x8000
X-	     || read(fd, (char *) &isosb, sizeof(isosb)) != sizeof(isosb))
X+	     || read_dev(fd, (char *) &isosb, sizeof(isosb)) != sizeof(isosb))
X 	      goto io_error;
X 
X 	 if (strncmp(isosb.hs.id, HS_STANDARD_ID, sizeof(isosb.hs.id)) == 0) {
X@@ -388,7 +412,7 @@
X 	/* block 64 */
X 	if (lseek(fd, REISERFS_DISK_OFFSET_IN_BYTES, SEEK_SET) !=
X 		REISERFS_DISK_OFFSET_IN_BYTES
X-	    || read(fd, (char *) &reiserfssb, sizeof(reiserfssb)) !=
X+	    || read_dev(fd, (char *) &reiserfssb, sizeof(reiserfssb)) !=
X 		sizeof(reiserfssb))
X 	    goto io_error;
X 	if (is_reiserfs_magic_string(&reiserfssb))
X@@ -396,6 +420,19 @@
X     }
X 
X     if (!type) {
X+	 int mag;
X+
X+	 /* block 64 */
X+	 if (lseek(fd, 65536, SEEK_SET) != 65536
X+	     || read_dev(fd, (char *) &ufssb, sizeof(ufssb)) != sizeof(ufssb))
X+	      goto io_error;
X+
X+	 mag = ufsmagic(ufssb);
X+	 if (mag == UFS2_SUPER_MAGIC_LE || mag == UFS2_SUPER_MAGIC_BE)
X+	     type = "ufs2";
X+    }
X+
X+    if (!type) {
X 	    /* perhaps the user tries to mount the swap space
X 	       on a new disk; warn her before she does mke2fs on it */
X 	    int pagesize = getpagesize();
X@@ -408,7 +445,7 @@
X 	    if (rd > sizeof(buf))
X 		    rd = sizeof(buf);
X 	    if (lseek(fd, 0, SEEK_SET) != 0
X-		|| read(fd, buf, rd) != rd)
X+		|| read_dev(fd, buf, rd) != rd)
X 		    goto io_error;
X 	    if (may_be_swap(buf+pagesize) ||
X 		may_be_swap(buf+4096) || may_be_swap(buf+8192))
END-of-xfsprogs/files/patch-fstype.c
echo x - xfsprogs/files/patch-fstype.h
sed 's/^X//' >xfsprogs/files/patch-fstype.h << 'END-of-xfsprogs/files/patch-fstype.h'
X--- libdisk/fstype.h.orig	Tue Aug 19 15:30:08 2003
X+++ libdisk/fstype.h	Tue Aug 19 15:31:13 2003
X@@ -135,6 +135,8 @@
X /* From jj at sunsite.ms.mff.cuni.cz Mon Mar 23 15:19:05 1998 */
X #define UFS_SUPER_MAGIC_LE 0x00011954
X #define UFS_SUPER_MAGIC_BE 0x54190100
X+#define UFS2_SUPER_MAGIC_LE   0x19540119 
X+#define UFS2_SUPER_MAGIC_BE   0x19015419
X struct ufs_super_block {
X     u_char     s_dummy[0x55c];
X     u_char     s_magic[4];
END-of-xfsprogs/files/patch-fstype.h
echo x - xfsprogs/files/patch-aclocal.m4
sed 's/^X//' >xfsprogs/files/patch-aclocal.m4 << 'END-of-xfsprogs/files/patch-aclocal.m4'
X--- aclocal.m4.orig	Tue Oct 12 20:26:01 2004
X+++ aclocal.m4	Thu Dec 23 14:52:43 2004
X@@ -107,7 +107,7 @@
X     tar=$TAR
X     AC_SUBST(tar)
X     if test -z "$ZIP"; then
X-        AC_PATH_PROG(ZIP, gzip,, /bin:/usr/local/bin:/usr/freeware/bin)
X+        AC_PATH_PROG(ZIP, gzip,, /bin:/usr/local/bin:/usr/freeware/bin:/usr/bin)
X     fi
X 
X     zip=$ZIP
X@@ -148,14 +148,14 @@
X 
X     if test "$enable_gettext" = yes; then
X         if test -z "$MSGFMT"; then
X-                AC_PATH_PROG(MSGFMT, msgfmt,, /usr/bin:/usr/freeware/bin)
X+                AC_PATH_PROG(MSGFMT, msgfmt,, /usr/bin:/usr/freeware/bin:$PATH)
X         fi
X         msgfmt=$MSGFMT
X         AC_SUBST(msgfmt)
X         AC_PACKAGE_NEED_UTILITY($1, "$msgfmt", msgfmt, gettext)
X 
X         if test -z "$MSGMERGE"; then
X-                AC_PATH_PROG(MSGMERGE, msgmerge,, /usr/bin:/usr/freeware/bin)
X+                AC_PATH_PROG(MSGMERGE, msgmerge,, /usr/bin:/usr/freeware/bin:$PATH)
X         fi
X         msgmerge=$MSGMERGE
X         AC_SUBST(msgmerge)
END-of-xfsprogs/files/patch-aclocal.m4
echo x - xfsprogs/files/patch-fsck_Makefile
sed 's/^X//' >xfsprogs/files/patch-fsck_Makefile << 'END-of-xfsprogs/files/patch-fsck_Makefile'
X--- fsck/Makefile.orig	Tue Aug 19 15:39:28 2003
X+++ fsck/Makefile	Tue Aug 19 15:41:13 2003
X@@ -35,7 +35,7 @@
X 
X LTCOMMAND = fsck.xfs
X CFILES = xfs_fsck.c
X-LCFLAGS = -s -O3
X+LCFLAGS = -s
X LLDFLAGS += -static
X 
X default: $(LTCOMMAND)
END-of-xfsprogs/files/patch-fsck_Makefile
echo x - xfsprogs/Makefile
sed 's/^X//' >xfsprogs/Makefile << 'END-of-xfsprogs/Makefile'
X# New ports collection makefile for:	xfsprogs
X# Date created:				Wed Jun  1 21:48:59 EDT 2005
X# Whom:					Craig Rodrigues <rodrigc at FreeBSD.org>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	xfsprogs
XPORTVERSION=	2.6.25
XCATEGORIES=	sysutils
XMASTER_SITES=	ftp://oss.sgi.com/projects/xfs/cmd_tars/
XDISTNAME=	${PORTNAME}-${PORTVERSION}
XEXTRACT_SUFX=	.src.tar.gz
X
XMAINTAINER=	rodrigc at FreeBSD.ORG
XCOMMENT=	A set of utilities and library to manipulate an xfs filesystem
X
XUSE_REINPLACE=	yes
XUSE_GMAKE=	yes
XUSE_GETTEXT=	yes
XUSE_AUTOTOOLS=	yes
XUSE_AUTOCONF_VER=	259
XGNU_CONFIGURE=	yes
XCONFIGURE_ENV+=		INSTALL="${INSTALL} ${_BINOWNGRP}" \
X			CFLAGS="${CFLAGS}" \
X			LIBTOOL=${LIBTOOL}
XMAKE_ENV+=		INSTALL="${INSTALL} ${_BINOWNGRP}"
XCONFIGURE_ARGS+=	--disable-shared --enable-readline
XALL_TARGET=
X
XMAN5=	xfs.5
XMAN8=	fsck.xfs.8 mkfs.xfs.8 xfs_admin.8 xfs_bmap.8 xfs_check.8 \
X	xfs_copy.8 xfs_db.8 xfs_freeze.8 xfs_growfs.8 xfs_info.8 \
X	xfs_io.8 xfs_logprint.8 xfs_mkfile.8 xfs_ncheck.8 \
X	xfs_repair.8 xfs_rtcp.8
X
Xpre-configure:
X	${RM} -f ${WRKSRC}/configure
X
Xpost-configure:
X	${FIND} ${WRKSRC} -name "configure" | ${XARGS} ${REINPLACE_CMD} -e \
X		's|-lpthread|${PTHREAD_LIBS}|g'
X
X.include <bsd.port.mk>
END-of-xfsprogs/Makefile
echo x - xfsprogs/pkg-plist
sed 's/^X//' >xfsprogs/pkg-plist << 'END-of-xfsprogs/pkg-plist'
Xbin/xfs_admin
Xbin/xfs_db
Xbin/xfs_check
Xbin/xfs_ncheck
Xbin/xfs_freeze
Xbin/xfs_growfs
Xbin/xfs_info
Xbin/xfs_io
Xbin/xfs_bmap
Xbin/xfs_logprint
Xbin/xfs_mkfile
Xbin/xfs_rtcp
Xsbin/fsck.xfs
Xsbin/mkfs.xfs
Xsbin/xfs_repair
X%%PORTDOCS%%%%DOCSDIR%%/PORTING
X%%PORTDOCS%%%%DOCSDIR%%/CHANGES.gz
X%%PORTDOCS%%%%DOCSDIR%%/CREDITS
X%%PORTDOCS%%%%DOCSDIR%%/README.LVM
X%%PORTDOCS%%%%DOCSDIR%%/README.quota
X%%PORTDOCS%%%%DOCSDIR%%/COPYING
X%%PORTDOCS%%%%DOCSDIR%%/README
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
END-of-xfsprogs/pkg-plist
echo x - xfsprogs/pkg-descr
sed 's/^X//' >xfsprogs/pkg-descr << 'END-of-xfsprogs/pkg-descr'
XSet of utilities and library to manipulate an XFS filesystem.
X
XWWW: http://oss.sgi.com/projects/xfs/
END-of-xfsprogs/pkg-descr
echo x - xfsprogs/distinfo
sed 's/^X//' >xfsprogs/distinfo << 'END-of-xfsprogs/distinfo'
XMD5 (xfsprogs-2.6.25.src.tar.gz) = 65fbf692f348b57f21edd4813733d9ae
XSIZE (xfsprogs-2.6.25.src.tar.gz) = 850024
END-of-xfsprogs/distinfo
exit

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list