mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-24 23:21:17 +02:00
sys-apps/less: Sync with Gentoo
It's from Gentoo commit fab8a934bb5be9b5036d22564797b6db16443401.
This commit is contained in:
parent
5000321be4
commit
525a5c1f36
61
sdk_container/src/third_party/portage-stable/sys-apps/less/files/less-643-LESSOPEN-escape.patch
vendored
Normal file
61
sdk_container/src/third_party/portage-stable/sys-apps/less/files/less-643-LESSOPEN-escape.patch
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
https://openwall.com/lists/oss-security/2024/04/12/5
|
||||
https://bugs.gentoo.org/929210
|
||||
https://github.com/gwsw/less/commit/007521ac3c95bc76e3d59c6dbfe75d06c8075c33
|
||||
|
||||
Upstream provided this version via email as a backport to 643.
|
||||
--- a/filename.c
|
||||
+++ b/filename.c
|
||||
@@ -134,6 +134,15 @@
|
||||
}
|
||||
|
||||
/*
|
||||
+ * Must use quotes rather than escape char for this metachar?
|
||||
+ */
|
||||
+static int must_quote(char c)
|
||||
+{
|
||||
+ /* {{ Maybe the set of must_quote chars should be configurable? }} */
|
||||
+ return (c == '\n');
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
* Insert a backslash before each metacharacter in a string.
|
||||
*/
|
||||
public char * shell_quote(char *s)
|
||||
@@ -164,6 +173,9 @@
|
||||
* doesn't support escape chars. Use quotes.
|
||||
*/
|
||||
use_quotes = 1;
|
||||
+ } else if (must_quote(*p))
|
||||
+ {
|
||||
+ len += 3; /* open quote + char + close quote */
|
||||
} else
|
||||
{
|
||||
/*
|
||||
@@ -193,15 +205,22 @@
|
||||
{
|
||||
while (*s != '\0')
|
||||
{
|
||||
- if (metachar(*s))
|
||||
+ if (!metachar(*s))
|
||||
{
|
||||
- /*
|
||||
- * Add the escape char.
|
||||
- */
|
||||
+ *p++ = *s++;
|
||||
+ } else if (must_quote(*s))
|
||||
+ {
|
||||
+ /* Surround the char with quotes. */
|
||||
+ *p++ = openquote;
|
||||
+ *p++ = *s++;
|
||||
+ *p++ = closequote;
|
||||
+ } else
|
||||
+ {
|
||||
+ /* Insert an escape char before the char. */
|
||||
strcpy(p, esc);
|
||||
p += esclen;
|
||||
+ *p++ = *s++;
|
||||
}
|
||||
- *p++ = *s++;
|
||||
}
|
||||
*p = '\0';
|
||||
}
|
97
sdk_container/src/third_party/portage-stable/sys-apps/less/less-643-r2.ebuild
vendored
Normal file
97
sdk_container/src/third_party/portage-stable/sys-apps/less/less-643-r2.ebuild
vendored
Normal file
@ -0,0 +1,97 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Releases are usually first a beta then promoted to stable if no
|
||||
# issues were found. Upstream explicitly ask "to not generally distribute"
|
||||
# the beta versions. It's okay to keyword beta versions if they fix
|
||||
# a serious bug, but otherwise try to avoid it.
|
||||
|
||||
WANT_AUTOMAKE=none
|
||||
WANT_LIBTOOL=none
|
||||
inherit autotools flag-o-matic optfeature toolchain-funcs
|
||||
|
||||
DESCRIPTION="Excellent text file viewer"
|
||||
HOMEPAGE="https://www.greenwoodsoftware.com/less/"
|
||||
|
||||
MY_PV=${PV/_beta/-beta}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://github.com/gwsw/less"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://www.greenwoodsoftware.com/less/${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${PV} != *_beta* ]] ; then
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
fi
|
||||
|
||||
S="${WORKDIR}"/${MY_P/?beta}
|
||||
|
||||
LICENSE="|| ( GPL-3 BSD-2 )"
|
||||
SLOT="0"
|
||||
IUSE="pcre test"
|
||||
# chinese1, utf8-2
|
||||
RESTRICT="test !test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
>=app-misc/editor-wrapper-3
|
||||
>=sys-libs/ncurses-5.2:=
|
||||
pcre? ( dev-libs/libpcre2 )
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND="test? ( virtual/pkgconfig )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-643-lesstest-pkg-config.patch
|
||||
"${FILESDIR}"/${PN}-643-LESSOPEN-escape.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# Per upstream README to prepare live build
|
||||
[[ ${PV} == 9999 ]] && emake -f Makefile.aut distfiles
|
||||
# Upstream uses unpatched autoconf-2.69, which breaks with clang-16.
|
||||
# https://bugs.gentoo.org/870412
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-lfs-flags # bug #896316
|
||||
|
||||
local myeconfargs=(
|
||||
--with-regex=$(usex pcre pcre2 posix)
|
||||
--with-editor="${EPREFIX}"/usr/libexec/editor
|
||||
)
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake check VERBOSE=1 CC="$(tc-getCC)" PKG_CONFIG="$(tc-getPKG_CONFIG)"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
keepdir /usr/lib/lessfilter.d
|
||||
keepdir /etc/lessfilter.d
|
||||
|
||||
newbin "${FILESDIR}"/lesspipe-r3.sh lesspipe
|
||||
newenvd "${FILESDIR}"/less.envd 70less
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
optfeature "Colorized output support" dev-python/pygments
|
||||
|
||||
if has_version "<${CATEGORY}/${PN}-483-r1" ; then
|
||||
elog "The lesspipe.sh symlink has been dropped. If you are still setting"
|
||||
elog "LESSOPEN to that, you will need to update it to '|lesspipe %s'."
|
||||
fi
|
||||
|
||||
if has_version "<${CATEGORY}/${PN}-643" ; then
|
||||
elog "less now colorizes by default. To disable this, set LESSCOLOR=no."
|
||||
fi
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user