use patched iconv

This commit is contained in:
Sebastian Hugentobler 2016-11-07 10:23:23 +01:00
parent 3121ad6abe
commit ebc2dde255
2 changed files with 62 additions and 2 deletions

View File

@ -5,7 +5,7 @@ ENV FPMGROUP nginx
ENV VERSION 10.0.1 ENV VERSION 10.0.1
RUN apk add --no-cache openssl tar nginx postgresql-client RUN apk add --no-cache openssl tar nginx postgresql-client libtool g++ make
RUN apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/main/ --allow-untrusted \ RUN apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/main/ --allow-untrusted \
libressl2.4-libcrypto \ libressl2.4-libcrypto \
@ -41,6 +41,20 @@ RUN apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/test
RUN ln -s /usr/bin/php7 /usr/bin/php RUN ln -s /usr/bin/php7 /usr/bin/php
RUN rm /usr/bin/iconv
RUN mkdir /tmp/iconv
RUN wget -qO- https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz | tar xz -C /tmp/iconv --strip 1
WORKDIR /tmp/iconv
ADD libiconv-1-fixes.patch /tmp/iconv/libiconv-1-fixes.patch
RUN ./configure --prefix=/usr/local
RUN patch -p1 -u < libiconv-1-fixes.patch
RUN make && make install
RUN libtool --finish /usr/local/lib
RUN rm -r /tmp/iconv
ENV LD_PRELOAD /usr/local/lib/preloadable_libiconv.so
RUN mkdir /var/lib/nextcloud RUN mkdir /var/lib/nextcloud
RUN wget -qO- https://download.nextcloud.com/server/releases/nextcloud-$VERSION.tar.bz2 | tar xj -C /var/lib/nextcloud --strip 1 RUN wget -qO- https://download.nextcloud.com/server/releases/nextcloud-$VERSION.tar.bz2 | tar xj -C /var/lib/nextcloud --strip 1
@ -51,7 +65,7 @@ RUN chmod +x /var/lib/nextcloud/occ
RUN mkdir /run/nginx RUN mkdir /run/nginx
RUN apk del tar RUN apk del tar libtool g++ make
ADD /rootfs / ADD /rootfs /

46
libiconv-1-fixes.patch Normal file
View File

@ -0,0 +1,46 @@
This file is part of MXE.
See index.html for further information.
Contains ad hoc patches for cross building.
From 47345f5dcfb91da8afed7c4e6c29faa2056db447 Mon Sep 17 00:00:00 2001
From: MXE
Date: Fri, 7 Jun 2013 17:44:24 +1000
Subject: [PATCH] remove gets since c++11 removed it
https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00186.html
diff --git a/srclib/stdio.in.h b/srclib/stdio.in.h
index 473c84c..dfb59eb 100644
--- a/srclib/stdio.in.h
+++ b/srclib/stdio.in.h
@@ -679,22 +679,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
# endif
#endif
-#if @GNULIB_GETS@
-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef gets
-# define gets rpl_gets
-# endif
-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (gets, char *, (char *s));
-# else
-_GL_CXXALIAS_SYS (gets, char *, (char *s));
-# undef gets
-# endif
-_GL_CXXALIASWARN (gets);
/* It is very rare that the developer ever has full control of stdin,
- so any use of gets warrants an unconditional warning. Assume it is
- always declared, since it is required by C89. */
+ so any use of gets warrants an unconditional warning; besides, C11
+ removed it. */
+#undef gets
+#if HAVE_RAW_DECL_GETS
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
--
1.8.2.3