parent
ac34e592d8
commit
2409991621
@ -0,0 +1,63 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit distutils-r1 eutils readme.gentoo
|
||||
|
||||
DESCRIPTION="Radically simple deployment, model-driven configuration management, and command execution framework"
|
||||
HOMEPAGE="http://ansible.com/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~x64-macos"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/httplib2[${PYTHON_USEDEP}]
|
||||
dev-python/jinja[${PYTHON_USEDEP}]
|
||||
dev-python/keyczar[${PYTHON_USEDEP}]
|
||||
>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
net-misc/sshpass
|
||||
virtual/ssh
|
||||
"
|
||||
DEPEND="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
${RDEPEND}
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
dev-python/passlib[${PYTHON_USEDEP}]
|
||||
dev-vcs/git
|
||||
)"
|
||||
|
||||
# not included in release tarball
|
||||
RESTRICT="test"
|
||||
|
||||
python_test() {
|
||||
nosetests -d -w test/units -v --with-coverage --cover-package=ansible --cover-branches || die
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
EXAMPLES=( examples )
|
||||
distutils-r1_python_install_all
|
||||
|
||||
doman docs/man/man1/*.1
|
||||
|
||||
newenvd "${FILESDIR}"/${PN}.env 95ansible
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "Alternative ssh transport" dev-python/paramiko
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
DIST BashBurn-3.1.0.tar.gz 91295 SHA256 b78d5de1ee1b6e19aeee5b2f37a12aa6d02c665fd7645cad626ae7267351bb3c SHA512 9bded7a67b762be89993a6a7564d6a32f4cac209f9d16a4a861a5a36db92eda6436c2b80b89d57c051bbdafb0549999e54ce6e26477f664481cf60092eef90e5 WHIRLPOOL f21a3ea005c129f1df0bcda6d1a323934c2648620516d491539bbe17b99b8c97f5cd339fbc903a74450ba207941f7d3c3d0bde255eba0cffeb82df3c7665c9b6
|
||||
EBUILD bashburn-3.1.0.ebuild 1181 SHA256 461a543c11aa75090bea58e0272757ce081094a6256195441c320956ca87fb13 SHA512 672380f115854c9fe23de127175c44357e6271ebc5f4bd5615a09845256cedfbcd862bde6cbb3e3555b94c8ebb78ff85616a64872714fb461ef6067bb3edd6f1 WHIRLPOOL d00542b6cb0e19f40e940f3adc39553d9dd00dd1f15014da5f7abe289ce58346cb4cc7f868c2826440b2fe7cce47c8cd078f8d4b51a056aeb29ee06096846088
|
||||
EBUILD bashburn-3.1.0.ebuild 1180 SHA256 ab32cf97f516828f1a165b9d97f8d03a786dabd8d409242c23ae2844bc9dbd4b SHA512 3a5bfb2a3915bce09006c48597e8755bbe732c7e9eba244bdfd5046f4d68fafd91c698b1bec466df5b4899c84cc737b94737e19d4a9cd284288c813daf5b4aec WHIRLPOOL 5791a0734613aed1dac1c7dd5c1b6edbc2789b45c90eb5dcce559c715ebed839e440182f8f4fe7851df38a470bd97ebf9405d8aee1cef9e33954428cd78e7929
|
||||
MISC ChangeLog 6462 SHA256 d4688efb46870f2ba195528e49c6eb1a6817a118b9416edc0b8f13ea6e8b2e70 SHA512 fb3e824b1562f24d8c267e74d99e97ca95839529de12221cc057b0fac9a5713948ef82eaff4c8a00278815be38456f11b0d9729f1fde395ae996703a05a673bc WHIRLPOOL 4f5a6bdfb243b7510c5a48b09e82cdc21a950026854edb358c2ef773dd989c357acf382bf946d3fb7cc0d678e359bf714ecc8bc37c8ddb9e6ac93de286febb51
|
||||
MISC metadata.xml 167 SHA256 e63e128685e2c6da2eacfda6e91e700c1eb6f62cc2172ab64eada2ae71431ef2 SHA512 23b89532b34ac7118832402c25d8afc189132e0da2182fcc5ce5e69ba2f0c170226599ae981be2bbc3fd8474baf707af58f6292b89221339aa8b4a2265ade0cd WHIRLPOOL d8505f9121d7531f43f9730eff208d89eec443f6612cfa288f2f6137e75ac40faf0e11a0e89f23111e3f16dda6178c406025cce3edd399f03d9bfd5a46c76e3b
|
||||
|
@ -1,170 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs
|
||||
|
||||
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
|
||||
HOMEPAGE="http://www.gnupg.org/"
|
||||
MY_P="${P/_/-}"
|
||||
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86"
|
||||
IUSE="bzip2 doc +gnutls ldap nls readline static selinux smartcard tools usb"
|
||||
|
||||
COMMON_DEPEND_LIBS="
|
||||
dev-libs/npth
|
||||
>=dev-libs/libassuan-2
|
||||
>=dev-libs/libgcrypt-1.6.2
|
||||
>=dev-libs/libgpg-error-1.17
|
||||
>=dev-libs/libksba-1.0.7
|
||||
>=net-misc/curl-7.10
|
||||
gnutls? ( >=net-libs/gnutls-3.0 )
|
||||
sys-libs/zlib
|
||||
ldap? ( net-nds/openldap )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
readline? ( sys-libs/readline:= )
|
||||
smartcard? ( usb? ( virtual/libusb:0 ) )
|
||||
"
|
||||
COMMON_DEPEND_BINS="app-crypt/pinentry
|
||||
!app-crypt/dirmngr"
|
||||
|
||||
# Existence of executables is checked during configuration.
|
||||
DEPEND="${COMMON_DEPEND_LIBS}
|
||||
${COMMON_DEPEND_BINS}
|
||||
static? (
|
||||
>=dev-libs/libassuan-2[static-libs]
|
||||
>=dev-libs/libgcrypt-1.6.2[static-libs]
|
||||
>=dev-libs/libgpg-error-1.17[static-libs]
|
||||
>=dev-libs/libksba-1.0.7[static-libs]
|
||||
dev-libs/npth[static-libs]
|
||||
>=net-misc/curl-7.10[static-libs]
|
||||
sys-libs/zlib[static-libs]
|
||||
bzip2? ( app-arch/bzip2[static-libs] )
|
||||
)
|
||||
nls? ( sys-devel/gettext )
|
||||
doc? ( sys-apps/texinfo )"
|
||||
|
||||
RDEPEND="!static? ( ${COMMON_DEPEND_LIBS} )
|
||||
${COMMON_DEPEND_BINS}
|
||||
selinux? ( sec-policy/selinux-gpg )
|
||||
nls? ( virtual/libintl )"
|
||||
|
||||
REQUIRED_USE="smartcard? ( !static )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PN}-2.0.17-gpgsm-gencert.patch"
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# 'USE=static' support was requested:
|
||||
# gnupg1: bug #29299
|
||||
# gnupg2: bug #159623
|
||||
use static && append-ldflags -static
|
||||
|
||||
if use smartcard; then
|
||||
myconf+=(
|
||||
--enable-scdaemon
|
||||
$(use_enable usb ccid-driver)
|
||||
)
|
||||
else
|
||||
myconf+=( --disable-scdaemon )
|
||||
fi
|
||||
|
||||
if use elibc_SunOS || use elibc_AIX; then
|
||||
myconf+=( --disable-symcryptrun )
|
||||
else
|
||||
myconf+=( --enable-symcryptrun )
|
||||
fi
|
||||
|
||||
# glib fails and picks up clang's internal stdint.h causing weird errors
|
||||
[[ ${CC} == clang ]] && export gl_cv_absolute_stdint_h=/usr/include/stdint.h
|
||||
|
||||
econf \
|
||||
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
|
||||
--enable-gpg \
|
||||
--enable-gpgsm \
|
||||
--enable-large-secmem \
|
||||
--without-adns \
|
||||
"${myconf[@]}" \
|
||||
$(use_enable bzip2) \
|
||||
$(use_enable gnutls) \
|
||||
$(use_with ldap) \
|
||||
$(use_enable nls) \
|
||||
$(use_with readline) \
|
||||
CC_FOR_BUILD="$(tc-getBUILD_CC)"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use doc; then
|
||||
cd doc
|
||||
emake html
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
use tools && dobin tools/{convert-from-106,gpg-check-pattern} \
|
||||
tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys,make-dns-cert}
|
||||
|
||||
emake DESTDIR="${D}" -f doc/Makefile uninstall-nobase_dist_docDATA
|
||||
rm "${ED}"/usr/share/gnupg/help* || die
|
||||
|
||||
dodoc ChangeLog NEWS README THANKS TODO VERSION doc/FAQ doc/DETAILS \
|
||||
doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER doc/help*
|
||||
|
||||
dosym gpg2 /usr/bin/gpg
|
||||
dosym gpgv2 /usr/bin/gpgv
|
||||
echo ".so man1/gpg2.1" > "${ED}"/usr/share/man/man1/gpg.1
|
||||
echo ".so man1/gpgv2.1" > "${ED}"/usr/share/man/man1/gpgv.1
|
||||
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg
|
||||
|
||||
if use doc; then
|
||||
dohtml doc/gnupg.html/* doc/*.png
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "If you wish to view images emerge:"
|
||||
elog "media-gfx/xloadimage, media-gfx/xli or any other viewer"
|
||||
elog "Remember to use photo-viewer option in configuration file to activate"
|
||||
elog "the right viewer."
|
||||
elog
|
||||
|
||||
if use smartcard; then
|
||||
elog "To use your OpenPGP smartcard (or token) with GnuPG you need one of"
|
||||
use usb && elog " - a CCID-compatible reader, used directly through libusb;"
|
||||
elog " - sys-apps/pcsc-lite and a compatible reader device;"
|
||||
elog " - dev-libs/openct and a compatible reader device;"
|
||||
elog " - a reader device and drivers exporting either PC/SC or CT-API interfaces."
|
||||
elog ""
|
||||
elog "General hint: you probably want to try installing sys-apps/pcsc-lite and"
|
||||
elog "app-crypt/ccid first."
|
||||
fi
|
||||
|
||||
ewarn "Please remember to restart gpg-agent if a different version"
|
||||
ewarn "of the agent is currently used. If you are unsure of the gpg"
|
||||
ewarn "agent you are using please run 'killall gpg-agent',"
|
||||
ewarn "and to start a fresh daemon just run 'gpg-agent --daemon'."
|
||||
|
||||
if [[ -n ${REPLACING_VERSIONS} ]]; then
|
||||
elog "If upgrading from a version prior than 2.1 you might have to re-import"
|
||||
elog "secret keys after restarting the gpg-agent as the new version is using"
|
||||
elog "a new storage mechanism."
|
||||
elog "You can migrate the keys using gpg --import \$HOME/.gnupg/secring.gpg"
|
||||
fi
|
||||
}
|
@ -1,169 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs
|
||||
|
||||
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
|
||||
HOMEPAGE="http://www.gnupg.org/"
|
||||
MY_P="${P/_/-}"
|
||||
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86"
|
||||
IUSE="bzip2 doc +gnutls ldap nls readline static selinux smartcard tools usb"
|
||||
|
||||
COMMON_DEPEND_LIBS="
|
||||
dev-libs/npth
|
||||
>=dev-libs/libassuan-2
|
||||
>=dev-libs/libgcrypt-1.6.2
|
||||
>=dev-libs/libgpg-error-1.17
|
||||
>=dev-libs/libksba-1.0.7
|
||||
>=net-misc/curl-7.10
|
||||
gnutls? ( >=net-libs/gnutls-3.0 )
|
||||
sys-libs/zlib
|
||||
ldap? ( net-nds/openldap )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
readline? ( sys-libs/readline:= )
|
||||
smartcard? ( usb? ( virtual/libusb:0 ) )
|
||||
"
|
||||
COMMON_DEPEND_BINS="app-crypt/pinentry
|
||||
!app-crypt/dirmngr"
|
||||
|
||||
# Existence of executables is checked during configuration.
|
||||
DEPEND="${COMMON_DEPEND_LIBS}
|
||||
${COMMON_DEPEND_BINS}
|
||||
static? (
|
||||
>=dev-libs/libassuan-2[static-libs]
|
||||
>=dev-libs/libgcrypt-1.6.2[static-libs]
|
||||
>=dev-libs/libgpg-error-1.17[static-libs]
|
||||
>=dev-libs/libksba-1.0.7[static-libs]
|
||||
dev-libs/npth[static-libs]
|
||||
>=net-misc/curl-7.10[static-libs]
|
||||
sys-libs/zlib[static-libs]
|
||||
bzip2? ( app-arch/bzip2[static-libs] )
|
||||
)
|
||||
nls? ( sys-devel/gettext )
|
||||
doc? ( sys-apps/texinfo )"
|
||||
|
||||
RDEPEND="!static? ( ${COMMON_DEPEND_LIBS} )
|
||||
${COMMON_DEPEND_BINS}
|
||||
selinux? ( sec-policy/selinux-gpg )
|
||||
nls? ( virtual/libintl )"
|
||||
|
||||
REQUIRED_USE="smartcard? ( !static )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# 'USE=static' support was requested:
|
||||
# gnupg1: bug #29299
|
||||
# gnupg2: bug #159623
|
||||
use static && append-ldflags -static
|
||||
|
||||
if use smartcard; then
|
||||
myconf+=(
|
||||
--enable-scdaemon
|
||||
$(use_enable usb ccid-driver)
|
||||
)
|
||||
else
|
||||
myconf+=( --disable-scdaemon )
|
||||
fi
|
||||
|
||||
if use elibc_SunOS || use elibc_AIX; then
|
||||
myconf+=( --disable-symcryptrun )
|
||||
else
|
||||
myconf+=( --enable-symcryptrun )
|
||||
fi
|
||||
|
||||
# glib fails and picks up clang's internal stdint.h causing weird errors
|
||||
[[ ${CC} == clang ]] && export gl_cv_absolute_stdint_h=/usr/include/stdint.h
|
||||
|
||||
econf \
|
||||
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
|
||||
--enable-gpg \
|
||||
--enable-gpgsm \
|
||||
--enable-large-secmem \
|
||||
--without-adns \
|
||||
"${myconf[@]}" \
|
||||
$(use_enable bzip2) \
|
||||
$(use_enable gnutls) \
|
||||
$(use_with ldap) \
|
||||
$(use_enable nls) \
|
||||
$(use_with readline) \
|
||||
CC_FOR_BUILD="$(tc-getBUILD_CC)"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use doc; then
|
||||
cd doc
|
||||
emake html
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
use tools && dobin tools/{convert-from-106,gpg-check-pattern} \
|
||||
tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys,make-dns-cert}
|
||||
|
||||
emake DESTDIR="${D}" -f doc/Makefile uninstall-nobase_dist_docDATA
|
||||
rm "${ED}"/usr/share/gnupg/help* || die
|
||||
|
||||
dodoc ChangeLog NEWS README THANKS TODO VERSION doc/FAQ doc/DETAILS \
|
||||
doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER doc/help*
|
||||
|
||||
dosym gpg2 /usr/bin/gpg
|
||||
dosym gpgv2 /usr/bin/gpgv
|
||||
echo ".so man1/gpg2.1" > "${ED}"/usr/share/man/man1/gpg.1
|
||||
echo ".so man1/gpgv2.1" > "${ED}"/usr/share/man/man1/gpgv.1
|
||||
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg
|
||||
|
||||
if use doc; then
|
||||
dohtml doc/gnupg.html/* doc/*.png
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "If you wish to view images emerge:"
|
||||
elog "media-gfx/xloadimage, media-gfx/xli or any other viewer"
|
||||
elog "Remember to use photo-viewer option in configuration file to activate"
|
||||
elog "the right viewer."
|
||||
elog
|
||||
|
||||
if use smartcard; then
|
||||
elog "To use your OpenPGP smartcard (or token) with GnuPG you need one of"
|
||||
use usb && elog " - a CCID-compatible reader, used directly through libusb;"
|
||||
elog " - sys-apps/pcsc-lite and a compatible reader device;"
|
||||
elog " - dev-libs/openct and a compatible reader device;"
|
||||
elog " - a reader device and drivers exporting either PC/SC or CT-API interfaces."
|
||||
elog ""
|
||||
elog "General hint: you probably want to try installing sys-apps/pcsc-lite and"
|
||||
elog "app-crypt/ccid first."
|
||||
fi
|
||||
|
||||
ewarn "Please remember to restart gpg-agent if a different version"
|
||||
ewarn "of the agent is currently used. If you are unsure of the gpg"
|
||||
ewarn "agent you are using please run 'killall gpg-agent',"
|
||||
ewarn "and to start a fresh daemon just run 'gpg-agent --daemon'."
|
||||
|
||||
if [[ -n ${REPLACING_VERSIONS} ]]; then
|
||||
elog "If upgrading from a version prior than 2.1 you might have to re-import"
|
||||
elog "secret keys after restarting the gpg-agent as the new version is using"
|
||||
elog "a new storage mechanism."
|
||||
elog "You can migrate the keys using gpg --import \$HOME/.gnupg/secring.gpg"
|
||||
fi
|
||||
}
|
@ -1,12 +1,8 @@
|
||||
DIST keybase-0.8.10.tar.gz 7055453 SHA256 ce9a22427d40341059071737ace2dacbe0a81e29e783ec2c8324e2704c1f558f SHA512 4701a0c8d88ffc90fa68f24ef4695f7c7b63ec91a41ccc1bf9d25efb182befc0750e1f9f5ec185161d65bdcbaeb3a73ab8f54f7047ab9d1efdca55b5f56957f0 WHIRLPOOL dd6d53154164ac235b89947530f7af4ed9fdc1421c26b2cef92e1721e2dcdf63e43fff054718c58c6a519f24f1766969a0e740f97d9eb17472d1ef8174e1851f
|
||||
DIST keybase-0.8.12.tar.gz 7057638 SHA256 fa6a8eb6f857d98d4d0f5c97862ba99480b0dd2c85fccd631180c0ab8f3ca97f SHA512 e8c568e0154308d3f0172a5e9b22de31c8a9b07d3a4f324a4afec57972602a3bd957220a96427eefa5df563ce0152495f5c33668536e03f3d6af9344c2061397 WHIRLPOOL e4a2431c05add26645f4ec3f2062a81d38c39ad9f9d6357f62009292f60fe072d67547d6c0a39470c130165bb9491fc7cb17cfe91a3fc1be75ad7a6377da9dad
|
||||
DIST keybase-0.8.13.tar.gz 7057750 SHA256 a485257b7302d848be41e9c0a79f7b1c0da4c8ceaee70c0cc011838cbd723fd8 SHA512 8a082ff9d61f960a0c4862fba04adf323005b3c70e6d208a38a001716bcc374e10cde315eced6730d90316466244e58a9de0f78a66ab2f9bd91326979f0ef28b WHIRLPOOL b651a48be0ced301991edd03d40182c0b900ea28e2b97630a3ad741b34266dbd95c3d370db636ca8088ce5e781a2cf609255a6b52a5b6bdbfa540b879cdcd778
|
||||
DIST keybase-0.8.18.tar.gz 7062931 SHA256 c1ef27f959401164e72fbcd5c4054d13258a3f09dcdebb0ac3c447519780d59e SHA512 2d2c019cdf0e1fef496d709f7bf17c0d30d614e017a88b54d2a2198aafcd9ad436a636e1f1de27ac98df9e3ca90432b3cc3ff0b83fbb59d7e3a9acdef589d940 WHIRLPOOL 0d80b47fa8da500ee4886f95c9bfa55f392e4988db887fa8f2fd332c185a6e1be082ed7b2fce01f98ea4fd064f27b3159cf04e19d1ee2ec985d222606f48059a
|
||||
DIST keybase-0.8.9.tar.gz 7055307 SHA256 2feb54d26afc639f4d4998fbc35aafa2100a9926a6ec4f84343ca56d0284a3dd SHA512 431b3314cf939605a56f163b67226c9027a83159aae7f6b9226a4b5ccf63ecd3f79a873cbb9ab2756d83df2191823b70f884327f160187c00f6a6954b8ca144a WHIRLPOOL 4de64969a1e8898b19903cce391ca599af09b4f3dee6bf2b6bf10fcb39d8b6f939d5aa0320a5efe4b3aaf78217c6b6d7c16f09321af3ed115b6985194a0f0c0e
|
||||
EBUILD keybase-0.8.10.ebuild 714 SHA256 cdd943971ad4bb5f1f2d56277c68389a4310217290ae592eca179ee8162c887e SHA512 4a3c6b47ff6756c093fdd93549a460b20104b29533b11bd8fd032c1d6a32881f9226b03e11af7032bdafe7c5b3afd4997d8dd0650ddf59e996347ae99c6e761f WHIRLPOOL 6d88a9c5f43c052dd7cc6d74c3ddd7aa4b383982a557a6e7431cc210fee55da92c73816f70405e45259696efdd51e863c2dd5d3c547ad84f839eeb10094124b6
|
||||
EBUILD keybase-0.8.12.ebuild 714 SHA256 cdd943971ad4bb5f1f2d56277c68389a4310217290ae592eca179ee8162c887e SHA512 4a3c6b47ff6756c093fdd93549a460b20104b29533b11bd8fd032c1d6a32881f9226b03e11af7032bdafe7c5b3afd4997d8dd0650ddf59e996347ae99c6e761f WHIRLPOOL 6d88a9c5f43c052dd7cc6d74c3ddd7aa4b383982a557a6e7431cc210fee55da92c73816f70405e45259696efdd51e863c2dd5d3c547ad84f839eeb10094124b6
|
||||
DIST keybase-0.8.22.tar.gz 7101414 SHA256 4290251ddf7d1f124211731aa8d0dd47f43ba9e1eb9b0b0f326d7986a3f87cb7 SHA512 ed75fc7fa5f97701c6a9e5880a113bdf392f21b1bdfaa63b7070231e10608d755304300b6b5208b2bc363869ffb631e2261df89747ba9b654bc98a420a0511cb WHIRLPOOL e13a4451bdf5962122b54c95d8d35d4570e0475f6012bb5126ff5ec2f48767048600da4f89f9d0ec6b70523b54262c52f5e29d7b766a83c38723ee25ce5acaab
|
||||
EBUILD keybase-0.8.13.ebuild 714 SHA256 cdd943971ad4bb5f1f2d56277c68389a4310217290ae592eca179ee8162c887e SHA512 4a3c6b47ff6756c093fdd93549a460b20104b29533b11bd8fd032c1d6a32881f9226b03e11af7032bdafe7c5b3afd4997d8dd0650ddf59e996347ae99c6e761f WHIRLPOOL 6d88a9c5f43c052dd7cc6d74c3ddd7aa4b383982a557a6e7431cc210fee55da92c73816f70405e45259696efdd51e863c2dd5d3c547ad84f839eeb10094124b6
|
||||
EBUILD keybase-0.8.18.ebuild 714 SHA256 cdd943971ad4bb5f1f2d56277c68389a4310217290ae592eca179ee8162c887e SHA512 4a3c6b47ff6756c093fdd93549a460b20104b29533b11bd8fd032c1d6a32881f9226b03e11af7032bdafe7c5b3afd4997d8dd0650ddf59e996347ae99c6e761f WHIRLPOOL 6d88a9c5f43c052dd7cc6d74c3ddd7aa4b383982a557a6e7431cc210fee55da92c73816f70405e45259696efdd51e863c2dd5d3c547ad84f839eeb10094124b6
|
||||
EBUILD keybase-0.8.9.ebuild 714 SHA256 cdd943971ad4bb5f1f2d56277c68389a4310217290ae592eca179ee8162c887e SHA512 4a3c6b47ff6756c093fdd93549a460b20104b29533b11bd8fd032c1d6a32881f9226b03e11af7032bdafe7c5b3afd4997d8dd0650ddf59e996347ae99c6e761f WHIRLPOOL 6d88a9c5f43c052dd7cc6d74c3ddd7aa4b383982a557a6e7431cc210fee55da92c73816f70405e45259696efdd51e863c2dd5d3c547ad84f839eeb10094124b6
|
||||
EBUILD keybase-0.8.22.ebuild 714 SHA256 cdd943971ad4bb5f1f2d56277c68389a4310217290ae592eca179ee8162c887e SHA512 4a3c6b47ff6756c093fdd93549a460b20104b29533b11bd8fd032c1d6a32881f9226b03e11af7032bdafe7c5b3afd4997d8dd0650ddf59e996347ae99c6e761f WHIRLPOOL 6d88a9c5f43c052dd7cc6d74c3ddd7aa4b383982a557a6e7431cc210fee55da92c73816f70405e45259696efdd51e863c2dd5d3c547ad84f839eeb10094124b6
|
||||
MISC ChangeLog 1372 SHA256 38d5368a564264c24ab0a7bd33c745af8dd2519491894034b0a5259755ca3def SHA512 d8dda73484d0c2fc63b89eaeefe83a3cb9292da5cbe59aec3c5bc4433656f335787e3f0557a4242e51e56e562d466b2ec95f715dbb6377f788290bad59d07c21 WHIRLPOOL 6a4faa59700ae2c2c1cec0ad4a83c2f7822fb878d9ab66a1eb061036702e5bb48f4f5e7688062be8b53a714ba48708e48b14c18b44685cf3866b6b617c80b1e9
|
||||
MISC metadata.xml 451 SHA256 52d9d95011efa06c70edf692690d27196078bc41b6eea52acfc7ae25780c3abb SHA512 4aed6207a3c783d0a63effbd668493f6a319e60f90552e08fa1c481d60801c73b70d3ef408324ae2833bcb1757eae80260d8ce7c94e62a2a9124216d897aa5bc WHIRLPOOL 59ff2b0272914b8d93c0a2dd5f069e3886ddf748428c6af8ef4349534ceb9972c38b14b5b2dbb1a3a859c00de2b7ca8057ae5ecfd6fa5695eedb3d2ec37258d7
|
||||
|
@ -1,33 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils
|
||||
|
||||
DESCRIPTION="Client for keybase.io"
|
||||
HOMEPAGE="https://keybase.io/"
|
||||
SRC_URI="https://github.com/keybase/node-client/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
net-libs/nodejs
|
||||
app-crypt/gnupg"
|
||||
|
||||
src_unpack() {
|
||||
unpack "${P}.tar.gz"
|
||||
mv "node-client-${PV}" "${P}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc CHANGELOG.md README.md SIGNED.md
|
||||
insinto "/opt/${PN}"
|
||||
doins -r package.json bin certs json lib node_modules sql
|
||||
dosym "${D}/opt/${PN}/bin/main.js" "${ROOT}/usr/bin/keybase"
|
||||
chmod 0755 "${D}/opt/${PN}/bin/main.js" || die
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils
|
||||
|
||||
DESCRIPTION="Client for keybase.io"
|
||||
HOMEPAGE="https://keybase.io/"
|
||||
SRC_URI="https://github.com/keybase/node-client/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
net-libs/nodejs
|
||||
app-crypt/gnupg"
|
||||
|
||||
src_unpack() {
|
||||
unpack "${P}.tar.gz"
|
||||
mv "node-client-${PV}" "${P}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc CHANGELOG.md README.md SIGNED.md
|
||||
insinto "/opt/${PN}"
|
||||
doins -r package.json bin certs json lib node_modules sql
|
||||
dosym "${D}/opt/${PN}/bin/main.js" "${ROOT}/usr/bin/keybase"
|
||||
chmod 0755 "${D}/opt/${PN}/bin/main.js" || die
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit eutils toolchain-funcs
|
||||
|
||||
DESCRIPTION="A GUI to OpenSSL, RSA public keys, certificates, signing requests and revokation lists"
|
||||
HOMEPAGE="http://xca.sourceforge.net"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
IUSE="bindist"
|
||||
|
||||
RDEPEND=">=dev-libs/openssl-0.9.8:*[bindist=]
|
||||
dev-qt/qtgui:4"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-1.0.0-desktop.patch
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
|
||||
STRIP=true
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# enforce all to avoid the automatic silent rules
|
||||
emake all
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# non standard destdir
|
||||
emake install destdir="${ED}"
|
||||
|
||||
insinto /etc/xca
|
||||
doins misc/*.txt
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python3_{3,4} )
|
||||
|
||||
PLOCALES="ca cs cy da de es et eu fr hu it ja pl pt pt_BR ru sk sr sr@latin uk zh_TW"
|
||||
|
||||
inherit distutils-r1 l10n
|
||||
|
||||
MY_PN="ReText"
|
||||
MY_P="${MY_PN}-${PV/_/~}"
|
||||
|
||||
DESCRIPTION="Simple editor for Markdown and reStructuredText"
|
||||
HOMEPAGE="https://github.com/retext-project/retext https://github.com/retext-project/retext/wiki"
|
||||
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+spell"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/markdown[${PYTHON_USEDEP}]
|
||||
dev-python/markups[${PYTHON_USEDEP}]
|
||||
dev-python/pygments[${PYTHON_USEDEP}]
|
||||
dev-python/PyQt5[gui,network,printsupport,webkit,widgets,${PYTHON_USEDEP}]
|
||||
spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
|
||||
"
|
||||
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
|
||||
remove_locale() {
|
||||
find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}."
|
||||
}
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
|
||||
newicon {icons/,}${PN}.png
|
||||
newicon {icons/,}${PN}.svg
|
||||
|
||||
l10n_for_each_disabled_locale_do remove_locale
|
||||
|
||||
make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor"
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
DIST ganeti-instance-image-0.6.tar.gz 82534 SHA256 eb8cd0a26acc5b2bd651a1e014688a9f395cef35b4f6393df6a53aeadae1d2fc SHA512 92b5048fe8c40692e8e7c4cb73b21e764660d7cb5f585a8489fc4338eef7df8aae1147d38a849103585a884a0216a0bfb42473d5c1922130e5aada31f5d580c3 WHIRLPOOL d4b04066ad3d11ff995710a7f8932a203a8bc5acb22abe2b202b0e5a84c1075f4f0c7a9d8a18111915abc04a7f67630590edf9f1c520ea6f5960c9e920aa294a
|
||||
EBUILD ganeti-instance-image-0.6.ebuild 1050 SHA256 7199fc82340f8c3c72384a33702f5fbc1a753dfd9b6f825ff7275c2fbe384b9d SHA512 9088f5be4a76fea5b165be38c5d3a5d7b77818e3d283d10725433aa58ed2001eac8e9676b488080733d83901bf6e06e4f562ff515a89c7453477bcd0adf1ef55 WHIRLPOOL 60929ed93ac7394d908bca6e0df43b79fa754d24434caf59ce6b3cdf3b0394746dc9e7a086eb3a852e502b4de229093418e778b513b1195f0fdea6983d47502b
|
||||
EBUILD ganeti-instance-image-0.6.ebuild 997 SHA256 37ff5435c380fcc8a1a96a6c97305881cb9fc14ec226d17f2d0ec96e253a0d46 SHA512 89f8cf377a85cc1e805540f84a0076ccf16089f8d58735b0abe60c621a48a7365037f89210ca62f61bc4647e60b79a7a8ee9e8461562abb41e373bc4d6c5e10f WHIRLPOOL c3049c76237c54a3b2efb1c5dfbecd4580d50db9509d6b17f75b6225f462421848002fa035f3b76390af475cbc6f457ee2c2d9fe614777b9209f9f82b33e97cf
|
||||
MISC ChangeLog 2111 SHA256 49aa31e90b4d1a12612a3113429825e4a6f2625b15fc8d916f5f688af9b1df80 SHA512 8de45c2fc862c083c705d9bab0bb77f163fb0f4452032746963c6d537556741a2fbb942dfc4fb6498f2abea1ad283ea927b8014a4e9cc2ea74c75609e68c12d9 WHIRLPOOL e166f618874a7271815470a28c97721151467613d27420eaf579a0669601636f804331fff946de1931e84cc0567cdf03e4ebe97ca635a00c3cebca37e12abd3f
|
||||
MISC metadata.xml 264 SHA256 287ecfdacc51a2797387f8b664c959c4918f394c0f89b094559148c31577cda0 SHA512 a2bb2739bc9ca6f633aff2d5638a1102ab6b385124fab87bc857db350c84c9db62169df388018d8cc7954919bbf6aa4e44b7aaf781987882b2ac3d85e1be09ad WHIRLPOOL d8e3dfba4d62d6edac7538272e020047b8ac493d28487ff9e7194894e2b2820a190e41f9b319ae1928100cfe5605db400b70ff8a7ad0f24a06c7ea98e036f3ff
|
||||
|
@ -1,464 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
AUTOTOOLIZE=yes
|
||||
|
||||
MY_P="${P/_rc/-rc}"
|
||||
|
||||
inherit eutils user autotools linux-info systemd readme.gentoo
|
||||
|
||||
BACKPORTS=""
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="git://libvirt.org/libvirt.git"
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
SLOT="0"
|
||||
else
|
||||
# Versions with 4 numbers are stable updates:
|
||||
if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then
|
||||
SRC_URI="http://libvirt.org/sources/stable_updates/${MY_P}.tar.gz"
|
||||
else
|
||||
SRC_URI="http://libvirt.org/sources/${MY_P}.tar.gz"
|
||||
fi
|
||||
SRC_URI+=" ${BACKPORTS:+
|
||||
https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz
|
||||
https://dev.gentoo.org/~tamiko/distfiles/${P}-${BACKPORTS}.tar.xz}"
|
||||
KEYWORDS="amd64 x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
S="${WORKDIR}/${P%_rc*}"
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="http://www.libvirt.org/"
|
||||
LICENSE="LGPL-2.1"
|
||||
# TODO: Reenable IUSE wireshark-plugins
|
||||
IUSE="audit avahi +caps firewalld fuse glusterfs iscsi +libvirtd lvm lxc \
|
||||
+macvtap nfs nls numa openvz parted pcap phyp policykit +qemu rbd sasl \
|
||||
selinux +udev uml +vepa virtualbox virt-network wireshark-plugins xen \
|
||||
elibc_glibc systemd"
|
||||
REQUIRED_USE="libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
uml? ( libvirtd )
|
||||
vepa? ( macvtap )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
firewalld? ( virt-network )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="sys-libs/readline:=
|
||||
sys-libs/ncurses:0=
|
||||
>=net-misc/curl-7.18.0
|
||||
dev-libs/libgcrypt:0
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
dev-libs/libnl:3
|
||||
>=net-libs/gnutls-1.0.25
|
||||
net-libs/libssh2
|
||||
sys-apps/dmidecode
|
||||
>=sys-apps/util-linux-2.17
|
||||
sys-devel/gettext
|
||||
>=net-analyzer/netcat6-1.0-r2
|
||||
app-misc/scrub
|
||||
audit? ( sys-process/audit )
|
||||
avahi? ( >=net-dns/avahi-0.6[dbus] )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
fuse? ( >=sys-fs/fuse-2.8.6 )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
lxc? ( !systemd? ( sys-power/pm-utils ) )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2 )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
openvz? ( sys-kernel/openvz-sources:* )
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? ( >=sys-auth/polkit-0.9 )
|
||||
qemu? (
|
||||
>=app-emulation/qemu-0.13.0
|
||||
dev-libs/yajl
|
||||
!systemd? ( sys-power/pm-utils )
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
systemd? ( sys-apps/systemd )
|
||||
virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) )
|
||||
wireshark-plugins? ( net-analyzer/wireshark:= )
|
||||
xen? ( app-emulation/xen-tools app-emulation/xen )
|
||||
udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 )
|
||||
virt-network? ( net-dns/dnsmasq[script]
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
net-firewall/ebtables
|
||||
sys-apps/iproute2[-minimal]
|
||||
firewalld? ( net-firewall/firewalld )
|
||||
)
|
||||
elibc_glibc? ( || ( >=net-libs/libtirpc-0.2.2-r1 <sys-libs/glibc-2.14 ) )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-perl/XML-XPath
|
||||
dev-libs/libxslt"
|
||||
|
||||
DOC_CONTENTS="For the basic networking support (bridged and routed networks)
|
||||
you don't need any extra software. For more complex network modes
|
||||
including but not limited to NATed network, you can enable the
|
||||
'virt-network' USE flag.\n\n
|
||||
If you are using dnsmasq on your system, you will have
|
||||
to configure /etc/dnsmasq.conf to enable the following settings:\n\n
|
||||
bind-interfaces\n
|
||||
interface or except-interface\n\n
|
||||
Otherwise you might have issues with your existing DNS server."
|
||||
|
||||
LXC_CONFIG_CHECK="
|
||||
~CGROUPS
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_SCHED
|
||||
~CGROUP_PERF
|
||||
~BLK_CGROUP
|
||||
~NET_CLS_CGROUP
|
||||
~CGROUP_NET_PRIO
|
||||
~CPUSETS
|
||||
~NAMESPACES
|
||||
~UTS_NS
|
||||
~IPC_NS
|
||||
~PID_NS
|
||||
~NET_NS
|
||||
~USER_NS
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
~VETH
|
||||
~MACVLAN
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS
|
||||
"
|
||||
|
||||
VIRTNET_CONFIG_CHECK="
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
"
|
||||
|
||||
BWLMT_CONFIG_CHECK="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_SFQ
|
||||
~NET_SCH_INGRESS
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_ACT_POLICE
|
||||
"
|
||||
|
||||
MACVTAP_CONFIG_CHECK=" ~MACVTAP"
|
||||
|
||||
LVM_CONFIG_CHECK=" ~BLK_DEV_DM ~DM_SNAPSHOT ~DM_MULTIPATH"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup qemu 77
|
||||
enewuser qemu 77 -1 -1 qemu kvm
|
||||
|
||||
# Some people used the masked ebuild which was not adding the qemu
|
||||
# user to the kvm group originally. This results in VMs failing to
|
||||
# start for some users. bug #430808
|
||||
egetent group kvm | grep -q qemu
|
||||
if [[ $? -ne 0 ]]; then
|
||||
gpasswd -a qemu kvm
|
||||
fi
|
||||
|
||||
# Handle specific kernel versions for different features
|
||||
kernel_is lt 3 6 && LXC_CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR"
|
||||
kernel_is ge 3 6 && LXC_CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP ~MEMCG_KMEM"
|
||||
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+=" ~FUSE_FS"
|
||||
use lvm && CONFIG_CHECK+="${LVM_CONFIG_CHECK}"
|
||||
use lxc && CONFIG_CHECK+="${LXC_CONFIG_CHECK}"
|
||||
use macvtap && CONFIG_CHECK+="${MACVTAP_CONFIG_CHECK}"
|
||||
use virt-network && CONFIG_CHECK+="${VIRTNET_CONFIG_CHECK}"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="${BWLMT_CONFIG_CHECK}"
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# git checkouts require bootstrapping to create the configure script.
|
||||
# Additionally the submodules must be cloned to the right locations
|
||||
# bug #377279
|
||||
./bootstrap || die "bootstrap failed"
|
||||
(
|
||||
git submodule status | sed 's/^[ +-]//;s/ .*//'
|
||||
git hash-object bootstrap.conf
|
||||
) >.git-module-status
|
||||
fi
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-1.2.9-do_not_use_sysconf.patch
|
||||
|
||||
[[ -n ${BACKPORTS} ]] && \
|
||||
EPATCH_FORCE=yes EPATCH_SUFFIX="patch" \
|
||||
EPATCH_SOURCE="${WORKDIR}/patches" epatch
|
||||
|
||||
epatch_user
|
||||
|
||||
[[ -n ${AUTOTOOLIZE} ]] && eautoreconf
|
||||
|
||||
# Tweak the init script
|
||||
local avahi_init=
|
||||
local iscsi_init=
|
||||
local rbd_init=
|
||||
local firewalld_init=
|
||||
cp "${FILESDIR}/libvirtd.init-r14" "${S}/libvirtd.init"
|
||||
use avahi && avahi_init='avahi-daemon'
|
||||
use iscsi && iscsi_init='iscsid'
|
||||
use rbd && rbd_init='ceph'
|
||||
use firewalld && firewalld_init='need firewalld'
|
||||
|
||||
sed -e "s/USE_FLAG_FIREWALLD/${firewalld_init}/" -i "${S}/libvirtd.init"
|
||||
sed -e "s/USE_FLAG_AVAHI/${avahi_init}/" -i "${S}/libvirtd.init"
|
||||
sed -e "s/USE_FLAG_ISCSI/${iscsi_init}/" -i "${S}/libvirtd.init"
|
||||
sed -e "s/USE_FLAG_RBD/${rbd_init}/" -i "${S}/libvirtd.init"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=""
|
||||
|
||||
## enable/disable daemon, otherwise client only utils
|
||||
myconf+=" $(use_with libvirtd)"
|
||||
|
||||
## enable/disable the daemon using avahi to find VMs
|
||||
myconf+=" $(use_with avahi)"
|
||||
|
||||
## hypervisors on the local host
|
||||
myconf+=" $(use_with xen) $(use_with xen xen-inotify)"
|
||||
myconf+=" --without-xenapi"
|
||||
if use xen && has_version ">=app-emulation/xen-tools-4.2.0"; then
|
||||
myconf+=" --with-libxl"
|
||||
else
|
||||
myconf+=" --without-libxl"
|
||||
fi
|
||||
myconf+=" $(use_with openvz)"
|
||||
myconf+=" $(use_with lxc)"
|
||||
if use virtualbox && has_version app-emulation/virtualbox-ose; then
|
||||
myconf+=" --with-vbox=/usr/lib/virtualbox-ose/"
|
||||
else
|
||||
myconf+=" $(use_with virtualbox vbox)"
|
||||
fi
|
||||
myconf+=" $(use_with uml)"
|
||||
myconf+=" $(use_with qemu)"
|
||||
myconf+=" $(use_with qemu yajl)" # Use QMP over HMP
|
||||
myconf+=" $(use_with phyp)"
|
||||
myconf+=" --with-esx"
|
||||
myconf+=" --with-vmware"
|
||||
|
||||
## additional host drivers
|
||||
myconf+=" $(use_with virt-network network)"
|
||||
myconf+=" --with-storage-fs"
|
||||
myconf+=" $(use_with lvm storage-lvm)"
|
||||
myconf+=" $(use_with iscsi storage-iscsi)"
|
||||
myconf+=" $(use_with parted storage-disk)"
|
||||
myconf+=" $(use_with glusterfs)"
|
||||
myconf+=" $(use_with glusterfs storage-gluster)"
|
||||
myconf+=" $(use_with lvm storage-mpath)"
|
||||
myconf+=" $(use_with rbd storage-rbd)"
|
||||
myconf+=" $(use_with numa numactl)"
|
||||
myconf+=" $(use_with numa numad)"
|
||||
myconf+=" $(use_with selinux)"
|
||||
myconf+=" $(use_with fuse)"
|
||||
|
||||
# udev for device support details
|
||||
myconf+=" $(use_with udev)"
|
||||
myconf+=" --without-hal"
|
||||
|
||||
# linux capability support so we don't need privileged accounts
|
||||
myconf+=" $(use_with caps capng)"
|
||||
|
||||
## auth stuff
|
||||
myconf+=" $(use_with policykit polkit)"
|
||||
myconf+=" $(use_with sasl)"
|
||||
|
||||
# network bits
|
||||
myconf+=" $(use_with macvtap)"
|
||||
myconf+=" $(use_with pcap libpcap)"
|
||||
myconf+=" $(use_with vepa virtualport)"
|
||||
myconf+=" $(use_with firewalld)"
|
||||
|
||||
## other
|
||||
myconf+=" $(use_enable nls)"
|
||||
|
||||
# user privilege bits fir qemu/kvm
|
||||
if use caps; then
|
||||
myconf+=" --with-qemu-user=qemu"
|
||||
myconf+=" --with-qemu-group=qemu"
|
||||
else
|
||||
myconf+=" --with-qemu-user=root"
|
||||
myconf+=" --with-qemu-group=root"
|
||||
fi
|
||||
|
||||
# audit support
|
||||
myconf+=" $(use_with audit)"
|
||||
|
||||
# wireshark dissector
|
||||
myconf+=" $(use_with wireshark-plugins wireshark-dissector)"
|
||||
|
||||
## stuff we don't yet support
|
||||
myconf+=" --without-netcf"
|
||||
|
||||
# locking support
|
||||
myconf+=" --without-sanlock"
|
||||
|
||||
# systemd unit files
|
||||
myconf+=" $(use_with systemd systemd-daemon)"
|
||||
use systemd && myconf+=" --with-init-script=systemd"
|
||||
|
||||
# this is a nasty trick to work around the problem in bug
|
||||
# #275073. The reason why we don't solve this properly is that
|
||||
# it'll require us to rebuild autotools (and we don't really want
|
||||
# to do that right now). The proper solution has been sent
|
||||
# upstream and should hopefully land in 0.7.7, in the mean time,
|
||||
# mime the same functionality with this.
|
||||
case ${CHOST} in
|
||||
*cygwin* | *mingw* )
|
||||
;;
|
||||
*)
|
||||
ac_cv_prog_WINDRES=no
|
||||
;;
|
||||
esac
|
||||
|
||||
econf \
|
||||
${myconf} \
|
||||
--disable-static \
|
||||
--disable-werror \
|
||||
--with-remote \
|
||||
--docdir=/usr/share/doc/${PF} \
|
||||
--localstatedir=/var
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Restore gnulib's config.sub and config.guess
|
||||
# bug #377279
|
||||
(cd .gnulib && git reset --hard > /dev/null)
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Explicitly allow parallel build of tests
|
||||
export VIR_TEST_DEBUG=1
|
||||
HOME="${T}" emake check || die "tests failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake install \
|
||||
DESTDIR="${D}" \
|
||||
HTML_DIR=/usr/share/doc/${PF}/html \
|
||||
DOCS_DIR=/usr/share/doc/${PF} \
|
||||
EXAMPLE_DIR=/usr/share/doc/${PF}/examples \
|
||||
SYSTEMD_UNIT_DIR="$(systemd_get_unitdir)" \
|
||||
|| die "emake install failed"
|
||||
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
|
||||
# Remove bogus, empty directories. They are either not used, or
|
||||
# libvirtd is able to create them on demand
|
||||
rm -rf "${D}"/etc/sysconf
|
||||
rm -rf "${D}"/var/cache
|
||||
rm -rf "${D}"/var/run
|
||||
rm -rf "${D}"/var/log
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
use systemd && systemd_install_serviced \
|
||||
"${FILESDIR}"/libvirtd.service.conf libvirtd.service
|
||||
|
||||
systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd || die
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r4" libvirtd || die
|
||||
newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# we only ever want to generate this once
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml
|
||||
fi
|
||||
|
||||
# We really don't want to use or support old PolicyKit cause it
|
||||
# screws with the new polkit integration
|
||||
if has_version sys-auth/policykit; then
|
||||
rm -rf "${D}"/usr/share/PolicyKit/policy/org.libvirt.unix.policy
|
||||
fi
|
||||
|
||||
# Only sysctl files ending in .conf work
|
||||
dodir /etc/sysctl.d
|
||||
mv "${D}"/usr/lib/sysctl.d/libvirtd.conf "${D}"/etc/sysctl.d/libvirtd.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml
|
||||
fi
|
||||
|
||||
if ! use policykit; then
|
||||
elog "To allow normal users to connect to libvirtd you must change the"
|
||||
elog "unix sock group and/or perms in /etc/libvirt/libvirtd.conf"
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use caps && use qemu; then
|
||||
elog "libvirt will now start qemu/kvm VMs with non-root privileges."
|
||||
elog "Ensure any resources your VMs use are accessible by qemu:qemu"
|
||||
fi
|
||||
|
||||
if [[ -n "${REPLACING_VERSIONS}" ]]; then
|
||||
elog ""
|
||||
elog "The systemd service-file configuration under /etc/sysconfig has"
|
||||
elog "been removed. Please use"
|
||||
elog " /etc/systemd/system/libvirtd.service.d/00gentoo.conf"
|
||||
elog "to control the '--listen' parameter for libvirtd. The configuration"
|
||||
elog "for the libvirt-guests.service is now found under"
|
||||
elog " /etc/libvirt/libvirt-guests.conf"
|
||||
elog "The openrc configuration has not been changed. Thus no action is"
|
||||
elog "required for the openrc service manager."
|
||||
elog ""
|
||||
fi
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
--- Makefile.orig 2015-09-17 20:37:16.481867339 -0500
|
||||
+++ Makefile 2015-09-17 20:53:27.715800926 -0500
|
||||
@@ -12,15 +12,11 @@
|
||||
|
||||
.PHONY: default
|
||||
default:
|
||||
- -go get -t -v -d ./...
|
||||
- -go get -t -v -d ./...
|
||||
go install -v ./...
|
||||
@echo "LXD built succesfuly"
|
||||
|
||||
.PHONY: client
|
||||
client:
|
||||
- -go get -t -v -d ./...
|
||||
- -go get -t -v -d ./...
|
||||
go install -v ./lxc
|
||||
@echo "LXD client built succesfuly"
|
||||
|
@ -0,0 +1,11 @@
|
||||
--- lxd/rsync.go.orig 2015-09-17 21:00:29.290772099 -0500
|
||||
+++ lxd/rsync.go 2015-09-17 21:00:54.737770359 -0500
|
||||
@@ -73,7 +73,7 @@
|
||||
* command (i.e. the command to run on --server). However, we're
|
||||
* hardcoding that at the other end, so we can just ignore it.
|
||||
*/
|
||||
- rsyncCmd := fmt.Sprintf("sh -c \"nc -U %s\"", f.Name())
|
||||
+ rsyncCmd := fmt.Sprintf("sh -c \"nc.openbsd -U %s\"", f.Name())
|
||||
cmd := exec.Command("rsync", "-arvP", "--devices", "--partial", path, "localhost:/tmp/foo", "-e", rsyncCmd)
|
||||
if err := cmd.Start(); err != nil {
|
||||
return nil, nil, err
|
@ -0,0 +1,27 @@
|
||||
# Group which owns the shared socket
|
||||
LXD_OPTIONS+=" --group lxd"
|
||||
|
||||
|
||||
|
||||
# Enable cpu profiling into the specified file
|
||||
#LXD_OPTIONS+=" --cpuprofile /tmp/lxc_cpu_profile"
|
||||
|
||||
# Enable memory profiling into the specified file
|
||||
#LXD_OPTIONS+=" --memprofile /tmp/lxc_mem_profile"
|
||||
|
||||
|
||||
|
||||
# Enables debug mode
|
||||
#LXD_OPTIONS+=" --debug"
|
||||
|
||||
# For debugging, print a complete stack trace every n seconds
|
||||
#LXD_OPTIONS+=" --print-goroutines-every 5"
|
||||
|
||||
# Enables verbose mode
|
||||
#LXD_OPTIONS+=" -v"
|
||||
|
||||
# Logfile to log to
|
||||
#LXD_OPTIONS+=" --logfile /var/log/lxd/lxd.log"
|
||||
|
||||
# Enables syslog logging
|
||||
#LXD_OPTIONS+=" --syslog"
|
@ -0,0 +1,32 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
DAEMON=/usr/sbin/lxd
|
||||
PIDFILE=/run/lxd.pid
|
||||
|
||||
depend() {
|
||||
need cgmanager
|
||||
need net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting lxd server"
|
||||
|
||||
start-stop-daemon --start \
|
||||
--pidfile ${PIDFILE} \
|
||||
--exec ${DAEMON} \
|
||||
--background \
|
||||
--make-pidfile \
|
||||
-- \
|
||||
${LXD_OPTIONS}
|
||||
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping lxd server"
|
||||
start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE}
|
||||
eend $?
|
||||
}
|
@ -0,0 +1,166 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="Fast, dense and secure container management"
|
||||
HOMEPAGE="https://linuxcontainers.org/lxd/introduction/"
|
||||
EGO_PN_PARENT="github.com/lxc"
|
||||
EGO_PN="${EGO_PN_PARENT}/lxd"
|
||||
SRC_URI="http://961db08fe45d5f5dd062-b8a7a040508aea6d369676e49b80719d.r29.cf2.rackcdn.com/${P}.tar.bz2"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
PLOCALES="de fr ja"
|
||||
IUSE="btrfs +criu +daemon lvm nls test"
|
||||
|
||||
# IUSE and PLOCALES must be defined before l10n inherited
|
||||
inherit bash-completion-r1 eutils golang-build l10n systemd user vcs-snapshot
|
||||
|
||||
DEPEND="
|
||||
dev-go/go-crypto
|
||||
>=dev-lang/go-1.4.2:=
|
||||
dev-libs/protobuf
|
||||
dev-vcs/git
|
||||
nls? ( sys-devel/gettext )
|
||||
test? (
|
||||
app-misc/jq
|
||||
dev-db/sqlite
|
||||
net-misc/curl
|
||||
sys-devel/gettext
|
||||
)
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
daemon? (
|
||||
app-admin/cgmanager
|
||||
app-arch/xz-utils
|
||||
app-emulation/lxc[cgmanager,seccomp]
|
||||
net-analyzer/openbsd-netcat
|
||||
net-misc/bridge-utils
|
||||
net-misc/rsync[xattr]
|
||||
sys-apps/iproute2
|
||||
virtual/acl
|
||||
btrfs? (
|
||||
sys-fs/btrfs-progs
|
||||
)
|
||||
criu? (
|
||||
sys-process/criu
|
||||
)
|
||||
lvm? (
|
||||
sys-fs/lvm2
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
# KNOWN ISSUES:
|
||||
# - Translations may not work. I've been unsuccessful in forcing
|
||||
# localized output. Anyway, upstream (Canonical) doesn't install the
|
||||
# message files.
|
||||
|
||||
# TODO:
|
||||
# - since 0.15 gccgo is a supported compiler ('make gccgo'). It would
|
||||
# be preferable for that support to go into the golang-build eclass not
|
||||
# this package directly.
|
||||
# - Add apparmor USE. There are some exec calls to apparmor_parser
|
||||
# - Test build with Go 1.4 & 1.5
|
||||
# - integrate "lxd shutdown" into initscript as custom action (default "stop"
|
||||
# action should _not_ stop containers amirite?)
|
||||
# "Perform a clean shutdown of LXD and all running containers"
|
||||
|
||||
src_prepare() {
|
||||
cd "${S}/src/${EGO_PN}"
|
||||
|
||||
epatch "${FILESDIR}/${P}-dont-go-get.patch"
|
||||
|
||||
# Upstream requires the openbsd flavor of netcat (with -U), but
|
||||
# Gentoo installs that with a renamed binary
|
||||
epatch "${FILESDIR}/${P}-nc-binary-name.patch"
|
||||
|
||||
# Warn on unhandled locale changes
|
||||
l10n_find_plocales_changes po "" .po
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
golang-build_src_compile
|
||||
|
||||
cd "${S}/src/${EGO_PN}"
|
||||
|
||||
if use daemon; then
|
||||
# Build binaries
|
||||
GOPATH="${S}:$(get_golibdir_gopath)" emake
|
||||
else
|
||||
# build client tool
|
||||
GOPATH="${S}:$(get_golibdir_gopath)" emake client
|
||||
fi
|
||||
|
||||
use nls && emake build-mo
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if use daemon; then
|
||||
# Go native tests should succeed
|
||||
golang-build_src_test
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Installs all src,pkg to /usr/lib/go-gentoo
|
||||
golang-build_src_install
|
||||
|
||||
cd "${S}"
|
||||
dobin bin/lxc
|
||||
if use daemon; then
|
||||
dobin bin/fuidshift
|
||||
|
||||
dosbin bin/lxd
|
||||
fi
|
||||
|
||||
cd "src/${EGO_PN}"
|
||||
|
||||
if use nls; then
|
||||
for lingua in ${PLOCALES}; do
|
||||
if use linguas_${lingua}; then
|
||||
domo po/${lingua}.mo
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if use daemon; then
|
||||
newinitd "${FILESDIR}"/${P}.initd lxd
|
||||
newconfd "${FILESDIR}"/${P}.confd lxd
|
||||
|
||||
systemd_dounit "${FILESDIR}"/lxd.service
|
||||
fi
|
||||
|
||||
newbashcomp config/bash/lxc.in lxc
|
||||
|
||||
dodoc AUTHORS CONTRIBUTING.md README.md
|
||||
|
||||
docinto specs
|
||||
dodoc specs/*
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
einfo
|
||||
einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
|
||||
einfo "including a Quick Start."
|
||||
|
||||
# The messaging below only applies to daemon installs
|
||||
use daemon || return 0
|
||||
|
||||
# The control socket will be owned by (and writeable by) this group.
|
||||
enewgroup lxd
|
||||
|
||||
# Ubuntu also defines an lxd user but it appears unused (the daemon
|
||||
# must run as root)
|
||||
|
||||
if test -n "${REPLACING_VERSIONS}"; then
|
||||
einfo
|
||||
einfo "If you are upgrading from version 0.14 or older, note that the --tcp"
|
||||
einfo "is no longer available in /etc/conf.d/lxd. Instead, configure the"
|
||||
einfo "listen address/port by setting the core.https_address server option."
|
||||
fi
|
||||
}
|
@ -0,0 +1,146 @@
|
||||
https://bugs.gentoo.org/560422
|
||||
|
||||
From d9033e1d3aa666c5071580617a57bd853c5d794a Mon Sep 17 00:00:00 2001
|
||||
From: John Snow <jsnow@redhat.com>
|
||||
Date: Thu, 17 Sep 2015 14:17:05 -0400
|
||||
Subject: [PATCH] ide: fix ATAPI command permissions
|
||||
|
||||
We're a little too lenient with what we'll let an ATAPI drive handle.
|
||||
Clamp down on the IDE command execution table to remove CD_OK permissions
|
||||
from commands that are not and have never been ATAPI commands.
|
||||
|
||||
For ATAPI command validity, please see:
|
||||
- ATA4 Section 6.5 ("PACKET Command feature set")
|
||||
- ATA8/ACS Section 4.3 ("The PACKET feature set")
|
||||
- ACS3 Section 4.3 ("The PACKET feature set")
|
||||
|
||||
ACS3 has a historical command validity table in Table B.4
|
||||
("Historical Command Assignments") that can be referenced to find when
|
||||
a command was introduced, deprecated, obsoleted, etc.
|
||||
|
||||
The only reference for ATAPI command validity is by checking that
|
||||
version's PACKET feature set section.
|
||||
|
||||
ATAPI was introduced by T13 into ATA4, all commands retired prior to ATA4
|
||||
therefore are assumed to have never been ATAPI commands.
|
||||
|
||||
Mandatory commands, as listed in ATA8-ACS3, are:
|
||||
|
||||
- DEVICE RESET
|
||||
- EXECUTE DEVICE DIAGNOSTIC
|
||||
- IDENTIFY DEVICE
|
||||
- IDENTIFY PACKET DEVICE
|
||||
- NOP
|
||||
- PACKET
|
||||
- READ SECTOR(S)
|
||||
- SET FEATURES
|
||||
|
||||
Optional commands as listed in ATA8-ACS3, are:
|
||||
|
||||
- FLUSH CACHE
|
||||
- READ LOG DMA EXT
|
||||
- READ LOG EXT
|
||||
- WRITE LOG DMA EXT
|
||||
- WRITE LOG EXT
|
||||
|
||||
All other commands are illegal to send to an ATAPI device and should
|
||||
be rejected by the device.
|
||||
|
||||
CD_OK removal justifications:
|
||||
|
||||
0x06 WIN_DSM Defined in ACS2. Not valid for ATAPI.
|
||||
0x21 WIN_READ_ONCE Retired in ATA5. Not ATAPI in ATA4.
|
||||
0x94 WIN_STANDBYNOW2 Retired in ATA4. Did not coexist with ATAPI.
|
||||
0x95 WIN_IDLEIMMEDIATE2 Retired in ATA4. Did not coexist with ATAPI.
|
||||
0x96 WIN_STANDBY2 Retired in ATA4. Did not coexist with ATAPI.
|
||||
0x97 WIN_SETIDLE2 Retired in ATA4. Did not coexist with ATAPI.
|
||||
0x98 WIN_CHECKPOWERMODE2 Retired in ATA4. Did not coexist with ATAPI.
|
||||
0x99 WIN_SLEEPNOW2 Retired in ATA4. Did not coexist with ATAPI.
|
||||
0xE0 WIN_STANDBYNOW1 Not part of ATAPI in ATA4, ACS or ACS3.
|
||||
0xE1 WIN_IDLEIMMDIATE Not part of ATAPI in ATA4, ACS or ACS3.
|
||||
0xE2 WIN_STANDBY Not part of ATAPI in ATA4, ACS or ACS3.
|
||||
0xE3 WIN_SETIDLE1 Not part of ATAPI in ATA4, ACS or ACS3.
|
||||
0xE4 WIN_CHECKPOWERMODE1 Not part of ATAPI in ATA4, ACS or ACS3.
|
||||
0xE5 WIN_SLEEPNOW1 Not part of ATAPI in ATA4, ACS or ACS3.
|
||||
0xF8 WIN_READ_NATIVE_MAX Obsoleted in ACS3. Not ATAPI in ATA4 or ACS.
|
||||
|
||||
This patch fixes a divide by zero fault that can be caused by sending
|
||||
the WIN_READ_NATIVE_MAX command to an ATAPI drive, which causes it to
|
||||
attempt to use zeroed CHS values to perform sector arithmetic.
|
||||
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Signed-off-by: John Snow <jsnow@redhat.com>
|
||||
Reviewed-by: Markus Armbruster <armbru@redhat.com>
|
||||
Message-id: 1441816082-21031-1-git-send-email-jsnow@redhat.com
|
||||
CC: qemu-stable@nongnu.org
|
||||
---
|
||||
hw/ide/core.c | 30 +++++++++++++++---------------
|
||||
1 file changed, 15 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/hw/ide/core.c b/hw/ide/core.c
|
||||
index 8ba04df..1cc6945 100644
|
||||
--- a/hw/ide/core.c
|
||||
+++ b/hw/ide/core.c
|
||||
@@ -1746,11 +1746,11 @@ static const struct {
|
||||
} ide_cmd_table[0x100] = {
|
||||
/* NOP not implemented, mandatory for CD */
|
||||
[CFA_REQ_EXT_ERROR_CODE] = { cmd_cfa_req_ext_error_code, CFA_OK },
|
||||
- [WIN_DSM] = { cmd_data_set_management, ALL_OK },
|
||||
+ [WIN_DSM] = { cmd_data_set_management, HD_CFA_OK },
|
||||
[WIN_DEVICE_RESET] = { cmd_device_reset, CD_OK },
|
||||
[WIN_RECAL] = { cmd_nop, HD_CFA_OK | SET_DSC},
|
||||
[WIN_READ] = { cmd_read_pio, ALL_OK },
|
||||
- [WIN_READ_ONCE] = { cmd_read_pio, ALL_OK },
|
||||
+ [WIN_READ_ONCE] = { cmd_read_pio, HD_CFA_OK },
|
||||
[WIN_READ_EXT] = { cmd_read_pio, HD_CFA_OK },
|
||||
[WIN_READDMA_EXT] = { cmd_read_dma, HD_CFA_OK },
|
||||
[WIN_READ_NATIVE_MAX_EXT] = { cmd_read_native_max, HD_CFA_OK | SET_DSC },
|
||||
@@ -1769,12 +1769,12 @@ static const struct {
|
||||
[CFA_TRANSLATE_SECTOR] = { cmd_cfa_translate_sector, CFA_OK },
|
||||
[WIN_DIAGNOSE] = { cmd_exec_dev_diagnostic, ALL_OK },
|
||||
[WIN_SPECIFY] = { cmd_nop, HD_CFA_OK | SET_DSC },
|
||||
- [WIN_STANDBYNOW2] = { cmd_nop, ALL_OK },
|
||||
- [WIN_IDLEIMMEDIATE2] = { cmd_nop, ALL_OK },
|
||||
- [WIN_STANDBY2] = { cmd_nop, ALL_OK },
|
||||
- [WIN_SETIDLE2] = { cmd_nop, ALL_OK },
|
||||
- [WIN_CHECKPOWERMODE2] = { cmd_check_power_mode, ALL_OK | SET_DSC },
|
||||
- [WIN_SLEEPNOW2] = { cmd_nop, ALL_OK },
|
||||
+ [WIN_STANDBYNOW2] = { cmd_nop, HD_CFA_OK },
|
||||
+ [WIN_IDLEIMMEDIATE2] = { cmd_nop, HD_CFA_OK },
|
||||
+ [WIN_STANDBY2] = { cmd_nop, HD_CFA_OK },
|
||||
+ [WIN_SETIDLE2] = { cmd_nop, HD_CFA_OK },
|
||||
+ [WIN_CHECKPOWERMODE2] = { cmd_check_power_mode, HD_CFA_OK | SET_DSC },
|
||||
+ [WIN_SLEEPNOW2] = { cmd_nop, HD_CFA_OK },
|
||||
[WIN_PACKETCMD] = { cmd_packet, CD_OK },
|
||||
[WIN_PIDENTIFY] = { cmd_identify_packet, CD_OK },
|
||||
[WIN_SMART] = { cmd_smart, HD_CFA_OK | SET_DSC },
|
||||
@@ -1788,19 +1788,19 @@ static const struct {
|
||||
[WIN_WRITEDMA] = { cmd_write_dma, HD_CFA_OK },
|
||||
[WIN_WRITEDMA_ONCE] = { cmd_write_dma, HD_CFA_OK },
|
||||
[CFA_WRITE_MULTI_WO_ERASE] = { cmd_write_multiple, CFA_OK },
|
||||
- [WIN_STANDBYNOW1] = { cmd_nop, ALL_OK },
|
||||
- [WIN_IDLEIMMEDIATE] = { cmd_nop, ALL_OK },
|
||||
- [WIN_STANDBY] = { cmd_nop, ALL_OK },
|
||||
- [WIN_SETIDLE1] = { cmd_nop, ALL_OK },
|
||||
- [WIN_CHECKPOWERMODE1] = { cmd_check_power_mode, ALL_OK | SET_DSC },
|
||||
- [WIN_SLEEPNOW1] = { cmd_nop, ALL_OK },
|
||||
+ [WIN_STANDBYNOW1] = { cmd_nop, HD_CFA_OK },
|
||||
+ [WIN_IDLEIMMEDIATE] = { cmd_nop, HD_CFA_OK },
|
||||
+ [WIN_STANDBY] = { cmd_nop, HD_CFA_OK },
|
||||
+ [WIN_SETIDLE1] = { cmd_nop, HD_CFA_OK },
|
||||
+ [WIN_CHECKPOWERMODE1] = { cmd_check_power_mode, HD_CFA_OK | SET_DSC },
|
||||
+ [WIN_SLEEPNOW1] = { cmd_nop, HD_CFA_OK },
|
||||
[WIN_FLUSH_CACHE] = { cmd_flush_cache, ALL_OK },
|
||||
[WIN_FLUSH_CACHE_EXT] = { cmd_flush_cache, HD_CFA_OK },
|
||||
[WIN_IDENTIFY] = { cmd_identify, ALL_OK },
|
||||
[WIN_SETFEATURES] = { cmd_set_features, ALL_OK | SET_DSC },
|
||||
[IBM_SENSE_CONDITION] = { cmd_ibm_sense_condition, CFA_OK | SET_DSC },
|
||||
[CFA_WEAR_LEVEL] = { cmd_cfa_erase_sectors, HD_CFA_OK | SET_DSC },
|
||||
- [WIN_READ_NATIVE_MAX] = { cmd_read_native_max, ALL_OK | SET_DSC },
|
||||
+ [WIN_READ_NATIVE_MAX] = { cmd_read_native_max, HD_CFA_OK | SET_DSC },
|
||||
};
|
||||
|
||||
static bool ide_cmd_permitted(IDEState *s, uint32_t cmd)
|
||||
--
|
||||
2.6.0.rc2.230.g3dd15c0
|
||||
|
@ -0,0 +1,58 @@
|
||||
https://bugs.gentoo.org/560760
|
||||
|
||||
From ce317461573bac12b10d67699b4ddf1f97cf066c Mon Sep 17 00:00:00 2001
|
||||
From: Jason Wang <jasowang@redhat.com>
|
||||
Date: Fri, 25 Sep 2015 13:21:28 +0800
|
||||
Subject: [PATCH 1/3] virtio: introduce virtqueue_unmap_sg()
|
||||
|
||||
Factor out sg unmapping logic. This will be reused by the patch that
|
||||
can discard descriptor.
|
||||
|
||||
Cc: Michael S. Tsirkin <mst@redhat.com>
|
||||
Cc: Andrew James <andrew.james@hpe.com>
|
||||
Signed-off-by: Jason Wang <jasowang@redhat.com>
|
||||
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
|
||||
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
||||
---
|
||||
hw/virtio/virtio.c | 14 ++++++++++----
|
||||
1 file changed, 10 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
|
||||
index 7504f8b..6f2b96c 100644
|
||||
--- a/hw/virtio/virtio.c
|
||||
+++ b/hw/virtio/virtio.c
|
||||
@@ -244,14 +244,12 @@ int virtio_queue_empty(VirtQueue *vq)
|
||||
return vring_avail_idx(vq) == vq->last_avail_idx;
|
||||
}
|
||||
|
||||
-void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
|
||||
- unsigned int len, unsigned int idx)
|
||||
+static void virtqueue_unmap_sg(VirtQueue *vq, const VirtQueueElement *elem,
|
||||
+ unsigned int len)
|
||||
{
|
||||
unsigned int offset;
|
||||
int i;
|
||||
|
||||
- trace_virtqueue_fill(vq, elem, len, idx);
|
||||
-
|
||||
offset = 0;
|
||||
for (i = 0; i < elem->in_num; i++) {
|
||||
size_t size = MIN(len - offset, elem->in_sg[i].iov_len);
|
||||
@@ -267,6 +265,14 @@ void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
|
||||
cpu_physical_memory_unmap(elem->out_sg[i].iov_base,
|
||||
elem->out_sg[i].iov_len,
|
||||
0, elem->out_sg[i].iov_len);
|
||||
+}
|
||||
+
|
||||
+void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
|
||||
+ unsigned int len, unsigned int idx)
|
||||
+{
|
||||
+ trace_virtqueue_fill(vq, elem, len, idx);
|
||||
+
|
||||
+ virtqueue_unmap_sg(vq, elem, len);
|
||||
|
||||
idx = (idx + vring_used_idx(vq)) % vq->vring.num;
|
||||
|
||||
--
|
||||
2.6.0.rc2.230.g3dd15c0
|
||||
|
@ -0,0 +1,54 @@
|
||||
https://bugs.gentoo.org/560760
|
||||
|
||||
From 29b9f5efd78ae0f9cc02dd169b6e80d2c404bade Mon Sep 17 00:00:00 2001
|
||||
From: Jason Wang <jasowang@redhat.com>
|
||||
Date: Fri, 25 Sep 2015 13:21:29 +0800
|
||||
Subject: [PATCH 2/3] virtio: introduce virtqueue_discard()
|
||||
|
||||
This patch introduces virtqueue_discard() to discard a descriptor and
|
||||
unmap the sgs. This will be used by the patch that will discard
|
||||
descriptor when packet is truncated.
|
||||
|
||||
Cc: Michael S. Tsirkin <mst@redhat.com>
|
||||
Signed-off-by: Jason Wang <jasowang@redhat.com>
|
||||
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
|
||||
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
||||
---
|
||||
hw/virtio/virtio.c | 7 +++++++
|
||||
include/hw/virtio/virtio.h | 2 ++
|
||||
2 files changed, 9 insertions(+)
|
||||
|
||||
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
|
||||
index 6f2b96c..d0bc72e 100644
|
||||
--- a/hw/virtio/virtio.c
|
||||
+++ b/hw/virtio/virtio.c
|
||||
@@ -267,6 +267,13 @@ static void virtqueue_unmap_sg(VirtQueue *vq, const VirtQueueElement *elem,
|
||||
0, elem->out_sg[i].iov_len);
|
||||
}
|
||||
|
||||
+void virtqueue_discard(VirtQueue *vq, const VirtQueueElement *elem,
|
||||
+ unsigned int len)
|
||||
+{
|
||||
+ vq->last_avail_idx--;
|
||||
+ virtqueue_unmap_sg(vq, elem, len);
|
||||
+}
|
||||
+
|
||||
void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
|
||||
unsigned int len, unsigned int idx)
|
||||
{
|
||||
diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
|
||||
index 6201ee8..9d09115 100644
|
||||
--- a/include/hw/virtio/virtio.h
|
||||
+++ b/include/hw/virtio/virtio.h
|
||||
@@ -146,6 +146,8 @@ void virtio_del_queue(VirtIODevice *vdev, int n);
|
||||
void virtqueue_push(VirtQueue *vq, const VirtQueueElement *elem,
|
||||
unsigned int len);
|
||||
void virtqueue_flush(VirtQueue *vq, unsigned int count);
|
||||
+void virtqueue_discard(VirtQueue *vq, const VirtQueueElement *elem,
|
||||
+ unsigned int len);
|
||||
void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
|
||||
unsigned int len, unsigned int idx);
|
||||
|
||||
--
|
||||
2.6.0.rc2.230.g3dd15c0
|
||||
|
@ -0,0 +1,47 @@
|
||||
https://bugs.gentoo.org/560760
|
||||
|
||||
From 0cf33fb6b49a19de32859e2cdc6021334f448fb3 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Wang <jasowang@redhat.com>
|
||||
Date: Fri, 25 Sep 2015 13:21:30 +0800
|
||||
Subject: [PATCH 3/3] virtio-net: correctly drop truncated packets
|
||||
|
||||
When packet is truncated during receiving, we drop the packets but
|
||||
neither discard the descriptor nor add and signal used
|
||||
descriptor. This will lead several issues:
|
||||
|
||||
- sg mappings are leaked
|
||||
- rx will be stalled if a lots of packets were truncated
|
||||
|
||||
In order to be consistent with vhost, fix by discarding the descriptor
|
||||
in this case.
|
||||
|
||||
Cc: Michael S. Tsirkin <mst@redhat.com>
|
||||
Signed-off-by: Jason Wang <jasowang@redhat.com>
|
||||
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
|
||||
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
||||
---
|
||||
hw/net/virtio-net.c | 8 +-------
|
||||
1 file changed, 1 insertion(+), 7 deletions(-)
|
||||
|
||||
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
|
||||
index d388c55..a877614 100644
|
||||
--- a/hw/net/virtio-net.c
|
||||
+++ b/hw/net/virtio-net.c
|
||||
@@ -1094,13 +1094,7 @@ static ssize_t virtio_net_receive(NetClientState *nc, const uint8_t *buf, size_t
|
||||
* must have consumed the complete packet.
|
||||
* Otherwise, drop it. */
|
||||
if (!n->mergeable_rx_bufs && offset < size) {
|
||||
-#if 0
|
||||
- error_report("virtio-net truncated non-mergeable packet: "
|
||||
- "i %zd mergeable %d offset %zd, size %zd, "
|
||||
- "guest hdr len %zd, host hdr len %zd",
|
||||
- i, n->mergeable_rx_bufs,
|
||||
- offset, size, n->guest_hdr_len, n->host_hdr_len);
|
||||
-#endif
|
||||
+ virtqueue_discard(q->rx_vq, &elem, total);
|
||||
return size;
|
||||
}
|
||||
|
||||
--
|
||||
2.6.0.rc2.230.g3dd15c0
|
||||
|
@ -0,0 +1,643 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo pax-utils
|
||||
|
||||
BACKPORTS=
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2
|
||||
${BACKPORTS:+
|
||||
https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
IUSE="accessibility +aio alsa bluetooth +caps +curl debug +fdt glusterfs \
|
||||
gtk gtk2 infiniband iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs
|
||||
+png pulseaudio python \
|
||||
rbd sasl +seccomp sdl sdl2 selinux smartcard snappy spice ssh static static-softmmu
|
||||
static-user systemtap tci test +threads tls usb usbredir +uuid vde +vhost-net \
|
||||
virtfs +vnc vte xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips
|
||||
mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32
|
||||
x86_64"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
gtk2? ( gtk )
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
sdl2? ( sdl )
|
||||
static? ( static-softmmu static-user )
|
||||
static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 )
|
||||
virtfs? ( xattr )
|
||||
vte? ( gtk )"
|
||||
|
||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||
#
|
||||
# The attr lib isn't always linked in (although the USE flag is always
|
||||
# respected). This is because qemu supports using the C library's API
|
||||
# when available rather than always using the extranl library.
|
||||
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? ( app-accessibility/brltty[static-libs(+)] )
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gtk? (
|
||||
gtk2? (
|
||||
x11-libs/gtk+:2
|
||||
vte? ( x11-libs/vte:0 )
|
||||
)
|
||||
!gtk2? (
|
||||
x11-libs/gtk+:3
|
||||
vte? ( x11-libs/vte:2.90 )
|
||||
)
|
||||
)
|
||||
infiniband? ( sys-infiniband/librdmacm:=[static-libs(+)] )
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
jpeg? ( virtual/jpeg:=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses:0=[static-libs(+)] )
|
||||
nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
opengl? (
|
||||
virtual/opengl
|
||||
media-libs/libepoxy[static-libs(+)]
|
||||
media-libs/mesa[static-libs(+)]
|
||||
media-libs/mesa[egl,gles2]
|
||||
)
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
rbd? ( sys-cluster/ceph[static-libs(+)] )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? (
|
||||
!sdl2? (
|
||||
media-libs/libsdl[X]
|
||||
>=media-libs/libsdl-1.2.11[static-libs(+)]
|
||||
)
|
||||
sdl2? (
|
||||
media-libs/libsdl2[X]
|
||||
media-libs/libsdl2[static-libs(+)]
|
||||
)
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
smartcard? ( dev-libs/nss !app-emulation/libcacard )
|
||||
snappy? ( app-arch/snappy[static-libs(+)] )
|
||||
spice? (
|
||||
>=app-emulation/spice-protocol-0.12.3
|
||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
|
||||
tls? ( net-libs/gnutls[static-libs(+)] )
|
||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
USER_LIB_DEPEND="${COMMON_LIB_DEPEND}"
|
||||
X86_FIRMWARE_DEPEND="
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.8.2
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/seabios
|
||||
sys-firmware/sgabios
|
||||
sys-firmware/vgabios
|
||||
)"
|
||||
CDEPEND="
|
||||
!static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) )
|
||||
!static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) )
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xen? ( app-emulation/xen-tools )"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) )
|
||||
static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
"
|
||||
|
||||
STRIP_MASK="/usr/share/qemu/palcode-clipper"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.img
|
||||
usr/share/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_WX_LOAD="usr/bin/qemu-i386
|
||||
usr/bin/qemu-x86_64
|
||||
usr/bin/qemu-alpha
|
||||
usr/bin/qemu-arm
|
||||
usr/bin/qemu-cris
|
||||
usr/bin/qemu-m68k
|
||||
usr/bin/qemu-microblaze
|
||||
usr/bin/qemu-microblazeel
|
||||
usr/bin/qemu-mips
|
||||
usr/bin/qemu-mipsel
|
||||
usr/bin/qemu-or32
|
||||
usr/bin/qemu-ppc
|
||||
usr/bin/qemu-ppc64
|
||||
usr/bin/qemu-ppc64abi32
|
||||
usr/bin/qemu-sh4
|
||||
usr/bin/qemu-sh4eb
|
||||
usr/bin/qemu-sparc
|
||||
usr/bin/qemu-sparc64
|
||||
usr/bin/qemu-armeb
|
||||
usr/bin/qemu-sparc32plus
|
||||
usr/bin/qemu-s390x
|
||||
usr/bin/qemu-unicore32"
|
||||
|
||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure
|
||||
you have the kernel module loaded before running kvm. The easiest way to
|
||||
ensure that the kernel module is loaded is to load it on boot.\n
|
||||
For AMD CPUs the module is called 'kvm-amd'\n
|
||||
For Intel CPUs the module is called 'kvm-intel'\n
|
||||
Please review /etc/conf.d/modules for how to load these\n\n
|
||||
Make sure your user is in the 'kvm' group\n
|
||||
Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
|
||||
|
||||
qemu_support_kvm() {
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \
|
||||
use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \
|
||||
use qemu_softmmu_targets_s390x; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
||||
ERROR_TUN+=" virtual network device if using -net tap."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
||||
ERROR_VHOST_NET+=" support"
|
||||
|
||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
|
||||
fi
|
||||
|
||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
||||
eerror "instances are still pointing to it. Please update your"
|
||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
||||
die "update your virt configs to not use qemu-kvm"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
# Sanity check to make sure target lists are kept up-to-date.
|
||||
check_targets() {
|
||||
local var=$1 mak=$2
|
||||
local detected sorted
|
||||
|
||||
pushd "${S}"/default-configs >/dev/null || die
|
||||
|
||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${!var} | sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "${var}: ${sorted}"
|
||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
||||
die "sync ${var} to the list of targets"
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
||||
check_targets IUSE_USER_TARGETS linux-user
|
||||
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i -r \
|
||||
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
# Cheap hack to disable gettext .mo generation.
|
||||
use nls || rm -f po/*.po
|
||||
|
||||
epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch
|
||||
epatch "${FILESDIR}"/${PN}-2.4.0-block-mirror-crash.patch #558396
|
||||
epatch "${FILESDIR}"/${PN}-2.4.0-CVE-2015-7295-{1,2,3}.patch #560760
|
||||
epatch "${FILESDIR}"/${PN}-2.4.0-CVE-2015-6855.patch #560422
|
||||
[[ -n ${BACKPORTS} ]] && \
|
||||
EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
|
||||
epatch
|
||||
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
mkdir "${builddir}"
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--disable-bsd-user
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--disable-werror
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
--enable-docs
|
||||
$(use_enable tci tcg-interpreter)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets as the default configure
|
||||
# options will autoprobe and try to link in a bunch of unused junk.
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_softmmu accessibility brlapi)
|
||||
$(conf_softmmu aio linux-aio)
|
||||
$(conf_softmmu bluetooth bluez)
|
||||
$(conf_softmmu caps cap-ng)
|
||||
$(conf_softmmu curl)
|
||||
$(conf_softmmu fdt)
|
||||
$(conf_softmmu glusterfs)
|
||||
$(conf_softmmu gtk)
|
||||
$(conf_softmmu infiniband rdma)
|
||||
$(conf_softmmu iscsi libiscsi)
|
||||
$(conf_softmmu jpeg vnc-jpeg)
|
||||
$(conf_softmmu kernel_linux kvm)
|
||||
$(conf_softmmu lzo)
|
||||
$(conf_softmmu ncurses curses)
|
||||
$(conf_softmmu nfs libnfs)
|
||||
$(conf_softmmu numa)
|
||||
$(conf_softmmu opengl)
|
||||
$(conf_softmmu png vnc-png)
|
||||
$(conf_softmmu rbd)
|
||||
$(conf_softmmu sasl vnc-sasl)
|
||||
$(conf_softmmu sdl)
|
||||
$(conf_softmmu seccomp)
|
||||
$(conf_softmmu smartcard smartcard-nss)
|
||||
$(conf_softmmu snappy)
|
||||
$(conf_softmmu spice)
|
||||
$(conf_softmmu ssh libssh2)
|
||||
$(conf_softmmu tls vnc-tls)
|
||||
$(conf_softmmu usb libusb)
|
||||
$(conf_softmmu usbredir usb-redir)
|
||||
$(conf_softmmu uuid)
|
||||
$(conf_softmmu vde)
|
||||
$(conf_softmmu vhost-net)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_softmmu vnc)
|
||||
$(conf_softmmu vte)
|
||||
$(conf_softmmu xen)
|
||||
$(conf_softmmu xen xen-pci-passthrough)
|
||||
$(conf_softmmu xfs xfsctl)
|
||||
)
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
;;
|
||||
softmmu)
|
||||
# audio options
|
||||
local audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--with-system-pixman
|
||||
--audio-drv-list="${audio_opts}"
|
||||
)
|
||||
use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
|
||||
use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
)
|
||||
static_flag="static"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
||||
|
||||
# We always want to attempt to build with PIE support as it results
|
||||
# in a more secure binary. But it doesn't work with static or if
|
||||
# the current GCC doesn't have PIE support.
|
||||
if use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
gcc-specs-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
[[ -z ${softmmu_targets}${user_targets} ]] && qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -z ${softmmu_targets}${user_targets} ]]; then
|
||||
cd "${S}/tools-build"
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/scripts/qmp/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/kvm_stat"
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets
|
||||
newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dohtml check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z ${softmmu_targets}${user_targets} ]]; then
|
||||
cd "${S}/tools-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}"
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
# Remove the docdir placed qmp-commands.txt
|
||||
mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/qmp/"
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc docs/qmp/*.txt
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the vgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../vgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/sgabios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
rm "${ED}"/usr/share/qemu/pxe-*.rom
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if qemu_support_kvm; then
|
||||
readme.gentoo_print_elog
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
if use virtfs && [ -n "${softmmu_targets}" ]; then
|
||||
local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid"
|
||||
fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
if has_version 'sys-firmware/seabios[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/vgabios)"
|
||||
}
|
@ -1,28 +1,8 @@
|
||||
AUX 4.0.2-64bit-time.patch 298 SHA256 d974e14a1d8e32a0a05b211cd76d9335a066c6b85538505f1d95f25209c99057 SHA512 c6f90f0626d90fbd48a2ccbb769d0578915d0b804df8fa75fc8036c89b54a056d97116e82335908d84250f1576647be9ec43e3fd49227c181b88e8a1b2024b0d WHIRLPOOL 6f4b67237495a42f4495ab815b332bf13ca37df612bc6b96b89ebe84f208335acd7940f9c4ce09953f4dd4e48f75ae22eaf181c90e861e6ae9364a7e1f93382c
|
||||
AUX 4.0.2-no-libelf.patch 555 SHA256 56cc1f7b2d02ba230501c7c87da170fa791639cb1f36b2b0b87d8644e5372059 SHA512 384446f2e99e2f13bc10e1805c35a97fa83b78a5a2e64d18f5499f60053ac4bdc02ec3d64a14e2bd143c524c333c1179a0731c801eec4f7311e926ccbfeef661 WHIRLPOOL 4ce057418c587d93e6ee77a1e8c301eacd5ed24fb3639b3000dac0540a1c945d2057ff9745de980913434158768d80c9aef7b8350621fccc3057d24ebfb3aade
|
||||
AUX 4.0.2-no-pty.patch 392 SHA256 edc29bc7b7bea89c2f937ca9c95f2ce51b437e4ea042741d9f4ac6d7954178d5 SHA512 91ec6bc1f14636450492cbf4ab7dc5c0ecbbf1a7da6c3832798d9f5bc96c39e5c12f49f3ac7aa5b929956d2292a0f4d24f3d71017d29c5493cbf21607555c9a8 WHIRLPOOL 8869101f1ba94e660a140032bd3bcfa9fc857a76f477d44692a433d0cb27218909d68a936d634e87f628145c2b47bc22efabeabdc290e2ea622d265917093b71
|
||||
AUX 4.0.2-no-utempter.patch 440 SHA256 cc0178fb86971c0975e3d6d60677f2ad3a393ea126790dc5d56f566c42ebe384 SHA512 f506ae6f58b33040b406a4b3a18e40f1092da749ac96b4919ceb612608585fb29a87a3d8dca40e71bbf2c8c2a4c7e217a06e61e130a2356757759bf25e2219c6 WHIRLPOOL 205ab728570609883457136a95508f1ef57481f8e561c6d4d4c15f1bb316c3f0d18a61951b4c5c8b35d45ac6c5516c83b7738f776dd2b2f3f221f657b1480ad9
|
||||
AUX 4.0.2-nonblock.patch 423 SHA256 4a5f1666d7f680a9a8157969318b525bc08885ef673000e902c8ffc23ef49159 SHA512 138545a208c8c9df4b915baaecb9f8d3c8d71af970dc6e562ab37c12c78507fe471adca13b6625ef659765971959f1e15814a44a0ef74a2f6f533b3327364b4d WHIRLPOOL 3b5f3bde1fbb203c3668427c87aa60465019ba79ba20ce0b61d1a59ae0b140270541825fec306734b8d8114c491235c8ee3bb1f6200d8cb5c1bccdb115cbc5b9
|
||||
AUX 4.0.2-windowlist-multiuser-fix.patch 491 SHA256 edec52981859cfad0a2d780352405dc7575ad7901bc101d25e95baccf1060cc7 SHA512 095c58f4b21775965c4618553be35aacad832eb563e91fa4210a2f4f2d73e020870611354b9958cd876669a7f1fdc76c04989a567836638c09c8c18e64bed570 WHIRLPOOL 97b2637630c16f91a7228716b961a1ad5e4ee322c7cad01368cce1bc729af5bfdb3040396e2313be07acf4f695f1fe058c473a4d8f7dede211df44118ab72cf2
|
||||
AUX 4.0.3-extend-d_termname-ng2.patch 5116 SHA256 f61b98e56c9a77e33e56a6684b1d02f3e6066d91b7e74dc3f95e1d81cbd11c86 SHA512 025842d195ff2d9047e011d4f7114a7754c67563669529a1241701e5514c0b4ab849f11b2be919aebc4374fcedaafcc7bd56c4eda556d71b848e0e5c2ee8d812 WHIRLPOOL d59210ced2e0171a73ff7cc42b7b05c9493162d744c5a643048b9e2bd96ec0b11bca937a44b7e7551da33f84c22ee5918562a108c40d88929c8d13a6351d1ba5
|
||||
AUX screen-4.0.1-int-overflow-fix.patch 930 SHA256 fe495d43c367082099cfcb890c7b66629d2ad656a7a15fee6fcd60884abee7d0 SHA512 cb678fb3b879ff61b79995f8a63aa7c84639c1daa4150abb527769c8e6f3dd993f3b0d126b71e60ecea1050bfa1bfc6d1c4756fc4f280ee01143ab8d6caa283b WHIRLPOOL ff0a6668b3531557584af3742a62179bdbb3e2adee1279761e9e4f4e2e6ec37c0107aec2279a679aacd3a6e745551124339611b0bd8202aab7e678e12c060491
|
||||
AUX screen-4.0.1-vsprintf.patch 480 SHA256 34d2f9d6101555fbc37e983542f3db549ea96ede89c7d87c21c69b7331d9c3cd SHA512 f221b84bb753538871000e545610f0b5d5bb221dfe4f963cea8f2ba195d90fc6d217d45bd82081247be2e5307b125225635bee27a618ae570bf2bc097e241871 WHIRLPOOL ed62e461f50bb8c0c14f5221a4beb525dd1fa8ae0cdc370e0a90cd82bb252b8f64d0ee6f617ced90063c70751bf69b9778200982276d16d7db50f586177ed29c
|
||||
AUX screen-4.0.3-config.h-autoconf-2.62.patch 388 SHA256 71897394211d9e00e008f7c34b3a37bff0cfa54bcfa31a23e849c7021471ca2f SHA512 e08abcdd2f339012cb53f953b1963021614c2de0626f2b23deadc7335f8b0b76138a9f3aa259b86b4fdf740619bf4416cd17cd0e88b97f2578e1ec4b26f736f5 WHIRLPOOL c0aec99c177dad57d506b6cc1b23333313767fa74342a1f1e1949392c8ebdeb4f444eb9f5e75afdd399b10cfbf0c3c58eaf3737fff1eb4bbbef8418f508dcb5b
|
||||
AUX screen-4.0.3-cppflags.patch 752 SHA256 40f4c4321170096984466665e3af9aead03490de521205da61a8d31d04cf718d SHA512 92c42ed8d9c2a9ee539784b2fb43119968bdce5b6cd371d82bcf21d9c12f9fd1353ae9630ee1bce3ed73c1528d7bdee64abd4fd1919aaf5ecd412c895ce4a3b4 WHIRLPOOL 8e7c2ef2b4d019cd8820a72660cee8614d0490c65c6ffa85a7c161753cae6f13ebf053623db33685d4cf15af53fbd894dfd224b0a5896d823f6ac165eb20e085
|
||||
AUX screen-4.0.3-crosscompile.patch 18900 SHA256 7e4109cd3f6d58ea799fe069472a58f16ea75c2397392c15f58bfcb7cbb354f9 SHA512 9d34d6245d50f0ea84735cad7148b2c6af70709efc788fe9113752081a05138172acc4d6dc33c87ac71739dead1338000b9bd64978c0edf3c44d9ead92487afb WHIRLPOOL 037ec13508ec669791fda248d4a056abb54c1d9aa6893ddcb8aa4785365231b8c4aea46e07cd5367853039c0876cc8e1ee18df4952d9aa3168806eea9f994846
|
||||
AUX screen-4.0.3-setenv_autoconf.patch 2485 SHA256 091eb224a097bbc1b5f1b3dd8048dbb04b8c7476818a9444eae5bdb8b52bce75 SHA512 72dcfd9180d05edf85ce9f459e69ccd709a6c0a4593802d0f4e88ffe2daf56215ce8049a641701693dafeab3cc8a0df796338d92338ee0d39c51d46ed718af7b WHIRLPOOL fa7645c3488f75c8acdb2305864459e3eada89e7a29e39a6048cdda7459c707b090c68ce93023a53c57a7beabb3c66f9f9f26237126e68d00cc888a7581b867c
|
||||
AUX screen-4.3.0-no-utempter.patch 363 SHA256 c8e4b1a03175fb2af3e13fa514b8a5456b53905a7ca51587195a62cb8d60e1c9 SHA512 0b2e6a2b54e6155e217ab44a0d8314afafd97fae684fbc2875c0f4d21df29cb259ea4023343e92da16dd3a2bf11ec6d06e677d765748299d1633aa1b9261a604 WHIRLPOOL c59a0c3f32ad50e15cd5e902b7b600cda18d2b676209628e7b96120866e7aba968264fbf8b35dc3e252b9fd63f21611005c9ec46cddc5e42b30c8da29a5e5186
|
||||
AUX screen-4.3.1-ansi.c.patch 657 SHA256 806fa628fbbfcf4a63153e0f2a4979ad02d9531151817ef5183c34c4d12adb26 SHA512 ca746103856afd2e93eff8b5b81fa1f4f83c9a89511ce2bd88a6ebfb4becd858da97df48c2939ec2bc631d17e98613f252ca92f1e53f5ad5358f118c449ab545 WHIRLPOOL 39ff78cb6aadf4fe8a7a3cdfb44f7fb656d497a60d3809bd751b7ba0fdb3ae9ebf11ee93e663a1f713fe3e16e34792e10670825eda36754be46dc7fcecc0e810
|
||||
AUX screenrc 10412 SHA256 191d91f9fd1e676525a9e1a3bdc5ac73283f948caf74b4bb6e0cfcecbe4798bb SHA512 06fbec5e28480a2c369330fac0c94faa47e5d28e037d9fefd0cb3e813002c504866dc8ac86872b7ac6f16059a219e396a9c425b578b8afe882153ddb506158f7 WHIRLPOOL e05785d9810a709ccd189bbf1557022bd91f653ddb2f138e54286fbbc11ddbbedf2276d2b8bc975a8ff1ac024ab24d955a6b3055cf5cd2dfb445c35484e90f09
|
||||
DIST screen-4.0.3.tar.gz 840602 SHA256 78f0d5b1496084a5902586304d4a73954b2bfe33ea13edceecf21615c39e6c77 SHA512 24c1f598972f3dc9ed49cd2c05852190a0190d22fa01401eee8484627c8dd2815f0a422d9b2697faa8aaa0b3efc6730a94e2d5aa787dbe5e9ec719143176c338 WHIRLPOOL 6774786126eb05749d432593bc2c1febdc57896959220a609feb138bdc16b8da278aea63af1ccfd5c7d38ccaa9e7d28980e9e14d0009d36a54cdbd9e4cb0fca7
|
||||
DIST screen-4.2.1.tar.gz 1062485 SHA256 5468545047e301d2b3579f9d9ce00466d14a7eec95ce806e3834a3d6b0b9b080 SHA512 30826b2a2fc436483276b90cc4c6679470f7ccb7098c9bb8457d0e534998cd12da02882cf80678465f6540cade170c3fdc6bdfa31b07359ff0d3ffe2d6063710 WHIRLPOOL 7d4209651a016a9ab91aec385532c6ebd7a6d96a60342721f3a53752924c3fb72aa3d648ad665b67fab0a78d6019396abe13e04f556c7e5e9f71bf3238e64cc5
|
||||
DIST screen-4.3.1.tar.gz 845958 SHA256 fa4049f8aee283de62e283d427f2cfd35d6c369b40f7f45f947dbfd915699d63 SHA512 8e8a25b23330a7d8e00fc9e6cc430f0eb3937ccf4183efbd6fd24e4dc04cc09b3acae45bfc24892faee433b18fa79b1cfe0211fd75c0d74ecf908f916bf774aa WHIRLPOOL b47f7538351028cc3a2ec7f69a9373e152fa7655c6ae9feb75ba46db3cdc9b7d58ce78043993b7f134da3a04754c5e52d1a77da4c30a8decda21c79cf5c50f51
|
||||
EBUILD screen-4.0.3-r6.ebuild 4737 SHA256 4e8fe813f317b5b09cec4a208b4668a33f305d390e5438960453bcaf2f42596a SHA512 35d116047c59a04233aa1d476b4783b3bce73f44f568cc18aad71b905186a1f6438eedd5c3028b9f26bf5aeaa44fe5f717b161292943336db7ade47b419d5284 WHIRLPOOL 84e5150c896b7d942f3993f431077b7d165964226be3d77988a2e481cdaf5983e0bec1f1660cf598c046b0321807d6b866b138fe64697af361f2a3d0fcde9011
|
||||
EBUILD screen-4.0.3-r7.ebuild 4761 SHA256 f871fed6ccdef5a3b3122d38da466817582054fb15cbc8fe8fa75c8dac74cc20 SHA512 619cbe7394d9f9044e19e4dce2f6487a6d0551cca8503f7ee4292b1ad085a23409e4c40d5743a086025b7644303b3eacbf87ce3a27740103d26b278afcd6d7e5 WHIRLPOOL 3bfdb0113da6a2c2e2fd81dfe89385409fbf501d7558137c49112118032c0f38f85f111e725b8dff80c4e6577bfe8bf83457f18b7441fe74db4abc5fbbb2d652
|
||||
EBUILD screen-4.0.3-r8.ebuild 5058 SHA256 f39a6207f0bd46806cc6748d589d38f100f17587af89a538d4517d9fbaecf15f SHA512 50b50bd68ed2813e9ba68388b606578af5efaa63a08c67402b0b3d004c8612c42732f7faeeb1414bbaa209af50dea21656bbdf04687956436abcc9fcf246d23e WHIRLPOOL cbcea2d4f704578226ea1157adb102f8f4c91e6d488b7886a8502d33b552b66629b8e2a2642022f10a69def29a76714f91754a5fc76672df92107c4281c0c113
|
||||
EBUILD screen-4.2.1-r2.ebuild 3916 SHA256 ff9d78e5f6e6803ed5e1bfd614103933c00ba70827a41e9ea990505b9cf11a87 SHA512 edb508149394481a4d91d3d883b4ce94557cc9ffcfd457a130341f8042e415a74cabe785dd69dfb20a7c648eb0ca4fd2b8a095ac6f893c3a875a29f75218e845 WHIRLPOOL d0974bf400e2aec3d911c8c8d56de68aa7701859f46ff80e3a572847b19d8c0dab4c0c180da07dd07b5a376a157844ca73f2c868c1ddd8ee37bfbe7903f82b3a
|
||||
EBUILD screen-4.3.1-r1.ebuild 4030 SHA256 9867852547c8aaac688ec4c34b16713dbca28b2013bc3f96417cd72cfc2bc910 SHA512 4286aa01666f81c88cbc7a2b9b0561de6d1f7b4a41bf0bfa7a06394e68114aa511058a05ac7cc75dbbb6b5163ef585beddccaaf500bcf818220db5c9c22c2a00 WHIRLPOOL 6b744ad70f58ccdb04fabc1c62372c296ce6acc35cf190eaa40f903a82d2ca76318eccdb865426a8b69936389489f2504cb695b37dd00db3bbe4bdb1b58617e4
|
||||
EBUILD screen-4.3.1.ebuild 3917 SHA256 70f29d0ebb7e8061e8ddf0fe152a875f43e8bd6b1cab65559c8584918acfcd0f SHA512 bd84885d8e43b725a1127b7e25b10dc131bc2c24aefaa17e3f751cf17ce9e629953da1282f985e3e75914b9b85a84b69a5d37660027a448b698cadb02b5395a7 WHIRLPOOL 5354367c4aa853d8cea0a37e6609f4cb96d47b6e491a0b3835399d8d7735ea98c59d064762e93d92707ee643e3886fb4b4448531c62eddd7f9cf5e8d513759b3
|
||||
EBUILD screen-4.3.1-r1.ebuild 4029 SHA256 d15372627093d125e5809a28689223bd70c7d3404e60726be2f5e5952d6449b0 SHA512 0928c52cc57164cd287391e1101ea639d4fc429d4fa82106bf1727a254903e9a4ccddc8ac5fef6f09a2de15ddd170187ee54f38700352f24ee6575478f00e867 WHIRLPOOL 38c92d61999444c331917b63b7b4e7f9cfd28ffa8b333fee464c6e45726817a7c58f80df09783af52316b035c75db8b32e3eed4f4680af7a693a1021fedfe308
|
||||
EBUILD screen-9999.ebuild 3547 SHA256 a1331ae77d9bf29dbe671553c8ce6bc23e68d9a32c0138fabefdbe2fb5e8091d SHA512 5ac4c2bc01a5d69fe039fd5b6e51b911fc4f222f55a51198a3e7404768e3ad1a0aededcda864bc8706c5a834c2695cfbadbfb317632d20687f03f8179304e9cf WHIRLPOOL a47db36b0395a8db33a306f1a32c685a5e83ed27648b69f4fb274a24cc364c8b3cdb43fb070673f16fbb971c29958a51147a6f8df0d90d1952e30455b67118bb
|
||||
MISC ChangeLog 29858 SHA256 481ee48a0440100320f3ebf9d717d6aebb6f95ac4eff5ea793711b9e24f5324b SHA512 d3015d0c2ab3e7f019c414fc95542ff3408ee1ddccf1e805e5885646307141aa9c6d0a4aaf1bbe733b930da929e6eb1896c632cfcc2658ee4508a1c9fa830eac WHIRLPOOL 17a24afb34b439e9eff882ad54410af5117f41e92540854981e56671d5746b9caa15d6196d572a5d0421948763dea9a2f0953d0440792e1bafa593f00424e237
|
||||
MISC metadata.xml 1717 SHA256 3b683391c778841993813e38bc255e9fb7d36afc6c160b231fef4956ad6820dc SHA512 b6adab02c25cc3fac41f897c031fcd6265d1e8f4f2091501514b8469aecdbfe5efe7b2d2c66eef76bc2dd55dbb12de5f06f09ab3192fda5606cc249562820103 WHIRLPOOL 3f366cfca6b408350c0ea2d069fad9943a479033419f58558a93c58ecced96e518c0f3c59b8a71cef8fb4807b85eca7435c83beb2e1060b69931c4305fffa4d1
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- utmp.c.orig 2004-11-14 23:15:28.000000000 +0100
|
||||
+++ utmp.c 2004-11-14 23:15:39.000000000 +0100
|
||||
@@ -618,7 +618,7 @@
|
||||
#endif /* sgi */
|
||||
strncpy(u->ut_line, line, sizeof(u->ut_line));
|
||||
u->ut_pid = pid;
|
||||
- (void)time((time_t *)&u->ut_time);
|
||||
+ u->ut_time = time(NULL);
|
||||
}
|
||||
|
||||
static slot_t
|
@ -1,18 +0,0 @@
|
||||
--- screen-4.0.2/configure.in 2005-05-22 19:55:06.559874997 +0000
|
||||
+++ screen-4.0.2-no-libelf/configure.in 2005-05-22 19:56:05.895801017 +0000
|
||||
@@ -195,15 +195,6 @@
|
||||
#endif
|
||||
], LIBS="$LIBS -lsocket -linet";seqptx=1)
|
||||
|
||||
-oldlibs="$LIBS"
|
||||
-LIBS="$LIBS -lelf"
|
||||
-AC_CHECKING(SVR4)
|
||||
-AC_TRY_LINK([#include <utmpx.h>
|
||||
-],,
|
||||
-[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN),
|
||||
-[AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN))])]
|
||||
-,LIBS="$oldlibs")
|
||||
-
|
||||
AC_CHECKING(for Solaris 2.x)
|
||||
AC_EGREP_CPP(yes,
|
||||
[#if defined(SVR4) && defined(sun)
|
@ -1,14 +0,0 @@
|
||||
--- screen-4.0.2/pty.c.orig 2004-07-29 23:53:45.313533536 -0400
|
||||
+++ screen-4.0.2/pty.c 2004-07-29 23:53:59.011451136 -0400
|
||||
@@ -33,11 +33,6 @@
|
||||
# include <sys/ioctl.h>
|
||||
#endif
|
||||
|
||||
-/* for solaris 2.1, Unixware (SVR4.2) and possibly others */
|
||||
-#ifdef HAVE_SVR4_PTYS
|
||||
-# include <sys/stropts.h>
|
||||
-#endif
|
||||
-
|
||||
#if defined(sun) && defined(LOCKPTY) && !defined(TIOCEXCL)
|
||||
# include <sys/ttold.h>
|
||||
#endif
|
@ -1,14 +0,0 @@
|
||||
--- screen-4.0.2/configure.in.orig 2004-12-17 19:55:45.314670411 +0100
|
||||
+++ screen-4.0.2/configure.in 2004-12-17 19:55:50.575941541 +0100
|
||||
@@ -855,11 +855,6 @@
|
||||
#include <utmp.h>
|
||||
#endif
|
||||
],[struct utmp u; u.ut_host[0] = 0;], AC_DEFINE(UTHOST))
|
||||
-AC_CHECK_HEADER(utempter.h, have_utempter=yes, have_utempter=no)
|
||||
-if test "$have_utempter" = yes; then
|
||||
- AC_DEFINE(HAVE_UTEMPTER)
|
||||
- LIBS="$LIBS -lutempter"
|
||||
-fi
|
||||
|
||||
dnl
|
||||
dnl **** loadav ****
|
@ -1,11 +0,0 @@
|
||||
--- screen.c.orig 2006-04-02 17:05:28.000000000 +0200
|
||||
+++ screen.c 2006-04-02 17:05:39.000000000 +0200
|
||||
@@ -1197,7 +1197,7 @@ char **av;
|
||||
if (!detached)
|
||||
{
|
||||
/* reopen tty. must do this, because fd 0 may be RDONLY */
|
||||
- if ((n = secopen(attach_tty, O_RDWR, 0)) < 0)
|
||||
+ if ((n = secopen(attach_tty, O_RDWR | O_NONBLOCK, 0)) < 0)
|
||||
Panic(0, "Cannot reopen '%s' - please check.", attach_tty);
|
||||
}
|
||||
else
|
@ -1,12 +0,0 @@
|
||||
diff -Nur screen-4.0.2.orig/process.c screen-4.0.2/process.c
|
||||
--- screen-4.0.2.orig/process.c 2003-09-18 14:53:54.000000000 +0200
|
||||
+++ screen-4.0.2/process.c 2005-07-06 19:55:08.370772955 +0200
|
||||
@@ -4841,7 +4841,7 @@
|
||||
s = buf;
|
||||
for (display = displays; display; display = display->d_next)
|
||||
{
|
||||
- if (D_user == olddisplay->d_user)
|
||||
+ if (olddisplay && D_user == olddisplay->d_user)
|
||||
continue;
|
||||
for (cv = D_cvlist; cv; cv = cv->c_next)
|
||||
if (Layer2Window(cv->c_layer) == p)
|
@ -1,203 +0,0 @@
|
||||
diff --git a/acls.c b/acls.c
|
||||
index 0f98df2..5f26d70 100644
|
||||
--- a/acls.c
|
||||
+++ b/acls.c
|
||||
@@ -178,7 +178,7 @@ struct acluser **up;
|
||||
#endif
|
||||
(*up)->u_Esc = DefaultEsc;
|
||||
(*up)->u_MetaEsc = DefaultMetaEsc;
|
||||
- strncpy((*up)->u_name, name, 20);
|
||||
+ strncpy((*up)->u_name, name, MAXSTR);
|
||||
(*up)->u_password = NULL;
|
||||
if (pass)
|
||||
(*up)->u_password = SaveStr(pass);
|
||||
@@ -314,8 +314,8 @@ struct acluser **up;
|
||||
return UserAdd(name, pass, up);
|
||||
if (!strcmp(name, "nobody")) /* he remains without password */
|
||||
return -1;
|
||||
- strncpy((*up)->u_password, pass ? pass : "", 20);
|
||||
- (*up)->u_password[20] = '\0';
|
||||
+ strncpy((*up)->u_password, pass ? pass : "", MAXSTR);
|
||||
+ (*up)->u_password[MAXSTR] = '\0';
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
diff --git a/acls.h b/acls.h
|
||||
index c41b714..7f20f55 100644
|
||||
--- a/acls.h
|
||||
+++ b/acls.h
|
||||
@@ -36,6 +36,16 @@
|
||||
#define ACLBYTE(data, w) ((data)[(w) >> 3])
|
||||
#define ACLBIT(w) (0x80 >> ((w) & 7))
|
||||
|
||||
+#include <limits.h>
|
||||
+
|
||||
+#ifndef NAME_MAX
|
||||
+# ifndef MAXNAMELEN
|
||||
+# define NAME_MAX 255
|
||||
+# else
|
||||
+# define NAME_MAX MAXNAMELEN
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
typedef unsigned char * AclBits;
|
||||
|
||||
/*
|
||||
@@ -73,7 +83,7 @@ struct plop
|
||||
typedef struct acluser
|
||||
{
|
||||
struct acluser *u_next; /* continue the main user list */
|
||||
- char u_name[20+1]; /* login name how he showed up */
|
||||
+ char u_name[NAME_MAX+1]; /* login name how he showed up */
|
||||
char *u_password; /* his password (may be NullStr). */
|
||||
int u_checkpassword; /* nonzero if this u_password is valid */
|
||||
int u_detachwin; /* the window where he last detached */
|
||||
diff --git a/display.h b/display.h
|
||||
index ef99954..563fcd0 100644
|
||||
--- a/display.h
|
||||
+++ b/display.h
|
||||
@@ -22,6 +22,16 @@
|
||||
* $Id: display.h,v 1.9 1994/05/31 12:31:54 mlschroe Exp $ FAU
|
||||
*/
|
||||
|
||||
+#include <limits.h>
|
||||
+
|
||||
+#ifndef NAME_MAX
|
||||
+# ifndef MAXNAMELEN
|
||||
+# define NAME_MAX 255
|
||||
+# else
|
||||
+# define NAME_MAX MAXNAMELEN
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
#ifdef MAPKEYS
|
||||
|
||||
#define KMAP_KEYS (T_OCAPS-T_CAPS)
|
||||
@@ -85,7 +95,7 @@ struct display
|
||||
struct win *d_other; /* pointer to other window */
|
||||
int d_nonblock; /* -1 don't block if obufmax reached */
|
||||
/* >0: block after nonblock secs */
|
||||
- char d_termname[20 + 1]; /* $TERM */
|
||||
+ char d_termname[NAME_MAX + 1]; /* $TERM */
|
||||
char *d_tentry; /* buffer for tgetstr */
|
||||
char d_tcinited; /* termcap inited flag */
|
||||
int d_width, d_height; /* width/height of the screen */
|
||||
diff --git a/screen.c b/screen.c
|
||||
index 70741df..6f45b60 100644
|
||||
--- a/screen.c
|
||||
+++ b/screen.c
|
||||
@@ -106,6 +106,16 @@ FILE *dfp;
|
||||
#endif
|
||||
|
||||
|
||||
+#include <limits.h>
|
||||
+
|
||||
+#ifndef NAME_MAX
|
||||
+# ifndef MAXNAMELEN
|
||||
+# define NAME_MAX 255
|
||||
+# else
|
||||
+# define NAME_MAX MAXNAMELEN
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
extern char Term[], screenterm[], **environ, Termcap[];
|
||||
int force_vt = 1;
|
||||
int VBellWait, MsgWait, MsgMinWait, SilenceWait;
|
||||
@@ -877,13 +887,13 @@ char **av;
|
||||
|
||||
if (home == 0 || *home == '\0')
|
||||
home = ppp->pw_dir;
|
||||
- if (strlen(LoginName) > 20)
|
||||
+ if (strlen(LoginName) > NAME_MAX)
|
||||
Panic(0, "LoginName too long - sorry.");
|
||||
#ifdef MULTIUSER
|
||||
- if (multi && strlen(multi) > 20)
|
||||
+ if (multi && strlen(multi) > NAME_MAX)
|
||||
Panic(0, "Screen owner name too long - sorry.");
|
||||
#endif
|
||||
- if (strlen(home) > MAXPATHLEN - 25)
|
||||
+ if (strlen(home) > MAXPATHLEN - NAME_MAX)
|
||||
Panic(0, "$HOME too long - sorry.");
|
||||
|
||||
attach_tty = "";
|
||||
diff --git a/screen.h b/screen.h
|
||||
index 4f9f354..bcaaaf6 100644
|
||||
--- a/screen.h
|
||||
+++ b/screen.h
|
||||
@@ -43,6 +43,15 @@
|
||||
#include "comm.h"
|
||||
#include "layer.h"
|
||||
#include "term.h"
|
||||
+#include <limits.h>
|
||||
+
|
||||
+#ifndef NAME_MAX
|
||||
+# ifndef MAXNAMELEN
|
||||
+# define NAME_MAX 255
|
||||
+# else
|
||||
+# define NAME_MAX MAXNAMELEN
|
||||
+# endif
|
||||
+#endif
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
@@ -195,26 +204,26 @@ struct msg
|
||||
create;
|
||||
struct
|
||||
{
|
||||
- char auser[20 + 1]; /* username */
|
||||
+ char auser[NAME_MAX + 1]; /* username */
|
||||
int apid; /* pid of frontend */
|
||||
int adaptflag; /* adapt window size? */
|
||||
int lines, columns; /* display size */
|
||||
char preselect[20];
|
||||
int esc; /* his new escape character unless -1 */
|
||||
int meta_esc; /* his new meta esc character unless -1 */
|
||||
- char envterm[20 + 1]; /* terminal type */
|
||||
+ char envterm[NAME_MAX + 1]; /* terminal type */
|
||||
int encoding; /* encoding of display */
|
||||
}
|
||||
attach;
|
||||
struct
|
||||
{
|
||||
- char duser[20 + 1]; /* username */
|
||||
+ char duser[NAME_MAX + 1]; /* username */
|
||||
int dpid; /* pid of frontend */
|
||||
}
|
||||
detach;
|
||||
struct
|
||||
{
|
||||
- char auser[20 + 1]; /* username */
|
||||
+ char auser[NAME_MAX + 1]; /* username */
|
||||
int nargs;
|
||||
char cmd[MAXPATHLEN]; /* command */
|
||||
int apid; /* pid of frontend */
|
||||
diff --git a/socket.c b/socket.c
|
||||
index 62a73af..1cc9c27 100644
|
||||
--- a/socket.c
|
||||
+++ b/socket.c
|
||||
@@ -45,6 +45,16 @@
|
||||
|
||||
#include "extern.h"
|
||||
|
||||
+#include <limits.h>
|
||||
+
|
||||
+#ifndef NAME_MAX
|
||||
+# ifndef MAXNAMELEN
|
||||
+# define NAME_MAX 255
|
||||
+# else
|
||||
+# define NAME_MAX MAXNAMELEN
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
static int CheckPid __P((int));
|
||||
static void ExecCreate __P((struct msg *));
|
||||
static void DoCommandMsg __P((struct msg *));
|
||||
@@ -1248,7 +1258,7 @@ static void PasswordProcessInput __P((char *, int));
|
||||
|
||||
struct pwdata {
|
||||
int l;
|
||||
- char buf[20 + 1];
|
||||
+ char buf[NAME_MAX + 1];
|
||||
struct msg m;
|
||||
};
|
||||
|
@ -1,31 +0,0 @@
|
||||
--- ansi.c.orig 2003-09-08 10:24:44.000000000 -0400
|
||||
+++ ansi.c 2003-11-29 10:41:15.000000000 -0500
|
||||
@@ -559,7 +559,7 @@
|
||||
{
|
||||
case '0': case '1': case '2': case '3': case '4':
|
||||
case '5': case '6': case '7': case '8': case '9':
|
||||
- if (curr->w_NumArgs < MAXARGS)
|
||||
+ if (curr->w_NumArgs >= 0 && curr->w_NumArgs < MAXARGS)
|
||||
{
|
||||
if (curr->w_args[curr->w_NumArgs] < 100000000)
|
||||
curr->w_args[curr->w_NumArgs] =
|
||||
--- resize.c.orig 2003-09-08 10:26:31.000000000 -0400
|
||||
+++ resize.c 2003-11-29 10:41:50.000000000 -0500
|
||||
@@ -682,6 +682,17 @@
|
||||
if (wi == 0)
|
||||
he = hi = 0;
|
||||
|
||||
+ if (wi > 1000)
|
||||
+ {
|
||||
+ Msg(0, "Window width too large, truncated");
|
||||
+ wi = 1000;
|
||||
+ }
|
||||
+ if (he > 1000)
|
||||
+ {
|
||||
+ Msg(0, "Window height too large, truncated");
|
||||
+ he = 1000;
|
||||
+ }
|
||||
+
|
||||
if (p->w_width == wi && p->w_height == he && p->w_histheight == hi)
|
||||
{
|
||||
debug("ChangeWindowSize: No change.\n");
|
@ -1,13 +0,0 @@
|
||||
--- screen-4.0.1/configure.in 2003-06-03 07:58:24.000000000 -0400
|
||||
+++ screen-4.0.1/configure.in.agriffis 2004-01-13 12:07:37.000000000 -0500
|
||||
@@ -1206,7 +1206,9 @@
|
||||
rm -f /tmp/conftest*
|
||||
|
||||
AC_MSG_CHECKING(for vsprintf)
|
||||
-AC_TRY_LINK(,[vsprintf(0,0,0);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no))
|
||||
+AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);],
|
||||
+ [AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS)],
|
||||
+ [AC_MSG_RESULT(no)])
|
||||
|
||||
AC_HEADER_DIRENT
|
||||
|
@ -1,14 +0,0 @@
|
||||
compability for sys-devel/autoconf-2.62
|
||||
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=217311
|
||||
|
||||
--- screen/config.h.in
|
||||
+++ screen/config.h.in
|
||||
@@ -563,7 +563,6 @@
|
||||
* If you are on a SYS V machine that restricts filename length to 14
|
||||
* characters, you may need to enforce that by setting NAME_MAX to 14
|
||||
*/
|
||||
-#undef NAME_MAX /* KEEP_UNDEF_HERE override system value */
|
||||
#undef NAME_MAX
|
||||
|
||||
/*
|
@ -1,20 +0,0 @@
|
||||
--- screen-4.0.3/Makefile.in
|
||||
+++ screen-4.0.3/Makefile.in
|
||||
@@ -68,7 +68,7 @@
|
||||
$(CC) $(LDFLAGS) -o $@ $(OFILES) $(LIBS)
|
||||
|
||||
.c.o:
|
||||
- $(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(DEFS) $(OPTIONS) $(CFLAGS) $<
|
||||
+ $(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(DEFS) $(OPTIONS) $(CPPFLAGS) $(CFLAGS) $<
|
||||
|
||||
install_bin: .version screen
|
||||
-if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f $(DESTDIR)$(bindir)/$(SCREEN).old ]; \
|
||||
@@ -122,7 +122,7 @@
|
||||
sh $(srcdir)/tty.sh tty.c
|
||||
|
||||
comm.h: comm.c comm.sh config.h
|
||||
- AWK=$(AWK) CC="$(CC) $(CFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh
|
||||
+ AWK=$(AWK) CC="$(CC) $(CFLAGS) $(CPPFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh
|
||||
|
||||
osdef.h: osdef.sh config.h osdef.h.in
|
||||
CPP="$(CPP) $(CPPFLAGS)" srcdir=${srcdir} sh $(srcdir)/osdef.sh
|
@ -1,598 +0,0 @@
|
||||
--- configure.in~ 2008-11-23 17:43:48.000000000 +0000
|
||||
+++ configure.in 2008-11-23 17:43:48.000000000 +0000
|
||||
@@ -46,6 +46,7 @@
|
||||
AC_PROG_GCC_TRADITIONAL
|
||||
AC_ISC_POSIX
|
||||
|
||||
+AC_MSG_CHECKING([for compiler sanity])
|
||||
AC_TRY_RUN(main(){exit(0);},,[
|
||||
if test $CC != cc ; then
|
||||
AC_NOTE(Your $CC failed - restarting with CC=cc)
|
||||
@@ -54,22 +55,17 @@
|
||||
export CC
|
||||
exec $0 $configure_args
|
||||
fi
|
||||
-])
|
||||
-
|
||||
-AC_TRY_RUN(main(){exit(0);},,
|
||||
-exec 5>&2
|
||||
-eval $ac_link
|
||||
-AC_NOTE(CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;)
|
||||
-AC_NOTE($ac_compile)
|
||||
-AC_MSG_ERROR(Can't run the compiler - sorry))
|
||||
+],AC_MSG_WARN([skipping test due to crosscompilation]))
|
||||
|
||||
+AC_MSG_CHECKING([if compiler sets exit status])
|
||||
AC_TRY_RUN([
|
||||
main()
|
||||
{
|
||||
int __something_strange_();
|
||||
__something_strange_(0);
|
||||
}
|
||||
-],AC_MSG_ERROR(Your compiler does not set the exit status - sorry))
|
||||
+],AC_MSG_ERROR(Your compiler does not set the exit status - sorry),,
|
||||
+AC_MSG_WARN(skipping test due to crosscompilation))
|
||||
|
||||
AC_PROG_AWK
|
||||
|
||||
@@ -103,6 +99,7 @@
|
||||
dnl
|
||||
dnl **** special unix variants ****
|
||||
dnl
|
||||
+AH_TEMPLATE(ISC,[])
|
||||
if test -n "$ISC"; then
|
||||
AC_DEFINE(ISC) LIBS="$LIBS -linet"
|
||||
fi
|
||||
@@ -114,11 +111,13 @@
|
||||
dnl fi
|
||||
dnl fi
|
||||
|
||||
+AH_TEMPLATE([sysV68],[])
|
||||
if test -f /sysV68 ; then
|
||||
AC_DEFINE(sysV68)
|
||||
fi
|
||||
|
||||
AC_CHECKING(for MIPS)
|
||||
+AH_TEMPLATE([MIPS],[])
|
||||
if test -f /lib/libmld.a || test -f /usr/lib/libmld.a || test -f /usr/lib/cmplrs/cc/libmld.a; then
|
||||
oldlibs="$LIBS"
|
||||
test -f /bin/mx || LIBS="$LIBS -lmld" # for nlist. But not on alpha.
|
||||
@@ -132,6 +131,8 @@
|
||||
AC_CHECKING(wait3)
|
||||
AC_TRY_LINK(,[wait3();], ,
|
||||
AC_CHECKING(wait2)
|
||||
+AH_TEMPLATE([USE_WAIT2],[On RISCOS we prefer wait2() over wait3(). rouilj@sni-usa.com])
|
||||
+dnl TODO(Hannes) shipped config.h.in wraps the define in #ifdef BSDWAIT
|
||||
AC_TRY_LINK(,[wait2();],
|
||||
dnl John Rouillard (rouilj@sni-usa.com):
|
||||
dnl need -I/usr/include/bsd in RISCOS otherwise sockets are broken, no
|
||||
@@ -154,9 +155,11 @@
|
||||
oldlibs="$LIBS"
|
||||
LIBS="$LIBS -lpyr"
|
||||
AC_CHECKING(Pyramid OSX)
|
||||
+AH_TEMPLATE([OSX], [Pyramid OSX])
|
||||
AC_TRY_LINK(,[open_controlling_pty("")], AC_DEFINE(OSX), LIBS="$oldlibs")
|
||||
fi
|
||||
|
||||
+AH_TEMPLATE([POSIX],[Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).])
|
||||
dnl ghazi@caip.rutgers.edu (Kaveh R. Ghazi):
|
||||
dnl BBN butterfly is not POSIX, but a MACH BSD system.
|
||||
dnl Do not define POSIX and TERMIO.
|
||||
@@ -183,6 +186,7 @@
|
||||
fi
|
||||
|
||||
AC_CHECKING(for System V)
|
||||
+AH_TEMPLATE([SYSV], [Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)])
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
@@ -226,6 +230,9 @@
|
||||
dnl
|
||||
|
||||
AC_CHECKING(BSD job jontrol)
|
||||
+AH_TEMPLATE([BSDJOBS],
|
||||
+[Define BSDJOBS if you have BSD-style job control (both process
|
||||
+ groups and a tty that deals correctly with them)])
|
||||
AC_TRY_LINK(
|
||||
[#include <sys/types.h>
|
||||
#include <sys/ioctl.h>
|
||||
@@ -246,6 +253,10 @@
|
||||
dnl **** setreuid(), seteuid() ****
|
||||
dnl
|
||||
AC_CHECKING(setreuid)
|
||||
+AH_TEMPLATE([HAVE_SETREUID],
|
||||
+[If your system has the calls setreuid() and setregid(),
|
||||
+ define HAVE_SETREUID. Otherwise screen will use a forked process to
|
||||
+ safely create output files without retaining any special privileges.])
|
||||
AC_TRY_LINK(,[
|
||||
#ifdef __hpux
|
||||
setresuid(0, 0, 0);
|
||||
@@ -260,6 +271,9 @@
|
||||
dnl Solaris seteuid doesn't change the saved uid, bad for
|
||||
dnl multiuser screen sessions
|
||||
AC_CHECKING(seteuid)
|
||||
+AH_TEMPLATE([HAVE_SETEUID],
|
||||
+[If your system supports BSD4.4's seteuid() and setegid(), define
|
||||
+ HAVE_SETEUID.])
|
||||
AC_TRY_LINK(,[
|
||||
#if defined(linux) || defined(NeXT) || defined(_AUX_SOURCE) || defined(AUX) || defined(ultrix) || (defined(sun) && defined(SVR4)) || defined(ISC) || defined(sony_news)
|
||||
seteuid_is_broken(0);
|
||||
@@ -284,6 +298,8 @@
|
||||
dnl
|
||||
|
||||
AC_CHECKING(fifos)
|
||||
+AC_CACHE_CHECK([usable fifos],
|
||||
+ [screen_cv_sys_fifo_usable],
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
@@ -348,12 +364,15 @@
|
||||
exit(1);
|
||||
exit(0);
|
||||
}
|
||||
-], AC_NOTE(- your fifos are usable) fifo=1,
|
||||
-AC_NOTE(- your fifos are not usable))
|
||||
+], screen_cv_sys_fifo_usable=yes, screen_cv_sys_fifo_usable=no))
|
||||
rm -f /tmp/conftest*
|
||||
|
||||
-if test -n "$fifo"; then
|
||||
-AC_CHECKING(for broken fifo implementation)
|
||||
+if test X"$screen_cv_sys_fifo_usable" = Xyes; then
|
||||
+AH_TEMPLATE([BROKEN_PIPE],
|
||||
+[Define this if your system exits select() immediatly if a pipe is
|
||||
+ opened read-only and no writer has opened it.])
|
||||
+AC_CACHE_CHECK([broken fifo implementation],
|
||||
+ [screen_cv_sys_fifo_broken_impl],
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
@@ -398,9 +416,12 @@
|
||||
exit(1);
|
||||
exit(0);
|
||||
}
|
||||
-], AC_NOTE(- your implementation is ok),
|
||||
-AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1)
|
||||
+], screen_cv_sys_fifo_broken_impl=no,
|
||||
+screen_cv_sys_fifo_broken_impl=yes))
|
||||
+if test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then
|
||||
+ AC_DEFINE(BROKEN_PIPE)
|
||||
+fi
|
||||
rm -f /tmp/conftest*
|
||||
fi
|
||||
|
||||
dnl
|
||||
@@ -410,6 +430,8 @@
|
||||
dnl
|
||||
|
||||
AC_CHECKING(sockets)
|
||||
+AC_CACHE_CHECK([sockets are usable],
|
||||
+ [screen_cv_sys_sockets_usable],
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
@@ -460,12 +482,16 @@
|
||||
exit(1);
|
||||
exit(0);
|
||||
}
|
||||
-], AC_NOTE(- your sockets are usable) sock=1,
|
||||
-AC_NOTE(- your sockets are not usable))
|
||||
-rm -f /tmp/conftest*
|
||||
+], screen_cv_sys_sockets_usable=yes,
|
||||
+screen_cv_sys_sockets_usable=no))
|
||||
|
||||
-if test -n "$sock"; then
|
||||
+if test X"$screen_cv_sys_sockets_usable" = Xyes; then
|
||||
AC_CHECKING(socket implementation)
|
||||
+AH_TEMPLATE([SOCK_NOT_IN_FS],
|
||||
+[Define this if the unix-domain socket implementation doesn't
|
||||
+ create a socket in the filesystem.])
|
||||
+AC_CACHE_CHECK([if sockets are not stored in the filesystem],
|
||||
+ [screen_cv_sys_sockets_nofs],
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
@@ -491,22 +517,25 @@
|
||||
close(s);
|
||||
exit(0);
|
||||
}
|
||||
-],AC_NOTE(- you are normal),
|
||||
-AC_NOTE(- unix domain sockets are not kept in the filesystem)
|
||||
-AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1)
|
||||
-rm -f /tmp/conftest*
|
||||
+], screen_cv_sys_sockets_nofs=no,
|
||||
+screen_cv_sys_sockets_nofs=yes))
|
||||
+
|
||||
+if test X"$screen_cv_sys_sockets_nofs" = Xyes; then
|
||||
+ AC_DEFINE(SOCK_NOT_IN_FS)
|
||||
+fi
|
||||
fi
|
||||
|
||||
|
||||
dnl
|
||||
dnl **** choose sockets or fifos ****
|
||||
dnl
|
||||
-if test -n "$fifo"; then
|
||||
- if test -n "$sock"; then
|
||||
- if test -n "$nore"; then
|
||||
+AH_TEMPLATE([NAMEDPIPE], [Define this if your system supports named pipes.])
|
||||
+if test X"$screen_cv_sys_fifo_usable" = Xyes; then
|
||||
+ if test X"$screen_cv_sys_sockets_usable" = Xyes; then
|
||||
+ if test X"$screen_cv_sys_sockets_nofs" = Xyes; then
|
||||
AC_NOTE(- hmmm... better take the fifos)
|
||||
AC_DEFINE(NAMEDPIPE)
|
||||
- elif test -n "$fifobr"; then
|
||||
+ elif test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then
|
||||
AC_NOTE(- as your fifos are broken lets use the sockets.)
|
||||
else
|
||||
AC_NOTE(- both sockets and fifos usable. let's take fifos.)
|
||||
@@ -516,7 +545,7 @@
|
||||
AC_NOTE(- using named pipes, of course)
|
||||
AC_DEFINE(NAMEDPIPE)
|
||||
fi
|
||||
-elif test -n "$sock"; then
|
||||
+elif test X"$screen_cv_sys_sockets_usable" = Xyes; then
|
||||
AC_NOTE(- using unix-domain sockets, of course)
|
||||
else
|
||||
AC_MSG_ERROR(you have neither usable sockets nor usable pipes -> no screen)
|
||||
@@ -526,7 +555,11 @@
|
||||
dnl **** check the select implementation ****
|
||||
dnl
|
||||
|
||||
-AC_CHECKING(select return value)
|
||||
+AH_TEMPLATE([SELECT_BROKEN],
|
||||
+[If the select return value doesn't treat a descriptor that is
|
||||
+ usable for reading and writing as two hits, define SELECT_BROKEN.])
|
||||
+AC_CACHE_CHECK([for broken select return value],
|
||||
+ [screen_cv_sys_select_broken_retval],
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
@@ -625,17 +658,26 @@
|
||||
exit(1);
|
||||
exit(0);
|
||||
}
|
||||
-],AC_NOTE(- select is ok),
|
||||
-AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN))
|
||||
+], screen_cv_sys_select_broken_retval=no,
|
||||
+screen_cv_sys_select_broken_retval=yes))
|
||||
+if test X"$screen_cv_sys_select_broken_retval" = Xyes; then
|
||||
+ AC_DEFINE(SELECT_BROKEN)
|
||||
+fi
|
||||
|
||||
dnl
|
||||
dnl **** termcap or terminfo ****
|
||||
dnl
|
||||
+AH_TEMPLATE([TERMINFO],
|
||||
+[Define TERMINFO if your machine emulates the termcap routines
|
||||
+ with the terminfo database.
|
||||
+ Thus the .screenrc file is parsed for
|
||||
+ the command 'terminfo' and not 'termcap'])
|
||||
+
|
||||
AC_CHECKING(for tgetent)
|
||||
AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
|
||||
olibs="$LIBS"
|
||||
-LIBS="-lcurses $olibs"
|
||||
AC_CHECKING(libcurses)
|
||||
+AC_CHECK_LIB(ncursesw,tgetent)
|
||||
AC_TRY_LINK(,[
|
||||
#ifdef __hpux
|
||||
__sorry_hpux_libcurses_is_totally_broken_in_10_10();
|
||||
@@ -654,24 +696,39 @@
|
||||
AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
|
||||
AC_MSG_ERROR(!!! no tgetent - no screen))))))
|
||||
|
||||
-AC_TRY_RUN([
|
||||
+AC_CACHE_CHECK([using terminfo database],[screen_cv_sys_terminfo_used],
|
||||
+ AC_TRY_RUN([
|
||||
main()
|
||||
{
|
||||
exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
|
||||
-}], AC_NOTE(- you use the termcap database),
|
||||
-AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO))
|
||||
+}
|
||||
+ ], screen_cv_sys_terminfo_used=no,
|
||||
+ screen_cv_sys_terminfo_used=yes)
|
||||
+)
|
||||
+
|
||||
+if test X"$screen_cv_sys_terminfo_used" = Xyes; then
|
||||
+ AC_DEFINE(TERMINFO)
|
||||
+fi
|
||||
+
|
||||
AC_CHECKING(ospeed)
|
||||
+AH_TEMPLATE([NEED_OSPEED],[If your library does not define ospeed, define this.])
|
||||
AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED))
|
||||
|
||||
dnl
|
||||
dnl **** PTY specific things ****
|
||||
dnl
|
||||
+AH_TEMPLATE([HAVE_DEV_PTC],
|
||||
+[define HAVE_DEV_PTC if you have a /dev/ptc character special
|
||||
+ device.])
|
||||
AC_CHECKING(for /dev/ptc)
|
||||
if test -r /dev/ptc; then
|
||||
AC_DEFINE(HAVE_DEV_PTC)
|
||||
fi
|
||||
|
||||
AC_CHECKING(for SVR4 ptys)
|
||||
+AH_TEMPLATE([HAVE_SVR4_PTYS],
|
||||
+[define HAVE_SVR4_PTYS if you have a /dev/ptmx character special
|
||||
+ device and support the ptsname(), grantpt(), unlockpt() functions.])
|
||||
sysvr4ptys=
|
||||
if test -c /dev/ptmx ; then
|
||||
AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS)
|
||||
@@ -687,6 +744,13 @@
|
||||
fi
|
||||
|
||||
AC_CHECKING(for ptyranges)
|
||||
+AH_TEMPLATE([PTYRANGE0],
|
||||
+[define PTYRANGE0 and or PTYRANGE1 if you want to adapt screen
|
||||
+ to unusual environments. E.g. For SunOs the defaults are "qpr" and
|
||||
+ "0123456789abcdef". For SunOs 4.1.2
|
||||
+ #define PTYRANGE0 "pqrstuvwxyzPQRST"
|
||||
+ is recommended by Dan Jacobson.])
|
||||
+AH_TEMPLATE([PTYRANGE1],[])
|
||||
if test -d /dev/ptym ; then
|
||||
pdir='/dev/ptym'
|
||||
else
|
||||
@@ -850,20 +914,39 @@
|
||||
dnl
|
||||
dnl **** loadav ****
|
||||
dnl
|
||||
+
|
||||
+AH_TEMPLATE([LOADAV],
|
||||
+[If you want the "time" command to display the current load average
|
||||
+ define LOADAV. Maybe you must install screen with the needed
|
||||
+ privileges to read /dev/kmem.
|
||||
+ Note that NLIST_ stuff is only checked, when getloadavg() is not available.
|
||||
+])
|
||||
+AH_TEMPLATE([LOADAV_NUM])
|
||||
+AH_TEMPLATE([LOADAV_TYPE])
|
||||
+AH_TEMPLATE([LOADAV_SCALE])
|
||||
+AH_TEMPLATE([LOADAV_GETLOADAVG])
|
||||
+AH_TEMPLATE([LOADAV_UNIX])
|
||||
+AH_TEMPLATE([LOADAV_AVENRUN])
|
||||
+AH_TEMPLATE([LOADAV_USE_NLIST64])
|
||||
+
|
||||
+AH_TEMPLATE([NLIST_DECLARED])
|
||||
+AH_TEMPLATE([NLIST_STRUCT])
|
||||
+AH_TEMPLATE([NLIST_NAME_UNION])
|
||||
+
|
||||
AC_CHECKING(for libutil(s))
|
||||
-test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils"
|
||||
-test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil"
|
||||
+dnl I have no idea whether "login" is an appropriate symbol to check for here - Hannes
|
||||
+AC_CHECK_LIB(utils,login)
|
||||
+AC_CHECK_LIB(util,login)
|
||||
|
||||
AC_CHECKING(getloadavg)
|
||||
AC_TRY_LINK(,[getloadavg((double *)0, 0);],
|
||||
AC_DEFINE(LOADAV_GETLOADAVG) load=1,
|
||||
-if test -f /usr/lib/libkvm.a ; then
|
||||
olibs="$LIBS"
|
||||
-LIBS="$LIBS -lkvm"
|
||||
+AC_CHECK_LIB(kvm,kvm_open,
|
||||
AC_CHECKING(getloadavg with -lkvm)
|
||||
AC_TRY_LINK(,[getloadavg((double *)0, 0);],
|
||||
AC_DEFINE(LOADAV_GETLOADAVG) load=1, LIBS="$olibs")
|
||||
-fi
|
||||
+)
|
||||
)
|
||||
|
||||
if test -z "$load" ; then
|
||||
@@ -1005,6 +1088,11 @@
|
||||
dnl
|
||||
dnl **** signal handling ****
|
||||
dnl
|
||||
+
|
||||
+AH_TEMPLATE([SIGVOID],
|
||||
+[Define SIGVOID if your signal handlers return void. On older
|
||||
+ systems, signal returns int, but on newer ones, it returns void.])
|
||||
+
|
||||
if test -n "$posix" ; then
|
||||
|
||||
dnl POSIX has reliable signals with void return type.
|
||||
@@ -1014,6 +1102,7 @@
|
||||
else
|
||||
|
||||
AC_CHECKING(return type of signal handlers)
|
||||
+AH_TEMPLATE([USESIGSET], [Define USESIGSET if you have sigset for BSD 4.1 reliable signals.])
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
@@ -1033,6 +1122,9 @@
|
||||
#endif
|
||||
], AC_DEFINE(USESIGSET))
|
||||
AC_CHECKING(signal implementation)
|
||||
+AH_TEMPLATE([SYSVSIGS],
|
||||
+[Define SYSVSIGS if signal handlers must be reinstalled after
|
||||
+ they have been called.])
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
@@ -1075,13 +1167,14 @@
|
||||
dnl
|
||||
|
||||
AC_CHECKING(for crypt and sec libraries)
|
||||
-test -f /lib/libcrypt_d.a || test -f /usr/lib/libcrypt_d.a && LIBS="$LIBS -lcrypt_d"
|
||||
+dnl I have no idea whether "crypt" is an appropriate symbol to check for here - Hannes
|
||||
+AC_CHECK_LIB(crypt_d,crypt)
|
||||
oldlibs="$LIBS"
|
||||
-LIBS="$LIBS -lcrypt"
|
||||
AC_CHECKING(crypt)
|
||||
AC_TRY_LINK(,,,LIBS="$oldlibs")
|
||||
-test -f /lib/libsec.a || test -f /usr/lib/libsec.a && LIBS="$LIBS -lsec"
|
||||
-test -f /lib/libshadow.a || test -f /usr/lib/libshadow.a && LIBS="$LIBS -lshadow"
|
||||
+AC_CHECK_LIB(crypt,crypt)
|
||||
+AC_CHECK_LIB(sec,crypt)
|
||||
+AC_CHECK_LIB(shadow,getspnam)
|
||||
oldlibs="$LIBS"
|
||||
LIBS="$LIBS -lsun"
|
||||
AC_CHECKING(IRIX sun library)
|
||||
@@ -1104,6 +1197,13 @@
|
||||
dnl **** misc things ****
|
||||
dnl
|
||||
AC_CHECKING(wait union)
|
||||
+AH_TEMPLATE([BSDWAIT],
|
||||
+[Define BSDWAIT if your system defines a 'union wait' in <sys/wait.h>
|
||||
+
|
||||
+ Only allow BSDWAIT i.e. wait3 on nonposix systems, since
|
||||
+ posix implies wait(3) and waitpid(3). vdlinden@fwi.uva.nl
|
||||
+ TODO(Hannes) shipped config.h.in does that with a #ifdef
|
||||
+])
|
||||
AC_TRY_COMPILE([#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
],[
|
||||
@@ -1114,6 +1214,13 @@
|
||||
#endif
|
||||
],AC_DEFINE(BSDWAIT))
|
||||
|
||||
+AH_TEMPLATE([TERMIO],
|
||||
+[Define TERMIO if you have struct termio instead of struct sgttyb.
|
||||
+ This is usually the case for SVID systems, where BSD uses sgttyb.
|
||||
+ POSIX systems should define this anyway, even though they use
|
||||
+ struct termios.])
|
||||
+
|
||||
+
|
||||
if test -z "$butterfly"; then
|
||||
AC_CHECKING(for termio or termios)
|
||||
AC_TRY_CPP([#include <termio.h>], AC_DEFINE(TERMIO),
|
||||
@@ -1123,17 +1230,35 @@
|
||||
)
|
||||
fi
|
||||
|
||||
+AH_TEMPLATE([CYTERMIO], [Define CYTERMIO if you have cyrillic termio modes.])
|
||||
+
|
||||
dnl AC_CHECK_HEADER(shadow.h, AC_DEFINE(SHADOWPW))
|
||||
AC_CHECKING(getspnam)
|
||||
+AH_TEMPLATE([SHADOWPW],
|
||||
+[If the passwords are stored in a shadow file and you want the
|
||||
+ builtin lock to work properly, define SHADOWPW.])
|
||||
AC_TRY_LINK([#include <shadow.h>], [getspnam("x");],AC_DEFINE(SHADOWPW))
|
||||
|
||||
AC_CHECKING(getttyent)
|
||||
+AH_TEMPLATE([GETTTYENT],
|
||||
+[If your system has the new format /etc/ttys (like 4.3 BSD) and the
|
||||
+ getttyent(3) library functions, define GETTTYENT.])
|
||||
AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT))
|
||||
|
||||
AC_CHECKING(fdwalk)
|
||||
+AH_TEMPLATE([HAVE_FDWALK],
|
||||
+[Newer versions of Solaris include fdwalk, which can greatly improve
|
||||
+ the startup time of screen; otherwise screen spends a lot of time
|
||||
+ closing file descriptors.])
|
||||
AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK))
|
||||
|
||||
-AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments)
|
||||
+AH_TEMPLATE([USEBCOPY],
|
||||
+[Define USEBCOPY if the bcopy/memcpy from your system's C library
|
||||
+ supports the overlapping of source and destination blocks. When
|
||||
+ undefined, screen uses its own (probably slower) version of bcopy().])
|
||||
+
|
||||
+AC_CACHE_CHECK([if bcopy handles overlap],
|
||||
+ [screen_cv_sys_bcopy_overlap],
|
||||
AC_TRY_RUN([
|
||||
main() {
|
||||
char buf[10];
|
||||
@@ -1146,7 +1271,21 @@
|
||||
if (strncmp(buf, "cdedef", 6))
|
||||
exit(1);
|
||||
exit(0); /* libc version works properly. */
|
||||
-}], AC_DEFINE(USEBCOPY))
|
||||
+}], screen_cv_sys_bcopy_overlap=yes,
|
||||
+screen_cv_sys_bcopy_overlap=no))
|
||||
+if test X"$screen_cv_sys_bcopy_overlap" = Xyes; then
|
||||
+ AC_DEFINE(USEBCOPY)
|
||||
+fi
|
||||
+
|
||||
+AH_TEMPLATE([USEMEMMOVE],
|
||||
+[SYSV machines may have a working memcpy() -- Oh, this is
|
||||
+ quite unlikely. Tell me if you see one.
|
||||
+ "But then, memmove() should work, if at all available" he thought...
|
||||
+ Boing, never say "works everywhere" unless you checked SCO UNIX.
|
||||
+ Their memove fails the test in the configure script. Sigh. (Juergen)
|
||||
+])
|
||||
+AC_CACHE_CHECK([if memmove handles overlap],
|
||||
+ [screen_cv_sys_memmove_overlap],
|
||||
|
||||
AC_TRY_RUN([
|
||||
#define bcopy(s,d,l) memmove(d,s,l)
|
||||
@@ -1161,9 +1300,15 @@
|
||||
if (strncmp(buf, "cdedef", 6))
|
||||
exit(1);
|
||||
exit(0); /* libc version works properly. */
|
||||
-}], AC_DEFINE(USEMEMMOVE))
|
||||
-
|
||||
+}], screen_cv_sys_memmove_overlap=yes,
|
||||
+screen_cv_sys_memmove_overlap=no))
|
||||
+if test X"$screen_cv_sys_memmove_overlap" = Xyes; then
|
||||
+ AC_DEFINE(USEMEMMOVE)
|
||||
+fi
|
||||
|
||||
+AH_TEMPLATE([USEMEMCPY],[])
|
||||
+AC_CACHE_CHECK([if memcpy handles overlap],
|
||||
+ [screen_cv_sys_memcpy_overlap],
|
||||
AC_TRY_RUN([
|
||||
#define bcopy(s,d,l) memcpy(d,s,l)
|
||||
main() {
|
||||
@@ -1177,9 +1322,19 @@
|
||||
if (strncmp(buf, "cdedef", 6))
|
||||
exit(1);
|
||||
exit(0); /* libc version works properly. */
|
||||
-}], AC_DEFINE(USEMEMCPY))
|
||||
+}], screen_cv_sys_memcpy_overlap=yes,
|
||||
+screen_cv_sys_memcpy_overlap=no))
|
||||
+if test X"$screen_cv_sys_memcpy_overlap" = Xyes; then
|
||||
+ AC_DEFINE(USEMEMCPY)
|
||||
+fi
|
||||
|
||||
AC_MSG_CHECKING(long file names)
|
||||
+AH_TEMPLATE([NAME_MAX],
|
||||
+[If you are on a SYS V machine that restricts filename length to 14
|
||||
+ characters, you may need to enforce that by setting NAME_MAX to 14])
|
||||
+dnl TODO(Hannes) shipped config.h.in has
|
||||
+dnl #undef NAME_MAX /* KEEP_UNDEF_HERE override system value */
|
||||
+dnl ahead of this
|
||||
(echo 1 > /tmp/conftest9012345) 2>/dev/null
|
||||
(echo 2 > /tmp/conftest9012346) 2>/dev/null
|
||||
val=`cat /tmp/conftest9012345 2>/dev/null`
|
||||
@@ -1192,6 +1347,10 @@
|
||||
rm -f /tmp/conftest*
|
||||
|
||||
AC_MSG_CHECKING(for vsprintf)
|
||||
+AH_TEMPLATE([USEVARARGS],
|
||||
+[If your system has vsprintf() and requires the use of the macros in
|
||||
+ "varargs.h" to use functions with variable arguments,
|
||||
+ define USEVARARGS.])
|
||||
AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);],
|
||||
[AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS)],
|
||||
[AC_MSG_RESULT(no)])
|
||||
@@ -1199,12 +1358,19 @@
|
||||
AC_HEADER_DIRENT
|
||||
|
||||
AC_MSG_CHECKING(for setenv)
|
||||
+AH_TEMPLATE([USESETENV], [If your system has setenv() and unsetenv() define USESETENV])
|
||||
AC_TRY_LINK(,[setenv((char *)0,(char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes);AC_DEFINE(USESETENV),
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_CHECKING(for putenv)
|
||||
+AH_TEMPLATE([NEEDPUTENV],
|
||||
+[If your system does not come with a setenv()/putenv()/getenv()
|
||||
+ functions, you may bring in our own code by defining NEEDPUTENV.])
|
||||
AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV)
|
||||
))
|
||||
AC_MSG_CHECKING([for nl_langinfo(CODESET)])
|
||||
+AH_TEMPLATE([HAVE_NL_LANGINFO],
|
||||
+[define HAVE_NL_LANGINFO if your system has the nl_langinfo() call
|
||||
+ and <langinfo.h> defines CODESET.])
|
||||
AC_TRY_LINK([
|
||||
#include <langinfo.h>
|
||||
],[nl_langinfo(CODESET);], AC_MSG_RESULT(yes);AC_DEFINE(HAVE_NL_LANGINFO), AC_MSG_RESULT(no))
|
||||
@@ -1254,7 +1420,8 @@
|
||||
dnl Ptx bug workaround -- insert -lc after -ltermcap
|
||||
test -n "$seqptx" && LIBS="-ltermcap -lc -lsocket -linet -lnsl -lsec -lseq"
|
||||
|
||||
-AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.))
|
||||
+AC_MSG_CHECKING(compiler sanity)
|
||||
+AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.), AC_MSG_WARN(Skipping test due to crosscompilation))
|
||||
|
||||
ETCSCREENRC="\"/usr/local/etc/screenrc\""
|
||||
if test -n "$prefix"; then
|
@ -1,79 +0,0 @@
|
||||
--- configure.in.DIST 2006-10-31 21:39:07.010473000 -0800
|
||||
+++ configure.in 2006-10-31 21:43:05.630162000 -0800
|
||||
@@ -1211,15 +1211,32 @@
|
||||
AC_HEADER_DIRENT
|
||||
|
||||
AC_MSG_CHECKING(for setenv)
|
||||
-AH_TEMPLATE([USESETENV], [If your system has setenv() and unsetenv() define USESETENV])
|
||||
-AC_TRY_LINK(,[setenv((char *)0,(char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes);AC_DEFINE(USESETENV),
|
||||
-AC_MSG_RESULT(no)
|
||||
-AC_MSG_CHECKING(for putenv)
|
||||
-AH_TEMPLATE([NEEDPUTENV],
|
||||
-[If your system does not come with a setenv()/putenv()/getenv()
|
||||
- functions, you may bring in our own code by defining NEEDPUTENV.])
|
||||
-AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV)
|
||||
-))
|
||||
+if test -z "$ac_setenv_args"; then
|
||||
+ AC_TRY_LINK(
|
||||
+ [#include <stdlib.h>],
|
||||
+ [
|
||||
+ setenv((char *) 0, (char *) 0, 0);
|
||||
+ ], ac_setenv_args=3)
|
||||
+fi
|
||||
+if test -z "$ac_setenv_args"; then
|
||||
+ AC_TRY_LINK(
|
||||
+ [#include <stdlib.h>],
|
||||
+ [
|
||||
+ setenv((char *) 0, (char *) 0);
|
||||
+ ], ac_setenv_args=2)
|
||||
+fi
|
||||
+if test -n "$ac_setenv_args"; then
|
||||
+ AC_DEFINE(USESETENV)
|
||||
+ if test "$ac_setenv_args" = 3; then
|
||||
+ AC_DEFINE(HAVE_SETENV_3)
|
||||
+ elif test "$ac_setenv_args" = 2; then
|
||||
+ AC_DEFINE(HAVE_SETENV_2)
|
||||
+ fi
|
||||
+else
|
||||
+ AC_MSG_RESULT(no)
|
||||
+ AC_MSG_CHECKING(for putenv)
|
||||
+ AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV))
|
||||
+fi
|
||||
AC_MSG_CHECKING([for nl_langinfo(CODESET)])
|
||||
AH_TEMPLATE([HAVE_NL_LANGINFO],
|
||||
[define HAVE_NL_LANGINFO if your system has the nl_langinfo() call
|
||||
--- config.h.in.DIST 2006-10-31 21:43:23.233714000 -0800
|
||||
+++ config.h.in 2006-10-31 21:44:27.346275000 -0800
|
||||
@@ -548,6 +548,16 @@
|
||||
#undef USESETENV
|
||||
|
||||
/*
|
||||
+ * If setenv() takes 3 arguments define HAVE_SETENV_3
|
||||
+ */
|
||||
+#undef HAVE_SETENV_3
|
||||
+
|
||||
+/*
|
||||
+ * If setenv() takes 2 arguments define HAVE_SETENV_2
|
||||
+ */
|
||||
+#undef HAVE_SETENV_2
|
||||
+
|
||||
+/*
|
||||
* If your system does not come with a setenv()/putenv()/getenv()
|
||||
* functions, you may bring in our own code by defining NEEDPUTENV.
|
||||
*/
|
||||
--- misc.c.DIST 2006-10-31 20:55:42.481760000 -0800
|
||||
+++ misc.c 2006-10-31 21:53:24.143551000 -0800
|
||||
@@ -613,11 +613,11 @@
|
||||
*/
|
||||
# endif /* NEEDSETENV */
|
||||
#else /* USESETENV */
|
||||
-# if defined(linux) || defined(__convex__) || (BSD >= 199103)
|
||||
+# if HAVE_SETENV_3
|
||||
setenv(var, value, 1);
|
||||
# else
|
||||
setenv(var, value);
|
||||
-# endif /* linux || convex || BSD >= 199103 */
|
||||
+# endif /* HAVE_SETENV_3 */
|
||||
#endif /* USESETENV */
|
||||
}
|
||||
|
@ -1,163 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=4
|
||||
|
||||
WANT_AUTOCONF="2.5"
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs pam autotools user
|
||||
|
||||
DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
|
||||
HOMEPAGE="https://www.gnu.org/software/screen/"
|
||||
SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug nethack pam selinux multiuser"
|
||||
|
||||
DEPEND=">=sys-libs/ncurses-5.2
|
||||
pam? ( virtual/pam )"
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-screen )"
|
||||
|
||||
pkg_setup() {
|
||||
# Make sure utmp group exists, as it's used later on.
|
||||
enewgroup utmp 406
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Bug 34599: integer overflow in 4.0.1
|
||||
# (Nov 29 2003 -solar)
|
||||
epatch "${FILESDIR}"/screen-4.0.1-int-overflow-fix.patch
|
||||
|
||||
# Bug 31070: configure problem which affects alpha
|
||||
# (13 Jan 2004 agriffis)
|
||||
epatch "${FILESDIR}"/screen-4.0.1-vsprintf.patch
|
||||
|
||||
# uclibc doesnt have sys/stropts.h
|
||||
if ! (echo '#include <sys/stropts.h>' | $(tc-getCC) -E - &>/dev/null) ; then
|
||||
epatch "${FILESDIR}"/4.0.2-no-pty.patch
|
||||
fi
|
||||
|
||||
# Don't use utempter even if it is found on the system
|
||||
epatch "${FILESDIR}"/4.0.2-no-utempter.patch
|
||||
|
||||
# Don't link against libelf even if it is found on the system
|
||||
epatch "${FILESDIR}"/4.0.2-no-libelf.patch
|
||||
|
||||
# Patch for time function on 64bit systems
|
||||
epatch "${FILESDIR}"/4.0.2-64bit-time.patch
|
||||
|
||||
# Patch that makes %u work for windowlist -b formats
|
||||
epatch "${FILESDIR}"/4.0.2-windowlist-multiuser-fix.patch
|
||||
|
||||
# Open tty in non-blocking mode
|
||||
epatch "${FILESDIR}"/4.0.2-nonblock.patch
|
||||
|
||||
# compability for sys-devel/autoconf-2.62
|
||||
epatch "${FILESDIR}"/screen-4.0.3-config.h-autoconf-2.62.patch
|
||||
|
||||
# crosscompile patch
|
||||
epatch "${FILESDIR}"/"${P}"-crosscompile.patch
|
||||
|
||||
# sched.h is a system header and causes problems with some C libraries
|
||||
mv sched.h _sched.h || die
|
||||
sed -i '/include/s:sched.h:_sched.h:' screen.h || die
|
||||
|
||||
# Allow for more rendition (color/attribute) changes in status bars
|
||||
sed -i \
|
||||
-e "s:#define MAX_WINMSG_REND 16:#define MAX_WINMSG_REND 64:" \
|
||||
screen.c \
|
||||
|| die "sed screen.c failed"
|
||||
|
||||
# Fix manpage.
|
||||
sed -i \
|
||||
-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
|
||||
-e "s:/usr/local/screens:${EPREFIX}/var/run/screen:g" \
|
||||
-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
|
||||
-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
|
||||
-e "s:/local/screens/S-:${EPREFIX}/var/run/screen/S-:g" \
|
||||
doc/screen.1 \
|
||||
|| die "sed doc/screen.1 failed"
|
||||
|
||||
# proper setenv detection for Solaris
|
||||
epatch "${FILESDIR}"/${P}-setenv_autoconf.patch
|
||||
|
||||
# Allow TERM string large enough to use with rxvt-unicode-256color
|
||||
# Allow usernames up to 32 chars
|
||||
epatch "${FILESDIR}"/${PV}-extend-d_termname-ng2.patch
|
||||
|
||||
# support CPPFLAGS
|
||||
epatch "${FILESDIR}"/${P}-cppflags.patch
|
||||
|
||||
sed \
|
||||
-e 's:termlib:tinfo:g' \
|
||||
-i configure.in || die
|
||||
|
||||
# reconfigure
|
||||
eautoconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
|
||||
|
||||
[[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
|
||||
|
||||
use nethack || append-cppflags "-DNONETHACK"
|
||||
use debug && append-cppflags "-DDEBUG"
|
||||
|
||||
econf \
|
||||
--with-socket-dir="${EPREFIX}/var/run/screen" \
|
||||
--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
|
||||
--with-pty-mode=0620 \
|
||||
--with-pty-group=5 \
|
||||
--enable-rxvt_osc \
|
||||
--enable-telnet \
|
||||
--enable-colors256 \
|
||||
$(use_enable pam) \
|
||||
$(use multiuser || echo --disable-socket-dir)
|
||||
|
||||
# Second try to fix bug 12683, this time without changing term.h
|
||||
# The last try seemed to break screen at run-time.
|
||||
# (16 Jan 2003 agriffis)
|
||||
LC_ALL=POSIX make term.h || die "Failed making term.h"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin screen
|
||||
|
||||
if use multiuser || use prefix
|
||||
then
|
||||
fperms 4755 /usr/bin/screen
|
||||
else
|
||||
fowners root:utmp /usr/bin/screen
|
||||
fperms 2755 /usr/bin/screen
|
||||
fi
|
||||
|
||||
insinto /usr/share/screen
|
||||
doins terminfo/{screencap,screeninfo.src}
|
||||
insinto /usr/share/screen/utf8encodings
|
||||
doins utf8encodings/??
|
||||
insinto /etc
|
||||
doins "${FILESDIR}"/screenrc
|
||||
|
||||
pamd_mimic_system screen auth
|
||||
|
||||
dodoc \
|
||||
README ChangeLog INSTALL TODO NEWS* patchlevel.h \
|
||||
doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
|
||||
|
||||
doman doc/screen.1
|
||||
doinfo doc/screen.info*
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} ]]
|
||||
then
|
||||
elog "Some dangerous key bindings have been removed or changed to more safe values."
|
||||
elog "We enable some xterm hacks in our default screenrc, which might break some"
|
||||
elog "applications. Please check /etc/screenrc for information on these changes."
|
||||
fi
|
||||
}
|
@ -1,163 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=4
|
||||
|
||||
WANT_AUTOCONF="2.5"
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs pam autotools user
|
||||
|
||||
DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
|
||||
HOMEPAGE="https://www.gnu.org/software/screen/"
|
||||
SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug nethack pam selinux multiuser"
|
||||
|
||||
DEPEND=">=sys-libs/ncurses-5.2
|
||||
pam? ( virtual/pam )"
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-screen )"
|
||||
|
||||
pkg_setup() {
|
||||
# Make sure utmp group exists, as it's used later on.
|
||||
enewgroup utmp 406
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Bug 34599: integer overflow in 4.0.1
|
||||
# (Nov 29 2003 -solar)
|
||||
epatch "${FILESDIR}"/screen-4.0.1-int-overflow-fix.patch
|
||||
|
||||
# Bug 31070: configure problem which affects alpha
|
||||
# (13 Jan 2004 agriffis)
|
||||
epatch "${FILESDIR}"/screen-4.0.1-vsprintf.patch
|
||||
|
||||
# uclibc doesnt have sys/stropts.h
|
||||
if ! (echo '#include <sys/stropts.h>' | $(tc-getCC) -E - &>/dev/null) ; then
|
||||
epatch "${FILESDIR}"/4.0.2-no-pty.patch
|
||||
fi
|
||||
|
||||
# Don't use utempter even if it is found on the system
|
||||
epatch "${FILESDIR}"/4.0.2-no-utempter.patch
|
||||
|
||||
# Don't link against libelf even if it is found on the system
|
||||
epatch "${FILESDIR}"/4.0.2-no-libelf.patch
|
||||
|
||||
# Patch for time function on 64bit systems
|
||||
epatch "${FILESDIR}"/4.0.2-64bit-time.patch
|
||||
|
||||
# Patch that makes %u work for windowlist -b formats
|
||||
epatch "${FILESDIR}"/4.0.2-windowlist-multiuser-fix.patch
|
||||
|
||||
# Open tty in non-blocking mode
|
||||
epatch "${FILESDIR}"/4.0.2-nonblock.patch
|
||||
|
||||
# compability for sys-devel/autoconf-2.62
|
||||
epatch "${FILESDIR}"/screen-4.0.3-config.h-autoconf-2.62.patch
|
||||
|
||||
# crosscompile patch
|
||||
epatch "${FILESDIR}"/"${P}"-crosscompile.patch
|
||||
|
||||
# sched.h is a system header and causes problems with some C libraries
|
||||
mv sched.h _sched.h || die
|
||||
sed -i '/include/s:sched.h:_sched.h:' screen.h || die
|
||||
|
||||
# Allow for more rendition (color/attribute) changes in status bars
|
||||
sed -i \
|
||||
-e "s:#define MAX_WINMSG_REND 16:#define MAX_WINMSG_REND 64:" \
|
||||
screen.c \
|
||||
|| die "sed screen.c failed"
|
||||
|
||||
# Fix manpage.
|
||||
sed -i \
|
||||
-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
|
||||
-e "s:/usr/local/screens:${EPREFIX}/var/run/screen:g" \
|
||||
-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
|
||||
-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
|
||||
-e "s:/local/screens/S-:${EPREFIX}/var/run/screen/S-:g" \
|
||||
doc/screen.1 \
|
||||
|| die "sed doc/screen.1 failed"
|
||||
|
||||
# proper setenv detection for Solaris
|
||||
epatch "${FILESDIR}"/${P}-setenv_autoconf.patch
|
||||
|
||||
# Allow TERM string large enough to use with rxvt-unicode-256color
|
||||
# Allow usernames up to 32 chars
|
||||
epatch "${FILESDIR}"/${PV}-extend-d_termname-ng2.patch
|
||||
|
||||
# support CPPFLAGS
|
||||
epatch "${FILESDIR}"/${P}-cppflags.patch
|
||||
|
||||
sed \
|
||||
-e 's:termlib:tinfo:g' \
|
||||
-i configure.in || die
|
||||
|
||||
# reconfigure
|
||||
eautoconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
|
||||
|
||||
[[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
|
||||
|
||||
use nethack || append-cppflags "-DNONETHACK"
|
||||
use debug && append-cppflags "-DDEBUG"
|
||||
|
||||
econf \
|
||||
--with-socket-dir="${EPREFIX}/var/run/screen" \
|
||||
--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
|
||||
--with-pty-mode=0620 \
|
||||
--with-pty-group=5 \
|
||||
--enable-rxvt_osc \
|
||||
--enable-telnet \
|
||||
--enable-colors256 \
|
||||
$(use_enable pam) \
|
||||
$(use multiuser || echo --disable-socket-dir)
|
||||
|
||||
# Second try to fix bug 12683, this time without changing term.h
|
||||
# The last try seemed to break screen at run-time.
|
||||
# (16 Jan 2003 agriffis)
|
||||
LC_ALL=POSIX make term.h || die "Failed making term.h"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin screen
|
||||
|
||||
if use multiuser || use prefix
|
||||
then
|
||||
fperms 4755 /usr/bin/screen
|
||||
else
|
||||
fowners root:utmp /usr/bin/screen
|
||||
fperms 2755 /usr/bin/screen
|
||||
fi
|
||||
|
||||
insinto /usr/share/screen
|
||||
doins terminfo/{screencap,screeninfo.src}
|
||||
insinto /usr/share/screen/utf8encodings
|
||||
doins utf8encodings/??
|
||||
insinto /etc
|
||||
doins "${FILESDIR}"/screenrc
|
||||
|
||||
pamd_mimic_system screen auth
|
||||
|
||||
dodoc \
|
||||
README ChangeLog INSTALL TODO NEWS* patchlevel.h \
|
||||
doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
|
||||
|
||||
doman doc/screen.1
|
||||
doinfo doc/screen.info*
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} ]]
|
||||
then
|
||||
elog "Some dangerous key bindings have been removed or changed to more safe values."
|
||||
elog "We enable some xterm hacks in our default screenrc, which might break some"
|
||||
elog "applications. Please check /etc/screenrc for information on these changes."
|
||||
fi
|
||||
}
|
@ -1,173 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=4
|
||||
|
||||
WANT_AUTOCONF="2.5"
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs pam autotools user
|
||||
|
||||
DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
|
||||
HOMEPAGE="https://www.gnu.org/software/screen/"
|
||||
SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug nethack pam selinux multiuser"
|
||||
|
||||
DEPEND=">=sys-libs/ncurses-5.2
|
||||
pam? ( virtual/pam )"
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-screen )
|
||||
!<sys-apps/openrc-0.11.6"
|
||||
|
||||
pkg_setup() {
|
||||
# Make sure utmp group exists, as it's used later on.
|
||||
enewgroup utmp 406
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Bug 34599: integer overflow in 4.0.1
|
||||
# (Nov 29 2003 -solar)
|
||||
epatch "${FILESDIR}"/screen-4.0.1-int-overflow-fix.patch
|
||||
|
||||
# Bug 31070: configure problem which affects alpha
|
||||
# (13 Jan 2004 agriffis)
|
||||
epatch "${FILESDIR}"/screen-4.0.1-vsprintf.patch
|
||||
|
||||
# uclibc doesnt have sys/stropts.h
|
||||
if ! (echo '#include <sys/stropts.h>' | $(tc-getCC) -E - &>/dev/null) ; then
|
||||
epatch "${FILESDIR}"/4.0.2-no-pty.patch
|
||||
fi
|
||||
|
||||
# Don't use utempter even if it is found on the system
|
||||
epatch "${FILESDIR}"/4.0.2-no-utempter.patch
|
||||
|
||||
# Don't link against libelf even if it is found on the system
|
||||
epatch "${FILESDIR}"/4.0.2-no-libelf.patch
|
||||
|
||||
# Patch for time function on 64bit systems
|
||||
epatch "${FILESDIR}"/4.0.2-64bit-time.patch
|
||||
|
||||
# Patch that makes %u work for windowlist -b formats
|
||||
epatch "${FILESDIR}"/4.0.2-windowlist-multiuser-fix.patch
|
||||
|
||||
# Open tty in non-blocking mode
|
||||
epatch "${FILESDIR}"/4.0.2-nonblock.patch
|
||||
|
||||
# compability for sys-devel/autoconf-2.62
|
||||
epatch "${FILESDIR}"/screen-4.0.3-config.h-autoconf-2.62.patch
|
||||
|
||||
# crosscompile patch
|
||||
epatch "${FILESDIR}"/"${P}"-crosscompile.patch
|
||||
|
||||
# sched.h is a system header and causes problems with some C libraries
|
||||
mv sched.h _sched.h || die
|
||||
sed -i '/include/s:sched.h:_sched.h:' screen.h || die
|
||||
|
||||
# Allow for more rendition (color/attribute) changes in status bars
|
||||
sed -i \
|
||||
-e "s:#define MAX_WINMSG_REND 16:#define MAX_WINMSG_REND 64:" \
|
||||
screen.c \
|
||||
|| die "sed screen.c failed"
|
||||
|
||||
# Fix manpage.
|
||||
sed -i \
|
||||
-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
|
||||
-e "s:/usr/local/screens:${EPREFIX}/run/screen:g" \
|
||||
-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
|
||||
-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
|
||||
-e "s:/local/screens/S-:${EPREFIX}/run/screen/S-:g" \
|
||||
doc/screen.1 \
|
||||
|| die "sed doc/screen.1 failed"
|
||||
|
||||
# proper setenv detection for Solaris
|
||||
epatch "${FILESDIR}"/${P}-setenv_autoconf.patch
|
||||
|
||||
# Allow TERM string large enough to use with rxvt-unicode-256color
|
||||
# Allow usernames up to 32 chars
|
||||
epatch "${FILESDIR}"/${PV}-extend-d_termname-ng2.patch
|
||||
|
||||
# support CPPFLAGS
|
||||
epatch "${FILESDIR}"/${P}-cppflags.patch
|
||||
|
||||
sed \
|
||||
-e 's:termlib:tinfo:g' \
|
||||
-i configure.in || die
|
||||
|
||||
# reconfigure
|
||||
eautoconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
|
||||
|
||||
[[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
|
||||
|
||||
use nethack || append-cppflags "-DNONETHACK"
|
||||
use debug && append-cppflags "-DDEBUG"
|
||||
|
||||
econf \
|
||||
--with-socket-dir="${EPREFIX}/run/screen" \
|
||||
--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
|
||||
--with-pty-mode=0620 \
|
||||
--with-pty-group=5 \
|
||||
--enable-rxvt_osc \
|
||||
--enable-telnet \
|
||||
--enable-colors256 \
|
||||
$(use_enable pam)
|
||||
|
||||
# Second try to fix bug 12683, this time without changing term.h
|
||||
# The last try seemed to break screen at run-time.
|
||||
# (16 Jan 2003 agriffis)
|
||||
LC_ALL=POSIX make term.h || die "Failed making term.h"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local tmpfiles_perms tmpfiles_group
|
||||
|
||||
dobin screen
|
||||
|
||||
if use multiuser ; then
|
||||
use prefix || fperms 4755 /usr/bin/screen
|
||||
tmpfiles_perms="0755"
|
||||
tmpfiles_group="root"
|
||||
else
|
||||
fowners root:utmp /usr/bin/screen
|
||||
fperms 2755 /usr/bin/screen
|
||||
tmpfiles_perms="0775"
|
||||
tmpfiles_group="utmp"
|
||||
fi
|
||||
|
||||
dodir /etc/tmpfiles.d
|
||||
echo "d /run/screen ${tmpfiles_perms} root ${tmpfiles_group}" >"${ED}"/etc/tmpfiles.d/screen.conf
|
||||
|
||||
insinto /usr/share/screen
|
||||
doins terminfo/{screencap,screeninfo.src}
|
||||
insinto /usr/share/screen/utf8encodings
|
||||
doins utf8encodings/??
|
||||
insinto /etc
|
||||
doins "${FILESDIR}"/screenrc
|
||||
|
||||
pamd_mimic_system screen auth
|
||||
|
||||
dodoc \
|
||||
README ChangeLog INSTALL TODO NEWS* patchlevel.h \
|
||||
doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
|
||||
|
||||
doman doc/screen.1
|
||||
doinfo doc/screen.info*
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} ]]
|
||||
then
|
||||
elog "Some dangerous key bindings have been removed or changed to more safe values."
|
||||
elog "We enable some xterm hacks in our default screenrc, which might break some"
|
||||
elog "applications. Please check /etc/screenrc for information on these changes."
|
||||
fi
|
||||
|
||||
ewarn "This revision changes the screen socket location to /run/screen."
|
||||
}
|
@ -1,146 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit autotools eutils flag-o-matic pam toolchain-funcs user
|
||||
|
||||
DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
|
||||
HOMEPAGE="https://www.gnu.org/software/screen/"
|
||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS=" ~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug nethack pam selinux multiuser"
|
||||
|
||||
CDEPEND="
|
||||
>=sys-libs/ncurses-5.2:0=
|
||||
pam? ( virtual/pam )"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-screen )"
|
||||
DEPEND="${CDEPEND}
|
||||
sys-apps/texinfo"
|
||||
|
||||
pkg_setup() {
|
||||
# Make sure utmp group exists, as it's used later on.
|
||||
enewgroup utmp 406
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Don't use utempter even if it is found on the system
|
||||
epatch "${FILESDIR}"/4.0.2-no-utempter.patch
|
||||
|
||||
# sched.h is a system header and causes problems with some C libraries
|
||||
mv sched.h _sched.h || die
|
||||
sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
|
||||
|
||||
# Fix manpage.
|
||||
sed -i \
|
||||
-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
|
||||
-e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
|
||||
-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
|
||||
-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
|
||||
-e "s:/local/screens/S-:${EPREFIX}/tmp/screen/S-:g" \
|
||||
doc/screen.1 \
|
||||
|| die
|
||||
|
||||
# reconfigure
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# https://lists.gnu.org/archive/html/screen-devel/2014-04/msg00095.html
|
||||
append-cppflags -D_XOPEN_SOURCE \
|
||||
-D_XOPEN_SOURCE_EXTENDED=1 \
|
||||
-D__EXTENSIONS__
|
||||
append-libs -lsocket -lnsl
|
||||
fi
|
||||
|
||||
use nethack || append-cppflags "-DNONETHACK"
|
||||
use debug && append-cppflags "-DDEBUG"
|
||||
|
||||
econf \
|
||||
--with-socket-dir="${EPREFIX}/tmp/screen" \
|
||||
--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
|
||||
--with-pty-mode=0620 \
|
||||
--with-pty-group=5 \
|
||||
--enable-rxvt_osc \
|
||||
--enable-telnet \
|
||||
--enable-colors256 \
|
||||
$(use_enable pam)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
LC_ALL=POSIX emake comm.h term.h
|
||||
emake osdef.h
|
||||
|
||||
emake -C doc screen.info
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local tmpfiles_perms tmpfiles_group
|
||||
|
||||
dobin screen
|
||||
|
||||
if use multiuser || use prefix
|
||||
then
|
||||
fperms 4755 /usr/bin/screen
|
||||
tmpfiles_perms="0755"
|
||||
tmpfiles_group="root"
|
||||
else
|
||||
fowners root:utmp /usr/bin/screen
|
||||
fperms 2755 /usr/bin/screen
|
||||
tmpfiles_perms="0775"
|
||||
tmpfiles_group="utmp"
|
||||
fi
|
||||
|
||||
dodir /etc/tmpfiles.d
|
||||
echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
|
||||
> "${ED}"/etc/tmpfiles.d/screen.conf
|
||||
|
||||
insinto /usr/share/screen
|
||||
doins terminfo/{screencap,screeninfo.src}
|
||||
insinto /usr/share/screen/utf8encodings
|
||||
doins utf8encodings/??
|
||||
insinto /etc
|
||||
doins "${FILESDIR}"/screenrc
|
||||
|
||||
pamd_mimic_system screen auth
|
||||
|
||||
dodoc \
|
||||
README ChangeLog INSTALL TODO NEWS* patchlevel.h \
|
||||
doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
|
||||
|
||||
doman doc/screen.1
|
||||
doinfo doc/screen.info
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} ]]
|
||||
then
|
||||
elog "Some dangerous key bindings have been removed or changed to more safe values."
|
||||
elog "We enable some xterm hacks in our default screenrc, which might break some"
|
||||
elog "applications. Please check /etc/screenrc for information on these changes."
|
||||
fi
|
||||
|
||||
# Add /tmp/screen in case it doesn't exist yet. This should solve
|
||||
# problems like bug #508634 where tmpfiles.d isn't in effect.
|
||||
local rundir="${EROOT%/}/tmp/screen"
|
||||
if [[ ! -d ${rundir} ]] ; then
|
||||
if use multiuser || use prefix ; then
|
||||
tmpfiles_group="root"
|
||||
else
|
||||
tmpfiles_group="utmp"
|
||||
fi
|
||||
mkdir -m 0775 "${rundir}"
|
||||
chgrp ${tmpfiles_group} "${rundir}"
|
||||
fi
|
||||
|
||||
ewarn "This revision changes the screen socket location to ${rundir}"
|
||||
}
|
@ -1,146 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit autotools eutils flag-o-matic pam toolchain-funcs user
|
||||
|
||||
DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
|
||||
HOMEPAGE="https://www.gnu.org/software/screen/"
|
||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug nethack pam selinux multiuser"
|
||||
|
||||
CDEPEND="
|
||||
>=sys-libs/ncurses-5.2:0=
|
||||
pam? ( virtual/pam )"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-screen )"
|
||||
DEPEND="${CDEPEND}
|
||||
sys-apps/texinfo"
|
||||
|
||||
pkg_setup() {
|
||||
# Make sure utmp group exists, as it's used later on.
|
||||
enewgroup utmp 406
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Don't use utempter even if it is found on the system
|
||||
epatch "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
|
||||
|
||||
# sched.h is a system header and causes problems with some C libraries
|
||||
mv sched.h _sched.h || die
|
||||
sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
|
||||
|
||||
# Fix manpage.
|
||||
sed -i \
|
||||
-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
|
||||
-e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
|
||||
-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
|
||||
-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
|
||||
-e "s:/local/screens/S-:${EPREFIX}/tmp/screen/S-:g" \
|
||||
doc/screen.1 \
|
||||
|| die
|
||||
|
||||
# reconfigure
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# https://lists.gnu.org/archive/html/screen-devel/2014-04/msg00095.html
|
||||
append-cppflags -D_XOPEN_SOURCE \
|
||||
-D_XOPEN_SOURCE_EXTENDED=1 \
|
||||
-D__EXTENSIONS__
|
||||
append-libs -lsocket -lnsl
|
||||
fi
|
||||
|
||||
use nethack || append-cppflags "-DNONETHACK"
|
||||
use debug && append-cppflags "-DDEBUG"
|
||||
|
||||
econf \
|
||||
--with-socket-dir="${EPREFIX}/tmp/screen" \
|
||||
--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
|
||||
--with-pty-mode=0620 \
|
||||
--with-pty-group=5 \
|
||||
--enable-rxvt_osc \
|
||||
--enable-telnet \
|
||||
--enable-colors256 \
|
||||
$(use_enable pam)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
LC_ALL=POSIX emake comm.h term.h
|
||||
emake osdef.h
|
||||
|
||||
emake -C doc screen.info
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local tmpfiles_perms tmpfiles_group
|
||||
|
||||
dobin screen
|
||||
|
||||
if use multiuser || use prefix
|
||||
then
|
||||
fperms 4755 /usr/bin/screen
|
||||
tmpfiles_perms="0755"
|
||||
tmpfiles_group="root"
|
||||
else
|
||||
fowners root:utmp /usr/bin/screen
|
||||
fperms 2755 /usr/bin/screen
|
||||
tmpfiles_perms="0775"
|
||||
tmpfiles_group="utmp"
|
||||
fi
|
||||
|
||||
dodir /etc/tmpfiles.d
|
||||
echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
|
||||
> "${ED}"/etc/tmpfiles.d/screen.conf
|
||||
|
||||
insinto /usr/share/screen
|
||||
doins terminfo/{screencap,screeninfo.src}
|
||||
insinto /usr/share/screen/utf8encodings
|
||||
doins utf8encodings/??
|
||||
insinto /etc
|
||||
doins "${FILESDIR}"/screenrc
|
||||
|
||||
pamd_mimic_system screen auth
|
||||
|
||||
dodoc \
|
||||
README ChangeLog INSTALL TODO NEWS* patchlevel.h \
|
||||
doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
|
||||
|
||||
doman doc/screen.1
|
||||
doinfo doc/screen.info
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} ]]
|
||||
then
|
||||
elog "Some dangerous key bindings have been removed or changed to more safe values."
|
||||
elog "We enable some xterm hacks in our default screenrc, which might break some"
|
||||
elog "applications. Please check /etc/screenrc for information on these changes."
|
||||
fi
|
||||
|
||||
# Add /tmp/screen in case it doesn't exist yet. This should solve
|
||||
# problems like bug #508634 where tmpfiles.d isn't in effect.
|
||||
local rundir="${EROOT%/}/tmp/screen"
|
||||
if [[ ! -d ${rundir} ]] ; then
|
||||
if use multiuser || use prefix ; then
|
||||
tmpfiles_group="root"
|
||||
else
|
||||
tmpfiles_group="utmp"
|
||||
fi
|
||||
mkdir -m 0775 "${rundir}"
|
||||
chgrp ${tmpfiles_group} "${rundir}"
|
||||
fi
|
||||
|
||||
ewarn "This revision changes the screen socket location to ${rundir}"
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
AUX impressive-pillow.patch 740 SHA256 b1d8909279dddeeb41a65d11e6a045b5edcce830800d9677c8a20fe4872459ee SHA512 99faa23c6524c029f6cec84aadb599871f744fc3e91e1da0e42533393a3e0d5bcab2ff084946d5aa327560cb0dd6001b30a39b4b244a95bd037d9f42bb9d338c WHIRLPOOL 40b6ac537858956a380556e9b135db05a3e595bcb21ff7a31bb887088b484ee5c5b029dd1783954c2290ef8fe0d9295afd9382ae2e943c902ce196a699c87f9b
|
||||
DIST Impressive-0.10.5.tar.gz 166707 SHA256 55f1f2021c7bcbdd147f44ec7418125c114dfcd606583ecab34a3adaa1fae13b SHA512 3939188d45ac7a617a56be72e72c98923c23073bee2c3c1b7b81fc2e26ce415ceffdf5456d754f921e488181d8edb7df96ad90e6923b2425c49e38da75c02f20 WHIRLPOOL cff1b609e9e722f621ecf5da0ccaee9f2b0d17d22064486f80cfb74ff569f802c3710c7ec1a7e02c6861246d8fa63b51c5468fc5eec0cf9597cdc0ca7ddcabbd
|
||||
DIST Impressive-0.11.0b.tar.gz 195138 SHA256 a96735cbd5f0c36dd9e499c068b3a991a852fda71b73acd36da6b764ea198ad9 SHA512 c4038ed7b71ac79078922ee0e24ce3bef4b0384d8d468291f0283266fe8a849825f5798ec1260e40ac12659a8a7cf5325e3aca0e2475b1c483d3ce830f4bc70f WHIRLPOOL e89a979b20aa765e68e433d953f6d5e0a41464a8ee1474213f376d3294ccd0a54e649546316facaa89499bd865addb1ab0706d39b227dcfdcc608c367b8fbdf7
|
||||
EBUILD impressive-0.10.5.ebuild 1039 SHA256 0844436a226ef2f63e669a15bf6bedd3462db7ccc005f9270e1afdc161bbbd93 SHA512 db88d2e3eca96435ee3016e33dfd0b303964d1f38842009760848e3540a0d753fc903fdfdf66ec31a5db6966792af0bd75b88bd7b3526c6318c503c948468f92 WHIRLPOOL b5c2a6d73ec56fcc2ac74b9d665afc68f79e0828cbcfa4d18411f9ecc6bceac5c1e51e0e4711840540d00036591bbf756ba57d4b41094d178d9bed16f671921d
|
||||
EBUILD impressive-0.11.0b.ebuild 1499 SHA256 1cf5539d76fd646b9b43fe15895dd743f9ca23b71789f3b208a47886c3f17d0d SHA512 327a8af9cc447267fd6247e1f3b53d25dd620e03b8c978944532e0e90f484a8e12c3cc64dbe5a871c224a30a4c20360c12c6a0322dea1586d16d82200da2b9a2 WHIRLPOOL 723382a97b64684b3c2c2cbfb003c1ec7098e7182b46c1abd797c13ed4e89ced6b39ca1cf283c4e084521a3724bbe956860f982daf41794e9c076bdbea558f76
|
||||
EBUILD impressive-0.10.5.ebuild 1067 SHA256 cb905a92c3fb3cb8ba69f12c7ca7e902642f0836fd8def9396e6773e0289293e SHA512 82a39eb3ace10ed1d80fe2d420bb5f1d49f873550c7993f15b4b1f83b3c9c96e07002334d14a088b20729be5899c53470a0e55ce4f3edc9961e7554bc91b4a71 WHIRLPOOL 97e2738b94182364c34806f9553f61490577ee808bcc221099d8eec6edd61d634f4bf594e2945fb6f7d520472aac08607025251ec884d6b6d25563426d49f3b0
|
||||
EBUILD impressive-0.11.0b-r1.ebuild 1581 SHA256 bcba7617e65861851378e2086c2ec30cbb3a1f1cd25dcf591a0cb003286a2631 SHA512 ca77991b7ec10fdb66068e3f0be080c302e8bbb3adf0c8361ffbe1201b8b4e2832f53dbd50061e0fb4ee50566c8149ba97f1a6b7193ccff79c3afa58806fc317 WHIRLPOOL 1b3527b58ff0c85e23bd58331fcc20601cb5a781d72df66a5734006249dd1b4a7a8c5b649cf54bb2c27692d202a3408fd40a3b84d1c8ee2692b73e0a013bf9a8
|
||||
MISC ChangeLog 2933 SHA256 d5a55bddd671b854eb0389cd5a207f762caafabe1ad9a726fe47dd956d355e24 SHA512 1e7dfa9e832ce1053be411ee5ab5ec756ef66435efa2570a1fff9827916fc8c1da64d682d1b1a6a0c888ce3cffd1c6ffc4b09100ceaca93f3edeb25da74c05a9 WHIRLPOOL 8c9a7dec5486686f325f3c495d6e8ed23d09db817650e9975c7fff5fdb3c1ce7c234123ea1def359f39aa094d26124a20cbf2565a37a046ef8d11426984640bb
|
||||
MISC metadata.xml 237 SHA256 7d3c0aea25780ec3448c0462fdb1a63dd1098734c0fc639de5cda064bf990689 SHA512 ecb6a0be39f28bca3042b28c80d7665d5f61918fda88eef8276063f2680c2f603ff569676bbbd48c85d4459cc594f5caf07d6e6cc645430e6c5041f3bd8469f2 WHIRLPOOL 1abff04b422b8ada325e342c43743af42fb32cd958e756eb79d6b9440c7811e615925b3f14106312d17c1415383a63ace3ed70d458efd90b45671acc222aaa35
|
||||
|
@ -0,0 +1,609 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
KDE_REQUIRED="optional"
|
||||
QT_MINIMAL="4.7.4"
|
||||
KDE_SCM="git"
|
||||
CMAKE_REQUIRED="never"
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_4 )
|
||||
PYTHON_REQ_USE="threads,xml"
|
||||
|
||||
# experimental ; release ; old
|
||||
# Usually the tarballs are moved a lot so this should make
|
||||
# everyone happy.
|
||||
DEV_URI="
|
||||
http://dev-builds.libreoffice.org/pre-releases/src
|
||||
http://download.documentfoundation.org/libreoffice/src/${PV:0:5}/
|
||||
http://download.documentfoundation.org/libreoffice/old/${PV}/
|
||||
"
|
||||
EXT_URI="http://ooo.itc.hu/oxygenoffice/download/libreoffice"
|
||||
ADDONS_URI="http://dev-www.libreoffice.org/src/"
|
||||
|
||||
BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
|
||||
# PATCHSET="${P}-patchset-01.tar.xz"
|
||||
|
||||
[[ ${PV} == *9999* ]] && SCM_ECLASS="git-r3"
|
||||
inherit base multiprocessing autotools bash-completion-r1 check-reqs eutils java-pkg-opt-2 kde4-base pax-utils python-single-r1 multilib toolchain-funcs flag-o-matic versionator ${SCM_ECLASS}
|
||||
unset SCM_ECLASS
|
||||
|
||||
DESCRIPTION="LibreOffice, a full office productivity suite"
|
||||
HOMEPAGE="http://www.libreoffice.org"
|
||||
SRC_URI="branding? ( http://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
|
||||
[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentooexperimental.org/~scarabeus/${PATCHSET}"
|
||||
|
||||
# Split modules following git/tarballs
|
||||
# Core MUST be first!
|
||||
# Help is used for the image generator
|
||||
MODULES="core help"
|
||||
# Only release has the tarballs
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
for i in ${DEV_URI}; do
|
||||
for mod in ${MODULES}; do
|
||||
if [[ ${mod} == core ]]; then
|
||||
SRC_URI+=" ${i}/${P}.tar.xz"
|
||||
else
|
||||
SRC_URI+=" ${i}/${PN}-${mod}-${PV}.tar.xz"
|
||||
fi
|
||||
done
|
||||
unset mod
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
unset DEV_URI
|
||||
|
||||
# Really required addons
|
||||
# These are bundles that can't be removed for now due to huge patchsets.
|
||||
# If you want them gone, patches are welcome.
|
||||
ADDONS_SRC+=" ${ADDONS_URI}/d62650a6f908e85643e557a236ea989c-vigra1.6.0.tar.gz"
|
||||
ADDONS_SRC+=" ${ADDONS_URI}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz" # modifies source code
|
||||
ADDONS_SRC+=" collada? ( ${ADDONS_URI}/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2 )"
|
||||
ADDONS_SRC+=" java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
|
||||
ADDONS_SRC+=" libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )" # no release for 8 years, should we package it?
|
||||
ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )" # Does not build with 1.6 rhino at all
|
||||
ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )" # requirement of rhino
|
||||
ADDONS_SRC+=" odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )" # not packageable
|
||||
SRC_URI+=" ${ADDONS_SRC}"
|
||||
|
||||
unset ADDONS_URI
|
||||
unset EXT_URI
|
||||
unset ADDONS_SRC
|
||||
|
||||
IUSE="bluetooth +branding coinmp collada +cups dbus debug eds firebird gltf gnome gstreamer
|
||||
+gtk gtk3 jemalloc kde libressl mysql odk postgres telepathy test vlc"
|
||||
|
||||
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
|
||||
# Unpackaged separate extensions:
|
||||
# diagram: lo has 0.9.5 upstream is weirdly patched 0.9.4 -> wtf?
|
||||
# hunart: only on ooo extensions -> fubared download path somewhere on sf
|
||||
# numbertext, typo, validator, watch-window: ^^
|
||||
# oooblogger: no homepage or anything
|
||||
# Extensions that need extra work:
|
||||
for lo_xt in ${LO_EXTS}; do
|
||||
IUSE+=" libreoffice_extensions_${lo_xt}"
|
||||
done
|
||||
unset lo_xt
|
||||
|
||||
LICENSE="|| ( LGPL-3 MPL-1.1 )"
|
||||
SLOT="0"
|
||||
[[ ${PV} == *9999* ]] || \
|
||||
KEYWORDS=""
|
||||
# KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
COMMON_DEPEND="
|
||||
${PYTHON_DEPS}
|
||||
app-arch/zip
|
||||
app-arch/unzip
|
||||
>=app-text/hunspell-1.3.2-r3
|
||||
app-text/mythes
|
||||
>=app-text/libabw-0.1.0
|
||||
>=app-text/libexttextcat-3.2
|
||||
>=app-text/libebook-0.1.1
|
||||
>=app-text/libetonyek-0.1.2
|
||||
app-text/liblangtag
|
||||
>=app-text/libmspub-0.1.0
|
||||
>=app-text/libmwaw-0.3.5
|
||||
>=app-text/libodfgen-0.1.0
|
||||
app-text/libwpd:0.10[tools]
|
||||
app-text/libwpg:0.3
|
||||
=app-text/libwps-0.4*
|
||||
>=app-text/poppler-0.16:=[xpdf-headers(+),cxx]
|
||||
>=dev-cpp/clucene-2.3.3.4-r2
|
||||
=dev-cpp/libcmis-0.5*
|
||||
dev-db/unixODBC
|
||||
>=dev-libs/boost-1.55:=
|
||||
dev-libs/expat
|
||||
>=dev-libs/hyphen-2.7.1
|
||||
>=dev-libs/icu-4.8.1.1:=
|
||||
=dev-libs/liborcus-0.7*
|
||||
>=dev-libs/librevenge-0.0.1
|
||||
>=dev-libs/nspr-4.8.8
|
||||
>=dev-libs/nss-3.12.9
|
||||
>=dev-lang/perl-5.0
|
||||
!libressl? ( >=dev-libs/openssl-1.0.0d:0 )
|
||||
libressl? ( dev-libs/libressl )
|
||||
>=dev-libs/redland-1.0.16
|
||||
media-gfx/graphite2
|
||||
>=media-libs/fontconfig-2.8.0
|
||||
media-libs/freetype:2
|
||||
>=media-libs/glew-1.10
|
||||
>=media-libs/harfbuzz-0.9.18:=[icu(+)]
|
||||
media-libs/lcms:2
|
||||
>=media-libs/libpng-1.4:0=
|
||||
>=media-libs/libcdr-0.1.0
|
||||
>=media-libs/libfreehand-0.1.0
|
||||
media-libs/libpagemaker
|
||||
>=media-libs/libvisio-0.1.0
|
||||
>=net-misc/curl-7.21.4
|
||||
net-libs/neon
|
||||
net-nds/openldap
|
||||
sci-mathematics/lpsolve
|
||||
virtual/jpeg:0
|
||||
>=x11-libs/cairo-1.10.0[X]
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
coinmp? ( sci-libs/coinor-mp )
|
||||
collada? ( >=media-libs/opencollada-1.2.2_p20150207 )
|
||||
cups? ( net-print/cups )
|
||||
dbus? ( >=dev-libs/dbus-glib-0.92 )
|
||||
eds? ( gnome-extra/evolution-data-server )
|
||||
firebird? ( >=dev-db/firebird-2.5 )
|
||||
gltf? ( media-libs/libgltf )
|
||||
gnome? ( gnome-base/gconf:2 )
|
||||
gtk? (
|
||||
x11-libs/gdk-pixbuf[X]
|
||||
>=x11-libs/gtk+-2.24:2
|
||||
)
|
||||
gtk3? ( >=x11-libs/gtk+-3.8:3 )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
libreoffice_extensions_scripting-beanshell? ( >=dev-java/bsh-2.0_beta4 )
|
||||
libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
|
||||
libreoffice_extensions_wiki-publisher? (
|
||||
dev-java/commons-codec:0
|
||||
dev-java/commons-httpclient:3
|
||||
dev-java/commons-lang:2.1
|
||||
dev-java/commons-logging:0
|
||||
dev-java/tomcat-servlet-api:3.0
|
||||
)
|
||||
mysql? ( >=dev-db/mysql-connector-c++-1.1.0 )
|
||||
postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
|
||||
telepathy? (
|
||||
dev-libs/glib:2
|
||||
>=net-libs/telepathy-glib-0.18.0
|
||||
>=x11-libs/gtk+-2.24:2
|
||||
)
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!app-office/libreoffice-bin
|
||||
!app-office/libreoffice-bin-debug
|
||||
!<app-office/openoffice-bin-3.4.0-r1
|
||||
!app-office/openoffice
|
||||
media-fonts/libertine
|
||||
media-fonts/liberation-fonts
|
||||
media-fonts/urw-fonts
|
||||
java? ( >=virtual/jre-1.6 )
|
||||
kde? ( $(add_kdeapps_dep kioclient) )
|
||||
vlc? ( media-video/vlc )
|
||||
"
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
PDEPEND="=app-office/libreoffice-l10n-$(get_version_component_range 1-2)*"
|
||||
else
|
||||
# Translations are not reliable on live ebuilds
|
||||
# rather force people to use english only.
|
||||
PDEPEND="!app-office/libreoffice-l10n"
|
||||
fi
|
||||
|
||||
# FIXME: cppunit should be moved to test conditional
|
||||
# after everything upstream is under gbuild
|
||||
# as dmake execute tests right away
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-libs/libatomic_ops-7.2d
|
||||
>=dev-libs/libxml2-2.7.8
|
||||
dev-libs/libxslt
|
||||
dev-perl/Archive-Zip
|
||||
dev-util/cppunit
|
||||
>=dev-util/gperf-3
|
||||
dev-util/intltool
|
||||
>=dev-util/mdds-0.12.0:=
|
||||
media-libs/glm
|
||||
net-misc/npapi-sdk
|
||||
>=sys-apps/findutils-4.4.2
|
||||
sys-devel/bison
|
||||
sys-apps/coreutils
|
||||
sys-devel/flex
|
||||
sys-devel/gettext
|
||||
>=sys-devel/make-3.82
|
||||
sys-devel/ucpp
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
x11-proto/randrproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xineramaproto
|
||||
x11-proto/xproto
|
||||
java? (
|
||||
>=virtual/jdk-1.6
|
||||
>=dev-java/ant-core-1.7
|
||||
)
|
||||
odk? ( >=app-doc/doxygen-1.8.4 )
|
||||
test? ( dev-util/cppunit )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# not upstreamable stuff
|
||||
"${FILESDIR}/${PN}-4.4-system-pyuno.patch"
|
||||
)
|
||||
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
bluetooth? ( dbus )
|
||||
collada? ( gltf )
|
||||
gnome? ( gtk )
|
||||
eds? ( gnome )
|
||||
telepathy? ( gtk )
|
||||
libreoffice_extensions_nlpsolver? ( java )
|
||||
libreoffice_extensions_scripting-beanshell? ( java )
|
||||
libreoffice_extensions_scripting-javascript? ( java )
|
||||
libreoffice_extensions_wiki-publisher? ( java )
|
||||
"
|
||||
|
||||
CHECKREQS_MEMORY="512M"
|
||||
if [[ ${MERGE_TYPE} != binary ]] ; then CHECKREQS_DISK_BUILD="6G" ; fi
|
||||
|
||||
pkg_pretend() {
|
||||
local pgslot
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
check-reqs_pkg_pretend
|
||||
|
||||
if [[ $(gcc-major-version) -lt 4 ]] || \
|
||||
( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ]] ) \
|
||||
; then
|
||||
eerror "Compilation with gcc older than 4.6 is not supported"
|
||||
die "Too old gcc found."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure pg version but we have to be sure the pg is installed (first
|
||||
# install on clean system)
|
||||
if use postgres && has_version dev-db/postgresql; then
|
||||
pgslot=$(postgresql-config show)
|
||||
if [[ ${pgslot//.} < 90 ]] ; then
|
||||
eerror "PostgreSQL slot must be set to 9.0 or higher."
|
||||
eerror " postgresql-config set 9.0"
|
||||
die "PostgreSQL slot is not set to 9.0 or higher."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
kde4-base_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
|
||||
[[ ${MERGE_TYPE} != binary ]] && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local mod mod2 dest tmplfile tmplname mypv
|
||||
|
||||
[[ -n ${PATCHSET} ]] && unpack ${PATCHSET}
|
||||
use branding && unpack "${BRANDING}"
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
unpack "${P}.tar.xz"
|
||||
for mod in ${MODULES}; do
|
||||
[[ ${mod} == core ]] && continue
|
||||
unpack "${PN}-${mod}-${PV}.tar.xz"
|
||||
done
|
||||
else
|
||||
for mod in ${MODULES}; do
|
||||
mypv=${PV/.9999}
|
||||
[[ ${mypv} != ${PV} ]] && EGIT_BRANCH="${PN}-${mypv/./-}"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}"
|
||||
[[ ${mod} != core ]] && EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}-${mod}-${PV}"
|
||||
EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}/${mod}"
|
||||
git-r3_src_unpack
|
||||
if [[ ${mod} != core ]]; then
|
||||
mod2=${mod}
|
||||
# mapping does not match on help
|
||||
[[ ${mod} == help ]] && mod2="helpcontent2"
|
||||
mkdir -p "${S}/${mod2}/" || die
|
||||
mv -n "${WORKDIR}/${PN}-${mod}-${PV}"/* "${S}/${mod2}" || die
|
||||
rm -rf "${WORKDIR}/${PN}-${mod}-${PV}"
|
||||
fi
|
||||
done
|
||||
unset EGIT_CHECKOUT_DIR EGIT_REPO_URI EGIT_BRANCH
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# optimization flags
|
||||
export GMAKE_OPTIONS="${MAKEOPTS}"
|
||||
# System python 2.7 enablement:
|
||||
export PYTHON_CFLAGS=$(python_get_CFLAGS)
|
||||
export PYTHON_LIBS=$(python_get_LIBS)
|
||||
|
||||
if use collada; then
|
||||
export OPENCOLLADA_CFLAGS="-I/usr/include/opencollada/COLLADABaseUtils -I/usr/include/opencollada/COLLADAFramework -I/usr/include/opencollada/COLLADASaxFrameworkLoader -I/usr/include/opencollada/GeneratedSaxParser"
|
||||
export OPENCOLLADA_LIBS="-L /usr/$(get_libdir)/opencollada -lOpenCOLLADABaseUtils -lOpenCOLLADAFramework -lOpenCOLLADASaxFrameworkLoader -lGeneratedSaxParser"
|
||||
fi
|
||||
|
||||
# patchset
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_SOURCE="${WORKDIR}/${PATCHSET/.tar.xz/}" \
|
||||
EPATCH_SUFFIX="patch" \
|
||||
epatch
|
||||
fi
|
||||
|
||||
base_src_prepare
|
||||
|
||||
AT_M4DIR="m4" eautoreconf
|
||||
# hack in the autogen.sh
|
||||
touch autogen.lastrun
|
||||
|
||||
# system pyuno mess
|
||||
sed \
|
||||
-e "s:%eprefix%:${EPREFIX}:g" \
|
||||
-e "s:%libdir%:$(get_libdir):g" \
|
||||
-i pyuno/source/module/uno.py \
|
||||
-i pyuno/source/officehelper.py || die
|
||||
# sed in the tests
|
||||
sed -i \
|
||||
-e 's#all : build unitcheck#all : build#g' \
|
||||
solenv/gbuild/Module.mk || die
|
||||
sed -i \
|
||||
-e 's#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g' \
|
||||
-e 's#Makefile.gbuild all slowcheck#Makefile.gbuild all#g' \
|
||||
Makefile.in || die
|
||||
|
||||
if use branding; then
|
||||
# hack...
|
||||
mv -v "${WORKDIR}/branding-intro.png" "${S}/icon-themes/galaxy/brand/intro.png" || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local java_opts
|
||||
local internal_libs
|
||||
local lo_ext
|
||||
local ext_opts
|
||||
|
||||
# sane: just sane.h header that is used for scan in writer, not
|
||||
# linked or anything else, worthless to depend on
|
||||
# vigra: just uses templates from there
|
||||
# it is serious pain in the ass for packaging
|
||||
# should be replaced by boost::gil if someone interested
|
||||
internal_libs+="
|
||||
--without-system-sane
|
||||
--without-system-vigra
|
||||
"
|
||||
|
||||
# libreoffice extensions handling
|
||||
for lo_xt in ${LO_EXTS}; do
|
||||
if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
|
||||
ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt})"
|
||||
else
|
||||
ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt})"
|
||||
fi
|
||||
done
|
||||
|
||||
if use java; then
|
||||
# hsqldb: system one is too new
|
||||
java_opts="
|
||||
--without-junit
|
||||
--without-system-hsqldb
|
||||
--with-ant-home="${ANT_HOME}"
|
||||
--with-jdk-home=$(java-config --jdk-home 2>/dev/null)
|
||||
--with-jvm-path="${EPREFIX}/usr/lib/"
|
||||
"
|
||||
|
||||
use libreoffice_extensions_scripting-beanshell && \
|
||||
java_opts+=" --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar)"
|
||||
|
||||
use libreoffice_extensions_scripting-javascript && \
|
||||
java_opts+=" --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar)"
|
||||
|
||||
if use libreoffice_extensions_wiki-publisher; then
|
||||
java_opts+="
|
||||
--with-commons-codec-jar=$(java-pkg_getjar commons-codec commons-codec.jar)
|
||||
--with-commons-httpclient-jar=$(java-pkg_getjar commons-httpclient-3 commons-httpclient.jar)
|
||||
--with-commons-lang-jar=$(java-pkg_getjar commons-lang-2.1 commons-lang.jar)
|
||||
--with-commons-logging-jar=$(java-pkg_getjar commons-logging commons-logging.jar)
|
||||
--with-servlet-api-jar=$(java-pkg_getjar tomcat-servlet-api-3.0 servlet-api.jar)
|
||||
"
|
||||
fi
|
||||
fi
|
||||
|
||||
# system headers/libs/...: enforce using system packages
|
||||
# --enable-cairo: ensure that cairo is always required
|
||||
# --enable-graphite: disabling causes build breakages
|
||||
# --enable-*-link: link to the library rather than just dlopen on runtime
|
||||
# --enable-release-build: build the libreoffice as release
|
||||
# --disable-fetch-external: prevent dowloading during compile phase
|
||||
# --disable-gnome-vfs: old gnome virtual fs support
|
||||
# --disable-kdeab: kde3 adressbook
|
||||
# --disable-kde: kde3 support
|
||||
# --disable-systray: quickstarter does not actually work at all so do not
|
||||
# promote it
|
||||
# --enable-extension-integration: enable any extension integration support
|
||||
# --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
|
||||
# --disable-report-builder: too much java packages pulled in without pkgs
|
||||
econf \
|
||||
--docdir="${EPREFIX}/usr/share/doc/${PF}/" \
|
||||
--with-system-headers \
|
||||
--with-system-libs \
|
||||
--with-system-jars \
|
||||
--with-system-dicts \
|
||||
--enable-cairo-canvas \
|
||||
--enable-graphite \
|
||||
--enable-largefile \
|
||||
--enable-mergelibs \
|
||||
--enable-neon \
|
||||
--enable-python=system \
|
||||
--enable-randr \
|
||||
--enable-randr-link \
|
||||
--enable-release-build \
|
||||
--disable-hardlink-deliver \
|
||||
--disable-ccache \
|
||||
--disable-crashdump \
|
||||
--disable-dependency-tracking \
|
||||
--disable-epm \
|
||||
--disable-fetch-external \
|
||||
--disable-gnome-vfs \
|
||||
--disable-gstreamer-0-10 \
|
||||
--disable-report-builder \
|
||||
--disable-kdeab \
|
||||
--disable-kde \
|
||||
--disable-online-update \
|
||||
--disable-systray \
|
||||
--with-alloc=$(use jemalloc && echo "jemalloc" || echo "system") \
|
||||
--with-build-version="Gentoo official package" \
|
||||
--enable-extension-integration \
|
||||
--with-external-dict-dir="${EPREFIX}/usr/share/myspell" \
|
||||
--with-external-hyph-dir="${EPREFIX}/usr/share/myspell" \
|
||||
--with-external-thes-dir="${EPREFIX}/usr/share/myspell" \
|
||||
--with-external-tar="${DISTDIR}" \
|
||||
--with-lang="" \
|
||||
--with-parallelism=$(makeopts_jobs) \
|
||||
--with-system-ucpp \
|
||||
--with-vendor="Gentoo Foundation" \
|
||||
--with-x \
|
||||
--without-fonts \
|
||||
--without-myspell-dicts \
|
||||
--without-help \
|
||||
--with-helppack-integration \
|
||||
--without-sun-templates \
|
||||
$(use_enable bluetooth sdremote-bluetooth) \
|
||||
$(use_enable coinmp) \
|
||||
$(use_enable collada) \
|
||||
$(use_enable cups) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable dbus) \
|
||||
$(use_enable eds evolution2) \
|
||||
$(use_enable firebird firebird-sdbc) \
|
||||
$(use_enable gltf) \
|
||||
$(use_enable gnome gconf) \
|
||||
$(use_enable gnome gio) \
|
||||
$(use_enable gnome lockdown) \
|
||||
$(use_enable gstreamer gstreamer-1-0) \
|
||||
$(use_enable gtk) \
|
||||
$(use_enable gtk3) \
|
||||
$(use_enable kde kde4) \
|
||||
$(use_enable mysql ext-mariadb-connector) \
|
||||
$(use_enable odk) \
|
||||
$(use_enable postgres postgresql-sdbc) \
|
||||
$(use_enable telepathy) \
|
||||
$(use_enable vlc) \
|
||||
$(use_with coinmp system-coinmp) \
|
||||
$(use_with collada system-opencollada) \
|
||||
$(use_with gltf system-libgltf) \
|
||||
$(use_with java) \
|
||||
$(use_with mysql system-mysql-cppconn) \
|
||||
$(use_with odk doxygen) \
|
||||
${internal_libs} \
|
||||
${java_opts} \
|
||||
${ext_opts}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# more and more LO stuff tries to use OpenGL, including tests during build
|
||||
# bug 501508, bug 540624, bug 545974 and probably more
|
||||
addpredict /dev/dri
|
||||
addpredict /dev/ati
|
||||
addpredict /dev/nvidiactl
|
||||
|
||||
# hack for offlinehelp, this needs fixing upstream at some point
|
||||
# it is broken because we send --without-help
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=46506
|
||||
(
|
||||
grep "^export" "${S}/config_host.mk" > "${T}/config_host.mk"
|
||||
source "${T}/config_host.mk" 2&> /dev/null
|
||||
|
||||
local path="${WORKDIR}/helpcontent2/source/auxiliary/"
|
||||
mkdir -p "${path}" || die
|
||||
|
||||
echo "perl \"${S}/helpcontent2/helpers/create_ilst.pl\" -dir=icon-themes/galaxy/res/helpimg > \"${path}/helpimg.ilst\""
|
||||
perl "${S}/helpcontent2/helpers/create_ilst.pl" \
|
||||
-dir=icon-themes/galaxy/res/helpimg \
|
||||
> "${path}/helpimg.ilst"
|
||||
[[ -s "${path}/helpimg.ilst" ]] || ewarn "The help images list is empty, something is fishy, report a bug."
|
||||
)
|
||||
|
||||
local target
|
||||
use test && target="build" || target="build-nocheck"
|
||||
|
||||
# this is not a proper make script
|
||||
make ${target} || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
make unitcheck || die
|
||||
make slowcheck || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# This is not Makefile so no buildserver
|
||||
make DESTDIR="${D}" distro-pack-install -o build -o check || die
|
||||
|
||||
# Fix bash completion placement
|
||||
newbashcomp "${ED}"/etc/bash_completion.d/libreoffice.sh ${PN}
|
||||
bashcomp_alias \
|
||||
libreoffice \
|
||||
unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
|
||||
rm -rf "${ED}"/etc/ || die
|
||||
|
||||
if use branding; then
|
||||
insinto /usr/$(get_libdir)/${PN}/program
|
||||
newins "${WORKDIR}/branding-sofficerc" sofficerc
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"/etc/env.d/99${PN}
|
||||
fi
|
||||
|
||||
# Hack for offlinehelp, this needs fixing upstream at some point.
|
||||
# It is broken because we send --without-help
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=46506
|
||||
insinto /usr/$(get_libdir)/libreoffice/help
|
||||
doins xmlhelp/util/*.xsl
|
||||
|
||||
# Remove desktop files for support to old installs that can't parse mime
|
||||
rm -rf "${ED}"/usr/share/mimelnk/
|
||||
|
||||
# FIXME: Hack add missing file
|
||||
insinto /usr/$(get_libdir)/${PN}/program
|
||||
doins "${S}"/instdir/program/libsaxlo.so
|
||||
|
||||
pax-mark -m "${ED}"/usr/$(get_libdir)/libreoffice/program/soffice.bin
|
||||
pax-mark -m "${ED}"/usr/$(get_libdir)/libreoffice/program/unopkg.bin
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# Cache updates - all handled by kde eclass for all environments
|
||||
kde4-base_pkg_preinst
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
kde4-base_pkg_postinst
|
||||
|
||||
use java || \
|
||||
ewarn 'If you plan to use lbase application you should enable java or you will get various crashes.'
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
kde4-base_pkg_postrm
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue