public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-text/dictd/files/, app-text/dictd/
Date: Sat, 24 Jun 2023 03:35:26 +0000 (UTC)	[thread overview]
Message-ID: <1687577689.f45e8d10b4724c111fdb61446be1b4595dff99ab.sam@gentoo> (raw)

commit:     f45e8d10b4724c111fdb61446be1b4595dff99ab
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 24 03:34:49 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 24 03:34:49 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f45e8d10

app-text/dictd: fix stack smashing from silly typedef

Closes: https://bugs.gentoo.org/908998
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-text/dictd/dictd-1.13.0-r6.ebuild              | 130 +++++++++++++++++++++
 .../dictd/files/dictd-1.13.0-stack-smashing.patch  |  18 +++
 2 files changed, 148 insertions(+)

diff --git a/app-text/dictd/dictd-1.13.0-r6.ebuild b/app-text/dictd/dictd-1.13.0-r6.ebuild
new file mode 100644
index 000000000000..b6118af1bde0
--- /dev/null
+++ b/app-text/dictd/dictd-1.13.0-r6.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools readme.gentoo-r1 systemd
+
+DESCRIPTION="Dictionary Client/Server for the DICT protocol"
+HOMEPAGE="http://www.dict.org/ https://sourceforge.net/projects/dict/"
+SRC_URI="mirror://sourceforge/dict/${P}.tar.gz"
+
+LICENSE="GPL-1+ GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="dbi judy minimal test"
+RESTRICT="!test? ( test )"
+
+# <gawk-3.1.6 makes tests fail.
+RDEPEND="
+	acct-group/dictd
+	acct-user/dictd
+	>=sys-apps/coreutils-6.10
+	dev-libs/libmaa
+	sys-libs/zlib
+	dbi? ( dev-db/libdbi )
+	judy? ( dev-libs/judy )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	>=sys-apps/gawk-3.1.6
+	sys-devel/flex
+	app-alternatives/yacc
+	test? ( !~sys-apps/gawk-4.2.1 )
+"
+
+DOC_CONTENTS="
+	To start and use ${PN} you need to emerge at least one dictionary from
+	the app-dicts category with the package name starting with 'dictd-'.
+	To install all available dictionaries, emerge app-dicts/dictd-dicts.
+	${PN} will NOT start without at least one dictionary.\n
+	\nIf you are running systemd, you will need to review the instructions
+	explained in /etc/dict/dictd.conf comments.
+"
+
+PATCHES=(
+	"${FILESDIR}"/dictd-1.10.11-colorit-nopp-fix.patch
+	"${FILESDIR}"/dictd-1.12.0-build.patch
+	"${FILESDIR}"/dictd-1.13.0-lex.patch
+	"${FILESDIR}"/dictd-1.13.0-libtool.patch # 818535
+	"${FILESDIR}"/dictd-1.13.0-version.patch # 852884
+	"${FILESDIR}"/dictd-1.13.0-stack-smashing.patch # 908998
+)
+
+src_prepare() {
+	default
+
+	eautoreconf
+}
+
+src_configure() {
+	econf \
+		$(use_with dbi plugin-dbi) \
+		$(use_with judy plugin-judy) \
+		--libexecdir="${EPREFIX}"/usr/$(get_libdir)/${PN} \
+		--sysconfdir="${EPREFIX}"/etc/dict
+}
+
+src_compile() {
+	# -j1 for bug #743292
+
+	if use minimal; then
+		emake -j1 dictfmt dictzip dictzip
+	else
+		emake -j1
+	fi
+}
+
+src_test() {
+	use minimal && return 0 # All tests are for dictd which we don't build...
+
+	if [[ ${EUID} -eq 0 ]]; then
+		# If dictd is run as root user (-userpriv) it drops its privileges to
+		# dictd user and group. Give dictd group write access to test directory.
+		chown :dictd "${WORKDIR}" "${S}/test" || die
+		chmod 770 "${WORKDIR}" "${S}/test" || die
+	fi
+
+	emake -j1 test
+}
+
+src_install() {
+	if use minimal; then
+		emake -j1 DESTDIR="${ED}" install.dictzip install.dict install.dictfmt
+	else
+		default
+
+		# Don't install rfc2229.txt because it is non-free
+		dodoc doc/{dicf.ms,rfc.ms,rfc.sh}
+		dodoc doc/{security.doc,toc.ms}
+		dodoc -r examples
+
+		# conf files. For dict.conf see below.
+		insinto /etc/dict
+		for f in dictd.conf site.info colorit.conf; do
+			doins "${FILESDIR}/1.10.11/${f}"
+		done
+
+		# startups for dictd
+		newinitd "${FILESDIR}/1.10.11/dictd.initd" dictd
+		newconfd "${FILESDIR}/1.10.11/dictd.confd" dictd
+		systemd_dounit "${FILESDIR}"/${PN}.service
+	fi
+
+	find "${ED}" -name '*.la' -o -name '*.a' -delete || die
+
+	insinto /etc/dict
+	doins "${FILESDIR}"/1.10.11/dict.conf
+
+	dodoc ANNOUNCE NEWS README TODO
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	if has_version sys-apps/systemd; then
+		ewarn "The default location for dicts has changed! If you've modified your"
+		ewarn "systemd units locally to point into /usr/lib/dict, please update it"
+		ewarn "to point at /usr/share/dict now."
+	fi
+}

diff --git a/app-text/dictd/files/dictd-1.13.0-stack-smashing.patch b/app-text/dictd/files/dictd-1.13.0-stack-smashing.patch
new file mode 100644
index 000000000000..e5747a6680af
--- /dev/null
+++ b/app-text/dictd/files/dictd-1.13.0-stack-smashing.patch
@@ -0,0 +1,18 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=611203
+https://bugs.gentoo.org/908998
+--- a/md5.h
++++ b/md5.h
+@@ -1,11 +1,8 @@
+ #ifndef MD5_H
+ #define MD5_H
+ 
+-#ifdef __alpha
+-typedef unsigned int uint32;
+-#else
+-typedef unsigned long uint32;
+-#endif
++#include <stdint.h>
++typedef uint32_t uint32;
+ 
+ struct MD5Context {
+ 	uint32 buf[4];


             reply	other threads:[~2023-06-24  3:35 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-24  3:35 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-06-18 17:23 [gentoo-commits] repo/gentoo:master commit in: app-text/dictd/files/, app-text/dictd/ Sam James

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1687577689.f45e8d10b4724c111fdb61446be1b4595dff99ab.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox