[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
rebasing topic/libposix
From: |
Bruce Korb |
Subject: |
rebasing topic/libposix |
Date: |
Wed, 04 May 2011 13:22:31 -0700 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.14) Gecko/20110221 SUSE/3.1.8 Thunderbird/3.1.8 |
Not being a GIT guru, I had previously done "git merge" to
synchronize topic/libposix with master. Seemed straight
forward and obvious to me. However, "rebase" is a better
spelling for the proper process of resynchronization. So,
I did a "git rebase" and it was a mess. Lots of stuff would
not apply. Consequently, I did a "git rebase --skip" over
and over. The net result being that some patches did not
get applied -- they got skipped. I detected the problems
by comparing the final result with the current topic/libposix.
Shocker: it was not the same. So, where it wasn't the same,
I copied back the current version of the files, yielding the
patch below. (Note that the process actually yields 171 automated
patches, plus the final manual clean-it-up patch.)
Question for folks that spend more time on gnulib and GIT than
I do -- Should I:
1. push this rebased thingey
2. go back and merge once again
3. start a topic/libposix-this-time-for-sure branch,
basically rolling up all the changes into a single patch.
(I cannot think that Gary and my collections of patches
is going to have a terrible lot of historical interest.
I could be wrong, but I do doubt it.)
From 9d27c3e2423c042ca17aaef82d4aa6db7fd1c0a0 Mon Sep 17 00:00:00 2001
From: Bruce Korb <address@hidden>
Date: Wed, 4 May 2011 13:06:55 -0700
Subject: [PATCH 172/172] libposix: rebase all the patches
This should make future resyncs with master go more easily.
This patch actually applies changes that got "skipped" in the rebase.
---
ChangeLog | 171 +++++++++++++++++++++++++++++++++++++++
libposix/bootstrap | 28 +++++--
libposix/configure.ac | 4 +-
libposix/lib/mk-lpx-config-h.sh | 1 +
libposix/mk-tarball | 78 +++++++++++-------
5 files changed, 245 insertions(+), 37 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 8e9dd2b..4848516 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,174 @@
+
+2011-01-07 Bruce Korb <address@hidden>
+
+ libposix/bootstrap: disable testing of error-module-using modules
+ * libposix/bootstrap (opts): append --avoid=${mod}-tests
+ for each module that has the error reference removed
+
+2010-12-30 Bruce Korb <address@hidden>
+
+ * libposix/bootstrap (posix_list): remove unnecessary temp file
+ (modules): install all modules to tmp/modules that reference
+ the 'error' module.
+ * libposix/configure.ac (GNULIB_LIBPOSIX): define this in
+ config.h so that openat-die.c can omit calls to error().
+ * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
+ is defined.
+ * lib/xalloc-die.c: Same thing.
+ * libposix/lib/mk-lpx-config-h.sh (GNULIB_TEST): remove these defines
+
+2010-12-08 Gary V. Vaughan <address@hidden>
+
+ libposix: generate compile and runtime versions with configure
+ * libposix/lib/version.c, libposix/lib/version.h.in: Templates
+ for code to allow runtime and compile time checking of libposix
+ version numbers.
+ * libposix/configure.ac (AC_CONFIG_FILES): Use the already
+ calculated libposix version number to generate libposix/
+ lib/version.h.
+ * libposix/mk-tarball (func_mkver): Removed. Adjust all callers.
+ Don't generate files required by the build in an optionally
+ used script, and incidentally avoid recalculating the version
+ number that configure already knows.
+
+2010-12-07 Gary V. Vaughan <address@hidden>
+
+ libposix: version filter script was adding a newline
+ * libposix/configure.ac (AC_INIT): Use the output of
+ git-version-gen unmodified, os per other GNU projects...
+ otherwise the spurious newline added to the version number
+ breaks operation of the configure script (tested with
+ Autoconf-2.68).
+ * libposix/mk-tarball: Remove the filter here too, otherwise
+ we'll end up with two conflicting version numbers in the same
+ release!
+
+2010-11-17 Bruce Korb <address@hidden>
+
+ * libposix/lib/Makefile.am (lpx-config.h): generate the new header
+ and install it.
+ * libposix/lib/mk-lpx-config-h.sh: script for creating the header
+ by massaging the config.h header.
+
+2010-11-17 Bruce Korb <address@hidden>
+
+ * libposix/mk-tarball: script to make a libposix distribution
+ tarball.
+ * libposix/bootstrap: cleanup and ensure the mkdir's are invoked
+ only when needed.
+ * libposix/configure.ac (m4_esyscmd): fix git version suffix
+ * libposix/lib/Makefile.am (HEADERS): include version info
+
+2010-11-17 Bruce Korb <address@hidden>
+
+ * tests/test-dprintf-posix2.c (main): call malloc & free before
+ setrlimit under Linux. Avoid setrlimit/malloc interaction bug.
+ * tests/test-fprintf-posix3.c: ditto
+
+2010-11-16 Bruce Korb <address@hidden>
+
+ * libposix/bootstrap: generate libposix module file on the fly.
+ * modules/libposix: remove
+ * modules/*: Use pkginclude_HEADERS instead of plain "include".
+ * libposix/lib/Makefile.am: adjust here, too
+ * gnulib-tool: adjust here, too
+
+2010-11-06 Gary V. Vaughan <address@hidden>
+
+ libposix: vastly simplified bootstrap sanity check
+ * libposix/bootstrap: Use a much simpler script to ensure that the
+ output of the posix-modules script remains in sync with the module
+ list of the libposix module.
+
+2010-10-13 Gary V. Vaughan <address@hidden>
+
+ libposix: reindent with spaces instead of tabs
+ * libposix/Makefile.am: Reindent with spaces instead of tabs.
+ * libposix/bootstrap: Likewise.
+
+2010-10-12 Gary V. Vaughan <address@hidden>
+
+ libposix: use git-version-gen for version numbering
+ * build-aux/git-version-gen: In order to work inside the
+ libposix subdirectory, also check the parent directory for .git
+ before assuming git describe will not work.
+ * libposix/bootstrap: Add git-version-gen to gnulib-tool
+ invocation.
+ * libposix/configure.ac (AC_INIT): Use it to get a unique
+ version number, and a configure time banner.
+
+ libposix: raw files to import an installable libposix project
+ * libposix/bootstrap: New script to import gnulib posix modules
+ and bootstrap configury so that the result is an installable
+ libposix.la.
+ * libposix/configure.ac: New file to configure the new libposix
+ subdirectory.
+ * libposix/Makefile.am: New file to delegate build duties to the
+ generated libposix/lib/Makefile at make time.
+ * libposix/lib/Makefile.am: New file to make sure `-version-info'
+ is passed to libtool at libposix.la link-time.
+
+ add _HEADERS primaries to Makefile.am snippets for installable headers
+ * modules/alloca-opt, modules/arg-nonnull, modules/argz,
+ modules/arpa_inet, modules/byteswap, modules/c++defs, modules/ctype,
+ modules/dirent, modules/errno, modules/fcntl-h, modules/float,
+ modules/fnmatch, modules/getopt-posix, modules/glob, modules/iconv-h,
+ modules/iconv_open, modules/inttypes, modules/langinfo,
+ modules/link-warning, modules/locale, modules/math, modules/netdb,
+ modules/netinet_in, modules/poll-h, modules/pthread, modules/pty,
+ modules/sched, modules/search, modules/selinux-h, modules/signal,
+ modules/spawn, modules/stdarg, modules/stdbool, modules/stddef,
+ modules/stdint, modules/stdio, modules/stdlib, modules/string,
+ modules/strings, modules/sys_file, modules/sys_ioctl,
+ modules/sys_select, modules/sys_socket, modules/sys_stat,
+ modules/sys_time, modules/sys_times, modules/sys_utsname,
+ modules/sys_wait, modules/sysexits, modules/termios, modules/time,
+ modules/unistd, modules/unitypes, modules/unused-parameter,
+ modules/warn-on-use, modules/wchar, modules/wctype (Makefile.am):
+ Add nodist_include_HEADERS, nobase_nodist_include_HEADERS and
+ EXTRA_HEADERS declarations for potentially installable header files.
+ * gnulib-tool: Initialize nodist_include_HEADERS,
+ nobase_nodist_include_HEADERS and EXTRA_HEADERS to prime for new
+ `.*_HEADERS +=' declarations.
+ (func_emit_lib_Makefile_am): Edit away new nodist_include_HEADERS,
+ nobase_nodist_include_HEADERS and EXTRA_HEADERS declarations by
+ default, reverting the Makefile.am snippets above to their original
+ condition prior to this change *unless* the gnulib library is being
+ installed.
+
+ New module `libposix'.
+ * modules/libposix: New module to facilitate an installable
+ library of posix modules.
+ (Makefile.am): Use lib_LTLIBRARIES to mark libposix.la as
+ installable.
+ (Depends-On): List all the modules found by `posix-modules',
+ except `strdup' which is spurious, and with the addition of
+ `alloca' to satisfy an otherwise undefined LTALLOCA definition;
+ and `progname' to provide a non-extern program_name symbol so that
+ compilation with `-no-undefined' symbols can work.
+
+ iconv_open: reduce not-trivial repetition of file-list
+ * modules/iconv_open (iconv_headers): New make macro to hold list of
+ iconv header files.
+ (BUILT_SOURCES, MAINTAINERCLEANFILES, EXTRA_DIST): Use it instead of
+ multiple hard-coded copies.
+
+ gnulib-tool: transform hard-coded libgnu.a to $libname.l?a
+ * gnulib-tool (func_emit_lib_Makefile_am): transform hard-coded
+ `libgnu.a' in Makefile.am snippets to be either `$libname.a' or
+ `$libname.la', depending on whether --libtool/--no-libtool options
+ were given.
+
+2010-10-12 Sam Steingold <address@hidden>
+ Gary V. Vaughan <address@hidden>
+
+ gnulib-tool: transform include guards with `--macro-prefix'
+ * gnulib-tool (func_import): support multiple gllib directories:
+ headers are generated for each gllib differently, depending on which
+ features are actually used, so we need to be able to include all
+ these generated headers without fear that one will shadow another,
+ so we prepend the macro-prefix before the guard macros.
+
2011-05-04 Reuben Thomas <address@hidden>
Add option to do-release-commit-and-tag to specify branch.
diff --git a/libposix/bootstrap b/libposix/bootstrap
index 4bce30f..e5f6d60 100755
--- a/libposix/bootstrap
+++ b/libposix/bootstrap
@@ -12,11 +12,10 @@ else
mkdir tmp tmp/modules
fi
+posix_list=`
{ echo alloca
- posix-modules
-} | sort -u > tmp/posix-list
-
-posix_list=`grep -v '^$' tmp/posix-list`
+ posix-modules | sed '/^error$/d'
+} | tr -d ' \t' | sed '/^$/d' | sort -u`
cat > tmp/modules/libposix <<- _EOF_
Description:
@@ -42,7 +41,6 @@ cat > tmp/modules/libposix <<- _EOF_
Gary V. Vaughan
_EOF_
-
opts='--local-dir=tmp
--import
--lib=libposix
@@ -55,12 +53,30 @@ opts='--local-dir=tmp
--with-c++-tests
--with-longrunning-tests'
+# We cannot tell which modules will get pulled in via dependencies
+# when gnulib-tool gets run. Therefore, strip out "error" from all
+# modules that mention it. Either we won't use the module, or the
+# module will have to be tweaked to remove the dependency for libposix.
+# "GNULIB_LIBPOSIX" is a CPP symbol for libposix. Also, avoid testing
+# any module that has had its error dependency removed.
+#
+for mod in `egrep -l '^error$' ../modules/[a-z]*`
+do
+ test "X$mod" = Xerror && continue
+ d=`basename $mod`
+ opts="${opts} --avoid=${d}-tests"
+ sed '/^error$/d' ${mod} > tmp/modules/$d
+done >&2
+
# Bootstrap for autotools.
+#
+echo gnulib-tool ${opts} git-version-gen libposix
gnulib-tool ${opts} git-version-gen libposix
-
# No need to maintain a Makefile.am just to include gnulib.mk.
+#
mv tests/gnulib.mk tests/Makefile.am
# Run autotools.
+#
autoreconf --force --install --verbose --symlink
diff --git a/libposix/configure.ac b/libposix/configure.ac
index 36c3fb4..db49a02 100644
--- a/libposix/configure.ac
+++ b/libposix/configure.ac
@@ -7,6 +7,7 @@ AS_BOX([Configuring AC_PACKAGE_TARNAME AC_PACKAGE_VERSION])
dnl this should be AC_REQUIRED by gnulib modules that need it,
dnl but either a couple of modules have forgotten it, or else
dnl AC_REQUIRE is emitting macro expansions out of order
+dnl
AC_USE_SYSTEM_EXTENSIONS
dnl we can't use AC_CONFIG_AUX_DIR here, because the heuristics
@@ -14,7 +15,7 @@ dnl for finding install-sh in the generated configure script
dnl consider this directory to be a subproject of gnulib proper,
dnl and will only look for install-sh in . and .. :(
dnl AC_CONFIG_AUX_DIR([build-aux])
-
+dnl
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADER([config.h])
AC_CONFIG_FILES([Makefile lib/Makefile tests/Makefile])
@@ -27,6 +28,7 @@ LT_INIT
AC_SUBST([LTV_CURRENT], 0)
AC_SUBST([LTV_REVISION], 0)
AC_SUBST([LTV_AGE], 0)
+AC_DEFINE_UNQUOTED(GNULIB_LIBPOSIX,1,[we are libposix])
AC_PROG_CC
LIBPOSIX_EARLY
diff --git a/libposix/lib/mk-lpx-config-h.sh b/libposix/lib/mk-lpx-config-h.sh
index ad3805f..81c52e4 100755
--- a/libposix/lib/mk-lpx-config-h.sh
+++ b/libposix/lib/mk-lpx-config-h.sh
@@ -41,6 +41,7 @@ EOF
/^\/\*.*\*\/$/d
/^\/\*/,/\*\/$/d
/^$/d
+ /#define GNULIB_TEST/d
s/^\(# *define *\)\([A-Za-z]\)/\1LPX_\2/
/^#if/s/\(defined *\)\([A-Za-z]\)/\1LPX_\2/g
s/^\(# *ifn*def *\)\([A-Za-z]\)/\1LPX_\2/
diff --git a/libposix/mk-tarball b/libposix/mk-tarball
index 127e6a0..60b07dd 100755
--- a/libposix/mk-tarball
+++ b/libposix/mk-tarball
@@ -17,15 +17,17 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
case "$0" in
-*/* ) progdir=`echo "$0" | sed 's@/[^/]*$@@'`
- cd ${progdir}
- progdir=`pwd`
- prognam=`echo "$0" | sed 'address@hidden/@@'`
- ;;
+*/* )
+ progdir=`echo "$0" | sed 's@/[^/]*$@@'`
+ cd ${progdir}
+ progdir=`pwd`
+ prognam=`echo "$0" | sed 'address@hidden/@@'`
+ ;;
-* ) progdir=`pwd`
- prognam="$0"
- ;;
+* )
+ progdir=`pwd`
+ prognam="$0"
+ ;;
esac
# kill the patriarch process. If we are not the patriarch,
@@ -33,43 +35,49 @@ esac
#
func_die()
{
- echo "${prognam} failure: $*" >&2
- kill -${SIGTERM} ${progpid}
- exit 1
+ echo "${prognam} failure: $*" >&2
+ kill -${SIGTERM} ${progpid}
+ exit 1
}
func_init()
{
- progpid=$$
- glibdir=`cd .. >/dev/null ; pwd`
- SIGTERM=15
+ progpid=$$
+ glibdir=`cd .. >/dev/null ; pwd`
+ SIGTERM=15
- git --version >/dev/null 2>&1 \
- || func_die "git is not operational"
+ git --version >/dev/null 2>&1 \
+ || func_die "git is not operational"
- test -d _b && rm -rf _b
+ test -d _b && rm -rf _b
- case "$*" in
- *'--clean'* | *'--clob'* )
- git clean -f -x -d .
- ;;
- esac
+ case "$*" in
+ *'--clean'* | *'--clob'* )
+ git clean -f -x -d .
+ test $# -eq 1 && exit 0
+ ;;
+ esac
+
+ case "$-" in
+ *x* ) dashx=-x ;;
+ * ) dashx= ;;
+ esac
}
func_bootstrap()
{
- /bin/sh ./bootstrap \
- || func_die bootstrap failure
+ /bin/sh ${dashx} ./bootstrap \
+ || func_die bootstrap failure
}
func_mkdistro()
{
- mkdir _b || func_die mkdir _b
- cd _b
- ../configure || func_die configure
- make || func_die make
- make distcheck || func_die make distcheck
- mv libposix*.tar.gz .. || func_die cannot move tarball
+ mkdir _b || func_die mkdir _b
+ cd _b
+ ../configure || func_die configure
+ make || func_die make
+ make distcheck || func_die make distcheck
+ mv libposix*.tar.gz .. || func_die cannot move tarball
}
func_init ${1+"$@"}
@@ -77,3 +85,13 @@ func_bootstrap
func_mkdistro
:
+
+##
+## Local Variables:
+## mode: shell-script
+## indent-tabs-mode: nil
+## sh-indentation: 2
+## sh-basic-offset: 2
+## End:
+
+# end of mk-tarball
--
1.7.3.4
- rebasing topic/libposix,
Bruce Korb <=