[gentoo-commits] repo/gentoo:master commit in: dev-tex/tex4ht/files/, dev-tex/tex4ht/
commit: 0d90a39ef74113812f54e1a1b83a711cdef054d4 Author: Ulrich Müller gentoo org> AuthorDate: Sun Oct 15 17:12:23 2023 + Commit: Ulrich Müller gentoo org> CommitDate: Sun Oct 15 17:14:13 2023 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d90a39e dev-tex/tex4ht: Fix segmentation fault in tex4ht binary Update to EAPI 8. Closes: https://bugs.gentoo.org/915782 Signed-off-by: Ulrich Müller gentoo.org> dev-tex/tex4ht/files/tex4ht-invalid-read.patch | 35 ++ .../tex4ht-20090611_p1038_p20210603-r1.ebuild | 135 + 2 files changed, 170 insertions(+) diff --git a/dev-tex/tex4ht/files/tex4ht-invalid-read.patch b/dev-tex/tex4ht/files/tex4ht-invalid-read.patch new file mode 100644 index ..0b784f338d2c --- /dev/null +++ b/dev-tex/tex4ht/files/tex4ht-invalid-read.patch @@ -0,0 +1,35 @@ +Avoid invalid read and uninitialized comparisons +https://bugs.gentoo.org/915782 +https://puszcza.gnu.org.ua/bugs/?611 + +This backports the following upstream commits: + +r1387 +Author: karl +Date: Thu Oct 12 16:10:29 2023 UTC +avoid negative index into font_tbl + +r1391 +Author: karl +Date: Fri Oct 13 22:34:24 2023 UTC +zero htf_4hf array to avoid uninitialized reads + +--- tex4ht-1.0.2009_06_11_1038/src/tex4ht.c tex4ht-1.0.2009_06_11_1038/src/tex4ht.c +@@ -7039,6 +7039,7 @@ + + max_htf_4hf_n = 256; + htf_4hf = m_alloc(struct htf_4hf_rec, 256); ++memset (htf_4hf, 0, 256 * sizeof (struct htf_4hf_rec)); + + + +@@ -8738,7 +8739,7 @@ + + + if( span_on && !in_span_ch && !ignore_chs && !in_accenting +-&& (default_font != font_tbl[cur_fnt].num) ){ ++&& cur_fnt >= 0 && (default_font != font_tbl[cur_fnt].num) ){ + if( (ch < 137) && (ch != + 132 + ) ){ diff --git a/dev-tex/tex4ht/tex4ht-20090611_p1038_p20210603-r1.ebuild b/dev-tex/tex4ht/tex4ht-20090611_p1038_p20210603-r1.ebuild new file mode 100644 index ..e703b4202c48 --- /dev/null +++ b/dev-tex/tex4ht/tex4ht-20090611_p1038_p20210603-r1.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit latex-package toolchain-funcs java-pkg-opt-2 flag-o-matic readme.gentoo-r1 + +# tex4ht-20050331_p2350 -> tex4ht-1.0.2005_03_31_2350 +MY_P="${PN}-1.0.${PV:0:4}_${PV:4:2}_${PV:6:2}_$(ver_cut 3)" + +# from https://mirrors.ctan.org/systems/texlive/tlnet/archive/tex4ht.tar.xz +MY_P_TEXLIVE="${PN}-texlive-$(ver_cut 5)" + +DESCRIPTION="Converts (La)TeX to (X)HTML, XML and OO.org" +HOMEPAGE=" + https://tug.org/tex4ht/ + https://puszcza.gnu.org.ua/projects/tex4ht/ +" +SRC_URI="http://www.cse.ohio-state.edu/~gurari/TeX4ht/fix/${MY_P}.tar.gz + https://dev.gentoo.org/~ulm/distfiles/${MY_P_TEXLIVE}.tar.xz + doc? ( https://dev.gentoo.org/~ulm/distfiles/${MY_P_TEXLIVE}.doc.tar.xz )" +S="${WORKDIR}/${MY_P}" + +LICENSE="LPPL-1.2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="doc java" + +RDEPEND="app-text/ghostscript-gpl + media-gfx/imagemagick + dev-libs/kpathsea + java? ( >=virtual/jre-1.8:* )" + +DEPEND="dev-libs/kpathsea + java? ( >=virtual/jdk-1.8:* )" + +BDEPEND="virtual/pkgconfig" + +PATCHES=( "${FILESDIR}/${PN}-invalid-read.patch" ) + +src_prepare() { + cp -a "${WORKDIR}/texmf-dist/"* texmf/ || die + default + cd "${S}/texmf/tex4ht/base/unix" || die + sed -i \ + -e "s#~/tex4ht.dir#${EPREFIX}/usr/share#" \ + -e "s#tpath/tex/texmf/fonts/tfm/!#t${EPREFIX}/usr/share/texmf-dist/fonts/tfm/!\nt${EPREFIX}/usr/local/share/texmf/fonts/tfm/!\nt${EPREFIX}/var/cache/fonts/tfm/!\nt${EPREFIX}${TEXMF}/fonts/tfm/!#" \ + -e "s#%%~#${EPREFIX}${TEXMF}#g" \ + -e "s#/usr/share/texmf/#${EPREFIX}${TEXMF}/#" \ + tex4ht.env \ + || die "sed of tex4ht.env failed" + + einfo "Removing precompiled java stuff" + find "${S}" '(' -name '*.class' -o -name '*.jar' ')' -print -delete || die +} + +src_compile() { + has_version '>=dev-libs/kpathsea-6.2.1' \ + && append-cppflags "$($(tc-getPKG_CONFIG) --cflags kpathsea)" + + cd "${S}/src" || die + einfo "Compiling postprocessor sources..." + for f in tex4ht t4ht; do + $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o $f $f.c \ + -DENVFILE="\"${EPREFIX}${TEXMF}/tex4ht/base/tex4ht.env\"" \ + -DHAVE_DIRENT_H -DKPATHSEA -lkpathsea \ + || die "Compiling $f failed" + done + if use java; then + einfo "Compiling java files..." + cd java || die + ejavac *.java */*.java */*/*.java -d ../../texmf/tex4ht/bin + cd "${S}/texmf/tex4ht/bin" || die + # Create the jar needed by oolatex +
[gentoo-commits] repo/gentoo:master commit in: dev-tex/tex4ht/files/, dev-tex/tex4ht/
commit: 8cd24f5270cf032aeb4b5310298762996e8bbc08 Author: Ulrich Müller gentoo org> AuthorDate: Tue Jun 30 07:42:04 2020 + Commit: Ulrich Müller gentoo org> CommitDate: Tue Jun 30 07:42:04 2020 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8cd24f52 dev-tex/tex4ht: Do not install the htcmd binary. Bug: https://puszcza.gnu.org.ua/bugs/?472#comment2 Package-Manager: Portage-2.3.103, Repoman-2.3.23 Signed-off-by: Ulrich Müller gentoo.org> dev-tex/tex4ht/files/tex4ht-format-security.patch | 22 -- ...r10.ebuild => tex4ht-20090611_p1038-r11.ebuild} | 5 ++--- 2 files changed, 2 insertions(+), 25 deletions(-) diff --git a/dev-tex/tex4ht/files/tex4ht-format-security.patch b/dev-tex/tex4ht/files/tex4ht-format-security.patch deleted file mode 100644 index fde075ce33d..000 --- a/dev-tex/tex4ht/files/tex4ht-format-security.patch +++ /dev/null @@ -1,22 +0,0 @@ -https://bugs.gentoo.org/554636 - a/src/htcmd.c -+++ b/src/htcmd.c -@@ -418,7 +418,7 @@ - #undef SEP - #endif - { (IGNORED) fprintf(stderr,"--- error --- "); -- (IGNORED) fprintf(stderr, warn_err_mssg[n]); -+ (IGNORED) fprintf(stderr, "%s", warn_err_mssg[n]); -exit(EXIT_FAILURE); - } - -@@ -439,7 +439,7 @@ - #undef SEP - #endif - { (IGNORED) fprintf(stderr,"--- error --- "); -- (IGNORED) fprintf(stderr, warn_err_mssg[n]); -+ (IGNORED) fprintf(stderr, "%s", warn_err_mssg[n]); -exit(EXIT_FAILURE); - } - diff --git a/dev-tex/tex4ht/tex4ht-20090611_p1038-r10.ebuild b/dev-tex/tex4ht/tex4ht-20090611_p1038-r11.ebuild similarity index 96% rename from dev-tex/tex4ht/tex4ht-20090611_p1038-r10.ebuild rename to dev-tex/tex4ht/tex4ht-20090611_p1038-r11.ebuild index b74f2800061..1249e8194ee 100644 --- a/dev-tex/tex4ht/tex4ht-20090611_p1038-r10.ebuild +++ b/dev-tex/tex4ht/tex4ht-20090611_p1038-r11.ebuild @@ -33,7 +33,6 @@ BDEPEND="virtual/pkgconfig java? ( >=virtual/jdk-1.5 )" S="${WORKDIR}/${MY_P}" -PATCHES=("${FILESDIR}"/${PN}-format-security.patch) src_prepare() { cp -a "${WORKDIR}/texmf-dist/"* texmf/ || die @@ -57,7 +56,7 @@ src_compile() { cd "${S}/src" || die einfo "Compiling postprocessor sources..." - for f in tex4ht t4ht htcmd ; do + for f in tex4ht t4ht; do $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o $f $f.c \ -DENVFILE="\"${EPREFIX}${TEXMF}/tex4ht/base/tex4ht.env\"" \ -DHAVE_DIRENT_H -DKPATHSEA -lkpathsea \ @@ -75,7 +74,7 @@ src_compile() { src_install() { # install the binaries - dobin "${S}/src/tex4ht" "${S}/src/t4ht" "${S}/src/htcmd" + dobin "${S}/src/tex4ht" "${S}/src/t4ht" # install the scripts if ! use java; then rm -f "${S}"/bin/unix/oo*
[gentoo-commits] repo/gentoo:master commit in: dev-tex/tex4ht/files/, dev-tex/tex4ht/
commit: 448881c0e55667abc563f6b78058ea1a489a24ba Author: Ulrich Müller gentoo org> AuthorDate: Wed Jun 24 10:12:20 2020 + Commit: Ulrich Müller gentoo org> CommitDate: Wed Jun 24 10:43:38 2020 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=448881c0 dev-tex/tex4ht: Fix compilation with format-security. Closes: https://bugs.gentoo.org/554636 Package-Manager: Portage-2.3.103, Repoman-2.3.23 Signed-off-by: Ulrich Müller gentoo.org> dev-tex/tex4ht/files/tex4ht-format-security.patch | 22 ++ dev-tex/tex4ht/tex4ht-20090611_p1038-r10.ebuild | 3 ++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/dev-tex/tex4ht/files/tex4ht-format-security.patch b/dev-tex/tex4ht/files/tex4ht-format-security.patch new file mode 100644 index 000..fde075ce33d --- /dev/null +++ b/dev-tex/tex4ht/files/tex4ht-format-security.patch @@ -0,0 +1,22 @@ +https://bugs.gentoo.org/554636 + +--- a/src/htcmd.c b/src/htcmd.c +@@ -418,7 +418,7 @@ + #undef SEP + #endif + { (IGNORED) fprintf(stderr,"--- error --- "); +- (IGNORED) fprintf(stderr, warn_err_mssg[n]); ++ (IGNORED) fprintf(stderr, "%s", warn_err_mssg[n]); +exit(EXIT_FAILURE); + } + +@@ -439,7 +439,7 @@ + #undef SEP + #endif + { (IGNORED) fprintf(stderr,"--- error --- "); +- (IGNORED) fprintf(stderr, warn_err_mssg[n]); ++ (IGNORED) fprintf(stderr, "%s", warn_err_mssg[n]); +exit(EXIT_FAILURE); + } + diff --git a/dev-tex/tex4ht/tex4ht-20090611_p1038-r10.ebuild b/dev-tex/tex4ht/tex4ht-20090611_p1038-r10.ebuild index e3b343dc41e..73b16a84d59 100644 --- a/dev-tex/tex4ht/tex4ht-20090611_p1038-r10.ebuild +++ b/dev-tex/tex4ht/tex4ht-20090611_p1038-r10.ebuild @@ -33,10 +33,11 @@ BDEPEND="virtual/pkgconfig java? ( >=virtual/jdk-1.5 )" S="${WORKDIR}/${MY_P}" +PATCHES=("${FILESDIR}"/${PN}-format-security.patch) src_prepare() { cp -a "${WORKDIR}/texmf-dist/"* texmf/ || die - eapply_user + default cd "${S}/texmf/tex4ht/base/unix" || die sed -i \ -e "s#~/tex4ht.dir#${EPREFIX}/usr/share#" \