forked from Ivasoft/docker-tvheadend
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb7c4bbefa | ||
|
|
c2250aa33f | ||
|
|
80fea09e66 | ||
|
|
bd7ef42e33 | ||
|
|
c92cf86b86 | ||
|
|
01c0439c90 | ||
|
|
17ff5fcca4 | ||
|
|
0ddbdd0c08 | ||
|
|
df6da18c15 | ||
|
|
83f2893d22 | ||
|
|
b41cde8174 | ||
|
|
a306c49d7a | ||
|
|
4af60c604c | ||
|
|
4288628824 | ||
|
|
5d372c0e19 | ||
|
|
6746a3fbf6 | ||
|
|
0f99b9a0d5 | ||
|
|
aa9724fdc2 | ||
|
|
de493babb9 |
302
Dockerfile
302
Dockerfile
@@ -1,17 +1,12 @@
|
|||||||
FROM lsiobase/alpine:3.7
|
FROM lsiobase/alpine:3.8 as buildstage
|
||||||
|
############## build stage ##############
|
||||||
# set version label
|
|
||||||
ARG BUILD_DATE
|
|
||||||
ARG VERSION
|
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
|
||||||
LABEL maintainer="saarg"
|
|
||||||
|
|
||||||
# package versions
|
# package versions
|
||||||
ARG ARGTABLE_VER="2.13"
|
ARG ARGTABLE_VER="2.13"
|
||||||
ARG TZ="Europe/Oslo"
|
|
||||||
ARG XMLTV_VER="0.5.69"
|
ARG XMLTV_VER="0.5.69"
|
||||||
|
|
||||||
# environment settings
|
# environment settings
|
||||||
|
ARG TZ="Europe/Oslo"
|
||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
|
|
||||||
# copy patches
|
# copy patches
|
||||||
@@ -19,10 +14,13 @@ COPY patches/ /tmp/patches/
|
|||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install build packages ****" && \
|
echo "**** install build packages ****" && \
|
||||||
apk add --no-cache --virtual=build-dependencies \
|
apk add --no-cache \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
|
bsd-compat-headers \
|
||||||
|
bzip2 \
|
||||||
cmake \
|
cmake \
|
||||||
|
curl \
|
||||||
ffmpeg-dev \
|
ffmpeg-dev \
|
||||||
file \
|
file \
|
||||||
findutils \
|
findutils \
|
||||||
@@ -30,6 +28,9 @@ RUN \
|
|||||||
gcc \
|
gcc \
|
||||||
gettext-dev \
|
gettext-dev \
|
||||||
git \
|
git \
|
||||||
|
gzip \
|
||||||
|
libcurl \
|
||||||
|
libdvbcsa-dev \
|
||||||
libgcrypt-dev \
|
libgcrypt-dev \
|
||||||
libhdhomerun-dev \
|
libhdhomerun-dev \
|
||||||
libtool \
|
libtool \
|
||||||
@@ -37,23 +38,194 @@ RUN \
|
|||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
linux-headers \
|
||||||
make \
|
make \
|
||||||
openssl-dev \
|
openssl-dev \
|
||||||
opus-dev \
|
opus-dev \
|
||||||
patch \
|
patch \
|
||||||
pcre2-dev \
|
pcre2-dev \
|
||||||
|
perl-archive-zip \
|
||||||
|
perl-boolean \
|
||||||
|
perl-capture-tiny \
|
||||||
|
perl-cgi \
|
||||||
|
perl-compress-raw-zlib \
|
||||||
|
perl-data-dumper \
|
||||||
|
perl-date-manip \
|
||||||
|
perl-datetime \
|
||||||
|
perl-datetime-format-strptime \
|
||||||
|
perl-datetime-timezone \
|
||||||
|
perl-dbd-sqlite \
|
||||||
|
perl-dbi \
|
||||||
perl-dev \
|
perl-dev \
|
||||||
pngquant \
|
perl-digest-sha1 \
|
||||||
|
perl-doc \
|
||||||
|
perl-file-slurp \
|
||||||
|
perl-file-temp \
|
||||||
|
perl-file-which \
|
||||||
|
perl-getopt-long \
|
||||||
|
perl-html-parser \
|
||||||
|
perl-html-tree \
|
||||||
|
perl-http-cookies \
|
||||||
|
perl-io \
|
||||||
|
perl-io-compress \
|
||||||
|
perl-io-html \
|
||||||
|
perl-io-socket-ssl \
|
||||||
|
perl-io-stringy \
|
||||||
|
perl-json \
|
||||||
|
perl-libwww \
|
||||||
|
perl-lingua-en-numbers-ordinate \
|
||||||
|
perl-lingua-preferred \
|
||||||
|
perl-list-moreutils \
|
||||||
|
perl-module-build \
|
||||||
|
perl-module-pluggable \
|
||||||
|
perl-net-ssleay \
|
||||||
|
perl-parse-recdescent \
|
||||||
|
perl-path-class \
|
||||||
|
perl-scalar-list-utils \
|
||||||
|
perl-term-progressbar \
|
||||||
|
perl-term-readkey \
|
||||||
|
perl-test-exception \
|
||||||
|
perl-test-requires \
|
||||||
|
perl-timedate \
|
||||||
|
perl-try-tiny \
|
||||||
|
perl-unicode-string \
|
||||||
|
perl-xml-libxml \
|
||||||
|
perl-xml-libxslt \
|
||||||
|
perl-xml-parser \
|
||||||
|
perl-xml-sax \
|
||||||
|
perl-xml-treepp \
|
||||||
|
perl-xml-twig \
|
||||||
|
perl-xml-writer \
|
||||||
pkgconf \
|
pkgconf \
|
||||||
|
pngquant \
|
||||||
|
python \
|
||||||
sdl-dev \
|
sdl-dev \
|
||||||
|
tar \
|
||||||
uriparser-dev \
|
uriparser-dev \
|
||||||
wget \
|
wget \
|
||||||
x264-dev \
|
x264-dev \
|
||||||
x265-dev \
|
x265-dev \
|
||||||
zlib-dev && \
|
zlib-dev && \
|
||||||
apk add --no-cache --virtual=build-dependencies \
|
apk add --no-cache \
|
||||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||||
gnu-libiconv-dev && \
|
gnu-libiconv-dev
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
echo "**** remove musl iconv.h and replace with gnu-iconv.h ****" && \
|
||||||
|
rm -rf /usr/include/iconv.h && \
|
||||||
|
cp /usr/include/gnu-libiconv/iconv.h /usr/include/iconv.h
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
echo "**** install perl modules for xmltv ****" && \
|
||||||
|
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
||||||
|
cpanm --installdeps /tmp/patches
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
echo "**** compile XMLTV ****" && \
|
||||||
|
curl -o \
|
||||||
|
/tmp/xmtltv-src.tar.bz2 -L \
|
||||||
|
"https://sourceforge.net/projects/xmltv/files/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
|
||||||
|
tar xf \
|
||||||
|
/tmp/xmtltv-src.tar.bz2 -C \
|
||||||
|
/tmp --strip-components=1 && \
|
||||||
|
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
||||||
|
echo "**** Perl 5.26 fixes for XMTLV ****" && \
|
||||||
|
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_latex && \
|
||||||
|
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_text && \
|
||||||
|
sed "s/\(lib\/set_share_dir.pl';\)/.\/\1/" -i grab/it/tv_grab_it.PL && \
|
||||||
|
sed "s/\(filter\/Grep.pm';\)/.\/\1/" -i filter/tv_grep.PL && \
|
||||||
|
sed "s/\(lib\/XMLTV.pm.in';\)/.\/\1/" -i lib/XMLTV.pm.PL && \
|
||||||
|
sed "s/\(lib\/Ask\/Term.pm';\)/.\/\1/" -i Makefile.PL && \
|
||||||
|
PERL5LIB=`pwd` && \
|
||||||
|
echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \
|
||||||
|
make && \
|
||||||
|
make test && \
|
||||||
|
make DESTDIR=/tmp/xmltv-build install
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
echo "**** compile tvheadend ****" && \
|
||||||
|
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
||||||
|
cd /tmp/tvheadend && \
|
||||||
|
./configure \
|
||||||
|
`#Encoding` \
|
||||||
|
--disable-ffmpeg_static \
|
||||||
|
--disable-libfdkaac_static \
|
||||||
|
--disable-libtheora_static \
|
||||||
|
--disable-libopus_static \
|
||||||
|
--disable-libvorbis_static \
|
||||||
|
--disable-libvpx_static \
|
||||||
|
--disable-libx264_static \
|
||||||
|
--disable-libx265_static \
|
||||||
|
--disable-libfdkaac \
|
||||||
|
--enable-libopus \
|
||||||
|
--enable-libvorbis \
|
||||||
|
--enable-libvpx \
|
||||||
|
--enable-libx264 \
|
||||||
|
--enable-libx265 \
|
||||||
|
\
|
||||||
|
`#Options` \
|
||||||
|
--disable-avahi \
|
||||||
|
--disable-dbus_1 \
|
||||||
|
--disable-bintray_cache \
|
||||||
|
--disable-hdhomerun_static \
|
||||||
|
--enable-hdhomerun_client \
|
||||||
|
--enable-libav \
|
||||||
|
--enable-pngquant \
|
||||||
|
--enable-trace \
|
||||||
|
--enable-vaapi \
|
||||||
|
--infodir=/usr/share/info \
|
||||||
|
--localstatedir=/var \
|
||||||
|
--mandir=/usr/share/man \
|
||||||
|
--prefix=/usr \
|
||||||
|
--sysconfdir=/config && \
|
||||||
|
make && \
|
||||||
|
make DESTDIR=/tmp/tvheadend-build install
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
echo "**** compile argtable2 ****" && \
|
||||||
|
ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \
|
||||||
|
mkdir -p \
|
||||||
|
/tmp/argtable && \
|
||||||
|
curl -o \
|
||||||
|
/tmp/argtable-src.tar.gz -L \
|
||||||
|
"https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \
|
||||||
|
tar xf \
|
||||||
|
/tmp/argtable-src.tar.gz -C \
|
||||||
|
/tmp/argtable --strip-components=1 && \
|
||||||
|
cp /tmp/patches/config.* /tmp/argtable && \
|
||||||
|
cd /tmp/argtable && \
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr && \
|
||||||
|
make && \
|
||||||
|
make check && \
|
||||||
|
make DESTDIR=/tmp/argtable-build install && \
|
||||||
|
echo "**** copy to /usr for comskip dependency ****" && \
|
||||||
|
cp -pr /tmp/argtable-build/usr/* /usr/
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
echo "***** compile comskip ****" && \
|
||||||
|
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
|
||||||
|
cd /tmp/comskip && \
|
||||||
|
./autogen.sh && \
|
||||||
|
./configure \
|
||||||
|
--bindir=/usr/bin \
|
||||||
|
--sysconfdir=/config/comskip && \
|
||||||
|
make && \
|
||||||
|
make DESTDIR=/tmp/comskip-build install
|
||||||
|
|
||||||
|
############## runtime stage ##############
|
||||||
|
FROM lsiobase/alpine:3.8
|
||||||
|
|
||||||
|
# set version label
|
||||||
|
ARG BUILD_DATE
|
||||||
|
ARG VERSION
|
||||||
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
|
LABEL maintainer="saarg"
|
||||||
|
|
||||||
|
# environment settings
|
||||||
|
ENV HOME="/config"
|
||||||
|
|
||||||
|
RUN \
|
||||||
echo "**** install runtime packages ****" && \
|
echo "**** install runtime packages ****" && \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
bsd-compat-headers \
|
bsd-compat-headers \
|
||||||
@@ -63,10 +235,12 @@ RUN \
|
|||||||
ffmpeg-libs \
|
ffmpeg-libs \
|
||||||
gzip \
|
gzip \
|
||||||
libcrypto1.0 \
|
libcrypto1.0 \
|
||||||
libcurl \
|
libcurl \
|
||||||
|
libdvbcsa \
|
||||||
libhdhomerun-libs \
|
libhdhomerun-libs \
|
||||||
libssl1.0 \
|
libssl1.0 \
|
||||||
libva \
|
libva \
|
||||||
|
libva-intel-driver \
|
||||||
libvpx \
|
libvpx \
|
||||||
libxml2 \
|
libxml2 \
|
||||||
libxslt \
|
libxslt \
|
||||||
@@ -135,101 +309,15 @@ RUN \
|
|||||||
zlib && \
|
zlib && \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||||
gnu-libiconv && \
|
gnu-libiconv
|
||||||
echo "**** install perl modules for xmltv ****" && \
|
|
||||||
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
|
||||||
cpanm --installdeps /tmp/patches && \
|
|
||||||
echo "**** build tvheadend ****" && \
|
|
||||||
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
|
||||||
cd /tmp/tvheadend && \
|
|
||||||
./configure \
|
|
||||||
`#Encoding` \
|
|
||||||
--disable-ffmpeg_static \
|
|
||||||
--disable-libfdkaac_static \
|
|
||||||
--disable-libtheora_static \
|
|
||||||
--disable-libopus_static \
|
|
||||||
--disable-libvorbis_static \
|
|
||||||
--disable-libvpx_static \
|
|
||||||
--disable-libx264_static \
|
|
||||||
--disable-libx265_static \
|
|
||||||
--disable-libfdkaac \
|
|
||||||
--enable-libopus \
|
|
||||||
--enable-libvorbis \
|
|
||||||
--enable-libvpx \
|
|
||||||
--enable-libx264 \
|
|
||||||
--enable-libx265 \
|
|
||||||
\
|
|
||||||
`#Options` \
|
|
||||||
--disable-avahi \
|
|
||||||
--disable-dbus_1 \
|
|
||||||
--disable-bintray_cache \
|
|
||||||
--disable-hdhomerun_static \
|
|
||||||
--enable-hdhomerun_client \
|
|
||||||
--enable-libav \
|
|
||||||
--enable-pngquant \
|
|
||||||
--enable-trace \
|
|
||||||
--enable-vaapi \
|
|
||||||
--infodir=/usr/share/info \
|
|
||||||
--localstatedir=/var \
|
|
||||||
--mandir=/usr/share/man \
|
|
||||||
--prefix=/usr \
|
|
||||||
--sysconfdir=/config && \
|
|
||||||
make && \
|
|
||||||
make install && \
|
|
||||||
echo "**** build XMLTV ****" && \
|
|
||||||
curl -o \
|
|
||||||
/tmp/xmtltv-src.tar.bz2 -L \
|
|
||||||
"http://kent.dl.sourceforge.net/project/xmltv/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
|
|
||||||
tar xf \
|
|
||||||
/tmp/xmtltv-src.tar.bz2 -C \
|
|
||||||
/tmp --strip-components=1 && \
|
|
||||||
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
|
||||||
echo "**** Perl 5.26 fixes for XMTLV ****" && \
|
|
||||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_latex && \
|
|
||||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_text && \
|
|
||||||
sed "s/\(lib\/set_share_dir.pl';\)/.\/\1/" -i grab/it/tv_grab_it.PL && \
|
|
||||||
sed "s/\(filter\/Grep.pm';\)/.\/\1/" -i filter/tv_grep.PL && \
|
|
||||||
sed "s/\(lib\/XMLTV.pm.in';\)/.\/\1/" -i lib/XMLTV.pm.PL && \
|
|
||||||
sed "s/\(lib\/Ask\/Term.pm';\)/.\/\1/" -i Makefile.PL && \
|
|
||||||
PERL5LIB=`pwd` && \
|
|
||||||
echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \
|
|
||||||
make && \
|
|
||||||
make test && \
|
|
||||||
make install && \
|
|
||||||
echo "**** build argtable2 ****" && \
|
|
||||||
ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \
|
|
||||||
mkdir -p \
|
|
||||||
/tmp/argtable && \
|
|
||||||
curl -o \
|
|
||||||
/tmp/argtable-src.tar.gz -L \
|
|
||||||
"https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \
|
|
||||||
tar xf \
|
|
||||||
/tmp/argtable-src.tar.gz -C \
|
|
||||||
/tmp/argtable --strip-components=1 && \
|
|
||||||
cp /tmp/patches/config.* /tmp/argtable && \
|
|
||||||
cd /tmp/argtable && \
|
|
||||||
./configure \
|
|
||||||
--prefix=/usr && \
|
|
||||||
make && \
|
|
||||||
make check && \
|
|
||||||
make install && \
|
|
||||||
echo "***** build comskip ****" && \
|
|
||||||
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
|
|
||||||
cd /tmp/comskip && \
|
|
||||||
./autogen.sh && \
|
|
||||||
./configure \
|
|
||||||
--bindir=/usr/bin \
|
|
||||||
--sysconfdir=/config/comskip && \
|
|
||||||
make && \
|
|
||||||
make install && \
|
|
||||||
echo "***** cleanup ****" && \
|
|
||||||
apk del --purge \
|
|
||||||
build-dependencies && \
|
|
||||||
rm -rf \
|
|
||||||
/config/.cpanm \
|
|
||||||
/tmp/*
|
|
||||||
|
|
||||||
# copy local files
|
# copy local files and buildstage artifacts
|
||||||
|
COPY --from=buildstage /tmp/argtable-build/usr/ /usr/
|
||||||
|
COPY --from=buildstage /tmp/comskip-build/usr/ /usr/
|
||||||
|
COPY --from=buildstage /tmp/tvheadend-build/usr/ /usr/
|
||||||
|
COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/
|
||||||
|
COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
|
||||||
|
COPY --from=buildstage /usr/local/share/perl5/ /usr/local/share/perl5/
|
||||||
COPY root/ /
|
COPY root/ /
|
||||||
|
|
||||||
# add picons
|
# add picons
|
||||||
|
|||||||
@@ -162,6 +162,13 @@ You need to enable minimum advanced view level to see the picons options.
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
+ **12.09.18:** Rebase to alpine 3.8 and use buildstage type build.
|
||||||
|
+ **21.04.18:** Add JSON::XS Perl package for grab_tv_huro.
|
||||||
|
+ **24.03.18:** Add dvbcsa package.
|
||||||
|
+ **04.03.18:** Use sourceforge master rather than mirror for xmltv.
|
||||||
|
+ **22.02.18:** Add lost libva-intel-driver.
|
||||||
|
+ **21.02.18:** Fix wrong version of iconv used.
|
||||||
|
+ **18.02.18:** Add vaapi support, some cleanup and dropping of deprecated options.
|
||||||
+ **04.01.18:** Deprecate cpu_core routine lack of scaling.
|
+ **04.01.18:** Deprecate cpu_core routine lack of scaling.
|
||||||
+ **11.12.17:** Rebase to alpine 3.7, linting fixes.
|
+ **11.12.17:** Rebase to alpine 3.7, linting fixes.
|
||||||
+ **02.09.17:** Add codec dependencies.
|
+ **02.09.17:** Add codec dependencies.
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ requires 'HTML::TableExtract' ;
|
|||||||
requires 'HTTP::Cache::Transparent' => ">= 1.3, != 1.4" ;
|
requires 'HTTP::Cache::Transparent' => ">= 1.3, != 1.4" ;
|
||||||
requires 'inc' ;
|
requires 'inc' ;
|
||||||
requires 'JSON::PP' ;
|
requires 'JSON::PP' ;
|
||||||
|
requires 'JSON::XS' ;
|
||||||
requires 'LWP::Simple' ;
|
requires 'LWP::Simple' ;
|
||||||
requires 'LWP::UserAgent' ;
|
requires 'LWP::UserAgent' ;
|
||||||
requires 'PerlIO::gzip' ;
|
requires 'PerlIO::gzip' ;
|
||||||
|
|||||||
@@ -1,46 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user