On 10/4/2006 7:35 AM, Williams, Gerald S (Jerry) wrote:
Has anybody successfully built subversion 1.4 (or alternately,
is a release planned soon)? It didn't build OOTB for me, and
I'd rather not duplicate effort.

I successfully built it with the attached patch. I haven't actually used it yet, since some other tools I use don't yet support 1.4, but it passed all tests except the ruby tests. I did some investigation and it seemed like a problem with the test infrastructure. Since I don't use ruby bindings, I didn't spend a lot of time on it.

I did have trouble building with subversion installed. I had to uninstall it to get the build to work correctly.

Also, I did not regenerate the swig bindings, as was done for 1.3.2.

Anyway, I've attached the g-b-s script and patch I used. Maybe it will work for you.

--
David Rothenberger                spammer? -> [EMAIL PROTECTED]
GPG/PGP: 0x92D68FD8, DB7C 5146 1AB0 483A 9D27 DFBA FBB9 E328 92D6 8FD8

One possible reason that things aren't going according to plan
is that there never was a plan in the first place.
--- subversion-1.4.0-orig/CYGWIN-PATCHES/README 1969-12-31 16:00:00.000000000 
-0800
+++ subversion-1.4.0/CYGWIN-PATCHES/README      2006-09-12 11:05:09.000000000 
-0700
@@ -0,0 +1,54 @@
+Subversion 1.4.0
+------------------------------------------
+The goal of the Subversion project is to build a version control system
+that is a compelling replacement for CVS in the open source community. 
+
+There is very useful and comprehensive documentation in the book
+"Version Control with Subversion", available free online:
+
+              http://svnbook.red-bean.com/
+
+
+
+Runtime requirements:
+  cygwin
+  libapr0
+  libaprutil0
+  libdb4.2
+  expat
+  libneon24
+
+Build requirements:
+  (basic development packages)
+  python
+  autoconf
+  libtool
+  apr
+  apr-util
+  libdb4.2-devel
+  neon
+  libiconv
+  swig
+  apache2-devel
+  perl
+
+Canonical homepage:
+  http://subversion.tigris.org/
+
+Canonical download:
+  http://subversion.tigris.org/tarballs/subversion-1.4.0.tar.bz2
+
+------------------------------------
+
+Build instructions:
+  unpack subversion-1.4.0-1-src.tar.bz2
+    if you use setup to install this src package, it will be
+        unpacked under /usr/src automatically
+  cd /usr/src
+  ./subversion-1.4.0-1.sh all
+
+Or use './subversion-1.4.0-1.sh prep' to get a patched source directory
+
+-------------------------------------------
+
+Cygwin port maintained by: Max Bowsher <[EMAIL PROTECTED]>
--- subversion-1.4.0-orig/CYGWIN-PATCHES/gbs.munge      1969-12-31 
16:00:00.000000000 -0800
+++ subversion-1.4.0/CYGWIN-PATCHES/gbs.munge   2006-09-12 10:58:32.000000000 
-0700
@@ -0,0 +1,46 @@
+ConfigureArg --enable-shared
+ConfigureArg --disable-static
+ConfigureArg --with-apr=/usr/bin/apr-1-config
+ConfigureArg --with-apr-util=/usr/bin/apu-1-config
+ConfigureArg --with-neon=/usr
+ConfigureArg --disable-neon-version-check
+ConfigureArg --with-swig=/usr/bin/swig
+ConfigureArg --with-apxs=/usr/sbin/apxs2
+
+SubPackage subversion-devel-$VER-$REL.tar.bz2 usr/include 
usr/lib/libsvn_[a-rt-z]* usr/lib/libsvn_subr*
+SubPackage subversion-python-$VER-$REL.tar.bz2 usr/lib/python* 
usr/bin/cygsvn_swig_py* usr/lib/libsvn_swig_py*
+SubPackage subversion-perl-$VER-$REL.tar.bz2 usr/lib/perl5 
usr/bin/cygsvn_swig_perl* usr/lib/libsvn_swig_perl*
+SubPackage subversion-ruby-$VER-$REL.tar.bz2 usr/lib/ruby 
usr/bin/cygsvn_swig_ruby* usr/lib/libsvn_swig_ruby*
+SubPackage subversion-apache2-$VER-$REL.tar.bz2 usr/lib/apache2
+
+AutoreconfCmd ./autogen.sh
+AutoreconfCmd find . -name "autom4te.cache" | xargs rm -rf
+AutoreconfCmd sed -e 's/relink_command=\\"$relink_command\\""/"/' 
ac-helpers/ltmain.sh > gbs.$$.tmp && mv gbs.$$.tmp ac-helpers/ltmain.sh
+
+MakeTarget extraclean-swig-py EXTRA_CFLAGS=
+MakeTarget extraclean-swig-pl EXTRA_CFLAGS=
+MakeTarget extraclean-swig-rb EXTRA_CFLAGS=
+MakeTarget autogen-swig-py EXTRA_CFLAGS=
+MakeTarget autogen-swig-pl EXTRA_CFLAGS=
+MakeTarget autogen-swig-rb EXTRA_CFLAGS=
+MakeTarget EXTRA_CFLAGS=
+MakeTarget swig-py swig_pydir=/usr/lib/python2.4/site-packages/libsvn 
swig_pydir_extra=/usr/lib/python2.4/site-packages/svn EXTRA_CFLAGS=
+MakeTarget swig-pl EXTRA_CFLAGS=
+MakeTarget swig-rb LIBS=-lruby EXTRA_CFLAGS=
+
+MakeInstallTarget install
+MakeInstallTarget install-swig-py 
swig_pydir=/usr/lib/python2.4/site-packages/libsvn 
swig_pydir_extra=/usr/lib/python2.4/site-packages/svn
+MakeInstallTarget install-swig-pl
+MakeInstallTarget install-swig-rb
+
+# Kill perllocal.pod and containing dirs
+InstallExtraCmd rm ${instdir}/usr/lib/perl5/5.8/cygwin/perllocal.pod
+InstallExtraCmd rmdir ${instdir}/usr/lib/perl5/5.8/cygwin
+InstallExtraCmd rmdir ${instdir}/usr/lib/perl5/5.8
+
+UnpackExclude */apr
+UnpackExclude */apr-util
+UnpackExclude */neon
+
+DiffExclude configure
+DiffExclude build-outputs.mk
--- subversion-1.4.0-orig/CYGWIN-PATCHES/setup.hint     1969-12-31 
16:00:00.000000000 -0800
+++ subversion-1.4.0/CYGWIN-PATCHES/setup.hint  2006-09-12 10:58:32.000000000 
-0700
@@ -0,0 +1,5 @@
+sdesc: "A version control system"
+ldesc: "Subversion is a version control system that aims to be a compelling
+replacement for CVS in the open source community"
+category: Devel
+requires: cygwin libaprutil1 libapr1 libdb4.2 libneon25 expat libintl3
--- subversion-1.4.0-orig/CYGWIN-PATCHES/setup.hint-subversion-apache2  
1969-12-31 16:00:00.000000000 -0800
+++ subversion-1.4.0/CYGWIN-PATCHES/setup.hint-subversion-apache2       
2006-09-12 10:58:32.000000000 -0700
@@ -0,0 +1,6 @@
+sdesc: "A version control system (Apache 2 modules)"
+ldesc: "Subversion is a version control system that aims to be a compelling
+replacement for CVS in the open source community"
+category: Net Web Devel
+requires: subversion apache2
+external-source: subversion
--- subversion-1.4.0-orig/CYGWIN-PATCHES/setup.hint-subversion-devel    
1969-12-31 16:00:00.000000000 -0800
+++ subversion-1.4.0/CYGWIN-PATCHES/setup.hint-subversion-devel 2006-09-12 
10:58:32.000000000 -0700
@@ -0,0 +1,6 @@
+sdesc: "A version control system (C headers and import libraries)"
+ldesc: "Subversion is a version control system that aims to be a compelling
+replacement for CVS in the open source community"
+category: Devel
+requires: subversion
+external-source: subversion
--- subversion-1.4.0-orig/CYGWIN-PATCHES/setup.hint-subversion-perl     
1969-12-31 16:00:00.000000000 -0800
+++ subversion-1.4.0/CYGWIN-PATCHES/setup.hint-subversion-perl  2006-09-12 
10:58:32.000000000 -0700
@@ -0,0 +1,6 @@
+sdesc: "A version control system (perl bindings)"
+ldesc: "Subversion is a version control system that aims to be a compelling
+replacement for CVS in the open source community"
+category: Devel Libs
+requires: subversion perl
+external-source: subversion
--- subversion-1.4.0-orig/CYGWIN-PATCHES/setup.hint-subversion-python   
1969-12-31 16:00:00.000000000 -0800
+++ subversion-1.4.0/CYGWIN-PATCHES/setup.hint-subversion-python        
2006-09-12 10:58:32.000000000 -0700
@@ -0,0 +1,6 @@
+sdesc: "A version control system (python bindings)"
+ldesc: "Subversion is a version control system that aims to be a compelling
+replacement for CVS in the open source community"
+category: Devel Libs
+requires: subversion python
+external-source: subversion
--- subversion-1.4.0-orig/CYGWIN-PATCHES/setup.hint-subversion-ruby     
1969-12-31 16:00:00.000000000 -0800
+++ subversion-1.4.0/CYGWIN-PATCHES/setup.hint-subversion-ruby  2006-09-12 
10:58:32.000000000 -0700
@@ -0,0 +1,6 @@
+sdesc: "A version control system (ruby bindings)"
+ldesc: "Subversion is a version control system that aims to be a compelling
+replacement for CVS in the open source community"
+category: Devel Libs
+requires: subversion ruby
+external-source: subversion
--- subversion-1.4.0-orig/build.conf    2006-08-04 07:49:08.000000000 -0700
+++ subversion-1.4.0/build.conf 2006-09-12 10:58:32.000000000 -0700
@@ -292,6 +292,7 @@
 type = apache-mod
 path = subversion/mod_dav_svn
 libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr
