[csw-devel] SF.net SVN: gar:[8037] csw/mgar/pkg/subversion/trunk
skayser at users.sourceforge.net
skayser at users.sourceforge.net
Sun Jan 17 02:59:18 CET 2010
Revision: 8037
http://gar.svn.sourceforge.net/gar/?rev=8037&view=rev
Author: skayser
Date: 2010-01-17 01:59:18 +0000 (Sun, 17 Jan 2010)
Log Message:
-----------
subversion: tidied up and commented Makefile, removed obsolete deps, also fixes #4096
Modified Paths:
--------------
csw/mgar/pkg/subversion/trunk/Makefile
Added Paths:
-----------
csw/mgar/pkg/subversion/trunk/files/changelog.CSW
Modified: csw/mgar/pkg/subversion/trunk/Makefile
===================================================================
--- csw/mgar/pkg/subversion/trunk/Makefile 2010-01-16 22:15:24 UTC (rev 8036)
+++ csw/mgar/pkg/subversion/trunk/Makefile 2010-01-17 01:59:18 UTC (rev 8037)
@@ -1,6 +1,14 @@
+# TODO (release-critical prefixed with !, non release-critical with *)
+#
+# * How about shipping a changelog.CSW (example in files/)?
+# * The language binding packages all have a whole stack of dependencies
+# (mostly the same libs that the main svn package has). Are those really
+# required? The shared objects generated by SWIG have them in their NEEDED
+# list, but they also link against the main libsvn_client-1.so which in
+# turn pulls in the rest. Can this be tweaked?
+#
GARNAME = subversion
-DISTVERSION = 1.6.6
-GARVERSION = $(subst -,,$(DISTVERSION))
+GARVERSION = 1.6.6
CATEGORIES = utils
DESCRIPTION = Version control rethought
@@ -9,66 +17,94 @@
that is a compelling replacement for CVS in the open source community.
endef
-# Vendor site
-SPKG_SOURCEURL = http://subversion.tigris.org/
-
-# Release site
+VENDOR_URL = http://subversion.tigris.org/
MASTER_SITES = http://subversion.tigris.org/downloads/
-
-DISTFILES = $(GARNAME)-$(DISTVERSION).tar.bz2
-
-# We define upstream file regex so we can be notifed of
-# new upstream software release
+DISTFILES = $(GARNAME)-$(GARVERSION).tar.bz2
UFILES_REGEX = $(GARNAME)-(\d+(?:\.\d+)*).tar.bz2
-EXTRA_LIB = $(SVNLIB) $(prefix)/apache2/lib
-EXTRA_INC = $(prefix)/apache2/include
-
-WORKSRC = $(WORKDIR)/$(GARNAME)-$(DISTVERSION)
-
PACKAGES = CSWsvn CSWsvn-devel CSWap2svn CSWpmsvn
PACKAGES += CSWpythonsvn CSWrbsvn CSWjavasvn
-ARCHALL_CSWsvn-devel = 1
SPKG_DESC_CSWsvn = Version control rethought
CATALOGNAME_CSWsvn = subversion
-REQUIRED_PKGS_CSWsvn = CSWapache2rt CSWbdb47 CSWexpat CSWggettextrt
-REQUIRED_PKGS_CSWsvn += CSWiconv CSWkrb5lib CSWlibnet CSWneon CSWoldaprt
-REQUIRED_PKGS_CSWsvn += CSWosslrt CSWsasl CSWzlib CSWsqlite3rt
+REQUIRED_PKGS_CSWsvn = CSWapache2rt
+REQUIRED_PKGS_CSWsvn += CSWbdb47
+REQUIRED_PKGS_CSWsvn += CSWexpat
+REQUIRED_PKGS_CSWsvn += CSWggettextrt
+REQUIRED_PKGS_CSWsvn += CSWiconv
+REQUIRED_PKGS_CSWsvn += CSWneon
+REQUIRED_PKGS_CSWsvn += CSWoldaprt
+REQUIRED_PKGS_CSWsvn += CSWsasl
+REQUIRED_PKGS_CSWsvn += CSWsqlite3rt
+REQUIRED_PKGS_CSWsvn += CSWzlib
+# There are additional requirements for $(docdir)/subversion/tools/ which
+# also contains the stack of hook-scripts. Should we add those?
+#REQUIRED_PKGS_CSWsvn += CSWperl
+#REQUIRED_PKGS_CSWsvn += CSWpython
+#REQUIRED_PKGS_CSWsvn += CSWruby
+
SPKG_DESC_CSWsvn-devel = Subversion Development Support
CATALOGNAME_CSWsvn-devel = subversion_devel
REQUIRED_PKGS_CSWsvn-devel = CSWsvn
+ARCHALL_CSWsvn-devel = 1
+PKGFILES_CSWsvn-devel = $(PKGFILES_DEVEL)
+
SPKG_DESC_CSWap2svn = Subversion Modules for Apache 2.2
CATALOGNAME_CSWap2svn = ap2_subversion
-REQUIRED_PKGS_CSWap2svn = CSWsvn CSWggettextrt CSWiconv
+REQUIRED_PKGS_CSWap2svn = CSWsvn
+REQUIRED_PKGS_CSWap2svn += CSWggettextrt
+REQUIRED_PKGS_CSWap2svn += CSWiconv
+PKGFILES_CSWap2svn = $(prefix)/apache2.*
+
SPKG_DESC_CSWjavasvn = Subversion Java Language Binding
CATALOGNAME_CSWjavasvn = javasvn
-REQUIRED_PKGS_CSWjavasvn = CSWsvn CSWapache2rt CSWneon CSWoldaprt
-REQUIRED_PKGS_CSWjavasvn += CSWbdb47 CSWexpat CSWggettextrt CSWiconv
+REQUIRED_PKGS_CSWjavasvn = CSWsvn
+REQUIRED_PKGS_CSWjavasvn += CSWapache2rt
+REQUIRED_PKGS_CSWjavasvn += CSWexpat
+REQUIRED_PKGS_CSWjavasvn += CSWggettextrt
+REQUIRED_PKGS_CSWjavasvn += CSWiconv
+REQUIRED_PKGS_CSWjavasvn += CSWneon
+REQUIRED_PKGS_CSWjavasvn += CSWoldaprt
+PKGFILES_CSWjavasvn = $(SVNLIB)/.*java.*
+
SPKG_DESC_CSWpmsvn = Subversion Perl Language Binding
CATALOGNAME_CSWpmsvn = pm_subversion
-REQUIRED_PKGS_CSWpmsvn = CSWsvn CSWperl CSWapache2rt CSWbdb47 CSWexpat
-REQUIRED_PKGS_CSWpmsvn += CSWggettextrt CSWiconv CSWoldaprt
-SPKG_DESC_CSWpythonsvn = Subversion Python Language Binding
-CATALOGNAME_CSWpythonsvn = pythonsvn
-REQUIRED_PKGS_CSWpythonsvn = CSWsvn CSWpython CSWapache2rt CSWbdb47 CSWexpat
-REQUIRED_PKGS_CSWpythonsvn += CSWggettextrt CSWiconv CSWoldaprt
+REQUIRED_PKGS_CSWpmsvn = CSWsvn
+REQUIRED_PKGS_CSWpmsvn += CSWperl
+REQUIRED_PKGS_CSWpmsvn += CSWapache2rt
+REQUIRED_PKGS_CSWpmsvn += CSWexpat
+REQUIRED_PKGS_CSWpmsvn += CSWggettextrt
+REQUIRED_PKGS_CSWpmsvn += CSWiconv
+REQUIRED_PKGS_CSWpmsvn += CSWoldaprt
+PKGFILES_CSWpmsvn = $(libdir)/perl.*
+PKGFILES_CSWpmsvn += $(SVNLIB)/.*perl.*
+PKGFILES_CSWpmsvn += $(mandir)/.*swig_perl.*
+
SPKG_DESC_CSWrbsvn = Subversion Ruby Language Binding
CATALOGNAME_CSWrbsvn = rbsvn
-REQUIRED_PKGS_CSWrbsvn = CSWsvn CSWruby CSWiconv CSWoldaprt
-REQUIRED_PKGS_CSWrbsvn += CSWapache2rt CSWbdb47 CSWexpat CSWggettextrt
+REQUIRED_PKGS_CSWrbsvn = CSWsvn
+REQUIRED_PKGS_CSWrbsvn += CSWruby
+REQUIRED_PKGS_CSWrbsvn += CSWapache2rt
+REQUIRED_PKGS_CSWrbsvn += CSWexpat
+REQUIRED_PKGS_CSWrbsvn += CSWggettextrt
+REQUIRED_PKGS_CSWrbsvn += CSWiconv
+REQUIRED_PKGS_CSWrbsvn += CSWoldaprt
+PKGFILES_CSWrbsvn = $(libdir)/ruby.*
+PKGFILES_CSWrbsvn += $(SVNLIB)/.*swig_ruby.*
-PKGFILES_CSWsvn-devel = $(PKGFILES_DEVEL)
-PKGFILES_CSWap2svn = $(prefix)/apache2.*
-PKGFILES_CSWjavasvn = $(SVNLIB)/.*java.*
-PKGFILES_CSWpmsvn = $(libdir)/perl.*
-PKGFILES_CSWpmsvn += $(SVNLIB)/.*perl.*
-PKGFILES_CSWpmsvn += $(mandir)/.*swig_perl.*
-PKGFILES_CSWpythonsvn = $(libdir)/python.*
-PKGFILES_CSWpythonsvn += $(SVNLIB)/.*swig_py.*
-PKGFILES_CSWrbsvn = $(libdir)/ruby.*
-PKGFILES_CSWrbsvn += $(SVNLIB)/.*swig_ruby.*
+SPKG_DESC_CSWpythonsvn = Subversion Python Language Binding
+CATALOGNAME_CSWpythonsvn = pythonsvn
+REQUIRED_PKGS_CSWpythonsvn = CSWsvn
+REQUIRED_PKGS_CSWpythonsvn += CSWpython
+REQUIRED_PKGS_CSWpythonsvn += CSWapache2rt
+REQUIRED_PKGS_CSWpythonsvn += CSWexpat
+REQUIRED_PKGS_CSWpythonsvn += CSWggettextrt
+REQUIRED_PKGS_CSWpythonsvn += CSWiconv
+REQUIRED_PKGS_CSWpythonsvn += CSWoldaprt
+PKGFILES_CSWpythonsvn = $(libdir)/python.*
+PKGFILES_CSWpythonsvn += $(SVNLIB)/.*swig_py.*
+
DISTFILES += CSWsvn.checkinstall
DISTFILES += CSWap2svn.postinstall CSWap2svn.preremove
DISTFILES += httpd-svn.conf.CSW svn_access.conf.CSW
@@ -80,10 +116,9 @@
PATCHFILES += subversion161.diff
PATCHFILES += 0001-make-subversion-sysconfigdir-as-it-should-be-for-csw.patch
-DEPENDS = server/apache2
-DEPENDS = lib/neon
+EXTRA_LIB = $(SVNLIB) $(prefix)/apache2/lib
+EXTRA_INC = $(prefix)/apache2/include
-NODIRPATHS = --libdir --libexecdir
JDK = /usr/jdk1.5.0_15
EXTRA_INC += $(JDK)/include
SVNLIB = $(prefix)/lib/svn
@@ -94,11 +129,18 @@
LDFLAGS += -R/opt/csw/bdb47/lib -L/opt/csw/bdb47/lib
export LDFLAGS
-EXTRA_MERGE_EXCLUDE_FILES = .*\.pyo .*\.pyc
+EXTRA_MERGE_EXCLUDE_FILES += .*\.pyo .*\.pyc
PROTOTYPE_MODIFIERS += cswpycompile
PROTOTYPE_FILES_cswpycompile = $(libdir)/python/.*\.py
PROTOTYPE_CLASS_cswpycompile = cswpycompile
+# All of the perl modules go to $(libdir)/perl/site_perl. We are not interested
+# in the version specific perl directory which only contains a perllocal.pod.
+# Can this be re-done as a version agnostic regex? Couldn't get this to work :/
+# EXTRA_MERGE_EXCLUDE_FILES += $(libdir)/perl/(?!site_perl\/)
+EXTRA_MERGE_EXCLUDE_FILES += $(libdir)/perl/5.8.8.*
+
+NODIRPATHS = --libdir --libexecdir
CONFIGURE_ARGS = $(DIRPATHS) --libdir=$(SVNLIB) --libexecdir=$(SVNLIB)
CONFIGURE_ARGS += --disable-mod-activation
CONFIGURE_ARGS += --disable-static
@@ -113,53 +155,55 @@
CONFIGURE_ARGS += --with-zlib=$(prefix)
CONFIGURE_ARGS += --with-serf=$(prefix)
-TEST_TARGET = check
# Tests take *forever*
-TEST_SCRIPTS = skip
+#TEST_TARGET = check
+TEST_TARGET =
-test-skip:
- @$(MAKECOOKIE)
-
include gar/category.mk
BINDING_LANGS = java perl python ruby
-BINDING_TARGETS = $(foreach LANG,$(BINDING_LANGS),svn-$(LANG))
+BINDING_TARGETS = $(addprefix svn-,$(BINDING_LANGS))
-PI_DEPENDS = install-extras
-PI_DEPENDS += fix-ra_dav
+PI_DEPENDS += copy-apache-templates
+PI_DEPENDS += create-ra_dav-symlinks
+PI_DEPENDS += install-extras
PI_DEPENDS += $(BINDING_TARGETS)
-PI_DEPENDS += copy-templates
-PI_DEPENDS += fix-install
post-install-modulated: $(PI_DEPENDS)
$(MAKECOOKIE)
+# The whole subversion build is done with Sun's cc. Ruby language bindings
+# need to be built with gcc. Hack (!) together Makefile.gcc/libtool.gcc which
+# are then used in the "svn-ruby" target.
+# See http://lists.opencsw.org/pipermail/maintainers/2009-May/002325.html
post-configure-modulated:
@echo "~~~ Fixing Libtool ~~~"
- @$(DOWNLOADDIR)/fixme.sh $(WORKSRC)
- @echo "~~~ Creating GCC Makefile and libtool for javahl and ruby ~~~"
- @gcp $(WORKSRC)/Makefile $(WORKSRC)/Makefile.gcc
- @gcp $(WORKSRC)/libtool $(WORKSRC)/libtool.gcc
- @perl -i -pe 's/-mt\|*//' $(WORKSRC)/*.gcc
- @perl -i -pe 's|-xO3|-pipe -O2|' $(WORKSRC)/*.gcc
- @perl -i -pe 's|/opt/studio/SOS11/SUNWspro/bin/cc|/opt/csw/gcc4/bin/gcc|' \
- $(WORKSRC)/*.gcc
- @perl -i -pe 's|/opt/studio/SOS11/SUNWspro/bin/CC|/opt/csw/gcc4/bin/g++|' \
- $(WORKSRC)/*.gcc
- @perl -i -pe 's|libtool|libtool.gcc|' $(WORKSRC)/Makefile.gcc
- @perl -i -pe 's|KPIC|fPIC|' $(WORKSRC)/libtool.gcc
- @perl -i -pe 's|postdeps=.*|postdeps=""|' $(WORKSRC)/libtool.gcc
- @( if [ "`uname -p`" = "sparc" ]; then \
- perl -i -pe 's|-xarch=v8|-mcpu=v8|' $(WORKSRC)/*.gcc; \
+ $(DOWNLOADDIR)/fixme.sh $(WORKSRC)
+ @echo "~~~ Creating GCC Makefile and libtool for ruby ~~~"
+
+ gcp $(WORKSRC)/Makefile $(WORKSRC)/Makefile.gcc
+ gcp $(WORKSRC)/libtool $(WORKSRC)/libtool.gcc
+
+ @# -mt\|* effectively strips any occasion of -mt or -mt| out of
+ @# libtool.gcc, but what for? -mt is recognized by both Sun's cc
+ @# and gcc and is responsible for adding multi-threading support.
+ gsed -i \
+ -e 's,-mt|*,,' \
+ -e 's,-xO3,-pipe -O2,' \
+ -e 's,KPIC,fPIC,' \
+ -e 's,/opt/studio/SOS11/SUNWspro/bin/cc,/opt/csw/gcc4/bin/gcc,' \
+ -e 's,/opt/studio/SOS11/SUNWspro/bin/CC,/opt/csw/gcc4/bin/g++,' \
+ $(WORKSRC)/*.gcc
+ gsed -i -e 's,libtool,libtool.gcc,' $(WORKSRC)/Makefile.gcc
+ gsed -i -e 's,postdeps=.*,postdeps="",' $(WORKSRC)/libtool.gcc
+ ( if [ "$(GARCH)" = "sparc" ]; then \
+ perl -i -pe 's,-xarch=v8,-mcpu=v8,' $(WORKSRC)/*.gcc; \
else \
- perl -i -pe 's|-xarch=386|-march=i386|' $(WORKSRC)/*.gcc; \
+ perl -i -pe 's,-xarch=386,-march=i386,' $(WORKSRC)/*.gcc; \
fi )
- $(MAKECOOKIE)
+ @$(MAKECOOKIE)
-fix-install:
- @(grm -fr $(DESTDIR)$(prefix)/lib/perl/5.8.8)
-
-copy-templates:
+copy-apache-templates:
ginstall -d $(DESTDIR)$(prefix)/apache2/etc/extra
ginstall -m 0644 \
$(WORKDIR)/httpd-svn.conf.CSW \
@@ -167,53 +211,53 @@
ginstall -m 0644 \
$(WORKDIR)/svn_access.conf.CSW \
$(DESTDIR)$(prefix)/apache2/etc
- $(MAKECOOKIE)
+ @$(MAKECOOKIE)
-fix-ra_dav:
- @# libsvn_ra_dav-1* has been renamed to libsvn_ra_neon-1*
- @# in the new versions of subversion,
- @# we need to link for backward compatability
- @(gln -s libsvn_ra_neon-1.so.0.0.0 $(DESTDIR)$(SVNLIB)/libsvn_ra_dav-1.so.0)
- @(gln -s libsvn_ra_neon-1.so.0.0.0 $(DESTDIR)$(SVNLIB)/libsvn_ra_dav-1.so)
+# libsvn_ra_dav-1* has been renamed to libsvn_ra_neon-1* in the new versions
+# of subversion (starting with?), we need to link for backward compatability
+create-ra_dav-symlinks:
+ ( cd $(DESTDIR)$(SVNLIB); \
+ ln -s libsvn_ra_neon-1.so.0.0.0 libsvn_ra_dav-1.so.0; \
+ ln -s libsvn_ra_neon-1.so.0.0.0 libsvn_ra_dav-1.so; )
@$(MAKECOOKIE)
install-extras:
- @(ginstall -d $(DESTDIR)$(docdir)/subversion/tools)
- @(ginstall -d $(DESTDIR)$(docdir)/subversion/contrib)
- @(gcp -R $(WORKSRC)/tools/* $(DESTDIR)$(docdir)/subversion/tools/)
- @(gcp -R $(WORKSRC)/contrib/* $(DESTDIR)$(docdir)/subversion/contrib/)
- @$(BUILD_ENV) $(INSTALL_ENV) gmake -C $(WORKSRC) install-tools
- @$(BUILD_ENV) $(INSTALL_ENV) gmake -C $(WORKSRC) install-contrib
+ ginstall -d $(DESTDIR)$(docdir)/subversion/tools
+ ginstall -d $(DESTDIR)$(docdir)/subversion/contrib
+ gcp -R $(WORKSRC)/tools/* $(DESTDIR)$(docdir)/subversion/tools/
+ gcp -R $(WORKSRC)/contrib/* $(DESTDIR)$(docdir)/subversion/contrib/
+ $(BUILD_ENV) $(INSTALL_ENV) gmake -C $(WORKSRC) install-tools
+ $(BUILD_ENV) $(INSTALL_ENV) gmake -C $(WORKSRC) install-contrib
@$(MAKECOOKIE)
svn-python:
@echo " ==> Building Python bindings"
- @touch \
+ touch \
$(WORKSRC)/subversion/bindings/swig/python/*.c \
$(WORKSRC)/subversion/bindings/swig/python/*.py
- @$(BUILD_ENV) gmake -C $(WORKSRC) swig-py
- @$(INSTALL_ENV) gmake -C $(WORKSRC) install-swig-py
- $(MAKECOOKIE)
+ $(BUILD_ENV) gmake -C $(WORKSRC) swig-py
+ $(INSTALL_ENV) gmake -C $(WORKSRC) install-swig-py
+ @$(MAKECOOKIE)
svn-perl:
@echo " ==> Building Perl bindings"
- @touch \
+ touch \
$(WORKSRC)/subversion/bindings/swig/perl/native/*.c \
$(WORKSRC)/subversion/bindings/swig/perl/native/*.pm
- @$(BUILD_ENV) gmake -C $(WORKSRC) swig-pl
- @$(INSTALL_ENV) gmake DESTDIR=$(DESTDIR) -C $(WORKSRC) install-swig-pl
- $(MAKECOOKIE)
+ $(BUILD_ENV) gmake -C $(WORKSRC) swig-pl
+ $(INSTALL_ENV) gmake DESTDIR=$(DESTDIR) -C $(WORKSRC) install-swig-pl
+ @$(MAKECOOKIE)
svn-ruby:
@echo " ==> Building Ruby bindings"
- @touch $(WORKSRC)/subversion/bindings/swig/ruby/*.c
+ touch $(WORKSRC)/subversion/bindings/swig/ruby/*.c
$(BUILD_ENV) gmake -f Makefile.gcc -C $(WORKSRC) swig-rb
- @$(INSTALL_ENV) gmake -f Makefile.gcc -C $(WORKSRC) install-swig-rb
- $(MAKECOOKIE)
+ $(INSTALL_ENV) gmake -f Makefile.gcc -C $(WORKSRC) install-swig-rb
+ @$(MAKECOOKIE)
svn-java:
@echo " ==> Building Java bindings"
- @touch $(WORKSRC)/subversion/bindings/javahl/native/*.c
+ touch $(WORKSRC)/subversion/bindings/javahl/native/*.c
$(BUILD_ENV) gmake -C $(WORKSRC) javahl;
$(INSTALL_ENV) gmake -C $(WORKSRC) install-javahl;
- $(MAKECOOKIE)
+ @$(MAKECOOKIE)
Added: csw/mgar/pkg/subversion/trunk/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/subversion/trunk/files/changelog.CSW (rev 0)
+++ csw/mgar/pkg/subversion/trunk/files/changelog.CSW 2010-01-17 01:59:18 UTC (rev 8037)
@@ -0,0 +1,9 @@
+subversion (1.6.6,REV=2010.01.17)
+
+ * Restricted cswpycompile usage to python modules. (Closes #4156)
+ * Corrected libsvn_ra_dav-1.so.0 symlinks. (Closes #4096)
+ * Dropped openssl_rt dependency (neon with SSL support is built separately).
+ * Dropped kerberos dependency (neon comes with Kerberos support).
+ * Dropped libnet dependency (not required).
+
+ -- Sebastian Kayser <skayser at opencsw.org> Sun, 17 Jan 2010 02:39:59 +0100
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the devel
mailing list