commit:     b8cac679bc03dff418c29d796523de578f11eef6
Author:     Cristian Othón Martínez Vera <cfuga <AT> cfuga <DOT> mx>
AuthorDate: Sun Dec  7 02:49:01 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jan 10 12:53:43 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8cac679

app-admin/analog: fix xml output segmentation fault

Signed-off-by: Cristian Othón Martínez Vera <cfuga <AT> cfuga.mx>
Part-of: https://github.com/gentoo/gentoo/pull/44935
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-admin/analog/analog-6.0.18-r1.ebuild       | 65 ++++++++++++++++++++++++++
 app-admin/analog/files/analog-6.0.18-xml.patch | 28 +++++++++++
 2 files changed, 93 insertions(+)

diff --git a/app-admin/analog/analog-6.0.18-r1.ebuild 
b/app-admin/analog/analog-6.0.18-r1.ebuild
new file mode 100644
index 000000000000..db5992551ba1
--- /dev/null
+++ b/app-admin/analog/analog-6.0.18-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Multi-purpose, multi-platform log file analyser"
+HOMEPAGE="
+       https://www.c-amie.co.uk/software/analog/
+       https://github.com/c-amie/analog-ce";
+SRC_URI="https://github.com/c-amie/${PN}-ce/archive/refs/tags/${PV}.tar.gz -> 
${P}.tar.gz"
+S="${WORKDIR}/${PN}-ce-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+DEPEND="
+       app-arch/bzip2
+       dev-libs/libpcre2
+       >=media-libs/gd-1.8.4-r2[jpeg,png]
+       virtual/zlib:=
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-5.1-gentoo.diff
+       "${FILESDIR}"/${PN}-6.0-undefined-macro.patch
+       "${FILESDIR}"/${PN}-6.0.18-posix-makefiles.patch
+       "${FILESDIR}"/${PN}-6.0.18-src-Makefile.patch
+       "${FILESDIR}"/${PN}-6.0.18-c23.patch
+       "${FILESDIR}"/${PN}-6.0.18-xml.patch
+)
+
+src_prepare() {
+       default
+       sed -i src/Makefile \
+               -e 's| -o | $(LDFLAGS)&|g' \
+               || die "sed Makefile"
+}
+
+src_compile() {
+       tc-export CC
+       emake
+}
+
+src_install() {
+       newman analog.man analog.1
+
+       dodoc README.txt Licence.txt ${PN}.cfg-sample
+       dodoc -r examples
+       docinto html
+       dodoc docs/*.{html,gif,css,ico}
+       dodoc -r how-to
+       docinto cgi
+       dodoc anlgform.pl
+
+       insinto /usr/share/analog/images ; doins images/*
+       insinto /usr/share/analog/lang ; doins lang/*
+       dodir /var/log/analog
+       dosym -r /usr/share/analog/images /var/log/analog/images
+       insinto /etc/analog ; doins "${FILESDIR}/analog.cfg"
+       dobin analog
+}

diff --git a/app-admin/analog/files/analog-6.0.18-xml.patch 
b/app-admin/analog/files/analog-6.0.18-xml.patch
new file mode 100644
index 000000000000..4a79fc060db2
--- /dev/null
+++ b/app-admin/analog/files/analog-6.0.18-xml.patch
@@ -0,0 +1,28 @@
+https://github.com/c-amie/analog-ce/pull/10/commits/405918c5dd2aab6e50b87e6f79aac7a345cbc485
+
+From: Jinseek Ryu <[email protected]>
+Date: Mon, 7 Jul 2025 12:29:19 +0900
+Subject: [PATCH] fix xml output segmentation fault
+
+--- a/src/outxml.c
++++ b/src/outxml.c
+@@ -65,7 +65,7 @@ void xml_stylehead(FILE *outf, Outchoices *od)
+       *outfp=outf;
+ 
+       // KLUDGE!!!!
+-      opts=(Options*)((int)od-offsetof(Options,outopts));     
++      opts=(Options*)((char*)od-offsetof(Options,outopts));
+ 
+       t=time(0); 
+       strftime( buffer, 256, "%Y%m%d%H%M%S", gmtime(&t) );
+@@ -78,8 +78,8 @@ void xml_stylehead(FILE *outf, Outchoices *od)
+               XMLDBG "<analog>",
+               xmlversion, 
+               encoding,
+-              od->xmldtd,
+-              VNUMBER,        // VERSION instead? VERSION includes platform 
it was built.
++              od->xmldtd,
++              VNUMBER,        // VERSION instead? VERSION includes platform 
it was built.
+               buffer );
+ 
+       // set up appropriate defaults for XML output.

Reply via email to