+       mod_dav httpd aprutil apr
 nonlibs = apr aprutil
 install = apache-mod
 msvc-libs = mod_dav.lib libhttpd.lib
@@ -302,9 +303,20 @@
 path = subversion/mod_authz_svn
 nonlibs = mod_dav_svn apr aprutil
 libs = libsvn_subr libsvn_repos
+       mod_dav_svn httpd aprutil apr
 install = apache-mod
 msvc-libs = libhttpd.lib
 
+[mod_dav]
+type = lib
+external-lib = `$(APXS) -q libexecdir`/mod_dav.la
+libs = httpd aprutil apr
+
+[httpd]
+type = lib
+external-lib = `$(APXS) -q libdir`/libhttpd2core.la
+libs = aprutil apr
+
 [svnserve]
 description = Subversion Server
 type = exe
@@ -427,12 +439,16 @@
 type = swig_lib
 lang = perl
 path = subversion/bindings/swig/perl/libsvn_swig_perl
-libs = libsvn_subr libsvn_delta aprutil apriconv apr
+libs = libsvn_subr libsvn_delta aprutil apriconv apr perl
 install = swig-pl-lib
 # need special build rule to include
 compile-cmd = $(COMPILE_SWIG_PL)
 msvc-static = yes
 
+[perl]
+type = lib
+external-lib = -L/usr/lib/perl5/5.8/cygwin/CORE -lperl
+
 # SWIG utility library for Ruby modules
 [libsvn_swig_ruby]
 type = swig_lib
