Merge pull request #2394 from donald-rumata/subversion
subversion: bring back from oldpackages and update to current version
This commit is contained in:
commit
ca8d2141ef
4 changed files with 278 additions and 0 deletions
141
net/subversion/Makefile
Normal file
141
net/subversion/Makefile
Normal file
|
@ -0,0 +1,141 @@
|
|||
#
|
||||
# Copyright (C) 2007-2016 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=subversion
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=1.9.4
|
||||
PKG_SOURCE_URL:=@APACHE/subversion
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_MD5SUM:=29121a038f87641055a8183f49e9739f
|
||||
PKG_LICENSE:=Apache-2.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=Donald Rumata <donald.rumata@gmail.com>
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_MACRO_PATHS:=build/ac-macros
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/nls.mk
|
||||
|
||||
|
||||
define Package/subversion/Default
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
SUBMENU:=Version Control Systems
|
||||
TITLE:=A compelling replacement for CVS
|
||||
DEPENDS:=+zlib +libsqlite3 +libapr +libaprutil +libmagic \
|
||||
$(ICONV_DEPENDS) $(INTL_DEPENDS)
|
||||
URL:=http://subversion.apache.org/
|
||||
endef
|
||||
|
||||
define Package/subversion/Default/description
|
||||
Subversion is a free/open-source version control system. That is,
|
||||
Subversion manages files and directories, and the changes made to them,
|
||||
over time. This allows you to recover older versions of your data, or
|
||||
examine the history of how your data changed. In this regard, many
|
||||
people think of a version control system as a sort of time machine.
|
||||
endef
|
||||
|
||||
define Package/subversion-libs
|
||||
$(call Package/subversion/Default)
|
||||
TITLE:=subversion libs
|
||||
endef
|
||||
|
||||
define Package/subversion-libs/description
|
||||
$(call Package/subversion/Default/description)
|
||||
This package contains the Subversion libraries.
|
||||
endef
|
||||
|
||||
define Package/subversion-client
|
||||
$(call Package/subversion/Default)
|
||||
DEPENDS:=+subversion-libs
|
||||
TITLE:=subversion client tools
|
||||
endef
|
||||
|
||||
define Package/subversion-client/description
|
||||
$(call Package/subversion/Default/description)
|
||||
This package contains the Subversion client tools.
|
||||
endef
|
||||
|
||||
define Package/subversion-server
|
||||
$(call Package/subversion/Default)
|
||||
DEPENDS:=+subversion-libs
|
||||
TITLE:=subversion server
|
||||
endef
|
||||
|
||||
define Package/subversion-server/description
|
||||
$(call Package/subversion/Default/description)
|
||||
This package contains the Subversion server.
|
||||
endef
|
||||
|
||||
define Package/subversion-server/conffiles
|
||||
/etc/config/subversion
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \
|
||||
--with-apr-util="$(STAGING_DIR)/usr/bin/apu-1-config" \
|
||||
--with-libmagic="$(STAGING_DIR)/usr" \
|
||||
--disable-mod-activation \
|
||||
--without-ruby-sitedir \
|
||||
--without-swig \
|
||||
--without-jikes \
|
||||
--without-junit \
|
||||
--without-berkeley-db \
|
||||
--without-apxs \
|
||||
--without-sasl
|
||||
|
||||
ifdef $(INTL_FULL)
|
||||
CONFIGURE_ARGS += --enable-nls
|
||||
else
|
||||
CONFIGURE_ARGS += --disable-nls
|
||||
endif
|
||||
|
||||
CONFIGURE_VARS += \
|
||||
LDFLAGS="$(TARGET_LDFLAGS) -lcrypt -lm \
|
||||
-lz -lpthread $(if $(INTL_FULL),-lintl)"
|
||||
CPPFLAGS="$(TARGET_CPPFLAGS)"
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
DESTDIR="$(PKG_INSTALL_DIR)" \
|
||||
all local-install
|
||||
endef
|
||||
|
||||
define Package/subversion-libs/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsvn_*.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/subversion-client/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{svn,svnversion,svnsync} $(1)/usr/bin/
|
||||
endef
|
||||
|
||||
define Package/subversion-server/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/svn{look,admin,dumpfilter,serve} $(1)/usr/bin/
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
$(INSTALL_CONF) ./files/subversion.config $(1)/etc/config/subversion
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/subversion.init $(1)/etc/init.d/subversion
|
||||
endef
|
||||
|
||||
define Package/subversion-server/prerm
|
||||
#!/bin/sh
|
||||
ps | grep '\(/svnserve$\| svnserve\)' | grep -cvq grep >/dev/null && /etc/init.d/subversion stop
|
||||
/etc/init.d/subversion disable
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,subversion-libs))
|
||||
$(eval $(call BuildPackage,subversion-client))
|
||||
$(eval $(call BuildPackage,subversion-server))
|
3
net/subversion/files/subversion.config
Normal file
3
net/subversion/files/subversion.config
Normal file
|
@ -0,0 +1,3 @@
|
|||
config subversion
|
||||
option path '/var/local/svn'
|
||||
option port '3690'
|
37
net/subversion/files/subversion.init
Normal file
37
net/subversion/files/subversion.init
Normal file
|
@ -0,0 +1,37 @@
|
|||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2006-2016 OpenWrt.org
|
||||
|
||||
START=50
|
||||
|
||||
start_instance () {
|
||||
local section="$1"
|
||||
config_get path "$section" 'path'
|
||||
config_get port "$section" 'port'
|
||||
|
||||
if [ ! -d "$path" ]; then
|
||||
echo "The subversion repository (${path}) does not exist."
|
||||
echo "Create a new repository and/or change the path in /etc/config/subversion"
|
||||
echo
|
||||
echo "Create a new subversion repository with:"
|
||||
echo " mkdir -p ${path}"
|
||||
echo " svnadmin create --fs-type fsfs ${path}"
|
||||
echo
|
||||
echo "Changing the path using UCI (default path is: /var/local/svn):"
|
||||
echo " uci set subversion.@[0].path="/srv/svn""
|
||||
echo " uci commit"
|
||||
echo " /etc/init.d/subversion restart"
|
||||
return 1
|
||||
fi
|
||||
|
||||
service_start /usr/bin/svnserve -d --listen-port ${port} -r ${path}
|
||||
}
|
||||
|
||||
start() {
|
||||
config_load 'subversion'
|
||||
config_foreach start_instance 'subversion'
|
||||
}
|
||||
|
||||
stop() {
|
||||
SERVICE_SIG_STOP="INT" \
|
||||
service_stop /usr/bin/svnserve
|
||||
}
|
97
net/subversion/patches/101-cross-compilation-macos.patch
Normal file
97
net/subversion/patches/101-cross-compilation-macos.patch
Normal file
|
@ -0,0 +1,97 @@
|
|||
--- a/build/ac-macros/macosx.m4 2016-02-09 01:24:13.181409245 -0500
|
||||
+++ b/build/ac-macros/macosx.m4 2016-02-09 01:25:15.873408288 -0500
|
||||
@@ -17,94 +17,4 @@ dnl specific language governing permis
|
||||
dnl under the License.
|
||||
dnl ===================================================================
|
||||
dnl
|
||||
-dnl Mac OS X specific checks
|
||||
|
||||
-dnl SVN_LIB_MACHO_ITERATE
|
||||
-dnl Check for _dyld_image_name and _dyld_image_header availability
|
||||
-AC_DEFUN(SVN_LIB_MACHO_ITERATE,
|
||||
-[
|
||||
- AC_MSG_CHECKING([for Mach-O dynamic module iteration functions])
|
||||
- AC_RUN_IFELSE([AC_LANG_PROGRAM([[
|
||||
- #include <mach-o/dyld.h>
|
||||
- #include <mach-o/loader.h>
|
||||
- ]],[[
|
||||
- const struct mach_header *header = _dyld_get_image_header(0);
|
||||
- const char *name = _dyld_get_image_name(0);
|
||||
- if (name && header) return 0;
|
||||
- return 1;
|
||||
- ]])],[
|
||||
- AC_DEFINE([SVN_HAVE_MACHO_ITERATE], [1],
|
||||
- [Is Mach-O low-level _dyld API available?])
|
||||
- AC_MSG_RESULT([yes])
|
||||
- ],[
|
||||
- AC_MSG_RESULT([no])
|
||||
- ])
|
||||
-])
|
||||
-
|
||||
-dnl SVN_LIB_MACOS_PLIST
|
||||
-dnl Assign variables for Mac OS property list support
|
||||
-AC_DEFUN(SVN_LIB_MACOS_PLIST,
|
||||
-[
|
||||
- AC_MSG_CHECKING([for Mac OS property list utilities])
|
||||
-
|
||||
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
- #include <AvailabilityMacros.h>
|
||||
- #if !defined(MAC_OS_X_VERSION_MAX_ALLOWED) \
|
||||
- || !defined(MAC_OS_X_VERSION_10_0) \
|
||||
- || (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_0)
|
||||
- #error ProperyList API unavailable.
|
||||
- #endif
|
||||
- ]],[[]])],[
|
||||
- dnl ### Hack. We should only need to pass the -framework options when
|
||||
- dnl linking libsvn_subr, since it is the only library that uses Keychain.
|
||||
- dnl
|
||||
- dnl Unfortunately, libtool 1.5.x doesn't track transitive dependencies for
|
||||
- dnl OS X frameworks like it does for normal libraries, so we need to
|
||||
- dnl explicitly pass the option to all the users of libsvn_subr to allow
|
||||
- dnl static builds to link successfully.
|
||||
- dnl
|
||||
- dnl This does mean that all executables we link will be linked directly
|
||||
- dnl to these frameworks - even when building shared libraries - but that
|
||||
- dnl shouldn't cause any problems.
|
||||
-
|
||||
- LIBS="$LIBS -framework CoreFoundation"
|
||||
- AC_DEFINE([SVN_HAVE_MACOS_PLIST], [1],
|
||||
- [Is Mac OS property list API available?])
|
||||
- AC_MSG_RESULT([yes])
|
||||
- ],[
|
||||
- AC_MSG_RESULT([no])
|
||||
- ])
|
||||
-])
|
||||
-
|
||||
-dnl SVN_LIB_MACOS_KEYCHAIN
|
||||
-dnl Check configure options and assign variables related to Keychain support
|
||||
-
|
||||
-AC_DEFUN(SVN_LIB_MACOS_KEYCHAIN,
|
||||
-[
|
||||
- AC_ARG_ENABLE(keychain,
|
||||
- AS_HELP_STRING([--disable-keychain],
|
||||
- [Disable use of Mac OS KeyChain for auth credentials]),
|
||||
- [enable_keychain=$enableval],[enable_keychain=yes])
|
||||
-
|
||||
- AC_MSG_CHECKING([for Mac OS KeyChain Services])
|
||||
-
|
||||
- if test "$enable_keychain" = "yes"; then
|
||||
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
- #include <AvailabilityMacros.h>
|
||||
- #if !defined(MAC_OS_X_VERSION_MAX_ALLOWED) \
|
||||
- || !defined(MAC_OS_X_VERSION_10_2) \
|
||||
- || (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_2)
|
||||
- #error KeyChain API unavailable.
|
||||
- #endif
|
||||
- ]],[[]])],[
|
||||
- dnl ### Hack, see SVN_LIB_MACOS_PLIST
|
||||
- LIBS="$LIBS -framework Security"
|
||||
- LIBS="$LIBS -framework CoreServices"
|
||||
- AC_DEFINE([SVN_HAVE_KEYCHAIN_SERVICES], [1], [Is Mac OS KeyChain support enabled?])
|
||||
- AC_MSG_RESULT([yes])
|
||||
- ],[
|
||||
- enable_keychain=no
|
||||
- AC_MSG_RESULT([no])
|
||||
- ])
|
||||
- fi
|
||||
-])
|
Loading…
Reference in a new issue