Package init
This commit is contained in:
commit
f1266da45d
18
apr-1.2.2-libdir.patch
Normal file
18
apr-1.2.2-libdir.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
- avoid adding %{_libdir} to --link-ld output
|
||||||
|
|
||||||
|
--- apr-1.2.2/apr-config.in.libdir
|
||||||
|
+++ apr-1.2.2/apr-config.in
|
||||||
|
@@ -181,8 +181,10 @@
|
||||||
|
;;
|
||||||
|
--link-ld)
|
||||||
|
if test "$location" = "installed"; then
|
||||||
|
- ### avoid using -L if libdir is a "standard" location like /usr/lib
|
||||||
|
- flags="$flags -L$libdir -l${APR_LIBNAME}"
|
||||||
|
+ if test "$prefix" != "/usr"; then
|
||||||
|
+ flags="$flags -L$libdir"
|
||||||
|
+ fi
|
||||||
|
+ flags="$flags -l${APR_LIBNAME}"
|
||||||
|
else
|
||||||
|
### this surely can't work since the library is in .libs?
|
||||||
|
flags="$flags -L$APR_BUILD_DIR -l${APR_LIBNAME}"
|
||||||
11
apr-1.2.2-locktimeout.patch
Normal file
11
apr-1.2.2-locktimeout.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- apr-1.2.2/test/testlock.c.locktimeout
|
||||||
|
+++ apr-1.2.2/test/testlock.c
|
||||||
|
@@ -295,7 +295,7 @@
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
ABTS_INT_EQUAL(tc, 1, APR_STATUS_IS_TIMEUP(s));
|
||||||
|
- ABTS_ASSERT(tc, "Timer returned too late", end - begin - timeout < 100000);
|
||||||
|
+ ABTS_ASSERT(tc, "Timer returned too late", end - begin - timeout < 500000);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
ABTS_ASSERT(tc, "Too many retries", i < MAX_RETRY);
|
||||||
56
apr-1.2.7-pkgconf.patch
Normal file
56
apr-1.2.7-pkgconf.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
|
||||||
|
This is a fugly hack to make apr-1-config libdir-agnostic, by using
|
||||||
|
pkg-config to determine the libdir setting. pkg-config will
|
||||||
|
magically determine the appropriate libdir setting.
|
||||||
|
|
||||||
|
This allows apr-devel.i386 and apr-devel.x86_64 to be
|
||||||
|
installed in parallel.
|
||||||
|
|
||||||
|
--- apr-1.2.7/Makefile.in.pkgconf
|
||||||
|
+++ apr-1.2.7/Makefile.in
|
||||||
|
@@ -60,7 +60,7 @@
|
||||||
|
|
||||||
|
# Create apr-config script suitable for the install tree
|
||||||
|
apr-config.out: $(APR_CONFIG)
|
||||||
|
- sed 's,^\(location=\).*$$,\1installed,' < $(APR_CONFIG) > $@
|
||||||
|
+ sed 's,^\(location=\).*$$,\1installed,;s,^\(APR_.*_DIR\)=.*,\1="$${libdir}/build",' < $(APR_CONFIG) > $@
|
||||||
|
|
||||||
|
# Create apr_rules.mk suitable for the install tree
|
||||||
|
build/apr_rules.out: build/apr_rules.mk
|
||||||
|
--- apr-1.2.7/apr.pc.in.pkgconf
|
||||||
|
+++ apr-1.2.7/apr.pc.in
|
||||||
|
@@ -3,9 +3,10 @@
|
||||||
|
libdir=@libdir@
|
||||||
|
APR_MAJOR_VERSION=@APR_MAJOR_VERSION@
|
||||||
|
includedir=@includedir@
|
||||||
|
+CPPFLAGS=@EXTRA_CPPFLAGS@
|
||||||
|
|
||||||
|
Name: APR
|
||||||
|
Description: The Apache Portable Runtime library
|
||||||
|
Version: @APR_DOTTED_VERSION@
|
||||||
|
Libs: -L${libdir} -l@APR_LIBNAME@ @EXTRA_LIBS@
|
||||||
|
-Cflags: @EXTRA_CPPFLAGS@ @EXTRA_CFLAGS@ -I${includedir}
|
||||||
|
+Cflags: ${CPPFLAGS} @EXTRA_CFLAGS@ -I${includedir}
|
||||||
|
--- apr-1.2.7/apr-config.in.pkgconf
|
||||||
|
+++ apr-1.2.7/apr-config.in
|
||||||
|
@@ -24,16 +24,17 @@
|
||||||
|
prefix="@prefix@"
|
||||||
|
exec_prefix="@exec_prefix@"
|
||||||
|
bindir="@bindir@"
|
||||||
|
-libdir="@libdir@"
|
||||||
|
datarootdir="@datadir@"
|
||||||
|
datadir="@datadir@"
|
||||||
|
-installbuilddir="@installbuilddir@"
|
||||||
|
includedir="@includedir@"
|
||||||
|
|
||||||
|
+libdir=`pkg-config --variable=libdir apr-@APR_MAJOR_VERSION@`
|
||||||
|
+installbuilddir="${libdir}/apr-@APR_MAJOR_VERSION@/build"
|
||||||
|
+
|
||||||
|
CC="@CC@"
|
||||||
|
CPP="@CPP@"
|
||||||
|
SHELL="@SHELL@"
|
||||||
|
-CPPFLAGS="@EXTRA_CPPFLAGS@"
|
||||||
|
+CPPFLAGS=`pkg-config --variable=CPPFLAGS apr-@APR_MAJOR_VERSION@`
|
||||||
|
CFLAGS="@EXTRA_CFLAGS@"
|
||||||
|
LDFLAGS="@EXTRA_LDFLAGS@"
|
||||||
|
LIBS="@EXTRA_LIBS@"
|
||||||
171
apr-1.6.3-r1834495.patch
Normal file
171
apr-1.6.3-r1834495.patch
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
# ./pullrev.sh 1834495
|
||||||
|
http://svn.apache.org/viewvc?view=revision&revision=1834495
|
||||||
|
|
||||||
|
--- apr-1.6.3/buildconf
|
||||||
|
+++ apr-1.6.3/buildconf
|
||||||
|
@@ -112,8 +112,10 @@
|
||||||
|
# Remove autoconf 2.5x's cache directory
|
||||||
|
rm -rf autom4te*.cache
|
||||||
|
|
||||||
|
+PYTHON=${PYTHON-`build/PrintPath python3 python2 python`}
|
||||||
|
+
|
||||||
|
echo "buildconf: generating 'make' outputs ..."
|
||||||
|
-build/gen-build.py $verbose make
|
||||||
|
+${PYTHON} build/gen-build.py $verbose make
|
||||||
|
|
||||||
|
# Create RPM Spec file
|
||||||
|
if [ -f `which cut` ]; then
|
||||||
|
--- apr-1.6.3/build/gen-build.py
|
||||||
|
+++ apr-1.6.3/build/gen-build.py
|
||||||
|
@@ -10,7 +10,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
import os
|
||||||
|
-import ConfigParser
|
||||||
|
+try:
|
||||||
|
+ import configparser
|
||||||
|
+except ImportError:
|
||||||
|
+ import ConfigParser as configparser
|
||||||
|
import getopt
|
||||||
|
import string
|
||||||
|
import glob
|
||||||
|
@@ -36,7 +39,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
- parser = ConfigParser.ConfigParser()
|
||||||
|
+ parser = configparser.ConfigParser()
|
||||||
|
parser.read('build.conf')
|
||||||
|
|
||||||
|
if parser.has_option('options', 'dsp'):
|
||||||
|
@@ -62,7 +65,7 @@
|
||||||
|
# write out the platform-independent files
|
||||||
|
files = get_files(parser.get('options', 'paths'))
|
||||||
|
objects, dirs = write_objects(f, legal_deps, h_deps, files)
|
||||||
|
- f.write('\nOBJECTS_all = %s\n\n' % string.join(objects))
|
||||||
|
+ f.write('\nOBJECTS_all = %s\n\n' % " ".join(objects))
|
||||||
|
|
||||||
|
# for each platform and each subdirectory holding platform-specific files,
|
||||||
|
# write out their compilation rules, and an OBJECT_<subdir>_<plat> symbol.
|
||||||
|
@@ -86,11 +89,11 @@
|
||||||
|
inherit_files[-1] = inherit_files[-1][:-2] + '.lo'
|
||||||
|
# replace the \\'s with /'s
|
||||||
|
inherit_line = '/'.join(inherit_files)
|
||||||
|
- if not inherit_parent.has_key(inherit_files[0]):
|
||||||
|
+ if inherit_files[0] not in inherit_parent:
|
||||||
|
inherit_parent[inherit_files[0]] = []
|
||||||
|
inherit_parent[inherit_files[0]].append(inherit_line)
|
||||||
|
|
||||||
|
- for subdir in string.split(parser.get('options', 'platform_dirs')):
|
||||||
|
+ for subdir in parser.get('options', 'platform_dirs').split():
|
||||||
|
path = '%s/%s' % (subdir, platform)
|
||||||
|
if not os.path.exists(path):
|
||||||
|
# this subdir doesn't have a subdir for this platform, so we'll
|
||||||
|
@@ -106,7 +109,7 @@
|
||||||
|
files = get_files(path + '/*.c')
|
||||||
|
objects, _unused = write_objects(f, legal_deps, h_deps, files)
|
||||||
|
|
||||||
|
- if inherit_parent.has_key(subdir):
|
||||||
|
+ if subdir in inherit_parent:
|
||||||
|
objects = objects + inherit_parent[subdir]
|
||||||
|
|
||||||
|
symname = 'OBJECTS_%s_%s' % (subdir, platform)
|
||||||
|
@@ -114,7 +117,7 @@
|
||||||
|
objects.sort()
|
||||||
|
|
||||||
|
# and write the symbol for the whole group
|
||||||
|
- f.write('\n%s = %s\n\n' % (symname, string.join(objects)))
|
||||||
|
+ f.write('\n%s = %s\n\n' % (symname, " ".join(objects)))
|
||||||
|
|
||||||
|
# and include that symbol in the group
|
||||||
|
group.append('$(%s)' % symname)
|
||||||
|
@@ -122,18 +125,18 @@
|
||||||
|
group.sort()
|
||||||
|
|
||||||
|
# write out a symbol which contains the necessary files
|
||||||
|
- f.write('OBJECTS_%s = %s\n\n' % (platform, string.join(group)))
|
||||||
|
+ f.write('OBJECTS_%s = %s\n\n' % (platform, " ".join(group)))
|
||||||
|
|
||||||
|
- f.write('HEADERS = $(top_srcdir)/%s\n\n' % string.join(headers, ' $(top_srcdir)/'))
|
||||||
|
- f.write('SOURCE_DIRS = %s $(EXTRA_SOURCE_DIRS)\n\n' % string.join(dirs.keys()))
|
||||||
|
+ f.write('HEADERS = $(top_srcdir)/%s\n\n' % ' $(top_srcdir)/'.join(headers))
|
||||||
|
+ f.write('SOURCE_DIRS = %s $(EXTRA_SOURCE_DIRS)\n\n' % " ".join(dirs.keys()))
|
||||||
|
|
||||||
|
if parser.has_option('options', 'modules'):
|
||||||
|
modules = parser.get('options', 'modules')
|
||||||
|
|
||||||
|
- for mod in string.split(modules):
|
||||||
|
+ for mod in modules.split():
|
||||||
|
files = get_files(parser.get(mod, 'paths'))
|
||||||
|
objects, _unused = write_objects(f, legal_deps, h_deps, files)
|
||||||
|
- flat_objects = string.join(objects)
|
||||||
|
+ flat_objects = " ".join(objects)
|
||||||
|
f.write('OBJECTS_%s = %s\n' % (mod, flat_objects))
|
||||||
|
|
||||||
|
if parser.has_option(mod, 'target'):
|
||||||
|
@@ -153,9 +156,9 @@
|
||||||
|
d = os.path.dirname(d)
|
||||||
|
|
||||||
|
# Sort so 'foo' is before 'foo/bar'
|
||||||
|
- keys = alldirs.keys()
|
||||||
|
+ keys = list(alldirs.keys())
|
||||||
|
keys.sort()
|
||||||
|
- f.write('BUILD_DIRS = %s\n\n' % string.join(keys))
|
||||||
|
+ f.write('BUILD_DIRS = %s\n\n' % " ".join(keys))
|
||||||
|
|
||||||
|
f.write('.make.dirs: $(srcdir)/build-outputs.mk\n' \
|
||||||
|
'\t@for d in $(BUILD_DIRS); do test -d $$d || mkdir $$d; done\n' \
|
||||||
|
@@ -177,12 +180,12 @@
|
||||||
|
|
||||||
|
# what headers does this file include, along with the implied headers
|
||||||
|
deps = extract_deps(file, legal_deps)
|
||||||
|
- for hdr in deps.keys():
|
||||||
|
+ for hdr in list(deps.keys()):
|
||||||
|
deps.update(h_deps.get(hdr, {}))
|
||||||
|
|
||||||
|
- vals = deps.values()
|
||||||
|
+ vals = list(deps.values())
|
||||||
|
vals.sort()
|
||||||
|
- f.write('%s: %s .make.dirs %s\n' % (obj, file, string.join(vals)))
|
||||||
|
+ f.write('%s: %s .make.dirs %s\n' % (obj, file, " ".join(vals)))
|
||||||
|
|
||||||
|
objects.sort()
|
||||||
|
|
||||||
|
@@ -210,7 +213,7 @@
|
||||||
|
for hdr, deps in header_deps.items():
|
||||||
|
# print hdr, deps
|
||||||
|
start = len(deps)
|
||||||
|
- for dep in deps.keys():
|
||||||
|
+ for dep in list(deps.keys()):
|
||||||
|
deps.update(header_deps.get(dep, {}))
|
||||||
|
if len(deps) != start:
|
||||||
|
altered = 1
|
||||||
|
@@ -220,7 +223,7 @@
|
||||||
|
|
||||||
|
def get_files(patterns):
|
||||||
|
files = [ ]
|
||||||
|
- for pat in string.split(patterns):
|
||||||
|
+ for pat in patterns.split():
|
||||||
|
files.extend(map(clean_path, glob.glob(pat)))
|
||||||
|
files.sort()
|
||||||
|
return files
|
||||||
|
--- apr-1.6.3/build/buildcheck.sh
|
||||||
|
+++ apr-1.6.3/build/buildcheck.sh
|
||||||
|
@@ -4,7 +4,7 @@
|
||||||
|
res=0
|
||||||
|
|
||||||
|
# any python
|
||||||
|
-python=`build/PrintPath python`
|
||||||
|
+python=${PYTHON-`build/PrintPath python3 python2 python`}
|
||||||
|
if test -z "$python"; then
|
||||||
|
echo "buildconf: python not found."
|
||||||
|
echo " You need python installed"
|
||||||
|
@@ -11,7 +11,7 @@
|
||||||
|
echo " to build APR from SVN."
|
||||||
|
res=1
|
||||||
|
else
|
||||||
|
- py_version=`python -c 'import sys; print sys.version' 2>&1|sed 's/ .*//;q'`
|
||||||
|
+ py_version=`$python -c 'import sys; print(sys.version)' 2>&1|sed 's/ .*//;q'`
|
||||||
|
echo "buildconf: python version $py_version (ok)"
|
||||||
|
fi
|
||||||
|
|
||||||
BIN
apr-1.6.5.tar.bz2
Normal file
BIN
apr-1.6.5.tar.bz2
Normal file
Binary file not shown.
22
apr-wrapper.h
Normal file
22
apr-wrapper.h
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/* This file is here to prevent a file conflict on multiarch systems. A
|
||||||
|
* conflict will occur because apr.h has arch-specific definitions.
|
||||||
|
*
|
||||||
|
* DO NOT INCLUDE THE NEW FILE DIRECTLY -- ALWAYS INCLUDE THIS ONE INSTEAD. */
|
||||||
|
|
||||||
|
#if defined(__i386__)
|
||||||
|
#include "apr-i386.h"
|
||||||
|
#elif defined(__ia64__)
|
||||||
|
#include "apr-ia64.h"
|
||||||
|
#elif defined(__powerpc64__)
|
||||||
|
#include "apr-ppc64.h"
|
||||||
|
#elif defined(__powerpc__)
|
||||||
|
#include "apr-ppc.h"
|
||||||
|
#elif defined(__s390x__)
|
||||||
|
#include "apr-s390x.h"
|
||||||
|
#elif defined(__s390__)
|
||||||
|
#include "apr-s390.h"
|
||||||
|
#elif defined(__x86_64__)
|
||||||
|
#include "apr-x86_64.h"
|
||||||
|
#else
|
||||||
|
#error "This apr-devel package does not work your architecture?"
|
||||||
|
#endif
|
||||||
100
apr.spec
Normal file
100
apr.spec
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
%define aprver 1
|
||||||
|
|
||||||
|
Name: apr
|
||||||
|
Version: 1.6.5
|
||||||
|
Release: 2
|
||||||
|
Summary: Apache Portable Runtime.
|
||||||
|
License: ASL 2.0 and BSD with advertising and ISC and BSD
|
||||||
|
URL: http://apr.apache.org
|
||||||
|
Source0: http://www.apache.org/dist/apr/%{name}-%{version}.tar.bz2
|
||||||
|
Source1: apr-wrapper.h
|
||||||
|
#Patch0:
|
||||||
|
# *build/buildcheck.sh, buildconf: Detect and run under Python 3 or 2,and respect $PYTHON.
|
||||||
|
# *build/gen-build.py: Fix various Python 3 compatibility issues.
|
||||||
|
# http://svn.apache.org/viewvc?view=revision&revision=1834495
|
||||||
|
Patch0: apr-1.6.3-r1834495.patch
|
||||||
|
Patch1: apr-1.2.2-locktimeout.patch
|
||||||
|
Patch2: apr-1.2.2-libdir.patch
|
||||||
|
Patch3: apr-1.2.7-pkgconf.patch
|
||||||
|
|
||||||
|
BuildRequires: gcc autoconf libtool libuuid-devel python3 lksctp-tools-devel
|
||||||
|
|
||||||
|
%description
|
||||||
|
The mission of the Apache Portable Runtime (APR) project is to create and maintain software libraries
|
||||||
|
that provide a predictable and consistent interface to underlying platform-specific implementations.
|
||||||
|
The primary goal is to provide an API to which software developers may code and be assured of
|
||||||
|
predictable if not identical behaviour regardless of the platform on which their software is built,
|
||||||
|
relieving them of the need to code special-case conditions to work around or take advantage of
|
||||||
|
platform-specific deficiencies or features.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Apache Portable Runtime development kit
|
||||||
|
Requires: apr = %{version}-%{release}, pkgconfig
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Apache Portable Runtime development kit
|
||||||
|
|
||||||
|
%package_help
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -n %{name}-%{version} -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
./buildconf
|
||||||
|
export ac_cv_search_shm_open=no
|
||||||
|
|
||||||
|
%configure \
|
||||||
|
--includedir=%{_includedir}/%{name}-%{aprver} --with-installbuilddir=%{_libdir}/%{name}-%{aprver}/build \
|
||||||
|
--with-devrandom=/dev/urandom
|
||||||
|
make
|
||||||
|
|
||||||
|
%install
|
||||||
|
rm -rf %{buildroot}
|
||||||
|
%make_install
|
||||||
|
install -D -m 0644 build/find_apr.m4 %{buildroot}/%{_datadir}/aclocal/find_apr.m4
|
||||||
|
sed -ri '/^dependency_libs/{s,-l(uuid|crypt) ,,g}' \
|
||||||
|
%{buildroot}%{_libdir}/libapr*.la
|
||||||
|
sed -ri '/^LIBS=/{s,-l(uuid|crypt) ,,g;s/ */ /g}' \
|
||||||
|
%{buildroot}%{_bindir}/%{name}-%{aprver}-config
|
||||||
|
sed -ri '/^Libs/{s,-l(uuid|crypt) ,,g}' \
|
||||||
|
%{buildroot}%{_libdir}/pkgconfig/%{name}-%{aprver}.pc
|
||||||
|
%ifarch %{multilib_arches}
|
||||||
|
install -D -m 0644 %{buildroot}%{_includedir}/%{name}-%{aprver}/apr.h \
|
||||||
|
%{buildroot}%{_includedir}/%{name}-%{aprver}/%{name}-%{_arch}.h
|
||||||
|
install -D -m 0644 %{SOURCE1} %{buildroot}%{_includedir}/%{name}-%{aprver}/apr.h
|
||||||
|
%endif
|
||||||
|
rm -rf %{buildroot}%{_libdir}/apr.exp
|
||||||
|
rm -rf %{buildroot}%{_libdir}/libapr-*.a
|
||||||
|
|
||||||
|
%check
|
||||||
|
make check
|
||||||
|
|
||||||
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc CHANGES NOTICE
|
||||||
|
%license LICENSE
|
||||||
|
%{_libdir}/libapr-%{aprver}.so.*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_bindir}/%{name}-%{aprver}-config
|
||||||
|
%{_libdir}/libapr-%{aprver}.*a
|
||||||
|
%{_libdir}/libapr-%{aprver}.so
|
||||||
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
%dir %{_libdir}/%{name}-%{aprver}
|
||||||
|
%dir %{_libdir}/%{name}-%{aprver}/build
|
||||||
|
%{_libdir}/%{name}-%{aprver}/build/*
|
||||||
|
%dir %{_includedir}/%{name}-%{aprver}
|
||||||
|
%{_includedir}/%{name}-%{aprver}/*.h
|
||||||
|
%{_datadir}/aclocal/*.m4
|
||||||
|
|
||||||
|
%files help
|
||||||
|
%doc docs/APRDesign.html docs/canonical_filenames.html
|
||||||
|
%doc docs/incomplete_types docs/non_apr_programs
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Sat Sep 28 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.6.5-2
|
||||||
|
- Package rebuild.
|
||||||
|
|
||||||
|
* Wed Sep 4 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.6.5-1
|
||||||
|
- Package init.
|
||||||
Loading…
x
Reference in New Issue
Block a user