Browse Source

Include gnulib and paxutils as submodules.

* .gitmodules: New file.
* README-alpha: Update.
* README-hacking: Update.
* bootstrap: Install slightly modified version from the gnulib repo.
* bootstrap.conf: Add paxutils-related stuff.
* .gitignore: Update.
* doc/.gitignore: Update.
* po/.gitignore: Update.
* gnu/Makefile.am
Sergey Poznyakoff 9 years ago
parent
commit
6cb94e37a9
11 changed files with 543 additions and 416 deletions
  1. 1 6
      .gitignore
  2. 6 0
      .gitmodules
  3. 9 36
      README-alpha
  4. 4 14
      README-hacking
  5. 461 352
      bootstrap
  6. 57 4
      bootstrap.conf
  7. 1 1
      doc/.gitignore
  8. 0 3
      gnu/Makefile.am
  9. 1 0
      gnulib
  10. 1 0
      paxutils
  11. 2 0
      po/.gitignore

+ 1 - 6
.gitignore

@@ -23,13 +23,8 @@ config.h.in
 config.log
 config.status
 configure
-gnu/*.h
-gnu/*/
-gnu/.gitignore
-gnu/charset.alias
-gnulib
+gnu
 libtool
 m4
-paxutils
 rmt
 stamp-h1

+ 6 - 0
.gitmodules

@@ -0,0 +1,6 @@
+[submodule "gnulib"]
+	path = gnulib
+	url = git://git.sv.gnu.org/gnulib.git
+[submodule "paxutils"]
+	path = paxutils
+	url = git://git.sv.gnu.org/paxutils.git

+ 9 - 36
README-alpha

@@ -23,46 +23,19 @@ suggest using test version 1.3.5 (or later, if one becomes available).
 Valgrind <http://valgrind.org/> is also highly recommended, if
 Valgrind supports your architecture.
 
-Before building the package, run "bootstrap".  It obtains various
-additional files from the CVS repository and the Translation Project
-site and prepares the source directory for building.
+Before building the package, run "bootstrap".  It will obtain gnulib
+and paxutils files from their Git repositories on Savannah.  Then, it will
+fetch the po files from tar page at Translation Project, and, finally, it
+will start autoconfiguration process.  Simply running bootstrap without
+arguments should do in most cases.
 
-When run without arguments, bootstrap will try to obtain gnulib and
-paxutils files from their corresponding CVS repositories on Savannah
-using anonymous SSH access. Then, it will fetch the po files from tar
-page at Translation Project, and, finally, it will start autoconfiguration
-process. Simply running it without arguments should do in most cases.
-Several options allow to control the behavior of bootstrap:
-
- --gnulib-srcdir=DIRNAME      Specify the local directory where gnulib
-                              sources reside. Use this if you already
-                              have gnulib sources on your machine, and
-                              do not want to waste your bandwidth dowloading
-                              them again.
-
- --paxutils-srcdir=DIRNAME    Specify the local directory where paxutils
-                              sources reside. Use this if you already
-                              have paxutils sources on your machine, and
-                              do not want to waste your bandwidth dowloading
-                              them again.
-
- --cvs-auth=METHOD            Set the CVS access method used for downloading
-                              gnulib files. METHOD is one of the keywords
-                              accepted by cvs -d option (see info cvs
-                              repository).
-
- --cvs-user=USERNAME          Set the CVS username to be used when accessing
-                              the gnulib repository.
-
- --no-po                      Do not download po files.
-
-Notice also that when using CVS authentication method "ext", bootstrap
-will set the variable CVS_RSH to "ssh", unless it is already set to
-some other value.
+Bootstrap reads its configuration from file bootstrap.conf located on the
+top of tar source tree.  Several options are provided that modify its
+behavior.  Run 'bootstrap --help' for a list.
 
 
 
-Copyright 2001, 2003-2005, 2007, 2013-2014 Free Software Foundation,
+Copyright 2001, 2003-2005, 2007, 2013-2015 Free Software Foundation,
 Inc.
 
 This file is part of GNU tar.

+ 4 - 14
README-hacking

@@ -12,7 +12,6 @@ version.
 - Autoconf <http://www.gnu.org/software/autoconf/>
 - M4 <http://www.gnu.org/software/m4/>
 - Texinfo <http://www.gnu.org/software/texinfo>
-- Gnulib <http://www.gnu.org/software/gnulib>
 - Git <http://git.or.cz>
 
 * Bootstrapping
@@ -33,23 +32,14 @@ Once done, proceed as described in the file README (section
 INSTALLATION).
 
 Normally you will have to run bootstrap only once. However, if you
