From 47070fc99761c5205733f88207a524dcd3fb5c95 Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Wed, 18 Oct 2017 14:37:23 +0000 Subject: [PATCH] - merged 1.6.2 from PLD --- apr-svn.patch | 633 -------------------------------------------------- apr.spec | 9 +- 2 files changed, 4 insertions(+), 638 deletions(-) delete mode 100644 apr-svn.patch diff --git a/apr-svn.patch b/apr-svn.patch deleted file mode 100644 index c57f8f1..0000000 --- a/apr-svn.patch +++ /dev/null @@ -1,633 +0,0 @@ -diff -urNp apr-1.5.1/build/config.guess apr/build/config.guess ---- apr-1.5.1/build/config.guess 2014-03-08 10:59:15.000000000 +0000 -+++ apr/build/config.guess 2015-02-05 07:03:17.142489472 +0000 -@@ -2,7 +2,7 @@ - # Attempt to guess a canonical system name. - # Copyright 1992-2014 Free Software Foundation, Inc. - --timestamp='2014-02-12' -+timestamp='2014-03-23' - - # This file is free software; you can redistribute it and/or modify it - # under the terms of the GNU General Public License as published by -@@ -826,7 +826,7 @@ EOF - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; -- i*:MSYS*:*) -+ *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) -@@ -969,10 +969,10 @@ EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; -- or1k:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} -+ openrisc*:Linux:*:*) -+ echo or1k-unknown-linux-${LIBC} - exit ;; -- or32:Linux:*:*) -+ or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - padre:Linux:*:*) -diff -urNp apr-1.5.1/build/config.sub apr/build/config.sub ---- apr-1.5.1/build/config.sub 2014-03-08 10:59:15.000000000 +0000 -+++ apr/build/config.sub 2015-02-05 07:03:17.140488472 +0000 -@@ -2,7 +2,7 @@ - # Configuration validation subroutine script. - # Copyright 1992-2014 Free Software Foundation, Inc. - --timestamp='2014-01-01' -+timestamp='2014-09-11' - - # This file is free software; you can redistribute it and/or modify it - # under the terms of the GNU General Public License as published by -@@ -283,8 +283,10 @@ case $basic_machine in - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ -+ | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ -+ | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ -@@ -296,11 +298,11 @@ case $basic_machine in - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ -- | open8 \ -- | or1k | or32 \ -+ | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ -+ | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ -@@ -402,8 +404,10 @@ case $basic_machine in - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ -+ | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ -+ | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ -@@ -415,6 +419,7 @@ case $basic_machine in - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ -+ | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ -@@ -824,6 +829,10 @@ case $basic_machine in - basic_machine=powerpc-unknown - os=-morphos - ;; -+ moxiebox) -+ basic_machine=moxie-unknown -+ os=-moxiebox -+ ;; - msdos) - basic_machine=i386-pc - os=-msdos -@@ -1369,14 +1378,14 @@ case $os in - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ -- | -uxpv* | -beos* | -mpeix* | -udk* \ -+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ -- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) -+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) -@@ -1594,9 +1603,6 @@ case $basic_machine in - mips*-*) - os=-elf - ;; -- or1k-*) -- os=-elf -- ;; - or32-*) - os=-coff - ;; -diff -urNp apr-1.5.1/build/nw_export.inc apr/build/nw_export.inc ---- apr-1.5.1/build/nw_export.inc 2005-10-28 16:40:38.000000000 +0000 -+++ apr/build/nw_export.inc 2015-02-05 07:03:17.143489972 +0000 -@@ -15,6 +15,7 @@ - #include "apr_dso.h" - #include "apr_env.h" - #include "apr_errno.h" -+#include "apr_escape.h" - #include "apr_file_info.h" - #include "apr_file_io.h" - #include "apr_fnmatch.h" -@@ -34,6 +35,7 @@ - #include "apr_random.h" - #include "apr_shm.h" - #include "apr_signal.h" -+#include "apr_skiplist.h" - #include "apr_strings.h" - #include "apr_support.h" - #include "apr_tables.h" -diff -urNp apr-1.5.1/CHANGES apr/CHANGES ---- apr-1.5.1/CHANGES 2014-04-15 23:29:09.000000000 +0000 -+++ apr/CHANGES 2015-02-05 07:03:17.391613971 +0000 -@@ -1,4 +1,28 @@ - -*- coding: utf-8 -*- -+Changes for APR 1.5.2 -+ -+ *) apr_pollset: On z/OS, threadsafe apr_pollset_poll() may return -+ "EDC8102I Operation would block" under load. -+ [Pat Odonnell ] -+ -+ *) On z/OS, apr_sockaddr_info_get() with family == APR_UNSPEC was not -+ returning IPv4 addresses if any IPv6 addresses were returned. -+ [Eric Covener] -+ -+ *) Windows cmake build: Fix an incompatibility with cmake 2.8.12 and -+ later. [Jeff Trawick] -+ -+ *) apr_global_mutex/apr_proc_mutex: Resolve failures with the -+ POSIX sem implementation in environments which receive signals. -+ [Jeff Trawick] -+ -+ *) apr_skiplist: Fix potential corruption of skiplists leading to -+ results or crashes. [Takashi Sato , Eric Covener] -+ PR 56654. -+ -+ *) Improve platform detection by updating config.guess and config.sub. -+ [Rainer Jung] -+ - Changes for APR 1.5.1 - - *) apr_os_proc_mutex_get() on Unix: Avoid segfault for cross- -@@ -37,8 +61,8 @@ Changes for APR 1.5.1 - *) Correct a regression in 1.5.0 which affected out-of-tree - builds on Unix. [Rainer Jung] - -- *) Improve platform detection for bundled expat by updating -- config.guess and config.sub. [Rainer Jung] -+ *) Improve platform detection by updating config.guess and config.sub. -+ [Rainer Jung] - - Changes for APR 1.5.0 - -diff -urNp apr-1.5.1/CMakeLists.txt apr/CMakeLists.txt ---- apr-1.5.1/CMakeLists.txt 2014-01-20 14:16:10.000000000 +0000 -+++ apr/CMakeLists.txt 2015-02-05 07:03:16.646241471 +0000 -@@ -234,6 +234,7 @@ SET(APR_TEST_SOURCES - test/testprocmutex.c - test/testrand.c - test/testshm.c -+ test/testskiplist.c - test/testsleep.c - test/testsock.c - test/testsockets.c -@@ -252,7 +253,6 @@ SET(APR_TEST_SOURCES - - SET(install_targets) - SET(install_bin_pdb) --SET(install_lib_pdb) - - # libapr-1 is shared, apr-1 is static - ADD_LIBRARY(libapr-1 SHARED ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED} libapr.rc) -@@ -264,7 +264,6 @@ ADD_DEPENDENCIES(libapr-1 test_char_head - - ADD_LIBRARY(apr-1 STATIC ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED}) - SET(install_targets ${install_targets} apr-1) --SET(install_lib_pdb ${install_lib_pdb} ${PROJECT_BINARY_DIR}/apr-1.pdb) - TARGET_LINK_LIBRARIES(apr-1 ${APR_SYSTEM_LIBS}) - SET_TARGET_PROPERTIES(apr-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_STATIC;WINNT") - ADD_DEPENDENCIES(apr-1 test_char_header) -@@ -272,12 +271,10 @@ ADD_DEPENDENCIES(apr-1 test_char_header) - # libaprapp-1 and aprapp-1 are static - ADD_LIBRARY(libaprapp-1 STATIC misc/win32/apr_app.c misc/win32/internal.c ${APR_PUBLIC_HEADERS_GENERATED}) - SET(install_targets ${install_targets} libaprapp-1) --SET(install_lib_pdb ${install_lib_pdb} ${PROJECT_BINARY_DIR}/libaprapp-1.pdb) - SET_TARGET_PROPERTIES(libaprapp-1 PROPERTIES COMPILE_DEFINITIONS "APR_APP;WINNT") - - ADD_LIBRARY(aprapp-1 STATIC misc/win32/apr_app.c misc/win32/internal.c ${APR_PUBLIC_HEADERS_GENERATED}) - SET(install_targets ${install_targets} aprapp-1) --SET(install_lib_pdb ${install_lib_pdb} ${PROJECT_BINARY_DIR}/aprapp-1.pdb) - SET_TARGET_PROPERTIES(aprapp-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_STATIC;APR_APP;WINNT") - - IF(APR_BUILD_TESTAPR) -@@ -394,10 +391,6 @@ IF(INSTALL_PDB) - INSTALL(FILES ${install_bin_pdb} - DESTINATION bin - CONFIGURATIONS RelWithDebInfo Debug) -- -- INSTALL(FILES ${install_lib_pdb} -- DESTINATION lib -- CONFIGURATIONS RelWithDebInfo Debug) - ENDIF() - - INSTALL(FILES ${APR_PUBLIC_HEADERS_STATIC} ${APR_PUBLIC_HEADERS_GENERATED} DESTINATION include) -diff -urNp apr-1.5.1/include/apr_skiplist.h apr/include/apr_skiplist.h ---- apr-1.5.1/include/apr_skiplist.h 2013-11-17 18:27:39.000000000 +0000 -+++ apr/include/apr_skiplist.h 2015-02-05 07:03:16.824330472 +0000 -@@ -229,7 +229,7 @@ APR_DECLARE(void) apr_skiplist_remove_al - APR_DECLARE(void) apr_skiplist_destroy(apr_skiplist *sl, apr_skiplist_freefunc myfree); - - /** -- * Return the first element in the skip list, leaving the element in the skip list. -+ * Return the first element in the skip list, removing the element from the skip list. - * @param sl The skip list - * @param myfree A function to be called for the removed element - * @remark NULL will be returned if there are no elements -diff -urNp apr-1.5.1/locks/unix/proc_mutex.c apr/locks/unix/proc_mutex.c ---- apr-1.5.1/locks/unix/proc_mutex.c 2014-04-13 18:13:41.000000000 +0000 -+++ apr/locks/unix/proc_mutex.c 2015-02-05 07:03:17.394615472 +0000 -@@ -114,7 +114,9 @@ static apr_status_t proc_mutex_posix_cre - usec = apr_time_usec(now); - apr_snprintf(semname, sizeof(semname), "/ApR.%lxZ%lx", sec, usec); - } -- psem = sem_open(semname, O_CREAT | O_EXCL, 0644, 1); -+ do { -+ psem = sem_open(semname, O_CREAT | O_EXCL, 0644, 1); -+ } while (psem == (sem_t *)SEM_FAILED && errno == EINTR); - if (psem == (sem_t *)SEM_FAILED) { - if (errno == ENAMETOOLONG) { - /* Oh well, good try */ -@@ -122,7 +124,9 @@ static apr_status_t proc_mutex_posix_cre - } else { - return errno; - } -- psem = sem_open(semname, O_CREAT | O_EXCL, 0644, 1); -+ do { -+ psem = sem_open(semname, O_CREAT | O_EXCL, 0644, 1); -+ } while (psem == (sem_t *)SEM_FAILED && errno == EINTR); - } - - if (psem == (sem_t *)SEM_FAILED) { -@@ -140,7 +144,12 @@ static apr_status_t proc_mutex_posix_cre - - static apr_status_t proc_mutex_posix_acquire(apr_proc_mutex_t *mutex) - { -- if (sem_wait(mutex->psem_interproc) < 0) { -+ int rc; -+ -+ do { -+ rc = sem_wait(mutex->psem_interproc); -+ } while (rc < 0 && errno == EINTR); -+ if (rc < 0) { - return errno; - } - mutex->curr_locked = 1; -@@ -149,7 +158,12 @@ static apr_status_t proc_mutex_posix_acq - - static apr_status_t proc_mutex_posix_tryacquire(apr_proc_mutex_t *mutex) - { -- if (sem_trywait(mutex->psem_interproc) < 0) { -+ int rc; -+ -+ do { -+ rc = sem_trywait(mutex->psem_interproc); -+ } while (rc < 0 && errno == EINTR); -+ if (rc < 0) { - if (errno == EAGAIN) { - return APR_EBUSY; - } -diff -urNp apr-1.5.1/Makefile.in apr/Makefile.in ---- apr-1.5.1/Makefile.in 2014-03-17 15:10:26.000000000 +0000 -+++ apr/Makefile.in 2015-02-05 07:03:17.325580971 +0000 -@@ -129,11 +129,11 @@ check: $(TARGET_LIB) - etags: - etags `find . -name '*.[ch]'` - --make_tools_dir: -+OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS) -+tools/gen_test_char.lo: tools/gen_test_char.c - $(APR_MKDIR) tools -+ $(LT_COMPILE) - --OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS) --tools/gen_test_char.lo: make_tools_dir - tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char) - $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS) - -diff -urNp apr-1.5.1/memory/unix/apr_pools.c apr/memory/unix/apr_pools.c ---- apr-1.5.1/memory/unix/apr_pools.c 2011-10-15 21:26:14.000000000 +0000 -+++ apr/memory/unix/apr_pools.c 2015-02-05 07:03:17.389612972 +0000 -@@ -1135,21 +1135,12 @@ APR_DECLARE(char *) apr_pvsprintf(apr_po - * room to hold the NUL terminator. - */ - if (ps.node->first_avail == ps.node->endp) { -- if (psprintf_flush(&ps.vbuff) == -1) { -- if (pool->abort_fn) { -- pool->abort_fn(APR_ENOMEM); -- } -- -- return NULL; -- } -+ if (psprintf_flush(&ps.vbuff) == -1) -+ goto error; - } - -- if (apr_vformatter(psprintf_flush, &ps.vbuff, fmt, ap) == -1) { -- if (pool->abort_fn) -- pool->abort_fn(APR_ENOMEM); -- -- return NULL; -- } -+ if (apr_vformatter(psprintf_flush, &ps.vbuff, fmt, ap) == -1) -+ goto error; - - strp = ps.vbuff.curpos; - *strp++ = '\0'; -@@ -1195,6 +1186,15 @@ APR_DECLARE(char *) apr_pvsprintf(apr_po - list_insert(active, node); - - return strp; -+ -+error: -+ if (pool->abort_fn) -+ pool->abort_fn(APR_ENOMEM); -+ if (ps.got_a_new_node) { -+ ps.node->next = ps.free; -+ allocator_free(pool->allocator, ps.node); -+ } -+ return NULL; - } - - -diff -urNp apr-1.5.1/misc/unix/errorcodes.c apr/misc/unix/errorcodes.c ---- apr-1.5.1/misc/unix/errorcodes.c 2011-03-21 16:55:11.000000000 +0000 -+++ apr/misc/unix/errorcodes.c 2015-02-05 07:03:17.030433472 +0000 -@@ -39,6 +39,8 @@ static char *stuffbuffer(char *buf, apr_ - static char *apr_error_string(apr_status_t statcode) - { - switch (statcode) { -+ case APR_ENOSTAT: -+ return "Could not perform a stat on the file."; - case APR_ENOPOOL: - return "A new pool could not be created."; - case APR_EBADDATE: -@@ -73,7 +75,10 @@ static char *apr_error_string(apr_status - return "The specified IP address is invalid."; - case APR_EBADMASK: - return "The specified network mask is invalid."; -- -+ case APR_ESYMNOTFOUND: -+ return "Could not find the requested symbol."; -+ case APR_ENOTENOUGHENTROPY: -+ return "Not enough entropy to continue."; - case APR_INCHILD: - return - "Your code just forked, and you are currently executing in the " -@@ -128,10 +133,12 @@ static char *apr_error_string(apr_status - return "The given path is misformatted or contained invalid characters"; - case APR_EPATHWILD: - return "The given path contained wildcard characters"; -+ case APR_EBUSY: -+ return "The given lock was busy."; - case APR_EPROC_UNKNOWN: - return "The process is not recognized."; - case APR_EGENERAL: -- return "Internal error"; -+ return "Internal error (specific information not available)"; - default: - return "Error string not specified yet"; - } -diff -urNp apr-1.5.1/network_io/unix/sockaddr.c apr/network_io/unix/sockaddr.c ---- apr-1.5.1/network_io/unix/sockaddr.c 2013-11-12 14:26:22.000000000 +0000 -+++ apr/network_io/unix/sockaddr.c 2015-02-05 07:03:16.784310472 +0000 -@@ -325,6 +325,16 @@ static apr_status_t call_resolver(apr_so - hints.ai_flags = AI_ADDRCONFIG; - } - #endif -+ -+#ifdef __MVS__ -+ /* z/OS will not return IPv4 address under AF_UNSPEC if any IPv6 results -+ * are returned, w/o AI_ALL. -+ */ -+ if (family == APR_UNSPEC) { -+ hints.ai_flags |= AI_ALL; -+ } -+#endif -+ - if(hostname == NULL) { - #ifdef AI_PASSIVE - /* If hostname is NULL, assume we are trying to bind to all -diff -urNp apr-1.5.1/poll/unix/z_asio.c apr/poll/unix/z_asio.c ---- apr-1.5.1/poll/unix/z_asio.c 2014-01-25 18:22:55.000000000 +0000 -+++ apr/poll/unix/z_asio.c 2015-02-05 07:03:17.253544972 +0000 -@@ -379,6 +379,7 @@ static apr_status_t asio_pollset_add(apr - APR_RING_REMOVE(elem, link); - DBG1(3, "used recycled memory at %08p\n", elem); - elem->state = ASIO_INIT; -+ elem->a.aio_cflags = 0; - } - else { - elem = (asio_elem_t *) apr_pcalloc(pollset->pool, sizeof(asio_elem_t)); -@@ -659,6 +660,7 @@ static apr_status_t asio_pollset_poll(ap - if (ret == 1) { - DBG(4, "asyncio() completed inline\n"); - /* it's ready now */ -+ elem->state = ASIO_COMPLETE; - APR_RING_INSERT_TAIL(&(priv->ready_ring), elem, asio_elem_t, - link); - } -diff -urNp apr-1.5.1/tables/apr_skiplist.c apr/tables/apr_skiplist.c ---- apr-1.5.1/tables/apr_skiplist.c 2013-09-30 13:01:21.000000000 +0000 -+++ apr/tables/apr_skiplist.c 2015-02-05 07:03:17.392614471 +0000 -@@ -387,11 +387,9 @@ APR_DECLARE(apr_skiplistnode *) apr_skip - (apr_skiplistnode *)apr_skiplist_alloc(sl, sizeof(apr_skiplistnode)); - sl->top->up->down = sl->top; - sl->top = sl->topend = sl->top->up; --#if 0 - sl->top->prev = sl->top->next = sl->top->nextindex = - sl->top->previndex = sl->top->up = NULL; - sl->top->data = NULL; --#endif - sl->top->sl = sl; - } - ch = sl->height; -diff -urNp apr-1.5.1/test/abts_tests.h apr/test/abts_tests.h ---- apr-1.5.1/test/abts_tests.h 2013-10-09 21:24:03.000000000 +0000 -+++ apr/test/abts_tests.h 2015-02-05 07:03:16.655245972 +0000 -@@ -67,7 +67,8 @@ const struct testlist { - {testtime}, - {testud}, - {testuser}, -- {testvsn} -+ {testvsn}, -+ {testskiplist} - }; - - #endif /* APR_TEST_INCLUDES */ -diff -urNp apr-1.5.1/test/Makefile.in apr/test/Makefile.in ---- apr-1.5.1/test/Makefile.in 2013-10-10 21:31:21.000000000 +0000 -+++ apr/test/Makefile.in 2015-02-05 07:03:16.648242471 +0000 -@@ -29,7 +29,7 @@ TESTS = testtime.lo teststr.lo testvsn.l - testhash.lo testargs.lo testnames.lo testuser.lo testpath.lo \ - testenv.lo testprocmutex.lo testfnmatch.lo testatomic.lo testflock.lo \ - testsock.lo testglobalmutex.lo teststrnatcmp.lo testfilecopy.lo \ -- testtemp.lo testlfs.lo testcond.lo testescape.lo -+ testtemp.lo testlfs.lo testcond.lo testescape.lo testskiplist.lo - - OTHER_PROGRAMS = \ - echod@EXEEXT@ \ -diff -urNp apr-1.5.1/test/testskiplist.c apr/test/testskiplist.c ---- apr-1.5.1/test/testskiplist.c 1970-01-01 00:00:00.000000000 +0000 -+++ apr/test/testskiplist.c 2015-02-05 07:03:16.741288971 +0000 -@@ -0,0 +1,100 @@ -+/* Licensed to the Apache Software Foundation (ASF) under one or more -+ * contributor license agreements. See the NOTICE file distributed with -+ * this work for additional information regarding copyright ownership. -+ * The ASF licenses this file to You under the Apache License, Version 2.0 -+ * (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+#include "testutil.h" -+#include "apr.h" -+#include "apr_strings.h" -+#include "apr_general.h" -+#include "apr_pools.h" -+#include "apr_skiplist.h" -+#if APR_HAVE_STDIO_H -+#include -+#endif -+#if APR_HAVE_STDLIB_H -+#include -+#endif -+#if APR_HAVE_STRING_H -+#include -+#endif -+ -+static void add_int_to_skiplist(apr_skiplist *list, int n){ -+ int* a = apr_skiplist_alloc(list, sizeof(int)); -+ *a = n; -+ apr_skiplist_insert(list, a); -+} -+ -+static int comp(void *a, void *b){ -+ return *((int*) a) - *((int*) b); -+} -+ -+ -+static int compk(void *a, void *b){ -+ return comp(a, b); -+} -+ -+static void skiplist_test(abts_case *tc, void *data) { -+ int test_elems = 10; -+ int i = 0, j = 0; -+ int *val = NULL; -+ apr_skiplist * list = NULL; -+ apr_pool_t *p; -+ -+ apr_pool_create(&p, NULL); -+ apr_skiplist_init(&list, p); -+ apr_skiplist_set_compare(list, comp, compk); -+ -+ /* insert 10 objects */ -+ for (i = 0; i < test_elems; ++i){ -+ add_int_to_skiplist(list, i); -+ } -+ -+ /* remove all objects */ -+ while ((val = apr_skiplist_pop(list, NULL))){ -+ ABTS_INT_EQUAL(tc, *val, j++); -+ } -+ -+ /* insert 10 objects again */ -+ for (i = test_elems; i < test_elems+test_elems; ++i){ -+ add_int_to_skiplist(list, i); -+ } -+ -+ j = test_elems; -+ while ((val = apr_skiplist_pop(list, NULL))){ -+ ABTS_INT_EQUAL(tc, *val, j++); -+ } -+ -+ /* empty */ -+ val = apr_skiplist_pop(list, NULL); -+ ABTS_PTR_EQUAL(tc, val, NULL); -+ -+ add_int_to_skiplist(list, 42); -+ val = apr_skiplist_pop(list, NULL); -+ ABTS_INT_EQUAL(tc, *val, 42); -+ -+ /* empty */ -+ val = apr_skiplist_pop(list, NULL); -+ ABTS_PTR_EQUAL(tc, val, NULL); -+} -+ -+abts_suite *testskiplist(abts_suite *suite) -+{ -+ suite = ADD_SUITE(suite) -+ -+ abts_run_test(suite, skiplist_test, NULL); -+ -+ return suite; -+} -+ -diff -urNp apr-1.5.1/test/testutil.h apr/test/testutil.h ---- apr-1.5.1/test/testutil.h 2013-10-09 21:24:03.000000000 +0000 -+++ apr/test/testutil.h 2015-02-05 07:03:16.671253971 +0000 -@@ -103,5 +103,6 @@ abts_suite *testtime(abts_suite *suite); - abts_suite *testud(abts_suite *suite); - abts_suite *testuser(abts_suite *suite); - abts_suite *testvsn(abts_suite *suite); -+abts_suite *testskiplist(abts_suite *suite); - - #endif /* APR_TEST_INCLUDES */ -diff -urNp apr-1.5.1/threadproc/netware/thread.c apr/threadproc/netware/thread.c ---- apr-1.5.1/threadproc/netware/thread.c 2011-02-18 11:24:40.000000000 +0000 -+++ apr/threadproc/netware/thread.c 2015-02-05 07:03:17.006421471 +0000 -@@ -77,7 +77,7 @@ apr_status_t apr_thread_create(apr_threa - apr_pool_t *pool) - { - apr_status_t stat; -- long flags = NX_THR_BIND_CONTEXT; -+ unsigned long flags = NX_THR_BIND_CONTEXT; - char threadName[NX_MAX_OBJECT_NAME_LEN+1]; - size_t stack_size = APR_DEFAULT_STACK_SIZE; - -@@ -120,8 +120,8 @@ apr_status_t apr_thread_create(apr_threa - /* void(*start_routine)(void *arg) */ (void (*)(void *)) dummy_worker, - /* void *arg */ (*new), - /* int priority */ NX_PRIO_MED, -- /* NXSize_t stackSize */ stack_size, -- /* long flags */ NX_CTX_NORMAL, -+ /* size_t stackSize */ stack_size, -+ /* unsigned long flags */ NX_CTX_NORMAL, - /* int *error */ &stat); - - stat = NXContextSetName( -@@ -130,7 +130,7 @@ apr_status_t apr_thread_create(apr_threa - - stat = NXThreadCreate( - /* NXContext_t context */ (*new)->ctx, -- /* long flags */ flags, -+ /* unsigned long flags */ flags, - /* NXThreadId_t *thread_id */ &(*new)->td); - - if (stat == 0) diff --git a/apr.spec b/apr.spec index 4f1d636..13b2022 100644 --- a/apr.spec +++ b/apr.spec @@ -5,18 +5,17 @@ Summary: Apache Portable Runtime Summary(pl.UTF-8): Apache Portable Runtime - przenośna biblioteka uruchomieniowa Name: apr -Version: 1.5.1 -Release: 3 +Version: 1.6.2 +Release: 1 Epoch: 1 License: Apache v2.0 Group: Libraries Source0: http://www.apache.org/dist/apr/%{name}-%{version}.tar.bz2 -# Source0-md5: 5486180ec5a23efb5cae6d4292b300ab +# Source0-md5: e81a851967c79b5ce9bfbc909e4bf735 Patch0: %{name}-link.patch Patch1: %{name}-libtool.patch # disable some things that require recent kernel Patch2: %{name}-disable-features.patch -Patch3: %{name}-svn.patch URL: http://apr.apache.org/ BuildRequires: autoconf >= 2.59 BuildRequires: automake @@ -92,7 +91,6 @@ Statyczna biblioteka apr. %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 cat >> config.layout <<'EOF' @@ -116,6 +114,7 @@ install /usr/share/automake/config.* build --enable-nonportable-atomics \ %endif %endif + --enable-pool-concurrency-check \ --enable-threads \ --with-devrandom=/dev/urandom %{__make} -- 2.37.3