diff options
Diffstat (limited to 'sys-libs/libselinux')
-rw-r--r-- | sys-libs/libselinux/Manifest | 6 | ||||
-rw-r--r-- | sys-libs/libselinux/libselinux-3.1-r1.ebuild | 4 | ||||
-rw-r--r-- | sys-libs/libselinux/libselinux-3.2.ebuild | 156 | ||||
-rw-r--r-- | sys-libs/libselinux/libselinux-9999.ebuild | 19 |
4 files changed, 172 insertions, 13 deletions
diff --git a/sys-libs/libselinux/Manifest b/sys-libs/libselinux/Manifest index e4ac99b07454..5431d52b9e67 100644 --- a/sys-libs/libselinux/Manifest +++ b/sys-libs/libselinux/Manifest @@ -1,4 +1,6 @@ DIST libselinux-3.1.tar.gz 204703 BLAKE2B 72ff2d99dd6640405e804f58bdfbf05e152615ea92f902b3942602af13dc17080afeabb942ed33ae6b3f528870f4b11584e533848e455a97bf8f7151a8d44646 SHA512 57730cddd2d4751556d9e1f207c0f85119c81848f0620c16239e997150989e3f9a586a8c23861fd51ed89f7e084ad441190a58a288258a49a95f7beef7dbbb13 -EBUILD libselinux-3.1-r1.ebuild 4224 BLAKE2B c2bf188a6ff42906814cf9416f603a8b4dc8989c37b6906192819314b7383f265cd6a0bc3f81c86a2715587704eeabaf8a4c753220abbf9a5a3fdf8cfeec31a8 SHA512 1b185b4d9bbed743116612cf0f00ab12e60cec2a02ecb763299e5b01de39ea5d56c3120c84f2b6e1481c4547cdce4e2663b558217d282373956348be56d5d144 -EBUILD libselinux-9999.ebuild 4226 BLAKE2B c99193817d80db37675b72fd0665bd7406539cb75dd922e9e63bb947b9d92c424642d26607fbbe80a284b1e31332cc249b43bff5819d8aec3d87e9f0491e9b1f SHA512 84ce0aa4ab0b31a6c519febb829e1c424d28c911ac5d2617336e75c0c177cc0886fb93444fc668ceab788def80b32376c8c6770e92406869508de3d14b1f3b3f +DIST libselinux-3.2.tar.gz 206380 BLAKE2B 544eaaa87b9738c61929abe48713b530a8909eaea017890040f2fe299af86f09b6eb2cf4c9a68e06268ba09923b2b67703ac7a2b973906acb45f698e9ccaeed2 SHA512 18129ac0b9936e1f66021f1b311cf1c1e27a01e50cb70f08a3e1c642c5251e4538aec25a8427778569dfecf5333cf1fb84f1a59afdce8019328d0cff7e5833c5 +EBUILD libselinux-3.1-r1.ebuild 4215 BLAKE2B 36d801acf1836645c710ba451aee245317c85dca7452ee990b1ae4f409e758d1cbdd3e47bd839e642e04e6d0cc30a4413060470a47a613a503361182d51128d6 SHA512 1e62339dd7530ce1eed4884024960e2012b533bc7d1160ce3a821956c502af7eaefee69dddb166df44a5d2a26940d5357400f5019c7b62cfc0209161cfa33af5 +EBUILD libselinux-3.2.ebuild 4235 BLAKE2B 907af15311f4f5e94583ecd32a097021feb022ef997d95eaddf046c6d36c384f6d9ad4de9f2a58cdeb8a65a2993ea5faf4060a840a2af23fe7fd7c5c1e42fef0 SHA512 83b2dca2f27d387db7ce337a217ff3cc25f2271b9a57d0017aec52f4dbed53aab7bbdea3f5f930ad033dcb9bfa1ac3bd3f37ccaa72b31f4b2341919d0d739e65 +EBUILD libselinux-9999.ebuild 4235 BLAKE2B 907af15311f4f5e94583ecd32a097021feb022ef997d95eaddf046c6d36c384f6d9ad4de9f2a58cdeb8a65a2993ea5faf4060a840a2af23fe7fd7c5c1e42fef0 SHA512 83b2dca2f27d387db7ce337a217ff3cc25f2271b9a57d0017aec52f4dbed53aab7bbdea3f5f930ad033dcb9bfa1ac3bd3f37ccaa72b31f4b2341919d0d739e65 MISC metadata.xml 745 BLAKE2B 6658dad55bd195725b345865e152b62528e04201b9743dd3688058eeb6f3ca87add86035c2a14bea0b238273328464f5e2fa36ce6b96ac35fb1cc679e3cb4a7c SHA512 ee405602d0345a118c4b8eac9126417f082f4a37a7d5816a991e21191d4ce71ec883abe7e91f10f5330cdc61e6f7a174968c12f873b08a4bda5186cc4986b363 diff --git a/sys-libs/libselinux/libselinux-3.1-r1.ebuild b/sys-libs/libselinux/libselinux-3.1-r1.ebuild index 437b4f6f1083..9734717e280c 100644 --- a/sys-libs/libselinux/libselinux-3.1-r1.ebuild +++ b/sys-libs/libselinux/libselinux-3.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -6,7 +6,7 @@ PYTHON_COMPAT=( python3_{7..9} ) USE_RUBY="ruby25 ruby26 ruby27" # No, I am not calling ruby-ng -inherit multilib python-r1 toolchain-funcs multilib-minimal +inherit python-r1 toolchain-funcs multilib-minimal MY_P="${P//_/-}" SEPOL_VER="${PV}" diff --git a/sys-libs/libselinux/libselinux-3.2.ebuild b/sys-libs/libselinux/libselinux-3.2.ebuild new file mode 100644 index 000000000000..e2b8d9f65ed0 --- /dev/null +++ b/sys-libs/libselinux/libselinux-3.2.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +PYTHON_COMPAT=( python3_{7..9} ) +USE_RUBY="ruby25 ruby26 ruby27" + +# No, I am not calling ruby-ng +inherit python-r1 toolchain-funcs multilib-minimal + +MY_PV="${PV//_/-}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="SELinux userland library" +HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git" + S="${WORKDIR}/${P}/${PN}" +else + SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86" + S="${WORKDIR}/${MY_P}" +fi + +LICENSE="public-domain" +SLOT="0" +IUSE="pcre2 python ruby static-libs ruby_targets_ruby25 ruby_targets_ruby26 ruby_targets_ruby27" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=">=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}] + !pcre2? ( >=dev-libs/libpcre-8.33-r1:=[static-libs?,${MULTILIB_USEDEP}] ) + pcre2? ( dev-libs/libpcre2:=[static-libs?,${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + ruby? ( + ruby_targets_ruby25? ( dev-lang/ruby:2.5 ) + ruby_targets_ruby26? ( dev-lang/ruby:2.6 ) + ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) + ) + elibc_musl? ( sys-libs/fts-standalone )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig + python? ( >=dev-lang/swig-2.0.9 ) + ruby? ( >=dev-lang/swig-2.0.9 )" + +src_prepare() { + eapply_user + + multilib_copy_sources +} + +multilib_src_compile() { + tc-export AR CC PKG_CONFIG RANLIB + + local -x CFLAGS="${CFLAGS} -fno-semantic-interposition" + + emake \ + LIBDIR="\$(PREFIX)/$(get_libdir)" \ + SHLIBDIR="/$(get_libdir)" \ + LDFLAGS="-fPIC ${LDFLAGS} -pthread" \ + USE_PCRE2="$(usex pcre2 y n)" \ + FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ + all + + if multilib_is_native_abi && use python; then + building() { + emake \ + LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" \ + SHLIBDIR="/$(get_libdir)" \ + USE_PCRE2="$(usex pcre2 y n)" \ + FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ + pywrap + } + python_foreach_impl building + fi + + if multilib_is_native_abi && use ruby; then + building() { + einfo "Calling rubywrap for ${1}" + # Clean up .lo file to force rebuild + rm -f src/selinuxswig_ruby_wrap.lo || die + emake \ + RUBY=${1} \ + LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" \ + SHLIBDIR="/$(get_libdir)" \ + USE_PCRE2="$(usex pcre2 y n)" \ + FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ + rubywrap + } + for RUBYTARGET in ${USE_RUBY}; do + use ruby_targets_${RUBYTARGET} || continue + + building ${RUBYTARGET} + done + fi +} + +multilib_src_install() { + emake DESTDIR="${D}" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" \ + SHLIBDIR="/$(get_libdir)" \ + USE_PCRE2="$(usex pcre2 y n)" \ + install + + if multilib_is_native_abi && use python; then + installation() { + emake DESTDIR="${D}" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" \ + SHLIBDIR="/$(get_libdir)" \ + USE_PCRE2="$(usex pcre2 y n)" \ + install-pywrap + python_optimize # bug 531638 + } + python_foreach_impl installation + fi + + if multilib_is_native_abi && use ruby; then + installation() { + einfo "Calling install-rubywrap for ${1}" + # Forcing (re)build here as otherwise the resulting SO file is used for all ruby versions + rm src/selinuxswig_ruby_wrap.lo + emake DESTDIR="${D}" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" \ + SHLIBDIR="/$(get_libdir)" \ + RUBY=${1} \ + USE_PCRE2="$(usex pcre2 y n)" \ + install-rubywrap + } + for RUBYTARGET in ${USE_RUBY}; do + use ruby_targets_${RUBYTARGET} || continue + + installation ${RUBYTARGET} + done + fi + + use static-libs || rm "${D}"/usr/lib*/*.a || die +} + +pkg_postinst() { + # Fix bug 473502 + for POLTYPE in ${POLICY_TYPES}; + do + mkdir -p /etc/selinux/${POLTYPE}/contexts/files || die + touch /etc/selinux/${POLTYPE}/contexts/files/file_contexts.local || die + # Fix bug 516608 + for EXPRFILE in file_contexts file_contexts.homedirs file_contexts.local ; do + if [[ -f "/etc/selinux/${POLTYPE}/contexts/files/${EXPRFILE}" ]]; then + sefcontext_compile /etc/selinux/${POLTYPE}/contexts/files/${EXPRFILE} \ + || die "Failed to recompile contexts" + fi + done + done +} diff --git a/sys-libs/libselinux/libselinux-9999.ebuild b/sys-libs/libselinux/libselinux-9999.ebuild index 6d2e9c244524..e2b8d9f65ed0 100644 --- a/sys-libs/libselinux/libselinux-9999.ebuild +++ b/sys-libs/libselinux/libselinux-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -6,21 +6,20 @@ PYTHON_COMPAT=( python3_{7..9} ) USE_RUBY="ruby25 ruby26 ruby27" # No, I am not calling ruby-ng -inherit multilib python-r1 toolchain-funcs multilib-minimal +inherit python-r1 toolchain-funcs multilib-minimal -MY_P="${P//_/-}" -SEPOL_VER="${PV}" -MY_RELEASEDATE="20200710" +MY_PV="${PV//_/-}" +MY_P="${PN}-${MY_PV}" DESCRIPTION="SELinux userland library" HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki" -if [[ ${PV} == 9999 ]] ; then +if [[ ${PV} == 9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git" - S="${WORKDIR}/${MY_P}/${PN}" + S="${WORKDIR}/${P}/${PN}" else - SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_RELEASEDATE}/${MY_P}.tar.gz" + SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86" S="${WORKDIR}/${MY_P}" fi @@ -30,7 +29,7 @@ SLOT="0" IUSE="pcre2 python ruby static-libs ruby_targets_ruby25 ruby_targets_ruby26 ruby_targets_ruby27" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RDEPEND=">=sys-libs/libsepol-${SEPOL_VER}:=[${MULTILIB_USEDEP}] +RDEPEND=">=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}] !pcre2? ( >=dev-libs/libpcre-8.33-r1:=[static-libs?,${MULTILIB_USEDEP}] ) pcre2? ( dev-libs/libpcre2:=[static-libs?,${MULTILIB_USEDEP}] ) python? ( ${PYTHON_DEPS} ) @@ -54,6 +53,8 @@ src_prepare() { multilib_src_compile() { tc-export AR CC PKG_CONFIG RANLIB + local -x CFLAGS="${CFLAGS} -fno-semantic-interposition" + emake \ LIBDIR="\$(PREFIX)/$(get_libdir)" \ SHLIBDIR="/$(get_libdir)" \ |