Package init
This commit is contained in:
parent
a834066570
commit
8eb86965cd
@ -1,170 +0,0 @@
|
||||
This is an upstream patch from: http://svn.apache.org/viewvc?view=revision&revision=1834495
|
||||
|
||||
--- 1.7.x/buildconf 2018/06/27 11:41:30 1834494
|
||||
+++ 1.7.x/buildconf 2018/06/27 11:49:33 1834495
|
||||
@@ -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
|
||||
--- 1.7.x/build/gen-build.py 2018/06/27 11:41:30 1834494
|
||||
+++ 1.7.x/build/gen-build.py 2018/06/27 11:49:33 1834495
|
||||
@@ -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
|
||||
--- 1.7.x/build/buildcheck.sh 2018/06/27 11:41:30 1834494
|
||||
+++ 1.7.x/build/buildcheck.sh 2018/06/27 11:49:33 1834495
|
||||
@@ -4,14 +4,14 @@
|
||||
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"
|
||||
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
|
||||
|
||||
|
||||
@ -1,18 +0,0 @@
|
||||
|
||||
- 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}"
|
||||
@ -1,56 +0,0 @@
|
||||
|
||||
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@"
|
||||
Binary file not shown.
@ -1,22 +0,0 @@
|
||||
/* 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
|
||||
107
apr.spec
107
apr.spec
@ -1,107 +0,0 @@
|
||||
%define aprver 1
|
||||
|
||||
Name: apr
|
||||
Version: 1.6.5
|
||||
Release: 3
|
||||
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/%{name}/%{name}-%{version}.tar.bz2
|
||||
Source1: apr-wrapper.h
|
||||
|
||||
Patch0: apr-1.2.2-libdir.patch
|
||||
Patch1: apr-1.2.7-pkgconf.patch
|
||||
|
||||
Patch6000: Merge-r1834494-from-trunk.patch
|
||||
Patch6001: test-testlock.c-test_timeoutcond-Increase-fudge-fact.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: %{name} = %{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
|
||||
|
||||
%pre
|
||||
|
||||
%preun
|
||||
|
||||
%post
|
||||
|
||||
%postun
|
||||
|
||||
%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
|
||||
* Tue Oct 22 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.6.5-3
|
||||
- optimize spec file.
|
||||
|
||||
* Sat Sep 28 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.6.5-2
|
||||
- Package rebuild.
|
||||
|
||||
* Wed Sep 04 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.6.5-1
|
||||
- Package init.
|
||||
@ -1,28 +0,0 @@
|
||||
From d6d48ddd4c3a5ef04749475ed75d26330a3e0dc6 Mon Sep 17 00:00:00 2001
|
||||
From: Joe Orton <jorton@apache.org>
|
||||
Date: Tue, 19 Sep 2017 16:38:40 +0000
|
||||
Subject: [PATCH] * test/testlock.c (test_timeoutcond): Increase fudge factor
|
||||
in checking timeout precision; 100ms failed regularly in Fedora builds,
|
||||
500ms has Never Failed(TM).
|
||||
|
||||
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1808910 13f79535-47bb-0310-9956-ffa450edef68
|
||||
---
|
||||
test/testlock.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/test/testlock.c b/test/testlock.c
|
||||
index 40da791b7..cd48768ca 100644
|
||||
--- a/test/testlock.c
|
||||
+++ b/test/testlock.c
|
||||
@@ -334,7 +334,7 @@ static void test_timeoutcond(abts_case *tc, void *data)
|
||||
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);
|
||||
--
|
||||
2.19.1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user