Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions srcpkgs/apr/files/musl-dso.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
Disables tests that always fail on musl
--- a/test/testdso.c 2010-01-04 01:35:07.000000000 +0000
+++ b/test/testdso.c 2023-04-21 06:58:38.895577532 +0100
@@ -115,25 +115,6 @@
apr_dso_unload(h);
}

-static void test_unload_module(abts_case *tc, void *data)
-{
- apr_dso_handle_t *h = NULL;
- apr_status_t status;
- char errstr[256];
- apr_dso_handle_sym_t func1 = NULL;
-
- status = apr_dso_load(&h, modname, p);
- ABTS_ASSERT(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- ABTS_PTR_NOTNULL(tc, h);
-
- status = apr_dso_unload(h);
- ABTS_ASSERT(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
-
- status = apr_dso_sym(&func1, h, "print_hello");
- ABTS_INT_EQUAL(tc, 1, APR_STATUS_IS_ESYMNOTFOUND(status));
-}
-
-
#ifdef LIB_NAME
static char *libname;

@@ -201,24 +182,6 @@
apr_dso_unload(h);
}

-static void test_unload_library(abts_case *tc, void *data)
-{
- apr_dso_handle_t *h = NULL;
- apr_status_t status;
- char errstr[256];
- apr_dso_handle_sym_t func1 = NULL;
-
- status = apr_dso_load(&h, libname, p);
- ABTS_ASSERT(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- ABTS_PTR_NOTNULL(tc, h);
-
- status = apr_dso_unload(h);
- ABTS_ASSERT(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
-
- status = apr_dso_sym(&func1, h, "print_hello");
- ABTS_INT_EQUAL(tc, 1, APR_STATUS_IS_ESYMNOTFOUND(status));
-}
-
#endif /* def(LIB_NAME) */

static void test_load_notthere(abts_case *tc, void *data)
@@ -244,7 +207,6 @@
abts_run_test(suite, test_load_module, NULL);
abts_run_test(suite, test_dso_sym, NULL);
abts_run_test(suite, test_dso_sym_return_value, NULL);
- abts_run_test(suite, test_unload_module, NULL);

#ifdef LIB_NAME
apr_filepath_merge(&libname, NULL, LIB_NAME, 0, p);
@@ -252,7 +214,6 @@
abts_run_test(suite, test_load_library, NULL);
abts_run_test(suite, test_dso_sym_library, NULL);
abts_run_test(suite, test_dso_sym_return_value_library, NULL);
- abts_run_test(suite, test_unload_library, NULL);
#endif

abts_run_test(suite, test_load_notthere, NULL);
45 changes: 45 additions & 0 deletions srcpkgs/apr/patches/0001-disable-testsockets.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
diff -urN apr-1.7.2/test/Makefile.in apr-1.7.2-copy/test/Makefile.in
--- apr-1.7.2/test/Makefile.in 2019-08-23 23:16:29.000000000 +0100
+++ apr-1.7.2-copy/test/Makefile.in 2023-03-25 11:27:25.462869581 +0000
@@ -24,7 +24,7 @@
TESTS = testtime.lo teststr.lo testvsn.lo testipsub.lo testshm.lo \
testmmap.lo testud.lo testtable.lo testsleep.lo testpools.lo \
testfmt.lo testfile.lo testdir.lo testfileinfo.lo testrand.lo \
- testdso.lo testoc.lo testdup.lo testsockets.lo testproc.lo \
+ testdso.lo testoc.lo testdup.lo testproc.lo \
testpoll.lo testlock.lo testsockopt.lo testpipe.lo testthread.lo \
testhash.lo testargs.lo testnames.lo testuser.lo testpath.lo \
testenv.lo testprocmutex.lo testfnmatch.lo testatomic.lo testflock.lo \
diff -urN apr-1.7.2/test/NWGNUaprtest apr-1.7.2-copy/test/NWGNUaprtest
--- apr-1.7.2/test/NWGNUaprtest 2014-07-24 14:19:33.000000000 +0100
+++ apr-1.7.2-copy/test/NWGNUaprtest 2023-03-25 11:26:31.368731479 +0000
@@ -203,7 +203,6 @@
$(OBJDIR)/testskiplist.o \
$(OBJDIR)/testsleep.o \
$(OBJDIR)/testsock.o \
- $(OBJDIR)/testsockets.o \
$(OBJDIR)/testsockopt.o \
$(OBJDIR)/teststr.o \
$(OBJDIR)/teststrnatcmp.o \
diff -urN apr-1.7.2/test/abts_tests.h apr-1.7.2-copy/test/abts_tests.h
--- apr-1.7.2/test/abts_tests.h 2018-06-25 22:09:25.000000000 +0100
+++ apr-1.7.2-copy/test/abts_tests.h 2023-03-25 11:27:57.940952471 +0000
@@ -58,7 +58,6 @@
{testsleep},
{testshm},
{testsock},
- {testsockets},
{testsockopt},
{teststr},
{teststrnatcmp},
diff -urN apr-1.7.2/test/testutil.h apr-1.7.2-copy/test/testutil.h
--- apr-1.7.2/test/testutil.h 2018-06-25 22:09:25.000000000 +0100
+++ apr-1.7.2-copy/test/testutil.h 2023-03-25 11:27:43.309915127 +0000
@@ -93,7 +93,6 @@
abts_suite *testsleep(abts_suite *suite);
abts_suite *testshm(abts_suite *suite);
abts_suite *testsock(abts_suite *suite);
-abts_suite *testsockets(abts_suite *suite);
abts_suite *testsockopt(abts_suite *suite);
abts_suite *teststr(abts_suite *suite);
abts_suite *teststrnatcmp(abts_suite *suite);
45 changes: 45 additions & 0 deletions srcpkgs/apr/patches/0002-disable-testsock.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
diff -urN apr-1.7.2/test/Makefile.in apr-1.7.2-copy/test/Makefile.in
--- apr-1.7.2/test/Makefile.in 2023-03-25 11:48:28.520082121 +0000
+++ apr-1.7.2-copy/test/Makefile.in 2023-03-25 11:49:34.033248201 +0000
@@ -28,7 +28,7 @@
testpoll.lo testlock.lo testsockopt.lo testpipe.lo testthread.lo \
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 \
+ testglobalmutex.lo teststrnatcmp.lo testfilecopy.lo \
testtemp.lo testlfs.lo testcond.lo testescape.lo testskiplist.lo \
testencode.lo

diff -urN apr-1.7.2/test/NWGNUaprtest apr-1.7.2-copy/test/NWGNUaprtest
--- apr-1.7.2/test/NWGNUaprtest 2023-03-25 11:48:28.521082124 +0000
+++ apr-1.7.2-copy/test/NWGNUaprtest 2023-03-25 11:49:55.891303606 +0000
@@ -202,7 +202,6 @@
$(OBJDIR)/testshm.o \
$(OBJDIR)/testskiplist.o \
$(OBJDIR)/testsleep.o \
- $(OBJDIR)/testsock.o \
$(OBJDIR)/testsockopt.o \
$(OBJDIR)/teststr.o \
$(OBJDIR)/teststrnatcmp.o \
diff -urN apr-1.7.2/test/abts_tests.h apr-1.7.2-copy/test/abts_tests.h
--- apr-1.7.2/test/abts_tests.h 2023-03-25 11:48:28.521082124 +0000
+++ apr-1.7.2-copy/test/abts_tests.h 2023-03-25 11:51:16.428508352 +0000
@@ -57,7 +57,6 @@
{testrand},
{testsleep},
{testshm},
- {testsock},
{testsockopt},
{teststr},
{teststrnatcmp},
diff -urN apr-1.7.2/test/testutil.h apr-1.7.2-copy/test/testutil.h
--- apr-1.7.2/test/testutil.h 2023-03-25 11:48:28.521082124 +0000
+++ apr-1.7.2-copy/test/testutil.h 2023-03-25 11:51:03.072474350 +0000
@@ -92,7 +92,6 @@
abts_suite *testrand(abts_suite *suite);
abts_suite *testsleep(abts_suite *suite);
abts_suite *testshm(abts_suite *suite);
-abts_suite *testsock(abts_suite *suite);
abts_suite *testsockopt(abts_suite *suite);
abts_suite *teststr(abts_suite *suite);
abts_suite *teststrnatcmp(abts_suite *suite);
56 changes: 0 additions & 56 deletions srcpkgs/apr/patches/atomic64.patch

This file was deleted.

18 changes: 10 additions & 8 deletions srcpkgs/apr/template
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
# Template file for 'apr'
pkgname=apr
version=1.7.0
revision=4
version=1.7.4
revision=1
build_style=gnu-configure
configure_args="--with-installbuilddir=/usr/share/apr-1/build"
makedepends="expat-devel libuuid-devel"
checkdepends="iana-etc"
short_desc="Apache Portable Runtime Library"
maintainer="Orphaned <[email protected]>"
license="Apache-2.0"
homepage="https://apr.apache.org/"
distfiles="https://www.apache.org/dist/apr/apr-${version}.tar.bz2"
checksum=e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea
checksum=fc648de983f3a2a6c9e78dea1f180639bd2fad6c06d556d4367a701fe5c35577

# Do not redefine struct iovec in include/apr_want.h
CFLAGS="-DAPR_IOVEC_DEFINED=1"
Expand All @@ -29,14 +30,16 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
LDFLAGS="-latomic"
fi

post_extract() {
if [ "${XBPS_TARGET_LIBC}" = "musl" ]; then
patch -d "${wrksrc}" -Np1 <"${FILESDIR}/musl-dso.patch"
fi
}
Comment on lines +33 to +37
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this patch also work on glibc? If yes, we should put it to patches/ and not apply it manually here

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this patch isn't really correct, the reason the test fails is because dlclose is a no-op and doesn't actually unload anything: https://wiki.musl-libc.org/functional-differences-from-glibc.html#Unloading-libraries

the correct thing to do is skip the test on musl

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nekopsykose That's very useful info about musl's dlclose. I couldn't wrap my head around why it didn't appear to unload the lib. I've now patched out the tests instead. Thank you.

Copy link
Contributor Author

@gmbeard gmbeard Apr 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@paper42 The (now updated) patch is only applicable to musl, but I guess it would work on glibc too. Would it be preferable to apply the patch unconditionally?


pre_build() {
if [ "$CROSS_BUILD" ]; then
vsed -i Makefile \
-e "/LINK_PROG.*OBJECTS_gen_test_char/s|.*|\t${BUILD_CC} ${BUILD_CFLAGS} tools/gen_test_char.c -o tools/gen_test_char|"
# Fixup some not detected configure results to match native builds
vsed -i include/apr.h \
-e "/#define APR_HAVE_SHMEM_MMAP_ZERO/s;0;1;" \
-e "/#define APR_HAVE_IOVEC/s;0;1;" \
-e "/#define APR_HAS_POSIXSEM_SERIALIZE/s;0;1;" \
-e "/#define APR_HAS_PROC_PTHREAD_SERIALIZE/s;0;1;"
fi
Expand All @@ -45,7 +48,6 @@ pre_build() {
post_install() {
if [ "$CROSS_BUILD" ]; then
vsed -i -e "s,$XBPS_CROSS_BASE,,g" \
"$DESTDIR/usr/bin/apr-1-config" \
"$DESTDIR/usr/share/apr-1/build/apr_rules.mk"
fi
}
Expand Down