--- subversion-1.4.0-orig/configure.in  2006-07-13 06:48:48.000000000 -0700
+++ subversion-1.4.0/configure.in       2006-09-12 10:58:32.000000000 -0700
@@ -359,10 +359,10 @@
 INSTALL_STATIC_RULES="install-bin install-docs"
 INSTALL_RULES="install-fsmod-lib install-ramod-lib install-lib install-include 
install-static"
 INSTALL_RULES="$INSTALL_RULES $INSTALL_APACHE_RULE"
-BUILD_RULES="fsmod-lib ramod-lib lib bin test $BUILD_APACHE_RULE"
+BUILD_RULES="fsmod-lib ramod-lib lib bin $BUILD_APACHE_RULE"
 
 if test "$svn_lib_berkeley_db" = "yes"; then
-  BUILD_RULES="$BUILD_RULES bdb-lib bdb-test"
+  BUILD_RULES="$BUILD_RULES bdb-lib"
   INSTALL_RULES="`echo $INSTALL_RULES | sed 
's/install-fsmod-lib/install-fsmod-lib install-bdb-lib/'`"
   INSTALL_STATIC_RULES="$INSTALL_STATIC_RULES install-bdb-lib"
   BDB_TEST_DEPS="\$(BDB_TEST_DEPS)"
--- subversion-1.4.0-orig/subversion/svnadmin/main.c    2006-08-23 
06:37:25.000000000 -0700
+++ subversion-1.4.0/subversion/svnadmin/main.c 2006-09-12 11:03:12.000000000 
-0700
@@ -37,6 +37,10 @@
 
 #include "svn_private_config.h"
 
+#include <unistd.h>
+#include <io.h>
+#include <fcntl.h>
+
 
 /*** Code. ***/
 
@@ -630,6 +634,7 @@
 
   /* Run the dump to STDOUT.  Let the user redirect output into
      a file if they want.  :-)  */
+  setmode(STDOUT_FILENO, O_BINARY);
   SVN_ERR(create_stdio_stream(&stdout_stream, apr_file_open_stdout, pool));
 
   /* Progress feedback goes to STDERR, unless they asked to suppress it. */
@@ -686,6 +691,7 @@
   SVN_ERR(open_repos(&repos, opt_state->repository_path, pool));
   
   /* Read the stream from STDIN.  Users can redirect a file. */
+  setmode(STDIN_FILENO, O_BINARY);
   SVN_ERR(create_stdio_stream(&stdin_stream,
                               apr_file_open_stdin, pool));
   
#!/bin/sh
#
# Generic package build script
#
# $Id: generic-build-script,v 1.38 2005/10/14 14:04:35 igor Exp $
#
# Package maintainers: if the original source is not distributed as a
# (possibly compressed) tarball, set the value of ${src_orig_pkg_name},
# and redefine the unpack() helper function appropriately.
# Also, if the Makefile rule to run the test suite is not "check", change
# the definition of ${test_rule} below.

# find out where the build script is located
tdir=`echo "$0" | sed 's%[\\/][^\\/][^\\/]*$%%'`
test "x$tdir" = "x$0" && tdir=.
scriptdir=`cd $tdir; pwd`
# find src directory.
# If scriptdir ends in SPECS, then topdir is $scriptdir/..
# If scriptdir ends in CYGWIN-PATCHES, then topdir is $scriptdir/../..
# Otherwise, we assume that topdir = scriptdir
topdir1=`echo ${scriptdir} | sed 's%/SPECS$%%'`
topdir2=`echo ${scriptdir} | sed 's%/CYGWIN-PATCHES$%%'`
if [ "x$topdir1" != "x$scriptdir" ] ; then # SPECS
  topdir=`cd ${scriptdir}/..; pwd`
else
  if [ "x$topdir2" != "x$scriptdir" ] ; then # CYGWIN-PATCHES
    topdir=`cd ${scriptdir}/../..; pwd`
  else
    topdir=`cd ${scriptdir}; pwd`
  fi
fi

tscriptname=`basename $0 .sh`
export PKG=`echo $tscriptname | sed -e 's/\-[^\-]*\-[^\-]*$//'`
export VER=`echo $tscriptname | sed -e "s/${PKG}\-//" -e 's/\-[^\-]*$//'`
export REL=`echo $tscriptname | sed -e "s/${PKG}\-${VER}\-//"`
# BASEPKG refers to the upstream base package
# SHORTPKG refers to the Cygwin package
# Normally, these are identical, but if the Cygwin package name is different
# from the upstream package name, you will want to redefine BASEPKG.
# Example: For Apache 2, BASEPKG=httpd-2.x.xx but SHORTPKG=apache2-2.x.xx
export BASEPKG=${PKG}-${VER}
export SHORTPKG=${PKG}-${VER}
export FULLPKG=${SHORTPKG}-${REL}

# determine correct decompression option and tarball filename
export src_orig_pkg_name=
if [ -e "${src_orig_pkg_name}" ] ; then
  export opt_decomp=? # Make sure tar punts if unpack() is not redefined
elif [ -e ${BASEPKG}.tar.bz2 ] ; then
  export opt_decomp=j
  export src_orig_pkg_name=${BASEPKG}.tar.bz2
elif [ -e ${BASEPKG}.tar.gz ] ; then
  export opt_decomp=z
  export src_orig_pkg_name=${BASEPKG}.tar.gz
elif [ -e ${BASEPKG}.tgz ] ; then
  export opt_decomp=z
  export src_orig_pkg_name=${BASEPKG}.tgz
elif [ -e ${BASEPKG}.tar ] ; then
  export opt_decomp=
  export src_orig_pkg_name=${BASEPKG}.tar
else
  echo "Cannot find PKG:${PKG} VER:${VER} REL:${REL}.  Rename $0 to"
  echo "something more appropriate, and try again."
  exit 1
fi

export src_orig_pkg=${topdir}/${src_orig_pkg_name}

# determine correct names for generated files
export src_pkg_name=${FULLPKG}-src.tar.bz2
export src_patch_name=${FULLPKG}.patch
export bin_pkg_name=${FULLPKG}.tar.bz2

export src_pkg=${topdir}/${src_pkg_name}
export src_patch=${topdir}/${src_patch_name}
export bin_pkg=${topdir}/${bin_pkg_name}
export srcdir=${topdir}/${BASEPKG}
export objdir=${srcdir}/.build
export instdir=${srcdir}/.inst
export srcinstdir=${srcdir}/.sinst
export checkfile=${topdir}/${FULLPKG}.check

prefix=/usr
sysconfdir=/etc
localstatedir=/var
if [ -z "$MY_CFLAGS" ]; then
  MY_CFLAGS="-O2"
fi
if [ -z "$MY_LDFLAGS" ]; then
  MY_LDFLAGS=
fi

export install_docs="\
        ABOUT-NLS \
        ANNOUNCE \
        AUTHORS \
        BUG-REPORTS \
        CHANGES \
        CONTRIBUTORS \
        COPYING \
        COPYRIGHT \
        CREDITS \
        CHANGELOG \
        ChangeLog* \
        FAQ \
        HOW-TO-CONTRIBUTE \
        INSTALL \
        KNOWNBUG \
        LEGAL \
        LICENSE \
        NEWS \
        NOTES \
        PROGLIST \
        README \
        RELEASE_NOTES \
        THANKS \
        TODO \
        USAGE \
"
export install_docs="`for i in ${install_docs}; do echo $i; done | sort -u`"
export test_rule=check
if [ -z "$SIG" ]; then
  export SIG=0  # set to 1 to turn on signing by default
fi
# Sort in POSIX order.
export LC_ALL=C

# helper functions

# Provide help.
help() {
cat <<EOF
This is the cygwin packaging script for ${FULLPKG}.
Usage: $0 <action>
Actions are:
    help, --help        Print this message
    version, --version  Print the version message
    prep                Unpack and patch into ${srcdir}
    mkdirs              Make hidden directories needed during build
    conf, configure     Configure the package (./configure)
    reconf              Rerun configure
    build, make         Build the package (make)
    check, test         Run the testsuite (make ${test_rule})
    clean               Remove built files (make clean)
    install             Install package to staging area (make install)
    list                List package contents
    depend              List package dependencies
    strip               Strip package executables
    pkg, package        Prepare the binary package ${bin_pkg_name}
    mkpatch             Prepare the patch file ${src_patch_name}
    acceptpatch         Apply a patch to the source
    spkg, src-package   Prepare the source package ${src_pkg_name}
    finish              Remove source directory ${srcdir}
    checksig            Validate GPG signatures (requires gpg)
    first               Full run for spkg (mkdirs, spkg, finish)
    almostall           Full run for bin pkg, except for finish
    all                 Full run for bin pkg
EOF
}

# Provide version of generic-build-script modified to make this
version() {
    vers=`echo '$Revision: 1.38 $' | sed -e 's/Revision: //' -e 's/ *\\$//g'`
    echo "$0 based on generic-build-script $vers"
}

# unpacks the original package source archive into ./${BASEPKG}/
# change this if the original package was not tarred
# or if it doesn't unpack to a correct directory
unpack() {
  tar --exclude='*/apr' --exclude='*/apr-util' --exclude='*/neon' 
-xv${opt_decomp}f "$1"
}

mkdirs() {
  (cd ${topdir} && \
  rm -fr ${objdir} ${instdir} ${srcinstdir} && \
  mkdir -p ${objdir} && \
  mkdir -p ${instdir} && \
  mkdir -p ${srcinstdir} )
}
prep() {
  (cd ${topdir} && \
  unpack ${src_orig_pkg} && \
  cd ${topdir} && \
  if [ -f ${src_patch} ] ; then \
    patch -Z -p0 < ${src_patch} ;\
  fi && \
  (cd ${BASEPKG} && \
  ./autogen.sh && \
  find . -name "autom4te.cache" | xargs rm -rf && \
  sed -e 's/relink_command=\\"$relink_command\\""/"/' build/ltmain.sh > 
gbs.$$.tmp && mv gbs.$$.tmp build/ltmain.sh ) && \
  mkdirs )
}
conf() {
  (cd ${objdir} && \
  CFLAGS="${MY_CFLAGS}" LDFLAGS="${MY_LDFLAGS}" \
  ${srcdir}/configure \
  --srcdir=${srcdir} --prefix="${prefix}" \
  --exec-prefix='${prefix}' --sysconfdir="${sysconfdir}" \
  --libdir='${prefix}/lib' --includedir='${prefix}/include' \
  --mandir='${prefix}/share/man' --infodir='${prefix}/share/info' \
  --libexecdir='${sbindir}' --localstatedir="${localstatedir}" \
  --datadir='${prefix}/share' \
  --enable-shared --disable-static --with-apr=/usr/bin/apr-1-config 
--with-apr-util=/usr/bin/apu-1-config --with-neon=/usr 
--disable-neon-version-check --with-swig=/usr/bin/swig 
--with-apxs=/usr/sbin/apxs2 )
}
reconf() {
  (cd ${topdir} && \
  rm -fr ${objdir} && \
  mkdir -p ${objdir} && \
  conf )
}
build() {
  (cd ${objdir} && \
  make EXTRA_CFLAGS= && \
  make swig-py swig_pydir=/usr/lib/python2.4/site-packages/libsvn 
swig_pydir_extra=/usr/lib/python2.4/site-packages/svn EXTRA_CFLAGS= && \
  make swig-pl EXTRA_CFLAGS= && \
  make swig-rb LIBS=-lruby EXTRA_CFLAGS= )
}
check() {
  (cd ${objdir} && \
  make ${test_rule} | tee ${checkfile} 2>&1 )
}
clean() {
  (cd ${objdir} && \
  make clean )
}
install() {
  (cd ${objdir} && \
  rm -fr ${instdir}/* && \
  sed -i -e 's/PATH=:\/usr\/lib:\/usr\/bin:/PATH=:/' 
subversion/svnversion/svnversion &&
  make install DESTDIR=${instdir} && \
  make install-swig-py swig_pydir=/usr/lib/python2.4/site-packages/libsvn 
swig_pydir_extra=/usr/lib/python2.4/site-packages/svn DESTDIR=${instdir} && \
  make install-swig-pl DESTDIR=${instdir} && \
  make install-swig-rb DESTDIR=${instdir} && \
  rm ${instdir}/usr/lib/perl5/5.8/cygwin/perllocal.pod && \
  rmdir ${instdir}/usr/lib/perl5/5.8/cygwin && \
  rmdir ${instdir}/usr/lib/perl5/5.8 && \
  for f in ${prefix}/share/info/dir ${prefix}/info/dir ; do \
    if [ -f ${instdir}${f} ] ; then \
      rm -f ${instdir}${f} ; \
    fi ;\
  done &&\
  for d in ${prefix}/share/doc/${SHORTPKG} ${prefix}/share/doc/Cygwin ; do \
    if [ ! -d ${instdir}${d} ] ; then \
      mkdir -p ${instdir}${d} ;\
    fi ;\
  done &&\
  if [ -d ${instdir}${prefix}/share/info ] ; then \
    find ${instdir}${prefix}/share/info -name "*.info" | xargs -r gzip -q ; \
  fi && \
  if [ -d ${instdir}${prefix}/share/man ] ; then \
    find ${instdir}${prefix}/share/man -name "*.1" -o -name "*.3" -o \
      -name "*.3x" -o -name "*.3pm" -o -name "*.5" -o -name "*.6" -o \
      -name "*.7" -o -name "*.8" | xargs -r gzip -q ; \
  fi && \
  templist="" && \
  for fp in ${install_docs} ; do \
    case "$fp" in \
      */) templist="$templist `cd ${srcdir} && find $fp -type f`" ;;
      *)  for f in ${srcdir}/$fp ; do \
            if [ -f $f ] ; then \
              templist="$templist $f"; \
            fi ; \
          done ;; \
    esac ; \
  done && \
  if [ ! "x$templist" = "x" ]; then \
    /usr/bin/install -m 644 $templist \
         ${instdir}${prefix}/share/doc/${SHORTPKG} ; \
  fi && \
  if [ -f ${srcdir}/CYGWIN-PATCHES/${PKG}.README ]; then \
    /usr/bin/install -m 644 ${srcdir}/CYGWIN-PATCHES/${PKG}.README \
      ${instdir}${prefix}/share/doc/Cygwin/${SHORTPKG}.README ; \
  elif [ -f ${srcdir}/CYGWIN-PATCHES/README ] ; then \
    /usr/bin/install -m 644 ${srcdir}/CYGWIN-PATCHES/README \
      ${instdir}${prefix}/share/doc/Cygwin/${SHORTPKG}.README ; \
  fi && \
  if [ -f ${srcdir}/CYGWIN-PATCHES/${PKG}.sh ] ; then \
    if [ ! -d ${instdir}${sysconfdir}/postinstall ]; then \
      mkdir -p ${instdir}${sysconfdir}/postinstall ; \
    fi && \
    /usr/bin/install -m 755 ${srcdir}/CYGWIN-PATCHES/${PKG}.sh \
      ${instdir}${sysconfdir}/postinstall/${PKG}.sh ; \
  elif [ -f ${srcdir}/CYGWIN-PATCHES/postinstall.sh ] ; then \
    if [ ! -d ${instdir}${sysconfdir}/postinstall ]; then \
      mkdir -p ${instdir}${sysconfdir}/postinstall ; \
    fi && \
    /usr/bin/install -m 755 ${srcdir}/CYGWIN-PATCHES/postinstall.sh \
      ${instdir}${sysconfdir}/postinstall/${PKG}.sh ; \
  fi && \
  if [ -f ${srcdir}/CYGWIN-PATCHES/preremove.sh ] ; then \
    if [ ! -d ${instdir}${sysconfdir}/preremove ]; then \
      mkdir -p ${instdir}${sysconfdir}/preremove ; \
    fi && \
    /usr/bin/install -m 755 ${srcdir}/CYGWIN-PATCHES/preremove.sh \
      ${instdir}${sysconfdir}/preremove/${PKG}.sh ; \
  fi &&
  if [ -f ${srcdir}/CYGWIN-PATCHES/manifest.lst ] ; then
    if [ ! -d ${instdir}${sysconfdir}/preremove ]; then
      mkdir -p ${instdir}${sysconfdir}/preremove ;
    fi &&
    /usr/bin/install -m 755 ${srcdir}/CYGWIN-PATCHES/manifest.lst \
      ${instdir}${sysconfdir}/preremove/${PKG}-manifest.lst ;
  fi )
}
strip() {
  (cd ${instdir} && \
  find . -name "*.dll" -or -name "*.exe" | \
    while read f; do \
      touch strip.tmp && \
      chmod --reference="$f" strip.tmp && \
      chmod 777 "$f" && \
      /usr/bin/strip "$f" 2>&1 && \
      chmod --reference=strip.tmp "$f" && \
      rm strip.tmp; \
    done; \
  true )
}
list() {
  (cd ${instdir} && \
  find . -name "*" ! -type d | sed 's%^\.%  %' | sort ; \
  true )
}
depend() {
  (cd ${instdir} && \
  find ${instdir} -name "*.exe" -o -name "*.dll" | xargs -r cygcheck | \
  sed -ne '/^  [^ ]/ s,\\,/,gp' | sort -bu | \
  xargs -r -n1 cygpath -u | xargs -r cygcheck -f | sed 's%^%  %' | sort -u ; \
  true )
}
pkg() {
  (cd ${instdir} && \
  tar -cjvf "${topdir}/subversion-apache2-$VER-$REL.tar.bz2" usr/lib/apache2 && 
\
  tar -cjvf "${topdir}/subversion-perl-$VER-$REL.tar.bz2" usr/lib/perl5 
usr/bin/cygsvn_swig_perl* usr/lib/libsvn_swig_perl* && \
  tar -cjvf "${topdir}/subversion-python-$VER-$REL.tar.bz2" usr/lib/python* 
usr/bin/cygsvn_swig_py* usr/lib/libsvn_swig_py* && \
  tar -cjvf "${topdir}/subversion-devel-$VER-$REL.tar.bz2" usr/include 
usr/lib/libsvn_[a-rt-z]* usr/lib/libsvn_subr* && \
  tar -cjvf "${topdir}/subversion-ruby-$VER-$REL.tar.bz2" usr/lib/ruby 
usr/bin/cygsvn_swig_ruby* usr/lib/libsvn_swig_ruby* && \
  tar --exclude='usr/lib/apache2' --exclude='usr/lib/perl5' 
--exclude='usr/bin/cygsvn_swig_perl*' --exclude='usr/lib/libsvn_swig_perl*' 
--exclude='usr/lib/python*' --exclude='usr/bin/cygsvn_swig_py*' 
--exclude='usr/lib/libsvn_swig_py*' --exclude='usr/include' 
--exclude='usr/lib/libsvn_[a-rt-z]*' --exclude='usr/lib/libsvn_subr*' 
--exclude='usr/lib/ruby' --exclude='usr/bin/cygsvn_swig_ruby*' 
--exclude='usr/lib/libsvn_swig_ruby*' -cjvf ${bin_pkg} * )
}
mkpatch() {
  (cd ${srcdir} && \
  find . -name "autom4te.cache" | xargs -r rm -rf ; \
  unpack ${src_orig_pkg} && \
  mv ${BASEPKG} ../${BASEPKG}-orig && \
  (cd ../${BASEPKG}-orig && \
  ./autogen.sh && \
  find . -name "autom4te.cache" | xargs rm -rf && \
  sed -e 's/relink_command=\\"$relink_command\\""/"/' build/ltmain.sh > 
gbs.$$.tmp && mv gbs.$$.tmp build/ltmain.sh ) && \
  cd ${topdir} && \
  diff -urN -x '.build' -x '.inst' -x '.sinst' \
    -x '*.orig' -x '*.rej' -x 'autom4te.cache' -x 'configure' -x 
'build-outputs.mk' \
    ${BASEPKG}-orig ${BASEPKG} > \
    ${srcinstdir}/${src_patch_name} ; \
  rm -rf ${BASEPKG}-orig )
}
# Note: maintainer-only functionality
acceptpatch() {
  cp --backup=numbered ${srcinstdir}/${src_patch_name} ${topdir}
}
spkg() {
  (mkpatch && \
  if [ "${SIG}" -eq 1 ] ; then \
    name=${srcinstdir}/${src_patch_name} text="PATCH" sigfile ; \
  fi && \
  cp ${src_orig_pkg} ${srcinstdir}/${src_orig_pkg_name} && \
  if [ -e ${src_orig_pkg}.sig ] ; then \
    cp ${src_orig_pkg}.sig ${srcinstdir}/ ; \
  fi && \
  cp $0 ${srcinstdir}/`basename $0` && \
  name=$0 text="SCRIPT" sigfile && \
  if [ "${SIG}" -eq 1 ] ; then \
    cp $0.sig ${srcinstdir}/ ; \
  fi && \
  cd ${srcinstdir} && \
  tar cvjf ${src_pkg} * )
}
finish() {
  rm -rf ${srcdir}
}
sigfile() {
  if [ \( "${SIG}" -eq 1 \) -a \( -e $name \) -a \( \( ! -e $name.sig \) -o \( 
$name -nt $name.sig \) \) ]; then \
    if [ -x /usr/bin/gpg ]; then \
      echo "$text signature need to be updated"; \
      rm -f $name.sig; \
      /usr/bin/gpg --detach-sign $name; \
    else \
      echo "You need the gnupg package installed in order to make signatures."; 
\
    fi; \
  fi
}
checksig() {
  if [ -x /usr/bin/gpg ]; then \
    if [ -e ${src_orig_pkg}.sig ]; then \
      echo "ORIGINAL PACKAGE signature follows:"; \
      /usr/bin/gpg --verify ${src_orig_pkg}.sig ${src_orig_pkg}; \
    else \
      echo "ORIGINAL PACKAGE signature missing."; \
    fi; \
    if [ -e $0.sig ]; then \
      echo "SCRIPT signature follows:"; \
      /usr/bin/gpg --verify $0.sig $0; \
    else \
      echo "SCRIPT signature missing."; \
    fi; \
    if [ -e ${src_patch}.sig ]; then \
      echo "PATCH signature follows:"; \
      /usr/bin/gpg --verify ${src_patch}.sig ${src_patch}; \
    else \
      echo "PATCH signature missing."; \
    fi; \
  else
    echo "You need the gnupg package installed in order to check signatures." ; 
\
  fi
}
while test -n "$1" ; do
  case $1 in
    help|--help)        help ; STATUS=$? ;;
    version|--version)  version ; STATUS=$? ;;
    prep)               prep ; STATUS=$? ;;
    mkdirs)             mkdirs ; STATUS=$? ;;
    conf)               conf ; STATUS=$? ;;
    configure)          conf ; STATUS=$? ;;
    reconf)             reconf ; STATUS=$? ;;
    build)              build ; STATUS=$? ;;
    make)               build ; STATUS=$? ;;
    check)              check ; STATUS=$? ;;
    test)               check ; STATUS=$? ;;
    clean)              clean ; STATUS=$? ;;
    install)            install ; STATUS=$? ;;
    list)               list ; STATUS=$? ;;
    depend)             depend ; STATUS=$? ;;
    strip)              strip ; STATUS=$? ;;
    package)            pkg ; STATUS=$? ;;
    pkg)                pkg ; STATUS=$? ;;
    mkpatch)            mkpatch ; STATUS=$? ;;
    acceptpatch)        acceptpatch ; STATUS=$? ;;
    src-package)        spkg ; STATUS=$? ;;
    spkg)               spkg ; STATUS=$? ;;
    finish)             finish ; STATUS=$? ;;
    checksig)           checksig ; STATUS=$? ;;
    first)              mkdirs && spkg && finish ; STATUS=$? ;;
    almostall)          checksig && prep && conf && build && install && \
                        strip && pkg && spkg ; STATUS=$? ;;
    all)                checksig && prep && conf && build && install && \
                        strip && pkg && spkg && finish ; STATUS=$? ;;
    *) echo "Error: bad arguments" ; exit 1 ;;
  esac
  ( exit ${STATUS} ) || exit ${STATUS}
  shift
done

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to