Hello community,
here is the log from the commit of package libmthca
checked in at Fri Aug 24 01:35:57 CEST 2007.
--------
--- libmthca/libmthca.changes 2007-06-20 12:56:31.000000000 +0200
+++ /mounts/work_src_done/STABLE/libmthca/libmthca.changes 2007-08-20 21:35:42.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Aug 20 21:35:27 CEST 2007 - hvogel@suse.de
+
+- Update to version from OFED 1.2.5
+
+-------------------------------------------------------------------
New:
----
libmthca_05_user_sq_rq_order.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmthca.spec ++++++
--- /var/tmp/diff_new_pack.X17535/_old 2007-08-24 01:35:40.000000000 +0200
+++ /var/tmp/diff_new_pack.X17535/_new 2007-08-24 01:35:40.000000000 +0200
@@ -13,11 +13,12 @@
Name: libmthca
Summary: User space libraries (device-specific) for Infiniband Mellanox HCA
Version: 1.0.4
-Release: 1
-License: BSD License and BSD-like, GNU General Public License (GPL)
+Release: 13
+License: BSD 3-Clause, GPL v2 or later
Group: System/Libraries
Source0: %{name}-%{version}.tar.bz2
-URL: http://www.openfabrics.porg
+Patch0: libmthca_05_user_sq_rq_order.patch
+URL: http://www.openfabrics.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: libibverbs-devel
@@ -51,7 +52,7 @@
%prep
%setup -q
-./autogen.sh
+%patch -p4
%build
%configure
@@ -76,5 +77,7 @@
%_libdir/%name.so
%changelog
+* Mon Aug 20 2007 - hvogel@suse.de
+- Update to version from OFED 1.2.5
* Wed Jun 20 2007 - hvogel@suse.de
- Initial Package, Version 1.0.4
++++++ libmthca_05_user_sq_rq_order.patch ++++++
Place SQ wrid's first in wrid buffer, to eliminate an add operation
in the send datapath.
This keeps binary size constant, moving code from post send to post receive:
post send is a latency-sensitive operation, while post receive is done
beforehand, so it's not. Additionally, a generic ULP mixing send and RDMA does
more post sends than post receives (RDMA does not have a matching post receive).
Signed-off-by: Jack Morgenstein
diff --git a/src/userspace/libmthca/src/cq.c b/src/userspace/libmthca/src/cq.c
index 0aeb7a9..a6abcea 100644
--- a/src/userspace/libmthca/src/cq.c
+++ b/src/userspace/libmthca/src/cq.c
@@ -339,7 +339,7 @@ static inline int mthca_poll_one(struct mthca_cq *cq,
if (is_send) {
wq = &(*cur_qp)->sq;
wqe_index = ((ntohl(cqe->wqe) - (*cur_qp)->send_wqe_offset) >> wq->wqe_shift);
- wc->wr_id = (*cur_qp)->wrid[wqe_index + (*cur_qp)->rq.max];
+ wc->wr_id = (*cur_qp)->wrid[wqe_index];
} else if ((*cur_qp)->ibv_qp.srq) {
srq = to_msrq((*cur_qp)->ibv_qp.srq);
wqe = htonl(cqe->wqe);
@@ -360,7 +360,7 @@ static inline int mthca_poll_one(struct mthca_cq *cq,
*/
if (wqe_index < 0)
wqe_index = wq->max - 1;
- wc->wr_id = (*cur_qp)->wrid[wqe_index];
+ wc->wr_id = (*cur_qp)->wrid[wqe_index + (*cur_qp)->sq.max];
}
if (wq) {
diff --git a/src/userspace/libmthca/src/qp.c b/src/userspace/libmthca/src/qp.c
index f2483e9..326445b 100644
--- a/src/userspace/libmthca/src/qp.c
+++ b/src/userspace/libmthca/src/qp.c
@@ -280,7 +280,7 @@ int mthca_tavor_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr,
size += wr->num_sge * (sizeof *seg / 16);
}
- qp->wrid[ind + qp->rq.max] = wr->wr_id;
+ qp->wrid[ind] = wr->wr_id;
if (wr->opcode >= sizeof mthca_opcode / sizeof mthca_opcode[0]) {
ret = -1;
@@ -383,7 +383,7 @@ int mthca_tavor_post_recv(struct ibv_qp *ibqp, struct ibv_recv_wr *wr,
size += sizeof (struct mthca_data_seg) / 16;
}
- qp->wrid[ind] = wr->wr_id;
+ qp->wrid[ind + qp->sq.max] = wr->wr_id;
((struct mthca_next_seg *) prev_wqe)->nda_op =
htonl((ind << qp->rq.wqe_shift) | 1);
@@ -645,7 +645,7 @@ int mthca_arbel_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr,
size += wr->num_sge * (sizeof *seg / 16);
}
- qp->wrid[ind + qp->rq.max] = wr->wr_id;
+ qp->wrid[ind] = wr->wr_id;
if (wr->opcode >= sizeof mthca_opcode / sizeof mthca_opcode[0]) {
ret = -1;
@@ -754,7 +754,7 @@ int mthca_arbel_post_recv(struct ibv_qp *ibqp, struct ibv_recv_wr *wr,
((struct mthca_data_seg *) wqe)->addr = 0;
}
- qp->wrid[ind] = wr->wr_id;
+ qp->wrid[ind + qp->sq.max] = wr->wr_id;
++ind;
if (ind >= qp->rq.max)
++++++ libmthca-1.0.4.tar.bz2 ++++++
++++ 42203 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/autogen.sh new/libmthca-1.0.4/autogen.sh
--- old/libmthca-1.0.4/autogen.sh 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/autogen.sh 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-#! /bin/sh
-
-set -x
-aclocal -I config
-libtoolize --force --copy
-autoheader
-automake --foreign --add-missing --copy
-autoconf
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/BUILD_ID new/libmthca-1.0.4/BUILD_ID
--- old/libmthca-1.0.4/BUILD_ID 1970-01-01 01:00:00.000000000 +0100
+++ new/libmthca-1.0.4/BUILD_ID 2007-08-14 17:41:15.000000000 +0200
@@ -0,0 +1 @@
+1.0.4
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/config/.gitignore new/libmthca-1.0.4/config/.gitignore
--- old/libmthca-1.0.4/config/.gitignore 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/config/.gitignore 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-mkinstalldirs
-depcomp
-compile
-missing
-config.guess
-config.sub
-ltmain.sh
-install-sh
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/config/missing new/libmthca-1.0.4/config/missing
--- old/libmthca-1.0.4/config/missing 1970-01-01 01:00:00.000000000 +0100
+++ new/libmthca-1.0.4/config/missing 2007-08-14 17:38:38.000000000 +0200
@@ -0,0 +1,360 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2005-06-08.21
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard , 1996.
+
+# 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; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will 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 to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to ."
+ exit $?
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# Now exit if we have it, but it failed. Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+ lex|yacc)
+ # Not GNU programs, they don't have --version.
+ ;;
+
+ tar)
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ exit 1
+ fi
+ ;;
+
+ *)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ # Could not run --version or --help. This is probably someone
+ # running `$TOOL --version' or `$TOOL --help' to check whether
+ # $TOOL exists and not knowing $TOOL uses missing.
+ exit 1
+ fi
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+ aclocal*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case "$f" in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+ test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison|yacc)
+ echo 1>&2 "\
+WARNING: \`$1' $msg. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f y.tab.h ]; then
+ echo >y.tab.h
+ fi
+ if [ ! -f y.tab.c ]; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex|flex)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f lex.yy.c ]; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+ fi
+ if [ -f "$file" ]; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit 1
+ fi
+ ;;
+
+ makeinfo)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ # The file to touch is that specified with -o ...
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+ fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
+ touch $file
+ ;;
+
+ tar)
+ shift
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case "$firstarg" in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case "$firstarg" in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequisites for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/config.h.in new/libmthca-1.0.4/config.h.in
--- old/libmthca-1.0.4/config.h.in 1970-01-01 01:00:00.000000000 +0100
+++ new/libmthca-1.0.4/config.h.in 2007-08-14 17:38:27.000000000 +0200
@@ -0,0 +1,82 @@
+/* config.h.in. Generated from configure.in by autoheader. */
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the `ibv_dofork_range' function. */
+#undef HAVE_IBV_DOFORK_RANGE
+
+/* Define to 1 if you have the `ibv_dontfork_range' function. */
+#undef HAVE_IBV_DONTFORK_RANGE
+
+/* Define to 1 if you have the `ibv_read_sysfs_file' function. */
+#undef HAVE_IBV_READ_SYSFS_FILE
+
+/* Define to 1 if you have the `ibv_register_driver' function. */
+#undef HAVE_IBV_REGISTER_DRIVER
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `ibverbs' library (-libverbs). */
+#undef HAVE_LIBIBVERBS
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_VALGRIND_MEMCHECK_H
+
+/* Define to 1 to disable Valgrind annotations. */
+#undef NVALGRIND
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* The size of a `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/configure.in new/libmthca-1.0.4/configure.in
--- old/libmthca-1.0.4/configure.in 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/configure.in 2007-08-14 17:37:56.000000000 +0200
@@ -13,7 +13,7 @@
[Enable Valgrind annotations (small runtime overhead, default NO)]))
if test x$with_valgrind = x || test x$with_valgrind = xno; then
want_valgrind=no
- AC_DEFINE([NVALGRIND], 1, [disable Valgrind annotations])
+ AC_DEFINE([NVALGRIND], 1, [Define to 1 to disable Valgrind annotations.])
else
want_valgrind=yes
if test -d $with_valgrind; then
@@ -32,11 +32,12 @@
AC_CHECK_HEADER(infiniband/driver.h, [],
AC_MSG_ERROR([ not found. libmthca requires libibverbs.]))
AC_HEADER_STDC
-AC_CHECK_HEADER(valgrind/memcheck.h, memcheck_ok=yes, memcheck_ok=no)
-
-if test $want_valgrind = yes && test $memcheck_ok = no; then
- AC_MSG_ERROR([Valgrind memcheck support requested, but not found.])
-fi
+AC_CHECK_HEADER(valgrind/memcheck.h,
+ [AC_DEFINE(HAVE_VALGRIND_MEMCHECK_H, 1,
+ [Define to 1 if you have the header file.])],
+ [if test $want_valgrind = yes; then
+ AC_MSG_ERROR([Valgrind memcheck support requested, but not found.])
+ fi])
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/debian/changelog new/libmthca-1.0.4/debian/changelog
--- old/libmthca-1.0.4/debian/changelog 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/debian/changelog 1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-libmthca (1.0.4-1) unstable; urgency=low
-
- * New upstream release.
- * Rebuild against libibverbs 1.1.
-
- -- Roland Dreier Mon, 30 Apr 2007 17:11:51 -0700
-
-libmthca (1.0.3-1) unstable; urgency=low
-
- * New upstream release.
- - Fix various integer overflows.
- - Fix potential AB-BA deadlock when destroying QPs.
- - Add more forward compat against future libibverbs releases.
- * Build against libibverbs 1.0.4, with fixed sparc mb() definition.
- (Closes: #365559)
- * Improve package description.
-
- -- Roland Dreier Thu, 9 Nov 2006 11:07:58 -0800
-
-libmthca (1.0.2-1) unstable; urgency=low
-
- * New upstream release:
- - Work around MemFree firmware bug in receive completions with error.
- - Fix posting receive lists with exactly a multiple of 256 entries.
- - Add forward compatibility for future libibverbs releases.
- * Update to Standards-Version: 3.7.2.
-
- -- Roland Dreier Tue, 13 Jun 2006 11:33:32 -0700
-
-libmthca (1.0.1-1) unstable; urgency=low
-
- * Initial Release. (Closes: #325753)
-
- -- Roland Dreier Wed, 15 Feb 2006 11:22:18 -0700
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/debian/compat new/libmthca-1.0.4/debian/compat
--- old/libmthca-1.0.4/debian/compat 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/debian/compat 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-5
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/debian/control new/libmthca-1.0.4/debian/control
--- old/libmthca-1.0.4/debian/control 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/debian/control 1970-01-01 01:00:00.000000000 +0100
@@ -1,52 +0,0 @@
-Source: libmthca
-Priority: extra
-Maintainer: Roland Dreier
-Build-Depends: cdbs (>= 0.4.25-1), debhelper (>= 5), libibverbs-dev (>= 1.1), autotools-dev
-Standards-Version: 3.7.2
-Section: libs
-
-Package: libmthca1
-Section: libs
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: A userspace driver for Mellanox InfiniBand HCAs
- libmthca is a device-specific driver for Mellanox InfiniBand host
- channel adapters (HCAs) for the libibverbs library. This allows
- userspace processes to access Mellanox HCA hardware directly with
- low latency and low overhead.
- .
- This package contains the loadable plug-in.
- .
- Homepage: http://www.openfabrics.org/
-
-Package: libmthca-dev
-Section: libdevel
-Architecture: any
-Depends: ${misc:Depends}, libmthca1 (= ${Source-Version})
-Description: Development files for the libmthca driver
- libmthca is a device-specific driver for Mellanox InfiniBand host
- channel adapters (HCAs) for the libibverbs library. This allows
- userspace processes to access Mellanox HCA hardware directly with
- low latency and low overhead.
- .
- This package contains static versions of libmthca that may be linked
- directly to an application, which may be useful for debugging.
- .
- Homepage: http://www.openfabrics.org/
-
-Package: libmthca1-dbg
-Section: libdevel
-Priority: extra
-Architecture: any
-Depends: ${misc:Depends}, libmthca1 (= ${Source-Version})
-Description: Debugging symbols for the libmthca driver
- libmthca is a device-specific driver for Mellanox InfiniBand host
- channel adapters (HCAs) for the libibverbs library. This allows
- userspace processes to access Mellanox HCA hardware directly with
- low latency and low overhead.
- .
- This package contains the debugging symbols associated with
- libmthca1. They will automatically be used by gdb for debugging
- libmthca-related issues.
- .
- Homepage: http://www.openfabrics.org/
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/debian/copyright new/libmthca-1.0.4/debian/copyright
--- old/libmthca-1.0.4/debian/copyright 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/debian/copyright 1970-01-01 01:00:00.000000000 +0100
@@ -1,44 +0,0 @@
-Initial Debianization:
-This package was debianized by Roland Dreier on
-Thu, 28 Apr 2005 13:16:56 -0700.
-
-Source:
-It was downloaded from the OpenIB web site at
-https://openib.org/downloads.html
-
-Authors:
- Roland Dreier
- Michael S. Tsirkin
-
-Portions are copyrighted by:
- * Copyright (c) 2005, 2006 Cisco Systems. All rights reserved.
- * Copyright (c) 2004, 2005 Topspin Communications. All rights reserved.
- * Copyright (c) 2005 Mellanox Technologies Ltd. All rights reserved.
-
-libmthca is licensed under a choice of one of two licenses. You may
-choose to be licensed under the terms of the GNU General Public
-License (GPL) Version 2, available from the file
-/usr/share/common-licenses/GPL-2 on your Debian system, or the
-OpenIB.org BSD license below:
-
- Redistribution and use in source and binary forms, with or
- without modification, are permitted provided that the following
- conditions are met:
-
- - Redistributions of source code must retain the above
- copyright notice, this list of conditions and the following
- disclaimer.
-
- - Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials
- provided with the distribution.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/debian/libmthca1.install new/libmthca-1.0.4/debian/libmthca1.install
--- old/libmthca-1.0.4/debian/libmthca1.install 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/debian/libmthca1.install 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-usr/lib/libmthca-rdmav2.so
-etc/libibverbs.d/mthca.driver
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/debian/libmthca-dev.install new/libmthca-1.0.4/debian/libmthca-dev.install
--- old/libmthca-1.0.4/debian/libmthca-dev.install 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/debian/libmthca-dev.install 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/lib/libmthca.{a,la}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/debian/rules new/libmthca-1.0.4/debian/rules
--- old/libmthca-1.0.4/debian/rules 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/debian/rules 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-#!/usr/bin/make -f
-# -*- mode: makefile; coding: utf-8 -*-
-
-DEB_DH_INSTALL_SOURCEDIR := debian/tmp
-
-include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/class/autotools.mk
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/config new/libmthca-1.0.4/.git/config
--- old/libmthca-1.0.4/.git/config 2007-06-20 12:36:29.000000000 +0200
+++ new/libmthca-1.0.4/.git/config 1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-[core]
- repositoryformatversion = 0
- filemode = true
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/description new/libmthca-1.0.4/.git/description
--- old/libmthca-1.0.4/.git/description 2007-06-20 12:36:29.000000000 +0200
+++ new/libmthca-1.0.4/.git/description 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-Unnamed repository; edit this file to name it for gitweb.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/HEAD new/libmthca-1.0.4/.git/HEAD
--- old/libmthca-1.0.4/.git/HEAD 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/HEAD 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-ref: refs/heads/master
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/hooks/applypatch-msg new/libmthca-1.0.4/.git/hooks/applypatch-msg
--- old/libmthca-1.0.4/.git/hooks/applypatch-msg 2007-06-20 12:36:29.000000000 +0200
+++ new/libmthca-1.0.4/.git/hooks/applypatch-msg 1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to check the commit log message taken by
-# applypatch from an e-mail message.
-#
-# The hook should exit with non-zero status after issuing an
-# appropriate message if it wants to stop the commit. The hook is
-# allowed to edit the commit message file.
-#
-# To enable this hook, make this file executable.
-
-. git-sh-setup
-test -x "$GIT_DIR/hooks/commit-msg" &&
- exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
-:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/hooks/commit-msg new/libmthca-1.0.4/.git/hooks/commit-msg
--- old/libmthca-1.0.4/.git/hooks/commit-msg 2007-06-20 12:36:29.000000000 +0200
+++ new/libmthca-1.0.4/.git/hooks/commit-msg 1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to check the commit log message.
-# Called by git-commit with one argument, the name of the file
-# that has the commit message. The hook should exit with non-zero
-# status after issuing an appropriate message if it wants to stop the
-# commit. The hook is allowed to edit the commit message file.
-#
-# To enable this hook, make this file executable.
-
-# This example catches duplicate Signed-off-by lines.
-
-test "" = "$(grep '^Signed-off-by: ' "$1" |
- sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
- echo >&2 Duplicate Signed-off-by lines.
- exit 1
-}
-
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/hooks/post-commit new/libmthca-1.0.4/.git/hooks/post-commit
--- old/libmthca-1.0.4/.git/hooks/post-commit 2007-06-20 12:36:29.000000000 +0200
+++ new/libmthca-1.0.4/.git/hooks/post-commit 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-#!/bin/sh
-#
-# An example hook script that is called after a successful
-# commit is made.
-#
-# To enable this hook, make this file executable.
-
-: Nothing
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/hooks/post-update new/libmthca-1.0.4/.git/hooks/post-update
--- old/libmthca-1.0.4/.git/hooks/post-update 2007-06-20 12:36:29.000000000 +0200
+++ new/libmthca-1.0.4/.git/hooks/post-update 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to prepare a packed repository for use over
-# dumb transports.
-#
-# To enable this hook, make this file executable by "chmod +x post-update".
-
-exec git-update-server-info
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/hooks/pre-applypatch new/libmthca-1.0.4/.git/hooks/pre-applypatch
--- old/libmthca-1.0.4/.git/hooks/pre-applypatch 2007-06-20 12:36:29.000000000 +0200
+++ new/libmthca-1.0.4/.git/hooks/pre-applypatch 1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed
-# by applypatch from an e-mail message.
-#
-# The hook should exit with non-zero status after issuing an
-# appropriate message if it wants to stop the commit.
-#
-# To enable this hook, make this file executable.
-
-. git-sh-setup
-test -x "$GIT_DIR/hooks/pre-commit" &&
- exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"}
-:
-
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/hooks/pre-commit new/libmthca-1.0.4/.git/hooks/pre-commit
--- old/libmthca-1.0.4/.git/hooks/pre-commit 2007-06-20 12:36:29.000000000 +0200
+++ new/libmthca-1.0.4/.git/hooks/pre-commit 1970-01-01 01:00:00.000000000 +0100
@@ -1,71 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed.
-# Called by git-commit with no arguments. The hook should
-# exit with non-zero status after issuing an appropriate message if
-# it wants to stop the commit.
-#
-# To enable this hook, make this file executable.
-
-# This is slightly modified from Andrew Morton's Perfect Patch.
-# Lines you introduce should not have trailing whitespace.
-# Also check for an indentation that has SP before a TAB.
-
-if git-rev-parse --verify HEAD 2>/dev/null
-then
- git-diff-index -p -M --cached HEAD
-else
- # NEEDSWORK: we should produce a diff with an empty tree here
- # if we want to do the same verification for the initial import.
- :
-fi |
-perl -e '
- my $found_bad = 0;
- my $filename;
- my $reported_filename = "";
- my $lineno;
- sub bad_line {
- my ($why, $line) = @_;
- if (!$found_bad) {
- print STDERR "*\n";
- print STDERR "* You have some suspicious patch lines:\n";
- print STDERR "*\n";
- $found_bad = 1;
- }
- if ($reported_filename ne $filename) {
- print STDERR "* In $filename\n";
- $reported_filename = $filename;
- }
- print STDERR "* $why (line $lineno)\n";
- print STDERR "$filename:$lineno:$line\n";
- }
- while (<>) {
- if (m|^diff --git a/(.*) b/\1$|) {
- $filename = $1;
- next;
- }
- if (/^@@ -\S+ \+(\d+)/) {
- $lineno = $1 - 1;
- next;
- }
- if (/^ /) {
- $lineno++;
- next;
- }
- if (s/^\+//) {
- $lineno++;
- chomp;
- if (/\s$/) {
- bad_line("trailing whitespace", $_);
- }
- if (/^\s* /) {
- bad_line("indent SP followed by a TAB", $_);
- }
- if (/^(?:[<>=]){7}/) {
- bad_line("unresolved merge conflict", $_);
- }
- }
- }
- exit($found_bad);
-'
-
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/hooks/pre-rebase new/libmthca-1.0.4/.git/hooks/pre-rebase
--- old/libmthca-1.0.4/.git/hooks/pre-rebase 2007-06-20 12:36:29.000000000 +0200
+++ new/libmthca-1.0.4/.git/hooks/pre-rebase 1970-01-01 01:00:00.000000000 +0100
@@ -1,150 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2006 Junio C Hamano
-#
-
-publish=next
-basebranch="$1"
-if test "$#" = 2
-then
- topic="refs/heads/$2"
-else
- topic=`git symbolic-ref HEAD`
-fi
-
-case "$basebranch,$topic" in
-master,refs/heads/??/*)
- ;;
-*)
- exit 0 ;# we do not interrupt others.
- ;;
-esac
-
-# Now we are dealing with a topic branch being rebased
-# on top of master. Is it OK to rebase it?
-
-# Is topic fully merged to master?
-not_in_master=`git-rev-list --pretty=oneline ^master "$topic"`
-if test -z "$not_in_master"
-then
- echo >&2 "$topic is fully merged to master; better remove it."
- exit 1 ;# we could allow it, but there is no point.
-fi
-
-# Is topic ever merged to next? If so you should not be rebasing it.
-only_next_1=`git-rev-list ^master "^$topic" ${publish} | sort`
-only_next_2=`git-rev-list ^master ${publish} | sort`
-if test "$only_next_1" = "$only_next_2"
-then
- not_in_topic=`git-rev-list "^$topic" master`
- if test -z "$not_in_topic"
- then
- echo >&2 "$topic is already up-to-date with master"
- exit 1 ;# we could allow it, but there is no point.
- else
- exit 0
- fi
-else
- not_in_next=`git-rev-list --pretty=oneline ^${publish} "$topic"`
- perl -e '
- my $topic = $ARGV[0];
- my $msg = "* $topic has commits already merged to public branch:\n";
- my (%not_in_next) = map {
- /^([0-9a-f]+) /;
- ($1 => 1);
- } split(/\n/, $ARGV[1]);
- for my $elem (map {
- /^([0-9a-f]+) (.*)$/;
- [$1 => $2];
- } split(/\n/, $ARGV[2])) {
- if (!exists $not_in_next{$elem->[0]}) {
- if ($msg) {
- print STDERR $msg;
- undef $msg;
- }
- print STDERR " $elem->[1]\n";
- }
- }
- ' "$topic" "$not_in_next" "$not_in_master"
- exit 1
-fi
-
-exit 0
-
-################################################################
-
-This sample hook safeguards topic branches that have been
-published from being rewound.
-
-The workflow assumed here is:
-
- * Once a topic branch forks from "master", "master" is never
- merged into it again (either directly or indirectly).
-
- * Once a topic branch is fully cooked and merged into "master",
- it is deleted. If you need to build on top of it to correct
- earlier mistakes, a new topic branch is created by forking at
- the tip of the "master". This is not strictly necessary, but
- it makes it easier to keep your history simple.
-
- * Whenever you need to test or publish your changes to topic
- branches, merge them into "next" branch.
-
-The script, being an example, hardcodes the publish branch name
-to be "next", but it is trivial to make it configurable via
-$GIT_DIR/config mechanism.
-
-With this workflow, you would want to know:
-
-(1) ... if a topic branch has ever been merged to "next". Young
- topic branches can have stupid mistakes you would rather
- clean up before publishing, and things that have not been
- merged into other branches can be easily rebased without
- affecting other people. But once it is published, you would
- not want to rewind it.
-
-(2) ... if a topic branch has been fully merged to "master".
- Then you can delete it. More importantly, you should not
- build on top of it -- other people may already want to
- change things related to the topic as patches against your
- "master", so if you need further changes, it is better to
- fork the topic (perhaps with the same name) afresh from the
- tip of "master".
-
-Let's look at this example:
-
- o---o---o---o---o---o---o---o---o---o "next"
- / / / /
- / a---a---b A / /
- / / / /
- / / c---c---c---c B /
- / / / \ /
- / / / b---b C \ /
- / / / / \ /
- ---o---o---o---o---o---o---o---o---o---o---o "master"
-
-
-A, B and C are topic branches.
-
- * A has one fix since it was merged up to "next".
-
- * B has finished. It has been fully merged up to "master" and "next",
- and is ready to be deleted.
-
- * C has not merged to "next" at all.
-
-We would want to allow C to be rebased, refuse A, and encourage
-B to be deleted.
-
-To compute (1):
-
- git-rev-list ^master ^topic next
- git-rev-list ^master next
-
- if these match, topic has not merged in next at all.
-
-To compute (2):
-
- git-rev-list master..topic
-
- if this is empty, it is fully merged to "master".
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/hooks/update new/libmthca-1.0.4/.git/hooks/update
--- old/libmthca-1.0.4/.git/hooks/update 2007-06-20 12:36:29.000000000 +0200
+++ new/libmthca-1.0.4/.git/hooks/update 1970-01-01 01:00:00.000000000 +0100
@@ -1,89 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to mail out commit update information.
-# It also blocks tags that aren't annotated.
-# Called by git-receive-pack with arguments: refname sha1-old sha1-new
-#
-# To enable this hook:
-# (1) change the recipient e-mail address
-# (2) make this file executable by "chmod +x update".
-#
-
-project=$(cat $GIT_DIR/description)
-recipients="commit-list@somewhere.com commit-list@somewhereelse.com"
-
-ref_type=$(git cat-file -t "$3")
-
-# Only allow annotated tags in a shared repo
-# Remove this code to treat dumb tags the same as everything else
-case "$1","$ref_type" in
-refs/tags/*,commit)
- echo "*** Un-annotated tags are not allowed in this repo" >&2
- echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate."
- exit 1;;
-refs/tags/*,tag)
- echo "### Pushing version '${1##refs/tags/}' to the masses" >&2
- # recipients="release-announce@somwehere.com announce@somewhereelse.com"
- ;;
-esac
-
-# set this to 'cat' to get a very detailed listing.
-# short only kicks in when an annotated tag is added
-short='git shortlog'
-
-# see 'date --help' for info on how to write this
-# The default is a human-readable iso8601-like format with minute
-# precision ('2006-01-25 15:58 +0100' for example)
-date_format="%F %R %z"
-
-(if expr "$2" : '0*$' >/dev/null
-then
- # new ref
- case "$1" in
- refs/tags/*)
- # a pushed and annotated tag (usually) means a new version
- tag="${1##refs/tags/}"
- if [ "$ref_type" = tag ]; then
- eval $(git cat-file tag $3 | \
- sed -n '4s/tagger \([^>]*>\)[^0-9]*\([0-9]*\).*/tagger="\1" ts="\2"/p')
- date=$(date --date="1970-01-01 00:00:00 $ts seconds" +"$date_format")
- echo "Tag '$tag' created by $tagger at $date"
- git cat-file tag $3 | sed -n '5,$p'
- echo
- fi
- prev=$(git describe "$3^" | sed 's/-g.*//')
- # the first tag in a repo will yield no $prev
- if [ -z "$prev" ]; then
- echo "Changes since the dawn of time:"
- git rev-list --pretty $3 | $short
- else
- echo "Changes since $prev:"
- git rev-list --pretty $prev..$3 | $short
- echo ---
- git diff --stat $prev..$3
- echo ---
- fi
- ;;
-
- refs/heads/*)
- branch="${1##refs/heads/}"
- echo "New branch '$branch' available with the following commits:"
- git-rev-list --pretty "$3" $(git-rev-parse --not --all)
- ;;
- esac
-else
- base=$(git-merge-base "$2" "$3")
- case "$base" in
- "$2")
- git diff --stat "$3" "^$base"
- echo
- echo "New commits:"
- ;;
- *)
- echo "Rebased ref, commits from common ancestor:"
- ;;
- esac
- git-rev-list --pretty "$3" "^$base"
-fi) |
-mail -s "$project: Changes to '${1##refs/heads/}'" $recipients
-exit 0
Files old/libmthca-1.0.4/.git/index and new/libmthca-1.0.4/.git/index differ
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/info/exclude new/libmthca-1.0.4/.git/info/exclude
--- old/libmthca-1.0.4/.git/info/exclude 2007-06-20 12:36:29.000000000 +0200
+++ new/libmthca-1.0.4/.git/info/exclude 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-# git-ls-files --others --exclude-from=.git/info/exclude
-# Lines that start with '#' are comments.
-# For a project mostly in C, the following would be a good set of
-# exclude patterns (uncomment them if you want to use them):
-# *.[oa]
-# *~
Files old/libmthca-1.0.4/.git/objects/pack/pack-120dc5fa6f04526c585bc392b3d6f1a8d0d2e1a1.idx and new/libmthca-1.0.4/.git/objects/pack/pack-120dc5fa6f04526c585bc392b3d6f1a8d0d2e1a1.idx differ
Files old/libmthca-1.0.4/.git/objects/pack/pack-120dc5fa6f04526c585bc392b3d6f1a8d0d2e1a1.pack and new/libmthca-1.0.4/.git/objects/pack/pack-120dc5fa6f04526c585bc392b3d6f1a8d0d2e1a1.pack differ
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/refs/heads/master new/libmthca-1.0.4/.git/refs/heads/master
--- old/libmthca-1.0.4/.git/refs/heads/master 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/refs/heads/master 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-e716237f442d2522023c07a5b03f6e3e7977dfa0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/refs/heads/origin new/libmthca-1.0.4/.git/refs/heads/origin
--- old/libmthca-1.0.4/.git/refs/heads/origin 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/refs/heads/origin 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-e716237f442d2522023c07a5b03f6e3e7977dfa0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0 new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0
--- old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-57ce17647f153f55447a255be2b34b1b7462f3d7
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.1 new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.1
--- old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.1 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.1 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-a7d19087aab18573fe8e2ef825b6c2209a69198c
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.2 new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.2
--- old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.2 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.2 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-601c631e8ef80dcc7f4c2b34a6c799065ff87e69
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.3 new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.3
--- old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.3 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.3 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-7f3d18dba177c68fa98341539d50eb5c3f154bce
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.4 new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.4
--- old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.4 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0.4 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-bee82e3996c88aa43a53f9a13bb36d3ddbcab2d3
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc4 new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc4
--- old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc4 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc4 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-03ed1e53d36e80cbb95ebb243ae2b10b770e7df6
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc5 new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc5
--- old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc5 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc5 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-7f19816fa73a8ec946d017c09716e25929a9c8aa
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc6 new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc6
--- old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc6 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc6 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-e6294f4ee75b8c8797a820922da0122977cceeb3
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc7 new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc7
--- old/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc7 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/refs/tags/libmthca-1.0-rc7 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-478f1a6a1e12f6e0e3d1730adfa144ef47a80c4b
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.git/remotes/origin new/libmthca-1.0.4/.git/remotes/origin
--- old/libmthca-1.0.4/.git/remotes/origin 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.git/remotes/origin 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-URL: git://git.kernel.org/pub/scm/libs/infiniband/libmthca.git
-Pull: refs/heads/master:refs/heads/origin
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/.gitignore new/libmthca-1.0.4/.gitignore
--- old/libmthca-1.0.4/.gitignore 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/.gitignore 1970-01-01 01:00:00.000000000 +0100
@@ -1,17 +0,0 @@
-*.o
-*.lo
-configure
-Makefile.in
-autom4te.cache
-aclocal.m4
-stamp-h.in
-config.h.in
-config.log
-config.h
-.libs
-.deps
-libmthca.spec
-Makefile
-config.status
-stamp-h1
-libtool
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/libmthca.spec new/libmthca-1.0.4/libmthca.spec
--- old/libmthca-1.0.4/libmthca.spec 1970-01-01 01:00:00.000000000 +0100
+++ new/libmthca-1.0.4/libmthca.spec 2007-08-14 17:39:19.000000000 +0200
@@ -0,0 +1,84 @@
+Name: libmthca
+Version: 1.0.4
+Release: 1%{?dist}
+Summary: Mellanox InfiniBand HCA Userspace Driver
+
+Group: System Environment/Libraries
+License: GPL/BSD
+Url: http://openib.org/
+Source: http://openib.org/downloads/libmthca-1.0.4.tar.gz
+BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+
+BuildRequires: libibverbs-devel >= 1.1-0.1.rc2
+
+%description
+libmthca provides a device-specific userspace driver for Mellanox HCAs
+(MT23108 InfiniHost and MT25208 InfiniHost III Ex) for use with the
+libibverbs library.
+
+%package devel-static
+Summary: Development files for the libmthca driver
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description devel-static
+Static version of libmthca that may be linked directly to an
+application, which may be useful for debugging.
+
+%prep
+%setup -q -n %{name}-1.0.4
+
+%build
+%configure
+make %{?_smp_mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make DESTDIR=%{buildroot} install
+# remove unpackaged files from the buildroot
+rm -f $RPM_BUILD_ROOT%{_libdir}/*.la $RPM_BUILD_ROOT%{_libdir}/libmthca.so
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%{_libdir}/libmthca-rdmav2.so
+%{_sysconfdir}/libibverbs.d/mthca.driver
+%doc AUTHORS COPYING ChangeLog README
+
+%files devel-static
+%defattr(-,root,root,-)
+%{_libdir}/libmthca.a
+
+%changelog
+* Thu Nov 9 2006 Roland Dreier - 1.0.4-1
+- New upstream release
+- Depend on libibverbs 1.1, and package new library file names.
+- Spec file cleanups: remove unused ver macro, improve BuildRoot, move
+ static libraries into devel-static package, and don't use makeinstall
+ any more (all suggested by Doug Ledford ).
+
+* Wed Jul 26 2006 Roland Dreier - 1.0.3-1
+- New upstream release
+
+* Mon Mar 14 2006 Roland Dreier - 1.0.2-1
+- New upstream release
+
+* Thu Feb 16 2006 Roland Dreier - 1.0-1
+- New upstream release
+
+* Sun Feb 15 2006 Roland Dreier - 1.0-0.5.rc7
+- New upstream release
+
+* Sun Jan 22 2006 Roland Dreier - 1.0-0.4.rc6
+- New upstream release
+
+* Tue Oct 25 2005 Roland Dreier - 1.0-0.3.rc5
+- New upstream release
+
+* Wed Oct 5 2005 Roland Dreier - 1.0-0.2.rc4
+- Update to upstream 1.0-rc4 release
+
+* Mon Sep 26 2005 Roland Dreier - 1.0-0.1.rc3
+- Initial attempt at Fedora Extras-compliant spec file
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/src/.gitignore new/libmthca-1.0.4/src/.gitignore
--- old/libmthca-1.0.4/src/.gitignore 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/src/.gitignore 1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-*.la
-.dirstamp
-.libs
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libmthca-1.0.4/src/mthca.map new/libmthca-1.0.4/src/mthca.map
--- old/libmthca-1.0.4/src/mthca.map 2007-06-20 12:36:31.000000000 +0200
+++ new/libmthca-1.0.4/src/mthca.map 2007-08-14 17:37:56.000000000 +0200
@@ -1,6 +1,5 @@
{
global:
- ibv_driver_init;
openib_driver_init;
local: *;
};
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org