-intend to hack on GNU tar, you might need to run it again later. In
-this case, you will probably want to save some time and bandwidth by
-avoiding downloading the same files again. If so, create in GNU tar
-root directory the file named '.bootstrap' with the following
-contents:
-
-   --gnulib-srcdir=$HOME/gnulib
-
-Replace '$HOME/gnulib' with the actual directory where the Gnulib
-sources reside.
-
-For more information about 'bootstrap', run 'bootstrap --help'.
+intend to hack on GNU tar, you might need to run it again later.
+There are lots of options that you may find useful in this case.
+See 'bootstrap --help' for a detailed list.
 
 
 * Copyright information
 
-Copyright 2007-2009, 2013-2014 Free Software Foundation, Inc.
+Copyright 2007-2009, 2013-2015 Free Software Foundation, Inc.
 
 This file is part of GNU tar.
 

File diff suppressed because it is too large
+ 461 - 352
bootstrap


+ 57 - 4
bootstrap.conf

@@ -26,10 +26,6 @@ avoided_gnulib_modules='
 	--avoid=lock
 '
 
-# gnulib modules used by this package.
-gnulib_modules="$avoided_gnulib_modules
-`grep '^[^#]' gnulib.modules`
-"
 
 # Additional xgettext options to use.  Use "\\\newline" to break lines.
 XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
@@ -71,3 +67,60 @@ test -f ChangeLog || cat > ChangeLog <<EOT
 This file is a placeholder. It will be replaced with the actual ChangeLog
 by make dist.  Run make ChangeLog if you wish to create it earlier.
 EOT
+
+git submodule init
+git submodule update
+PAXUTILS=paxutils
+
+# gnulib modules used by this package.
+gnulib_modules="$avoided_gnulib_modules
+`grep -h '^[^#]' gnulib.modules $PAXUTILS/gnulib.modules`
+"
+
+# copy_files srcdir dstdir
+copy_files() {
+  for file in `cat $1/DISTFILES`
+  do
+    case $file in
+    "#*")  continue;;
+    esac
+    dst=`echo $file | sed 's^.*/^^'`
+    if [ $# -eq 3 ]; then
+      case $dst in
+      ${3}*) ;;
+      *) dst=${3}$dst;;
+      esac
+    fi
+    if [ "$2" = '.' ]; then
+      ln -sf $1/$file $2
+    else
+      symlink_to_dir "$1" "$file" "$2/$dst" || exit
+    fi
+# FIXME    ignorefile $2 $dst
+  done
+}
+
+# Import from paxutils
+copy_files ${PAXUTILS} .
+copy_files ${PAXUTILS}/am m4
+
+echo "$0: Creating m4/paxutils.m4"
+(echo "# This file is generated automatically. Please, do not edit."
+ echo "#"
+ echo "AC_DEFUN([${package}_PAXUTILS],["
+ cat ${PAXUTILS}/am/DISTFILES | sed '/^#/d;s/\(.*\)\.m4/pu_\1/' | tr a-z A-Z
+ echo "])") > ./m4/paxutils.m4
+#FIXME ignorefile m4 paxutils.m4
+
+if [ -d rmt ]; then
+   :
+else
+   mkdir rmt
+fi
+
+for dir in doc rmt lib tests
+do
+	copy_files ${PAXUTILS}/$dir $dir
+done
+
+copy_files ${PAXUTILS}/paxlib lib pax

+ 1 - 1
doc/.gitignore

@@ -1,7 +1,6 @@
 genfile.texi
 header.texi
 manual
-parse-datetime.texi
 stamp-vti
 tar.aux
 tar.cp
@@ -24,3 +23,4 @@ tar.toc
 tar.tp
 tar.vr
 version.texi
+/parse-datetime.texi

+ 0 - 3
gnu/Makefile.am

@@ -1,3 +0,0 @@
-# Make the subset of Gnulib that GNU tar needs.
-include gnulib.mk
-AM_CFLAGS += $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS)

+ 1 - 0
gnulib

@@ -0,0 +1 @@
+Subproject commit 1029a8112290f6eee9d7878a391c49db42c999bd

+ 1 - 0
paxutils

@@ -0,0 +1 @@
+Subproject commit 45af1632aa64a5ba1b108e248920e67c180e8485

+ 2 - 0
po/.gitignore

@@ -1,3 +1,5 @@
+/Makevars.template~
+/Makefile.in.in~
 *.gmo
 *.mo
 *.po

Some files were not shown because too many files changed in this diff