Sync with portage [Thu Jan 2 12:55:05 MSK 2014].

mhiretskiy
root 10 years ago
parent a300808956
commit 99355b5d62

@ -5,6 +5,5 @@
<maintainer>
<email>rgkmg25@gmail.com</email>
<name>Robert Kowalski</name>
<description>Proxy Maintainer. CC on bugs</description>
</maintainer>
</pkgmetadata>

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/killproc/killproc-2.13.ebuild,v 1.6 2012/03/18 15:52:28 armin76 Exp $
# $Header: /var/cvsroot/gentoo-x86/app-admin/killproc/killproc-2.13.ebuild,v 1.7 2013/12/31 08:43:22 maekke Exp $
EAPI="2"
@ -12,7 +12,7 @@ SRC_URI="ftp://ftp.suse.com/pub/projects/init/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc x86"
KEYWORDS="amd64 ~arm ppc x86"
IUSE=""
src_prepare() {

@ -1,9 +1,9 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/puppet/puppet-2.7.23.ebuild,v 1.6 2013/08/21 03:47:32 jmorgan Exp $
# $Header: /var/cvsroot/gentoo-x86/app-admin/puppet/puppet-2.7.23.ebuild,v 1.7 2014/01/01 17:53:29 patrick Exp $
EAPI="4"
USE_RUBY="ruby18 ruby19"
USE_RUBY="ruby19"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_TASK_TEST="test"

@ -1,10 +1,10 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/puppet/puppet-3.2.4.ebuild,v 1.6 2013/12/24 12:45:41 ago Exp $
# $Header: /var/cvsroot/gentoo-x86/app-admin/puppet/puppet-3.2.4.ebuild,v 1.7 2014/01/01 17:53:29 patrick Exp $
EAPI="4"
USE_RUBY="ruby18 ruby19"
USE_RUBY="ruby19"
inherit elisp-common xemacs-elisp-common eutils user ruby-ng versionator

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/rsyslog/rsyslog-7.4.7.ebuild,v 1.2 2013/12/25 15:20:40 jer Exp $
# $Header: /var/cvsroot/gentoo-x86/app-admin/rsyslog/rsyslog-7.4.7.ebuild,v 1.3 2013/12/31 08:44:11 maekke Exp $
EAPI=5
AUTOTOOLS_AUTORECONF=yes
@ -12,7 +12,7 @@ HOMEPAGE="http://www.rsyslog.com/"
SRC_URI="http://www.rsyslog.com/files/download/${PN}/${P}.tar.gz"
LICENSE="GPL-3 LGPL-3 Apache-2.0"
KEYWORDS="~amd64 ~hppa ~x86"
KEYWORDS="~amd64 ~arm ~hppa ~x86"
SLOT="0"
IUSE="dbi debug doc extras kerberos mongodb mysql oracle postgres relp snmp ssl static-libs systemd zeromq zlib"

@ -1,3 +1,2 @@
DIST syslog-ng_3.4.2.tar.gz 3354842 SHA256 f2585b42e7341bc53490aa59c5f405df506536bf0672bf71f9567ea78590f381 SHA512 94d1c8008c72a7fb82c86eb4ff666cacee26e2b1d7100f58a0ea5293e4efc74ad9608a7b1e72b217f9e6ead4b6ad82f5cf9e00dfcb230a03d3243f5c51fd5305 WHIRLPOOL ddb721e940e674a74079fb150213e7595f2a52eb8709f1a032bf6def93906b6f93c9a5131991946b1e19a026ca8162c40d7c7e537498f29a3d33b401c678611a
DIST syslog-ng_3.4.5.tar.gz 3202771 SHA256 b8a69d8131efc2378d9149ff54e99f91ea1c47c69e0f4629395d910c7ff71bfb SHA512 41662ba0726a78fb55ffd08532c80b43cf8c06c6c207d9e2bc4558d5772531b602e20a6d8c0d2f0c453e757589b80d1942c533c6a5c6249092cfcb209fc94e4b WHIRLPOOL f52a95eaa9346fd383db2c7ca256a1226ceac0d59354f872ac5c047e234e4b3a379e13e18dc36bb91dbc1b6c43f1f916345c2ccde7cd421348bf21922d1767f6
DIST syslog-ng_3.4.6.tar.gz 3202600 SHA256 9484abba03a91d093542996deef68b187186a037f4537606a35f548da0199133 SHA512 e21da2efd066f9bbbc7f058f94d6c974946c3017b07c52ce5b3a0631ddd3f470c24a91c2a89dbdd20797039516c5ac0f45dd3d7089d6902c7509679139dd75c1 WHIRLPOOL f121d682bb8f83b351323f087aa0f58c20352bb26057f9a388049a54e4563725708cae6bea3348e49531f5d0d16f2329e9c2ba396ae1d4de63164c10a75b2d58
DIST syslog-ng_3.4.7.tar.gz 3203894 SHA256 7b1114ff0bd9d2c52a8ce407f0f59102ea4123ff7efb3f84253961e0de6ac1b0 SHA512 66c1dafaa9441fd909b450e79ec3d1011bd423301602b0eea372e141ff267ddb60aa0280ef49b1f62d24b3f17fc1909a6ce8cc5bea0e3c6708df64815a534279 WHIRLPOOL b3b9aef566cc4577b4ec6ad96f696e29abd84d663205cadca766a50c933d29e3b195b6679cbb8e0edca96cc6995ab10fe409531eb15c90bfeb82a598ad7cf3fe

@ -1,99 +0,0 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/syslog-ng-3.4.6.ebuild,v 1.1 2013/11/29 02:25:01 mr_bones_ Exp $
EAPI=5
inherit eutils multilib systemd
MY_PV=${PV/_/}
DESCRIPTION="syslog replacement with advanced filtering features"
HOMEPAGE="http://www.balabit.com/network-security/syslog-ng"
SRC_URI="http://www.balabit.com/downloads/files/syslog-ng/sources/${MY_PV}/source/syslog-ng_${MY_PV}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE="caps dbi geoip ipv6 json mongodb +pcre smtp spoof-source ssl systemd tcpd"
RESTRICT="test"
RDEPEND="
pcre? ( dev-libs/libpcre )
spoof-source? ( net-libs/libnet:1.1 )
ssl? ( dev-libs/openssl:= )
smtp? ( net-libs/libesmtp )
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
>=dev-libs/eventlog-0.2.12
>=dev-libs/glib-2.10.1:2
json? ( >=dev-libs/json-c-0.9 )
caps? ( sys-libs/libcap )
geoip? ( >=dev-libs/geoip-1.5.0 )
dbi? ( >=dev-db/libdbi-0.8.3 )
systemd? ( sys-apps/systemd )"
DEPEND="${RDEPEND}
virtual/pkgconfig
sys-devel/flex"
S=${WORKDIR}/${PN}-${MY_PV}
src_configure() {
econf \
--with-ivykis=internal \
--with-libmongo-client=internal \
--sysconfdir=/etc/syslog-ng \
--localstatedir=/var/lib/syslog-ng \
--with-pidfile-dir=/var/run \
--with-module-dir=/usr/$(get_libdir)/syslog-ng \
$(systemd_with_unitdir) \
$(use_enable systemd) \
$(use_enable caps linux-caps) \
$(use_enable geoip) \
$(use_enable ipv6) \
$(use_enable json) \
$(use_enable mongodb) \
$(use_enable pcre) \
$(use_enable smtp) \
$(use_enable spoof-source) \
$(use_enable dbi sql) \
$(use_enable ssl) \
$(use_enable tcpd tcp-wrapper)
}
src_install() {
# -j1 for bug #484470
emake -j1 DESTDIR="${D}" install
dodoc AUTHORS NEWS contrib/syslog-ng.conf* contrib/syslog2ng \
"${FILESDIR}/${PV%.*}/syslog-ng.conf.gentoo.hardened" \
"${FILESDIR}/syslog-ng.logrotate.hardened" \
"${FILESDIR}/README.hardened"
# Install default configuration
insinto /etc/syslog-ng
if use userland_BSD ; then
newins "${FILESDIR}/${PV%.*}/syslog-ng.conf.gentoo.fbsd" syslog-ng.conf
else
newins "${FILESDIR}/${PV%.*}/syslog-ng.conf.gentoo" syslog-ng.conf
fi
insinto /etc/logrotate.d
newins "${FILESDIR}/syslog-ng.logrotate" syslog-ng
newinitd "${FILESDIR}/${PV%.*}/syslog-ng.rc6" syslog-ng
newconfd "${FILESDIR}/${PV%.*}/syslog-ng.confd" syslog-ng
keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
prune_libtool_files --modules
}
pkg_postinst() {
elog "For detailed documentation please see the upstream website:"
elog "http://www.balabit.com/sites/default/files/documents/syslog-ng-ose-3.4-guides/en/syslog-ng-ose-v3.4-guide-admin/html/index.html"
# bug #355257
if ! has_version app-admin/logrotate ; then
echo
elog "It is highly recommended that app-admin/logrotate be emerged to"
elog "manage the log files. ${PN} installs a file in /etc/logrotate.d"
elog "for logrotate to use."
echo
fi
}

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/syslog-ng-3.4.5.ebuild,v 1.1 2013/11/04 17:42:33 mr_bones_ Exp $
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/syslog-ng-3.4.7.ebuild,v 1.1 2013/12/31 08:24:58 mr_bones_ Exp $
EAPI=5
inherit eutils multilib systemd

@ -1,2 +1 @@
DIST oclHashcat-lite-0.14.7z 2967901 SHA256 faec3c48c1ee9adde97d4f5efad17bb36ce4e69b495eeed80ae89d6faf9db551 SHA512 71fd31947208df6cd1ce26d64b0b68191d479a8142cde936eafe4c256e11905ab955a238a93393f3cf5865c75729d13bb0d496da9109c5f644e326331dca9b08 WHIRLPOOL 4c6972b5c993debbd1590fa0b4fdc59ba409cc9bcee05de2112cf4c79a74bf67c63e5a5abf70047fe0ae4cb1d6f23a57b83b84f3f1ac34e8247e9542da1d7881
DIST oclHashcat-lite-0.15.7z 6026598 SHA256 40fd6f5410e1c0d5d5e7c9d60c173d838289025a2fc36b86690fb26657ed5796 SHA512 b70738a40cdbc5062cb72f1de93a2d29cdd824b7f3cb0f5bc42e3a7e83246d2247385040efe230afffa26ddf26823ecefabf16f31b1925c7460e7cd8933342b8 WHIRLPOOL b53ce94f04dd464fd6727641726aa56620ec6dcf5c557887c7346955b08b33f187b59db27debf98210c477299ef13c8f7334e8c3b2234b27edf0fe97b1438235

@ -1,107 +0,0 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-crypt/oclhashcat-lite-bin/oclhashcat-lite-bin-0.14.ebuild,v 1.1 2013/02/03 02:00:57 zerochaos Exp $
EAPI=5
inherit eutils pax-utils
DESCRIPTION="An opencl hash cracker"
HOMEPAGE="http://hashcat.net/oclhashcat-lite/"
MY_P="oclHashcat-lite-${PV}"
SRC_URI="http://hashcat.net/files/${MY_P}.7z"
#license applies to this version per http://hashcat.net/forum/thread-1348.html
LICENSE="hashcat"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
IUSE_VIDEO_CARDS="video_cards_fglrx
video_cards_nvidia"
IUSE="${IUSE_VIDEO_CARDS}"
RDEPEND="sys-libs/zlib
video_cards_nvidia? ( >=x11-drivers/nvidia-drivers-310.32 )
video_cards_fglrx? ( =x11-drivers/ati-drivers-13.1 )"
DEPEND="${RDEPEND}
app-arch/p7zip"
S="${WORKDIR}/${MY_P}"
RESTRICT="strip"
QA_PREBUILT="*Hashcat-lite*.bin"
src_install() {
dodoc docs/*
rm -rf *.exe docs || die
if use x86; then
rm oclHashcat-lite64.bin || die
rm cudaHashcat-lite64.bin || die
fi
if use amd64; then
rm oclHashcat-lite32.bin || die
rm cudaHashcat-lite32.bin || die
fi
if ! use video_cards_fglrx; then
rm -r kernels/4098 || die
rm oclHashcat-lite*.bin || die
fi
if ! use video_cards_nvidia; then
rm -r kernels/4318 || die
rm cudaHashcat-lite*.bin || die
fi
#I assume this is needed but I didn't check
pax-mark m *Hashcat-lite*.bin
insinto /opt/${PN}
doins -r "${S}"/*
dodir /opt/bin
cat <<-EOF > "${ED}"/opt/bin/oclhashcat-lite
#! /bin/sh
echo "oclHashcat-lite and all related files have been installed in /opt/${PN}"
echo "Please run one of the following binaries to use gpu accelerated hashcat:"
EOF
for x in oclHashcat-lite64.bin oclHashcat-lite32.bin cudaHashcat-lite64.bin cudaHashcat-lite32.bin
do
if [ -f "${ED}"/opt/${PN}/${x} ]
then
case "${x}" in
oclHashcat-lite64.bin)
echo "echo '64 bit ATI accelerated \"oclHashcat-lite64.bin\"'" >> "${ED}"/opt/bin/oclhashcat-lite
;;
oclHashcat-lite32.bin)
echo "echo '32 bit ATI accelerated \"oclHashcat-lite32.bin\"'" >> "${ED}"/opt/bin/oclhashcat-lite
;;
cudaHashcat-lite64.bin)
echo "echo '64 bit NVIDIA accelerated \"cudaHashcat-lite64.bin\"'" >> "${ED}"/opt/bin/oclhashcat-lite
;;
cudaHashcat-lite32.bin)
echo "echo '32 bit NVIDIA accelerated \"cudaHashcat-lite32.bin\"'" >> "${ED}"/opt/bin/oclhashcat-lite
;;
esac
fperms +x /opt/${PN}/${x}
cat <<-EOF > "${ED}"/opt/bin/${x}
#! /bin/sh
cd /opt/${PN}
echo "Warning: ${x} is running from /opt/${PN} so be careful of relative paths."
exec ./${x} "\$@"
EOF
fperms +x /opt/bin/${x}
fi
done
fperms +x /opt/bin/oclhashcat-lite
fowners root:video /opt/${PN}
touch "${ED}"/opt/${PN}/eula.accepted
fperms 0660 /opt/${PN}/eula.accepted
einfo "oclhashcat-lite can be run as user if you are in the video group"
}

@ -1,13 +1,13 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-doc/pms/pms-5-r2.ebuild,v 1.9 2013/12/29 23:35:56 fauli Exp $
# $Header: /var/cvsroot/gentoo-x86/app-doc/pms/pms-5-r2.ebuild,v 1.10 2013/12/30 10:07:18 ulm Exp $
EAPI=5
DESCRIPTION="Gentoo Package Manager Specification"
HOMEPAGE="http://www.gentoo.org/proj/en/qa/pms.xml"
SRC_URI="!binary? ( mirror://gentoo/${P}.tar.xz )
binary? ( mirror://gentoo/${P}-prebuilt.tar.xz )"
HOMEPAGE="http://wiki.gentoo.org/wiki/Project:PMS"
SRC_URI="!binary? ( http://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz )
binary? ( http://dev.gentoo.org/~ulm/distfiles/${P}-prebuilt.tar.xz )"
LICENSE="CC-BY-SA-3.0"
SLOT="0"

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-doc/pms/pms-9999.ebuild,v 1.4 2013/08/09 21:07:47 ulm Exp $
# $Header: /var/cvsroot/gentoo-x86/app-doc/pms/pms-9999.ebuild,v 1.5 2013/12/30 10:07:18 ulm Exp $
EAPI=5
@ -10,7 +10,7 @@ EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/${PN}.git
http://git.overlays.gentoo.org/gitroot/proj/${PN}.git"
DESCRIPTION="Gentoo Package Manager Specification (draft)"
HOMEPAGE="http://www.gentoo.org/proj/en/qa/pms.xml"
HOMEPAGE="http://wiki.gentoo.org/wiki/Project:PMS"
LICENSE="CC-BY-SA-3.0"
SLOT="live"

@ -1,2 +1 @@
DIST e3-2.7.1.tar.gz 189422 SHA256 61e16420480b1bef085952c0e5130a9151a617c3432b4c302c23740d5eb5049e SHA512 e10dc5b8fde9ea791809c39a700801f54e8bbe4d998b0fd7329a30171f8f0c6cbeb218f5fb5f3c6913d4913ce53adc3608d24569b76f55f09a0346df44842289 WHIRLPOOL a9aded3981d6b5a1ba91ef1d973e4211c2cc456722afe1b79c8f2130aa0a9e4e3715c5a83dee5989cc2e589e0b5de08f12e786a2e936ed61ec309300a0e05e22
DIST e3-2.8.tgz 119939 SHA256 035737d0cc82b287386fdff8682b2c23ef620d7ef97dff7a1b1fe1777e4c4fb7 SHA512 f3443ac558203b6921458761174ebc060936ae9f8a834670044152b9af52e0919075ac8110ba47b4b6f4e8261afa917e9fe49492b8d40d38d69987353ddd5189 WHIRLPOOL 9531a30229fe78bb2f55621d085d561923cae4b7db6c91f46320c81516936389f765fa0ef8bc65c19fefae40a60e50b5541f1e751a03aabf56d6b57dbf4cb165

@ -1,37 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-editors/e3/e3-2.7.1.ebuild,v 1.6 2010/03/30 22:39:27 fauli Exp $
DESCRIPTION="Very tiny editor in ASM with emacs, pico, wordstar, and vi keybindings"
HOMEPAGE="http://freshmeat.net/projects/e3/
http://mitglied.multimania.de/albkleine/"
SRC_URI="http://mitglied.multimania.de/albkleine/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="-* amd64 x86"
IUSE=""
RESTRICT="strip"
DEPEND="x86? ( >=dev-lang/nasm-0.98.39-r3 )
amd64? ( >=dev-lang/yasm-0.6.1 )"
RDEPEND=""
src_compile() {
local target=""
use amd64 && target="yasm64"
emake ${target} || die "emake failed"
}
src_install() {
dobin e3 || die "dobin failed"
dosym e3 /usr/bin/e3em
dosym e3 /usr/bin/e3ne
dosym e3 /usr/bin/e3pi
dosym e3 /usr/bin/e3vi
dosym e3 /usr/bin/e3ws
newman e3.man e3.1
dodoc ChangeLog README
dohtml e3.html
}

@ -1,17 +1,16 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-editors/e3/e3-2.8.ebuild,v 1.5 2012/06/09 14:47:27 jlec Exp $
# $Header: /var/cvsroot/gentoo-x86/app-editors/e3/e3-2.8.ebuild,v 1.6 2014/01/01 16:42:11 ulm Exp $
EAPI=3
EAPI=5
DESCRIPTION="Very tiny editor in ASM with emacs, pico, wordstar, and vi keybindings"
HOMEPAGE="http://sites.google.com/site/e3editor/"
SRC_URI="http://sites.google.com/site/e3editor/Home/${P}.tgz"
LICENSE="GPL-2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="-* amd64 x86"
IUSE=""
RESTRICT="strip"
DEPEND=">=dev-lang/nasm-2.09.04"
@ -22,22 +21,18 @@ src_prepare() {
}
src_compile() {
if use amd64; then
emake -- 64 || die
else
emake -- 32 || die
fi
emake -- $(usex amd64 64 32)
}
src_install() {
dobin e3 || die
dobin e3
dosym e3 /usr/bin/e3em
dosym e3 /usr/bin/e3ne
dosym e3 /usr/bin/e3pi
dosym e3 /usr/bin/e3vi
dosym e3 /usr/bin/e3ws
newman e3.man e3.1 || die
dohtml e3.html || die
newman e3.man e3.1
dohtml e3.html
dodoc ChangeLog README README_OLD
}

@ -5,10 +5,10 @@ DIST emacs-21.4-patches-13.tar.bz2 13287 SHA256 892764ff98f0640ca65b57099a24c76a
DIST emacs-21.4a.tar.gz 20403483 SHA256 1d50ddae117c48d689a3d772e390569edccfdc22168be0112d2093bd2d7c3216 SHA512 6932db498e7b6b904d90f817e335690c5c681510812332c514af1d84d91b9841ea3eff0357429c7bf866a55ab94d03193fc9cdbf403a9fe4b71d2673c23b863e WHIRLPOOL e711032d23b0e0b33bf95e006d6fc518ddfde4780d23d589fde47ccd94e60687cc9b65b85e04e7af4e8c9161fd8faebf13d28f4f43eb94e7bb7520d537f28751
DIST emacs-22.3-patches-8.tar.bz2 5974 SHA256 72a68bd14ce2efd52b0425c56649d735f4b3c0e630de73e0eb51ddf947d56ff7 SHA512 b3489e57db9b7c4d9202238acd6f956b6adeaf09ec161b639ad59e0eea8e2152d5fad24e777a486310eaed68be1c7bf77e474a9aced0041820e74582f7e2e73d WHIRLPOOL 85d127fb9b367d73d8f2674e21096a23b474faf54fa21f178ea0e0dadbb285d1d7c627b7609b7c92ba27590340cf76afc4df4a5c991c252a7ce80b2f6569cf06
DIST emacs-22.3.tar.gz 39587396 SHA256 7bd9b719db8ee20c75ee0d256737f7fd2c0e2ea30a285a3afbfc32c856420d16 SHA512 6cba24921ba9bd27458334b92c6f8fcacc4d5af0f70a067d57ab068eb8d0925143f109847515548584f80c9439d96a9d05158d10a73dda917187bd16a6758584 WHIRLPOOL 74c612213b8f6fc1fc6e243adc27b5a5ff5528100f3c319925519e23477fe2c642d2cf7b382d7b70c8b2b9d7be508773193c95bbf14cb7c55046f76bf4b81225
DIST emacs-23.4-patches-8.tar.bz2 4742 SHA256 ec48d5186aa31240d5740a02949f5ac5366cc3c742bcd53ed394c5484d68c38c SHA512 ef7c3d41853a619201ba67922dd62300a21c38b5c6817aedc15c4e2b812255909bca65b88eac1b937c72091d6e87aa3d7ab1f04fd20c0966b3177d58c367cbe5 WHIRLPOOL 240864774359385df21745c550b6771e9bd3cfecb8040055bf79f8db285b3f0b04b392b69a540adf851fda2cf94066e40a050620d309d4b0284c7858f04bb67b
DIST emacs-23.4-patches-9.tar.xz 4916 SHA256 aa7d0cceb6c04fb2faca0e5d881aa32ace23a87aebab40ddc47e48c8871d27dc SHA512 876869afa877f7d7d425a8b0686f1e6ffcdff16425dbbc7a3c0c4eccf83193bf4ca06e69efb922dcf56a4c5cc869dc4de88a5b7c7d2e1a8e7c98e82948dfc013 WHIRLPOOL 889c08bbc548e9564a341e06239ad0438fd7bd3d35f2b11f7189081abcd701d1cd398144007e775e06b493e06d36e35a5709719572c77e9505c6510f38c371fe
DIST emacs-23.4.tar.bz2 38646508 SHA256 26576f9e664397c729f78f5ffcd092969251988461896fe8793062346ee988b9 SHA512 def7a95ecaefae24d8102b96b1d575a23def1b11a8f0bb17b68f7913bd118e2ea4449a8feee76c1bd649f099b70419f0d494ddd9bb32b26f92720cda842b0296 WHIRLPOOL 2384c3f63ff153c3975e373334d6021d46b23ad3cab448ed2e1180501236453a61d13bf1dfbb2e6075bb141dd8511d85f77e37c763b39769f98de48eacc56f3b
DIST emacs-24.2-patches-3.tar.xz 3884 SHA256 cf2de3291f8dd09c8073300e2395182d51761055c67818a390cd7b052e764f44 SHA512 c424580bc9b93af3b99e5fcf0189a711314857019594ea90c42317f72cedf552bb3af93ce8394dd4af888d98395ff09a372535b7b58b98b8831adf165919e561 WHIRLPOOL 2eeb7a6b441626584ae2b9fd9eba231ef8b87e7ce017f703f8fe23b2cf2cb8e251dfb041c7affe73484d20916ea3fa341b583b23ffdf59948f66121a2613f63b
DIST emacs-24.2.tar.xz 34712012 SHA256 1f11b65520611d108eceea886cc1d2573704e18b19aded8a09b75fdea7eb0ddd SHA512 7627d985e9691dd5b5f2a14472592bc1da96ce90823ff50457bb5c20b6e746912b319befff5fb1dac024e1f150df6b7c687ee2cc785f5b7387885244f511bdbd WHIRLPOOL 37a2f8e45a7b3364728f9f99b0661a60355b93f19d745de505dc71b9d8a2ab4de6b4b75a104830da2bcc8d1b3d22539e5f52c85d2f104d8de0dcd0dd69dc9924
DIST emacs-24.3-patches-3.tar.xz 2108 SHA256 225e49dea51f913abf0f98800451a2c61acf52a4abdd72ddb63634d2d2795b08 SHA512 2d1ff6cbc799658e520a56c87a9ea7d40bf233698130fd65e4142fb9a0d2a71492e1af76501ed08d1bd014db41331ecabe443400cb84b09a395ad7362a207d50 WHIRLPOOL 11946a808bd8bd830f9f31dcc1cadb7282fe901855f8a65425524878ab9299b42ff9938a822ec2cb531bc885ec10e36b0e59fb6d388ef3330a77332bbf03c7fc
DIST emacs-24.3-patches-4.tar.xz 3256 SHA256 59a5d70335162f0b2baf62d86b0c054c7009f6c30dd22c73f3b84724a0c6453b SHA512 9cbf243800f358c01c76432309a6760a1d8f52afac7237ed9a738e4a67ae7c7ccae2293c39cbfecfa9dbe6de38e823d9b6eff0f8a12be3fe7c011bc3291e60f7 WHIRLPOOL ee96641b909bd4ccce91191c717ec474013c8bc2582bc04fe5c63285ba5873b340f3bd50219ba1f8feb7a769e8568c71e7b42267b7230ede227cc3b343905856
DIST emacs-24.3.tar.xz 35565352 SHA256 70aa2942e9ae689ed17eddedfca5027c364ffbcc8b59968b1645e935f4c7058d SHA512 a1300fa10a9fba2db9735db3d01382bcda89ceec033976c4622796dfdf6d2748ed5fa73edf229182b368190c8acbf706810dd5f344542d2c0d294154bc2d0ca9 WHIRLPOOL 687ad4c7d69b41884bf28269bdea1808e03cdcec5a5218d0bac23c07cca3ced341ef98b4d5892149e2dbe899774a5e60edde9931d6c0fe41687995f530fb61d8
DIST leim-21.4.tar.gz 3291433 SHA256 db24946985dd644bfed18815d6e991dad27f8ab1fd5823dd6dc4eb8dcd04333b SHA512 c361996f7a3fcc550e7af30a7df3f692071ded2c9dce998e72f537b0e8011f319cfae1742d0be463608a86852046cba23037a29c3ecdcbaf5976807e1d1a1e2c WHIRLPOOL d7f25d5d491f323b80609567ce5cbcb5f20109cdd4671e9972c79279a3ca5338bbf67d35ae8f0bc627bc06917f545d71ab1f66a09c647f47ddaea26772bfc5c1

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-23.4-r6.ebuild,v 1.4 2013/12/26 16:14:00 ulm Exp $
# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-23.4-r6.ebuild,v 1.5 2013/12/31 00:08:13 ulm Exp $
EAPI=5
WANT_AUTOMAKE="none"
@ -10,7 +10,7 @@ inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
HOMEPAGE="http://www.gnu.org/software/emacs/"
SRC_URI="mirror://gnu/emacs/${P}.tar.bz2
mirror://gentoo/${P}-patches-8.tar.bz2"
http://dev.gentoo.org/~ulm/emacs/${P}-patches-9.tar.xz"
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="23"
@ -62,7 +62,10 @@ DEPEND="${RDEPEND}
dbus? ( virtual/pkgconfig )
X? ( virtual/pkgconfig )
gzip-el? ( app-arch/gzip )
pax_kernel? ( sys-apps/paxctl )"
pax_kernel? (
sys-apps/attr
sys-apps/paxctl
)"
RDEPEND="${RDEPEND}
!<app-editors/emacs-vcs-${PV}"

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-24.3-r2.ebuild,v 1.16 2013/12/26 16:14:00 ulm Exp $
# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-24.3-r2.ebuild,v 1.17 2013/12/31 00:08:13 ulm Exp $
EAPI=5
@ -9,7 +9,7 @@ inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
HOMEPAGE="http://www.gnu.org/software/emacs/"
SRC_URI="mirror://gnu/emacs/${P}.tar.xz
mirror://gentoo/${P}-patches-3.tar.xz"
http://dev.gentoo.org/~ulm/emacs/${P}-patches-4.tar.xz"
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="24"
@ -72,7 +72,10 @@ DEPEND="${RDEPEND}
libxml2? ( virtual/pkgconfig )
X? ( virtual/pkgconfig )
gzip-el? ( app-arch/gzip )
pax_kernel? ( sys-apps/paxctl )"
pax_kernel? (
sys-apps/attr
sys-apps/paxctl
)"
RDEPEND="${RDEPEND}
!<app-editors/emacs-vcs-${PV}"

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-editors/nvi/nvi-1.81.6-r4.ebuild,v 1.1 2013/07/09 22:23:51 neurogeek Exp $
# $Header: /var/cvsroot/gentoo-x86/app-editors/nvi/nvi-1.81.6-r4.ebuild,v 1.2 2014/01/01 16:00:49 jer Exp $
EAPI=4
@ -26,7 +26,7 @@ SRC_URI="http://garage.linux.student.kuleuven.be/~skimo/nvi/devel/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
KEYWORDS="~alpha ~amd64 hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
IUSE="perl tcl unicode"
CDEPEND="|| ( ${DBDEPENDS} )

@ -1,2 +1,2 @@
DIST company-0.4.3.tar.bz2 29751 SHA256 25d3613bb5d8761d43773507e45568c514fecc8c1c1f373a7699f9b995a62fad SHA512 012a918eee3fe6ff5fdebece2fd8cbcc8e14aa0889b6f9ab1ba0036a8b1ae11a5a061a2b47d6e187e3102444d5aa7dc712b78b2d56033ac5d34ee0202a06e93d WHIRLPOOL ac017b3e606b533eb4b8c6986e4babcdafdec23bf87aaa1966b3d05eecdc6d0731f8aabb18f0f891c9f4a238cb679af3ec385721dfcd99dd72dc37d0c1f4e565
DIST company-0.5.tar.bz2 32573 SHA256 126eee519bc8ad5934657e51512496a0d2534a0e10daf12b07177409f4cb3999 SHA512 9682d1168e359c1bf00377d380117377b0fbd217a24bd9737c8e230f505b3c1d794df914ce01026f57cc03533523228bc2e7de7f41268facc63acf106444f315 WHIRLPOOL 78d857f5d2b7a1e18126cd81f2f3b51f3c98d5d2d910504030094c01c494631759ffaeba87fe28149baae7435058d3621c2005e4eb7b6d682f59b6d5e839c7e5
DIST company-mode-0.6.11.tar.gz 49129 SHA256 7edd6f7aeb70de6a35e108af16b2ca4bfc4965feb1dc53dfe2750433a4b1c7f7 SHA512 67bd5aa7f5814cbac584d0377e2401c42f9f11d67e0351c5853421fa75cd500b8214b4e3205ec8b244f6eefe44c216d0bf5a9e2b943bc28a70a81090b88f1f24 WHIRLPOOL 75f3e0fc27bf1d37fc8d4df4e6a85887df5c60b09cf315d425f532d7b18fc823e960c45bdd3c73dc7afbe3a389d00d915dd72b6915dd25b69db597b8d599d680

@ -1,29 +1,28 @@
# Copyright 1999-2009 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emacs/company-mode/company-mode-0.4.3.ebuild,v 1.3 2009/08/27 19:41:44 ulm Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emacs/company-mode/company-mode-0.6.11.ebuild,v 1.1 2014/01/01 17:44:25 ulm Exp $
EAPI=2
NEED_EMACS=22
EAPI=5
inherit elisp
DESCRIPTION="In-buffer completion front-end"
HOMEPAGE="http://nschum.de/src/emacs/company-mode/"
SRC_URI="http://nschum.de/src/emacs/${PN}/company-${PV}.tar.bz2"
HOMEPAGE="http://company-mode.github.com/"
SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="ropemacs semantic"
IUSE="ropemacs +semantic"
# Note: company-mode supports many backends, and we refrain from including
# them all in RDEPEND. Only depend on things that are needed at build time.
DEPEND="|| ( app-emacs/nxml-mode >=virtual/emacs-23 )
ropemacs? ( app-emacs/pymacs )
semantic? ( app-emacs/cedet )"
RDEPEND="${DEPEND}"
semantic? ( virtual/emacs-cedet )"
RDEPEND="${DEPEND}
ropemacs? ( dev-python/ropemacs )"
S="${WORKDIR}"
SITEFILE="50${PN}-gentoo.el"
src_prepare() {

@ -1,16 +1,17 @@
# Copyright 1999-2010 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emacs/h4x0r/h4x0r-0.13-r1.ebuild,v 1.6 2010/01/17 19:11:14 ulm Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emacs/h4x0r/h4x0r-0.13-r1.ebuild,v 1.7 2014/01/01 16:51:51 ulm Exp $
EAPI=5
inherit elisp
DESCRIPTION="Aid in writing like a script kiddie does"
HOMEPAGE="http://www.emacswiki.org/cgi-bin/emacs/EliteSpeech"
HOMEPAGE="http://www.emacswiki.org/emacs/EliteSpeech"
SRC_URI="mirror://gentoo/${P}.tar.gz"
LICENSE="GPL-2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ppc x86"
IUSE=""
SITEFILE="50${PN}-gentoo.el"

@ -1 +1,2 @@
DIST quilt-el-0.46.2.tar.gz 49753 SHA256 3f3d209df7c4fc217f7be27042006db311658bd028fe00257c3ac5c7b9d62368 SHA512 c8994db9239b08c0c018c8e1bb27cdd648b079fec532384baa133c55cad321a9f59bee8f3e5a87b22545093521c4fdb57953509fc714f953e58a211c8ca3133b WHIRLPOOL 5c43428f69a4897a21d69fbac38ce339318d8fa58a43da13257fc67b03020f4999c60797d3e9325d620751a5eb5e72eb17860b3d941a7ed48453298488614632
DIST quilt-el-0.48.0.tar.gz 13147 SHA256 6c7a80d7f121d4958e989ad98065667d328905b893551f2f3e6f56449506ad24 SHA512 0a198ef0f8354c927c4527bb7a3e99fd6d12f17cbe65c736341c527de440d144581205337163912ce04f83749c31833221cc4153d5736ffec060ad4ade73c694 WHIRLPOOL fc083629a622500105315ab8553f81721b9902132bb63ebf0a4132aee8303ba304a6779cdff9a6db282cc01b3cc66fd30ace4a9e27eb4adb5e795ea34d6e997b

@ -1,6 +1,3 @@
;;; quilt-el site-lisp configuration
(add-to-list 'load-path "@SITELISP@")
(autoload 'quilt-mode "quilt"
"Toggle quilt-mode. With positive arg, enable quilt-mode." t)

@ -1,5 +1,3 @@
Index: quilt-el/quilt.el
===================================================================
--- quilt-el.orig/quilt.el
+++ quilt-el/quilt.el
@@ -399,6 +399,7 @@
@ -9,4 +7,4 @@ Index: quilt-el/quilt.el
+ (delete-window)
(delete-file tmp)))
(defvar quilt-header-mode-map (make-keymap))
(defvar quilt-header-mode-map (make-keymap))

@ -1,5 +1,3 @@
Index: quilt-el/quilt.el
===================================================================
--- quilt-el.orig/quilt.el
+++ quilt-el/quilt.el
@@ -25,7 +25,7 @@

@ -0,0 +1,11 @@
--- quilt-el-0.48.0-orig/quilt.el
+++ quilt-el-0.48.0/quilt.el
@@ -49,7 +49,7 @@
(defun quilt-find-dir (fn)
"Return the top level dir of quilt from FN."
- (if (or (not fn) (equal fn "/"))
+ (if (or (not fn) (equal fn (file-name-directory fn)))
nil
(let ((d (file-name-directory fn)))
(if (file-accessible-directory-p (concat d "/.pc"))

@ -0,0 +1,22 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emacs/quilt-el/quilt-el-0.48.0.ebuild,v 1.1 2014/01/01 18:11:52 ulm Exp $
EAPI=5
inherit elisp eutils
DESCRIPTION="Quilt mode for Emacs"
HOMEPAGE="http://satoru-takeuchi.org/dev/quilt-el/"
SRC_URI="http://satoru-takeuchi.org/dev/${PN}/download/${P}.tar.gz"
LICENSE="GPL-1+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86"
RDEPEND="dev-util/quilt"
ELISP_PATCHES="${P}-tramp-recursion.patch
${PN}-0.45.4-header-window.patch"
SITEFILE="50${PN}-gentoo.el"
DOCS="README changelog"

@ -1 +1,2 @@
DIST typing-1.1.2.tar.bz2 4898 SHA256 adea202fd52e38fe935e6e123eb8517312d028fac191d95d66c7db150d00f31c SHA512 e30e79970bb4eb225e102e8483c2ce8281a20d9d1163722838131e0b6699864b4d1e8b4c212551dead9066b36a7e24fd3ec1f6185bba171aeb47205667346158 WHIRLPOOL f63f53eee63e7de36b4e1c8b56c47ed997e36d0466dccd07dc41b613a3bab770d0ecb47da251b03cacb0e04c47b4f6a6c0825bd96720f0c58380ccb823e18b7b
DIST typing-1.1.4.el.xz 5092 SHA256 6f1c812481f21f610599e446ed408b28cb450b9c9a6923e06bbb73bffc13602a SHA512 9033b4ca2d23de98f8721796c708392b97d49b6719544ad4ee6d73f11ef253600d9c2a0d2b8ea89ef58355d1bfa36244ccd527994170ae0f43404c6ac19b62f3 WHIRLPOOL 2b7be549c67b55e9974e1fa40af0364c0554b8bf672225d2be3f43fc04a7f315907f3b54d2d732bcd04c68fcf894af33a9ce2c6a01660446189386b65ea92b09

@ -1,6 +1,2 @@
;;; typing site-lisp configuration
(add-to-list 'load-path "@SITELISP@")
(autoload 'typing-of-emacs "typing" "The Typing of Emacs, a game." t)
(autoload 'typing-of-emacs "typing" "Play the game The Typing Of Emacs." t)

@ -0,0 +1,17 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emacs/typing/typing-1.1.4.ebuild,v 1.1 2014/01/01 16:28:06 ulm Exp $
EAPI=5
inherit elisp
DESCRIPTION="The Typing of Emacs -- an Elisp parody of The Typing of the Dead for Dreamcast"
HOMEPAGE="http://www.emacswiki.org/emacs/TypingOfEmacs"
SRC_URI="http://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86"
SITEFILE="50${PN}-gentoo.el"

@ -1,6 +1,8 @@
# Copyright 1999-2008 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emacs/uboat/uboat-1.2.ebuild,v 1.14 2008/01/25 00:58:28 ulm Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emacs/uboat/uboat-1.2.ebuild,v 1.15 2014/01/01 15:54:36 ulm Exp $
EAPI=5
inherit elisp
@ -12,6 +14,5 @@ SRC_URI="mirror://gentoo/${P}.tar.bz2"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="amd64 ppc x86"
IUSE=""
SITEFILE=50${PN}-gentoo.el
SITEFILE="50${PN}-gentoo.el"

@ -1,21 +1,22 @@
# Copyright 1999-2009 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emacs/volume/volume-1.0.ebuild,v 1.4 2009/03/13 00:11:35 tcunha Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emacs/volume/volume-1.0.ebuild,v 1.5 2014/01/01 16:03:59 ulm Exp $
EAPI=5
inherit elisp
DESCRIPTION="Tweak your sound card volume from Emacs"
HOMEPAGE="http://www.brockman.se/software/volume-el/"
SRC_URI="mirror://gentoo/${P}.el.bz2"
HOMEPAGE="https://github.com/dbrock/volume-el"
SRC_URI="http://dev.gentoo.org/~ulm/distfiles/${P}.el.bz2"
LICENSE="GPL-2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ppc sparc x86"
IUSE=""
# NOTE we might define the following which volume.el can work with by
# default, but volume.el can really work with anything.
# RDEPEND="|| ( media-sound/aumixer media-sound/alsa-utils )"
SITEFILE=50${PN}-gentoo.el
SITEFILE="50${PN}-gentoo.el"

@ -1,16 +1,17 @@
# Copyright 1999-2010 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emacs/whine/whine-20091222.ebuild,v 1.3 2010/05/21 20:53:02 pacho Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emacs/whine/whine-20091222.ebuild,v 1.4 2014/01/01 16:34:42 ulm Exp $
EAPI=5
inherit elisp
DESCRIPTION="Complaint generator for GNU Emacs"
HOMEPAGE="http://www.emacswiki.org/emacs/Whine"
SRC_URI="mirror://gentoo/${P}.tar.bz2"
SRC_URI="http://dev.gentoo.org/~ulm/distfiles/${P}.tar.bz2"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
SITEFILE="50${PN}-gentoo.el"

@ -1,31 +0,0 @@
#!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/docker/files/docker.initd,v 1.1 2013/09/25 03:22:15 gregkh Exp $
DOCKER_LOGFILE=${DOCKER_LOGFILE:-/var/log/${SVCNAME}.log}
DOCKER_PIDFILE=${DOCKER_PIDFILE:-/run/${SVCNAME}.pid}
DOCKER_BINARY=${DOCKER_BINARY:-/usr/bin/docker}
start() {
touch "$DOCKER_LOGFILE"
chown root:docker "$DOCKER_LOGFILE"
chmod 0644 "$DOCKER_LOGFILE"
ebegin "Starting docker daemon"
start-stop-daemon --start --background \
--exec "$DOCKER_BINARY" \
--pidfile "$DOCKER_PIDFILE" \
--stdout "$DOCKER_LOGFILE" \
--stderr "$DOCKER_LOGFILE" \
-- -d -p "$DOCKER_PIDFILE"
eend $?
}
stop() {
ebegin "Stopping docker daemon"
start-stop-daemon --stop \
--exec "$DOCKER_BINARY" \
--pidfile "$DOCKER_PIDFILE"
eend $?
}

@ -1,6 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>proxy-maintainers</herd>
<maintainer status="active">
<email>admwiggin@gmail.com</email>
<name>Tianon</name>
</maintainer>
<longdescription>
Docker is an open-source project to easily create lightweight,
portable, self-sufficient containers from any application. The same
@ -8,10 +13,6 @@
scale, in production, on VMs, bare metal, OpenStack clusters, public
clouds and more.
</longdescription>
<maintainer status="active">
<email>admwiggin@gmail.com</email>
<name>Tianon</name>
</maintainer>
<use>
<flag name="aufs">
Enables dependencies for the "aufs" driver, including necessary

@ -1,273 +0,0 @@
#!/bin/bash
# construct.sh
# example construction of JRE and JDK directories from the DLJ bundles
#
# Copyright © 2006 Sun Microsystems, Inc.
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Sun, Sun Microsystems, the Sun logo and Java, Java HotSpot,
# and JVM trademarks or registered trademarks of Sun Microsystems,
# Inc. in the U.S. and other countries.
program=`basename $0`
usage () {
echo "usage: ${program} path/to/unbundle-jdk path/to/linux-jdk path/to/linux-jre"
}
getargs() {
undir=$1
jdkdir=$2
jredir=$3
if [ ! -d $undir ]; then
echo "${program}: unbundle directory not found: $undir"
exit 2
fi
# make sure javahome is the JDK
javahome=`echo $undir/*/demo`
if [ ! -d $javahome ]; then
echo "${program}: unbundle directory incorrect: $undir"
echo " expecting $undir/jdk1.5.0_xx"
exit 2
else
javahome=`dirname $javahome`
fi
# verify JDK dir
jdkdirp=`dirname $jdkdir`
jdkbase=`basename $jdkdir`
if [ ! -d $jdkdirp ]; then
echo "${program}: parent directory for JDK does not exist: $jdkdirp"
exit 2
fi
savedir=`pwd`
cd $jdkdirp
jdkdirp=`pwd`
cd $savedir
jdkdir=$jdkdirp/$jdkbase
# verify JRE dir
jredirp=`dirname $jredir`
jrebase=`basename $jredir`
if [ ! -d $jredirp ]; then
echo "${program}: parent directory for JRE does not exist: $jredirp"
exit 2
fi
savedir=`pwd`
cd $jredirp
jredirp=`pwd`
cd $savedir
jredir=$jredirp/$jrebase
}
checkfiles() {
if [ -r $jdkdir ]; then
echo "${program}: directory for JDK already exists: $jdkdir"
exit 2
fi
if [ -r $jredir ]; then
echo "${program}: directory for JRE already exists: $jredir"
exit 2
fi
}
copytree() {
echo "copying over the JDK tree..."
cp -a $javahome $jdkdir
}
linkrel() {
target=$1
link=$2
# make a softlink from the $link to the $target
# make this a relative link
targetb=(`echo $target | tr '/' ' '`)
linkb=(`echo $link | tr '/' ' '`)
(( n = ${#targetb[*]} ))
(( m = ${#linkb[*]} ))
c=$n # common length
if [ $m -lt $c ]; then
(( c = m ))
fi
for (( i = 0 ; i < c ; i++ )); do
if [ ${targetb[$i]} != ${linkb[$i]} ]; then
# echo components differ, stopping
break
fi
done
rel=""
for (( j = i + 1; j < m ; j++ )); do
if [ -z $rel ]; then
rel=".."
else
rel="$rel/.."
fi
done
for (( j = i; j < n ; j++ )); do
if [ -z $rel ]; then
rel=${targetb[$j]}
else
rel="$rel/${targetb[$j]}"
fi
done
ln -s $rel $link
}
createjre() {
echo "creating JRE directory..."
# absolute link
# ln -s $jdkdir/jre $jredir
# relative link
linkrel $jdkdir/jre $jredir
}
unpackjars() {
echo "unpacking jars..."
unpack200=$jdkdir/bin/unpack200
if [ ! -x $unpack200 ]; then
echo "${program}: file missing $unpack200"
exit 1
fi
cd $jdkdir
PACKED_JARS=`find . -name '*.pack'`
for i in $PACKED_JARS; do
# echo $i
jdir=`dirname $i`
jbase=`basename $i .pack`
if ! $unpack200 $jdkdir/$jdir/$jbase.pack $jdkdir/$jdir/$jbase.jar; then
echo "${program}: error unpacking $jdkdir/$jdir/$jbase.jar"
fi
if [ ! -r $jdkdir/$jdir/$jbase.jar ]; then
echo "${program}: missing $jdkdir/$jdir/$jbase.jar"
else
echo " $jdir/$jbase.jar"
# remove pack file
rm $jdkdir/$jdir/$jbase.pack
fi
done
}
preparecds() {
# if this is a client installation...
compiler="`$jdkdir/bin/java -client -version 2>&1 | tail -n +3 | cut -d' ' -f1-4`"
if [ "X$compiler" = "XJava HotSpot(TM) Client VM" ]; then
# create the CDS archive
echo "creating the class data sharing archive..."
if ! $jdkdir/bin/java -client -Xshare:dump > /dev/null 2>&1; then
echo "returned error code $?"
fi
fi
}
jreman () {
echo "setting up the JRE man pages..."
# note this list is slightly different for OpenSolaris bundles
jreman="${T}/jre.man.txt"
cat <<EOF > $jreman
man/ja_JP.eucJP/man1/java.1
man/ja_JP.eucJP/man1/javaws.1
man/ja_JP.eucJP/man1/keytool.1
man/ja_JP.eucJP/man1/orbd.1
man/ja_JP.eucJP/man1/pack200.1
man/ja_JP.eucJP/man1/policytool.1
man/ja_JP.eucJP/man1/rmid.1
man/ja_JP.eucJP/man1/rmiregistry.1
man/ja_JP.eucJP/man1/servertool.1
man/ja_JP.eucJP/man1/tnameserv.1
man/ja_JP.eucJP/man1/unpack200.1
man/man1/java.1
man/man1/javaws.1
man/man1/keytool.1
man/man1/orbd.1
man/man1/pack200.1
man/man1/policytool.1
man/man1/rmid.1
man/man1/rmiregistry.1
man/man1/servertool.1
man/man1/tnameserv.1
man/man1/unpack200.1
EOF
# create jre/man directory
# mkdir $jdkdir/jre/man
# move the real JRE man pages to jre/man
# link the JDK JRE man pages to jre/man
# real JDK man pages stay where they are
for m in `cat $jreman`; do
manpath=`dirname $jdkdir/jre/$m`
mkdir -p $manpath
mv $jdkdir/$m $jdkdir/jre/$m
linkrel $jdkdir/jre/$m $jdkdir/$m
done
# link in Japanese man pages
ln -s ja_JP.eucJP $jdkdir/jre/man/ja
rm $jreman
}
elimdups() {
echo "eliminating duplication between the JDK and JDK/jre..."
jdkcomm="${T}/jdk.bin.comm.txt"
cat <<EOF > $jdkcomm
bin/ControlPanel
bin/java
bin/javaws
bin/keytool
bin/orbd
bin/pack200
bin/policytool
bin/rmid
bin/rmiregistry
bin/servertool
bin/tnameserv
bin/unpack200
EOF
# note there is little point in linking these common files
# COPYRIGHT
# LICENSE
# THIRDPARTYLICENSEREADME.txt
# And this file is unique to the JDK
# README.html
# And these files are unique to the JDK/jre/
# CHANGES
# README
# Welcome.html
for p in `cat $jdkcomm`; do
rm $jdkdir/$p
# this is a relative link
ln -s ../jre/$p $jdkdir/$p
done
rm $jdkcomm
}
if [ $# -eq 3 ] ; then
getargs $1 $2 $3
checkfiles
copytree
createjre
unpackjars
#preparecds
jreman
elimdups
else
usage
exit 1
fi
exit 0

@ -1,138 +0,0 @@
diff --git a/Makefile.am b/Makefile.am
--- a/Makefile.am
+++ b/Makefile.am
@@ -75,9 +75,6 @@
if HAVE_HASKELL
SUBDIRS += haskell
endif
-if HAVE_PHP
-SUBDIRS += php
-endif
if HAVE_ERLANG
SUBDIRS += erlang erlang/examples
endif
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -356,6 +356,11 @@
DISTRO=UBUNTU
fi
fi
+if test -f /etc/gentoo-release; then
+ DISTRO=GENTOO
+fi
+
+
if test -f /etc/arch-release; then
DISTRO=ARCHLINUX
fi
@@ -368,6 +373,7 @@
AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl])
])
+AS_IF([test "xRPCGEN" = "xno"], [AC_MSG_ERROR([rpcgen not installed])],[])
dnl Check for Augeas (optional).
PKG_CHECK_MODULES([AUGEAS], [augeas],
@@ -381,9 +387,11 @@
AC_CHECK_FUNCS([aug_load aug_defvar aug_defnode])
LIBS="$old_LIBS"
],
- [AC_MSG_WARN([augeas not found, some core features will be disabled])])
+ [AC_MSG_ERROR([augeas not found, some core features will be disabled])])
dnl Check for libselinux (optional).
+dnl TODO selinux triplet
+
AC_CHECK_HEADERS([selinux/selinux.h])
AC_CHECK_LIB([selinux],[setexeccon],[
have_libselinux="$ac_cv_header_selinux_selinux_h"
@@ -409,7 +417,7 @@
AS_IF([test "x$enable_probes" != "xno"],[
dnl http://sourceware.org/systemtap/wiki/AddingUserSpaceProbingToApps
AC_CHECK_HEADERS([sys/sdt.h])
- dnl AC_CHECK_PROG([DTRACE],[dtrace],[dtrace],[no])
+ AC_CHECK_PROG([DTRACE],[dtrace],[dtrace],[no])
AS_IF([test "x$ac_cv_header_sys_sdt_h" = "xyes"],[
AC_DEFINE([ENABLE_PROBES],[1],[enable systemtap/DTrace userspace probes])
])
@@ -442,7 +450,7 @@
AC_MSG_RESULT([yes])
POD2_STDERR_OPTION="--stderr"
else
- AC_MSG_RESULT([no])
+ AC_MSG_RESULT([no]
POD2_STDERR_OPTION=""
fi
AC_SUBST([POD2_STDERR_OPTION])
@@ -464,11 +472,20 @@
dnl Check for optional xmllint.
AC_CHECK_PROG([XMLLINT],[xmllint],[xmllint],[no])
+AS_IF([test "xXMLLINT" = "xno"], [AC_MSG_ERROR([xmllint not installed])],[])
+
AM_CONDITIONAL([HAVE_XMLLINT],[test "x$XMLLINT" != "xno"])
dnl po4a for translating man pages and POD files (optional).
AC_CHECK_PROG([PO4A],[po4a],[po4a],[no])
-AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])
+AC_ARG_ENABLE([doc],
+ AS_HELP_STRING([--enable-doc], [Enable generation translating man pages and doc]),
+ [enable_doc=no],
+ [enable_doc=yes])
+AS_IF([test "xPO4A" = "xno"], [AC_MSG_WARN([po4a not installed])],[])
+AM_CONDITIONAL([HAVE_PO4A],[test "x$PO4A" != "xno" && test "x$enable_doc" != "xno"])
+
+
dnl Check for db_dump, db_load (optional).
AC_CHECK_PROGS([DB_DUMP],
@@ -641,6 +658,9 @@
[])
dnl Readline.
+dnl TODO - add ncurses LDFLGS separately
+dnl build --without-redline in fact broken with -lncurses not inherited
+
AC_ARG_WITH([readline],
[AS_HELP_STRING([--with-readline],
[support fancy command line editing @<:@default=check@:>@])],
@@ -894,11 +914,13 @@
[test "x$RAKE" != "xno" && test -n "$HAVE_LIBRUBY"])
dnl Check for Java.
-AC_ARG_WITH(java_home,
- [AS_HELP_STRING([--with-java-home],
- [specify path to JDK directory @<:@default=check@:>@])],
- [],
- [with_java_home=check])
+AC_ARG_ENABLE([java],
+ AS_HELP_STRING([--enable-java], [Disable Java language bindings]),
+ [enable_java=no],
+ [enable_java=yes])
+
+AS_IF([test "x$enable_java" = "xyes"],
+ [
if test "x$with_java_home" != "xno"; then
if test "x$with_java_home" != "xyes" && test "x$with_java_home" != "xcheck"
@@ -1034,7 +1056,9 @@
AC_SUBST(JNI_INSTALL_DIR)
AC_SUBST(JNI_VERSION_INFO)
-AM_CONDITIONAL([HAVE_JAVA],[test -n "$JAVAC"])
+
+])
+AM_CONDITIONAL([HAVE_JAVA],[test -n "$JAVAC" && test "x$enable_java" != "xno"])
dnl Check for Haskell (GHC).
GHC=no
@@ -1153,7 +1177,7 @@
dnl Replace libtool with a wrapper that clobbers dependency_libs in *.la files
dnl http://lists.fedoraproject.org/pipermail/devel/2010-November/146343.html
-LIBTOOL='bash $(top_srcdir)/libtool-kill-dependency_libs.sh $(top_builddir)/libtool'
+dnl LIBTOOL='bash $(top_srcdir)/libtool-kill-dependency_libs.sh $(top_builddir)/libtool'
AC_SUBST([LIBTOOL])
dnl Produce output files.

@ -1,15 +0,0 @@
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -384,6 +384,11 @@
DISTRO=UBUNTU
fi
fi
+
+if test -f /etc/gentoo-release; then
+ DISTRO=GENTOO
+fi
+
if test -f /etc/arch-release; then
DISTRO=ARCHLINUX
fi

@ -1,34 +0,0 @@
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -422,7 +422,7 @@
AC_CHECK_FUNCS([aug_load aug_defvar aug_defnode])
LIBS="$old_LIBS"
],
- [AC_MSG_WARN([augeas not found, some core features will be disabled])])
+ [AC_MSG_ERROR([augeas not found, some core features will be disabled])])
dnl Check for libselinux (optional).
AC_CHECK_HEADERS([selinux/selinux.h])
@@ -496,11 +496,20 @@
dnl Check for optional xmllint.
AC_CHECK_PROG([XMLLINT],[xmllint],[xmllint],[no])
+AS_IF([test "xXMLLINT" = "xno"], [AC_MSG_ERROR([xmllint not installed])],[])
+
AM_CONDITIONAL([HAVE_XMLLINT],[test "x$XMLLINT" != "xno"])
dnl po4a for translating man pages and POD files (optional).
AC_CHECK_PROG([PO4A],[po4a],[po4a],[no])
-AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])
+
+AC_ARG_ENABLE([doc],
+ AS_HELP_STRING([--enable-doc], [Enable generation translating man pages and doc]),
+ [enable_doc=no],
+ [enable_doc=yes])
+AS_IF([test "xPO4A" = "xno"], [AC_MSG_WARN([po4a not installed])],[])
+AM_CONDITIONAL([HAVE_PO4A],[test "x$PO4A" != "xno" && test "x$enable_doc" != "xno"])
+
dnl Check for db_dump, db_load (optional).
AC_CHECK_PROGS([DB_DUMP],

@ -1,15 +0,0 @@
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -1351,8 +1351,9 @@
dnl Replace libtool with a wrapper that clobbers dependency_libs in *.la files
dnl http://lists.fedoraproject.org/pipermail/devel/2010-November/146343.html
-LIBTOOL='bash $(top_srcdir)/libtool-kill-dependency_libs.sh $(top_builddir)/libtool'
-AC_SUBST([LIBTOOL])
+#LIBTOOL='bash $(top_srcdir)/libtool-kill-dependency_libs.sh $(top_builddir)/libtool'
+#AC_SUBST([LIBTOOL])
+LT_INIT
dnl Produce output files.
AC_CONFIG_HEADERS([config.h])

@ -1,62 +0,0 @@
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -524,29 +524,36 @@
fi
dnl Check for netpbm programs (optional).
-AC_CHECK_PROGS([PBMTEXT],[pbmtext],[no])
-AC_CHECK_PROGS([PNMTOPNG],[pnmtopng],[no])
-AC_CHECK_PROGS([BMPTOPNM],[bmptopnm],[no])
-AC_CHECK_PROGS([PAMCUT],[pamcut],[no])
-if test "x$PBMTEXT" != "xno"; then
- AC_DEFINE_UNQUOTED([PBMTEXT],["$PBMTEXT"],[Name of pbmtext program.])
-fi
-if test "x$PNMTOPNG" != "xno"; then
- AC_DEFINE_UNQUOTED([PNMTOPNG],["$PNMTOPNG"],[Name of pnmtopng program.])
-fi
-if test "x$BMPTOPNM" != "xno"; then
- AC_DEFINE_UNQUOTED([BMPTOPNM],["$BMPTOPNM"],[Name of bmptopnm program.])
-fi
-if test "x$PAMCUT" != "xno"; then
- AC_DEFINE_UNQUOTED([PAMCUT],["$PAMCUT"],[Name of pamcut program.])
-fi
+AC_ARG_ENABLE([icoutils],
+ AS_HELP_STRING([with-icoutils], [ Enable ico and bmp icon file inspection]),
+ [enable_icoutils=no],
+ [enable_icoutils=yes])
+AS_IF([test "enable_icoutils" != "xno"],
+ [
+ AC_CHECK_PROGS([PBMTEXT],[pbmtext],[no])
+ AC_CHECK_PROGS([PNMTOPNG],[pnmtopng],[no])
+ AC_CHECK_PROGS([BMPTOPNM],[bmptopnm],[no])
+ AC_CHECK_PROGS([PAMCUT],[pamcut],[no])
+ if test "x$PBMTEXT" != "xno"; then
+ AC_DEFINE_UNQUOTED([PBMTEXT],["$PBMTEXT"],[Name of pbmtext program.])
+ fi
+ if test "x$PNMTOPNG" != "xno"; then
+ AC_DEFINE_UNQUOTED([PNMTOPNG],["$PNMTOPNG"],[Name of pnmtopng program.])
+ fi
+ if test "x$BMPTOPNM" != "xno"; then
+ AC_DEFINE_UNQUOTED([BMPTOPNM],["$BMPTOPNM"],[Name of bmptopnm program.])
+ fi
+ if test "x$PAMCUT" != "xno"; then
+ AC_DEFINE_UNQUOTED([PAMCUT],["$PAMCUT"],[Name of pamcut program.])
+ fi
-dnl Check for icoutils (optional).
-AC_CHECK_PROGS([WRESTOOL],[wrestool],[no])
-if test "x$WRESTOOL" != "xno"; then
- AC_DEFINE_UNQUOTED([WRESTOOL],["$WRESTOOL"],[Name of wrestool program.])
-fi
-
+ dnl Check for icoutils (optional).
+ AC_CHECK_PROGS([WRESTOOL],[wrestool],[no])
+ if test "x$WRESTOOL" != "xno"; then
+ AC_DEFINE_UNQUOTED([WRESTOOL],["$WRESTOOL"],[Name of wrestool program.])
+ fi
+],
+[])
dnl Check for QEMU for running binaries on this $host_cpu, fall
dnl back to basic 'qemu'. Allow the user to override it.
qemu_system="`echo qemu-system-$host_cpu | $SED 's/i@<:@456@:>@86/i386/g'`"

@ -1,13 +0,0 @@
diff --git a/Makefile.am b/Makefile.am
--- a/Makefile.am
+++ b/Makefile.am
@@ -79,9 +79,6 @@
if HAVE_HASKELL
SUBDIRS += haskell
endif
-if HAVE_PHP
-SUBDIRS += php
-endif
if HAVE_ERLANG
SUBDIRS += erlang erlang/examples
endif

@ -1,104 +0,0 @@
diff --git a/modules/linux/vmxnet/vmxnet.c b/modules/linux/vmxnet/vmxnet.c
index a6f5740..3c75bb2 100644
--- a/modules/linux/vmxnet/vmxnet.c
+++ b/modules/linux/vmxnet/vmxnet.c
@@ -989,7 +989,7 @@ vmxnet_probe_device(struct pci_dev *pdev, // IN: vmxnet PCI device
.ndo_start_xmit = &vmxnet_start_tx,
.ndo_stop = &vmxnet_close,
.ndo_get_stats = &vmxnet_get_stats,
- .ndo_set_multicast_list = &vmxnet_set_multicast_list,
+ .ndo_set_rx_mode = &vmxnet_set_multicast_list,
.ndo_change_mtu = &vmxnet_change_mtu,
# ifdef VMW_HAVE_POLL_CONTROLLER
.ndo_poll_controller = vmxnet_netpoll,
@@ -2033,21 +2033,23 @@ vmxnet_map_pkt(struct sk_buff *skb,
offset -= skb_headlen(skb);
for ( ; nextFrag < skb_shinfo(skb)->nr_frags; nextFrag++){
+ int fragSize;
frag = &skb_shinfo(skb)->frags[nextFrag];
+ fragSize = skb_frag_size(frag);
// skip those frags that are completely copied
- if (offset >= frag->size){
- offset -= frag->size;
+ if (offset >= fragSize){
+ offset -= fragSize;
} else {
// map the part of the frag that is not copied
dma = pci_map_page(lp->pdev,
- frag->page,
+ frag->page.p,
frag->page_offset + offset,
- frag->size - offset,
+ fragSize - offset,
PCI_DMA_TODEVICE);
- VMXNET_FILL_SG(xre->sg.sg[nextSg], dma, frag->size - offset);
+ VMXNET_FILL_SG(xre->sg.sg[nextSg], dma, fragSize - offset);
VMXNET_LOG("vmxnet_map_tx: txRing[%u].sg[%d] -> frag[%d]+%u (%uB)\n",
- dd->txDriverNext, nextSg, nextFrag, offset, frag->size - offset);
+ dd->txDriverNext, nextSg, nextFrag, offset, fragSize - offset);
nextSg++;
nextFrag++;
@@ -2058,11 +2060,14 @@ vmxnet_map_pkt(struct sk_buff *skb,
// map the remaining frags, we might need to use additional tx entries
for ( ; nextFrag < skb_shinfo(skb)->nr_frags; nextFrag++) {
+ int fragSize;
frag = &skb_shinfo(skb)->frags[nextFrag];
+ fragSize = skb_frag_size(frag);
+
dma = pci_map_page(lp->pdev,
- frag->page,
+ frag->page.p,
frag->page_offset,
- frag->size,
+ fragSize,
PCI_DMA_TODEVICE);
if (nextSg == VMXNET2_SG_DEFAULT_LENGTH) {
@@ -2091,9 +2096,9 @@ vmxnet_map_pkt(struct sk_buff *skb,
nextSg = 0;
}
- VMXNET_FILL_SG(xre->sg.sg[nextSg], dma, frag->size);
+ VMXNET_FILL_SG(xre->sg.sg[nextSg], dma, fragSize);
VMXNET_LOG("vmxnet_map_tx: txRing[%u].sg[%d] -> frag[%d] (%uB)\n",
- dd->txDriverNext, nextSg, nextFrag, frag->size);
+ dd->txDriverNext, nextSg, nextFrag, fragSize);
nextSg++;
}
@@ -2548,7 +2553,7 @@ vmxnet_rx_frags(Vmxnet_Private *lp, struct sk_buff *skb)
if (UNLIKELY(newPage == NULL)) {
skb_shinfo(skb)->nr_frags = numFrags;
skb->len += skb->data_len;
- skb->truesize += skb->data_len;
+ skb->truesize += PAGE_SIZE;
compat_dev_kfree_skb(skb, FREE_WRITE);
@@ -2558,10 +2563,12 @@ vmxnet_rx_frags(Vmxnet_Private *lp, struct sk_buff *skb)
}
pci_unmap_page(pdev, rre2->paddr, PAGE_SIZE, PCI_DMA_FROMDEVICE);
- skb_shinfo(skb)->frags[numFrags].page = lp->rxPages[dd->rxDriverNext2];
+ __skb_frag_set_page(&skb_shinfo(skb)->frags[numFrags],
+ lp->rxPages[dd->rxDriverNext2]);
skb_shinfo(skb)->frags[numFrags].page_offset = 0;
skb_shinfo(skb)->frags[numFrags].size = rre2->actualLength;
skb->data_len += rre2->actualLength;
+ skb->truesize += PAGE_SIZE;
numFrags++;
/* refill the buffer */
@@ -2579,7 +2586,7 @@ vmxnet_rx_frags(Vmxnet_Private *lp, struct sk_buff *skb)
VMXNET_ASSERT(numFrags > 0);
skb_shinfo(skb)->nr_frags = numFrags;
skb->len += skb->data_len;
- skb->truesize += skb->data_len;
+ skb->truesize += PAGE_SIZE;
VMXNET_LOG("vmxnet_rx: %dB from rxRing[%d](%dB)+rxRing2[%d, %d)(%dB)\n",
skb->len, dd->rxDriverNext, skb_headlen(skb),
firstFrag, dd->rxDriverNext2, skb->data_len);

@ -1,168 +0,0 @@
--- makefile.orig 2009-01-04 15:20:55.353840670 +0100
+++ makefile 2009-01-04 15:22:32.340991641 +0100
@@ -10,7 +10,8 @@
else
OS_CCDEFS = -D_GNU_SOURCE
endif
-CC = gcc -std=c99 -O2 -U__STRICT_ANSI__ -g -lm -lrt $(OS_CCDEFS) -I .
+CC := $(CC) -std=c99 -U__STRICT_ANSI__ $(OS_CCDEFS) -I. $(CFLAGS)
+LIBS = -lm -lrt
ifeq ($(USE_NETWORK),)
else
NETWORK_OPT = -DUSE_NETWORK -DNEED_PCAP_SENDPACKET -lpcap
@@ -256,129 +257,129 @@
pdp1 : ${BIN}pdp1${EXE}
${BIN}pdp1${EXE} : ${PDP1} ${SIM}
- ${CC} ${PDP1} ${SIM} ${PDP1_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${PDP1} ${SIM} ${PDP1_OPT} -o $@ $(LIBS)
pdp4 : ${BIN}pdp4${EXE}
${BIN}pdp4${EXE} : ${PDP18B} ${SIM}
- ${CC} ${PDP18B} ${SIM} ${PDP4_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${PDP18B} ${SIM} ${PDP4_OPT} -o $@ $(LIBS)
pdp7 : ${BIN}pdp7${EXE}
${BIN}pdp7${EXE} : ${PDP18B} ${SIM}
- ${CC} ${PDP18B} ${SIM} ${PDP7_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${PDP18B} ${SIM} ${PDP7_OPT} -o $@ $(LIBS)
pdp8 : ${BIN}pdp8${EXE}
${BIN}pdp8${EXE} : ${PDP8} ${SIM}
- ${CC} ${PDP8} ${SIM} ${PDP8_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${PDP8} ${SIM} ${PDP8_OPT} -o $@ $(LIBS)
pdp9 : ${BIN}pdp9${EXE}
${BIN}pdp9${EXE} : ${PDP18B} ${SIM}
- ${CC} ${PDP18B} ${SIM} ${PDP9_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${PDP18B} ${SIM} ${PDP9_OPT} -o $@ $(LIBS)
pdp15 : ${BIN}pdp15${EXE}
${BIN}pdp15${EXE} : ${PDP18B} ${SIM}
- ${CC} ${PDP18B} ${SIM} ${PDP15_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${PDP18B} ${SIM} ${PDP15_OPT} -o $@ $(LIBS)
pdp10 : ${BIN}pdp10${EXE}
${BIN}pdp10${EXE} : ${PDP10} ${SIM}
- ${CC} ${PDP10} ${SIM} ${PDP10_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${PDP10} ${SIM} ${PDP10_OPT} -o $@ $(LIBS)
pdp11 : ${BIN}pdp11${EXE}
${BIN}pdp11${EXE} : ${PDP11} ${SIM}
- ${CC} ${PDP11} ${SIM} ${PDP11_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${PDP11} ${SIM} ${PDP11_OPT} -o $@ $(LIBS)
vax : ${BIN}vax${EXE}
${BIN}vax${EXE} : ${VAX} ${SIM}
- ${CC} ${VAX} ${SIM} ${VAX_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${VAX} ${SIM} ${VAX_OPT} -o $@ $(LIBS)
vax780 : ${BIN}vax780${EXE}
${BIN}vax780${EXE} : ${VAX780} ${SIM}
- ${CC} ${VAX780} ${SIM} ${VAX780_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${VAX780} ${SIM} ${VAX780_OPT} -o $@ $(LIBS)
nova : ${BIN}nova${EXE}
${BIN}nova${EXE} : ${NOVA} ${SIM}
- ${CC} ${NOVA} ${SIM} ${NOVA_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${NOVA} ${SIM} ${NOVA_OPT} -o $@ $(LIBS)
eclipse : ${BIN}eclipse${EXE}
${BIN}eclipse${EXE} : ${ECLIPSE} ${SIM}
- ${CC} ${ECLIPSE} ${SIM} ${ECLIPSE_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${ECLIPSE} ${SIM} ${ECLIPSE_OPT} -o $@ $(LIBS)
h316 : ${BIN}h316${EXE}
${BIN}h316${EXE} : ${H316} ${SIM}
- ${CC} ${H316} ${SIM} ${H316_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${H316} ${SIM} ${H316_OPT} -o $@ $(LIBS)
hp2100 : ${BIN}hp2100${EXE}
${BIN}hp2100${EXE} : ${HP2100} ${SIM}
- ${CC} ${HP2100} ${SIM} ${HP2100_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${HP2100} ${SIM} ${HP2100_OPT} -o $@ $(LIBS)
i1401 : ${BIN}i1401${EXE}
${BIN}i1401${EXE} : ${I1401} ${SIM}
- ${CC} ${I1401} ${SIM} ${I1401_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${I1401} ${SIM} ${I1401_OPT} -o $@ $(LIBS)
i1620 : ${BIN}i1620${EXE}
${BIN}i1620${EXE} : ${I1620} ${SIM}
- ${CC} ${I1620} ${SIM} ${I1620_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${I1620} ${SIM} ${I1620_OPT} -o $@ $(LIBS)
i7094 : ${BIN}i7094${EXE}
${BIN}i7094${EXE} : ${I7094} ${SIM}
- ${CC} ${I7094} ${SIM} ${I7094_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${I7094} ${SIM} ${I7094_OPT} -o $@ $(LIBS)
ibm1130 : ${BIN}ibm1130${EXE}
${BIN}ibm1130${EXE} : ${IBM1130}
- ${CC} ${IBM1130} ${SIM} ${IBM1130_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${IBM1130} ${SIM} ${IBM1130_OPT} -o $@ $(LIBS)
s3 : ${BIN}s3${EXE}
${BIN}s3${EXE} : ${S3} ${SIM}
- ${CC} ${S3} ${SIM} ${S3_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${S3} ${SIM} ${S3_OPT} -o $@ $(LIBS)
altair : ${BIN}altair${EXE}
${BIN}altair${EXE} : ${ALTAIR} ${SIM}
- ${CC} ${ALTAIR} ${SIM} ${ALTAIR_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${ALTAIR} ${SIM} ${ALTAIR_OPT} -o $@ $(LIBS)
altairz80 : ${BIN}altairz80${EXE}
${BIN}altairz80${EXE} : ${ALTAIRZ80} ${SIM}
- ${CC} ${ALTAIRZ80} ${SIM} ${ALTAIRZ80_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${ALTAIRZ80} ${SIM} ${ALTAIRZ80_OPT} -o $@ $(LIBS)
gri : ${BIN}gri${EXE}
${BIN}gri${EXE} : ${GRI} ${SIM}
- ${CC} ${GRI} ${SIM} ${GRI_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${GRI} ${SIM} ${GRI_OPT} -o $@ $(LIBS)
lgp : ${BIN}lgp${EXE}
${BIN}lgp${EXE} : ${LGP} ${SIM}
- ${CC} ${LGP} ${SIM} ${LGP_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${LGP} ${SIM} ${LGP_OPT} -o $@ $(LIBS)
id16 : ${BIN}id16${EXE}
${BIN}id16${EXE} : ${ID16} ${SIM}
- ${CC} ${ID16} ${SIM} ${ID16_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${ID16} ${SIM} ${ID16_OPT} -o $@ $(LIBS)
id32 : ${BIN}id32${EXE}
${BIN}id32${EXE} : ${ID32} ${SIM}
- ${CC} ${ID32} ${SIM} ${ID32_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${ID32} ${SIM} ${ID32_OPT} -o $@ $(LIBS)
sds : ${BIN}sds${EXE}
${BIN}sds${EXE} : ${SDS} ${SIM}
- ${CC} ${SDS} ${SIM} ${SDS_OPT} -o $@ ${LDFLAGS}
+ ${CC} $(LDFLAGS) ${SDS} ${SIM} ${SDS_OPT} -o $@ $(LIBS)

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/simh/simh-3.3.0.ebuild,v 1.4 2012/11/29 11:31:35 pinkbyte Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/simh/simh-3.3.0.ebuild,v 1.5 2013/12/31 17:07:43 tomwij Exp $
inherit eutils versionator
@ -41,7 +41,7 @@ src_install() {
newbin ${BINFILE} "simh-${BINFILE}"
done
cd ${S}
cd "${S}"
dodir /usr/share/simh
insinto /usr/share/simh
doins VAX/*.bin

@ -1,13 +0,0 @@
we don't link against libgnome, but we do gtk, so fix the pkg-config call
--- a/configure.ac
+++ b/configure.ac
@@ -148,7 +148,7 @@ AC_HELP_STRING([--with-gtk],
)
if test "x$with_gtk" = "xyes"; then
- PKG_CHECK_MODULES([GSKI], [libglade-2.0 libgnomeui-2.0 >= 1.110.0])
+ PKG_CHECK_MODULES([GSKI], [libglade-2.0 gtk+-2.0])
AC_DEFINE(HAVE_GTK, 1, [define if you have GTK support])
fi
AC_SUBST(GSKI_CFLAGS)

@ -1,21 +0,0 @@
From 2ffbca210033be262fc75e6a73742e0f0e6d5242 Mon Sep 17 00:00:00 2001
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Mon, 11 Apr 2011 10:44:10 +0000
Subject: controller: add missing spice/types include
---
diff --git a/spice/controller_prot.h b/spice/controller_prot.h
index 38329c5..697baa0 100644
--- a/spice/controller_prot.h
+++ b/spice/controller_prot.h
@@ -18,6 +18,8 @@
#ifndef _H_CONTROLLER_PROT
#define _H_CONTROLLER_PROT
+#include <spice/types.h>
+
#define CONTROLLER_MAGIC (*(uint32_t*)"CTRL")
#define CONTROLLER_VERSION 1
--
cgit v0.8.3-6-g21f6

@ -1,21 +0,0 @@
From: Richard Jones <rjones@redhat.com>
Date: Wed, 30 Dec 2009 12:15:25 +0000 (+0000)
Subject: Install virt-what in $sbindir since the script should only be run by root (suggested...
X-Git-Url: http://git.annexia.org/?p=virt-what.git;a=commitdiff_plain;h=25ec46454ca3aec7886d45ee4d99d7db330c34f7
Install virt-what in $sbindir since the script should only be run by root (suggested by Laurent Léonard)
---
diff --git a/Makefile.am b/Makefile.am
index 8efacb9..5f76d8f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,7 +21,7 @@ CLEANFILES = virt-what.1 virt-what.txt
AM_CPPFLAGS = -Wall
-bin_SCRIPTS = virt-what
+sbin_SCRIPTS = virt-what
libexec_PROGRAMS = virt-what-cpuid-helper
man_MANS = virt-what.1

@ -1,48 +0,0 @@
diff --git a/virt-what.in b/virt-what.in
index 11ca772..313cd06 100644
--- a/virt-what.in
+++ b/virt-what.in
@@ -70,14 +70,26 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
PATH=@libexecdir@:/sbin:/usr/sbin:$PATH
+# Many fullvirt hypervisors give an indication through CPUID. Use the
+# helper program to get this information.
+
+cpuid=`virt-what-cpuid-helper`
+
# Check for various products in the BIOS information.
dmi=`dmidecode 2>&1`
-if echo "$dmi" | grep -q 'Manufacturer: VMware'; then
+# Check for VMware.
+# cpuid check added by Chetan Loke.
+
+if [ "$cpuid" = "VMwareVMware" ]; then
+ echo vmware
+elif echo "$dmi" | grep -q 'Manufacturer: VMware'; then
echo vmware
fi
+# Check for VirtualPC.
+
if echo "$dmi" | grep -q 'Manufacturer: Microsoft Corporation'; then
echo virtualpc
fi
@@ -101,14 +113,9 @@ fi
# Check for UML.
# Added by Laurent Léonard.
if grep -q 'UML' /proc/cpuinfo; then
-    echo uml
+ echo uml
fi
-# To tell if it is Xen and KVM HVM (fully virtualized) we can use this
-# helper C program.
-
-cpuid=`virt-what-cpuid-helper`
-
# Check for Xen.
if [ "$cpuid" = "XenVMMXenVMM" ]; then

@ -1,40 +0,0 @@
#!/sbin/runscript
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.initd,v 1.2 2012/01/15 19:42:39 tove Exp $
depend() {
need localmount
before xdm
}
start() {
ebegin "Starting VirtualBox guest additions"
einfo " Loading kernel modules"
/sbin/modprobe vboxguest &> /dev/null
/sbin/modprobe vboxsf &> /dev/null
start-stop-daemon --start --make-pidfile \
--exec /usr/sbin/vboxguest-service --pidfile /var/run/vboxguest-service.pid \
--name vboxguest-service \
--background -- \
--foreground
eend $? "Failed to start vboxguest-service"
}
stop() {
local retval=1
ebegin "Stopping VirtualBox guest additions"
start-stop-daemon --stop --quiet \
--pidfile /var/run/vboxguest-service.pid --name vboxguest-service \
&& retval=0
einfo "Removing kernel modules"
/sbin/modprobe -r vboxsf &> /dev/null
/sbin/modprobe -r vboxguest &> /dev/null
eend ${retval} "Failed to stop vboxguest-service"
}

@ -1,29 +0,0 @@
#!/bin/bash
# Create a virtualbox modules tarball from a VirtualBox binary package.
# We cannot download the package by this script because of the unpredictable
# build number being in the filename.
#
# usage: create_vbox_modules_tarball.sh VirtualBox-4.1.18-78361-Linux_amd64.run
[ -f "$1" ] || exit 1
VBOX_PACKAGE="$1"
VERSION_SUFFIX=""
if [[ ${VBOX_PACKAGE} = *_BETA* ]] || [[ ${VBOX_PACKAGE} = *_RC* ]] ; then
VERSION_SUFFIX="$(echo ${VBOX_PACKAGE} | sed 's@.*VirtualBox-[[:digit:]\.]\+\(_[[:alpha:]]\+[[:digit:]]\).*@\L\1@')"
fi
VBOX_VER="$(echo ${VBOX_PACKAGE} | sed 's@.*VirtualBox-\([[:digit:]\.]\+\).*@\1@')${VERSION_SUFFIX}"
sh ${VBOX_PACKAGE} --noexec --keep --nox11 || exit 2
cd install || exit 3
tar -xaf VirtualBox.tar.bz2 || exit 4
cd src/vboxhost || exit 5
tar -cvJf ../../../vbox-kernel-module-src-${VBOX_VER}.tar.xz . || exit 6
cd ../../.. && rm install -rf
exit 0

@ -1,10 +0,0 @@
[Desktop Entry]
Version=1.0
Name=VMWare Player
Type=Application
Comment=Emulate a complete PC on your PC without the usual performance overhead of most emulators
MimeType=application/x-vmware-vm-legacy;application/x-vmware-team;application/x-vmware-vm-clone;application/x-vmware-vm;application/x-vmware-vm-clone;application/x-vmware-vm;application/x-vmware-vm-clone;application/x-vmware-vm;application/x-vmware-vmdisk;application/x-vmware-team;application/x-vmware-vmfoundry;application/x-vmware-vm;application/x-vmware-snapshot;
Exec=vmplayer
TryExec=vmplayer
Icon=vmware-player
Categories=System;

@ -1,10 +0,0 @@
[Desktop Entry]
Version=1.0
Name=VMWare Workstation
Type=Application
Comment=Emulate a complete PC on your PC without the usual performance overhead of most emulators
MimeType=application/x-vmware-vm-legacy;application/x-vmware-team;application/x-vmware-vm-clone;application/x-vmware-vm;application/x-vmware-vm-clone;application/x-vmware-vm;application/x-vmware-vm-clone;application/x-vmware-vm;application/x-vmware-vmdisk;application/x-vmware-team;application/x-vmware-vmfoundry;application/x-vmware-vm;application/x-vmware-snapshot;
Exec=vmware
TryExec=vmware
Icon=vmware-workstation
Categories=System;

@ -1,73 +0,0 @@
diff --git a/tools/ocaml/libs/xb/partial.ml b/tools/ocaml/libs/xb/partial.ml
index 3558889..d4d1c7b 100644
--- a/tools/ocaml/libs/xb/partial.ml
+++ b/tools/ocaml/libs/xb/partial.ml
@@ -27,8 +27,15 @@ external header_size: unit -> int = "stub_header_size"
external header_of_string_internal: string -> int * int * int * int
= "stub_header_of_string"
+let xenstore_payload_max = 4096 (* xen/include/public/io/xs_wire.h *)
+
let of_string s =
let tid, rid, opint, dlen = header_of_string_internal s in
+ (* A packet which is bigger than xenstore_payload_max is illegal.
+ This will leave the guest connection is a bad state and will
+ be hard to recover from without restarting the connection
+ (ie rebooting the guest) *)
+ let dlen = min xenstore_payload_max dlen in
{
tid = tid;
rid = rid;
@@ -38,6 +45,7 @@ let of_string s =
}
let append pkt s sz =
+ if pkt.len > 4096 then failwith "Buffer.add: cannot grow buffer";
Buffer.add_string pkt.buf (String.sub s 0 sz)
let to_complete pkt =
diff --git a/tools/ocaml/libs/xb/xs_ring_stubs.c b/tools/ocaml/libs/xb/xs_ring_stubs.c
index 00414c5..4888ac5 100644
--- a/tools/ocaml/libs/xb/xs_ring_stubs.c
+++ b/tools/ocaml/libs/xb/xs_ring_stubs.c
@@ -39,21 +39,23 @@ static int xs_ring_read(struct mmap_interface *interface,
char *buffer, int len)
{
struct xenstore_domain_interface *intf = interface->addr;
- XENSTORE_RING_IDX cons, prod;
+ XENSTORE_RING_IDX cons, prod; /* offsets only */
int to_read;
- cons = intf->req_cons;
- prod = intf->req_prod;
+ cons = *(volatile uint32*)&intf->req_cons;
+ prod = *(volatile uint32*)&intf->req_prod;
xen_mb();
+ cons = MASK_XENSTORE_IDX(cons);
+ prod = MASK_XENSTORE_IDX(prod);
if (prod == cons)
return 0;
- if (MASK_XENSTORE_IDX(prod) > MASK_XENSTORE_IDX(cons))
+ if (prod > cons)
to_read = prod - cons;
else
- to_read = XENSTORE_RING_SIZE - MASK_XENSTORE_IDX(cons);
+ to_read = XENSTORE_RING_SIZE - cons;
if (to_read < len)
len = to_read;
- memcpy(buffer, intf->req + MASK_XENSTORE_IDX(cons), len);
+ memcpy(buffer, intf->req + cons, len);
xen_mb();
intf->req_cons += len;
return len;
@@ -66,8 +68,8 @@ static int xs_ring_write(struct mmap_interface *interface,
XENSTORE_RING_IDX cons, prod;
int can_write;
- cons = intf->rsp_cons;
- prod = intf->rsp_prod;
+ cons = *(volatile uint32*)&intf->rsp_cons;
+ prod = *(volatile uint32*)&intf->rsp_prod;
xen_mb();
if ( (prod - cons) >= XENSTORE_RING_SIZE )
return 0;

@ -1,293 +0,0 @@
x86: fix various issues with handling guest IRQs
- properly revoke IRQ access in map_domain_pirq() error path
- don't permit replacing an in use IRQ
- don't accept inputs in the GSI range for MAP_PIRQ_TYPE_MSI
- track IRQ access permission in host IRQ terms, not guest IRQ ones
(and with that, also disallow Dom0 access to IRQ0)
This is CVE-2013-1919 / XSA-46.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -968,14 +968,16 @@ static void domcreate_launch_dm(libxl__e
}
for (i = 0; i < d_config->b_info.num_irqs; i++) {
- uint32_t irq = d_config->b_info.irqs[i];
+ int irq = d_config->b_info.irqs[i];
- LOG(DEBUG, "dom%d irq %"PRIx32, domid, irq);
+ LOG(DEBUG, "dom%d irq %d", domid, irq);
- ret = xc_domain_irq_permission(CTX->xch, domid, irq, 1);
+ ret = irq >= 0 ? xc_physdev_map_pirq(CTX->xch, domid, irq, &irq)
+ : -EOVERFLOW;
+ if (!ret)
+ ret = xc_domain_irq_permission(CTX->xch, domid, irq, 1);
if ( ret<0 ){
- LOGE(ERROR,
- "failed give dom%d access to irq %"PRId32, domid, irq);
+ LOGE(ERROR, "failed give dom%d access to irq %d", domid, irq);
ret = ERROR_FAIL;
}
}
--- a/tools/python/xen/xend/server/irqif.py
+++ b/tools/python/xen/xend/server/irqif.py
@@ -73,6 +73,12 @@ class IRQController(DevController):
pirq = get_param('irq')
+ rc = xc.physdev_map_pirq(domid = self.getDomid(),
+ index = pirq,
+ pirq = pirq)
+ if rc < 0:
+ raise VmError('irq: Failed to map irq %x' % (pirq))
+
rc = xc.domain_irq_permission(domid = self.getDomid(),
pirq = pirq,
allow_access = True)
@@ -81,12 +87,6 @@ class IRQController(DevController):
#todo non-fatal
raise VmError(
'irq: Failed to configure irq: %d' % (pirq))
- rc = xc.physdev_map_pirq(domid = self.getDomid(),
- index = pirq,
- pirq = pirq)
- if rc < 0:
- raise VmError(
- 'irq: Failed to map irq %x' % (pirq))
back = dict([(k, config[k]) for k in self.valid_cfg if k in config])
return (self.allocateDeviceID(), back, {})
--- a/xen/arch/x86/domain_build.c
+++ b/xen/arch/x86/domain_build.c
@@ -1219,7 +1219,7 @@ int __init construct_dom0(
/* DOM0 is permitted full I/O capabilities. */
rc |= ioports_permit_access(dom0, 0, 0xFFFF);
rc |= iomem_permit_access(dom0, 0UL, ~0UL);
- rc |= irqs_permit_access(dom0, 0, d->nr_pirqs - 1);
+ rc |= irqs_permit_access(dom0, 1, nr_irqs_gsi - 1);
/*
* Modify I/O port access permissions.
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -772,9 +772,13 @@ long arch_do_domctl(
goto bind_out;
ret = -EPERM;
- if ( !IS_PRIV(current->domain) &&
- !irq_access_permitted(current->domain, bind->machine_irq) )
- goto bind_out;
+ if ( !IS_PRIV(current->domain) )
+ {
+ int irq = domain_pirq_to_irq(d, bind->machine_irq);
+
+ if ( irq <= 0 || !irq_access_permitted(current->domain, irq) )
+ goto bind_out;
+ }
ret = -ESRCH;
if ( iommu_enabled )
@@ -803,9 +807,13 @@ long arch_do_domctl(
bind = &(domctl->u.bind_pt_irq);
ret = -EPERM;
- if ( !IS_PRIV(current->domain) &&
- !irq_access_permitted(current->domain, bind->machine_irq) )
- goto unbind_out;
+ if ( !IS_PRIV(current->domain) )
+ {
+ int irq = domain_pirq_to_irq(d, bind->machine_irq);
+
+ if ( irq <= 0 || !irq_access_permitted(current->domain, irq) )
+ goto unbind_out;
+ }
if ( iommu_enabled )
{
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -184,6 +184,14 @@ int create_irq(int node)
desc->arch.used = IRQ_UNUSED;
irq = ret;
}
+ else if ( dom0 )
+ {
+ ret = irq_permit_access(dom0, irq);
+ if ( ret )
+ printk(XENLOG_G_ERR
+ "Could not grant Dom0 access to IRQ%d (error %d)\n",
+ irq, ret);
+ }
return irq;
}
@@ -280,6 +288,17 @@ void clear_irq_vector(int irq)
void destroy_irq(unsigned int irq)
{
BUG_ON(!MSI_IRQ(irq));
+
+ if ( dom0 )
+ {
+ int err = irq_deny_access(dom0, irq);
+
+ if ( err )
+ printk(XENLOG_G_ERR
+ "Could not revoke Dom0 access to IRQ%u (error %d)\n",
+ irq, err);
+ }
+
dynamic_irq_cleanup(irq);
clear_irq_vector(irq);
}
@@ -1858,7 +1877,7 @@ int map_domain_pirq(
if ( !IS_PRIV(current->domain) &&
!(IS_PRIV_FOR(current->domain, d) &&
- irq_access_permitted(current->domain, pirq)))
+ irq_access_permitted(current->domain, irq)))
return -EPERM;
if ( pirq < 0 || pirq >= d->nr_pirqs || irq < 0 || irq >= nr_irqs )
@@ -1887,17 +1906,18 @@ int map_domain_pirq(
return ret;
}
- ret = irq_permit_access(d, pirq);
+ ret = irq_permit_access(d, irq);
if ( ret )
{
- dprintk(XENLOG_G_ERR, "dom%d: could not permit access to irq %d\n",
- d->domain_id, pirq);
+ printk(XENLOG_G_ERR
+ "dom%d: could not permit access to IRQ%d (pirq %d)\n",
+ d->domain_id, irq, pirq);
return ret;
}
ret = prepare_domain_irq_pirq(d, irq, pirq, &info);
if ( ret )
- return ret;
+ goto revoke;
desc = irq_to_desc(irq);
@@ -1921,8 +1941,14 @@ int map_domain_pirq(
spin_lock_irqsave(&desc->lock, flags);
if ( desc->handler != &no_irq_type )
+ {
+ spin_unlock_irqrestore(&desc->lock, flags);
dprintk(XENLOG_G_ERR, "dom%d: irq %d in use\n",
d->domain_id, irq);
+ pci_disable_msi(msi_desc);
+ ret = -EBUSY;
+ goto done;
+ }
setup_msi_handler(desc, msi_desc);
if ( opt_irq_vector_map == OPT_IRQ_VECTOR_MAP_PERDEV
@@ -1951,7 +1977,14 @@ int map_domain_pirq(
done:
if ( ret )
+ {
cleanup_domain_irq_pirq(d, irq, info);
+ revoke:
+ if ( irq_deny_access(d, irq) )
+ printk(XENLOG_G_ERR
+ "dom%d: could not revoke access to IRQ%d (pirq %d)\n",
+ d->domain_id, irq, pirq);
+ }
return ret;
}
@@ -2017,10 +2050,11 @@ int unmap_domain_pirq(struct domain *d,
if ( !forced_unbind )
cleanup_domain_irq_pirq(d, irq, info);
- ret = irq_deny_access(d, pirq);
+ ret = irq_deny_access(d, irq);
if ( ret )
- dprintk(XENLOG_G_ERR, "dom%d: could not deny access to irq %d\n",
- d->domain_id, pirq);
+ printk(XENLOG_G_ERR
+ "dom%d: could not deny access to IRQ%d (pirq %d)\n",
+ d->domain_id, irq, pirq);
done:
return ret;
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -147,7 +147,7 @@ int physdev_map_pirq(domid_t domid, int
if ( irq == -1 )
irq = create_irq(NUMA_NO_NODE);
- if ( irq < 0 || irq >= nr_irqs )
+ if ( irq < nr_irqs_gsi || irq >= nr_irqs )
{
dprintk(XENLOG_G_ERR, "dom%d: can't create irq for msi!\n",
d->domain_id);
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -25,6 +25,7 @@
#include <xen/paging.h>
#include <xen/hypercall.h>
#include <asm/current.h>
+#include <asm/irq.h>
#include <asm/page.h>
#include <public/domctl.h>
#include <xsm/xsm.h>
@@ -897,9 +898,9 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc
else if ( xsm_irq_permission(d, pirq, allow) )
ret = -EPERM;
else if ( allow )
- ret = irq_permit_access(d, pirq);
+ ret = pirq_permit_access(d, pirq);
else
- ret = irq_deny_access(d, pirq);
+ ret = pirq_deny_access(d, pirq);
rcu_unlock_domain(d);
}
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -369,7 +369,7 @@ static long evtchn_bind_pirq(evtchn_bind
if ( (pirq < 0) || (pirq >= d->nr_pirqs) )
return -EINVAL;
- if ( !is_hvm_domain(d) && !irq_access_permitted(d, pirq) )
+ if ( !is_hvm_domain(d) && !pirq_access_permitted(d, pirq) )
return -EPERM;
spin_lock(&d->event_lock);
--- a/xen/include/xen/iocap.h
+++ b/xen/include/xen/iocap.h
@@ -28,4 +28,22 @@
#define irq_access_permitted(d, i) \
rangeset_contains_singleton((d)->irq_caps, i)
+#define pirq_permit_access(d, i) ({ \
+ struct domain *d__ = (d); \
+ int i__ = domain_pirq_to_irq(d__, i); \
+ i__ > 0 ? rangeset_add_singleton(d__->irq_caps, i__)\
+ : -EINVAL; \
+})
+#define pirq_deny_access(d, i) ({ \
+ struct domain *d__ = (d); \
+ int i__ = domain_pirq_to_irq(d__, i); \
+ i__ > 0 ? rangeset_remove_singleton(d__->irq_caps, i__)\
+ : -EINVAL; \
+})
+#define pirq_access_permitted(d, i) ({ \
+ struct domain *d__ = (d); \
+ rangeset_contains_singleton(d__->irq_caps, \
+ domain_pirq_to_irq(d__, i));\
+})
+
#endif /* __XEN_IOCAP_H__ */

@ -1,41 +0,0 @@
diff -ur xen-4.2.1.orig/xen/drivers/passthrough/vtd/intremap.c xen-4.2.1/xen/drivers/passthrough/vtd/intremap.c
--- xen/drivers/passthrough/vtd/intremap.c 2012-12-17 23:01:55.000000000 +0800
+++ xen/drivers/passthrough/vtd/intremap.c 2013-05-15 23:09:06.704546506 +0800
@@ -440,16 +440,17 @@
type = pdev_type(seg, bus, devfn);
switch ( type )
{
+ case DEV_TYPE_PCIe_ENDPOINT:
case DEV_TYPE_PCIe_BRIDGE:
case DEV_TYPE_PCIe2PCI_BRIDGE:
- case DEV_TYPE_LEGACY_PCI_BRIDGE:
- break;
- case DEV_TYPE_PCIe_ENDPOINT:
set_ire_sid(ire, SVT_VERIFY_SID_SQ, SQ_ALL_16, PCI_BDF2(bus, devfn));
break;
case DEV_TYPE_PCI:
+ case DEV_TYPE_LEGACY_PCI_BRIDGE:
+ /* case DEV_TYPE_PCI2PCIe_BRIDGE: */
+
ret = find_upstream_bridge(seg, &bus, &devfn, &secbus);
if ( ret == 0 ) /* integrated PCI device */
{
@@ -461,10 +462,15 @@
if ( pdev_type(seg, bus, devfn) == DEV_TYPE_PCIe2PCI_BRIDGE )
set_ire_sid(ire, SVT_VERIFY_BUS, SQ_ALL_16,
(bus << 8) | pdev->bus);
- else if ( pdev_type(seg, bus, devfn) == DEV_TYPE_LEGACY_PCI_BRIDGE )
+ else
set_ire_sid(ire, SVT_VERIFY_BUS, SQ_ALL_16,
PCI_BDF2(bus, devfn));
}
+ else
+ dprintk(XENLOG_WARNING VTDPREFIX,
+ "d%d: no upstream bridge for %04x:%02x:%02x.%u\n",
+ pdev->domain->domain_id,
+ seg, bus, PCI_SLOT(devfn), PCI_FUNC(devfn));
break;
default:

@ -1,252 +0,0 @@
From 3fb6ccf2faccaf5e22e33a3155ccc72d732896d8 Mon Sep 17 00:00:00 2001
From: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Fri, 14 Jun 2013 16:43:18 +0100
Subject: [PATCH 14/23] libelf: use C99 bool for booleans
We want to remove uses of "int" because signed integers have
undesirable undefined behaviours on overflow. Malicious compilers can
turn apparently-correct code into code with security vulnerabilities
etc.
In this patch we change all the booleans in libelf to C99 bool,
from <stdbool.h>.
For the one visible libelf boolean in libxc's public interface we
retain the use of int to avoid changing the ABI; libxc converts it to
a bool for consumption by libelf.
It is OK to change all values only ever used as booleans to _Bool
(bool) because conversion from any scalar type to a _Bool works the
same as the boolean test in if() or ?: and is always defined (C99
6.3.1.2). But we do need to check that all these variables really are
only ever used that way. (It is theoretically possible that the old
code truncated some 64-bit values to 32-bit ints which might become
zero depending on the value, which would mean a behavioural change in
this patch, but it seems implausible that treating 0x????????00000000
as false could have been intended.)
This is part of the fix to a security issue, XSA-55.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
---
tools/libxc/xc_dom_elfloader.c | 8 ++++----
xen/common/libelf/libelf-dominfo.c | 2 +-
xen/common/libelf/libelf-loader.c | 4 ++--
xen/common/libelf/libelf-private.h | 2 +-
xen/common/libelf/libelf-tools.c | 10 +++++-----
xen/include/xen/libelf.h | 18 ++++++++++--------
6 files changed, 23 insertions(+), 21 deletions(-)
diff --git a/tools/libxc/xc_dom_elfloader.c b/tools/libxc/xc_dom_elfloader.c
index 4fb4da2..9ba64ae 100644
--- a/tools/libxc/xc_dom_elfloader.c
+++ b/tools/libxc/xc_dom_elfloader.c
@@ -34,7 +34,7 @@
/* ------------------------------------------------------------------------ */
static void log_callback(struct elf_binary *elf, void *caller_data,
- int iserr, const char *fmt, va_list al) {
+ bool iserr, const char *fmt, va_list al) {
xc_interface *xch = caller_data;
xc_reportv(xch,
@@ -46,7 +46,7 @@ static void log_callback(struct elf_binary *elf, void *caller_data,
void xc_elf_set_logfile(xc_interface *xch, struct elf_binary *elf,
int verbose) {
- elf_set_log(elf, log_callback, xch, verbose);
+ elf_set_log(elf, log_callback, xch, verbose /* convert to bool */);
}
/* ------------------------------------------------------------------------ */
@@ -84,7 +84,7 @@ static char *xc_dom_guest_type(struct xc_dom_image *dom,
/* ------------------------------------------------------------------------ */
/* parse elf binary */
-static int check_elf_kernel(struct xc_dom_image *dom, int verbose)
+static int check_elf_kernel(struct xc_dom_image *dom, bool verbose)
{
if ( dom->kernel_blob == NULL )
{
@@ -112,7 +112,7 @@ static int xc_dom_probe_elf_kernel(struct xc_dom_image *dom)
}
static int xc_dom_load_elf_symtab(struct xc_dom_image *dom,
- struct elf_binary *elf, int load)
+ struct elf_binary *elf, bool load)
{
struct elf_binary syms;
ELF_HANDLE_DECL_NONCONST(elf_shdr) shdr; ELF_HANDLE_DECL(elf_shdr) shdr2;
diff --git a/xen/common/libelf/libelf-dominfo.c b/xen/common/libelf/libelf-dominfo.c
index 98c80dc..12b6c2a 100644
--- a/xen/common/libelf/libelf-dominfo.c
+++ b/xen/common/libelf/libelf-dominfo.c
@@ -101,7 +101,7 @@ int elf_xen_parse_note(struct elf_binary *elf,
/* *INDENT-OFF* */
static const struct {
char *name;
- int str;
+ bool str;
} note_desc[] = {
[XEN_ELFNOTE_ENTRY] = { "ENTRY", 0},
[XEN_ELFNOTE_HYPERCALL_PAGE] = { "HYPERCALL_PAGE", 0},
diff --git a/xen/common/libelf/libelf-loader.c b/xen/common/libelf/libelf-loader.c
index f8be635..0dccd4d 100644
--- a/xen/common/libelf/libelf-loader.c
+++ b/xen/common/libelf/libelf-loader.c
@@ -92,7 +92,7 @@ int elf_init(struct elf_binary *elf, const char *image_input, size_t size)
}
#ifndef __XEN__
-void elf_call_log_callback(struct elf_binary *elf, int iserr,
+void elf_call_log_callback(struct elf_binary *elf, bool iserr,
const char *fmt,...) {
va_list al;
@@ -107,7 +107,7 @@ void elf_call_log_callback(struct elf_binary *elf, int iserr,
}
void elf_set_log(struct elf_binary *elf, elf_log_callback *log_callback,
- void *log_caller_data, int verbose)
+ void *log_caller_data, bool verbose)
{
elf->log_callback = log_callback;
elf->log_caller_data = log_caller_data;
diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index 280dfd1..277be04 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -77,7 +77,7 @@
#define elf_err(elf, fmt, args ... ) \
elf_call_log_callback(elf, 1, fmt , ## args );
-void elf_call_log_callback(struct elf_binary*, int iserr, const char *fmt,...);
+void elf_call_log_callback(struct elf_binary*, bool iserr, const char *fmt,...);
#define safe_strcpy(d,s) \
do { strncpy((d),(s),sizeof((d))-1); \
diff --git a/xen/common/libelf/libelf-tools.c b/xen/common/libelf/libelf-tools.c
index 744027e..fa58f76 100644
--- a/xen/common/libelf/libelf-tools.c
+++ b/xen/common/libelf/libelf-tools.c
@@ -31,7 +31,7 @@ const char *elf_check_broken(const struct elf_binary *elf)
return elf->broken;
}
-static int elf_ptrval_in_range(elf_ptrval ptrval, uint64_t size,
+static bool elf_ptrval_in_range(elf_ptrval ptrval, uint64_t size,
const void *region, uint64_t regionsize)
/*
* Returns true if the putative memory area [ptrval,ptrval+size>
@@ -53,7 +53,7 @@ static int elf_ptrval_in_range(elf_ptrval ptrval, uint64_t size,
return 1;
}
-int elf_access_ok(struct elf_binary * elf,
+bool elf_access_ok(struct elf_binary * elf,
uint64_t ptrval, size_t size)
{
if ( elf_ptrval_in_range(ptrval, size, elf->image_base, elf->size) )
@@ -92,7 +92,7 @@ uint64_t elf_access_unsigned(struct elf_binary * elf, elf_ptrval base,
uint64_t moreoffset, size_t size)
{
elf_ptrval ptrval = base + moreoffset;
- int need_swap = elf_swap(elf);
+ bool need_swap = elf_swap(elf);
const uint8_t *u8;
const uint16_t *u16;
const uint32_t *u32;
@@ -332,7 +332,7 @@ ELF_HANDLE_DECL(elf_note) elf_note_next(struct elf_binary *elf, ELF_HANDLE_DECL(
/* ------------------------------------------------------------------------ */
-int elf_is_elfbinary(const void *image_start, size_t image_size)
+bool elf_is_elfbinary(const void *image_start, size_t image_size)
{
const Elf32_Ehdr *ehdr = image_start;
@@ -342,7 +342,7 @@ int elf_is_elfbinary(const void *image_start, size_t image_size)
return IS_ELF(*ehdr);
}
-int elf_phdr_is_loadable(struct elf_binary *elf, ELF_HANDLE_DECL(elf_phdr) phdr)
+bool elf_phdr_is_loadable(struct elf_binary *elf, ELF_HANDLE_DECL(elf_phdr) phdr)
{
uint64_t p_type = elf_uval(elf, phdr, p_type);
uint64_t p_flags = elf_uval(elf, phdr, p_flags);
diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index ac93858..951430f 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -29,6 +29,8 @@
#error define architectural endianness
#endif
+#include <stdbool.h>
+
#undef ELFSIZE
#include "elfstructs.h"
#ifdef __XEN__
@@ -42,7 +44,7 @@
struct elf_binary;
typedef void elf_log_callback(struct elf_binary*, void *caller_data,
- int iserr, const char *fmt, va_list al);
+ bool iserr, const char *fmt, va_list al);
#endif
@@ -237,7 +239,7 @@ struct elf_binary {
elf_log_callback *log_callback;
void *log_caller_data;
#endif
- int verbose;
+ bool verbose;
const char *broken;
};
@@ -301,8 +303,8 @@ void elf_memset_safe(struct elf_binary*, elf_ptrval dst, int c, size_t);
* outside permitted areas.
*/
-int elf_access_ok(struct elf_binary * elf,
- uint64_t ptrval, size_t size);
+bool elf_access_ok(struct elf_binary * elf,
+ uint64_t ptrval, size_t size);
#define elf_store_val(elf, type, ptr, val) \
({ \
@@ -351,9 +353,9 @@ uint64_t elf_note_numeric_array(struct elf_binary *, ELF_HANDLE_DECL(elf_note),
ELF_HANDLE_DECL(elf_note) elf_note_next(struct elf_binary *elf, ELF_HANDLE_DECL(elf_note) note);
/* (Only) checks that the image has the right magic number. */
-int elf_is_elfbinary(const void *image_start, size_t image_size);
+bool elf_is_elfbinary(const void *image_start, size_t image_size);
-int elf_phdr_is_loadable(struct elf_binary *elf, ELF_HANDLE_DECL(elf_phdr) phdr);
+bool elf_phdr_is_loadable(struct elf_binary *elf, ELF_HANDLE_DECL(elf_phdr) phdr);
/* ------------------------------------------------------------------------ */
/* xc_libelf_loader.c */
@@ -367,7 +369,7 @@ int elf_init(struct elf_binary *elf, const char *image, size_t size);
void elf_set_verbose(struct elf_binary *elf);
#else
void elf_set_log(struct elf_binary *elf, elf_log_callback*,
- void *log_caller_pointer, int verbose);
+ void *log_caller_pointer, bool verbose);
#endif
void elf_parse_binary(struct elf_binary *elf);
@@ -419,7 +421,7 @@ struct elf_dom_parms {
char xen_ver[16];
char loader[16];
int pae;
- int bsd_symtab;
+ bool bsd_symtab;
uint64_t virt_base;
uint64_t virt_entry;
uint64_t virt_hypercall;
--
1.7.2.5

@ -1,382 +0,0 @@
From 77c0829fa751f052f7b8ec08287aef6e7ba97bc5 Mon Sep 17 00:00:00 2001
From: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Fri, 14 Jun 2013 16:43:19 +0100
Subject: [PATCH 19/23] libxc: check failure of xc_dom_*_to_ptr, xc_map_foreign_range
The return values from xc_dom_*_to_ptr and xc_map_foreign_range are
sometimes dereferenced, or subjected to pointer arithmetic, without
checking whether the relevant function failed and returned NULL.
Add an appropriate error check at every call site.
Changes in the 4.2 backport of this series:
* Fix tools/libxc/xc_dom_x86.c:setup_pgtables_x86_32.
* Fix tools/libxc/xc_dom_ia64.c:start_info_ia64.
* Fix tools/libxc/ia64/xc_ia64_dom_fwloader.c:xc_dom_load_fw_kernel.
This is part of the fix to a security issue, XSA-55.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
tools/libxc/ia64/xc_ia64_dom_fwloader.c | 2 +
tools/libxc/xc_dom_binloader.c | 6 +++
tools/libxc/xc_dom_core.c | 6 +++
tools/libxc/xc_dom_elfloader.c | 13 +++++++
tools/libxc/xc_dom_ia64.c | 6 +++
tools/libxc/xc_dom_x86.c | 55 +++++++++++++++++++++++++++++++
tools/libxc/xc_domain_restore.c | 27 +++++++++++++++
tools/libxc/xc_offline_page.c | 5 +++
8 files changed, 120 insertions(+), 0 deletions(-)
diff --git a/tools/libxc/ia64/xc_ia64_dom_fwloader.c b/tools/libxc/ia64/xc_ia64_dom_fwloader.c
index cdf3333..dbd3349 100644
--- a/tools/libxc/ia64/xc_ia64_dom_fwloader.c
+++ b/tools/libxc/ia64/xc_ia64_dom_fwloader.c
@@ -60,6 +60,8 @@ static int xc_dom_load_fw_kernel(struct xc_dom_image *dom)
unsigned long i;
dest = xc_dom_vaddr_to_ptr(dom, dom->kernel_seg.vstart);
+ if ( dest == NULL )
+ return -1;
memcpy(dest, dom->kernel_blob, FW_SIZE);
/* Synchronize cache. */
diff --git a/tools/libxc/xc_dom_binloader.c b/tools/libxc/xc_dom_binloader.c
index 8596a28..553b366 100644
--- a/tools/libxc/xc_dom_binloader.c
+++ b/tools/libxc/xc_dom_binloader.c
@@ -277,6 +277,12 @@ static int xc_dom_load_bin_kernel(struct xc_dom_image *dom)
DOMPRINTF(" bss_size: 0x%" PRIx32 "", bss_size);
dest = xc_dom_vaddr_to_ptr(dom, dom->kernel_seg.vstart, &dest_size);
+ if ( dest == NULL )
+ {
+ DOMPRINTF("%s: xc_dom_vaddr_to_ptr(dom, dom->kernel_seg.vstart)"
+ " => NULL", __FUNCTION__);
+ return -EINVAL;
+ }
if ( dest_size < text_size ||
dest_size - text_size < bss_size )
diff --git a/tools/libxc/xc_dom_core.c b/tools/libxc/xc_dom_core.c
index 8913e41..a54ddae 100644
--- a/tools/libxc/xc_dom_core.c
+++ b/tools/libxc/xc_dom_core.c
@@ -868,6 +868,12 @@ int xc_dom_build_image(struct xc_dom_image *dom)
ramdisklen) != 0 )
goto err;
ramdiskmap = xc_dom_seg_to_ptr(dom, &dom->ramdisk_seg);
+ if ( ramdiskmap == NULL )
+ {
+ DOMPRINTF("%s: xc_dom_seg_to_ptr(dom, &dom->ramdisk_seg) => NULL",
+ __FUNCTION__);
+ goto err;
+ }
if ( unziplen )
{
if ( xc_dom_do_gunzip(dom->xch,
diff --git a/tools/libxc/xc_dom_elfloader.c b/tools/libxc/xc_dom_elfloader.c
index 9fc4b94..61b5798 100644
--- a/tools/libxc/xc_dom_elfloader.c
+++ b/tools/libxc/xc_dom_elfloader.c
@@ -139,6 +139,12 @@ static elf_errorstatus xc_dom_load_elf_symtab(struct xc_dom_image *dom,
return 0;
size = dom->kernel_seg.vend - dom->bsd_symtab_start;
hdr_ptr = xc_dom_vaddr_to_ptr(dom, dom->bsd_symtab_start, &allow_size);
+ if ( hdr_ptr == NULL )
+ {
+ DOMPRINTF("%s/load: xc_dom_vaddr_to_ptr(dom,dom->bsd_symtab_start"
+ " => NULL", __FUNCTION__);
+ return -1;
+ }
elf->caller_xdest_base = hdr_ptr;
elf->caller_xdest_size = allow_size;
hdr = ELF_REALPTR2PTRVAL(hdr_ptr);
@@ -384,7 +390,14 @@ static elf_errorstatus xc_dom_load_elf_kernel(struct xc_dom_image *dom)
xen_pfn_t pages;
elf->dest_base = xc_dom_seg_to_ptr_pages(dom, &dom->kernel_seg, &pages);
+ if ( elf->dest_base == NULL )
+ {
+ DOMPRINTF("%s: xc_dom_vaddr_to_ptr(dom,dom->kernel_seg)"
+ " => NULL", __FUNCTION__);
+ return -1;
+ }
elf->dest_size = pages * XC_DOM_PAGE_SIZE(dom);
+
rc = elf_load_binary(elf);
if ( rc < 0 )
{
diff --git a/tools/libxc/xc_dom_ia64.c b/tools/libxc/xc_dom_ia64.c
index dcd1523..7c0eff1 100644
--- a/tools/libxc/xc_dom_ia64.c
+++ b/tools/libxc/xc_dom_ia64.c
@@ -60,6 +60,12 @@ int start_info_ia64(struct xc_dom_image *dom)
DOMPRINTF_CALLED(dom->xch);
+ if ( start_info == NULL )
+ {
+ DOMPRINTF("%s: xc_dom_pfn_to_ptr failed on start_info", __FUNCTION__);
+ return -1; /* our caller throws away our return value :-/ */
+ }
+
memset(start_info, 0, sizeof(*start_info));
sprintf(start_info->magic, dom->guest_type);
start_info->flags = dom->flags;
diff --git a/tools/libxc/xc_dom_x86.c b/tools/libxc/xc_dom_x86.c
index 0cf1687..75d6b83 100644
--- a/tools/libxc/xc_dom_x86.c
+++ b/tools/libxc/xc_dom_x86.c
@@ -144,6 +144,9 @@ static int setup_pgtables_x86_32(struct xc_dom_image *dom)
xen_vaddr_t addr;
xen_pfn_t pgpfn;
+ if ( l2tab == NULL )
+ goto pfn_error;
+
for ( addr = dom->parms.virt_base; addr < dom->virt_pgtab_end;
addr += PAGE_SIZE_X86 )
{
@@ -151,6 +154,8 @@ static int setup_pgtables_x86_32(struct xc_dom_image *dom)
{
/* get L1 tab, make L2 entry */
l1tab = xc_dom_pfn_to_ptr(dom, l1pfn, 1);
+ if ( l1tab == NULL )
+ goto pfn_error;
l2off = l2_table_offset_i386(addr);
l2tab[l2off] =
pfn_to_paddr(xc_dom_p2m_guest(dom, l1pfn)) | L2_PROT;
@@ -169,6 +174,11 @@ static int setup_pgtables_x86_32(struct xc_dom_image *dom)
l1tab = NULL;
}
return 0;
+
+pfn_error:
+ xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
+ "%s: xc_dom_pfn_to_ptr failed", __FUNCTION__);
+ return -EINVAL;
}
/*
@@ -219,6 +229,12 @@ static xen_pfn_t move_l3_below_4G(struct xc_dom_image *dom,
goto out;
l3tab = xc_dom_pfn_to_ptr(dom, l3pfn, 1);
+ if ( l3tab == NULL )
+ {
+ DOMPRINTF("%s: xc_dom_pfn_to_ptr(dom, l3pfn, 1) => NULL",
+ __FUNCTION__);
+ return l3mfn; /* our one call site will call xc_dom_panic and fail */
+ }
memset(l3tab, 0, XC_DOM_PAGE_SIZE(dom));
DOMPRINTF("%s: successfully relocated L3 below 4G. "
@@ -262,6 +278,8 @@ static int setup_pgtables_x86_32_pae(struct xc_dom_image *dom)
}
l3tab = xc_dom_pfn_to_ptr(dom, l3pfn, 1);
+ if ( l3tab == NULL )
+ goto pfn_error;
for ( addr = dom->parms.virt_base; addr < dom->virt_pgtab_end;
addr += PAGE_SIZE_X86 )
@@ -270,6 +288,8 @@ static int setup_pgtables_x86_32_pae(struct xc_dom_image *dom)
{
/* get L2 tab, make L3 entry */
l2tab = xc_dom_pfn_to_ptr(dom, l2pfn, 1);
+ if ( l2tab == NULL )
+ goto pfn_error;
l3off = l3_table_offset_pae(addr);
l3tab[l3off] =
pfn_to_paddr(xc_dom_p2m_guest(dom, l2pfn)) | L3_PROT;
@@ -280,6 +300,8 @@ static int setup_pgtables_x86_32_pae(struct xc_dom_image *dom)
{
/* get L1 tab, make L2 entry */
l1tab = xc_dom_pfn_to_ptr(dom, l1pfn, 1);
+ if ( l1tab == NULL )
+ goto pfn_error;
l2off = l2_table_offset_pae(addr);
l2tab[l2off] =
pfn_to_paddr(xc_dom_p2m_guest(dom, l1pfn)) | L2_PROT;
@@ -306,6 +328,11 @@ static int setup_pgtables_x86_32_pae(struct xc_dom_image *dom)
l3tab[3] = pfn_to_paddr(xc_dom_p2m_guest(dom, l2pfn)) | L3_PROT;
}
return 0;
+
+pfn_error:
+ xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
+ "%s: xc_dom_pfn_to_ptr failed", __FUNCTION__);
+ return -EINVAL;
}
#undef L1_PROT
@@ -344,6 +371,9 @@ static int setup_pgtables_x86_64(struct xc_dom_image *dom)
uint64_t addr;
xen_pfn_t pgpfn;
+ if ( l4tab == NULL )
+ goto pfn_error;
+
for ( addr = dom->parms.virt_base; addr < dom->virt_pgtab_end;
addr += PAGE_SIZE_X86 )
{
@@ -351,6 +381,8 @@ static int setup_pgtables_x86_64(struct xc_dom_image *dom)
{
/* get L3 tab, make L4 entry */
l3tab = xc_dom_pfn_to_ptr(dom, l3pfn, 1);
+ if ( l3tab == NULL )
+ goto pfn_error;
l4off = l4_table_offset_x86_64(addr);
l4tab[l4off] =
pfn_to_paddr(xc_dom_p2m_guest(dom, l3pfn)) | L4_PROT;
@@ -361,6 +393,8 @@ static int setup_pgtables_x86_64(struct xc_dom_image *dom)
{
/* get L2 tab, make L3 entry */
l2tab = xc_dom_pfn_to_ptr(dom, l2pfn, 1);
+ if ( l2tab == NULL )
+ goto pfn_error;
l3off = l3_table_offset_x86_64(addr);
l3tab[l3off] =
pfn_to_paddr(xc_dom_p2m_guest(dom, l2pfn)) | L3_PROT;
@@ -373,6 +407,8 @@ static int setup_pgtables_x86_64(struct xc_dom_image *dom)
{
/* get L1 tab, make L2 entry */
l1tab = xc_dom_pfn_to_ptr(dom, l1pfn, 1);
+ if ( l1tab == NULL )
+ goto pfn_error;
l2off = l2_table_offset_x86_64(addr);
l2tab[l2off] =
pfn_to_paddr(xc_dom_p2m_guest(dom, l1pfn)) | L2_PROT;
@@ -393,6 +429,11 @@ static int setup_pgtables_x86_64(struct xc_dom_image *dom)
l1tab = NULL;
}
return 0;
+
+pfn_error:
+ xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
+ "%s: xc_dom_pfn_to_ptr failed", __FUNCTION__);
+ return -EINVAL;
}
#undef L1_PROT
@@ -410,6 +451,8 @@ static int alloc_magic_pages(struct xc_dom_image *dom)
if ( xc_dom_alloc_segment(dom, &dom->p2m_seg, "phys2mach", 0, p2m_size) )
return -1;
dom->p2m_guest = xc_dom_seg_to_ptr(dom, &dom->p2m_seg);
+ if ( dom->p2m_guest == NULL )
+ return -1;
/* allocate special pages */
dom->start_info_pfn = xc_dom_alloc_page(dom, "start info");
@@ -434,6 +477,12 @@ static int start_info_x86_32(struct xc_dom_image *dom)
DOMPRINTF_CALLED(dom->xch);
+ if ( start_info == NULL )
+ {
+ DOMPRINTF("%s: xc_dom_pfn_to_ptr failed on start_info", __FUNCTION__);
+ return -1; /* our caller throws away our return value :-/ */
+ }
+
memset(start_info, 0, sizeof(*start_info));
strncpy(start_info->magic, dom->guest_type, sizeof(start_info->magic));
start_info->magic[sizeof(start_info->magic) - 1] = '\0';
@@ -474,6 +523,12 @@ static int start_info_x86_64(struct xc_dom_image *dom)
DOMPRINTF_CALLED(dom->xch);
+ if ( start_info == NULL )
+ {
+ DOMPRINTF("%s: xc_dom_pfn_to_ptr failed on start_info", __FUNCTION__);
+ return -1; /* our caller throws away our return value :-/ */
+ }
+
memset(start_info, 0, sizeof(*start_info));
strncpy(start_info->magic, dom->guest_type, sizeof(start_info->magic));
start_info->magic[sizeof(start_info->magic) - 1] = '\0';
diff --git a/tools/libxc/xc_domain_restore.c b/tools/libxc/xc_domain_restore.c
index b4c0b10..3994f8f 100644
--- a/tools/libxc/xc_domain_restore.c
+++ b/tools/libxc/xc_domain_restore.c
@@ -1556,6 +1556,12 @@ int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom,
mfn = ctx->p2m[pfn];
buf = xc_map_foreign_range(xch, dom, PAGE_SIZE,
PROT_READ | PROT_WRITE, mfn);
+ if ( buf == NULL )
+ {
+ ERROR("xc_map_foreign_range for generation id"
+ " buffer failed");
+ goto out;
+ }
generationid = *(unsigned long long *)(buf + offset);
*(unsigned long long *)(buf + offset) = generationid + 1;
@@ -1713,6 +1719,11 @@ int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom,
l3tab = (uint64_t *)
xc_map_foreign_range(xch, dom, PAGE_SIZE,
PROT_READ, ctx->p2m[i]);
+ if ( l3tab == NULL )
+ {
+ PERROR("xc_map_foreign_range failed (for l3tab)");
+ goto out;
+ }
for ( j = 0; j < 4; j++ )
l3ptes[j] = l3tab[j];
@@ -1739,6 +1750,11 @@ int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom,
l3tab = (uint64_t *)
xc_map_foreign_range(xch, dom, PAGE_SIZE,
PROT_READ | PROT_WRITE, ctx->p2m[i]);
+ if ( l3tab == NULL )
+ {
+ PERROR("xc_map_foreign_range failed (for l3tab, 2nd)");
+ goto out;
+ }
for ( j = 0; j < 4; j++ )
l3tab[j] = l3ptes[j];
@@ -1909,6 +1925,12 @@ int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom,
SET_FIELD(ctxt, user_regs.edx, mfn);
start_info = xc_map_foreign_range(
xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE, mfn);
+ if ( start_info == NULL )
+ {
+ PERROR("xc_map_foreign_range failed (for start_info)");
+ goto out;
+ }
+
SET_FIELD(start_info, nr_pages, dinfo->p2m_size);
SET_FIELD(start_info, shared_info, shared_info_frame<<PAGE_SHIFT);
SET_FIELD(start_info, flags, 0);
@@ -2056,6 +2078,11 @@ int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom,
/* Restore contents of shared-info page. No checking needed. */
new_shared_info = xc_map_foreign_range(
xch, dom, PAGE_SIZE, PROT_WRITE, shared_info_frame);
+ if ( new_shared_info == NULL )
+ {
+ PERROR("xc_map_foreign_range failed (for new_shared_info)");
+ goto out;
+ }
/* restore saved vcpu_info and arch specific info */
MEMCPY_FIELD(new_shared_info, old_shared_info, vcpu_info);
diff --git a/tools/libxc/xc_offline_page.c b/tools/libxc/xc_offline_page.c
index 089a361..36b9812 100644
--- a/tools/libxc/xc_offline_page.c
+++ b/tools/libxc/xc_offline_page.c
@@ -714,6 +714,11 @@ int xc_exchange_page(xc_interface *xch, int domid, xen_pfn_t mfn)
new_p = xc_map_foreign_range(xch, domid, PAGE_SIZE,
PROT_READ|PROT_WRITE, new_mfn);
+ if ( new_p == NULL )
+ {
+ ERROR("failed to map new_p for copy, guest may be broken?");
+ goto failed;
+ }
memcpy(new_p, backup, PAGE_SIZE);
munmap(new_p, PAGE_SIZE);
mops.arg1.mfn = new_mfn;
--
1.7.2.5

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-pvgrub/xen-pvgrub-4.2.2-r1.ebuild,v 1.8 2013/09/26 10:13:20 idella4 Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-pvgrub/xen-pvgrub-4.2.2-r1.ebuild,v 1.9 2014/01/01 11:47:20 tomwij Exp $
EAPI=4
PYTHON_DEPEND="2:2.6"
@ -110,7 +110,7 @@ src_prepare() {
"${FILESDIR}"/xen-4.2-CVE-2013-20to23-XSA-55.patch
#Substitute for internal downloading. pciutils copied only due to the only .bz2
cp $DISTDIR/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom"
cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom"
retar-externals || die "re-tar procedure failed"
}

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-pvgrub/xen-pvgrub-4.3.0.ebuild,v 1.3 2013/08/23 13:14:52 idella4 Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-pvgrub/xen-pvgrub-4.3.0.ebuild,v 1.4 2014/01/01 11:47:20 tomwij Exp $
EAPI=4
PYTHON_DEPEND="2:2.7"
@ -94,7 +94,7 @@ src_prepare() {
"${FILESDIR}"/xen-4-CVE-2013-1922-XSA-48.patch
#Substitute for internal downloading. pciutils copied only due to the only .bz2
cp $DISTDIR/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom"
cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom"
retar-externals || die "re-tar procedure failed"
}

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-pvgrub/xen-pvgrub-4.3.1.ebuild,v 1.3 2013/12/10 13:35:02 ago Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-pvgrub/xen-pvgrub-4.3.1.ebuild,v 1.4 2014/01/01 11:47:20 tomwij Exp $
EAPI=4
PYTHON_DEPEND="2:2.7"
@ -93,7 +93,7 @@ src_prepare() {
epatch "${FILESDIR}"/${PN/-pvgrub/}-4-CVE-2012-6075-XSA-41.patch
#Substitute for internal downloading. pciutils copied only due to the only .bz2
cp $DISTDIR/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom"
cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom"
retar-externals || die "re-tar procedure failed"
}

@ -1,9 +1,8 @@
#!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xend.initd-r1,v 1.3 2013/07/30 15:01:38 idella4 Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xend.initd-r1,v 1.4 2014/01/02 04:58:53 idella4 Exp $
opts="start stop status restart"
extra_commands="status"
depend() {

@ -1,9 +1,8 @@
#!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xend.initd-r2,v 1.4 2013/07/30 15:01:38 idella4 Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xend.initd-r2,v 1.5 2014/01/02 04:58:53 idella4 Exp $
opts="start stop status restart"
extra_commands="status"
depend() {

@ -1,18 +0,0 @@
VT-d: fix interrupt remapping source validation for devices behind legacy bridges
Using SVT_VERIFY_BUS here doesn't make sense;
native Linux also uses SVT_VERIFY_SID_SQ here instead.
This is XSA-33 / CVE-2012-5634.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- xen/drivers/passthrough/vtd/intremap.c
+++ xen/drivers/passthrough/vtd/intremap.c
@@ -466,7 +466,7 @@ static void set_msi_source_id(struct pci_dev *pdev, struct iremap_entry *ire)
set_ire_sid(ire, SVT_VERIFY_BUS, SQ_ALL_16,
(bus << 8) | pdev->bus);
else if ( pdev_type(seg, bus, devfn) == DEV_TYPE_LEGACY_PCI_BRIDGE )
- set_ire_sid(ire, SVT_VERIFY_BUS, SQ_ALL_16,
+ set_ire_sid(ire, SVT_VERIFY_SID_SQ, SQ_ALL_16,
PCI_BDF2(bus, devfn));
}
break;

@ -1,70 +0,0 @@
commit 66141b2e068fa39f28bdda6be05882e323663687
Author: Michael Young
Date: Tue Jan 22 22:22:10 2013 +0000
Security fix from nested virtualization CVE-2013-0151,
restore status option to xend which is used by libvirt
#diff --git a/xsa34-4.2.patch b/xsa34-4.2.patch
#new file mode 100644
#index 0000000..f5328ef
#--- /dev/null
#+++ xsa34-4.2.patch
#@@ -0,0 +1,30 @@
#+x86_32: don't allow use of nested HVM
#+
#+There are (indirect) uses of map_domain_page() in the nested HVM code
#+that are unsafe when not just using the 1:1 mapping.
#+
#+This is XSA-34 / CVE-2013-0151.
#+
#+Signed-off-by: Jan Beulich
#+
#diff --git a/xsa35-4.2-with-xsa34.patch b/xsa35-4.2-with-xsa34.patch
#new file mode 100644
#index 0000000..28c6171
#--- /dev/null
#+++ xsa35-4.2-with-xsa34.patch
#@@ -0,0 +1,24 @@
#+xen: Do not allow guests to enable nested HVM on themselves
#+
#+There is no reason for this and doing so exposes a memory leak to
#+guests. Only toolstacks need write access to this HVM param.
#+
#+This is XSA-35 / CVE-2013-0152.
#+
#+Signed-off-by: Ian Campbell
#+Acked-by: Jan Beulich
#+
--- xen/arch/x86/hvm/hvm.c
+++ xen/arch/x86/hvm/hvm.c
@@ -3858,6 +3858,11 @@
rc = -EINVAL;
break;
case HVM_PARAM_NESTEDHVM:
+ if ( !IS_PRIV(current->domain) )
+ {
+ rc = -EPERM;
+ break;
+ }
if ( a.value > 1 )
rc = -EINVAL;
if ( !is_hvm_domain(d) )
@@ -3926,6 +3926,10 @@ long do_hvm_op(unsigned long op, XEN_GUE
rc = -EINVAL;
break;
case HVM_PARAM_NESTEDHVM:
+#ifdef __i386__
+ if ( a.value )
+ rc = -EINVAL;
+#else
if ( a.value > 1 )
rc = -EINVAL;
if ( !is_hvm_domain(d) )
@@ -3940,6 +3944,7 @@ long do_hvm_op(unsigned long op, XEN_GUE
for_each_vcpu(d, v)
if ( rc == 0 )
rc = nestedhvm_vcpu_initialise(v);
+#endif
break;
case HVM_PARAM_BUFIOREQ_EVTCHN:
rc = -EINVAL;

@ -1,323 +0,0 @@
ACPI: acpi_table_parse() should return handler's error code
Currently, the error code returned by acpi_table_parse()'s handler
is ignored. This patch will propagate handler's return value to
acpi_table_parse()'s caller.
AMD,IOMMU: Clean up old entries in remapping tables when creating new
interrupt mapping.
When changing the affinity of an IRQ associated with a passed
through PCI device, clear previous mapping.
In addition, because some BIOSes may incorrectly program IVRS
entries for IOAPIC try to check for entry's consistency. Specifically,
if conflicting entries are found disable IOMMU if per-device
remapping table is used. If entries refer to bogus IOAPIC IDs
disable IOMMU unconditionally
AMD,IOMMU: Disable IOMMU if SATA Combined mode is on
AMD's SP5100 chipset can be placed into SATA Combined mode
that may cause prevent dom0 from booting when IOMMU is
enabled and per-device interrupt remapping table is used.
While SP5100 erratum 28 requires BIOSes to disable this mode,
some may still use it.
This patch checks whether this mode is on and, if per-device
table is in use, disables IOMMU.
AMD,IOMMU: Make per-device interrupt remapping table default
Using global interrupt remapping table may be insecure, as
described by XSA-36. This patch makes per-device mode default.
This is XSA-36 / CVE-2013-0153.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@amd.com>
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -1942,9 +1942,6 @@ int map_domain_pirq(
spin_lock_irqsave(&desc->lock, flags);
set_domain_irq_pirq(d, irq, info);
spin_unlock_irqrestore(&desc->lock, flags);
-
- if ( opt_irq_vector_map == OPT_IRQ_VECTOR_MAP_PERDEV )
- printk(XENLOG_INFO "Per-device vector maps for GSIs not implemented yet.\n");
}
done:
--- a/xen/drivers/acpi/tables.c
+++ b/xen/drivers/acpi/tables.c
@@ -267,7 +267,7 @@ acpi_table_parse_madt(enum acpi_madt_typ
* @handler: handler to run
*
* Scan the ACPI System Descriptor Table (STD) for a table matching @id,
- * run @handler on it. Return 0 if table found, return on if not.
+ * run @handler on it.
*/
int __init acpi_table_parse(char *id, acpi_table_handler handler)
{
@@ -282,8 +282,7 @@ int __init acpi_table_parse(char *id, ac
acpi_get_table(id, 0, &table);
if (table) {
- handler(table);
- return 0;
+ return handler(table);
} else
return 1;
}
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -22,6 +22,7 @@
#include <xen/errno.h>
#include <xen/acpi.h>
#include <asm/apicdef.h>
+#include <asm/io_apic.h>
#include <asm/amd-iommu.h>
#include <asm/hvm/svm/amd-iommu-proto.h>
@@ -635,6 +636,7 @@ static u16 __init parse_ivhd_device_spec
u16 header_length, u16 block_length, struct amd_iommu *iommu)
{
u16 dev_length, bdf;
+ int apic;
dev_length = sizeof(*special);
if ( header_length < (block_length + dev_length) )
@@ -651,10 +653,59 @@ static u16 __init parse_ivhd_device_spec
}
add_ivrs_mapping_entry(bdf, bdf, special->header.data_setting, iommu);
- /* set device id of ioapic */
- ioapic_sbdf[special->handle].bdf = bdf;
- ioapic_sbdf[special->handle].seg = seg;
- return dev_length;
+
+ if ( special->variety != ACPI_IVHD_IOAPIC )
+ {
+ if ( special->variety != ACPI_IVHD_HPET )
+ printk(XENLOG_ERR "Unrecognized IVHD special variety %#x\n",
+ special->variety);
+ return dev_length;
+ }
+
+ /*
+ * Some BIOSes have IOAPIC broken entries so we check for IVRS
+ * consistency here --- whether entry's IOAPIC ID is valid and
+ * whether there are conflicting/duplicated entries.
+ */
+ for ( apic = 0; apic < nr_ioapics; apic++ )
+ {
+ if ( IO_APIC_ID(apic) != special->handle )
+ continue;
+
+ if ( ioapic_sbdf[special->handle].pin_setup )
+ {
+ if ( ioapic_sbdf[special->handle].bdf == bdf &&
+ ioapic_sbdf[special->handle].seg == seg )
+ AMD_IOMMU_DEBUG("IVHD Warning: Duplicate IO-APIC %#x entries\n",
+ special->handle);
+ else
+ {
+ printk(XENLOG_ERR "IVHD Error: Conflicting IO-APIC %#x entries\n",
+ special->handle);
+ if ( amd_iommu_perdev_intremap )
+ return 0;
+ }
+ }
+ else
+ {
+ /* set device id of ioapic */
+ ioapic_sbdf[special->handle].bdf = bdf;
+ ioapic_sbdf[special->handle].seg = seg;
+
+ ioapic_sbdf[special->handle].pin_setup = xzalloc_array(
+ unsigned long, BITS_TO_LONGS(nr_ioapic_entries[apic]));
+ if ( nr_ioapic_entries[apic] &&
+ !ioapic_sbdf[IO_APIC_ID(apic)].pin_setup )
+ {
+ printk(XENLOG_ERR "IVHD Error: Out of memory\n");
+ return 0;
+ }
+ }
+ return dev_length;
+ }
+
+ printk(XENLOG_ERR "IVHD Error: Invalid IO-APIC %#x\n", special->handle);
+ return 0;
}
static int __init parse_ivhd_block(const struct acpi_ivrs_hardware *ivhd_block)
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -1126,12 +1126,45 @@ static int __init amd_iommu_setup_device
return 0;
}
+/* Check whether SP5100 SATA Combined mode is on */
+static bool_t __init amd_sp5100_erratum28(void)
+{
+ u32 bus, id;
+ u16 vendor_id, dev_id;
+ u8 byte;
+
+ for (bus = 0; bus < 256; bus++)
+ {
+ id = pci_conf_read32(0, bus, 0x14, 0, PCI_VENDOR_ID);
+
+ vendor_id = id & 0xffff;
+ dev_id = (id >> 16) & 0xffff;
+
+ /* SP5100 SMBus module sets Combined mode on */
+ if (vendor_id != 0x1002 || dev_id != 0x4385)
+ continue;
+
+ byte = pci_conf_read8(0, bus, 0x14, 0, 0xad);
+ if ( (byte >> 3) & 1 )
+ {
+ printk(XENLOG_WARNING "AMD-Vi: SP5100 erratum 28 detected, disabling IOMMU.\n"
+ "If possible, disable SATA Combined mode in BIOS or contact your vendor for BIOS update.\n");
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
int __init amd_iommu_init(void)
{
struct amd_iommu *iommu;
BUG_ON( !iommu_found() );
+ if ( amd_iommu_perdev_intremap && amd_sp5100_erratum28() )
+ goto error_out;
+
ivrs_bdf_entries = amd_iommu_get_ivrs_dev_entries();
if ( !ivrs_bdf_entries )
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -99,12 +99,12 @@ static void update_intremap_entry(u32* e
static void update_intremap_entry_from_ioapic(
int bdf,
struct amd_iommu *iommu,
- struct IO_APIC_route_entry *ioapic_rte)
+ const struct IO_APIC_route_entry *rte,
+ const struct IO_APIC_route_entry *old_rte)
{
unsigned long flags;
u32* entry;
u8 delivery_mode, dest, vector, dest_mode;
- struct IO_APIC_route_entry *rte = ioapic_rte;
int req_id;
spinlock_t *lock;
int offset;
@@ -120,6 +120,14 @@ static void update_intremap_entry_from_i
spin_lock_irqsave(lock, flags);
offset = get_intremap_offset(vector, delivery_mode);
+ if ( old_rte )
+ {
+ int old_offset = get_intremap_offset(old_rte->vector,
+ old_rte->delivery_mode);
+
+ if ( offset != old_offset )
+ free_intremap_entry(iommu->seg, bdf, old_offset);
+ }
entry = (u32*)get_intremap_entry(iommu->seg, req_id, offset);
update_intremap_entry(entry, vector, delivery_mode, dest_mode, dest);
@@ -188,6 +196,7 @@ int __init amd_iommu_setup_ioapic_remapp
amd_iommu_flush_intremap(iommu, req_id);
spin_unlock_irqrestore(&iommu->lock, flags);
}
+ set_bit(pin, ioapic_sbdf[IO_APIC_ID(apic)].pin_setup);
}
}
return 0;
@@ -199,6 +208,7 @@ void amd_iommu_ioapic_update_ire(
struct IO_APIC_route_entry old_rte = { 0 };
struct IO_APIC_route_entry new_rte = { 0 };
unsigned int rte_lo = (reg & 1) ? reg - 1 : reg;
+ unsigned int pin = (reg - 0x10) / 2;
int saved_mask, seg, bdf;
struct amd_iommu *iommu;
@@ -236,6 +246,14 @@ void amd_iommu_ioapic_update_ire(
*(((u32 *)&new_rte) + 1) = value;
}
+ if ( new_rte.mask &&
+ !test_bit(pin, ioapic_sbdf[IO_APIC_ID(apic)].pin_setup) )
+ {
+ ASSERT(saved_mask);
+ __io_apic_write(apic, reg, value);
+ return;
+ }
+
/* mask the interrupt while we change the intremap table */
if ( !saved_mask )
{
@@ -244,7 +262,11 @@ void amd_iommu_ioapic_update_ire(
}
/* Update interrupt remapping entry */
- update_intremap_entry_from_ioapic(bdf, iommu, &new_rte);
+ update_intremap_entry_from_ioapic(
+ bdf, iommu, &new_rte,
+ test_and_set_bit(pin,
+ ioapic_sbdf[IO_APIC_ID(apic)].pin_setup) ? &old_rte
+ : NULL);
/* Forward write access to IO-APIC RTE */
__io_apic_write(apic, reg, value);
@@ -354,6 +376,12 @@ void amd_iommu_msi_msg_update_ire(
return;
}
+ if ( msi_desc->remap_index >= 0 )
+ update_intremap_entry_from_msi_msg(iommu, pdev, msi_desc, NULL);
+
+ if ( !msg )
+ return;
+
update_intremap_entry_from_msi_msg(iommu, pdev, msi_desc, msg);
}
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -205,6 +205,8 @@ int __init amd_iov_detect(void)
{
printk("AMD-Vi: Not overriding irq_vector_map setting\n");
}
+ if ( !amd_iommu_perdev_intremap )
+ printk(XENLOG_WARNING "AMD-Vi: Using global interrupt remap table is not recommended (see XSA-36)!\n");
return scan_pci_devices();
}
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -52,7 +52,7 @@ bool_t __read_mostly iommu_qinval = 1;
bool_t __read_mostly iommu_intremap = 1;
bool_t __read_mostly iommu_hap_pt_share = 1;
bool_t __read_mostly iommu_debug;
-bool_t __read_mostly amd_iommu_perdev_intremap;
+bool_t __read_mostly amd_iommu_perdev_intremap = 1;
DEFINE_PER_CPU(bool_t, iommu_dont_flush_iotlb);
--- a/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h
+++ b/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h
@@ -100,6 +100,7 @@ void amd_iommu_read_msi_from_ire(
extern struct ioapic_sbdf {
u16 bdf, seg;
+ unsigned long *pin_setup;
} ioapic_sbdf[MAX_IO_APICS];
extern void *shared_intremap_table;

@ -1,23 +0,0 @@
x86: fix assertion in get_page_type()
c/s 22998:e9fab50d7b61 (and immediately following ones) made it
possible that __get_page_type() returns other than -EINVAL, in
particular -EBUSY. Consequently, the assertion in get_page_type()
should check for only the return values we absolutely don't expect to
see there.
This is XSA-37 / CVE-2013-0154.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- xen/arch/x86/mm.c
+++ xen/arch/x86/mm.c
@@ -2586,7 +2586,7 @@ int get_page_type(struct page_info *page
int rc = __get_page_type(page, type, 0);
if ( likely(rc == 0) )
return 1;
- ASSERT(rc == -EINVAL);
+ ASSERT(rc != -EINTR && rc != -EAGAIN);
return 0;
}

@ -1,77 +0,0 @@
x86: clear EFLAGS.NT in SYSENTER entry path
... as it causes problems if we happen to exit back via IRET: In the
course of trying to handle the fault, the hypervisor creates a stack
frame by hand, and uses PUSHFQ to set the respective EFLAGS field, but
expects to be able to IRET through that stack frame to the second
portion of the fixup code (which causes a #GP due to the stored EFLAGS
having NT set).
And even if this worked (e.g if we cleared NT in that path), it would
then (through the fail safe callback) cause a #GP in the guest with the
SYSENTER handler's first instruction as the source, which in turn would
allow guest user mode code to crash the guest kernel.
Inject a #GP on the fake (NULL) address of the SYSENTER instruction
instead, just like in the case where the guest kernel didn't register
a corresponding entry point.
On 32-bit we also need to make sure we clear SYSENTER_CS for all CPUs
(neither #RESET nor #INIT guarantee this).
This is CVE-2013-1917 / XSA-44.
Reported-by: Andrew Cooper <andrew.cooper3@citirx.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
--- a/xen/arch/x86/acpi/suspend.c
+++ b/xen/arch/x86/acpi/suspend.c
@@ -81,8 +81,12 @@ void restore_rest_processor_state(void)
}
#else /* !defined(CONFIG_X86_64) */
- if ( supervisor_mode_kernel && cpu_has_sep )
- wrmsr(MSR_IA32_SYSENTER_ESP, &this_cpu(init_tss).esp1, 0);
+ if ( cpu_has_sep )
+ {
+ wrmsr(MSR_IA32_SYSENTER_CS, 0, 0);
+ if ( supervisor_mode_kernel )
+ wrmsr(MSR_IA32_SYSENTER_ESP, &this_cpu(init_tss).esp1, 0);
+ }
#endif
/* Maybe load the debug registers. */
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -655,8 +655,11 @@ void __cpuinit cpu_init(void)
#if defined(CONFIG_X86_32)
t->ss0 = __HYPERVISOR_DS;
t->esp0 = get_stack_bottom();
- if ( supervisor_mode_kernel && cpu_has_sep )
+ if ( cpu_has_sep ) {
+ wrmsr(MSR_IA32_SYSENTER_CS, 0, 0);
+ if ( supervisor_mode_kernel )
wrmsr(MSR_IA32_SYSENTER_ESP, &t->esp1, 0);
+ }
#elif defined(CONFIG_X86_64)
/* Bottom-of-stack must be 16-byte aligned! */
BUG_ON((get_stack_bottom() & 15) != 0);
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -284,7 +284,14 @@ sysenter_eflags_saved:
cmpb $0,VCPU_sysenter_disables_events(%rbx)
movq VCPU_sysenter_addr(%rbx),%rax
setne %cl
+ testl $X86_EFLAGS_NT,UREGS_eflags(%rsp)
leaq VCPU_trap_bounce(%rbx),%rdx
+UNLIKELY_START(nz, sysenter_nt_set)
+ pushfq
+ andl $~X86_EFLAGS_NT,(%rsp)
+ popfq
+ xorl %eax,%eax
+UNLIKELY_END(sysenter_nt_set)
testq %rax,%rax
leal (,%rcx,TBF_INTERRUPT),%ecx
UNLIKELY_START(z, sysenter_gpf)

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.3.0-r5.ebuild,v 1.1 2013/12/16 16:34:04 idella4 Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.3.0-r5.ebuild,v 1.2 2013/12/31 02:46:00 idella4 Exp $
EAPI=5
@ -13,7 +13,8 @@ if [[ $PV == *9999 ]]; then
S="${WORKDIR}/${REPO}"
live_eclass="mercurial"
else
KEYWORDS="~amd64"
# support dropped for regular 32 bit hypervisor, Bug 493944
KEYWORDS="~amd64 -x86"
SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
fi

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.3.1-r1.ebuild,v 1.3 2013/12/10 13:34:51 ago Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.3.1-r1.ebuild,v 1.4 2013/12/31 02:46:00 idella4 Exp $
EAPI=5
@ -13,7 +13,8 @@ if [[ $PV == *9999 ]]; then
S="${WORKDIR}/${REPO}"
live_eclass="mercurial"
else
KEYWORDS="amd64 x86"
# support dropped for regular 32 bit hypervisor, Bug 493944
KEYWORDS="amd64 -x86"
SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
fi

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.3.1-r2.ebuild,v 1.1 2013/12/16 16:34:04 idella4 Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.3.1-r2.ebuild,v 1.2 2013/12/31 02:46:00 idella4 Exp $
EAPI=5
@ -13,7 +13,8 @@ if [[ $PV == *9999 ]]; then
S="${WORKDIR}/${REPO}"
live_eclass="mercurial"
else
KEYWORDS="~amd64"
# Set to match entry in stable 4.3.1-r1, Bug 493944
KEYWORDS="~amd64 -x86"
SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
fi

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9011.496-r1.ebuild,v 1.11 2012/06/01 01:55:14 zmedico Exp $
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9011.496-r1.ebuild,v 1.12 2014/01/02 00:06:44 robbat2 Exp $
inherit user
@ -12,7 +12,7 @@ HOMEPAGE="http://www.distributed.net"
SRC_URI="x86? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${MIN_PV}-linux-x86-elf-uclibc.tar.gz )
amd64? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${MIN_PV}-linux-amd64-elf.tar.gz )"
LICENSE="distributed.net"
LICENSE="distributed.net GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9015.504.ebuild,v 1.5 2012/06/01 01:55:14 zmedico Exp $
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9015.504.ebuild,v 1.6 2014/01/02 00:06:44 robbat2 Exp $
inherit user versionator linux-info
@ -11,7 +11,7 @@ DESCRIPTION="distributed.net client"
HOMEPAGE="http://www.distributed.net"
SRC_URI="http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${MIN_PV}-linux-x86-elf-uclibc.tar.gz"
LICENSE="distributed.net"
LICENSE="distributed.net GPL-2"
SLOT="0"
KEYWORDS="-* x86"
RESTRICT="mirror"

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9103.509.ebuild,v 1.6 2012/06/01 01:55:14 zmedico Exp $
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9103.509.ebuild,v 1.7 2014/01/02 00:06:44 robbat2 Exp $
EAPI=2
inherit user
@ -13,7 +13,7 @@ HOMEPAGE="http://www.distributed.net"
SRC_URI="x86? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${MIN_PV}-linux-x86-elf-uclibc.tar.gz )
amd64? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${MIN_PV}-linux-amd64-elf.tar.gz )"
LICENSE="distributed.net"
LICENSE="distributed.net GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9107.516.ebuild,v 1.2 2012/06/01 01:55:14 zmedico Exp $
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9107.516.ebuild,v 1.3 2014/01/02 00:06:44 robbat2 Exp $
EAPI=2
inherit user
@ -16,7 +16,7 @@ HOMEPAGE="http://www.distributed.net"
SRC_URI_sparc="sparc? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${MIN_PV}-linux-sparc-v7.tar.gz )"
SRC_URI="${SRC_URI_amd64} ${SRC_URI_ppc} ${SRC_URI_x86} ${SRC_URI_sparc}"
LICENSE="distributed.net"
LICENSE="distributed.net GPL-2"
SLOT="0"
KEYWORDS="~sparc" # x86,amd64,ppc not available for this version
IUSE=""

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9108.517.ebuild,v 1.5 2012/06/01 01:55:14 zmedico Exp $
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9108.517.ebuild,v 1.6 2014/01/02 00:06:44 robbat2 Exp $
EAPI=2
inherit user
@ -16,7 +16,7 @@ SRC_URI_amd64="amd64? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${M
#SRC_URI_sparc="sparc? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${MIN_PV}-linux-sparc-v7.tar.gz )"
SRC_URI="${SRC_URI_amd64} ${SRC_URI_ppc} ${SRC_URI_x86} ${SRC_URI_sparc}"
LICENSE="distributed.net"
LICENSE="distributed.net GPL-2"
SLOT="0"
KEYWORDS="amd64 x86" # ppc not available for this version
IUSE=""

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9109.518.ebuild,v 1.3 2012/06/01 01:55:14 zmedico Exp $
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9109.518.ebuild,v 1.4 2014/01/02 00:06:44 robbat2 Exp $
EAPI=2
inherit user
@ -16,7 +16,7 @@ SRC_URI_ppc="ppc? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${MIN_P
#SRC_URI_sparc="sparc? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${MIN_PV}-linux-sparc-v7.tar.gz )"
SRC_URI="${SRC_URI_amd64} ${SRC_URI_ppc} ${SRC_URI_x86} ${SRC_URI_sparc}"
LICENSE="distributed.net"
LICENSE="distributed.net GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc" # x86 not available for this version
IUSE=""

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9110.519.ebuild,v 1.1 2013/12/28 04:13:26 robbat2 Exp $
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9110.519.ebuild,v 1.2 2014/01/02 00:06:44 robbat2 Exp $
EAPI=2
inherit user
@ -16,7 +16,7 @@ SRC_URI_x86="x86? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${MIN_P
#SRC_URI_sparc="sparc? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${MIN_PV}-linux-sparc-v7.tar.gz )"
SRC_URI="${SRC_URI_amd64} ${SRC_URI_ppc} ${SRC_URI_x86} ${SRC_URI_sparc}"
LICENSE="distributed.net"
LICENSE="distributed.net GPL-2"
SLOT="0"
KEYWORDS="~x86" # ppc,amd64 not available for this version
IUSE=""

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9110.519b.ebuild,v 1.1 2013/12/28 04:13:26 robbat2 Exp $
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/dnetc-2.9110.519b.ebuild,v 1.2 2014/01/02 00:06:44 robbat2 Exp $
EAPI=2
inherit user
@ -16,7 +16,7 @@ SRC_URI_amd64="amd64? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${M
#SRC_URI_sparc="sparc? ( http://http.distributed.net/pub/dcti/v${MAJ_PV}/dnetc${MIN_PV}-linux-sparc-v7.tar.gz )"
SRC_URI="${SRC_URI_amd64} ${SRC_URI_ppc} ${SRC_URI_x86} ${SRC_URI_sparc}"
LICENSE="distributed.net"
LICENSE="distributed.net GPL-2"
SLOT="0"
KEYWORDS="~amd64" # ppc,x86 not available for this version
IUSE=""

@ -0,0 +1,121 @@
diff -crB lcd4linux-0.10.1-RC2-orig/drv_BWCT.c lcd4linux-0.10.1-RC2/drv_BWCT.c
*** lcd4linux-0.10.1-RC2-orig/drv_BWCT.c 2007-02-25 13:39:09.000000000 +0100
--- lcd4linux-0.10.1-RC2/drv_BWCT.c 2013-11-10 21:32:06.119047221 +0100
***************
*** 72,78 ****
static usb_dev_handle *lcd;
static int interface;
- extern int usb_debug;
extern int got_signal;
--- 72,77 ----
***************
*** 89,96 ****
info("%s: scanning USB for BWCT LCD...", Name);
- usb_debug = 0;
-
usb_init();
usb_find_busses();
usb_find_devices();
--- 88,93 ----
diff -crB lcd4linux-0.10.1-RC2-orig/drv_LCD2USB.c lcd4linux-0.10.1-RC2/drv_LCD2USB.c
*** lcd4linux-0.10.1-RC2-orig/drv_LCD2USB.c 2007-02-25 13:39:10.000000000 +0100
--- lcd4linux-0.10.1-RC2/drv_LCD2USB.c 2013-11-10 21:32:15.686677498 +0100
***************
*** 98,104 ****
static usb_dev_handle *lcd;
static int controllers = 0;
- extern int usb_debug;
extern int got_signal;
/****************************************/
--- 98,103 ----
***************
*** 120,127 ****
if (device_id != NULL)
info("%s: scanning for device id: %s", Name, device_id);
- usb_debug = 0;
-
usb_init();
usb_find_busses();
usb_find_devices();
--- 119,124 ----
diff -crB lcd4linux-0.10.1-RC2-orig/drv_picoLCD.c lcd4linux-0.10.1-RC2/drv_picoLCD.c
*** lcd4linux-0.10.1-RC2-orig/drv_picoLCD.c 2007-02-25 13:39:10.000000000 +0100
--- lcd4linux-0.10.1-RC2/drv_picoLCD.c 2013-11-10 21:32:30.102120440 +0100
***************
*** 75,81 ****
static char *BufPtr;
static usb_dev_handle *lcd;
- extern int usb_debug;
--- 75,80 ----
***************
*** 97,104 ****
info("%s: scanning for picoLCD...", Name);
- usb_debug = 0;
-
usb_init();
usb_find_busses();
usb_find_devices();
--- 96,101 ----
diff -crB lcd4linux-0.10.1-RC2-orig/drv_Trefon.c lcd4linux-0.10.1-RC2/drv_Trefon.c
*** lcd4linux-0.10.1-RC2-orig/drv_Trefon.c 2007-02-25 13:39:10.000000000 +0100
--- lcd4linux-0.10.1-RC2/drv_Trefon.c 2013-11-10 21:32:46.441489039 +0100
***************
*** 72,78 ****
static usb_dev_handle *lcd;
static int interface;
- extern int usb_debug;
/****************************************/
--- 72,77 ----
***************
*** 88,95 ****
info("%s: scanning USB for TREFON LCD...", Name);
- usb_debug = 0;
-
usb_init();
usb_find_busses();
usb_find_devices();
--- 87,92 ----
diff -crB lcd4linux-0.10.1-RC2-orig/drv_USBLCD.c lcd4linux-0.10.1-RC2/drv_USBLCD.c
*** lcd4linux-0.10.1-RC2-orig/drv_USBLCD.c 2007-02-25 13:39:10.000000000 +0100
--- lcd4linux-0.10.1-RC2/drv_USBLCD.c 2013-11-10 21:33:01.508906792 +0100
***************
*** 86,93 ****
static usb_dev_handle *lcd;
static int interface;
- extern int usb_debug;
-
#endif
--- 86,91 ----
***************
*** 107,114 ****
info("%s: scanning for USBLCD...", Name);
- usb_debug = 0;
-
usb_init();
usb_find_busses();
usb_find_devices();
--- 105,110 ----

@ -0,0 +1,175 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/lcd4linux/lcd4linux-0.10.1_rc2-r3.ebuild,v 1.1 2013/12/30 11:10:49 pacho Exp $
EAPI=5
PYTHON_COMPAT=( python2_{6,7} )
WANT_AUTOMAKE="1.9"
inherit eutils multilib autotools python-single-r1
MY_P=${P/_rc/-RC}
DESCRIPTION="Shows system and ISDN information on an external display or in a X11 window"
HOMEPAGE="http://ssl.bulix.org/projects/lcd4linux"
SRC_URI="mirror://gentoo/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="mysql python iconv mpd"
# The following array holds the USE_EXPANDed keywords
IUSE_LCD_DEVICES=(beckmannegle bwct cfontz ncurses cwlinux
ea232 g15 hd44780 hd44780i2c lcd2usb
lcdlinux lcdterm ledmatrix lph7508 m50530
mtxorb milfordbpk noritake null picolcd
png ppm routerboard serdisplib simplelcd
t6963 trefon usbhub usblcd wincor
X luise)
# Iterate through the array and add the lcd_devices_* that we support
NUM_DEVICES=${#IUSE_LCD_DEVICES[@]}
index=0
while [ "${index}" -lt "${NUM_DEVICES}" ] ; do
IUSE="${IUSE} lcd_devices_${IUSE_LCD_DEVICES[$index]}"
let "index = ${index} + 1"
done
DEPEND="
mysql? ( virtual/mysql )
iconv? ( virtual/libiconv )
mpd? ( media-libs/libmpd )
lcd_devices_bwct? ( =virtual/libusb-0* )
lcd_devices_g15? ( =virtual/libusb-0* )
lcd_devices_lcd2usb? ( =virtual/libusb-0* )
lcd_devices_picolcd? ( =virtual/libusb-0* )
lcd_devices_trefon? ( =virtual/libusb-0* )
lcd_devices_usbhub? ( =virtual/libusb-0* )
lcd_devices_usblcd? ( =virtual/libusb-0* )
lcd_devices_luise? ( dev-libs/luise-bin )
lcd_devices_ncurses? ( sys-libs/ncurses )
lcd_devices_noritake? ( media-libs/gd )
lcd_devices_t6963? ( media-libs/gd )
lcd_devices_png? ( media-libs/libpng media-libs/gd )
lcd_devices_X? ( x11-libs/libX11 media-libs/gd )
lcd_devices_serdisplib? ( dev-libs/serdisplib media-libs/gd )
"
RDEPEND="${DEPEND}
python? ( ${PYTHON_DEPS} )
"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
elog "If you wish to compile only specific plugins, please use"
elog "the LCD4LINUX_PLUGINS environment variable. Plugins must be comma separated and can be either of:"
elog "apm cpuinfo diskstats dvb exec file i2c_sensors imon isdn kvv loadavg meminfo netdev pop3 ppp proc_stat seti statfs uname uptime wireless"
use python && python-single-r1_pkg_setup
}
src_prepare() {
epatch "${FILESDIR}/${P}-warnings.patch"
epatch "${FILESDIR}/${P}-mpd.patch"
epatch "${FILESDIR}/${P}-nordtsc.patch"
epatch "${FILESDIR}/${P}-autoconf-2.65.patch"
epatch "${FILESDIR}/${P}-missing-header.patch"
epatch "${FILESDIR}/${P}-usbdebug.patch"
eautoreconf
}
src_configure() {
# This array contains the driver names required by configure --with-drivers=
# The positions must be the same as the corresponding use_expand flags
local DEVICE_DRIVERS=(BeckmannEgle BWCT CrystalFontz Curses Cwlinux
EA232graphic G15 HD44780 HD44780-I2C LCD2USB
LCDLinux LCDTerm LEDMatrix LPH7508 M50530
MatrixOrbital MilfordInstruments Noritake NULL picoLCD
PNG PPM RouterBoard serdisplib SimpleLCD
T6963 Trefon USBHUB USBLCD WincorNixdorf
X11 LUIse)
local myconf myp
# plugins
if [ -n "$LCD4LINUX_PLUGINS" ]; then
myp="$LCD4LINUX_PLUGINS"
else
myp="all,!xmms"
fi
use iconv || myp="${myp},!iconv"
use mpd || myp="${myp},!mpd"
use mysql || myp="${myp},!mysql"
use python || myp="${myp},!python"
elog "Active plugins: ${myp}"
# Generate comma separated list of drivers
local COMMA_DRIVERS
local FIRST_DRIVER
local index=0
local driver
while [ "${index}" -lt "${NUM_DEVICES}" ] ; do
if use "lcd_devices_${IUSE_LCD_DEVICES[$index]}" ; then
driver=${DEVICE_DRIVERS[$index]}
if [ -z ${COMMA_DRIVERS} ] ; then
# First in the list
COMMA_DRIVERS="${driver}"
FIRST_DRIVER="${driver}"
else
# Second, third, ... include a comma at the front
COMMA_DRIVERS="${COMMA_DRIVERS},${driver}"
fi
fi
let "index = ${index} + 1"
done
# activate at least one driver
if [ -z ${COMMA_DRIVERS} ] ; then
COMMA_DRIVERS="NULL"
fi
# workaround the build failing because of b0rked settings
if use lcd_devices_hd44780 && use lcd_devices_hd44780i2c ; then
echo
ewarn "Disabling hd44780 LCD_DEVICE as hd44780i2c is set!"
echo
COMMA_DRIVERS="${COMMA_DRIVERS},!HD44780"
fi
# avoid package brokenness
if use lcd_devices_X ; then
myconf="--x-libraries=/usr/$(get_libdir) --x-include=/usr/include"
else
myconf="--without-x"
fi
econf \
--sysconfdir=/etc/lcd4linux \
--with-drivers="${COMMA_DRIVERS}" \
--with-plugins="${myp}" \
$(use_with python) \
${myconf}
sed -i.orig -e 's/-L -lX11/ -lX11 /g' Makefile || die "sed fixup failed"
}
src_install() {
default
newinitd "${FILESDIR}/${P}.initd" ${PN}
insinto /etc
insopts -o root -g root -m 0600
newins lcd4linux.conf.sample lcd4linux.conf
}
pkg_postinst() {
if use lcd_devices_lcdlinux; then
ewarn "To actually use the lcd-linux devices, you will need to install the lcd-linux kernel module."
ewarn "You can either do that yourself, see http://lcd-linux.sf.net or "
ewarn "checkout http://overlays.gentoo.org/dev/jokey/browser/trunk and emerge app-misc/lcd-linux"
fi
}

@ -2,3 +2,4 @@ DIST nut-18.10.tar.gz 1339561 SHA256 81a74e4777dcfd11e2ac44616399619b84773ab26a9
DIST nut-18.8.tar.gz 1337141 SHA256 1bd8d8ecd49318552399b467c550805784cca0c78eeee73b8c285c66ed79f182 SHA512 a6bcfb5c4550d6c9b3129e96fd21f46137130d79861b81d766eaaf6b2bc29cb7819bc9af5557476c2ec301dbcd16dbd102c5d14ac13300b79dc649991839765a WHIRLPOOL f21a793bec8d26ff4865e8297a8b7f53027f87aee60bec2a03d2c1e8b64f3e2ec38fdd1dc4a75ca558f9cc887168bf5f7d6771e8f455ddcad629b6d4ab54ba27
DIST nut-18.9.tar.gz 1338133 SHA256 e0b5f5552ae2c0b9075163f33069d165de2d5cb686357055eef81955054ebc6f SHA512 396c5a09008313a3314b2c52eeca29b96f84593d2695dacd3b6ae7ac1f3d0a860a93f09fdbc519a24e86f7c886e4aacdaf22f657c19dbb70699aac59519df5a6 WHIRLPOOL 765303be1fea49a06069ace93292cddd4f9c2107d00e82f8071c6eeb31119388a1fc953f00554af5edabc0d7e0f5a6deba0f6d07e592d3a9d44797cc2344cdc7
DIST nut-19.0.tar.gz 1399921 SHA256 970ed36aecdf17c8b0b2b94d411b51f4d6f062aa9707cec0160505d93d55e5ac SHA512 49e55921aedd9ddc53ea82f0e0b6ddb004dd1b6d0e2ce96f1ac704e62950538d854a4b07b61ba9be2f12ee2436cedf34865673d08b0168789f3ff3f2c3ece855 WHIRLPOOL 4900a34725f08a5460daf1862596e7a68a77f6c35853b5459c7452822e2fb708bec9404878f0676e0e0612f54fa3f6845a405515096e2f4f14f3fb6d9d7c2d8c
DIST nut-19.1.tar.gz 1399743 SHA256 643aaccaeee1122ca785f903bdf9bf19f5c7900941318a833561db204b495f7e SHA512 b89bc3c7919bfcccba6955993f3fbc74b7bf81b8daf314d15ef256581b16e296806b59bfb1e85ecdbdee25cda7b42c5dc14aadfb8b1cca4a54940ae1b62504fc WHIRLPOOL 1b87eb54b05f7df683535f5b1ef04d7ed63c0ceb7449174bd7ac5c0669068c7a8450b647281c193e0ca1c2614c7d9f7800b1c32fcab1348d52daa755cb77c090

@ -0,0 +1,29 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/nut/nut-19.1.ebuild,v 1.1 2014/01/01 18:56:18 radhermit Exp $
EAPI=5
inherit toolchain-funcs
DESCRIPTION="Record what you eat and analyze your nutrient levels"
HOMEPAGE="http://nut.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ppc ~x86"
src_compile() {
emake \
CC="$(tc-getCC)" \
OPT="${CFLAGS}" FOODDIR=\\\"/usr/share/nut\\\" \
nut
}
src_install() {
insinto /usr/share/nut
doins raw.data/*
dobin nut
doman nut.1
}

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-office/calligra/calligra-2.7.5.ebuild,v 1.2 2013/12/20 12:33:23 johu Exp $
# $Header: /var/cvsroot/gentoo-x86/app-office/calligra/calligra-2.7.5.ebuild,v 1.3 2013/12/31 08:46:39 maekke Exp $
# note: files that need to be checked for dependencies etc:
# CMakeLists.txt, kexi/CMakeLists.txt kexi/migration/CMakeLists.txt
@ -40,7 +40,7 @@ SLOT="4"
# Don't move KEYWORDS on the previous line or ekeyword won't work # 399061
[[ ${PV} == *9999 ]] || \
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="attica +crypt +eigen +exif fftw +fontconfig freetds +gif glew +glib +gsf
gsl +jpeg jpeg2k +kdcraw kde kdepim +lcms marble mysql +okular opengtl openexr

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-office/orage/orage-4.10.0.ebuild,v 1.2 2013/12/27 15:53:38 jer Exp $
# $Header: /var/cvsroot/gentoo-x86/app-office/orage/orage-4.10.0.ebuild,v 1.3 2013/12/31 08:52:28 maekke Exp $
EAPI=5
inherit multilib xfconf
@ -11,7 +11,7 @@ SRC_URI="mirror://xfce/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
KEYWORDS="~alpha ~amd64 arm hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
IUSE="berkdb dbus debug libnotify +xfce_plugins_clock"
RDEPEND=">=dev-libs/libical-0.48:=

@ -1 +1,2 @@
DIST dos2unix-6.0.3.tar.gz 77227 SHA256 f5268c5b28a1983537210c72b3fd43f4aad17a8dacb6727b615b56dca2ef9a04 SHA512 00cce5d7fe7c1fcb81b973a1119aa956a0dd648b775a0cc1692270acec7e9b4caefb1c179e5bdf2834cad60622ffdf2a93ff4db5634f39f0545d63e394a03af2 WHIRLPOOL 925082691597946dce07f2b3bfbcae7bd0d944a4868d3d489cf7025fd5a055965fc76c269a62b025eaedb61741a5cc3c70612de547e47030034ea94d79bf9940
DIST dos2unix-6.0.4.tar.gz 84848 SHA256 66bd224d4a7fbe13a3b61aa7083b5ef74cf6448a3670606c669f46a84bb9b37a SHA512 6b7e84e42325462205439cb347c14b287be708d6ea5a776ab0875ff00cfb95b9a0379a99c23764e098931dad6b725f064561f433f60e7621eec1b07571cbc651 WHIRLPOOL 2274bad6393a4544e984f3e30afa81c2d880833a465157ced2c95c6f392b7fcca61f41db4ddc1f1421a2067c89726304d129272db13a82032fff96ca5d205329

@ -0,0 +1,59 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/dos2unix/dos2unix-6.0.4.ebuild,v 1.1 2014/01/01 00:39:07 radhermit Exp $
EAPI=4
inherit toolchain-funcs
DESCRIPTION="Convert DOS or MAC text files to UNIX format or vice versa"
HOMEPAGE="http://www.xs4all.nl/~waterlan/dos2unix.html http://sourceforge.net/projects/dos2unix/"
SRC_URI="
http://www.xs4all.nl/~waterlan/${PN}/${P}.tar.gz
mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris"
IUSE="debug nls"
RDEPEND="
!app-text/hd2u
!app-text/unix2dos
virtual/libintl"
DEPEND="
${RDEPEND}
nls? ( sys-devel/gettext )
dev-lang/perl"
src_prepare() {
sed \
-e '/^LDFLAGS/s|=|+=|' \
-e '/CFLAGS_OS \+=/d' \
-e '/LDFLAGS_EXTRA \+=/d' \
-e "/^CFLAGS/s|-O2|${CFLAGS}|" \
-i Makefile || die
if use debug ; then
sed -e "/^DEBUG/s:0:1:" \
-e "/EXTRA_CFLAGS +=/s:-g::" \
-i Makefile || die
fi
tc-export CC
}
lintl() {
# same logic as from virtual/libintl
use !elibc_glibc && use !elibc_uclibc && echo "-lintl"
}
src_compile() {
emake prefix="${EPREFIX}/usr" \
$(use nls && echo "LDFLAGS_EXTRA=$(lintl)" || echo "ENABLE_NLS=")
}
src_install() {
emake DESTDIR="${D}" prefix="${EPREFIX}/usr" \
$(use nls || echo "ENABLE_NLS=") install
}

@ -1,9 +1,9 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/ronn/ronn-0.7.3-r1.ebuild,v 1.10 2013/12/26 18:58:34 maekke Exp $
# $Header: /var/cvsroot/gentoo-x86/app-text/ronn/ronn-0.7.3-r1.ebuild,v 1.11 2014/01/01 17:56:50 patrick Exp $
EAPI=2
USE_RUBY="ruby18 ruby19 ree18"
USE_RUBY="ruby19 ree18"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_EXTRADOC="AUTHORS CHANGES README.md"

@ -1,9 +1,9 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/ronn/ronn-0.7.3-r2.ebuild,v 1.1 2013/10/15 19:49:45 graaff Exp $
# $Header: /var/cvsroot/gentoo-x86/app-text/ronn/ronn-0.7.3-r2.ebuild,v 1.2 2014/01/01 17:56:50 patrick Exp $
EAPI=5
USE_RUBY="ruby18 ruby19 ruby20"
USE_RUBY="ruby19 ruby20"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_EXTRADOC="AUTHORS CHANGES README.md"

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-vim/gitolite-syntax/gitolite-syntax-20111225.ebuild,v 1.3 2012/06/21 06:09:14 jdhore Exp $
# $Header: /var/cvsroot/gentoo-x86/app-vim/gitolite-syntax/gitolite-syntax-20111225.ebuild,v 1.4 2013/12/31 10:30:43 maekke Exp $
EAPI=4
@ -9,7 +9,7 @@ inherit vim-plugin
DESCRIPTION="vim plugin: gitolite syntax highlighting"
HOMEPAGE="http://www.vim.org/scripts/script.php?script_id=2900"
LICENSE="Apache-2.0"
KEYWORDS="amd64 x86"
KEYWORDS="amd64 ~arm x86"
IUSE=""
SRC_URI="mirror://gentoo/${P}.tar.bz2"

@ -1,2 +1,3 @@
DIST unixODBC-2.3.0.tar.gz 1804749 SHA256 15a7a855a2951a6af7137379bfcdccc15626b869c4804a1d1536cd37e9f3872c SHA512 0be202eca94f43751c7300147039f7c5c5cdaf6714a5d0243e260178c39c4c842d1efa4b5986c0e5dde8f0d89406fc0bb12311198e17b4ec753fffa45d4e1558 WHIRLPOOL 882420667a47497b1c87f1e0b730ea3b272a21b552787f6909d801522fdf1a5310bb7e5ec9083afe36f00ea910e1e82e65f95fa4ee888457a76c2c13594ac62d
DIST unixODBC-2.3.1.tar.gz 1813380 SHA256 1f5be3edecff9e31072ef738ea1d8019594c4f0c2e3ab427e6eef153491db6a2 SHA512 682a4c58febb923491aba4cad8d07228330e5dccb7b8969e0a9d99f92cd90757bd931441f3391c8562ade89f3cfc82416bad8c63d6c0e60b55d0101829e8b872 WHIRLPOOL c3bae729f8af2d4a2680768f00e91044ea32fedc4e677230db3c6a321e8e41964b57b3f850aef6d8213c611f3d0b62822d3c68b8f1b9a11877403891d310e32a
DIST unixODBC-2.3.2.tar.gz 1849173 SHA256 9c3459742f25df5aa3c10a61429bde51a6d4f11552c03095f1d33d7eb02b5c9a SHA512 31d705bf3dcaff6707d5680235b34e4d265a084b1de9e1b2ed3bbee1e1dfefdb4437fe3e1736b84e446d1927ec7622296d9e9b129052cb35f4b63b0bd79ccd13 WHIRLPOOL 05b8fe927a148a0b7ec7abecbac6f5370e904c669b5b0cc58840f7c2302e1df62901a1a627221057be6d4b8b90772854fe3db6e5fda2a5df02970073416ef5f0

@ -0,0 +1,49 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-db/unixODBC/unixODBC-2.3.2.ebuild,v 1.1 2013/12/31 18:30:45 neurogeek Exp $
EAPI=5
inherit libtool
DESCRIPTION="A complete ODBC driver manager"
HOMEPAGE="http://www.unixodbc.org/"
SRC_URI="http://ftp.unixodbc.org/pub/${PN}/${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="+minimal odbcmanual static-libs unicode"
RDEPEND=">=sys-devel/libtool-2.2.6b
>=sys-libs/readline-6.1
>=sys-libs/ncurses-5.7-r7
virtual/libiconv"
DEPEND="${RDEPEND}
sys-devel/flex"
DOCS="AUTHORS ChangeLog NEWS README"
src_prepare() {
elibtoolize
}
src_configure() {
# --enable-driver-conf is --enable-driverc as per configure.in
econf \
--sysconfdir="${EPREFIX}"/etc/${PN} \
--enable-iconv \
$(use_enable static-libs static) \
$(use_enable !minimal drivers) \
$(use_enable !minimal driverc) \
$(use_with unicode iconv-char-enc UTF8) \
$(use_with unicode iconv-ucode-enc UTF16LE)
}
src_install() {
default
use prefix && dodoc README*
use odbcmanual && dohtml -a css,gif,html,sql,vsd -r doc/*
find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
}

@ -5,3 +5,4 @@ DIST CEGUI-0.7.9.tar.gz 9204644 SHA256 7c3b264def08b46de749c2acaba363e907479d924
DIST CEGUI-DOCS-0.7.7.tar.gz 14303467 SHA256 21b6fb8841dfb40650d68b3149afe24d7bde7c1986c0e3d86f9c34baa1b00c6c SHA512 cf0745ab9fdc4ca939aabeacf3c15e677ce26a3f4ecf136debc661842adc24955b30460a69238ab65ae65e4367e7da3515125befed2f017aa1b4981f32ccd08c WHIRLPOOL 2faa44214efe454211267f6417a5a0817026e3e46315acabe6b0ead1354443f0396c2bff8ecaa82210d922d59d2d5a6b60b9bab3c6cc2c7184ce6a5f49cd81bc
DIST CEGUI-DOCS-0.7.9.tar.gz 16240236 SHA256 6c5305d7bff392b97d6bbbafb9b2579ad4974320d57397010ae4415da125fe5e SHA512 d1c7cd80861ee467c865fbad115ecaed79220bc373b1c3e2fcd9a69e89f750925954f20196f366dc334c8eb7eb6dc444c8ded190eb7f9ab52e0521d02ef78767 WHIRLPOOL 8c9757d4497d23803a6653fb0e5c55ebc2449e145fa216f2f5f72d0f8adca66e63712a9e150dffbca36396805d0e713052272afbfe0471b8edbc45619939276d
DIST cegui-0.8.2.tar.gz 18935107 SHA256 4df9479a0da1a29b1e1e2844b70b0e56b9c87b8438cfaaf3ce864cbf266e2ff6 SHA512 6aa88bd59ce79a1ac37b69c8c5e70ab0dfed94176600dcc03af6cbf54a2fba16287b4a35438efe0414e2e33d515240b40bf0e08bc38cfd8158ba918bfe620ab9 WHIRLPOOL e7c8de4954fdb0331d20a388f580e232068cec04ea9577cf3c6c0c5d7cd76ab48dea3360743228e3d3e97bd47e020c1bfded5299e8015f76cecf17a89e508189
DIST cegui-0.8.3.tar.gz 19585257 SHA256 b0db67c18183bc00c14e63eaa22c93ed2225a24f27bff3386a4127cb3880f11b SHA512 4b4041bf3573d31a6b4e489ff7c08808641d68761bc8396fcf3a05f7dba1b852b5683265a3f71abf6c5513e1d38756a8d320d3675ae01091bbca852a8fe629f5 WHIRLPOOL 12623da67d67598cfbea391dda3832e9f57b612bd6dbb2bf88a0bdb1a8b1eeb4b5df3306b042f8fbd91774672c599d00f5ded7f3a6094b4f61b03b4f8c57ec36

@ -0,0 +1,107 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-games/cegui/cegui-0.8.3.ebuild,v 1.1 2013/12/30 22:19:19 hasufell Exp $
EAPI=5
# TODO: multiple ABI?
PYTHON_COMPAT=( python2_6 python2_7 )
inherit eutils flag-o-matic cmake-utils python-single-r1
DESCRIPTION="Crazy Eddie's GUI System"
HOMEPAGE="http://www.cegui.org.uk/"
SRC_URI="mirror://sourceforge/crayzedsgui/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 -ppc ~x86"
IUSE="bidi debug devil doc freeimage expat irrlicht lua ogre opengl pcre python static-libs tinyxml truetype xerces-c +xml zip"
REQUIRED_USE="|| ( expat tinyxml xerces-c xml )
${PYTHON_REQUIRED_USE}" # bug 362223
# gles broken
# gles? ( media-libs/mesa[gles1] )
# directfb broken
# directfb? ( dev-libs/DirectFB )
RDEPEND="
virtual/libiconv
bidi? ( dev-libs/fribidi )
devil? ( media-libs/devil )
expat? ( dev-libs/expat )
freeimage? ( media-libs/freeimage )
irrlicht? ( dev-games/irrlicht )
lua? (
dev-lang/lua
dev-lua/toluapp
)
ogre? ( >=dev-games/ogre-1.7 )
opengl? (
virtual/opengl
virtual/glu
media-libs/glew
)
pcre? ( dev-libs/libpcre )
python? (
${PYTHON_DEPS}
dev-libs/boost:=[python,${PYTHON_USEDEP}]
)
tinyxml? ( dev-libs/tinyxml )
truetype? ( media-libs/freetype:2 )
xerces-c? ( dev-libs/xerces-c )
xml? ( dev-libs/libxml2 )
zip? ( sys-libs/zlib[minizip] )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
virtual/pkgconfig
doc? ( app-doc/doxygen )
opengl? ( media-libs/glm )"
src_configure() {
# http://www.cegui.org.uk/mantis/view.php?id=991
append-ldflags $(no-as-needed)
local mycmakeargs=(
-DCEGUI_BUILD_IMAGECODEC_CORONA=OFF
$(cmake-utils_use devil CEGUI_BUILD_IMAGECODEC_DEVIL)
$(cmake-utils_use freeimage CEGUI_BUILD_IMAGECODEC_FREEIMAGE)
-DCEGUI_BUILD_IMAGECODEC_PVR=OFF
-DCEGUI_BUILD_IMAGECODEC_SILLY=OFF
-DCEGUI_BUILD_IMAGECODEC_STB=ON
-DCEGUI_BUILD_IMAGECODEC_TGA=ON
$(cmake-utils_use lua CEGUI_BUILD_LUA_GENERATOR)
$(cmake-utils_use lua CEGUI_BUILD_LUA_MODULE)
$(cmake-utils_use python CEGUI_BUILD_PYTHON_MODULES)
-DCEGUI_BUILD_RENDERER_DIRECTFB=OFF
$(cmake-utils_use irrlicht CEGUI_BUILD_RENDERER_IRRLICHT)
-DCEGUI_BUILD_RENDERER_NULL=ON
$(cmake-utils_use ogre CEGUI_BUILD_RENDERER_OGRE)
$(cmake-utils_use opengl CEGUI_BUILD_RENDERER_OPENGL)
$(cmake-utils_use opengl CEGUI_BUILD_RENDERER_OPENGL3)
-DCEGUI_BUILD_RENDERER_OPENGLES=OFF
$(cmake-utils_use static-libs CEGUI_BUILD_STATIC_CONFIGURATION)
-DCEGUI_BUILD_TESTS=OFF
$(cmake-utils_use expat CEGUI_BUILD_XMLPARSER_EXPAT)
$(cmake-utils_use xml CEGUI_BUILD_XMLPARSER_LIBXML2)
-DCEGUI_BUILD_XMLPARSER_RAPIDXML=OFF
$(cmake-utils_use tinyxml CEGUI_BUILD_XMLPARSER_TINYXML)
$(cmake-utils_use xerces-c CEGUI_BUILD_XMLPARSER_XERCES)
$(cmake-utils_use truetype CEGUI_HAS_FREETYPE)
$(cmake-utils_use zip CEGUI_HAS_MINIZIP_RESOURCE_PROVIDER)
$(cmake-utils_use pcre CEGUI_HAS_PCRE_REGEX)
-DCEGUI_SAMPLES_ENABLED=OFF
$(cmake-utils_use bidi CEGUI_USE_FRIBIDI)
-DCEGUI_USE_MINIBIDI=OFF
)
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
use doc && emake -C "${BUILD_DIR}" html
}
src_install() {
cmake-utils_src_install
use doc && dohtml "${BUILD_DIR}"/doc/doxygen/html/*
}

@ -1 +1,2 @@
DIST ogre-1.9.0.tar.bz2 128098305 SHA256 3072df52b2bed2a1b52e969f140ae9a4373ec931029d3eaa032e7c609a91ef82 SHA512 b1ea93d80ac0978a7c228460a6714f8d17797450efd5af6765c9fa4402e9060a8ef3a700d2757593a3016fdc32276722c8f4a5d9889a3e2eb424f16162a52bde WHIRLPOOL 625cc09ba5a76757b47764c41583584f538eb9561e5bfd546192e06da504aa3924d7070a7dfbe420c4db3edf5870baf5e8b77cc611aa4185806508f79302d6cd
DIST ogre_src_v1-8-1.tar.bz2 88619968 SHA256 da908ac934265d25e378d336d648327afe569a758ef262029acd357d506f6aab SHA512 0bbce593e5a9ebf51e3cb53661f6447d99ae28a53365d7f518c6d408216690527ef7552385160cff8d5c3ef15d3ab5c2520ef2c1f51fda5541d5d4dca4663ae2 WHIRLPOOL 7325effb6421710ff0e21ab0e29443404fed151cc2aeaf481c597fd098278bb6223b9e2115abbd175f305e909491766c2d7b871b028d5b46f8028269b25c161d

@ -0,0 +1,94 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-games/ogre/ogre-1.9.0.ebuild,v 1.2 2013/12/30 21:30:16 hasufell Exp $
EAPI=5
CMAKE_REMOVE_MODULES="yes"
CMAKE_REMOVE_MODULES_LIST="FindFreetype"
inherit eutils cmake-utils vcs-snapshot
DESCRIPTION="Object-oriented Graphics Rendering Engine"
HOMEPAGE="http://www.ogre3d.org/"
SRC_URI="https://bitbucket.org/sinbad/ogre/get/v${PV//./-}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="MIT public-domain"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+boost cg doc double-precision examples +freeimage gles2 ois +opengl poco profile tbb threads tools +zip"
REQUIRED_USE="threads? ( ^^ ( boost poco tbb ) )
poco? ( threads )
tbb? ( threads )"
RESTRICT="test" #139905
RDEPEND="
dev-libs/tinyxml
media-libs/freetype:2
virtual/opengl
virtual/glu
x11-libs/libX11
x11-libs/libXaw
x11-libs/libXrandr
x11-libs/libXt
boost? ( dev-libs/boost )
cg? ( media-gfx/nvidia-cg-toolkit )
freeimage? ( media-libs/freeimage )
gles2? ( >=media-libs/mesa-8.0.0[gles2] )
ois? ( dev-games/ois )
threads? (
poco? ( dev-libs/poco )
tbb? ( dev-cpp/tbb )
)
zip? ( sys-libs/zlib dev-libs/zziplib )"
# gles1 currently broken wrt bug #418201
DEPEND="${RDEPEND}
x11-proto/xf86vidmodeproto
virtual/pkgconfig
doc? ( app-doc/doxygen )"
src_prepare() {
sed -i \
-e "s:share/OGRE/docs:share/doc/${PF}:" \
Docs/CMakeLists.txt || die
# Stupid build system hardcodes release names
sed -i \
-e '/CONFIGURATIONS/s:CONFIGURATIONS Release.*::' \
CMake/Utils/OgreConfigTargets.cmake || die
}
src_configure() {
local mycmakeargs=(
-DOGRE_FULL_RPATH=NO
$(cmake-utils_use boost OGRE_USE_BOOST)
$(cmake-utils_use cg OGRE_BUILD_PLUGIN_CG)
$(cmake-utils_use doc OGRE_INSTALL_DOCS)
$(cmake-utils_use double-precision OGRE_CONFIG_DOUBLE)
$(cmake-utils_use examples OGRE_INSTALL_SAMPLES)
$(cmake-utils_use freeimage OGRE_CONFIG_ENABLE_FREEIMAGE)
$(cmake-utils_use opengl OGRE_BUILD_RENDERSYSTEM_GL)
-DOGRE_BUILD_RENDERSYSTEM_GLES=OFF
$(cmake-utils_use gles2 OGRE_BUILD_RENDERSYSTEM_GLES2)
$(cmake-utils_use profile OGRE_PROFILING)
$(cmake-utils_use examples OGRE_BUILD_SAMPLES)
-DOGRE_BUILD_TESTS=FALSE
$(usex threads "-DOGRE_CONFIG_THREADS=2" "-DOGRE_CONFIG_THREADS=0")
$(cmake-utils_use tools OGRE_BUILD_TOOLS)
$(cmake-utils_use zip OGRE_CONFIG_ENABLE_ZIP)
)
if use threads ; then
local f
for f in boost poco tbb ; do
use ${f} || continue
mycmakeargs+=( -DOGRE_CONFIG_THREAD_PROVIDER=${f} )
break
done
fi
cmake-utils_src_configure
}
src_install() {
cmake-utils_src_install
docinto examples
dodoc "${CMAKE_BUILD_DIR}"/bin/*.cfg
}

@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/httpunit/httpunit-1.7.ebuild,v 1.2 2013/08/14 09:30:34 patrick Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-java/httpunit/httpunit-1.7.ebuild,v 1.3 2014/01/01 12:42:22 tomwij Exp $
EAPI="5"
@ -10,7 +10,6 @@ inherit java-pkg-2 java-ant-2
DESCRIPTION="HttpUnit emulates the relevant portions of browser behavior."
HOMEPAGE="http://httpunit.sourceforge.net/"
# TODO What is metainf for? Where did it come from?
SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
LICENSE="MIT"

@ -1,3 +1,2 @@
DIST icedtea-web-1.3.1.tar.gz 995777 SHA256 20c7fd1eef6c79cbc6478bb01236a3eb2f0af6184eaed24baca59a3c37eafb56 SHA512 9e014ec1eb93868aeb5409aa79a6adcb07dbcab37f881693d4c8f9b755ed97fee1a53abc852a0483d3966fe4ea4fa0df80935b89db8703fcde8df74f04169dcf WHIRLPOOL d0a91f8b441137a92fb8e76774c5c7c43568f171084e48ef390765a7732d490ea2450c4d5338d6485745665c6228b8dffa06986b8b5441a8b117435ec9d34729
DIST icedtea-web-1.3.2.tar.gz 1038957 SHA256 bd25d9a9565271b716e54a19ffe8e34ab339666f72c99da743155320b9ac27f0 SHA512 5bf09819c7ce855c5c05b27589afbef14a209174d9de2e7ad6d1a7c7ee90e98efe5498718becca046c9aca8525d5fea9636819ccc4b9b18f38f15103d66bcd16 WHIRLPOOL 43bb9f1532305c61c456d2f7a81f93f73e4f560bafdeada5d731627fd6c8d2435718d2571e47fa05e8420d306627f7396f59f6dd10961a88df03491032a37817
DIST icedtea-web-1.4.1.tar.gz 1376133 SHA256 09100207396a09784e04f2ad40d65212930c1d43839e7fa63b9dffaf8567d77b SHA512 aee04dfd3f5cfdf1b956c500922c62f5b37134be4c17562e42f4368bf1a160954a57e78e5f0ce06e2af21237511c5b8d04c490db12ab11d743b5064523b76e6b WHIRLPOOL e47893f67efcda6b948ac28c443a4c2a51cf92e687ac3ca765fc87ed20e5231dd6d96b751044ac87d85ae1d03fdf608931e2e693ca026b921970a3d804eb89c6

@ -1,128 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea-web/icedtea-web-1.3.1-r7.ebuild,v 1.1 2012/11/14 21:59:24 caster Exp $
# Build written by Andrew John Hughes (ahughes@redhat.com)
EAPI="4"
inherit autotools eutils java-pkg-2 java-vm-2
DESCRIPTION="FOSS Java browser plugin and Web Start implementation"
HOMEPAGE="http://icedtea.classpath.org"
SRC_URI="http://icedtea.classpath.org/download/source/${P}.tar.gz"
LICENSE="GPL-2 GPL-2-with-linking-exception LGPL-2"
SLOT="7"
KEYWORDS="~amd64 ~ia64 ~x86"
IUSE="build doc gtk2 gtk3 javascript +nsplugin test"
COMMON_DEP="
dev-java/icedtea:${SLOT}
nsplugin? (
>=dev-libs/glib-2.16
gtk2? (
!gtk3? ( >=x11-libs/gtk+-2.6:2 )
gtk3? ( x11-libs/gtk+:3 )
)
!gtk2? ( x11-libs/gtk+:3 )
)"
RDEPEND="${COMMON_DEP}"
# Need system junit 4.8+. Bug #389795
DEPEND="${COMMON_DEP}
virtual/pkgconfig
javascript? ( dev-java/rhino:1.6 )
nsplugin? ( net-misc/npapi-sdk )
test? ( >=dev-java/junit-4.8:4 )"
pkg_setup() {
JAVA_PKG_WANT_BUILD_VM="icedtea-${SLOT} icedtea${SLOT}"
JAVA_PKG_WANT_SOURCE="1.6"
JAVA_PKG_WANT_TARGET="1.6"
java-vm-2_pkg_setup
java-pkg-2_pkg_setup
VMHANDLE="icedtea-${SLOT}"
}
src_prepare() {
# bug #356645
epatch "${FILESDIR}"/0002-Respect-LDFLAGS.patch
eautoreconf
}
src_configure() {
local vmhome=$(java-config -O)
if use build; then
icedteadir="${ICEDTEA_BIN_DIR}"
[[ -z ${icedteadir} ]] && die "USE=build is an internal flag and should not be enabled"
installdir="/opt/icedtea-web-bin-${SLOT}"
else
icedteadir="/usr/$(get_libdir)/icedtea${SLOT}"
installdir="/usr/$(get_libdir)/icedtea${SLOT}-web"
[[ "${vmhome}" == "${icedteadir}" ]] \
|| die "Unexpected install location of IcedTea ${SLOT} '${vmhome}'"
fi
einfo "Installing IcedTea-Web in '${installdir}'"
einfo "Installing IcedTea-Web for IcedTea${SLOT} in '${icedteadir}'"
local gtk_ver=3
use gtk2 && gtk_ver=2
use gtk3 && gtk_ver=3
local myconf=(
# we need to override all *dir variables that econf sets.
# man page (javaws) is installed directly to icedteadir because it's
# easier than symlinking, as we don't know the suffix the man page will
# end up compressed with, anyway
--prefix="${installdir}"
--mandir="${icedteadir}"/man
--infodir="${installdir}"/share/info
--datadir="${installdir}"/share
--with-jdk-home="${icedteadir}"
--with-gtk=${gtk_ver}
$(use_enable doc docs)
$(use_enable nsplugin plugin)
$(use_with javascript rhino)
)
unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
econf "${myconf[@]}"
}
src_compile() {
# we need this to override the src_compile from java-pkg-2
default
}
src_install() {
# bug #440906
MAKEOPTS+=" -j1" default
if use nsplugin; then
install_mozilla_plugin "${installdir}/$(get_libdir)/IcedTeaPlugin.so";
fi
for binary in javaws itweb-settings; do
dosym ${installdir}/bin/${binary} ${icedteadir}/bin/${binary}
dosym ${installdir}/bin/${binary} ${icedteadir}/jre/bin/${binary}
done
}
pkg_postinst() {
java-vm_check-nsplugin
java_mozilla_clean_
if use nsplugin; then
elog "The icedtea browser plugin (NPPlugin) can be enabled using eselect java-nsplugin"
fi
}
pkg_prerm() {
# override the java-vm-2 eclass check for removing a system VM, as it
# doesn't make sense here.
:;
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save