remove orphaned packages
This commit is contained in:
parent
06581acc63
commit
94595fd18f
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,39 +0,0 @@
|
||||||
From c59fd827138efb66226811fb312be41ef1a15e3c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alexander Miroshnichenko <alex@millerson.name>
|
|
||||||
Date: Tue, 26 Jan 2021 12:34:11 +0300
|
|
||||||
Subject: [PATCH] Fix pinns compilation for TEMP_FAILURE_RETRY
|
|
||||||
Content-Type: text/plain; charset="utf-8"
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
In case the macro is not available we now define it on our own in the utils.
|
|
||||||
|
|
||||||
Signed-off-by: Alexander Miroshnichenko <alex@millerson.name>
|
|
||||||
---
|
|
||||||
pinns/src/utils.h | 11 +++++++++++
|
|
||||||
1 file changed, 11 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/pinns/src/utils.h b/pinns/src/utils.h
|
|
||||||
index 2bb0479c05cf..c213320bfd4d 100644
|
|
||||||
--- a/pinns/src/utils.h
|
|
||||||
+++ b/pinns/src/utils.h
|
|
||||||
@@ -11,6 +11,17 @@
|
|
||||||
#include <syslog.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
+#ifndef TEMP_FAILURE_RETRY
|
|
||||||
+#define TEMP_FAILURE_RETRY(expression) \
|
|
||||||
+ (__extension__({ \
|
|
||||||
+ long int __result; \
|
|
||||||
+ do \
|
|
||||||
+ __result = (long int)(expression); \
|
|
||||||
+ while (__result == -1L && errno == EINTR); \
|
|
||||||
+ __result; \
|
|
||||||
+ }))
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#define _pexit(s) \
|
|
||||||
do { \
|
|
||||||
fprintf(stderr, "[pinns:e]: %s: %s\n", s, strerror(errno)); \
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
/var/log/crio/crio.log {
|
|
||||||
missingok
|
|
||||||
size 5M
|
|
||||||
rotate 3
|
|
||||||
compress
|
|
||||||
copytruncate
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 2015-2019 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
description="OCI Kubernetes Container Runtime daemon"
|
|
||||||
pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
|
|
||||||
extra_started_commands="reload"
|
|
||||||
command="/usr/bin/${RC_SVCNAME}"
|
|
||||||
command_args="${command_args}"
|
|
||||||
command_background="true"
|
|
||||||
start_stop_daemon_args=" \
|
|
||||||
--stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
|
|
||||||
--stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
need net
|
|
||||||
}
|
|
||||||
|
|
||||||
checkconfig() {
|
|
||||||
checkpath --directory --owner root:root --mode 0775 \
|
|
||||||
/var/log/${RC_SVCNAME}
|
|
||||||
checkpath --file --owner root:root --mode 0644 \
|
|
||||||
/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log
|
|
||||||
}
|
|
||||||
|
|
||||||
start() {
|
|
||||||
checkconfig
|
|
||||||
default_start
|
|
||||||
}
|
|
||||||
|
|
||||||
reload() {
|
|
||||||
ebegin "Reloading ${RC_SVCNAME}"
|
|
||||||
start-stop-daemon --signal HUP --pidfile "${pidfile}"
|
|
||||||
eend $?
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="person">
|
|
||||||
<email>zmedico@gentoo.org</email>
|
|
||||||
<name>Zac Medico</name>
|
|
||||||
</maintainer>
|
|
||||||
<longdescription lang="en">
|
|
||||||
CRI-O is meant to provide an integration path between
|
|
||||||
OCI conformant runtimes and the kubelet. Specifically, it
|
|
||||||
implements the Kubelet Container Runtime Interface (CRI)
|
|
||||||
using OCI conformant runtimes. The scope of CRI-O is tied to
|
|
||||||
the scope of the CRI.
|
|
||||||
</longdescription>
|
|
||||||
<use>
|
|
||||||
<flag name="btrfs">
|
|
||||||
Enables dependencies for the "btrfs" graph driver, including
|
|
||||||
necessary kernel flags.
|
|
||||||
</flag>
|
|
||||||
<flag name="device-mapper">
|
|
||||||
Enables dependencies for the "devicemapper" graph driver, including
|
|
||||||
necessary kernel flags.
|
|
||||||
</flag>
|
|
||||||
</use>
|
|
||||||
<upstream>
|
|
||||||
<remote-id type="github">cri-o/cri-o</remote-id>
|
|
||||||
</upstream>
|
|
||||||
</pkgmetadata>
|
|
|
@ -1,14 +0,0 @@
|
||||||
DIST go-darwin-amd64-bootstrap-1.8.tbz 55053831 BLAKE2B 7d87ff36b0e13b3b3c0b8ffc4516493e1a6dde1287675b85b591c1d0a8438c9cb9c8991dc53d3c94c5ebb26830da1c7177ef1f90c250c1efeb5868020abcc660 SHA512 4cc24d44c84c94feafab021c0977fcea2aca8f191c6395e38fff68154b1e64efc3f94331c3e36c7b69901af58e9d53545c682f0a742d36b2d230508bd69777c4
|
|
||||||
DIST go-freebsd-386-bootstrap-1.8.tbz 53739013 BLAKE2B a91e0a6b601aadc965f774ffd25a185e1f300e7194e969337f32bf9cb3056769786d92ef697271e7434d72c04d9d6780bf0fb3cb70efa83fe53cc18dc23670ec SHA512 c92f849b2d92401657412cccc589042b2747e55b2f4813d674c5bc91c3f535ee60f8ed7b8cbf1320e216d22a16dade8b78bb8071982895901f2b3c304e38f478
|
|
||||||
DIST go-freebsd-amd64-bootstrap-1.8.tbz 55103927 BLAKE2B 30e4e4bcb43da3a170f520b47cd032a524d4c4977a9c76c4d597bb50e21a3ad2ef764dec15085d97cb5791bd483d8fac10ef5949c56b46e7580468fc9c90a78c SHA512 c7d50731ff41147295ef5f3233aa1404081b47e786a300e1d0e4db8348e56bd73fe5f169fe8b807ffa37a53683e3aef16ebb6e877d802b86ff1a3d5d3a6f44cb
|
|
||||||
DIST go-linux-386-bootstrap-1.8.tbz 53843745 BLAKE2B 6bbb6df7ea0f7307386590524261f9ec477e7032171020ac3ed4a09bf9c39075ba4143c466611b0ab28cc4b494dec75063ecb291d2166a82bc7601562e7e3685 SHA512 b456f7572d04c805a6fc756647c050460f76e5404dba41963c861c92f1600e9fedafe181a1f69132518065737a88edb4b183ec8c3ca24bc8df31279117e92606
|
|
||||||
DIST go-linux-amd64-bootstrap-musl-1.4.3.tbz 23246790 BLAKE2B 364d2afa2a882b752635c2e3b956ca499b02fd4842eb8e159fce74adfffb9e65db3e5b64a2ed81ec12dc71bd209979cbe6d35b3796ef877ff148f2c1be249de5 SHA512 1cdc1c667fbee992c2ef0555d1ed8ce4d8b9ecf5ecd23b73f6729a6f91764a41407a016c71eeb1755cb1889fe702a0aa0da382ffdb6bab7b9cdacaa558449898
|
|
||||||
DIST go-linux-arm-bootstrap-1.8.tbz 53948103 BLAKE2B 515051e777ad273999c82f31b8a07ba61b77fbeede761a72b52c0bc3a7b55da013b5061af03a1b9634bf7b44429d7b371b89be85fb9e4f3a23d4d1a3c52bd90b SHA512 98ff0dbdb2aca9e54ea5327c9d31ce389e434a887015ef8555a8e85223a9998075c5013045275fb995a877a8d247704a21d726d46df7097adc0c4aa03af4cd68
|
|
||||||
DIST go-linux-arm64-bootstrap-1.8.tbz 51947002 BLAKE2B 5899f5d304031eae96b66ed7aa21f5af13b0fdfdcd7a12095bda2eff0f5fe5610135f9370b34681e4c33f33c1e0428a2a09c1c8a581c6b170da223f57cac4607 SHA512 adfbe62c5594c267707078bf8afb94a793dfba004c04a1a60f96d023d96c2fc4a6a422dee93a0f3487b1f2e1e117c7c6c607b62126dd5535686aaed88f6659d9
|
|
||||||
DIST go-linux-ppc64-bootstrap-1.8.tbz 52315782 BLAKE2B 6be0a48e8bc4e5fed4d34f8aaa8dfb6ad4d513064275dd940d0f58b25d442b33ad71c11687d317448b93d9c4690f7412e5a6a4553ec5298663409416cec04fbf SHA512 0aa32ac1514055ed9140b8c8330cbdbadfd9da6ad00b60d49b0685473be21e0b6510c31394678e32048f2f38d06a0d575f453c555614664eaef2bf5be6c91734
|
|
||||||
DIST go-linux-ppc64le-bootstrap-1.8.tbz 52211575 BLAKE2B 7a28ec5a381369c4e9415c8360e904c2545380513afd328077c584e8af0bf6bd818aa03e5a58c350cbb98facc1c9dccb02b06adcb27233875497cf5d33265912 SHA512 6931d999dd0ee1ff44c4cec48acb27af061f57f87aa74802dcebab78553b46bc8ac732f07fe91e5074dbdd32c55b707994875934bfb12bb4276d71eb1d06c4ba
|
|
||||||
DIST go-linux-s390x-bootstrap-1.8.tbz 57124869 BLAKE2B 920a176b8f4fc3a816e724324bbb30a383d599e31a0d2093d24797dbcd0e799a662a3589dbb87d2f5dd16df07c4cf8f1e444e87b540ec732746bb025dc9271f8 SHA512 d429cae870d66217ab2e07c74209d3031d97baa4f899b4d70ae6283a1a5b1434b037904c4cfca0b2bc798d5ba0b358c3739e000eccbc74809baf564c5686df5a
|
|
||||||
DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe5950cb65c059e2801394231e715e94145d1f918eb59b10472b2385e57ebd5cfb9eca0ad7290fb118436486b665520bb540970f971ab SHA512 52b849e5b9a940e10de7ba3df0ebdf6e1c5d631de9581d936c9edf8f38e6bb3314acbc2b2d5202b0528fde2a359d52bc0c6f39acf9b1b614725e4b4a947ed10d
|
|
||||||
DIST go1.12.5.src.tar.gz 21971348 BLAKE2B 7de8db4a6c4cd9e1883fbf28357fe99ad9f43f3e015b2063347b1961df128760b720c0dd5549997c7080e6cf0036406430419d4bf033323f26017d3629ad6067 SHA512 ce64105ff71615f9d235cc7c8656b6409fc40cc90d15a28d355fadd9072d2eab842af379dd8bba0f1181715753143e4a07491e0f9e5f8df806327d7c95a34fae
|
|
||||||
EBUILD go-1.12.5.ebuild 6008 BLAKE2B 025a51bc415f60e9b94d6cd985c5334f5d7f603c3e14537ad6d8422c369a0d9b89ef534093dab52617f17108840d5a9105815d984883ce076ef47f322c4d7752 SHA512 31decfc1df9eae82316ac10aebe4d01190e2fdaa2b365eb8ee65750bf1a23e1d676f03a0551d7b9bd4c339358f7555a53d2a8806ed209b28e8e81ad3a8e680f7
|
|
||||||
MISC metadata.xml 538 BLAKE2B 78502c369a490804b2c69eef864276c2be5d0ee84ec189b6cc8584f8f42668a35f3c74bd25ceb53c469716337cbab908c576ca880c492f5961fedafc74cc346f SHA512 514a441a522218fdca543a22370e965a2bfc1f1f2c37e77431143329bb3d3f4f53e99ad5d7f7d7c61877f77387a777f7b4f339b9a3e45322d01d39d3d0ea1309
|
|
|
@ -1,236 +0,0 @@
|
||||||
# Copyright 1999-2019 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
|
|
||||||
export CBUILD=${CBUILD:-${CHOST}}
|
|
||||||
export CTARGET=${CTARGET:-${CHOST}}
|
|
||||||
|
|
||||||
MY_PV=${PV/_/}
|
|
||||||
|
|
||||||
inherit toolchain-funcs
|
|
||||||
|
|
||||||
BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
|
|
||||||
BOOTSTRAP_VERSION="bootstrap-1.8"
|
|
||||||
BOOTSTRAP_URI="
|
|
||||||
amd64? ( ${BOOTSTRAP_DIST}//go-linux-amd64-bootstrap-musl-1.4.3.tbz )
|
|
||||||
arm? ( ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz )
|
|
||||||
arm64? ( ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz )
|
|
||||||
ppc64? (
|
|
||||||
${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
|
|
||||||
${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
|
|
||||||
)
|
|
||||||
s390? ( ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz )
|
|
||||||
x86? ( ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz )
|
|
||||||
amd64-fbsd? ( ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz )
|
|
||||||
x86-fbsd? ( ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz )
|
|
||||||
x64-macos? ( ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz )
|
|
||||||
x64-solaris? ( ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz )
|
|
||||||
"
|
|
||||||
|
|
||||||
case ${PV} in
|
|
||||||
*9999*)
|
|
||||||
EGIT_REPO_URI="https://github.com/golang/go.git"
|
|
||||||
inherit git-r3
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
|
|
||||||
S="${WORKDIR}"/go
|
|
||||||
case ${PV} in
|
|
||||||
*_beta*|*_rc*) ;;
|
|
||||||
*)
|
|
||||||
KEYWORDS="-* amd64 arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris"
|
|
||||||
# The upstream tests fail under portage but pass if the build is
|
|
||||||
# run according to their documentation [1].
|
|
||||||
# I am restricting the tests on released versions until this is
|
|
||||||
# solved.
|
|
||||||
# [1] https://golang.org/issues/18442
|
|
||||||
RESTRICT="test"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
esac
|
|
||||||
SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )"
|
|
||||||
|
|
||||||
DESCRIPTION="A concurrent garbage collected and typesafe programming language"
|
|
||||||
HOMEPAGE="https://golang.org"
|
|
||||||
|
|
||||||
LICENSE="BSD"
|
|
||||||
SLOT="0/${PV}"
|
|
||||||
IUSE="gccgo"
|
|
||||||
|
|
||||||
DEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
|
|
||||||
RDEPEND="!<dev-go/go-tools-0_pre20150902"
|
|
||||||
|
|
||||||
# These test data objects have writable/executable stacks.
|
|
||||||
QA_EXECSTACK="
|
|
||||||
usr/lib/go/src/debug/elf/testdata/*.obj
|
|
||||||
usr/lib/go/src/go/internal/gccgoimporter/testdata/escapeinfo.gox
|
|
||||||
usr/lib/go/src/go/internal/gccgoimporter/testdata/unicode.gox
|
|
||||||
usr/lib/go/src/go/internal/gccgoimporter/testdata/time.gox
|
|
||||||
"
|
|
||||||
|
|
||||||
# Do not complain about CFLAGS, etc, since Go doesn't use them.
|
|
||||||
QA_FLAGS_IGNORED='.*'
|
|
||||||
|
|
||||||
REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
|
|
||||||
|
|
||||||
# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
|
|
||||||
QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
|
|
||||||
|
|
||||||
# Do not strip this package. Stripping is unsupported upstream and may
|
|
||||||
# fail.
|
|
||||||
RESTRICT+=" strip"
|
|
||||||
|
|
||||||
DOCS=(
|
|
||||||
AUTHORS
|
|
||||||
CONTRIBUTING.md
|
|
||||||
CONTRIBUTORS
|
|
||||||
PATENTS
|
|
||||||
README.md
|
|
||||||
)
|
|
||||||
|
|
||||||
go_arch()
|
|
||||||
{
|
|
||||||
# By chance most portage arch names match Go
|
|
||||||
local portage_arch=$(tc-arch $@)
|
|
||||||
case "${portage_arch}" in
|
|
||||||
x86) echo 386;;
|
|
||||||
x64-*) echo amd64;;
|
|
||||||
ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
|
|
||||||
s390) echo s390x ;;
|
|
||||||
*) echo "${portage_arch}";;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
go_arm()
|
|
||||||
{
|
|
||||||
case "${1:-${CHOST}}" in
|
|
||||||
armv5*) echo 5;;
|
|
||||||
armv6*) echo 6;;
|
|
||||||
armv7*) echo 7;;
|
|
||||||
*)
|
|
||||||
die "unknown GOARM for ${1:-${CHOST}}"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
go_os()
|
|
||||||
{
|
|
||||||
case "${1:-${CHOST}}" in
|
|
||||||
*-linux*) echo linux;;
|
|
||||||
*-darwin*) echo darwin;;
|
|
||||||
*-freebsd*) echo freebsd;;
|
|
||||||
*-netbsd*) echo netbsd;;
|
|
||||||
*-openbsd*) echo openbsd;;
|
|
||||||
*-solaris*) echo solaris;;
|
|
||||||
*-cygwin*|*-interix*|*-winnt*)
|
|
||||||
echo windows
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
die "unknown GOOS for ${1:-${CHOST}}"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
go_tuple()
|
|
||||||
{
|
|
||||||
echo "$(go_os $@)_$(go_arch $@)"
|
|
||||||
}
|
|
||||||
|
|
||||||
go_cross_compile()
|
|
||||||
{
|
|
||||||
[[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_pretend()
|
|
||||||
{
|
|
||||||
# make.bash does not understand cross-compiling a cross-compiler
|
|
||||||
if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
|
|
||||||
die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_unpack()
|
|
||||||
{
|
|
||||||
if [[ ${PV} = 9999 ]]; then
|
|
||||||
git-r3_src_unpack
|
|
||||||
fi
|
|
||||||
default
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile()
|
|
||||||
{
|
|
||||||
export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os)-$(go_arch)-bootstrap
|
|
||||||
if use gccgo; then
|
|
||||||
mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
|
|
||||||
local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
|
|
||||||
[[ -x ${go_binary} ]] || go_binary=$(
|
|
||||||
find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
|
|
||||||
sort -V | tail -n1)
|
|
||||||
[[ -x ${go_binary} ]] ||
|
|
||||||
die "go-$(gcc-major-version): command not found"
|
|
||||||
ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
|
|
||||||
fi
|
|
||||||
export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
|
|
||||||
export GOROOT="$(pwd)"
|
|
||||||
export GOBIN="${GOROOT}/bin"
|
|
||||||
|
|
||||||
# Go's build script does not use BUILD/HOST/TARGET consistently. :(
|
|
||||||
export GOHOSTARCH=$(go_arch ${CBUILD})
|
|
||||||
export GOHOSTOS=$(go_os ${CBUILD})
|
|
||||||
export CC=$(tc-getBUILD_CC)
|
|
||||||
|
|
||||||
export GOARCH=$(go_arch)
|
|
||||||
export GOOS=$(go_os)
|
|
||||||
export CC_FOR_TARGET=$(tc-getCC)
|
|
||||||
export CXX_FOR_TARGET=$(tc-getCXX)
|
|
||||||
if [[ ${ARCH} == arm ]]; then
|
|
||||||
export GOARM=$(go_arm)
|
|
||||||
fi
|
|
||||||
einfo "GOROOT_BOOTSTRAP is ${GOROOT_BOOTSTRAP}"
|
|
||||||
|
|
||||||
cd src
|
|
||||||
./make.bash || die "build failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test()
|
|
||||||
{
|
|
||||||
go_cross_compile && return 0
|
|
||||||
|
|
||||||
cd src
|
|
||||||
PATH="${GOBIN}:${PATH}" \
|
|
||||||
./run.bash -no-rebuild || die "tests failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install()
|
|
||||||
{
|
|
||||||
local bin_path f x
|
|
||||||
|
|
||||||
dodir /usr/lib/go
|
|
||||||
|
|
||||||
# There is a known issue which requires the source tree to be installed [1].
|
|
||||||
# Once this is fixed, we can consider using the doc use flag to control
|
|
||||||
# installing the doc and src directories.
|
|
||||||
# [1] https://golang.org/issue/2775
|
|
||||||
#
|
|
||||||
# deliberately use cp to retain permissions
|
|
||||||
cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
|
|
||||||
if go_cross_compile; then
|
|
||||||
bin_path="bin/$(go_tuple)"
|
|
||||||
else
|
|
||||||
bin_path=bin
|
|
||||||
fi
|
|
||||||
for x in ${bin_path}/*; do
|
|
||||||
f=${x##*/}
|
|
||||||
dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
|
|
||||||
done
|
|
||||||
einstalldocs
|
|
||||||
|
|
||||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
|
||||||
# fix install_name for test object (binutils_test) on Darwin, it
|
|
||||||
# is never used in real circumstances
|
|
||||||
local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
|
|
||||||
libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
|
|
||||||
install_name_tool -id "${libmac64}" "${D}${libmac64}"
|
|
||||||
fi
|
|
||||||
}
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="person">
|
|
||||||
<email>williamh@gentoo.org</email>
|
|
||||||
<name>William Hubbs</name>
|
|
||||||
</maintainer>
|
|
||||||
<longdescription lang="en">
|
|
||||||
Go is a new systems programming language developped at google by
|
|
||||||
Rob Pike. It has garbage collection, coroutines, communication
|
|
||||||
channels and a clean syntax.
|
|
||||||
</longdescription>
|
|
||||||
<use>
|
|
||||||
<flag name="gccgo">Enable bootstrapping using gccgo</flag>
|
|
||||||
</use>
|
|
||||||
</pkgmetadata>
|
|
|
@ -1,6 +0,0 @@
|
||||||
AUX smtpd.initd 231 BLAKE2B a4991c9226daa2289cb20238dcee0dad8b4ff83474327649b61c7394e46fc929c7792b885f58bf76769567ad2058134b97e5019b508e2edec108a4bafb9cc2b4 SHA512 e4c8386bd7e8d8171172aa181305a55ca67cba6d4c82d77d8846e1bd3301dd9d118bb39dad6c144677f050194de813e4d83e06ea6dd591d4f07da8c4a1edde37
|
|
||||||
AUX smtpd.pam 147 BLAKE2B 1706fe27cf53621428f563af146d1197dfc59133dda79fe08141ec4ca9b240880ef63da3f27e4fb8b653af4ae413ca42cdeb343e1f4e737b7e6258c0d338223d SHA512 d0574cc732138fefffe3ca78da2d689f0849de70dfd65204c99a98a58b2165eb46b23a1c32b356ea2eaf8abd56a4929c7419b29cec1d6b284e344680bab24086
|
|
||||||
AUX smtpd.service 138 BLAKE2B c76db1847110622621701cdf1fdb764d26bf28b86a25adf9ae8e0ba15838a2a9ddc677f54f5d5fe191591b2bd5c7f20067fc00b6679f448e25371e27f231589d SHA512 b70b173ac275b871d78bac0e55b2e0c8d8a6538c7f2c4dc86fe67fb37a1ee942e0442353b338b286759618299f51b144396251db13f82c9afa035dcaae11a258
|
|
||||||
AUX smtpd.socket 114 BLAKE2B e684727be39592dce128cc0ab02f8e5bc4510591dcb2c170b49c120e84319b53e10eae275bc6a26ed8c9d51e53a21e41c551f18afd2441602cefc4e93344d50c SHA512 fbbccb4aab80a4a4612609e590965940642321119a65359cf2490530f81d55706a0105309d321a624d40348f12776724d2cf6b8bf29ea24391e60ef8b8bc8ba2
|
|
||||||
DIST opensmtpd-6.6.1p1.tar.gz 776538 BLAKE2B 58eba39a43c2f9bf0772bf91545b54e9dc2aa33b232a8188ac21912ec4fe7ada1e90eac68d9aab21fbdf904ca93b0056c8039edb685be3ad8aa8f2be3913af79 SHA512 8861c2b3d8560217750482694b007e43226033f31c13efa3e705e8d70a172ee30784ba335587ffc5c27fb356f765c696be7b9055c26bf2cd720cd0aa960861ad
|
|
||||||
EBUILD opensmtpd-6.6.1_p1.ebuild 2064 BLAKE2B a341885b88f26e99eab28569f0cddd6260c5a41616f7f456e9e94021ccded79cdb4363d5a460c38e9d79855781687f8a4f8d44cc3c41b2028c51d898c690ba80 SHA512 f9927c61ccff8b6e25e1173abcd78f25b42d79fc9480b5f439c827fe80777e511ec43015cffce64ff9ad08e42968f159172153791bbf6e1a92fa00332d184a1b
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
command="smtpd"
|
|
||||||
pidfile="/run/smtpd.pid"
|
|
||||||
description="SMTP daemon from OpenBSD"
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
need net
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
auth required pam_nologin.so
|
|
||||||
auth include system-auth
|
|
||||||
account include system-auth
|
|
||||||
session include system-auth
|
|
|
@ -1,10 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=OpenSMTPD
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=forking
|
|
||||||
ExecStart=/usr/sbin/smtpd
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,8 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=OpenSMTPD Socket
|
|
||||||
|
|
||||||
[Socket]
|
|
||||||
ListenStream=/var/run/smtpd.sock
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=sockets.target
|
|
|
@ -1,83 +0,0 @@
|
||||||
# Copyright 1999-2019 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit multilib user flag-o-matic eutils pam toolchain-funcs autotools systemd
|
|
||||||
|
|
||||||
DESCRIPTION="Lightweight but featured SMTP daemon from OpenBSD"
|
|
||||||
HOMEPAGE="https://www.opensmtpd.org"
|
|
||||||
SRC_URI="https://www.opensmtpd.org/archives/${P/_}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="ISC BSD BSD-1 BSD-2 BSD-4"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
|
||||||
IUSE="pam +mta"
|
|
||||||
|
|
||||||
DEPEND=">=dev-libs/libressl-3
|
|
||||||
elibc_musl? ( sys-libs/fts-standalone )
|
|
||||||
sys-libs/zlib
|
|
||||||
pam? ( sys-libs/pam )
|
|
||||||
sys-libs/db:=
|
|
||||||
dev-libs/libevent
|
|
||||||
app-misc/ca-certificates
|
|
||||||
net-mail/mailbase
|
|
||||||
net-libs/libasr
|
|
||||||
!mail-mta/courier
|
|
||||||
!mail-mta/esmtp
|
|
||||||
!mail-mta/exim
|
|
||||||
!mail-mta/mini-qmail
|
|
||||||
!mail-mta/msmtp[mta]
|
|
||||||
!mail-mta/netqmail
|
|
||||||
!mail-mta/nullmailer
|
|
||||||
!mail-mta/postfix
|
|
||||||
!mail-mta/qmail-ldap
|
|
||||||
!mail-mta/sendmail
|
|
||||||
!mail-mta/ssmtp[mta]
|
|
||||||
"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
|
|
||||||
S=${WORKDIR}/${P/_}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
tc-export AR
|
|
||||||
AR="$(which "$AR")" econf \
|
|
||||||
--with-table-db \
|
|
||||||
--with-user-smtpd=smtpd \
|
|
||||||
--with-user-queue=smtpq \
|
|
||||||
--with-group-queue=smtpq \
|
|
||||||
--with-path-socket=/run \
|
|
||||||
--with-path-CAfile=/etc/ssl/certs/ca-certificates.crt \
|
|
||||||
--sysconfdir=/etc/opensmtpd \
|
|
||||||
$(use_with pam auth-pam)
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
newinitd "${FILESDIR}"/smtpd.initd smtpd
|
|
||||||
systemd_dounit "${FILESDIR}"/smtpd.{service,socket}
|
|
||||||
use pam && newpamd "${FILESDIR}"/smtpd.pam smtpd
|
|
||||||
dosym /usr/sbin/smtpctl /usr/sbin/makemap
|
|
||||||
dosym /usr/sbin/smtpctl /usr/sbin/newaliases
|
|
||||||
if use mta ; then
|
|
||||||
dodir /usr/sbin
|
|
||||||
dosym /usr/sbin/smtpctl /usr/sbin/sendmail
|
|
||||||
dosym /usr/sbin/smtpctl /usr/bin/sendmail
|
|
||||||
dosym /usr/sbin/smtpctl /usr/$(get_libdir)/sendmail
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_preinst() {
|
|
||||||
enewgroup smtpd 25
|
|
||||||
enewuser smtpd 25 -1 /var/empty smtpd
|
|
||||||
enewgroup smtpq 252
|
|
||||||
enewuser smtpq 252 -1 /var/empty smtpq
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
einfo
|
|
||||||
einfo "Plugins for SQLite, MySQL, PostgreSQL, LDAP, socketmaps,"
|
|
||||||
einfo "Redis, and many other useful addons and filters are"
|
|
||||||
einfo "available in the mail-filter/opensmtpd-extras package."
|
|
||||||
einfo
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
EBUILD deadbeef-pipewire-9999.ebuild 834 BLAKE2B 9a49317f47aacc2b9c12803a0b9750d70fcd7fd210a8096cd6d3ad2088e4fdac4287e3a5e9eb1d7f9aae3f59a92ff9f0a3619bd6c1b9b2c67459713eec3d1be7 SHA512 473fc4fa582db4778ff7a68b8d8faee20b67e1d6c70b765c0a5d4a3ce4ca039d1ca7916da5e8895b335173ae5fdffee236c32572d5bd948c3fb2884f44915cf3
|
|
|
@ -1,36 +0,0 @@
|
||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
inherit meson
|
|
||||||
|
|
||||||
DESCRIPTION="PipeWire output plugin for DeaDBeeF Music Player"
|
|
||||||
HOMEPAGE="https://github.com/saivert/ddb_output_pw"
|
|
||||||
MY_PN="ddb_output_pw"
|
|
||||||
|
|
||||||
if [[ ${PV} == "9999" ]] ; then
|
|
||||||
EGIT_REPO_URI="https://github.com/saivert/${MY_PN}.git"
|
|
||||||
inherit autotools git-r3
|
|
||||||
else
|
|
||||||
KEYWORDS="~amd64"
|
|
||||||
SRC_URI="https://github.com/saivert/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_PN}-${PV}.tar.gz"
|
|
||||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
LICENSE="GPL-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
DEPEND_COMMON="
|
|
||||||
media-video/pipewire
|
|
||||||
media-sound/deadbeef"
|
|
||||||
|
|
||||||
RDEPEND="${DEPEND_COMMON}"
|
|
||||||
DEPEND="${DEPEND_COMMON}"
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
sed -i "s@lib/deadbeef@$(get_libdir)/deadbeef@" meson.build
|
|
||||||
|
|
||||||
meson_src_configure
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
AUX unbound-1.10.1-find-ar.patch 335 BLAKE2B f32a6a4f0cd48f5847beeeb0771a845f619fde94a1f3fe5d36d08960c4ec866678de556ce016d1cb92408ea82d606c1978702af0999f501e268b7debf039b4c2 SHA512 0af23b308a68c15cacc2debc2aa3e6476c725726f39b422a5ea4ac3122f45a1e1eb73e189dea66ddd721104301c12e3c54e8972161d76764703098ca6da22691
|
|
||||||
AUX unbound-1.5.7-trust-anchor-file.patch 847 BLAKE2B ca8f093671264108c1da772e161ddf948cd27cdf4d3b6189023a6a9642ee308ab361befcab923ca61a21c4b151252f409177c8247ca683e63133284bd65efbba SHA512 bfbdd947cb3dda8d1dd009eb476fb2934fca80236e617f1596f308a063c575196e75c67b22bfbd739c06318d3227c9b2838fba0f381f8c73fdf5b7231cd1d746
|
|
||||||
AUX unbound-1.6.3-pkg-config.patch 247 BLAKE2B af1a175a3944137fc7f4f4932182df5b278b7d88c4299e7ac5e520107fcfb5180d7e548c70b50794389d2c1406309f88e118acf9e065ab67cbb4c78fc0e4186f SHA512 06d8910ae6065c5a2bb2cc5a1935ae98688148b9c0af09622161b647775de00027ea4a22cb0d6b94f21d329c2d59ee56f67b073ee4042fbd4f78790d0c438ad7
|
|
||||||
AUX unbound-anchor.service 263 BLAKE2B 098bdc6e06607e57980e0367496fd9a2fc02ef19611ac4474d703624c92df9c2e86f4dbb116622babcd7975b2e1353f6156d46bcc5639daabef648d670806364 SHA512 c0f8ff2df106d1f05786cf5d69b48cdf69ba2fd42645bf6b7fa2d34d6c3fdd1608fb470c4fb0216164386e8b22977292ae8932c784a6967774e3daae1b8aeb95
|
|
||||||
AUX unbound-r1.confd 1553 BLAKE2B b3768275bd3f79f0076e9d80e9456c0829e42ba9bf815c70354e8386881147cc1afad6937ba7a2217845f70139cafd02f44150eaa5dd5d87f397a347f68078b0 SHA512 a6baf20b9911734b69784c393c8f38a0bf41c9621ab9332761ecb8b5fdcebf18be7f30a5a77bf3755aa45222b2f27f810a762436c43b03dd74e6806e04d5a90f
|
|
||||||
AUX unbound-r1.initd 3901 BLAKE2B d8db1b5342781566f57d801d077aec20d7911a39d5a453f981b1a3400a18dfb8d10593889885bb9211d458a4165dded625bba2e7313c8d98fdb1beb585ed63d1 SHA512 ec3520094a679fee962244364d8093b471e7edd5fce434c6d307854952f2ad9d2f041ce5fd5f23ece93a856d59a966daaf5abc114b7d1f3519b930b2e8f14f62
|
|
||||||
AUX unbound.service 247 BLAKE2B d986319f9b43600d4f6443f50e214efd39fd20be6a7067b55f98b82cb5d2c12c85b7db2a3c9ced0caf3db303f1ff0fd4eff511dbede3ab101e4b558681872351 SHA512 7904225d0e9fb3ea5b97521ed24f24fcc4db650cfff8523b896ddd9edfccbd61e817775ad0449acf30d02dba5f714d633b60cace6010d472f438df7c22381dfc
|
|
||||||
AUX unbound.socket 101 BLAKE2B 4885d311873d7f3e5daf1c0a63798b13761b7c0bfb1bead0bde11bc2a2a994d55670c992b42ea1b4bbee98d04a12f4e7e7517bd0e9caa74d8cac2d1dc0c33274 SHA512 935ab3bd5bc3d3347e44c20482aa19396d243b89f2dbc7bf9f89b16a2559715866e16dfd9f5c4866222d8ee968f158a773475d94629f0ef9fa9b8fd23f0fbc2e
|
|
||||||
AUX unbound_at.service 304 BLAKE2B 0762200390475ff6a3ca4dc282b3eca3e55cb339528a73b0c6148f4df336c4c07e8da19320df6bedb49cb6884da565543f78456d38dc3000ca2a1abde84816be SHA512 71bd8c422ffe57e448b66f97775075a407671757266d40294a670b41cd1a59f16b65488d30aa74b79b7536f0c4c50adb56e32377e8029fd6c327b85c022c5fe3
|
|
||||||
DIST unbound-1.19.3.tar.gz 6338685 BLAKE2B 5d9cbc26510afc2b92ecce6307cd9924a1b450892f7839f076535177ab35f78059d271e628e2aa995b62f5cf97add2363561a819d6e0181beb6b44421661d8f0 SHA512 f860614f090a5a081cceff8ca7f4b3d416c00a251ae14ceb6b4159dc8cd022f025592074d3d78aee2f86c3eeae9d1a314713e4740aa91062579143199accd159
|
|
||||||
DIST unbound-1.19.3.tar.gz.asc 833 BLAKE2B 6eb71dde451a123ffba44c298d83256613c6325b26adffb6f0347b468bf84e63b090655d12b323f8c187ad4782fad06514fe5ab0246087bd129393d1bdb1533c SHA512 1b6437d7ac4394ab7d6eb0d12f22b39538152f9c88175a5368263059950b8e6b093fa5392d1ff37874effef7a422afa9c690f766802208979a99500a4bea5906
|
|
||||||
EBUILD unbound-1.19.3.ebuild 6544 BLAKE2B 48a87ccfc80094ea0bcf64101b798fca40aa1bc778de26225b92d93808509de37828eb1fc78f5472ad1f8966d1cdb901d400b8519bc2f466ccc578be17f27a64 SHA512 1dd4e5a537071a0f705d786bd6dc3c7a4e4c587bdde7e186d8b7fbb046b6f9e2502f9931b1ce2f25f4abd76a07ef1639069d80177de7c020b74bf14e9cf7baaa
|
|
||||||
MISC metadata.xml 1475 BLAKE2B d0e34f4ba056c090af979f2686d5dece53a554c7ea7612fee1991ce6838ce161359bd8405d6358c5e184b6721affeee5d6e1bd93095b92765cd38dba928daa5b SHA512 8fba72eba420d4c06fb3a9119c3f324c5679fe268b65fac23878ef15f3c3d784d372874c7d6428d1c7c2eb3a75380ad2e4d5fc1691e7c2d1b426b8cfa381222b
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- a/acx_nlnetlabs.m4
|
|
||||||
+++ b/acx_nlnetlabs.m4
|
|
||||||
@@ -535,7 +535,7 @@ AC_CANONICAL_HOST
|
|
||||||
if echo "$host_os" | grep "sunos4" >/dev/null; then
|
|
||||||
lt_cv_sys_max_cmd_len=32750;
|
|
||||||
fi
|
|
||||||
-AC_PATH_TOOL(AR, ar, [false])
|
|
||||||
+AC_CHECK_TOOL(AR, ar, [false])
|
|
||||||
if test $AR = false; then
|
|
||||||
AC_MSG_ERROR([Cannot find 'ar', please extend PATH to include it])
|
|
||||||
fi
|
|
|
@ -1,18 +0,0 @@
|
||||||
To avoid below error messages like
|
|
||||||
|
|
||||||
[23109:0] error: Could not open autotrust file for writing, /etc/dnssec/root-anchors.txt: Permission denied
|
|
||||||
|
|
||||||
set 'trust-anchor-file' to same value in 'auto-trust-anchor-file'.
|
|
||||||
|
|
||||||
diff -ur unbound-1.5.7.orig/doc/example.conf.in unbound-1.5.7/doc/example.conf.in
|
|
||||||
--- unbound-1.5.7.orig/doc/example.conf.in 2015-12-10 08:59:18.000000000 +0100
|
|
||||||
+++ unbound-1.5.7/doc/example.conf.in 2016-01-05 04:08:01.666760015 +0100
|
|
||||||
@@ -378,7 +378,7 @@
|
|
||||||
# with several entries, one file per entry.
|
|
||||||
# Zone file format, with DS and DNSKEY entries.
|
|
||||||
# Note this gets out of date, use auto-trust-anchor-file please.
|
|
||||||
- # trust-anchor-file: ""
|
|
||||||
+ # trust-anchor-file: "@UNBOUND_ROOTKEY_FILE@"
|
|
||||||
|
|
||||||
# Trusted key for validation. DS or DNSKEY. specify the RR on a
|
|
||||||
# single line, surrounded by "". TTL is ignored. class is IN default.
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -95,6 +95,8 @@ AC_SUBST(LIBUNBOUND_CURRENT)
|
|
||||||
AC_SUBST(LIBUNBOUND_REVISION)
|
|
||||||
AC_SUBST(LIBUNBOUND_AGE)
|
|
||||||
|
|
||||||
+PKG_PROG_PKG_CONFIG
|
|
||||||
+
|
|
||||||
CFLAGS="$CFLAGS"
|
|
||||||
AC_AIX
|
|
||||||
if test "$ac_cv_header_minix_config_h" = "yes"; then
|
|
|
@ -1,13 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Update of the root trust anchor for DNSSEC validation
|
|
||||||
After=network.target
|
|
||||||
Before=nss-lookup.target
|
|
||||||
Wants=nss-lookup.target
|
|
||||||
Before=unbound.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
ExecStart=/usr/sbin/unbound-anchor
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,36 +0,0 @@
|
||||||
# /etc/conf.d/unbound
|
|
||||||
|
|
||||||
# Configuration file
|
|
||||||
#UNBOUND_CONFFILE="/etc/unbound/unbound.conf"
|
|
||||||
|
|
||||||
# PID file
|
|
||||||
# This is a fallback value which should NOT be changed. If you ever need
|
|
||||||
# to change PID file, please change value in configuration file instead!
|
|
||||||
#UNBOUND_PIDFILE="/run/unbound.pid"
|
|
||||||
|
|
||||||
# You can use this configuration option to pass additional options to the
|
|
||||||
# start-stop-daemon, see start-stop-daemon(8) for more details.
|
|
||||||
# Per default we wait 1000ms after we have started the service to ensure
|
|
||||||
# that the daemon is really up and running.
|
|
||||||
#UNBOUND_SSDARGS="--wait 1000"
|
|
||||||
|
|
||||||
# The termination timeout (start-stop-daemon parameter "retry") ensures
|
|
||||||
# that the service will be terminated within a given time (25 + 5 seconds
|
|
||||||
# per default) when you are stopping the service.
|
|
||||||
#UNBOUND_TERMTIMEOUT="TERM/25/KILL/5"
|
|
||||||
|
|
||||||
# Options to unbound
|
|
||||||
# See unbound(8) for more details
|
|
||||||
# Notes:
|
|
||||||
# * Do not specify another CONFIGFILE but use the variable above to change the location
|
|
||||||
#UNBOUND_OPTS=""
|
|
||||||
|
|
||||||
# If you want to preserve unbound's cache, set the following variable to
|
|
||||||
# a non-zero value. In this case unbound's cache will be dumped to disk
|
|
||||||
# before shutdown and loaded right after start.
|
|
||||||
# To be able to dump and load cache you have to set up keys (use `unbound-control-setup`)
|
|
||||||
# and need to set 'control-enable: yes' in your configuration!
|
|
||||||
# WARNING: If you don't know what you are doing you should NOT use this
|
|
||||||
# feature. Loading the cache with old or wrong data can result in
|
|
||||||
# old or wrong data being returned to clients.
|
|
||||||
#UNBOUND_PRESERVE_CACHE=""
|
|
|
@ -1,137 +0,0 @@
|
||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 1999-2018 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
UNBOUND_BINARY=${UNBOUND_BINARY:-"/usr/sbin/unbound"}
|
|
||||||
UNBOUND_CACHEFILE=${UNBOUND_CACHEFILE:-"/var/lib/unbound/${SVCNAME}.cache"}
|
|
||||||
UNBOUND_CHECKCONF=${UNBOUND_CHECKCONF:-"/usr/sbin/unbound-checkconf"}
|
|
||||||
UNBOUND_CONFFILE=${UNBOUND_CONFFILE:-"/etc/unbound/${SVCNAME}.conf"}
|
|
||||||
UNBOUND_CONTROL=${UNBOUND_CONTROL:-"/usr/sbin/unbound-control"}
|
|
||||||
UNBOUND_PIDFILE=${UNBOUND_PIDFILE:-"/run/unbound.pid"}
|
|
||||||
UNBOUND_SSDARGS=${UNBOUND_SSDARGS:-"--wait 1000"}
|
|
||||||
UNBOUND_TERMTIMEOUT=${UNBOUND_TERMTIMEOUT:-"TERM/25/KILL/5"}
|
|
||||||
UNBOUND_OPTS=${UNBOUND_OPTS:-""}
|
|
||||||
UNBOUND_LOAD_CACHE_TIMEOUT=${UNBOUND_LOAD_CACHE_TIMEOUT:-"30"}
|
|
||||||
|
|
||||||
getconfig() {
|
|
||||||
local key="$1"
|
|
||||||
local value_default="$2"
|
|
||||||
local value=
|
|
||||||
|
|
||||||
if service_started ; then
|
|
||||||
value="$(service_get_value "${key}")"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "${value}" ] && [ -n "${UNBOUND_CONFFILE}" ] && [ -r "${UNBOUND_CONFFILE}" ] ; then
|
|
||||||
value=$("${UNBOUND_CHECKCONF}" -o ${key} "${UNBOUND_CONFFILE}")
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "${value}" ] ; then
|
|
||||||
# Value not explicitly set in the configfile or configfile does not exist
|
|
||||||
# or is not readable
|
|
||||||
echo "${value_default}"
|
|
||||||
else
|
|
||||||
echo "${value}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
command=${UNBOUND_BINARY}
|
|
||||||
command_args="${UNBOUND_OPTS} -c \"${UNBOUND_CONFFILE}\""
|
|
||||||
start_stop_daemon_args="${UNBOUND_SSDARGS}"
|
|
||||||
pidfile="$(getconfig pidfile /run/unbound.pid)"
|
|
||||||
retry="${UNBOUND_TERMTIMEOUT}"
|
|
||||||
|
|
||||||
required_files="${UNBOUND_CONFFILE}"
|
|
||||||
|
|
||||||
name="unbound daemon"
|
|
||||||
extra_commands="configtest"
|
|
||||||
extra_started_commands="reload save_cache"
|
|
||||||
description="unbound is a Domain Name Server (DNS) that is used to resolve host names to IP address."
|
|
||||||
description_configtest="Run syntax tests for configuration files only."
|
|
||||||
description_reload="Kills all children and reloads the configuration."
|
|
||||||
description_save_cache="Saves the current cache to disk."
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
use net logger
|
|
||||||
provide dns
|
|
||||||
after auth-dns
|
|
||||||
}
|
|
||||||
|
|
||||||
configtest() {
|
|
||||||
local _config_status=
|
|
||||||
|
|
||||||
ebegin "Checking ${SVCNAME} configuration"
|
|
||||||
"${UNBOUND_CHECKCONF}" "${UNBOUND_CONFFILE}" 1>/dev/null 2>&1
|
|
||||||
_config_status=$?
|
|
||||||
|
|
||||||
if [ ${_config_status} -ne 0 ] ; then
|
|
||||||
# Run command again but this time we will show the output
|
|
||||||
# Ugly, but ...
|
|
||||||
"${UNBOUND_CHECKCONF}" "${UNBOUND_CONFFILE}"
|
|
||||||
else
|
|
||||||
if [ -n "${UNBOUND_PRESERVE_CACHE}" ] ; then
|
|
||||||
local _is_control_enabled=$(getconfig control-enable no)
|
|
||||||
if [ "${_is_control_enabled}" != "yes" ] ; then
|
|
||||||
eerror "Cannot preserve cache: control-enable is 'no' in the config file!"
|
|
||||||
_config_status=2
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
eend ${_config_status} "failed, please correct errors above"
|
|
||||||
}
|
|
||||||
|
|
||||||
save_cache() {
|
|
||||||
if [ "${RC_CMD}" != "restart" ] ; then
|
|
||||||
UNBOUND_PRESERVE_CACHE=1 configtest || return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
ebegin "Saving cache to '${UNBOUND_CACHEFILE}'"
|
|
||||||
${UNBOUND_CONTROL} -c "${UNBOUND_CONFFILE}" dump_cache > "${UNBOUND_CACHEFILE}"
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
start_pre() {
|
|
||||||
if [ "${RC_CMD}" != "restart" ] ; then
|
|
||||||
configtest || return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
start_post() {
|
|
||||||
if [ -n "${UNBOUND_PRESERVE_CACHE}" ] ; then
|
|
||||||
if [ -s "${UNBOUND_CACHEFILE}" ] ; then
|
|
||||||
ebegin "Loading cache from '${UNBOUND_CACHEFILE}'"
|
|
||||||
# Loading cache can fail which would block this runscript.
|
|
||||||
# Using `timeout` from coreutils will be our safeguard ...
|
|
||||||
timeout -k 5 ${UNBOUND_LOAD_CACHE_TIMEOUT} ${UNBOUND_CONTROL} -q -c "${UNBOUND_CONFFILE}" load_cache < "${UNBOUND_CACHEFILE}"
|
|
||||||
eend $?
|
|
||||||
else
|
|
||||||
ewarn "Loading cache from '${UNBOUND_CACHEFILE}' skipped: File does not exists or is empty!"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# It is not a fatal error if preserved cache could not be loaded
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
stop_pre() {
|
|
||||||
if [ "${RC_CMD}" = "restart" ] ; then
|
|
||||||
configtest || return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "${UNBOUND_PRESERVE_CACHE}" ] ; then
|
|
||||||
save_cache
|
|
||||||
fi
|
|
||||||
|
|
||||||
# It is not a fatal error if cache cannot be preserved
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
reload() {
|
|
||||||
configtest || return 1
|
|
||||||
ebegin "Reloading ${SVCNAME}"
|
|
||||||
start-stop-daemon --signal HUP --pidfile "${pidfile}"
|
|
||||||
eend $?
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Unbound recursive Domain Name Server
|
|
||||||
After=network.target
|
|
||||||
Before=nss-lookup.target
|
|
||||||
Wants=nss-lookup.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStartPre=/usr/sbin/unbound-checkconf
|
|
||||||
ExecStart=/usr/sbin/unbound -d
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,5 +0,0 @@
|
||||||
[Socket]
|
|
||||||
ListenDatagram=127.0.0.1:1153
|
|
||||||
ListenStream=127.0.0.1:1153
|
|
||||||
[Install]
|
|
||||||
WantedBy=sockets.target
|
|
|
@ -1,13 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Unbound recursive Domain Name Server
|
|
||||||
After=network.target
|
|
||||||
Before=nss-lookup.target
|
|
||||||
Wants=nss-lookup.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
ExecStartPre=/usr/sbin/unbound-checkconf /etc/unbound/%i.conf
|
|
||||||
ExecStart=/usr/sbin/unbound -d -c /etc/unbound/%i.conf
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,35 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="person">
|
|
||||||
<email>mschiff@gentoo.org</email>
|
|
||||||
<name>Marc Schiffbauer</name>
|
|
||||||
</maintainer>
|
|
||||||
<longdescription lang="en">
|
|
||||||
Unbound is a validating, recursive, and caching DNS resolver.
|
|
||||||
|
|
||||||
The C implementation of Unbound is developed and maintained by NLnet
|
|
||||||
Labs. It is based on ideas and algorithms taken from a java prototype
|
|
||||||
developed by Verisign labs, Nominet, Kirei and ep.net.
|
|
||||||
|
|
||||||
Unbound is designed as a set of modular components, so that also
|
|
||||||
DNSSEC (secure DNS) validation and stub-resolvers (that do not run
|
|
||||||
as a server, but are linked into an application) are easily possible.
|
|
||||||
</longdescription>
|
|
||||||
<slots>
|
|
||||||
<subslots>Reflect ABI of libunbound.so.</subslots>
|
|
||||||
</slots>
|
|
||||||
<use>
|
|
||||||
<flag name="dnscrypt">Enable DNSCrypt support</flag>
|
|
||||||
<flag name="dnstap">Enable dnstap support</flag>
|
|
||||||
<flag name="ecdsa">Enable ECDSA support</flag>
|
|
||||||
<flag name="ecs">Enable EDNS client subnet support</flag>
|
|
||||||
<flag name="gost">Enable GOST support</flag>
|
|
||||||
<flag name="http2">Enable HTTP/2 support for DoH<pkg>net-libs/nghttp2</pkg></flag>
|
|
||||||
<flag name="redis">Enable cache db backend which uses<pkg>dev-libs/hiredis</pkg></flag>
|
|
||||||
<flag name="tfo">Enable TCP Fast Open client+server</flag>
|
|
||||||
</use>
|
|
||||||
<upstream>
|
|
||||||
<remote-id type="github">NLnetLabs/unbound</remote-id>
|
|
||||||
</upstream>
|
|
||||||
</pkgmetadata>
|
|
|
@ -1,219 +0,0 @@
|
||||||
# Copyright 1999-2024 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
|
||||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/unbound.net.asc
|
|
||||||
inherit autotools flag-o-matic multilib-minimal python-single-r1 systemd verify-sig
|
|
||||||
|
|
||||||
MY_P=${PN}-${PV/_/}
|
|
||||||
DESCRIPTION="A validating, recursive and caching DNS resolver"
|
|
||||||
HOMEPAGE="https://unbound.net/ https://nlnetlabs.nl/projects/unbound/about/"
|
|
||||||
SRC_URI="
|
|
||||||
https://nlnetlabs.nl/downloads/unbound/${MY_P}.tar.gz
|
|
||||||
verify-sig? ( https://nlnetlabs.nl/downloads/unbound/${MY_P}.tar.gz.asc )
|
|
||||||
"
|
|
||||||
S="${WORKDIR}"/${MY_P}
|
|
||||||
|
|
||||||
LICENSE="BSD GPL-2"
|
|
||||||
SLOT="0/8" # ABI version of libunbound.so
|
|
||||||
if [[ ${PV} != *_rc* ]] ; then
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86"
|
|
||||||
fi
|
|
||||||
IUSE="debug dnscrypt dnstap +ecdsa ecs gost +http2 +ipset python redis selinux static-libs systemd test +tfo threads"
|
|
||||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
# Note: expat is needed by executable only but the Makefile is custom
|
|
||||||
# and doesn't make it possible to easily install the library without
|
|
||||||
# the executables. MULTILIB_USEDEP may be dropped once build system
|
|
||||||
# is fixed.
|
|
||||||
DEPEND="
|
|
||||||
acct-group/unbound
|
|
||||||
acct-user/unbound
|
|
||||||
>=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
|
|
||||||
>=dev-libs/libevent-2.0.21:0=[${MULTILIB_USEDEP}]
|
|
||||||
>=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
|
|
||||||
dnscrypt? ( dev-libs/libsodium:=[${MULTILIB_USEDEP}] )
|
|
||||||
dnstap? (
|
|
||||||
dev-libs/fstrm[${MULTILIB_USEDEP}]
|
|
||||||
>=dev-libs/protobuf-c-1.0.2-r1:=[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
ecdsa? (
|
|
||||||
dev-libs/openssl:0[-bindist(-)]
|
|
||||||
)
|
|
||||||
http2? ( net-libs/nghttp2:=[${MULTILIB_USEDEP}] )
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
redis? ( dev-libs/hiredis:= )
|
|
||||||
systemd? ( sys-apps/systemd )
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
virtual/pkgconfig
|
|
||||||
python? ( dev-lang/swig )
|
|
||||||
test? (
|
|
||||||
net-libs/ldns[examples(-)]
|
|
||||||
dev-util/splint
|
|
||||||
app-text/wdiff
|
|
||||||
)
|
|
||||||
verify-sig? ( sec-keys/openpgp-keys-unbound )
|
|
||||||
"
|
|
||||||
RDEPEND="
|
|
||||||
${DEPEND}
|
|
||||||
net-dns/dnssec-root
|
|
||||||
selinux? ( sec-policy/selinux-bind )
|
|
||||||
"
|
|
||||||
|
|
||||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
|
||||||
ioctlsocket # not on Linux (bug #900060)
|
|
||||||
)
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-1.5.7-trust-anchor-file.patch
|
|
||||||
"${FILESDIR}"/${PN}-1.6.3-pkg-config.patch
|
|
||||||
"${FILESDIR}"/${PN}-1.10.1-find-ar.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
use python && python-single-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
|
|
||||||
eautoreconf
|
|
||||||
|
|
||||||
# Required for the python part
|
|
||||||
multilib_copy_sources
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
[[ ${CHOST} == *-darwin* ]] || append-ldflags -Wl,-z,noexecstack
|
|
||||||
multilib-minimal_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
local myeconfargs=(
|
|
||||||
$(multilib_native_use_enable debug)
|
|
||||||
$(multilib_native_use_enable gost)
|
|
||||||
$(multilib_native_use_enable dnscrypt)
|
|
||||||
$(multilib_native_use_enable dnstap)
|
|
||||||
$(multilib_native_use_enable ecdsa)
|
|
||||||
$(multilib_native_use_enable ecs subnet)
|
|
||||||
$(multilib_native_use_enable ipset)
|
|
||||||
$(multilib_native_use_enable redis cachedb)
|
|
||||||
$(multilib_native_use_enable static-libs static)
|
|
||||||
$(multilib_native_use_enable systemd)
|
|
||||||
$(multilib_native_use_with python pythonmodule)
|
|
||||||
$(multilib_native_use_with python pyunbound)
|
|
||||||
$(multilib_native_use_with threads pthreads)
|
|
||||||
$(multilib_native_use_with http2 libnghttp2)
|
|
||||||
$(multilib_native_use_enable tfo tfo-client)
|
|
||||||
$(multilib_native_use_enable tfo tfo-server)
|
|
||||||
|
|
||||||
--disable-flto
|
|
||||||
--disable-rpath
|
|
||||||
--enable-event-api
|
|
||||||
--enable-ipsecmod
|
|
||||||
|
|
||||||
--with-libevent="${ESYSROOT}"/usr
|
|
||||||
$(multilib_native_usex redis --with-libhiredis="${ESYSROOT}/usr" --without-libhiredis)
|
|
||||||
|
|
||||||
--with-pidfile="${EPREFIX}"/run/unbound.pid
|
|
||||||
--with-rootkey-file="${EPREFIX}"/etc/dnssec/root-anchors.txt
|
|
||||||
--with-ssl="${ESYSROOT}"/usr
|
|
||||||
--with-libexpat="${ESYSROOT}"/usr
|
|
||||||
|
|
||||||
# http://unbound.nlnetlabs.nl/pipermail/unbound-users/2011-April/001801.html
|
|
||||||
# $(use_enable debug lock-checks)
|
|
||||||
# $(use_enable debug alloc-checks)
|
|
||||||
# $(use_enable debug alloc-lite)
|
|
||||||
# $(use_enable debug alloc-nonregional)
|
|
||||||
)
|
|
||||||
|
|
||||||
econf "${myeconfargs[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install() {
|
|
||||||
emake DESTDIR="${D}" install
|
|
||||||
systemd_dounit contrib/unbound.service
|
|
||||||
systemd_dounit contrib/unbound.socket
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
use python && python_optimize
|
|
||||||
|
|
||||||
newinitd "${FILESDIR}"/unbound-r1.initd unbound
|
|
||||||
newconfd "${FILESDIR}"/unbound-r1.confd unbound
|
|
||||||
|
|
||||||
systemd_newunit "${FILESDIR}"/unbound_at.service "unbound@.service"
|
|
||||||
systemd_dounit "${FILESDIR}"/unbound-anchor.service
|
|
||||||
|
|
||||||
dodoc doc/{README,CREDITS,TODO,Changelog,FEATURES}
|
|
||||||
|
|
||||||
# bug #315519
|
|
||||||
dodoc contrib/unbound_munin_
|
|
||||||
|
|
||||||
docinto selinux
|
|
||||||
dodoc contrib/selinux/*
|
|
||||||
|
|
||||||
exeinto /usr/share/${PN}
|
|
||||||
doexe contrib/update-anchor.sh
|
|
||||||
|
|
||||||
# Create space for auto-trust-anchor-file...
|
|
||||||
keepdir /etc/unbound/var
|
|
||||||
fowners root:unbound /etc/unbound/var
|
|
||||||
fperms 0770 /etc/unbound/var
|
|
||||||
# ... and point example config to it
|
|
||||||
sed -i \
|
|
||||||
-e '/# auto-trust-anchor-file:/s,/etc/dnssec/root-anchors.txt,/etc/unbound/var/root-anchors.txt,' \
|
|
||||||
"${ED}/etc/unbound/unbound.conf" \
|
|
||||||
|| die
|
|
||||||
|
|
||||||
# Used to store cache data
|
|
||||||
keepdir /var/lib/${PN}
|
|
||||||
fowners root:unbound /var/lib/${PN}
|
|
||||||
fperms 0770 /var/lib/${PN}
|
|
||||||
|
|
||||||
find "${ED}" -name '*.la' -delete || die
|
|
||||||
if ! use static-libs ; then
|
|
||||||
find "${ED}" -name "*.a" -delete || die
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
if [[ ! -f "${EROOT}/etc/unbound/unbound_control.key" ]]; then
|
|
||||||
einfo "Trying to create unbound control key ..."
|
|
||||||
if ! unbound-control-setup &>/dev/null ; then
|
|
||||||
ewarn "Failed to create unbound control key!"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -f "${EROOT}/etc/unbound/var/root-anchors.txt" ]]; then
|
|
||||||
einfo ""
|
|
||||||
einfo "If you want unbound to automatically update the root-anchor file for DNSSEC validation"
|
|
||||||
einfo "set 'auto-trust-anchor-file: ${EROOT}/etc/unbound/var/root-anchors.txt' in ${EROOT}/etc/unbound/unbound.conf"
|
|
||||||
einfo "and run"
|
|
||||||
einfo ""
|
|
||||||
einfo " su -s /bin/sh -c '${EROOT}/usr/sbin/unbound-anchor -a ${EROOT}/etc/unbound/var/root-anchors.txt' unbound"
|
|
||||||
einfo ""
|
|
||||||
einfo "as root to create it initially before starting unbound for the first time after enabling this."
|
|
||||||
einfo ""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Our user is not available on prefix
|
|
||||||
use prefix && return
|
|
||||||
|
|
||||||
local _perm_check_testfile=$(mktemp --dry-run "${EPREFIX}"/etc/unbound/var/.pkg_postinst-perm-check.XXXXXXXXX)
|
|
||||||
su -s /bin/sh -c "touch ${_perm_check_testfile}" unbound &>/dev/null
|
|
||||||
if [[ $? -ne 0 ]]; then
|
|
||||||
ewarn "WARNING: unbound user cannot write to \"${EPREFIX}/etc/unbound/var\"!"
|
|
||||||
ewarn "Run the following commands to restore default permission:"
|
|
||||||
ewarn ""
|
|
||||||
ewarn " chown root:unbound ${EPREFIX}/etc/unbound/var"
|
|
||||||
ewarn " chmod 0770 ${EPREFIX}/etc/unbound/var"
|
|
||||||
else
|
|
||||||
# Cleanup -- no reason to die here!
|
|
||||||
rm -f "${_perm_check_testfile}"
|
|
||||||
fi
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
DIST luksmeta-9.tar.bz2 267561 BLAKE2B e131e918d7b080599d89bb5d7b63bff622371f2d97fe775929cc6fba21ee3c9581b0f0042fe7a7581eff16dc0a5e9d9bb3c668883b87ba2419c07328cfe15ef2 SHA512 eeecc3de9d621c380d29b2f2ca6ce715f09c20aac8ffc6a3d3cc7dc30c5dc46df686e61928d0accf7e7281ad9baa6ee59a0cf5b58635a311769d8e08c5cc94bd
|
|
||||||
EBUILD luksmeta-9.ebuild 440 BLAKE2B 63282f25f344e861007474ecf077c94b771fea35b76b8ec86a2258099ebb62beb6973179a85fb741bb3b2a0a9ed840709917bdc9152ff351e92ae1f7fc69e97f SHA512 af04806ddb7b53766eb7952e4d6c18299351cefa68437bd13ee0ab07b90efa8390122bd778b1ac3a151a16d276233a214f5b2141621da9f121e13643606a51dd
|
|
||||||
MISC metadata.xml 338 BLAKE2B 38c20081c3e9e7eb4e2fded0c2cd35509796e67f2c518e937f48e95e7e77a1670f5feec6cd30daf11cb7b6721fa6844a7b62fa54a6721705810538a5b541dbb1 SHA512 4031852ef2ed84c111a12e1b509a12d99b9f3907bac12f4c273acac91cec5537424babe76c8e37d70183280e78b6771f32cec7511e464099f0968d180e767f0d
|
|
|
@ -1,17 +0,0 @@
|
||||||
# Copyright 2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
DESCRIPTION="LUKSMeta is a simple library for storing metadata in the LUKSv1 header"
|
|
||||||
HOMEPAGE="https://latchset.github.io/"
|
|
||||||
SRC_URI="https://github.com/latchset/${PN}/releases/download/v${PV}/${P}.tar.bz2"
|
|
||||||
|
|
||||||
LICENSE="LGPL-2+"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
DEPEND="app-text/asciidoc
|
|
||||||
sys-fs/cryptsetup"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
|
@ -1,11 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="person">
|
|
||||||
<email>david.guglielmi@gmail.com</email>
|
|
||||||
<name>David GUGLIELMI</name>
|
|
||||||
</maintainer>
|
|
||||||
<upstream>
|
|
||||||
<remote-id type="github">latchset/luksmeta</remote-id>
|
|
||||||
</upstream>
|
|
||||||
</pkgmetadata>
|
|
|
@ -1,29 +0,0 @@
|
||||||
AUX clvmd.confd-2.02.39 213 BLAKE2B bfca5c33cbff432427291c162f8e1c5172957c4d1dbabae8605bf1aab7aaf0c8d9b1b67f81219b3a3ae0822e0a9e17c8bde2b59c27a0fafd8495b67e0c7708c5 SHA512 9614c4188c9a5bcf398d1f521b52d7e2281fcdf76265fdaca4acda22be282d8468e82b54a2661d5753f4b9a442ebe93a60daf87c846db4e275a283f71c9fd8e2
|
|
||||||
AUX clvmd.rc-2.02.39 3590 BLAKE2B 6ea7d9a112a98baed0c8d96e19804cadc82cc326fd6db00947631f3ef10791f0cf7888a250aeb8e37b6149302b26310c305c4a46cb8eef2dee00f0d0238c9943 SHA512 2a16b700f475a65477d548b4cb5fb26129c86d2244b7b5716ffdb4e9b13cf2e37bc1fc986c080c5c4d1c0e2b5436b0cc6fcb0527c9b98c1b29b85ca512551532
|
|
||||||
AUX device-mapper.conf-1.02.22-r3 15 BLAKE2B c8954f4cad3090e95c8ab985f7f93b65add66b9014351aab82d270c371c3b7571a73b37b2002664b50c21bb7dd494c7196857de75b41ca534cb15e0127f080ae SHA512 1846e0ca1be7170d4c0beb694a23aea4d19b24b99a248bb0f4e034286a6beede0a8efc474b0c237e33ee72c86c93b6238f2d5ea23e224765acba99c90633261e
|
|
||||||
AUX device-mapper.rc-2.02.105-r2 3707 BLAKE2B 1f1f38fd377e77e082985146de8a32fb88f794e4db28d6790cccbc6a87b63b0d28617e5fa7eb4974e2dcf8a80265accf8b69ff0719fa3de1c6788e7d5a1bd705 SHA512 9940b1154a8c07cf2f2c975e209bfb1e78913d3ea77ac6334684a9b38c4f4bd34b349b71c078c9ad5700f554046771ee05e17f07b75dc4e7d839f1df2305cc4f
|
|
||||||
AUX dmeventd.initd-2.02.67-r1 565 BLAKE2B ca1f5d205191076114d4a89717b304df04a520a22630ed84e78550e83b9364e049457bacfcadcc8ca1328a78c97412a445fcf153871266355379eab423c38138 SHA512 c0f5317ab0cba700eab3b643fd134d8a23fe4b332c47fd94728e43dfdf97250561f60ecb47808d2c65e55cdec65cccbd51f264540c0d973b2df7ded4ec129c34
|
|
||||||
AUX dmtab 319 BLAKE2B 5753b72e44325e467c0e4ea1bbce8faafe1c5e2509d2e02a5ad428b39e531c655014a3b151f7bc57513aae74983a60cfe3034432ffd21d39716fc6893ec7da8f SHA512 a8cc69ff832eafd64d7e45854df3380a9c5f9648297e2606c5b9b47e0015c93c7da6ef3dfd35800f36a3371635fa1906605c524be82d6740fd435c7f6bf2807b
|
|
||||||
AUX lvm-monitoring.initd-2.02.105-r2 963 BLAKE2B 2a193578c642e05a2a492fb025bdacd2594953405a58517bf6a93a04db29be03e16a33b2c5cd57c463f55f30fd47a4fb7766f52b149a298db4dcefed4ed30012 SHA512 dc13304e8d644a55f0490c84acc36b95f43fc0e86c4b44f85f54f6ed3213ad665454e7432b3621f307b3468af0c33525c24705f4a2783e35a26e02ff1c828779
|
|
||||||
AUX lvm.confd-2.02.28-r2 173 BLAKE2B 4b9d115ed31b3777bd3c925b75bd0ebb186bace92b6d294e6a1ff7cdb7c206374a06738a73edc401a5547016a08721013fe3ad66b52d8cf08de75d030813ab2d SHA512 67b153cbc5c2327c15f042b3b5590c1d8fdf9823efb19c80192ac4dcf98e530efea8ecae0aaaa4a54b0e3e4907565aa21455b364df1dbe8f2e7dffa1c5d355d0
|
|
||||||
AUX lvm.rc-2.02.172 4207 BLAKE2B 9c3e4ca320fda3ae587d908f416f8730c8965f3eea1b79fdd9453c505793870d7ceea0a8f305efaf8579805c773cffac084bc62854eb7a61bceec7f29c3bb183 SHA512 8aff8ed7f854dd326dd78c4862cd0a518deed10e05533d0a17fe47c18db8bf29b26799950f534b52aeabacd3fb70d83f12c523cab0a0f2d669aa0ff9d3fa1832
|
|
||||||
AUX lvm2-2.02.129-example.conf.in.patch 1844 BLAKE2B 60e717f172557800c9a797309188b88bd601f3491d54d7dc0320e40b4b4825c20b70e07f9737d3e109746523c16ec29519f18fae10e9c56b3a936e082b8e308d SHA512 a2bceec0d051fd2f7749e702d6bbabbc0edf98b11b3211256d2a49d781b1fe89071f36052045726b11b0e0bdd98242b88fc57128a048a7d6d6448c298a6233ed
|
|
||||||
AUX lvm2-2.02.166-HPPA-no-O_DIRECT.patch 285 BLAKE2B 0311aab5b4ac843ff36fb7c4dbb8f47538fb621848f8430118dbbbcdfbf64876098ce9732109dca00e9262551b12a0e3293f0edfbb82dadf2d442f448dd695a3 SHA512 e113c31400d9f382b89901be199dfd3dd3888e0b417fb080d381d2aab79ac522dc968fda6aa7fd7668d018fd9109be133252cce01825bf950a79da145ff8b240
|
|
||||||
AUX lvm2-2.02.176-pthread-pkgconfig.patch 822 BLAKE2B 9c5d89a70c0a7074d689f8f50a1f811b91fe8a64b564e22426bce4574be165765b3640f8dc650e4ae047340a03390fc70faff0cd78ef5251063d28030e1f495f SHA512 d96f579bbdc56b8288fa01e6c416bfcf229c92b659102edd1aa10c9ae1c35eeecb4299bce161218dae423995431e8a12a2a78a80a868b79744f74053ec2f9bd2
|
|
||||||
AUX lvm2-2.02.183-fix-stdio-usage.patch 870 BLAKE2B e92a605f5adffe8d63b330450b2d65f29745f869e5bb360641e4af7dc2ada066bbd227ada28cc5d5f536193acebc662b46cb73bf154f246e7235e43a4dc4963c SHA512 505205665bbef9faa55bd1081897a5c561dc5093eec799a744e57aabccf4dff20cb72ea6ada232a04d63e6a5ccc45905f575c7bcc39819a4170fdeb4050ddde0
|
|
||||||
AUX lvm2-2.02.183-implement-libc-specific-reopen_stream.patch 646 BLAKE2B cc229e506d2f5f10d64e579e404b845525b9a26b32d7e6d87274f500f90dd5b0e7f25ac5d7b89623c06c08e6d8e7161d05477ddb1249a73cca4e6081006951b2 SHA512 f7941f0a4f61b62b218c5635ca86dc79f9cd77b30dc391509ee41635c957e3f06041bf45b12eff8894b22377684dcb93a648385d062a9b2fa2322add3513942a
|
|
||||||
AUX lvm2-2.02.183-portability.patch 567 BLAKE2B e165297ec7c9bf65bf0f460e9a03da5733b816c59dda852800dcfe7d141304fec4b8955c863f6708d49ce1a58380ddf0d17916c26e305ddfccb06fa499415c5f SHA512 9595a6760e0eeae44f58733e775c572cce24e95bb78db1bafd534a906d19b937a48358d9b75d34e1d22473da1a70f275fcdd1e7fbe2f97c4f6ef7cdef2df285b
|
|
||||||
AUX lvm2-2.02.56-lvm2create_initrd.patch 2032 BLAKE2B 5533ceb7a601d58995e7a90b1355508907edb30d14704b397a8c8ba0d66dbcd3d6b02ace1cadef1dfbb1d927449403f76f0f38e5d034344b3232deb512507cb6 SHA512 b2a1705fa6b962027ebc5047583547489afe8ef8d8977c6284a28d0a8b0e05e20e6c48bd6c02a8bb02de9cfb40ac2d6e2a4b8ed8ef8c4ae7b6ea9a29bc4194de
|
|
||||||
AUX lvm2-2.02.63-always-make-static-libdm.patch 1420 BLAKE2B baf7010b5965f5c2b9a32ec812cb259cb3ceccea0d56e48d75e9f8e872634913f160fcfff0c2c77854ddfeaafb3b48bbca16d569041ab6f45aecb950f8e5bf4a SHA512 67735af9e51369d5b3b400cab4f9ffa25f8dea1c1ec3d01855cb3c5aeade5c39a35eeed43f3a665204fe6bbba4ca43baecd845330bf26d023064b94ca3d1317c
|
|
||||||
AUX lvm2-2.02.67-createinitrd.patch 660 BLAKE2B 23e784e6769bc1f47fa57d690e6bebdf16d784d775a06af1c8eb7c54dd63a12abb0edd8331c8d033d7a0dda058252453a46dd35bd820fd47ba1407e9568b3858 SHA512 17fbba5d34ece5c1c25ef35fa3bbc3d6fcd20b44bd766c049bbc120853a8d60c9544db5790645a7814db5c272fd12d383699a8a9be6f4e9c56a7c0a1bb29ade2
|
|
||||||
AUX lvm2-2.02.99-locale-muck.patch 405 BLAKE2B 07ac7c7f54d06dbdeae1c6bf0959fd0c223b30cbd67c08f853e02f520d212f7b6dcf7c3b6c3d3b7370bb004adbb23b226bf0d0792b5799ddbaff5ab655124ca2 SHA512 1c898693f71d165d55458ab87886a25206930c202b5aea95eba394ad06162cc710c1435e598acb9bcd3fbf46abf5409be972f6ce73bd02b2e177e1af780ae7ad
|
|
||||||
AUX lvm2-2_02_178-lvmlockd-fix-uninitialized.patch 521 BLAKE2B 5cb393f62a298985a5034446ecf390f031bd228fb70233e2243742a7b403b4b98cf463412e9dcd2a08ddf6e8855ddda3a26b4bf2f861d29c4363b5fb2a3e4ede SHA512 f0eb17cb9ffe3ae3193142e9082a7b0f53c05effcf020c627a01b81d3733efacdd4e7d7b17e147b9ddfca61eb7ed8ebdf6fdeb7db5d54210ed936a7dcf741f1f
|
|
||||||
AUX lvm2-2_02_180-filter-use-valid-pointers.patch 720 BLAKE2B f5025cbc71b32435d4fd243367cb3c298d2bcb4e28a7e0647c72d1e2bf120587030e786985074aee970cf323739b5f72ba90f6245ab7d464f1926590fe097732 SHA512 c1303ecd83136387c5ee0781de7b64a83ebf06b3c990b84dcd93ed183b1e830ea8fc94a76e08dd0cfc34fdb723607d79124451f5218cb77b199745d7d0d55445
|
|
||||||
AUX lvm2-lvmetad-timeout.patch 583 BLAKE2B 7a72fa79309d6c34484a247f4cdacfc0aa6447a2ca5ebf55a145612c131d85c79086237e397c7b60188d0f282014f3d0570c946dd3a98d9c84588e7cab41fcfe SHA512 e94b6eb6e583d893c47242b9c796e898feaef0b58c2e6fc2060f3f828936bc71560ea836576c5f9be738df0f8f5b61a7525a7d94d6813a067f0a50f64c78435e
|
|
||||||
AUX lvm2-set-default-preferred_names.patch 1535 BLAKE2B f35b29e3bc352f4963ba8f147ef87320fb1b133f8a27f3858200046dc746b72540e3b333b2475e113052a71faa11011579d35b8809b9630653b9ccebb3af5f64 SHA512 4495642b851a4f19c1f2017a270ad3383e55aca4506f55aa39d351c7e6817bbc401328ac8ef323435baf5b5a6a59d479dc2d9b8242cdaf597ef11d26907acdaf
|
|
||||||
AUX lvmetad.initd-2.02.105-r2 287 BLAKE2B 613baa6c794a971257ea25061d51ce2923475e919c6753e99e8fd2f7e8542ac48b1207f851c3c200b7a4113a62ef5bc2dc5507bcd5ad6c47bec8c9a3abc1ad63 SHA512 5fe1a47a1c54546af70c64fc001db3111e519cb81d8672761b64f50b4c552d0fa79bd0770fb4f4f3e0e0ac584b1e13ea91ac1a33cea1cc1f484cff0dde1a3b0b
|
|
||||||
AUX lvmetad.initd-2.02.116-r3 348 BLAKE2B 6ad8f51dc6498703840a0917cdbcb5d1f179e2f8f0b2bc06f08e1c65e0dce2e63da3ca7295a8fcfc01019724bc9468d9d1338f3c2d879b4446980b5aa3e10441 SHA512 19aafd07aa6ebe3f05e321048480f746a9aafd1ad4e0323486db5c54035430f607e171d2246e91bbbf8a2a7e15278d793ad13d84e824df7af65345070483a696
|
|
||||||
AUX lvmlockd.initd-2.02.166-r1 393 BLAKE2B 83eb337aa1069e66d7746b23141da24717303552016497d29d4df304bb174b2c380cc7c09df7b3529e355cf172150c7cf254afb984a6561e1fa3459aeed43421 SHA512 11d6f186799d8628220eccb4823e5bd251bc3c447e6c3f8a63c025dc4e08e0a7638a8439967ea2ee8a717264887597be4992afca59571ebaa651441782288081
|
|
||||||
DIST LVM2.2.02.177.tgz 2378651 BLAKE2B f68153b916c51e1f43fa24c954270e5bac6b7df5cf1699d800a508cd4c1bc90a7b9a8b9b6614f84d36eca88cefef759dd3a724b0894d16dcbd81805f2955018e SHA512 e287aeae3ce5ce0efcdebce90f24c2f659cd8691839e3f3cb902848535259ae510ec48f5355481b99f7285d9cff01883e6ef2b101072bdf9c99fba8e9cb54ded
|
|
||||||
EBUILD lvm2-2.02.177.ebuild 9995 BLAKE2B ed3692bc64c771ad4f2f0f7c9ea0998a4e931dbd31da0650528a66ef001356c4e90800170478db0a956bbb5f3131ce7fbdcb4b2d98001a770955b841834f8a0f SHA512 b7d10a5e6f403ceb1557efe5033ddb9583f6fba5c334ab476dba95ebe73c8b7034cb03fe441ded0925d439e0b6b56fd055afe04c180773deb4d690a22f543381
|
|
||||||
MISC metadata.xml 1397 BLAKE2B fb780193c777b248648d09cc4c0f287f07b64df79912a4c1c37b5c456f8fc8ea98470c03501619432bddb5df1e3f877178a0c7e630b295a01a3bfc27fa63520e SHA512 1ed97dbef323b6703097c20de99e9003c88663a887bcf87c9489baddfa180aa3d8645e4e60cd3eb3b9505603997ac3ab98a7ee96a813b77b9dc25862dd332d35
|
|
|
@ -1,9 +0,0 @@
|
||||||
# CLVMD_CLUSTER_TIMEOUT -- amount of time to wait for cluster quorum.
|
|
||||||
|
|
||||||
CLVMD_CLUSTER_TIMEOUT=30
|
|
||||||
|
|
||||||
|
|
||||||
# CLVMD_NODES_TIMEOUT -- amount of time to wait for the other nodes to
|
|
||||||
# join the cluster.
|
|
||||||
|
|
||||||
CLVMD_NODES_TIMEOUT=60
|
|
|
@ -1,145 +0,0 @@
|
||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
[ -x /usr/sbin/clvmd ] && CLVMD_BIN="/usr/sbin/clvmd" || CLVMD_BIN="/sbin/clvmd"
|
|
||||||
|
|
||||||
[ -z "$CLVMD_CLUSTER_TIMEOUT" ] && CLVMD_CLUSTER_TIMEOUT=30
|
|
||||||
[ -n "$CLVMD_NODES_TIMEOUT" ] || CLVMD_NODES_TIMEOUT=60
|
|
||||||
|
|
||||||
VGCHANGE="/sbin/vgchange"
|
|
||||||
VGSCAN="/sbin/vgscan"
|
|
||||||
VGDISPLAY="/sbin/vgdisplay"
|
|
||||||
CLVMD_PIDFILE="/var/run/clvmd.pid"
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
use net dns logger dmeventd
|
|
||||||
want cman corosync openais
|
|
||||||
}
|
|
||||||
|
|
||||||
load_modules() {
|
|
||||||
local module modules
|
|
||||||
modules=$1
|
|
||||||
|
|
||||||
for module in ${modules}; do
|
|
||||||
ebegin "Loading ${module} kernel module"
|
|
||||||
modprobe ${module}
|
|
||||||
eend $? "Failed to load ${module} kernel module"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
unload_modules() {
|
|
||||||
local module modules
|
|
||||||
modules=$1
|
|
||||||
|
|
||||||
for module in ${modules}; do
|
|
||||||
ebegin "Unloading ${module} kernel module"
|
|
||||||
modprobe -r ${module}
|
|
||||||
eend $? "Failed to unload ${module} kernel module"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
umount_gfs_filesystems() {
|
|
||||||
local sig retry
|
|
||||||
local remaining="$(awk '$3 == "gfs" { print $2 }' /proc/mounts | sort -r)"
|
|
||||||
|
|
||||||
if [ -n "${remaining}" ]
|
|
||||||
then
|
|
||||||
sig=
|
|
||||||
retry=3
|
|
||||||
while [ -n "${remaining}" -a "${retry}" -gt 0 ]
|
|
||||||
do
|
|
||||||
if [ "${retry}" -lt 3 ]
|
|
||||||
then
|
|
||||||
ebegin "Unmounting GFS filesystems (retry)"
|
|
||||||
umount ${remaining} &>/dev/null
|
|
||||||
eend $? "Failed to unmount GFS filesystems this retry"
|
|
||||||
else
|
|
||||||
ebegin "Unmounting GFS filesystems"
|
|
||||||
umount ${remaining} &>/dev/null
|
|
||||||
eend $? "Failed to unmount GFS filesystems"
|
|
||||||
fi
|
|
||||||
remaining="$(awk '$3 == "gfs" { print $2 }' /proc/mounts | sort -r)"
|
|
||||||
[ -z "${remaining}" ] && break
|
|
||||||
/bin/fuser -k -m ${sig} ${remaining} &>/dev/null
|
|
||||||
sleep 5
|
|
||||||
retry=$((${retry} -1))
|
|
||||||
sig=-9
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
start_volumes() {
|
|
||||||
ebegin "Scanning LVM volumes"
|
|
||||||
$VGSCAN > /dev/null 2>&1
|
|
||||||
eend $?
|
|
||||||
|
|
||||||
ret=$?
|
|
||||||
if [ "$ret" -eq 5 ]
|
|
||||||
then
|
|
||||||
einfo " Waiting for other nodes to join the cluster ($CLVMD_NODES_TIMEOUT seconds)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
clustervgs=`$VGDISPLAY 2> /dev/null | awk 'BEGIN {RS="VG Name"} {if (/Clustered/) print $1;}'`
|
|
||||||
for vg in $clustervgs; do
|
|
||||||
ebegin " Activating Clustered VG: ${vg} "
|
|
||||||
|
|
||||||
wait=0
|
|
||||||
while [ -n "$($VGCHANGE -a y ${vg} 2>&1 |grep "clvmd not running")" ]; do
|
|
||||||
if [ $wait -lt $CLVMD_NODES_TIMEOUT ]; then
|
|
||||||
sleep 3
|
|
||||||
wait=$(($wait + 3))
|
|
||||||
else
|
|
||||||
eend 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
eend 0
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
stop_volumes() {
|
|
||||||
# Deactivate only clustered volumes
|
|
||||||
clustervgs=`$VGDISPLAY 2> /dev/null | awk 'BEGIN {RS="VG Name"} {if (/Clustered/) print $1;}'`
|
|
||||||
for vg in $clustervgs; do
|
|
||||||
ebegin " Shutting Down Clustered VG: ${vg} "
|
|
||||||
$VGCHANGE -anl ${vg} >/dev/null
|
|
||||||
eend $?
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
start() {
|
|
||||||
local module=$(awk '$1 == "dm_mod" { print $1 }' /proc/{modules,devices})
|
|
||||||
|
|
||||||
if [ -z "${module}" ]; then
|
|
||||||
load_modules "dm-mod"
|
|
||||||
sleep 1s
|
|
||||||
fi
|
|
||||||
|
|
||||||
ebegin "Starting clvmd ($CLVMD_CLUSTER_TIMEOUT seconds)"
|
|
||||||
|
|
||||||
start-stop-daemon --start --quiet --exec ${CLVMD_BIN} -- -T ${CLVMD_CLUSTER_TIMEOUT}
|
|
||||||
eend $?
|
|
||||||
|
|
||||||
start_volumes
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
|
|
||||||
# umount GFS filesystems
|
|
||||||
umount_gfs_filesystems
|
|
||||||
|
|
||||||
#stop_volumes
|
|
||||||
|
|
||||||
ebegin "Stopping clvmd"
|
|
||||||
#start-stop-daemon --stop -s TERM --quiet --exec ${CLVMD_BIN} --name clvmd
|
|
||||||
killall -TERM ${CLVMD_BIN} >/dev/null
|
|
||||||
eend $?
|
|
||||||
|
|
||||||
#local module=$(awk '$1 == "dm_mod" { print $1 }' /proc/modules)
|
|
||||||
|
|
||||||
#if [[ "$?" -eq 0 && ! -z "${module}" ]]; then
|
|
||||||
# unload_modules "dm-mod"
|
|
||||||
#fi
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
RC_AFTER="lvm"
|
|
|
@ -1,146 +0,0 @@
|
||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
# As of .67-r1, we call ALL lvm start/stop scripts with --sysinit, that
|
|
||||||
# means dmeventd is NOT notified, as it cannot be safely running
|
|
||||||
before dmeventd checkfs fsck
|
|
||||||
after modules
|
|
||||||
}
|
|
||||||
|
|
||||||
dm_in_proc() {
|
|
||||||
local retval=0
|
|
||||||
for x in devices misc ; do
|
|
||||||
grep -qs 'device-mapper' /proc/${x}
|
|
||||||
retval=$((${retval} + $?))
|
|
||||||
done
|
|
||||||
return ${retval}
|
|
||||||
}
|
|
||||||
|
|
||||||
# char **build_dmsetup_command(volume)
|
|
||||||
#
|
|
||||||
# Returns complete dmsetup command given single volume name
|
|
||||||
build_dmsetup_command() {
|
|
||||||
local count dmsetup_cmd
|
|
||||||
|
|
||||||
# Number of lines mentioning volume name
|
|
||||||
count=$(grep -v -e '^[[:space:]]*\(#\|$\)' /etc/dmtab | grep -c ${1})
|
|
||||||
|
|
||||||
# If there's just one line:
|
|
||||||
if [ ${count} -eq 1 ] ; then
|
|
||||||
echo "echo $(grep -v -e '^[[:space:]]*\(#\|$\)' /etc/dmtab | \
|
|
||||||
grep ${1} | awk '{$1=""; print $0}') | /sbin/dmsetup create ${1}"
|
|
||||||
|
|
||||||
# For all cases with more lines:
|
|
||||||
elif [ ${count} -gt 1 ] ; then
|
|
||||||
for c in $( seq 1 ${count} ) ; do
|
|
||||||
if [ ${c} -eq 1 ] ; then
|
|
||||||
# Heavy escaping in awk-statement because we cannot use apostrophes
|
|
||||||
dmsetup_cmd="echo -e $(grep -v -e '^[[:space:]]*\(#\|$\)' /etc/dmtab | \
|
|
||||||
grep ${1} | awk NR==${c}\ \{\$1=\"\"\;\ print\ \$0\})"
|
|
||||||
else
|
|
||||||
# Append starting with newline
|
|
||||||
dmsetup_cmd="${dmsetup_cmd}\\\\n \
|
|
||||||
$(grep -v -e '^[[:space:]]*\(#\|$\)' /etc/dmtab | \
|
|
||||||
grep ${1} | awk NR==${c}\ \{\$1=\"\"\;\ print\ \$0\})"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "${dmsetup_cmd} | /sbin/dmsetup create ${1}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# char **get_new_dm_volumes(void)
|
|
||||||
#
|
|
||||||
# Return unique volumes from /etc/dmtab
|
|
||||||
get_new_dm_volumes() {
|
|
||||||
local volume
|
|
||||||
|
|
||||||
# Filter comments and blank lines
|
|
||||||
grep -v -e '^[[:space:]]*\(#\|$\)' /etc/dmtab | \
|
|
||||||
awk '{ print $1 }' | \
|
|
||||||
uniq | \
|
|
||||||
while read volume ; do
|
|
||||||
# If it exists, skip it
|
|
||||||
dmvolume_exists "${volume%:}" && continue
|
|
||||||
|
|
||||||
echo "${volume%:}"
|
|
||||||
done
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# int dmvolume_exists(volume)
|
|
||||||
#
|
|
||||||
# Return true if volume exists in DM table
|
|
||||||
dmvolume_exists() {
|
|
||||||
local x line volume=$1
|
|
||||||
|
|
||||||
[ -z "${volume}" ] && return 1
|
|
||||||
|
|
||||||
/sbin/dmsetup ls 2>/dev/null | \
|
|
||||||
while read line ; do
|
|
||||||
for x in ${line} ; do
|
|
||||||
# the following conditonal return only breaks out
|
|
||||||
# of the while loop, as it is running in a pipe.
|
|
||||||
[ "${x}" = "${volume}" ] && return 1
|
|
||||||
# We only want to check the volume name
|
|
||||||
break
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
# if 1 was returned from the above loop, then indicate that
|
|
||||||
# volume exists
|
|
||||||
[ $? = 1 ] && return 0
|
|
||||||
|
|
||||||
# otherwise the loop exited normally and the volume does not
|
|
||||||
# exist
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# int is_empty_dm_volume(volume)
|
|
||||||
#
|
|
||||||
# Return true if the volume exists in DM table, but is empty/non-valid
|
|
||||||
is_empty_dm_volume() {
|
|
||||||
local table volume=$1
|
|
||||||
|
|
||||||
set -- $(/sbin/dmsetup table 2>/dev/null | grep -e "^${volume}:")
|
|
||||||
[ "${volume}" = "$1" -a -z "$2" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
start() {
|
|
||||||
if [ -e /proc/modules ] && ! dm_in_proc ; then
|
|
||||||
modprobe dm-mod 2>/dev/null
|
|
||||||
fi
|
|
||||||
# Ensure the dirs exist for locking and running
|
|
||||||
checkpath -q -d -m 0700 -o root:root /run/lvm /run/lock/lvm
|
|
||||||
|
|
||||||
local x volume
|
|
||||||
|
|
||||||
if [ -x /sbin/dmsetup -a -c /dev/mapper/control -a -f /etc/dmtab ] ; then
|
|
||||||
[ -n "$(get_new_dm_volumes)" ] && \
|
|
||||||
einfo " Setting up device-mapper volumes:"
|
|
||||||
|
|
||||||
get_new_dm_volumes | \
|
|
||||||
while read x ; do
|
|
||||||
[ -n "${x}" ] || continue
|
|
||||||
|
|
||||||
volume="${x##* }"
|
|
||||||
|
|
||||||
ebegin " Creating volume: ${volume}"
|
|
||||||
if ! eval $(build_dmsetup_command ${volume}) >/dev/null 2>/dev/null ; then
|
|
||||||
eend 1 " Error creating volume: ${volume}"
|
|
||||||
# dmsetup still adds an empty volume in some cases,
|
|
||||||
# so lets remove it
|
|
||||||
is_empty_dm_volume "${volume}" && \
|
|
||||||
/sbin/dmsetup remove "${volume}" 2>/dev/null
|
|
||||||
else
|
|
||||||
eend 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
PIDFILE=/run/dmeventd.pid
|
|
||||||
BIN=/sbin/dmeventd
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
# As of .67-r1, we call ALL lvm start/stop scripts with --sysinit, that
|
|
||||||
# means dmeventd is NOT notified, as it cannot be safely running
|
|
||||||
after lvm device-mapper
|
|
||||||
}
|
|
||||||
|
|
||||||
start() {
|
|
||||||
ebegin "Starting dmeventd"
|
|
||||||
start-stop-daemon --start --exec $BIN --pidfile $PIDFILE
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
ebegin "Stopping dmeventd"
|
|
||||||
start-stop-daemon --stop --exec $BIN --pidfile $PIDFILE
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
#/etc/dmraid: config file for adding device-mapper volumes at boot
|
|
||||||
|
|
||||||
# Format: <volume name>: <table>
|
|
||||||
# Example: isw0: 0 312602976 striped 2 128 /dev/sda 0 /dev/sdb 0
|
|
||||||
#
|
|
||||||
# Alternatively you can create all your volumes the first time, and just run:
|
|
||||||
#
|
|
||||||
# dmsetup table >> /etc/dmtab
|
|
||||||
#
|
|
||||||
# and verify that they are correct.
|
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
# This script is based on upstream file
|
|
||||||
# LVM2.2.02.67/scripts/lvm2_monitoring_init_red_hat.in
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
# As of .67-r1, we call ALL lvm start/stop scripts with --sysinit, that
|
|
||||||
# means dmeventd is NOT notified, as it cannot be safely running
|
|
||||||
need lvm dmeventd
|
|
||||||
}
|
|
||||||
|
|
||||||
VGCHANGE=/sbin/vgchange
|
|
||||||
VGS=/sbin/vgs
|
|
||||||
|
|
||||||
start() {
|
|
||||||
ret=0
|
|
||||||
# TODO do we want to separate out already active groups only?
|
|
||||||
VGSLIST=`$VGS --noheadings -o name --rows 2> /dev/null`
|
|
||||||
ebegin "Starting LVM monitoring for VGs ${VGSLIST}:"
|
|
||||||
$VGCHANGE --monitor y --poll y ${VGSLIST}
|
|
||||||
ret=$?
|
|
||||||
eend $ret
|
|
||||||
return $ret
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
ret=0
|
|
||||||
# TODO do we want to separate out already active groups only?
|
|
||||||
VGSLIST=`$VGS --noheadings -o name --rows 2> /dev/null`
|
|
||||||
ebegin "Stopping LVM monitoring for VGs ${VGSLIST}:"
|
|
||||||
$VGCHANGE --monitor n ${VGSLIST}
|
|
||||||
ret=$?
|
|
||||||
eend $ret
|
|
||||||
return $ret
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
# LVM should normally only be started after mdraid is available
|
|
||||||
# this is because LVM physical volumes are very often MD devices.
|
|
||||||
RC_AFTER="mdraid"
|
|
||||||
|
|
||||||
# vim: ft=gentoo-conf-d
|
|
|
@ -1,145 +0,0 @@
|
||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 1999-2017 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
_get_lvm_path() {
|
|
||||||
local lvm_path=
|
|
||||||
for lvm_path in /bin/lvm /sbin/lvm ; do
|
|
||||||
[ -x "$lvm_path" ] && break
|
|
||||||
done
|
|
||||||
echo "${lvm_path}"
|
|
||||||
}
|
|
||||||
|
|
||||||
_need_lvmetad()
|
|
||||||
{
|
|
||||||
local lvm_path="$(_get_lvm_path)"
|
|
||||||
[ ! -x "${lvm_path}" ] && return 1
|
|
||||||
${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmetad=1'
|
|
||||||
}
|
|
||||||
|
|
||||||
_need_lvmlockd()
|
|
||||||
{
|
|
||||||
local lvm_path="$(_get_lvm_path)"
|
|
||||||
[ ! -x "${lvm_path}" ] && return 1
|
|
||||||
${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmlockd=1'
|
|
||||||
}
|
|
||||||
depend() {
|
|
||||||
before checkfs fsck
|
|
||||||
after modules device-mapper
|
|
||||||
# We may use lvmetad based on the configuration. If we added lvmetad
|
|
||||||
# support while lvm2 is running then we aren't dependent on it. For the
|
|
||||||
# more common case, if its disabled in the config we aren't dependent
|
|
||||||
# on it.
|
|
||||||
config /etc/lvm/lvm.conf
|
|
||||||
local _need=
|
|
||||||
if service_started; then
|
|
||||||
_need=$(service_get_value need)
|
|
||||||
else
|
|
||||||
if _need_lvmetad; then
|
|
||||||
_need="${_need} lvmetad"
|
|
||||||
fi
|
|
||||||
if _need_lvmlockd; then
|
|
||||||
_need="${_need} lvmlockd"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
need sysfs ${_need}
|
|
||||||
}
|
|
||||||
|
|
||||||
config='global { locking_dir = "/run/lock/lvm" }'
|
|
||||||
|
|
||||||
dm_in_proc() {
|
|
||||||
local retval=0
|
|
||||||
for x in devices misc ; do
|
|
||||||
grep -qs 'device-mapper' /proc/${x}
|
|
||||||
retval=$((${retval} + $?))
|
|
||||||
done
|
|
||||||
return ${retval}
|
|
||||||
}
|
|
||||||
|
|
||||||
start() {
|
|
||||||
# LVM support for /usr, /home, /opt ....
|
|
||||||
# This should be done *before* checking local
|
|
||||||
# volumes, or they never get checked.
|
|
||||||
|
|
||||||
# NOTE: Add needed modules for LVM or RAID, etc
|
|
||||||
# to /etc/modules.autoload if needed
|
|
||||||
lvm_path="$(_get_lvm_path)"
|
|
||||||
for lvm_path in /bin/lvm /sbin/lvm ; do
|
|
||||||
[ -x "$lvm_path" ] && break
|
|
||||||
done
|
|
||||||
if [ ! -x "$lvm_path" ]; then
|
|
||||||
eerror "Cannot find lvm binary in /sbin or /bin!"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
if [ -z "${CDBOOT}" ] ; then
|
|
||||||
if [ -e /proc/modules ] && ! dm_in_proc ; then
|
|
||||||
modprobe dm-mod 2>/dev/null
|
|
||||||
fi
|
|
||||||
if [ -d /proc/lvm ] || dm_in_proc ; then
|
|
||||||
ebegin "Setting up the Logical Volume Manager"
|
|
||||||
#still echo stderr for debugging
|
|
||||||
lvm_commands="#!${lvm_path}\n"
|
|
||||||
# Extra PV find pass because some devices might not have been available until very recently
|
|
||||||
lvm_commands="${lvm_commands}pvscan --config '${config}'\n"
|
|
||||||
# Now make the nodes
|
|
||||||
lvm_commands="${lvm_commands}vgscan --config '${config}' --mknodes\n"
|
|
||||||
# And turn them on!
|
|
||||||
lvm_commands="${lvm_commands}vgchange --config '${config}' --sysinit -a ly\n"
|
|
||||||
if _need_lvmlockd; then
|
|
||||||
# Start lockd VGs as required
|
|
||||||
lvm_commands="${lvm_commands}vgchange --config '${config}' --lock-start --lock-opt auto\n"
|
|
||||||
fi
|
|
||||||
# Order of this is important, have to work around dash and LVM readline
|
|
||||||
printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 >/dev/null
|
|
||||||
eend $? "Failed to setup the LVM"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
start_post()
|
|
||||||
{
|
|
||||||
# Save if we needed lvmetad
|
|
||||||
if _need_lvmetad; then
|
|
||||||
service_set_value need lvmetad
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
for lvm_path in /bin/lvm /sbin/lvm ; do
|
|
||||||
[ -x "$lvm_path" ] && break
|
|
||||||
done
|
|
||||||
if [ ! -x "$lvm_path" ]; then
|
|
||||||
eerror "Cannot find lvm binary in /sbin or /bin!"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
# Stop LVM2
|
|
||||||
if [ -x /sbin/vgs ] && \
|
|
||||||
[ -x /sbin/vgchange ] && \
|
|
||||||
[ -x /sbin/lvchange ] && \
|
|
||||||
[ -f /etc/lvmtab -o -d /etc/lvm ] && \
|
|
||||||
[ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ]
|
|
||||||
then
|
|
||||||
einfo "Shutting down the Logical Volume Manager"
|
|
||||||
|
|
||||||
VGS=$($lvm_path vgs --config "${config}" -o vg_name --noheadings --nosuffix --rows 2> /dev/null)
|
|
||||||
|
|
||||||
if [ "$VGS" ]
|
|
||||||
then
|
|
||||||
ebegin " Shutting Down LVs & VGs"
|
|
||||||
#still echo stderr for debugging
|
|
||||||
lvm_commands="#!${lvm_path}\n"
|
|
||||||
# Extra PV find pass because some devices might not have been available until very recently
|
|
||||||
lvm_commands="${lvm_commands}lvchange --config '${config}' --sysinit -a ln ${VGS}\n"
|
|
||||||
# Now make the nodes
|
|
||||||
lvm_commands="${lvm_commands}vgchange --config '${config}' --sysinit -a ln ${VGS}\n"
|
|
||||||
# Order of this is important, have to work around dash and LVM readline
|
|
||||||
printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null
|
|
||||||
eend $? "Failed (possibly some LVs still needed for /usr or root)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
einfo "Finished shutting down the Logical Volume Manager"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# vim:ts=4
|
|
|
@ -1,52 +0,0 @@
|
||||||
Maintainer note: Forward ported without editing from lvm2-2.02.108-example.conf.in.patch to apply cleanly.
|
|
||||||
|
|
||||||
--- LVM2.2.02.129/conf/example.conf.in
|
|
||||||
+++ LVM2.2.02.129/conf/example.conf.in
|
|
||||||
@@ -128,6 +128,9 @@
|
|
||||||
# Example
|
|
||||||
# Accept every block device:
|
|
||||||
# filter = [ "a|.*/|" ]
|
|
||||||
+ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
|
|
||||||
+ # noise when you probed while not available.
|
|
||||||
+ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
|
|
||||||
# Reject the cdrom drive:
|
|
||||||
# filter = [ "r|/dev/cdrom|" ]
|
|
||||||
# Work with just loopback devices, e.g. for testing:
|
|
||||||
@@ -620,7 +623,8 @@
|
|
||||||
# tools need to be installed with .lvm1 suffices, e.g. vgscan.lvm1.
|
|
||||||
# They will stop working once the lvm2 on-disk metadata format is used.
|
|
||||||
# This configuration option has an automatic default value.
|
|
||||||
- # fallback_to_lvm1 = @DEFAULT_FALLBACK_TO_LVM1@
|
|
||||||
+ # Gentoo: the LVM tools are a seperate package.
|
|
||||||
+ fallback_to_lvm1 = 0
|
|
||||||
|
|
||||||
# Configuration option global/format.
|
|
||||||
# The default metadata format that commands should use.
|
|
||||||
@@ -1413,7 +1417,7 @@
|
|
||||||
|
|
||||||
# Configuration section metadata.
|
|
||||||
# This configuration section has an automatic default value.
|
|
||||||
-# metadata {
|
|
||||||
+metadata {
|
|
||||||
|
|
||||||
# Configuration option metadata/pvmetadatacopies.
|
|
||||||
# Number of copies of metadata to store on each PV.
|
|
||||||
@@ -1431,7 +1435,8 @@
|
|
||||||
#
|
|
||||||
# This configuration option is advanced.
|
|
||||||
# This configuration option has an automatic default value.
|
|
||||||
- # pvmetadatacopies = 1
|
|
||||||
+ # Gentoo: enable for data safety, but PV resize is then disabled.
|
|
||||||
+ # pvmetadatacopies = 2
|
|
||||||
|
|
||||||
# Configuration option metadata/vgmetadatacopies.
|
|
||||||
# Number of copies of metadata to maintain for each VG.
|
|
||||||
@@ -1486,7 +1491,7 @@
|
|
||||||
#
|
|
||||||
# This configuration option is advanced.
|
|
||||||
# This configuration option does not have a default value defined.
|
|
||||||
-# }
|
|
||||||
+}
|
|
||||||
|
|
||||||
# Configuration section report.
|
|
||||||
# LVM report command output formatting.
|
|
|
@ -1,12 +0,0 @@
|
||||||
--- a/lib/device/dev-io.c
|
|
||||||
+++ b/lib/device/dev-io.c
|
|
||||||
@@ -505,7 +505,9 @@
|
|
||||||
dev->flags |= DEV_NOT_O_NOATIME;
|
|
||||||
if ((dev->fd = open(name, flags, 0777)) >= 0) {
|
|
||||||
log_debug_devs("%s: Not using O_NOATIME", name);
|
|
||||||
+#ifdef O_DIRECT_SUPPORT
|
|
||||||
goto opened;
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,29 +0,0 @@
|
||||||
--- LVM2.2.02.176/libdm/libdevmapper.pc.in
|
|
||||||
+++ LVM2.2.02.176/libdm/libdevmapper.pc.in
|
|
||||||
@@ -9,4 +9,4 @@
|
|
||||||
Cflags: -I${includedir}
|
|
||||||
Libs: -L${libdir} -ldevmapper
|
|
||||||
Requires.private: @SELINUX_PC@ @UDEV_PC@
|
|
||||||
-Libs.private: -lm @RT_LIBS@
|
|
||||||
+Libs.private: -lm @RT_LIBS@ @PTHREAD_LIBS@
|
|
||||||
--- LVM2.2.02.176/tools/Makefile.in
|
|
||||||
+++ LVM2.2.02.176/tools/Makefile.in
|
|
||||||
@@ -93,6 +93,7 @@
|
|
||||||
INSTALL_LVM_TARGETS += install_tools_static
|
|
||||||
INSTALL_DMSETUP_TARGETS += install_dmsetup_static
|
|
||||||
INSTALL_CMDLIB_TARGETS += install_cmdlib_static
|
|
||||||
+ STATIC_LIBS += @PTHREAD_LIBS@
|
|
||||||
endif
|
|
||||||
|
|
||||||
LVMLIBS = $(LVMINTERNAL_LIBS) -ldevmapper
|
|
||||||
@@ -118,6 +119,10 @@
|
|
||||||
|
|
||||||
include $(top_builddir)/make.tmpl
|
|
||||||
|
|
||||||
+ifeq ("@STATIC_LINK@", "yes")
|
|
||||||
+ STATIC_LIBS += @PTHREAD_LIBS@
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
device-mapper: $(TARGETS_DM)
|
|
||||||
|
|
||||||
CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXTRA_EXEC_CFLAGS)
|
|
|
@ -1,29 +0,0 @@
|
||||||
--- a/tools/lvmcmdline.c
|
|
||||||
+++ b/tools/lvmcmdline.c
|
|
||||||
@@ -3110,7 +3110,7 @@ static int _check_standard_fds(void)
|
|
||||||
int err = is_valid_fd(STDERR_FILENO);
|
|
||||||
|
|
||||||
if (!is_valid_fd(STDIN_FILENO) &&
|
|
||||||
- !(stdin = fopen(_PATH_DEVNULL, "r"))) {
|
|
||||||
+ !freopen(_PATH_DEVNULL, "r", stdin)) {
|
|
||||||
if (err)
|
|
||||||
perror("stdin stream open");
|
|
||||||
else
|
|
||||||
@@ -3120,7 +3120,7 @@ static int _check_standard_fds(void)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!is_valid_fd(STDOUT_FILENO) &&
|
|
||||||
- !(stdout = fopen(_PATH_DEVNULL, "w"))) {
|
|
||||||
+ !freopen(_PATH_DEVNULL, "r", stdout)) {
|
|
||||||
if (err)
|
|
||||||
perror("stdout stream open");
|
|
||||||
/* else no stdout */
|
|
||||||
@@ -3128,7 +3128,7 @@ static int _check_standard_fds(void)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!is_valid_fd(STDERR_FILENO) &&
|
|
||||||
- !(stderr = fopen(_PATH_DEVNULL, "w"))) {
|
|
||||||
+ !freopen(_PATH_DEVNULL, "w", stderr)) {
|
|
||||||
printf("stderr stream open: %s\n",
|
|
||||||
strerror(errno));
|
|
||||||
return 0;
|
|
|
@ -1,24 +0,0 @@
|
||||||
diff --git a/lib/log/log.c b/lib/log/log.c
|
|
||||||
index 79fbd7a..0999d10 100644
|
|
||||||
--- a/lib/log/log.c
|
|
||||||
+++ b/lib/log/log.c
|
|
||||||
@@ -161,6 +161,7 @@ static void _check_and_replace_standard_log_streams(FILE *old_stream, FILE *new_
|
|
||||||
* Close and reopen standard stream on file descriptor fd.
|
|
||||||
*/
|
|
||||||
int reopen_standard_stream(FILE **stream, const char *mode)
|
|
||||||
+#ifdef __GLIBC__
|
|
||||||
{
|
|
||||||
int fd, fd_copy, new_fd;
|
|
||||||
const char *name;
|
|
||||||
@@ -207,6 +208,11 @@ int reopen_standard_stream(FILE **stream, const char *mode)
|
|
||||||
*stream = new_stream;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
+#else
|
|
||||||
+{
|
|
||||||
+ return (freopen(NULL, mode, *stream) != NULL);
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
void init_log_fn(lvm2_log_fn_t log_fn)
|
|
||||||
{
|
|
|
@ -1,21 +0,0 @@
|
||||||
--- a/lib/mm/memlock.c
|
|
||||||
+++ b/lib/mm/memlock.c
|
|
||||||
@@ -159,7 +159,7 @@ static void _touch_memory(void *mem, siz
|
|
||||||
|
|
||||||
static void _allocate_memory(void)
|
|
||||||
{
|
|
||||||
-#ifndef VALGRIND_POOL
|
|
||||||
+#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
|
|
||||||
void *stack_mem;
|
|
||||||
struct rlimit limit;
|
|
||||||
int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks;
|
|
||||||
--- a/libdaemon/server/daemon-server.c
|
|
||||||
+++ b/libdaemon/server/daemon-server.c
|
|
||||||
@@ -18,6 +18,7 @@
|
|
||||||
#include "daemon-server.h"
|
|
||||||
#include "daemon-log.h"
|
|
||||||
|
|
||||||
+#include <fcntl.h>
|
|
||||||
#include <dlfcn.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <pthread.h>
|
|
|
@ -1,72 +0,0 @@
|
||||||
--- LVM2.2.02.56/scripts/lvm2create_initrd/lvm2create_initrd.orig 2006-11-21 22:41:56.000000000 +0000
|
|
||||||
+++ LVM2.2.02.56/scripts/lvm2create_initrd/lvm2create_initrd 2009-12-26 01:47:08.025224602 +0000
|
|
||||||
@@ -54,7 +54,9 @@
|
|
||||||
DEVRAM=/tmp/initrd.$$
|
|
||||||
|
|
||||||
# set defaults
|
|
||||||
-BINFILES=${BINFILES:-"`which lvm` `which bash` `which busybox` `which pivot_root`"}
|
|
||||||
+LVM=`which lvm.static`
|
|
||||||
+LVM=${LVM:-"`which lvm`"}
|
|
||||||
+BINFILES=${BINFILES:-"${LVM} `which bash` `which busybox` `which pivot_root`"}
|
|
||||||
BASICDEVICES=${BASICDEVICES:-"std consoleonly fd"}
|
|
||||||
BLOCKDEVICES=${BLOCKDEVICES:-"md hda hdb hdc hdd sda sdb sdc sdd"}
|
|
||||||
MAKEDEV=${MAKEDEV:-"debian"}
|
|
||||||
@@ -119,6 +121,10 @@
|
|
||||||
echo "$PRE Mounting /proc"
|
|
||||||
mount -t proc none /proc
|
|
||||||
|
|
||||||
+# We need /sys for lvm
|
|
||||||
+echo "$PRE Mounting /sys"
|
|
||||||
+mount -t sysfs sysfs /sys
|
|
||||||
+
|
|
||||||
# plug in modules listed in /etc/modules
|
|
||||||
if [ -f /etc/modules ]; then
|
|
||||||
echo -n "$PRE plugging in kernel modules:"
|
|
||||||
@@ -179,26 +185,29 @@
|
|
||||||
# run a shell if we're passed lvm2rescue on commandline
|
|
||||||
grep lvm2rescue /proc/cmdline 1>/dev/null 2>&1
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
- lvm vgchange --ignorelockingfailure -P -a y
|
|
||||||
+ $LVM vgchange --ignorelockingfailure -P -a y
|
|
||||||
do_shell
|
|
||||||
else
|
|
||||||
- lvm vgchange --ignorelockingfailure -a y
|
|
||||||
+ $LVM vgchange --ignorelockingfailure -a y
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$PRE Mounting root filesystem $rootvol ro"
|
|
||||||
mkdir /rootvol
|
|
||||||
if ! mount -t auto -o ro $rootvol /rootvol; then
|
|
||||||
- echo "\t*FAILED*";
|
|
||||||
+ echo "\t*FAILED TRYING TO MOUNT ROOTVOL*";
|
|
||||||
do_shell
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$PRE Umounting /proc"
|
|
||||||
umount /proc
|
|
||||||
|
|
||||||
+echo "$PRE Umounting /sys"
|
|
||||||
+umount /sys
|
|
||||||
+
|
|
||||||
echo "$PRE Changing roots"
|
|
||||||
cd /rootvol
|
|
||||||
if ! pivot_root . initrd ; then
|
|
||||||
- echo "\t*FAILED*"
|
|
||||||
+ echo "\t*FAILED PIVOT TO NEW ROOT*"
|
|
||||||
do_shell
|
|
||||||
fi
|
|
||||||
|
|
||||||
@@ -356,7 +365,7 @@
|
|
||||||
fi
|
|
||||||
|
|
||||||
verbose "creating basic set of directories in $TMPMNT"
|
|
||||||
-(cd $TMPMNT; mkdir bin dev etc lib proc sbin var)
|
|
||||||
+(cd $TMPMNT; mkdir bin dev etc lib proc sbin sys var)
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "$cmd -- ERROR creating directories in $TMPMNT"
|
|
||||||
cleanup 1
|
|
||||||
@@ -499,4 +508,3 @@
|
|
||||||
FINALTXT
|
|
||||||
|
|
||||||
cleanup 0
|
|
||||||
-
|
|
|
@ -1,42 +0,0 @@
|
||||||
diff -Nuar --exclude '*~' LVM2.2.02.63.orig/daemons/dmeventd/Makefile.in LVM2.2.02.63/daemons/dmeventd/Makefile.in
|
|
||||||
--- LVM2.2.02.63.orig/daemons/dmeventd/Makefile.in 2010-04-09 14:42:48.000000000 -0700
|
|
||||||
+++ LVM2.2.02.63/daemons/dmeventd/Makefile.in 2010-04-19 11:53:27.000000000 -0700
|
|
||||||
@@ -28,11 +28,12 @@
|
|
||||||
INSTALL_LIB_TARGETS = install_lib_dynamic
|
|
||||||
|
|
||||||
LIB_NAME = libdevmapper-event
|
|
||||||
+LIB_STATIC = $(LIB_NAME).a
|
|
||||||
+INSTALL_LIB_TARGETS += install_lib_static
|
|
||||||
+TARGETS += $(LIB_STATIC)
|
|
||||||
ifeq ("@STATIC_LINK@", "yes")
|
|
||||||
- LIB_STATIC = $(LIB_NAME).a
|
|
||||||
- TARGETS += $(LIB_STATIC) dmeventd.static
|
|
||||||
+ TARGETS += dmeventd.static
|
|
||||||
INSTALL_DMEVENTD_TARGETS += install_dmeventd_static
|
|
||||||
- INSTALL_LIB_TARGETS += install_lib_static
|
|
||||||
endif
|
|
||||||
|
|
||||||
LIB_VERSION = $(LIB_VERSION_DM)
|
|
||||||
diff -Nuar --exclude '*~' LVM2.2.02.63.orig/libdm/Makefile.in LVM2.2.02.63/libdm/Makefile.in
|
|
||||||
--- LVM2.2.02.63.orig/libdm/Makefile.in 2010-04-09 14:42:51.000000000 -0700
|
|
||||||
+++ LVM2.2.02.63/libdm/Makefile.in 2010-04-19 11:52:20.000000000 -0700
|
|
||||||
@@ -34,8 +34,8 @@
|
|
||||||
|
|
||||||
INCLUDES = -I$(srcdir)/$(interface) -I$(srcdir)
|
|
||||||
|
|
||||||
-ifeq ("@STATIC_LINK@", "yes")
|
|
||||||
LIB_STATIC = $(interface)/libdevmapper.a
|
|
||||||
+ifeq ("@STATIC_LINK@", "yes")
|
|
||||||
endif
|
|
||||||
|
|
||||||
LIB_SHARED = $(interface)/libdevmapper.$(LIB_SUFFIX)
|
|
||||||
@@ -63,8 +63,8 @@
|
|
||||||
|
|
||||||
INSTALL_TYPE = install_dynamic
|
|
||||||
|
|
||||||
-ifeq ("@STATIC_LINK@", "yes")
|
|
||||||
INSTALL_TYPE += install_static
|
|
||||||
+ifeq ("@STATIC_LINK@", "yes")
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ("@PKGCONFIG@", "yes")
|
|
|
@ -1,18 +0,0 @@
|
||||||
X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=301331
|
|
||||||
X-Gentoo-Bug: 301331
|
|
||||||
|
|
||||||
diff -Nuar LVM2.2.02.67.orig/scripts/lvm2create_initrd/lvm2create_initrd LVM2.2.02.67/scripts/lvm2create_initrd/lvm2create_initrd
|
|
||||||
--- LVM2.2.02.67.orig/scripts/lvm2create_initrd/lvm2create_initrd 2010-06-07 18:44:34.182980475 +0000
|
|
||||||
+++ LVM2.2.02.67/scripts/lvm2create_initrd/lvm2create_initrd 2010-06-07 18:51:27.636312899 +0000
|
|
||||||
@@ -469,9 +469,9 @@
|
|
||||||
rmdir $TMPMNT/lost+found
|
|
||||||
|
|
||||||
echo "$cmd -- ummounting ram disk"
|
|
||||||
-umount $DEVRAM
|
|
||||||
+umount $TMPMNT
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
- echo "$cmd -- ERROR umounting $DEVRAM"
|
|
||||||
+ echo "$cmd -- ERROR umounting $TMPMNT"
|
|
||||||
cleanup 1
|
|
||||||
fi
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- LVM2/make.tmpl.in
|
|
||||||
+++ LVM2/make.tmpl.in
|
|
||||||
@@ -395,7 +395,7 @@
|
|
||||||
( cat $(srcdir)/.exported_symbols; \
|
|
||||||
if test x$(EXPORTED_HEADER) != x; then \
|
|
||||||
$(CC) -E -P $(INCLUDES) $(DEFS) $(EXPORTED_HEADER) | \
|
|
||||||
- $(SED) -ne "/^typedef|}/!s/.*[ *]\($(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \
|
|
||||||
+ LC_ALL=C $(SED) -ne "/^typedef|}/!s/.*[ *]\($(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \
|
|
||||||
fi \
|
|
||||||
) > $@
|
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/lib/locking/lvmlockd.c b/lib/locking/lvmlockd.c
|
|
||||||
index 0365797..a4684b4 100644
|
|
||||||
--- a/lib/locking/lvmlockd.c
|
|
||||||
+++ b/lib/locking/lvmlockd.c
|
|
||||||
@@ -2148,7 +2148,7 @@ int lockd_lv_name(struct cmd_context *cmd, struct volume_group *vg,
|
|
||||||
static int _lockd_lv_thin(struct cmd_context *cmd, struct logical_volume *lv,
|
|
||||||
const char *def_mode, uint32_t flags)
|
|
||||||
{
|
|
||||||
- struct logical_volume *pool_lv;
|
|
||||||
+ struct logical_volume *pool_lv = NULL;
|
|
||||||
|
|
||||||
if (lv_is_thin_volume(lv)) {
|
|
||||||
struct lv_segment *pool_seg = first_seg(lv);
|
|
|
@ -1,25 +0,0 @@
|
||||||
lib/filters/filter-persistent.c | 7 +++++--
|
|
||||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/lib/filters/filter-persistent.c b/lib/filters/filter-persistent.c
|
|
||||||
index 5bc0861..203c88e 100644
|
|
||||||
--- a/lib/filters/filter-persistent.c
|
|
||||||
+++ b/lib/filters/filter-persistent.c
|
|
||||||
@@ -26,12 +26,15 @@ struct pfilter {
|
|
||||||
struct dev_types *dt;
|
|
||||||
};
|
|
||||||
|
|
||||||
+static char* _good_device = "good";
|
|
||||||
+static char* _bad_device = "bad";
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* The hash table holds one of these two states
|
|
||||||
* against each entry.
|
|
||||||
*/
|
|
||||||
-#define PF_BAD_DEVICE ((void *) 1)
|
|
||||||
-#define PF_GOOD_DEVICE ((void *) 2)
|
|
||||||
+#define PF_BAD_DEVICE ((void *) &_good_device)
|
|
||||||
+#define PF_GOOD_DEVICE ((void *) &_bad_device)
|
|
||||||
|
|
||||||
static int _init_hash(struct pfilter *pf)
|
|
||||||
{
|
|
|
@ -1,16 +0,0 @@
|
||||||
scripts/lvm2_lvmetad_systemd_red_hat.service.in | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/scripts/lvm2_lvmetad_systemd_red_hat.service.in b/scripts/lvm2_lvmetad_systemd_red_hat.service.in
|
|
||||||
index 8f4c60d..a1cedd2 100644
|
|
||||||
--- a/scripts/lvm2_lvmetad_systemd_red_hat.service.in
|
|
||||||
+++ b/scripts/lvm2_lvmetad_systemd_red_hat.service.in
|
|
||||||
@@ -9,7 +9,7 @@ Conflicts=shutdown.target
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
NonBlocking=true
|
|
||||||
-ExecStart=@SBINDIR@/lvmetad -f
|
|
||||||
+ExecStart=@SBINDIR@/lvmetad -f -t 3600
|
|
||||||
Environment=SD_ACTIVATION=1
|
|
||||||
Restart=on-abort
|
|
||||||
PIDFile=@LVMETAD_PIDFILE@
|
|
|
@ -1,30 +0,0 @@
|
||||||
conf/example.conf.in | 2 +-
|
|
||||||
lib/config/config_settings.h | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/conf/example.conf.in b/conf/example.conf.in
|
|
||||||
index c0afcb7..ec12918 100644
|
|
||||||
--- a/conf/example.conf.in
|
|
||||||
+++ b/conf/example.conf.in
|
|
||||||
@@ -106,7 +106,7 @@ devices {
|
|
||||||
# Example
|
|
||||||
# preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ]
|
|
||||||
#
|
|
||||||
- # This configuration option does not have a default value defined.
|
|
||||||
+ preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ]
|
|
||||||
|
|
||||||
# Configuration option devices/filter.
|
|
||||||
# Limit the block devices that are used by LVM commands.
|
|
||||||
diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h
|
|
||||||
index 9017043..c06b6f0 100644
|
|
||||||
--- a/lib/config/config_settings.h
|
|
||||||
+++ b/lib/config/config_settings.h
|
|
||||||
@@ -205,7 +205,7 @@ cfg(devices_external_device_info_source_CFG, "external_device_info_source", devi
|
|
||||||
" compiled with udev support.\n"
|
|
||||||
"#\n")
|
|
||||||
|
|
||||||
-cfg_array(devices_preferred_names_CFG, "preferred_names", devices_CFG_SECTION, CFG_ALLOW_EMPTY | CFG_DEFAULT_UNDEFINED , CFG_TYPE_STRING, NULL, vsn(1, 2, 19), NULL, 0, NULL,
|
|
||||||
+cfg_array(devices_preferred_names_CFG, "preferred_names", devices_CFG_SECTION, CFG_ALLOW_EMPTY, CFG_TYPE_STRING, "#S^/dev/mpath/#S^/dev/mapper/mpath#S^/dev/[hs]d", vsn(1, 2, 19), NULL, 0, NULL,
|
|
||||||
"Select which path name to display for a block device.\n"
|
|
||||||
"If multiple path names exist for a block device, and LVM needs to\n"
|
|
||||||
"display a name for the device, the path names are matched against\n"
|
|
|
@ -1,12 +0,0 @@
|
||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
pidfile="/run/lvmetad.pid"
|
|
||||||
command="/sbin/lvmetad"
|
|
||||||
command_args="${LVMETAD_OPTS:=-p ${pidfile}}"
|
|
||||||
start_stop_daemon_args="--pidfile ${pidfile}"
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
:
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
pidfile="/run/lvmetad.pid"
|
|
||||||
command="/sbin/lvmetad"
|
|
||||||
command_args="${LVMETAD_OPTS:=-p ${pidfile}}"
|
|
||||||
start_stop_daemon_args="--pidfile ${pidfile}"
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
:
|
|
||||||
}
|
|
||||||
|
|
||||||
start_pre()
|
|
||||||
{
|
|
||||||
checkpath --directory /run/lvm || return 1
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 1999-2017 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
pidfile="/run/lvmlockd.pid"
|
|
||||||
command="/sbin/lvmlockd"
|
|
||||||
command_args="${LVMLOCKD_OPTS:--p ${pidfile}} ${LVMLOCKD_TYPE:--g sanlock}"
|
|
||||||
start_stop_daemon_args="--pidfile ${pidfile}"
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
before sanlock
|
|
||||||
}
|
|
||||||
|
|
||||||
start_pre()
|
|
||||||
{
|
|
||||||
checkpath --directory /run/lvm || return 1
|
|
||||||
}
|
|
|
@ -1,303 +0,0 @@
|
||||||
# Copyright 1999-2018 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
|
|
||||||
|
|
||||||
DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
|
|
||||||
HOMEPAGE="https://sourceware.org/lvm2/"
|
|
||||||
SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
|
|
||||||
ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
|
||||||
IUSE="readline static static-libs systemd clvm cman corosync lvm1 lvm2create_initrd openais sanlock selinux +udev +thin device-mapper-only"
|
|
||||||
REQUIRED_USE="device-mapper-only? ( !clvm !cman !corosync !lvm1 !lvm2create_initrd !openais !sanlock !thin )
|
|
||||||
systemd? ( udev )
|
|
||||||
clvm? ( !systemd )"
|
|
||||||
|
|
||||||
DEPEND_COMMON="
|
|
||||||
clvm? (
|
|
||||||
cman? ( =sys-cluster/cman-3* )
|
|
||||||
corosync? ( sys-cluster/corosync )
|
|
||||||
openais? ( sys-cluster/openais )
|
|
||||||
=sys-cluster/libdlm-3*
|
|
||||||
)
|
|
||||||
|
|
||||||
readline? ( sys-libs/readline:0= )
|
|
||||||
sanlock? ( sys-cluster/sanlock )
|
|
||||||
systemd? ( >=sys-apps/systemd-205:0= )
|
|
||||||
udev? ( >=virtual/libudev-208:=[static-libs?] )"
|
|
||||||
# /run is now required for locking during early boot. /var cannot be assumed to
|
|
||||||
# be available -- thus, pull in recent enough baselayout for /run.
|
|
||||||
# This version of LVM is incompatible with cryptsetup <1.1.2.
|
|
||||||
RDEPEND="${DEPEND_COMMON}
|
|
||||||
>=sys-apps/baselayout-2.2
|
|
||||||
!<sys-apps/openrc-0.11
|
|
||||||
!<sys-fs/cryptsetup-1.1.2
|
|
||||||
!!sys-fs/clvm
|
|
||||||
!!sys-fs/lvm-user
|
|
||||||
>=sys-apps/util-linux-2.16
|
|
||||||
lvm2create_initrd? ( sys-apps/makedev )
|
|
||||||
thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
|
|
||||||
# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
|
|
||||||
# USE 'static' currently only works with eudev, bug 520450
|
|
||||||
DEPEND="${DEPEND_COMMON}
|
|
||||||
virtual/pkgconfig
|
|
||||||
>=sys-devel/binutils-2.20.1-r1
|
|
||||||
sys-devel/autoconf-archive
|
|
||||||
static? (
|
|
||||||
selinux? ( sys-libs/libselinux[static-libs] )
|
|
||||||
udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
|
|
||||||
>=sys-apps/util-linux-2.16[static-libs]
|
|
||||||
)"
|
|
||||||
|
|
||||||
S=${WORKDIR}/${PN/lvm/LVM}.${PV}
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
# Gentoo specific modification(s):
|
|
||||||
"${FILESDIR}"/${PN}-2.02.129-example.conf.in.patch
|
|
||||||
|
|
||||||
# Musl fixes
|
|
||||||
"${FILESDIR}"/${PN}-2.02.183-fix-stdio-usage.patch
|
|
||||||
"${FILESDIR}"/${PN}-2.02.183-portability.patch
|
|
||||||
"${FILESDIR}"/${PN}-2.02.183-implement-libc-specific-reopen_stream.patch
|
|
||||||
|
|
||||||
# For upstream -- review and forward:
|
|
||||||
"${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
|
|
||||||
"${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
|
|
||||||
"${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
|
|
||||||
"${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
|
|
||||||
"${FILESDIR}"/${PN}-2.02.176-pthread-pkgconfig.patch #492450
|
|
||||||
"${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
|
|
||||||
"${FILESDIR}"/${PN}-set-default-preferred_names.patch
|
|
||||||
"${FILESDIR}"/${PN}-lvmetad-timeout.patch
|
|
||||||
"${FILESDIR}"/${PN}-2_02_180-filter-use-valid-pointers.patch
|
|
||||||
"${FILESDIR}"/${PN}-2_02_178-lvmlockd-fix-uninitialized.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
local CONFIG_CHECK="~SYSVIPC"
|
|
||||||
|
|
||||||
if use udev; then
|
|
||||||
local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
|
|
||||||
if linux_config_exists; then
|
|
||||||
local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
|
|
||||||
if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
|
|
||||||
ewarn "It's recommended to set an empty value to the following kernel config option:"
|
|
||||||
ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
check_extra_config
|
|
||||||
|
|
||||||
# 1. Genkernel no longer copies /sbin/lvm blindly.
|
|
||||||
if use static; then
|
|
||||||
elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
|
|
||||||
elog "their static versions. If you need the static binaries,"
|
|
||||||
elog "you must append .static to the filename!"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
|
|
||||||
sed -i \
|
|
||||||
-e "1iAR = $(tc-getAR)" \
|
|
||||||
-e "s:CC ?= @CC@:CC = $(tc-getCC):" \
|
|
||||||
make.tmpl.in || die #444082
|
|
||||||
|
|
||||||
sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
|
|
||||||
|
|
||||||
if use udev && ! use device-mapper-only; then
|
|
||||||
sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
|
|
||||||
elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
|
|
||||||
elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
|
|
||||||
elog "if it was previously disabled."
|
|
||||||
fi
|
|
||||||
|
|
||||||
sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
|
|
||||||
|
|
||||||
# Without thin-privision-tools, there is nothing to install for target install_man7:
|
|
||||||
use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
|
|
||||||
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
filter-flags -flto
|
|
||||||
local myconf=()
|
|
||||||
local buildmode
|
|
||||||
|
|
||||||
myconf+=( $(use_enable !device-mapper-only dmeventd) )
|
|
||||||
myconf+=( $(use_enable !device-mapper-only cmdlib) )
|
|
||||||
myconf+=( $(use_enable !device-mapper-only applib) )
|
|
||||||
myconf+=( $(use_enable !device-mapper-only fsadm) )
|
|
||||||
myconf+=( $(use_enable !device-mapper-only lvmetad) )
|
|
||||||
use device-mapper-only && myconf+=( --disable-udev-systemd-background-jobs )
|
|
||||||
|
|
||||||
# Most of this package does weird stuff.
|
|
||||||
# The build options are tristate, and --without is NOT supported
|
|
||||||
# options: 'none', 'internal', 'shared'
|
|
||||||
if use static; then
|
|
||||||
buildmode="internal"
|
|
||||||
# This only causes the .static versions to become available
|
|
||||||
myconf+=( --enable-static_link )
|
|
||||||
else
|
|
||||||
buildmode="shared"
|
|
||||||
fi
|
|
||||||
dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
|
|
||||||
|
|
||||||
# dmeventd requires mirrors to be internal, and snapshot available
|
|
||||||
# so we cannot disable them
|
|
||||||
myconf+=( --with-mirrors=${dmbuildmode} )
|
|
||||||
myconf+=( --with-snapshots=${dmbuildmode} )
|
|
||||||
if use thin; then
|
|
||||||
myconf+=( --with-thin=internal --with-cache=internal )
|
|
||||||
local texec
|
|
||||||
for texec in check dump repair restore; do
|
|
||||||
myconf+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
|
|
||||||
myconf+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
|
|
||||||
done
|
|
||||||
else
|
|
||||||
myconf+=( --with-thin=none --with-cache=none )
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use lvm1; then
|
|
||||||
myconf+=( --with-lvm1=${buildmode} )
|
|
||||||
else
|
|
||||||
myconf+=( --with-lvm1=none )
|
|
||||||
fi
|
|
||||||
|
|
||||||
# disable O_DIRECT support on hppa, breaks pv detection (#99532)
|
|
||||||
use hppa && myconf+=( --disable-o_direct )
|
|
||||||
|
|
||||||
if use clvm; then
|
|
||||||
myconf+=( --with-cluster=${buildmode} )
|
|
||||||
# 4-state! Make sure we get it right, per bug 210879
|
|
||||||
# Valid options are: none, cman, gulm, all
|
|
||||||
#
|
|
||||||
# 2009/02:
|
|
||||||
# gulm is removed now, now dual-state:
|
|
||||||
# cman, none
|
|
||||||
# all still exists, but is not needed
|
|
||||||
#
|
|
||||||
# 2009/07:
|
|
||||||
# TODO: add corosync and re-enable ALL
|
|
||||||
local clvmd=""
|
|
||||||
use cman && clvmd="cman"
|
|
||||||
#clvmd="${clvmd/cmangulm/all}"
|
|
||||||
use corosync && clvmd="${clvmd:+$clvmd,}corosync"
|
|
||||||
use openais && clvmd="${clvmd:+$clvmd,}openais"
|
|
||||||
[ -z "${clvmd}" ] && clvmd="none"
|
|
||||||
myconf+=( --with-clvmd=${clvmd} )
|
|
||||||
myconf+=( --with-pool=${buildmode} )
|
|
||||||
myconf+=( --enable-lvmlockd-dlm )
|
|
||||||
else
|
|
||||||
myconf+=( --with-clvmd=none --with-cluster=none )
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf \
|
|
||||||
$(use_enable readline) \
|
|
||||||
$(use_enable selinux) \
|
|
||||||
--enable-pkgconfig \
|
|
||||||
--with-confdir="${EPREFIX}"/etc \
|
|
||||||
--exec-prefix="${EPREFIX}" \
|
|
||||||
--sbindir="${EPREFIX}/sbin" \
|
|
||||||
--with-staticdir="${EPREFIX}"/sbin \
|
|
||||||
--libdir="${EPREFIX}/$(get_libdir)" \
|
|
||||||
--with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
|
|
||||||
--with-default-dm-run-dir=/run \
|
|
||||||
--with-default-run-dir=/run/lvm \
|
|
||||||
--with-default-locking-dir=/run/lock/lvm \
|
|
||||||
--with-default-pid-dir=/run \
|
|
||||||
$(use_enable udev udev_rules) \
|
|
||||||
$(use_enable udev udev_sync) \
|
|
||||||
$(use_with udev udevdir "$(get_udevdir)"/rules.d) \
|
|
||||||
$(use_enable sanlock lvmlockd-sanlock) \
|
|
||||||
$(use_enable systemd udev-systemd-background-jobs) \
|
|
||||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
|
|
||||||
${myconf[@]} \
|
|
||||||
CLDFLAGS="${LDFLAGS}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
pushd include >/dev/null
|
|
||||||
emake
|
|
||||||
popd >/dev/null
|
|
||||||
|
|
||||||
if use device-mapper-only ; then
|
|
||||||
emake device-mapper
|
|
||||||
else
|
|
||||||
emake
|
|
||||||
emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local inst
|
|
||||||
INSTALL_TARGETS="install install_tmpfiles_configuration"
|
|
||||||
# install systemd related files only when requested, bug #522430
|
|
||||||
use systemd && INSTALL_TARGETS="${INSTALL_TARGETS} install_systemd_units install_systemd_generators"
|
|
||||||
use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
|
|
||||||
for inst in ${INSTALL_TARGETS}; do
|
|
||||||
emake DESTDIR="${D}" ${inst}
|
|
||||||
done
|
|
||||||
|
|
||||||
newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
|
|
||||||
newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
|
|
||||||
|
|
||||||
if use !device-mapper-only ; then
|
|
||||||
newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
|
|
||||||
newinitd "${FILESDIR}"/lvm.rc-2.02.172 lvm
|
|
||||||
newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
|
|
||||||
|
|
||||||
newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
|
|
||||||
newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use sanlock; then
|
|
||||||
newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use clvm; then
|
|
||||||
newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd
|
|
||||||
newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use static-libs; then
|
|
||||||
dolib.a libdm/ioctl/libdevmapper.a
|
|
||||||
dolib.a libdaemon/client/libdaemonclient.a #462908
|
|
||||||
#gen_usr_ldscript libdevmapper.so
|
|
||||||
dolib.a daemons/dmeventd/libdevmapper-event.a
|
|
||||||
#gen_usr_ldscript libdevmapper-event.so
|
|
||||||
else
|
|
||||||
rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use lvm2create_initrd; then
|
|
||||||
dosbin scripts/lvm2create_initrd/lvm2create_initrd
|
|
||||||
doman scripts/lvm2create_initrd/lvm2create_initrd.8
|
|
||||||
newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
|
|
||||||
fi
|
|
||||||
|
|
||||||
insinto /etc
|
|
||||||
doins "${FILESDIR}"/dmtab
|
|
||||||
|
|
||||||
dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
ewarn "Make sure the \"lvm\" init script is in the runlevels:"
|
|
||||||
ewarn "# rc-update add lvm boot"
|
|
||||||
ewarn
|
|
||||||
ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
|
|
||||||
ewarn "to enable lvm autoactivation and metadata caching."
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
einfo "Tests are disabled because of device-node mucking, if you want to"
|
|
||||||
einfo "run tests, compile the package and see ${S}/tests"
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="person">
|
|
||||||
<email>robbat2@gentoo.org</email>
|
|
||||||
<name>Robin H. Johnson</name>
|
|
||||||
</maintainer>
|
|
||||||
<maintainer type="person">
|
|
||||||
<email>agk@redhat.com</email>
|
|
||||||
<name>Alasdair Kergon</name>
|
|
||||||
<description>Upstream Maintainer (please CC on bugs)</description>
|
|
||||||
</maintainer>
|
|
||||||
<maintainer type="person">
|
|
||||||
<email>cardoe@gentoo.org</email>
|
|
||||||
<name>Doug Goldstein</name>
|
|
||||||
<description>Backup to Robin. Please CC on bugs.</description>
|
|
||||||
</maintainer>
|
|
||||||
<use>
|
|
||||||
<flag name="clvm">Allow users to build clustered lvm2</flag>
|
|
||||||
<flag name="cman">Cman support for clustered lvm</flag>
|
|
||||||
<flag name="corosync">Corosync support for clustered lvm</flag>
|
|
||||||
<flag name="lvm1">Allow users to build lvm2 with lvm1 support</flag>
|
|
||||||
<flag name="lvm2create_initrd">Install lvm2create_initrd script and pull in <pkg>sys-apps/makedev</pkg> for the /sbin/MAKEDEV command</flag>
|
|
||||||
<flag name="openais">Openais support for clustered lvm</flag>
|
|
||||||
<flag name="thin">Support for thin volumes</flag>
|
|
||||||
<flag name="device-mapper-only">Build only device-mapper and not the rest of LVM2 (UNSUPPORTED)</flag>
|
|
||||||
<flag name="sanlock">Enable lvmlockd with support for sanlock</flag>
|
|
||||||
</use>
|
|
||||||
<upstream>
|
|
||||||
<remote-id type="cpe">cpe:/a:heinz_mauelshagen:lvm2</remote-id>
|
|
||||||
</upstream>
|
|
||||||
</pkgmetadata>
|
|
Loading…
Reference in New Issue