Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag
Index: create.patch.sh
===================================================================
--- create.patch.sh	(nonexistent)
+++ create.patch.sh	(revision 5)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=3.1.9
+
+tar --files-from=file.list -xJvf ../xfsdump-$VERSION.tar.xz
+mv xfsdump-$VERSION xfsdump-$VERSION-orig
+
+cp -rf ./xfsdump-$VERSION-new ./xfsdump-$VERSION
+
+diff --unified -Nr  xfsdump-$VERSION-orig  xfsdump-$VERSION > xfsdump-$VERSION-librmt.patch
+
+mv xfsdump-$VERSION-librmt.patch ../patches
+
+rm -rf ./xfsdump-$VERSION
+rm -rf ./xfsdump-$VERSION-orig

Property changes on: create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: file.list
===================================================================
--- file.list	(nonexistent)
+++ file.list	(revision 5)
@@ -0,0 +1,9 @@
+xfsdump-3.1.9/librmt/rmtabort.c
+xfsdump-3.1.9/librmt/rmtcommand.c
+xfsdump-3.1.9/librmt/rmtfstat.c
+xfsdump-3.1.9/librmt/rmtioctl.c
+xfsdump-3.1.9/librmt/rmtlib.h
+xfsdump-3.1.9/librmt/rmtopen.c
+xfsdump-3.1.9/librmt/rmtread.c
+xfsdump-3.1.9/librmt/rmtstatus.c
+xfsdump-3.1.9/librmt/rmtwrite.c
Index: xfsdump-3.1.9-new/librmt/rmtabort.c
===================================================================
--- xfsdump-3.1.9-new/librmt/rmtabort.c	(nonexistent)
+++ xfsdump-3.1.9-new/librmt/rmtabort.c	(revision 5)
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2000-2001 Silicon Graphics, Inc.; provided copyright in
+ * certain portions may be held by third parties as indicated herein.
+ * All Rights Reserved.
+ *
+ * The code in this source file represents an aggregation of work from
+ * Georgia Tech, Fred Fish, Jeff Lee, Arnold Robbins and other Silicon
+ * Graphics engineers over the period 1985-2000.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <unistd.h>
+#include "rmtlib.h"
+
+/*
+ *	abort --- close off a remote tape connection
+ */
+
+void _rmt_abort(int fildes)
+{
+	close(RMTREAD(fildes));
+	close(RMTWRITE(fildes));
+	RMTREAD(fildes) = -1;
+	RMTWRITE(fildes) = -1;
+        RMTHOST(fildes) = -1;
+	_rmt_msg(RMTDBG, "rmtabort(%d)\n", fildes);
+}
Index: xfsdump-3.1.9-new/librmt/rmtcommand.c
===================================================================
--- xfsdump-3.1.9-new/librmt/rmtcommand.c	(nonexistent)
+++ xfsdump-3.1.9-new/librmt/rmtcommand.c	(revision 5)
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2000-2001 Silicon Graphics, Inc.; provided copyright in
+ * certain portions may be held by third parties as indicated herein.
+ * All Rights Reserved.
+ *
+ * The code in this source file represents an aggregation of work from
+ * Georgia Tech, Fred Fish, Jeff Lee, Arnold Robbins and other Silicon
+ * Graphics engineers over the period 1985-2000.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <errno.h>
+#include <unistd.h>
+#include <string.h>
+
+#include "rmtlib.h"
+
+
+/*
+ *	_rmt_command --- attempt to perform a remote tape command
+ */
+
+int _rmt_command(fildes, buf)
+int fildes;
+char *buf;
+{
+	register int blen;
+
+	_rmt_msg(RMTDBG, "rmtcommand: fd = %d, buf = %s\n", fildes, buf);
+
+/*
+ *	try to make the request
+ */
+
+	blen = strlen(buf);
+	if (write(RMTWRITE(fildes), buf, blen) == blen)
+	{
+		return(0);
+	}
+
+/*
+ *	something went wrong. close down and go home
+ */
+
+	_rmt_abort(fildes);
+
+	setoserror(EIO);
+	return(-1);
+}
+
+
+
Index: xfsdump-3.1.9-new/librmt/rmtfstat.c
===================================================================
--- xfsdump-3.1.9-new/librmt/rmtfstat.c	(nonexistent)
+++ xfsdump-3.1.9-new/librmt/rmtfstat.c	(revision 5)
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2000-2001 Silicon Graphics, Inc.; provided copyright in
+ * certain portions may be held by third parties as indicated herein.
+ * All Rights Reserved.
+ *
+ * The code in this source file represents an aggregation of work from
+ * Georgia Tech, Fred Fish, Jeff Lee, Arnold Robbins and other Silicon
+ * Graphics engineers over the period 1985-2000.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include "rmtlib.h"
+
+#include <errno.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+static int _rmt_fstat(int, char *);
+
+/*
+ *	Get file status.  Looks just like fstat(2) to caller.
+ */
+
+int rmtfstat (fildes, buf)
+int fildes;
+struct stat *buf;
+{
+	if (isrmt (fildes))
+	{
+		return (_rmt_fstat (fildes - REM_BIAS, (char *)buf));
+	}
+	else
+	{
+		int i;
+		i = fstat(fildes, buf);
+		return i;
+	}
+}
+
+static int
+_rmt_fstat(int fildes, char *arg)
+{
+	char buffer[BUFMAGIC];
+	int rc, cnt, adj_rc;
+
+	sprintf(buffer, "Z%d\n", fildes);
+
+	/*
+	 *	grab the status and read it directly into the structure
+	 *	this assumes that the status buffer is (hopefully) not
+	 *	padded and that 2 shorts fit in a long without any word
+	 *	alignment problems, ie - the whole struct is contiguous
+	 *	NOTE - this is probably NOT a good assumption.
+	 */
+
+	if (_rmt_command(fildes, buffer) == -1 ||
+	    (rc = _rmt_status(fildes)) == -1)
+		return(-1);
+
+	/* adjust read count to prevent overflow */
+
+	adj_rc = (rc > sizeof(struct stat)) ? sizeof(struct stat) : rc;
+	rc -= adj_rc;
+
+	for (; adj_rc > 0; adj_rc -= cnt, arg += cnt)
+	{
+		cnt = read(RMTREAD(fildes), arg, adj_rc);
+		if (cnt <= 0)
+		{
+abortit:
+			_rmt_abort(fildes);
+			setoserror(EIO);
+			return(-1);
+		}
+	}
+
+	/* handle any bytes we didn't know what to do with */
+	while (rc-- > 0)
+		if (read(RMTREAD(fildes), buffer, 1) <= 0)
+			goto abortit;
+
+	return(0);
+}
Index: xfsdump-3.1.9-new/librmt/rmtioctl.c
===================================================================
--- xfsdump-3.1.9-new/librmt/rmtioctl.c	(nonexistent)
+++ xfsdump-3.1.9-new/librmt/rmtioctl.c	(revision 5)
@@ -0,0 +1,427 @@
+/*
+ * Copyright (c) 2000-2001 Silicon Graphics, Inc.; provided copyright in
+ * certain portions may be held by third parties as indicated herein.
+ * All Rights Reserved.
+ *
+ * The code in this source file represents an aggregation of work from
+ * Georgia Tech, Fred Fish, Jeff Lee, Arnold Robbins and other Silicon
+ * Graphics engineers over the period 1985-2000.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <unistd.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/mtio.h>
+#include <sys/param.h>
+#include <assert.h>
+
+#include "config.h"
+#include "rmtlib.h"
+#include "swap.h"
+
+
+/*
+ * uses old_mtget IRIX structure since we don't bother
+ * sending the "V" version command.
+ */
+struct  irix_mtget   {
+        short   mt_type;          /* type of magtape device */
+        unsigned short  mt_dsreg; /* ``drive status'' register */
+        short   mt_erreg;         /* ``error'' register */
+        short   mt_resid;         /* residual count */
+        int     mt_fileno;        /* file number of current position */
+        int     mt_blkno;         /* block number of current position */
+};
+
+struct linux32_mtget
+{
+    int32_t mt_type;           /* Type of magtape device.  */
+    int32_t mt_resid;          /* Residual count: */
+    /* The following registers are device dependent.  */
+    int32_t mt_dsreg;          /* Status register.  */
+    int32_t mt_gstat;          /* Generic (device independent) status.  */
+    int32_t mt_erreg;          /* Error register.  */
+    /* The next two fields are not always used.  */
+    int32_t mt_fileno;        /* Number of current file on tape.  */
+    int32_t mt_blkno;         /* Current block number.  */
+};
+
+struct linux64_mtget
+{
+    int64_t mt_type;           /* Type of magtape device.  */
+    int64_t mt_resid;          /* Residual count. */
+    /* The following registers are device dependent.  */
+    int64_t mt_dsreg;          /* Status register.  */
+    int64_t mt_gstat;          /* Generic (device independent) status.  */
+    int64_t mt_erreg;          /* Error register.  */
+    /* The next two fields are not always used.  */
+    int32_t mt_fileno;        /* Number of current file on tape.  */
+    int32_t mt_blkno;         /* Current block number.  */
+};
+
+
+/* IRIX tape device status values */
+#define IRIX_MT_EOT          0x01    /* tape is at end of media */
+#define IRIX_MT_BOT          0x02    /* tape is at beginning of media */
+#define IRIX_MT_WPROT        0x04    /* tape is write-protected */
+#define IRIX_MT_EW           0x08    /* hit early warning marker     */
+#define IRIX_MT_ONL          0x40    /* drive is online */
+#define IRIX_MT_EOD          0x4000  /* tape is at end of data */
+#define IRIX_MT_FMK          0x8000  /* tape is at file mark */
+
+/* IRIX mt operations (mt_op values for MTIOCTOP) */
+#define IRIX_MTWEOF  0       /* write an end-of-file record */
+#define IRIX_MTFSF   1       /* forward space file */
+#define IRIX_MTBSF   2       /* backward space file */
+#define IRIX_MTFSR   3       /* forward space record */
+#define IRIX_MTBSR   4       /* backward space record */
+#define IRIX_MTREW   5       /* rewind */
+#define IRIX_MTOFFL  6       /* rewind and put the drive offline */
+#define IRIX_MTERASE 12      /* erase tape from current position to EOT */
+#define IRIX_MTUNLOAD 13     /* unload tape from drive */
+
+/* std (common) mt op codes */
+#define STD_MTWEOF  0       /* write an end-of-file record */
+#define STD_MTFSF   1       /* forward space file */
+#define STD_MTBSF   2       /* backward space file */
+#define STD_MTFSR   3       /* forward space record */
+#define STD_MTBSR   4       /* backward space record */
+#define STD_MTREW   5       /* rewind */
+#define STD_MTOFFL  6       /* rewind and put the drive offline */
+
+#define MT_MAX 40 /* encompass potential range of mt_op values */
+static int mtop_irixmap[MT_MAX] = {-1};
+static int mtop_stdmap[MT_MAX] = {-1};
+
+static void
+init_mtop_map(void)
+{
+    /* set all other values to sentinel (-1) */
+
+    /* only map the ones which xfsdump/restore are interested in */
+    mtop_irixmap[MTWEOF]    = IRIX_MTWEOF;
+    mtop_irixmap[MTFSF]     = IRIX_MTFSF;
+    mtop_irixmap[MTBSF]     = IRIX_MTBSF;
+    mtop_irixmap[MTFSR]     = IRIX_MTFSR;
+    mtop_irixmap[MTBSR]     = IRIX_MTBSR;
+    mtop_irixmap[MTREW]     = IRIX_MTREW;
+    mtop_irixmap[MTOFFL]    = IRIX_MTOFFL;
+    mtop_irixmap[MTERASE]   = IRIX_MTERASE;
+    mtop_irixmap[MTUNLOAD]  = IRIX_MTUNLOAD;
+
+    mtop_stdmap[MTWEOF]    = STD_MTWEOF;
+    mtop_stdmap[MTFSF]     = STD_MTFSF;
+    mtop_stdmap[MTBSF]     = STD_MTBSF;
+    mtop_stdmap[MTFSR]     = STD_MTFSR;
+    mtop_stdmap[MTBSR]     = STD_MTBSR;
+    mtop_stdmap[MTREW]     = STD_MTREW;
+    mtop_stdmap[MTOFFL]    = STD_MTOFFL;
+    mtop_stdmap[MTUNLOAD]  = STD_MTOFFL;
+}
+
+
+static int _rmt_ioctl(int, unsigned int, void *);
+
+/*
+ *	Do ioctl on file.  Looks just like ioctl(2) to caller.
+ */
+
+int
+rmtioctl(int fildes, unsigned int request, void *arg)
+{
+	if (isrmt (fildes)) {
+		return (_rmt_ioctl (fildes - REM_BIAS, request, arg));
+	}
+	else {
+		return (ioctl (fildes, request, arg));
+	}
+}
+
+
+/*
+ *	_rmt_ioctl --- perform raw tape operations remotely
+ */
+
+/*
+ * WARNING: MTIOCGET code is highly dependent on the format
+ *          of mtget on different platforms
+ *          We only support Linux 32/ia64 and IRIX 32/64 for this case.
+ *          We use the result of uname(1) (in rmtopen()) and
+ *          the size of the mtget structure to determine which
+ *          architecture it is.
+ */
+
+static int
+_rmt_ioctl(int fildes, unsigned int op, void *arg)
+{
+	char buffer[BUFMAGIC];
+	int rc, cnt, ssize;
+	char *p = NULL, *irixget = NULL, *linux32get = NULL, *linux64get = NULL;
+	struct irix_mtget irix_mtget;
+	struct linux32_mtget linux32_mtget;
+	struct linux64_mtget linux64_mtget;
+	int islinux32 = 1; /* is remote machine Linux 32 bit */
+	static int onetrip = 0;
+
+	if (!onetrip) {
+		onetrip = 1;
+		init_mtop_map();
+	}
+
+/*
+ *	MTIOCTOP is the easy one. nothing is transfered in binary
+ */
+
+	if (op == MTIOCTOP) {
+		int mt_op = ((struct mtop *) arg)->mt_op;
+		int mt_count = ((struct mtop *) arg)->mt_count;
+
+		if (RMTHOST(fildes) == UNAME_UNDEFINED) {
+			_rmt_msg(RMTWARN,
+		_("rmtioctl: remote host type not supported for MTIOCTOP\n"));
+			setoserror(EPROTONOSUPPORT);
+			return(-1);
+		}
+
+		/* map the linux op code to the irix op code */
+		if (RMTHOST(fildes) == UNAME_IRIX) {
+			mt_op = mtop_irixmap[mt_op];
+			if (mt_op == -1) {
+			    setoserror(EINVAL);
+			    return(-1);
+			}
+		}
+		else if (RMTHOST(fildes) != UNAME_LINUX) {
+		/* map the linux op code to the standard/fallback op code */
+			mt_op = mtop_stdmap[mt_op];
+			if (mt_op == -1) {
+			    setoserror(EINVAL);
+			    return(-1);
+			}
+		}
+
+		sprintf(buffer, "I%d\n%d\n", mt_op, mt_count);
+		if (_rmt_command(fildes, buffer) == -1) {
+			return(-1);
+		}
+		return(_rmt_status(fildes));
+	}
+        else if (op == MTIOCGET) {
+
+		/*
+		 *  Grab the status and read it directly into the structure.
+		 *  Since the data is binary data, and the other machine might
+		 *  be IRIX or Linux of a different byte-order,
+		 *  we have to be careful in converting the data.
+		 *
+		 *  NOTE: the original /etc/rmt did NOT support a newline after
+		 *  the S command, and Sun still does not.  Neither does the
+		 *  current bsd source, all the way through the tahoe release.
+		 *  So do NOT add the \n to this!  The sgi rmt command will
+		 *  work either way.  Olson, 4/91
+		 */
+		if (_rmt_command(fildes, "S") == -1 ||
+		    (rc = _rmt_status(fildes)) == -1)
+			return(-1);
+
+
+		/* If undefined then try and define it by looking
+		 * and the size of the get structure.
+		 * If we know our rmt host, then verify that the
+		 * structure is the correct size for the supported ones
+		 */
+ 		switch (RMTHOST(fildes)) {
+		    case UNAME_UNDEFINED:
+			_rmt_msg(RMTWARN,
+		_("rmtioctl: remote host type not supported for MTIOCGET\n"));
+			setoserror(EPROTONOSUPPORT);
+			return(-1);
+		    case UNAME_IRIX:
+			if (sizeof(struct irix_mtget) != rc) {
+			    _rmt_msg(RMTWARN,
+				_("rmtioctl: IRIX mtget structure of wrong size"
+				  " - got %d, wanted %d\n"),
+				rc, sizeof(struct irix_mtget));
+			    setoserror(EPROTONOSUPPORT);
+			    return(-1);
+			}
+			break;
+		    case UNAME_LINUX:
+			if (sizeof(struct linux32_mtget) == rc) {
+			    islinux32 = 1;
+			}
+			else if (sizeof(struct linux64_mtget) == rc) {
+			    islinux32 = 0;
+			}
+			else {
+			    _rmt_msg(RMTWARN,
+			_("rmtioctl: Linux mtget structure of wrong size "
+			  "- got %d, wanted %d or %d\n"),
+				rc, sizeof(struct linux32_mtget),
+				sizeof(struct linux64_mtget));
+			    setoserror(EPROTONOSUPPORT);
+			    return(-1);
+			}
+			break;
+		    default:
+			setoserror(EPROTONOSUPPORT);
+			return(-1);
+		}
+
+
+		assert(RMTHOST(fildes)==UNAME_LINUX || RMTHOST(fildes)==UNAME_IRIX);
+
+
+		if (RMTHOST(fildes) == UNAME_IRIX) {
+		    p = irixget = (char *)&irix_mtget;
+		}
+		else if (islinux32) {
+		    p = linux32get = (char *)&linux32_mtget;
+		}
+		else {
+		    p = linux64get = (char *)&linux64_mtget;
+		}
+
+
+		/* read in all the data */
+		ssize = rc;
+		for (; ssize > 0; ssize -= cnt, p += cnt) {
+			cnt = read(RMTREAD(fildes), p, ssize);
+			if (cnt <= 0) {
+				_rmt_abort(fildes);
+				setoserror(EIO);
+				return(-1);
+			}
+		}
+
+
+		/*
+		 * May need to byteswap
+		 */
+		if (RMTHOST(fildes) == UNAME_IRIX) {
+			struct irix_mtget *irixp = (struct irix_mtget *)irixget;
+
+			if (irixp->mt_type > 0xff) {
+			    /* assume that mt_type should fit in 1 byte */
+
+			    irixp->mt_type   = INT_SWAP(irixp->mt_type, irixp->mt_type);
+			    irixp->mt_dsreg  = INT_SWAP(irixp->mt_dsreg, irixp->mt_dsreg);
+			    irixp->mt_erreg  = INT_SWAP(irixp->mt_erreg, irixp->mt_erreg);
+			    irixp->mt_resid  = INT_SWAP(irixp->mt_resid, irixp->mt_resid);
+			    irixp->mt_fileno = INT_SWAP(irixp->mt_fileno, irixp->mt_fileno);
+			    irixp->mt_blkno  = INT_SWAP(irixp->mt_blkno, irixp->mt_blkno);
+			}
+		}
+		else if (islinux32) {
+			struct linux32_mtget *linuxp = (struct linux32_mtget *)linux32get;
+
+			if (linuxp->mt_type > 0xffff) {
+			    /* assume that mt_type should fit in 2 bytes */
+
+			    linuxp->mt_type   = INT_SWAP(linuxp->mt_type, linuxp->mt_type);
+			    linuxp->mt_dsreg  = INT_SWAP(linuxp->mt_dsreg, linuxp->mt_dsreg);
+			    linuxp->mt_erreg  = INT_SWAP(linuxp->mt_erreg, linuxp->mt_erreg);
+			    linuxp->mt_resid  = INT_SWAP(linuxp->mt_resid, linuxp->mt_resid);
+			    linuxp->mt_fileno = INT_SWAP(linuxp->mt_fileno, linuxp->mt_fileno);
+			    linuxp->mt_blkno  = INT_SWAP(linuxp->mt_blkno, linuxp->mt_blkno);
+			    linuxp->mt_gstat  = INT_SWAP(linuxp->mt_gstat, linuxp->mt_gstat);
+
+			}
+		}
+		else {
+			struct linux64_mtget *linuxp = (struct linux64_mtget *)linux64get;
+
+			if (linuxp->mt_type > 0xffff) {
+			    /* assume that mt_type should fit in 2 bytes */
+
+			    linuxp->mt_type   = INT_SWAP(linuxp->mt_type, linuxp->mt_type);
+			    linuxp->mt_dsreg  = INT_SWAP(linuxp->mt_dsreg, linuxp->mt_dsreg);
+			    linuxp->mt_erreg  = INT_SWAP(linuxp->mt_erreg, linuxp->mt_erreg);
+			    linuxp->mt_resid  = INT_SWAP(linuxp->mt_resid, linuxp->mt_resid);
+			    linuxp->mt_fileno = INT_SWAP(linuxp->mt_fileno, linuxp->mt_fileno);
+			    linuxp->mt_blkno  = INT_SWAP(linuxp->mt_blkno, linuxp->mt_blkno);
+			    linuxp->mt_gstat  = INT_SWAP(linuxp->mt_gstat, linuxp->mt_gstat);
+
+			}
+		}
+
+		/*
+		 * now mtget has the correct (byte-swapped if needed) data,
+                 * so we just need to copy over the fields which are possibly
+                 * of different length and different semantics.
+		 */
+		if (RMTHOST(fildes) == UNAME_IRIX) {
+			struct mtget *dstp = (struct mtget *)arg;
+			struct irix_mtget *srcp = (struct irix_mtget *)irixget;
+			short status = srcp->mt_dsreg;
+
+			dstp->mt_type = srcp->mt_type;
+			dstp->mt_erreg = srcp->mt_erreg;
+			dstp->mt_resid = srcp->mt_resid;
+			dstp->mt_fileno = srcp->mt_fileno;
+			dstp->mt_blkno = srcp->mt_blkno;
+			dstp->mt_dsreg = srcp->mt_dsreg; /* different semantics */
+
+			/* need to do tape status conversions */
+			dstp->mt_gstat = 0;
+			if (status & IRIX_MT_EOT)
+			    dstp->mt_gstat |= GMT_EOT(0xffffffff);
+			if (status & IRIX_MT_BOT)
+			    dstp->mt_gstat |= GMT_BOT(0xffffffff);
+			if (status & IRIX_MT_WPROT)
+			    dstp->mt_gstat |= GMT_WR_PROT(0xffffffff);
+			if (status & IRIX_MT_ONL)
+			    dstp->mt_gstat |= GMT_ONLINE(0xffffffff);
+			if (status & IRIX_MT_EOD)
+			    dstp->mt_gstat |= GMT_EOD(0xffffffff);
+			if (status & IRIX_MT_FMK)
+			    dstp->mt_gstat |= GMT_EOF(0xffffffff);
+			if (status & IRIX_MT_EW)
+			    ;/* No GMT_ to map it to */
+		}
+		else if (islinux32) {
+			struct mtget *dstp = (struct mtget *)arg;
+			struct linux32_mtget *srcp = (struct linux32_mtget *)linux32get;
+
+			dstp->mt_type = srcp->mt_type;
+			dstp->mt_erreg = srcp->mt_erreg;
+			dstp->mt_resid = srcp->mt_resid;
+			dstp->mt_fileno = srcp->mt_fileno;
+			dstp->mt_blkno = srcp->mt_blkno;
+			dstp->mt_dsreg = srcp->mt_dsreg;
+			dstp->mt_gstat = srcp->mt_gstat;
+		}
+		else {
+			struct mtget *dstp = (struct mtget *)arg;
+			struct linux64_mtget *srcp = (struct linux64_mtget *)linux64get;
+
+			dstp->mt_type = srcp->mt_type;
+			dstp->mt_erreg = srcp->mt_erreg;
+			dstp->mt_resid = srcp->mt_resid;
+			dstp->mt_fileno = srcp->mt_fileno;
+			dstp->mt_blkno = srcp->mt_blkno;
+			dstp->mt_dsreg = srcp->mt_dsreg;
+			dstp->mt_gstat = srcp->mt_gstat;
+		}
+		return(0);
+
+	}
+        else {
+	    setoserror(EINVAL);
+	    return(-1);
+	}
+}
Index: xfsdump-3.1.9-new/librmt/rmtlib.h
===================================================================
--- xfsdump-3.1.9-new/librmt/rmtlib.h	(nonexistent)
+++ xfsdump-3.1.9-new/librmt/rmtlib.h	(revision 5)
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2000-2001 Silicon Graphics, Inc.; provided copyright in
+ * certain portions may be held by third parties as indicated herein.
+ * All Rights Reserved.
+ *
+ * The code in this source file represents an aggregation of work from
+ * Georgia Tech, Fred Fish, Jeff Lee, Arnold Robbins and other Silicon
+ * Graphics engineers over the period 1985-2000.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+/*
+ *	This file is only included by the library routines.  It is not
+ *	required for user code.
+ *
+ */
+
+/*
+ *	Note that local vs remote file descriptors are distinquished
+ *	by adding a bias to the remote descriptors.  This is a quick
+ *	and dirty trick that may not be portable to some systems.
+ *  It should be greater than the largest open filedescriptor
+ *  than can be returned by the OS, and should be a power of 2.
+ */
+
+#define REM_BIAS 8192
+
+
+/*
+ *	BUFMAGIC --- Magic buffer size
+ *	MAXUNIT --- Maximum number of remote tape file units
+ */
+
+#define BUFMAGIC	64
+#define MAXUNIT		4
+
+/*
+ *	Useful macros.
+ *
+ *	READ --- Return the number of the read side file descriptor
+ *	WRITE --- Return the number of the write side file descriptor
+ *	RMTHOST --- Return an id which says host type from uname
+ */
+
+/* rmt msg types */
+#define RMTWARN 1
+#define RMTDBG 	2 /* includes warning */
+
+#define RMTREAD(fd)	(_rmt_Ctp[fd][0])
+#define RMTWRITE(fd)	(_rmt_Ptc[fd][1])
+#define RMTHOST(fd)	(_rmt_host[fd])
+
+#define RSH_PATH        "/usr/bin/rsh"
+#define RMT_PATH        "/etc/rmt"
+
+#define UNAME_UNDEFINED	-1
+#define UNAME_LINUX	0
+#define UNAME_IRIX	1
+#define UNAME_UNKNOWN	2
+
+extern int _rmt_Ctp[MAXUNIT][2];
+extern int _rmt_Ptc[MAXUNIT][2];
+extern int _rmt_host[MAXUNIT];
+
+#define setoserror(err) (errno = err) /* TODO: multithread check */
+
+/* prototypes */
+int isrmt (int);
+void _rmt_abort(int);
+int _rmt_command(int, char *);
+int _rmt_dev (char *);
+int _rmt_status(int);
+int _rmt_msgson(void);
+void _rmt_msg(int level, const char *msg, ...);
+void _rmt_turnonmsgsbyenv(void);
+void rmt_turnonmsgs(int code);
Index: xfsdump-3.1.9-new/librmt/rmtopen.c
===================================================================
--- xfsdump-3.1.9-new/librmt/rmtopen.c	(nonexistent)
+++ xfsdump-3.1.9-new/librmt/rmtopen.c	(revision 5)
@@ -0,0 +1,275 @@
+/*
+ * Copyright (c) 2000-2001 Silicon Graphics, Inc.; provided copyright in
+ * certain portions may be held by third parties as indicated herein.
+ * All Rights Reserved.
+ *
+ * The code in this source file represents an aggregation of work from
+ * Georgia Tech, Fred Fish, Jeff Lee, Arnold Robbins and other Silicon
+ * Graphics engineers over the period 1985-2000.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <unistd.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <signal.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
+#include "config.h"
+#include "rmtlib.h"
+
+#define RMT_DEBUG_FILE "/tmp/librmt_debug" /* file for debug output on server */
+
+static int _rmt_open(char *, int, int);
+
+int _rmt_Ctp[MAXUNIT][2] = { {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
+int _rmt_Ptc[MAXUNIT][2] = { {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
+int _rmt_host[MAXUNIT] = { -1, -1, -1, -1};
+
+struct uname_table
+{
+    int id;
+    char *name;
+};
+
+struct uname_table uname_table[] =
+{ {UNAME_LINUX, "Linux"}, {UNAME_IRIX, "IRIX"}, {0, 0} };
+
+
+/*
+ *	Open a local or remote file.  Looks just like open(2) to
+ *	caller.
+ */
+
+int rmtopen (path, oflag, mode)
+char *path;
+int oflag;
+int mode;
+{
+	if (strchr (path, ':') != NULL)
+	{
+		return (_rmt_open (path, oflag, mode) | REM_BIAS);
+	}
+	else
+	{
+		return (open (path, oflag, mode));
+	}
+}
+
+/*
+ *	_rmt_open --- open a magtape device (or file) on system specified,
+ *                    as given user
+ *
+ *	file name has the form system[.user]:????
+ */
+
+#define MAXHOSTLEN	257
+#define MAXDBGPATH	100
+
+/* ARGSUSED */
+static int _rmt_open (char *path, int oflag, int mode)
+{
+	int i, rc;
+	char buffer[BUFMAGIC];
+	char system[MAXHOSTLEN];
+	char device[BUFMAGIC];
+	char login[BUFMAGIC];
+	char *sys, *dev, *user;
+        char *rsh_path;
+        char *rmt_path;
+	char rmt_cmd[MAXDBGPATH];
+
+
+	sys = system;
+	dev = device;
+	user = login;
+
+	if ((rsh_path = getenv("RSH")) == NULL) {
+	    rsh_path = RSH_PATH;
+	}
+
+	if ((rmt_path = getenv("RMT")) == NULL) {
+	    rmt_path = RMT_PATH;
+	}
+
+
+/*
+ *	first, find an open pair of file descriptors
+ */
+
+	for (i = 0; i < MAXUNIT; i++)
+		if (RMTREAD(i) == -1 && RMTWRITE(i) == -1)
+			break;
+
+	if (i == MAXUNIT)
+	{
+		setoserror(EMFILE);
+		return(-1);
+	}
+
+/*
+ *	pull apart system and device, and optional user
+ *	don't munge original string
+ */
+	while (*path != '@' && *path != ':') {
+		*user++ = *path++;
+	}
+	*user = '\0';
+	path++;
+
+	if (*(path - 1) == '@')
+	{
+		while (*path != ':') {
+			*sys++ = *path++;
+		}
+		*sys = '\0';
+		path++;
+	}
+	else
+	{
+		for (user = login; (*sys = *user); user++, sys++)
+			;
+		user = login;
+	}
+
+	while (*path) {
+		*dev++ = *path++;
+	}
+	*dev = '\0';
+
+	_rmt_turnonmsgsbyenv();
+
+        /* try to find out the uname of the remote host */
+	{
+#define MAX_UNAMECMD MAXHOSTLEN+40
+#define MAX_UNAME 20
+	    FILE *rmt_f;
+	    char cmd[MAX_UNAMECMD];
+	    char uname[MAX_UNAME];
+            struct uname_table *p;
+
+	    if (user != login) {
+		snprintf(cmd, sizeof(cmd), "%s -l %s %s uname", rsh_path, login, system);
+	    }
+	    else {
+		snprintf(cmd, sizeof(cmd), "%s %s uname", rsh_path, system);
+	    }
+
+	    rmt_f = popen(cmd, "r");
+	    if (rmt_f == NULL) {
+		_rmt_msg(RMTWARN, _(
+		"rmtopen: failed to detect remote host type using \"%s\"\n"),
+			cmd);
+		RMTHOST(i) = UNAME_UNDEFINED;
+		goto do_rmt;
+	    }
+	    else {
+		int len;
+		char *c  = fgets(uname, sizeof(uname), rmt_f);
+	        pclose(rmt_f);
+
+		if (c == NULL) {
+		    _rmt_msg(RMTWARN, _(
+		"rmtopen: failed to detect remote host type reading \"%s\"\n"),
+			cmd);
+		    RMTHOST(i) = UNAME_UNDEFINED;
+		    goto do_rmt;
+		}
+		len = strlen(uname);
+		if (len > 0 && uname[len-1] == '\n')
+		    uname[len-1] = '\0'; /* chomp the '\n' */
+	    }
+
+	    for(p = &uname_table[0]; p->name != 0; p++) {
+		if (strncmp(p->name, uname, strlen(p->name)) == 0)
+		    break;
+	    }
+	    if (p->name == 0) {
+		RMTHOST(i) = UNAME_UNKNOWN;
+		_rmt_msg(RMTWARN, _(
+		"rmtopen: remote host type, \"%s\", is unknown to librmt\n"),
+			uname);
+	    }
+	    else {
+		RMTHOST(i) = p->id;
+		_rmt_msg(RMTDBG, "rmtopen: RMTHOST(%d) = %s\n", i, p->name);
+	    }
+	}
+
+
+/*
+ *	setup the pipes for the 'rsh' command and fork
+ */
+do_rmt:
+	if (pipe(_rmt_Ptc[i]) == -1 || pipe(_rmt_Ctp[i]) == -1)
+		return(-1);
+
+	if ((rc = fork()) == -1)
+		return(-1);
+
+	if (rc == 0)
+	{
+		close(0);
+		dup(_rmt_Ptc[i][0]);
+		close(_rmt_Ptc[i][0]); close(_rmt_Ptc[i][1]);
+		close(1);
+		dup(_rmt_Ctp[i][1]);
+		close(_rmt_Ctp[i][0]); close(_rmt_Ctp[i][1]);
+		(void) setuid (getuid ());
+		(void) setgid (getgid ());
+		if (_rmt_msgson() == RMTDBG) {
+		    snprintf(rmt_cmd, sizeof(rmt_cmd), "%s %s.%d",
+				rmt_path, RMT_DEBUG_FILE, getpid());
+		}
+		else {
+		    strncpy(rmt_cmd, rmt_path, sizeof(rmt_cmd));
+		}
+		if (user != login)
+		{
+			execl(rsh_path, "rsh", system, "-l", login,
+				rmt_cmd, (char *) 0);
+		}
+		else
+		{
+			execl(rsh_path, "rsh", system,
+				rmt_cmd, (char *) 0);
+		}
+
+/*
+ *	bad problems if we get here
+ */
+		fprintf(stderr,
+		    "librmt: problem finding either RSH(%s) or RMT(%s): %s\n",
+		    rsh_path, rmt_path, strerror(errno));
+		exit(1);
+	}
+
+	close(_rmt_Ptc[i][0]); close(_rmt_Ctp[i][1]);
+
+/*
+ *	now attempt to open the tape device
+ */
+
+	sprintf(buffer, "O%s\n%d\n", device, oflag);
+	if (_rmt_command(i, buffer) == -1 || _rmt_status(i) == -1)
+		return(-1);
+
+	return(i);
+}
Index: xfsdump-3.1.9-new/librmt/rmtread.c
===================================================================
--- xfsdump-3.1.9-new/librmt/rmtread.c	(nonexistent)
+++ xfsdump-3.1.9-new/librmt/rmtread.c	(revision 5)
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2000-2001 Silicon Graphics, Inc.; provided copyright in
+ * certain portions may be held by third parties as indicated herein.
+ * All Rights Reserved.
+ *
+ * The code in this source file represents an aggregation of work from
+ * Georgia Tech, Fred Fish, Jeff Lee, Arnold Robbins and other Silicon
+ * Graphics engineers over the period 1985-2000.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "rmtlib.h"
+
+static int _rmt_read(int, char *, unsigned int);
+
+/*
+ *	Read from stream.  Looks just like read(2) to caller.
+ */
+
+int rmtread (fildes, buf, nbyte)
+int fildes;
+char *buf;
+unsigned int nbyte;
+{
+	if (isrmt (fildes))
+	{
+		return (_rmt_read (fildes - REM_BIAS, buf, nbyte));
+	}
+	else
+	{
+		return (read (fildes, buf, nbyte));
+	}
+}
+
+
+/*
+ *	_rmt_read --- read a buffer from a remote tape
+ */
+
+static int _rmt_read(int fildes, char *buf, unsigned int nbyte)
+{
+	int rc, i;
+	char buffer[BUFMAGIC];
+
+	sprintf(buffer, "R%d\n", nbyte);
+	if (_rmt_command(fildes, buffer) == -1 || (rc = _rmt_status(fildes)) == -1)
+		return(-1);
+
+	for (i = 0; i < rc; i += nbyte, buf += nbyte)
+	{
+		nbyte = read(RMTREAD(fildes), buf, rc);
+		if (nbyte <= 0)
+		{
+			_rmt_abort(fildes);
+			setoserror(EIO);
+	 		return(-1);
+		}
+	}
+
+	return(rc);
+}
Index: xfsdump-3.1.9-new/librmt/rmtstatus.c
===================================================================
--- xfsdump-3.1.9-new/librmt/rmtstatus.c	(nonexistent)
+++ xfsdump-3.1.9-new/librmt/rmtstatus.c	(revision 5)
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2000-2001 Silicon Graphics, Inc.; provided copyright in
+ * certain portions may be held by third parties as indicated herein.
+ * All Rights Reserved.
+ *
+ * The code in this source file represents an aggregation of work from
+ * Georgia Tech, Fred Fish, Jeff Lee, Arnold Robbins and other Silicon
+ * Graphics engineers over the period 1985-2000.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "rmtlib.h"
+
+/*
+ *	_rmt_status --- retrieve the status from the pipe
+ */
+
+int _rmt_status(fildes)
+int fildes;
+{
+	int i;
+	char c, *cp;
+	char buffer[BUFMAGIC];
+
+/*
+ *	read the reply command line
+ */
+
+	for (i = 0, cp = buffer; i < BUFMAGIC; i++, cp++)
+	{
+		if (read(RMTREAD(fildes), cp, 1) != 1)
+		{
+			_rmt_abort(fildes);
+			setoserror(EIO);
+			return(-1);
+		}
+		if (*cp == '\n')
+		{
+			*cp = 0;
+			break;
+		}
+	}
+
+	if (i == BUFMAGIC)
+	{
+		_rmt_abort(fildes);
+		setoserror(EIO);
+		return(-1);
+	}
+
+/*
+ *	check the return status
+ */
+
+	for (cp = buffer; *cp; cp++)
+		if (*cp != ' ')
+			break;
+
+	if (*cp == 'E' || *cp == 'F')
+	{
+		setoserror(atoi(cp + 1));
+		while (read(RMTREAD(fildes), &c, 1) == 1)
+			if (c == '\n')
+				break;
+
+		if (*cp == 'F')
+			_rmt_abort(fildes);
+
+		return(-1);
+	}
+
+/*
+ *	check for mis-synced pipes
+ */
+
+	if (*cp != 'A')
+	{
+		_rmt_abort(fildes);
+		setoserror(EIO);
+		return(-1);
+	}
+
+	return(atoi(cp + 1));
+}
+
+
+
Index: xfsdump-3.1.9-new/librmt/rmtwrite.c
===================================================================
--- xfsdump-3.1.9-new/librmt/rmtwrite.c	(nonexistent)
+++ xfsdump-3.1.9-new/librmt/rmtwrite.c	(revision 5)
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2000-2001 Silicon Graphics, Inc.; provided copyright in
+ * certain portions may be held by third parties as indicated herein.
+ * All Rights Reserved.
+ *
+ * The code in this source file represents an aggregation of work from
+ * Georgia Tech, Fred Fish, Jeff Lee, Arnold Robbins and other Silicon
+ * Graphics engineers over the period 1985-2000.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <unistd.h>
+#include <stdio.h>
+#include <errno.h>
+
+#include "rmtlib.h"
+
+static int _rmt_write(int, char *, unsigned int);
+
+/*
+ *	Write to stream.  Looks just like write(2) to caller.
+ */
+
+int rmtwrite (fildes, buf, nbyte)
+int fildes;
+char *buf;
+unsigned int nbyte;
+{
+	if (isrmt (fildes))
+	{
+		return (_rmt_write (fildes - REM_BIAS, buf, nbyte));
+	}
+	else
+	{
+		return (write (fildes, buf, nbyte));
+	}
+}
+
+
+/*
+ *	_rmt_write --- write a buffer to the remote tape
+ */
+
+static int _rmt_write(int fildes, char *buf, unsigned int nbyte)
+{
+	char buffer[BUFMAGIC];
+
+	sprintf(buffer, "W%d\n", nbyte);
+	if (_rmt_command(fildes, buffer) == -1)
+		return(-1);
+
+	if (write(RMTWRITE(fildes), buf, nbyte) == nbyte)
+	{
+		return(_rmt_status(fildes));
+	}
+
+	_rmt_abort(fildes);
+	setoserror(EIO);
+	return(-1);
+}
Index: xfsdump-3.1.9-new/librmt
===================================================================
--- xfsdump-3.1.9-new/librmt	(nonexistent)
+++ xfsdump-3.1.9-new/librmt	(revision 5)

Property changes on: xfsdump-3.1.9-new/librmt
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: xfsdump-3.1.9-new
===================================================================
--- xfsdump-3.1.9-new	(nonexistent)
+++ xfsdump-3.1.9-new	(revision 5)

Property changes on: xfsdump-3.1.9-new
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: .
===================================================================
--- .	(nonexistent)
+++ .	(revision 5)

Property changes on: .
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~