diff options
Diffstat (limited to 'sys-apps/paludis/files/paludis-2.2.0-check-IUSE_EFFECTIVE-in-EAPI-5.patch')
-rw-r--r-- | sys-apps/paludis/files/paludis-2.2.0-check-IUSE_EFFECTIVE-in-EAPI-5.patch | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/sys-apps/paludis/files/paludis-2.2.0-check-IUSE_EFFECTIVE-in-EAPI-5.patch b/sys-apps/paludis/files/paludis-2.2.0-check-IUSE_EFFECTIVE-in-EAPI-5.patch new file mode 100644 index 000000000000..1950f697f001 --- /dev/null +++ b/sys-apps/paludis/files/paludis-2.2.0-check-IUSE_EFFECTIVE-in-EAPI-5.patch @@ -0,0 +1,88 @@ +From bfb1bd7682b4a678cfa7dccb87d1f49d842317ac Mon Sep 17 00:00:00 2001 +From: David Leverton <levertond@googlemail.com> +Date: Sat, 21 Mar 2015 20:04:30 +0000 +Subject: Only check IUSE_EFFECTIVE for EAPI 5 + +In other EAPIs the value isn't set by C++, and therefore may leak in +from the calling environment. + +diff --git a/paludis/repositories/e/ebuild/0/list_functions.bash b/paludis/repositories/e/ebuild/0/list_functions.bash +index 0c5d91a..4998c2b 100644 +--- a/paludis/repositories/e/ebuild/0/list_functions.bash ++++ b/paludis/repositories/e/ebuild/0/list_functions.bash +@@ -37,13 +37,6 @@ usev() + + useq() + { +- if [[ -n "${IUSE_EFFECTIVE:+x}" ]] ; then +- local i=( $IUSE_EFFECTIVE ) +- if ! hasq ${1#!} "${i[@]#[+-]}" ; then +- die "Flag '${1#!}' is not included in IUSE_EFFECTIVE=\"${IUSE_EFFECTIVE}\"" +- fi +- fi +- + if [[ "${1:0:1}" == "!" ]] ; then + ! hasq "${1#!}" "${USE}" + else +diff --git a/paludis/repositories/e/ebuild/5/Makefile.am b/paludis/repositories/e/ebuild/5/Makefile.am +index fbcb919..ced4e53 100644 +--- a/paludis/repositories/e/ebuild/5/Makefile.am ++++ b/paludis/repositories/e/ebuild/5/Makefile.am +@@ -7,6 +7,7 @@ libexecprog5dir = $(libexecdir)/paludis/5 + libexecprog5_SCRIPTS = \ + src_test.bash \ + usex.bash \ ++ list_functions.bash \ + output_functions.bash + + TESTS = +diff --git a/paludis/repositories/e/ebuild/5/list_functions.bash b/paludis/repositories/e/ebuild/5/list_functions.bash +new file mode 100644 +index 0000000..7cb22ad +--- /dev/null ++++ b/paludis/repositories/e/ebuild/5/list_functions.bash +@@ -0,0 +1,41 @@ ++#!/usr/bin/env bash ++# vim: set sw=4 sts=4 et : ++ ++# Copyright (c) 2006, 2009, 2012 Ciaran McCreesh ++# Copyright (c) 2015 David Leverton ++# ++# Based in part upon ebuild.sh from Portage, which is Copyright 1995-2005 ++# Gentoo Foundation and distributed under the terms of the GNU General ++# Public License v2. ++# ++# This file is part of the Paludis package manager. Paludis is free software; ++# you can redistribute it and/or modify it under the terms of the GNU General ++# Public License, version 2, as published by the Free Software Foundation. ++# ++# Paludis is distributed in the hope that it will be useful, but WITHOUT ANY ++# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++# details. ++# ++# You should have received a copy of the GNU General Public License along with ++# this program; if not, write to the Free Software Foundation, Inc., 59 Temple ++# Place, Suite 330, Boston, MA 02111-1307 USA ++ ++ebuild_load_module --older list_functions ++ ++useq() ++{ ++ if [[ -n "${IUSE_EFFECTIVE:+x}" ]] ; then ++ local i=( $IUSE_EFFECTIVE ) ++ if ! hasq ${1#!} "${i[@]#[+-]}" ; then ++ die "Flag '${1#!}' is not included in IUSE_EFFECTIVE=\"${IUSE_EFFECTIVE}\"" ++ fi ++ fi ++ ++ if [[ "${1:0:1}" == "!" ]] ; then ++ ! hasq "${1#!}" "${USE}" ++ else ++ hasq "${1}" "${USE}" ++ fi ++} ++ +-- +cgit v0.10.2 + |