parent
17cb069f0a
commit
35017a8ea7
@ -1,92 +0,0 @@
|
||||
# ChangeLog for app-admin/mate-system-tools
|
||||
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
|
||||
# (auto-generated from git log)
|
||||
|
||||
*mate-system-tools-1.8.1 (09 Aug 2015)
|
||||
*mate-system-tools-1.8.0 (09 Aug 2015)
|
||||
|
||||
09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org>
|
||||
+files/mate-system-tools-1.6.0-Update-POTFILES-skip.patch,
|
||||
+mate-system-tools-1.8.0.ebuild, +mate-system-tools-1.8.1.ebuild,
|
||||
+metadata.xml:
|
||||
proj/gentoo: Initial commit
|
||||
|
||||
This commit represents a new era for Gentoo:
|
||||
Storing the gentoo-x86 tree in Git, as converted from CVS.
|
||||
|
||||
This commit is the start of the NEW history.
|
||||
Any historical data is intended to be grafted onto this point.
|
||||
|
||||
Creation process:
|
||||
1. Take final CVS checkout snapshot
|
||||
2. Remove ALL ChangeLog* files
|
||||
3. Transform all Manifests to thin
|
||||
4. Remove empty Manifests
|
||||
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
|
||||
5.1. Do not touch files with -kb/-ko keyword flags.
|
||||
|
||||
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
|
||||
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration
|
||||
tests
|
||||
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this
|
||||
project
|
||||
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo
|
||||
developer, wrote Git features for the migration
|
||||
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve
|
||||
cvs2svn
|
||||
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
|
||||
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014
|
||||
work in migration
|
||||
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
|
||||
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on
|
||||
the bikeshed
|
||||
|
||||
24 Aug 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
|
||||
Use https by default
|
||||
|
||||
Convert all URLs for sites supporting encrypted connections from http to
|
||||
https
|
||||
|
||||
Signed-off-by: Justin Lecher <jlec@gentoo.org>
|
||||
|
||||
24 Aug 2015; Mike Gilbert <floppym@gentoo.org> metadata.xml:
|
||||
Revert DOCTYPE SYSTEM https changes in metadata.xml
|
||||
|
||||
repoman does not yet accept the https version.
|
||||
This partially reverts eaaface92ee81f30a6ac66fe7acbcc42c00dc450.
|
||||
|
||||
Bug: https://bugs.gentoo.org/552720
|
||||
|
||||
24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
|
||||
Replace all herds with appropriate projects (GLEP 67)
|
||||
|
||||
Replace all uses of herd with appropriate project maintainers, or no
|
||||
maintainers in case of herds requested to be disbanded.
|
||||
|
||||
24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
|
||||
Set appropriate maintainer types in metadata.xml (GLEP 67)
|
||||
|
||||
26 Jan 2016; NP-Hardass <NP-Hardass@gentoo.org>
|
||||
-files/mate-system-tools-1.6.0-Update-POTFILES-skip.patch,
|
||||
-mate-system-tools-1.8.0.ebuild:
|
||||
Drop old
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
|
||||
06 Aug 2016; NP-Hardass <NP-Hardass@gentoo.org>
|
||||
-mate-system-tools-1.8.1.ebuild, -metadata.xml:
|
||||
Drop 1.8.x
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
|
||||
*mate-system-tools-1.8.1 (07 Aug 2016)
|
||||
|
||||
07 Aug 2016; NP-Hardass <NP-Hardass@gentoo.org>
|
||||
+mate-system-tools-1.8.1.ebuild, +metadata.xml:
|
||||
Re-add 1.8.x
|
||||
|
||||
Upstream has dropped support for this package due to lack of interest.
|
||||
Readded to smooth user transition with mask
|
||||
|
||||
This reverts commit 927c8d18767d87967959dab8f6126f8a8ba7e8e9.
|
||||
|
@ -1,46 +0,0 @@
|
||||
# ChangeLog for app-admin/mate-system-tools
|
||||
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/mate-system-tools/ChangeLog,v 1.10 2015/07/11 23:41:01 np-hardass Exp $
|
||||
|
||||
11 Jul 2015; NP-Hardass <NP-Hardass@gentoo.org>
|
||||
mate-system-tools-1.8.0.ebuild, mate-system-tools-1.8.1.ebuild:
|
||||
Deprecate 1.6
|
||||
|
||||
11 Jul 2015; NP-Hardass <NP-Hardass@gentoo.org> metadata.xml:
|
||||
Update metadata
|
||||
|
||||
20 Dec 2014; Matthias Maier <tamiko@gentoo.org>
|
||||
-mate-system-tools-1.6.0.ebuild:
|
||||
drop old
|
||||
|
||||
*mate-system-tools-1.8.1 (09 Dec 2014)
|
||||
|
||||
09 Dec 2014; Matthias Maier <tamiko@gentoo.org>
|
||||
+mate-system-tools-1.8.1.ebuild:
|
||||
version bump
|
||||
|
||||
02 Jul 2014; Pacho Ramos <pacho@gentoo.org> mate-system-tools-1.8.0.ebuild:
|
||||
x86 stable, bug 513714
|
||||
|
||||
02 Jul 2014; Pacho Ramos <pacho@gentoo.org> mate-system-tools-1.8.0.ebuild:
|
||||
amd64 stable, bug 513714
|
||||
|
||||
07 Jun 2014; Agostino Sarubbo <ago@gentoo.org> mate-system-tools-1.8.0.ebuild:
|
||||
Add ~x86, wrt bug #508072
|
||||
|
||||
04 May 2014; Agostino Sarubbo <ago@gentoo.org> mate-system-tools-1.6.0.ebuild:
|
||||
Stable for amd64, wrt bug #509268
|
||||
|
||||
*mate-system-tools-1.8.0 (10 Apr 2014)
|
||||
|
||||
10 Apr 2014; Tom Wijsman <TomWij@gentoo.org> +mate-system-tools-1.8.0.ebuild:
|
||||
Version bump to 1.8.0.
|
||||
|
||||
*mate-system-tools-1.6.0 (22 Mar 2014)
|
||||
|
||||
22 Mar 2014; Tom Wijsman <TomWij@gentoo.org>
|
||||
+files/mate-system-tools-1.6.0-Update-POTFILES-skip.patch,
|
||||
+mate-system-tools-1.6.0.ebuild, +metadata.xml:
|
||||
New ebuild for app-admin/mate-system-tools, tools aimed to make easy the
|
||||
administration of UNIX systems; imported from the mate-overlay, reviewed and
|
||||
adjusted.
|
@ -1,5 +0,0 @@
|
||||
DIST mate-system-tools-1.8.1.tar.xz 4348304 SHA256 c5f1faee761deb679f7a37607cc7166ea81b7d16a7fbc05951b32f119bcb944e SHA512 a2cda52ebab386ebbf6c01288741f59914c8fe8a672a1220b0a8cc44afb51058e8545f385f4d5dab650bc36c3c18ad9519580ce255b4c607131c2c5dd3ce15ce WHIRLPOOL ba486ffcc9dd25aa10858e3b09a046eadbe99a11d4e98c872dd14b91002e9e62a17d88744707ef8fac80b44e27d6402b4532d77d30f6ce0f905335d0e9eee7d2
|
||||
EBUILD mate-system-tools-1.8.1.ebuild 1468 SHA256 59dbbafc7d823542c87c61e6c4eda412aa2c42d2a8cde4612e38f5496a1613eb SHA512 f66f3b81b23b0e6ad4c6e454a2c082414f76f07ab2e3f37397d254e0a012b1031fb7d60a94e082367ebfabbc7f3986aa15744c0403b21752e45ad2cd87e26835 WHIRLPOOL cb45179e96402dfd07766c7bc32ed7777b43c2938259a5db7c28bda3e5f45f3158d3d737f70ec511717996a76bb1669e3a58e5e04ba28b32d92f1ac6c6acd8c8
|
||||
MISC ChangeLog 3276 SHA256 6abb5ca4d7cbf41ebc69a48c8cd2c17f3296036ed05a132d7ff5cced383566b3 SHA512 849e7e36b0a2b697d5d491b9f8cb0df7a00ec574ef42359ec1dd4d5289aaeb21a9841cae0f97548ad8c98e986d82e02eb21aa8931e43a3829a13c652a29c7da4 WHIRLPOOL 60c2fe66c18f954b3296a829b9353f48aa9557b26e61a6a62c6bf7a74bcd901030cbaa01e84dbcb4b50631ada041ef4e930da7fa61d661c2931f4c6d6b47c88c
|
||||
MISC ChangeLog-2015 1634 SHA256 dae2f44013690f9b8fb6d5f85975c47d10cfaddd34c5100e69c31d1c40868272 SHA512 768818ab9012196b9040c899664b0e1d64f6dead59f6f70f6c59bff3cfaa6565380886033484c1cf0b29baa7dfbad7076e1ec990a2e76609e2642ce22f1f8a83 WHIRLPOOL d09539e76ab192ab2656d90127048acbdc11b1eb12a372b24f874a8926a8fa0915cd2403e2c485d5a597262d2c799d107d05179a326cbf3b4d900098c4a5023d
|
||||
MISC metadata.xml 829 SHA256 2abb289209d80630318f2b41922b3b363d9f6fae2b1945325d7e6a8ed3cef091 SHA512 9bbf23531f406f7019042b75b33165df383a5c2c496ef5bd31c086c7fe01826706aadd67d1f7fb69dc0eb92ac296a0a67a4aadbe1eac29ed0c7601fd89c33d52 WHIRLPOOL f3d10e769a445c58a52e88e6d5d1c0af2ee2910cb5c0ade80052c6dbc1a59f4f1d218dba44217278570533fc561ddaf3c5fab07d6b117b6db7f7d1e53ea53ab5
|
@ -1,66 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
GCONF_DEBUG="no"
|
||||
GNOME2_LA_PUNT="yes"
|
||||
|
||||
inherit gnome2 versionator
|
||||
|
||||
MATE_BRANCH="$(get_version_component_range 1-2)"
|
||||
|
||||
SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${P}.tar.xz"
|
||||
DESCRIPTION="Tools aimed to make easy the administration of UNIX systems"
|
||||
HOMEPAGE="http://mate-desktop.org"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
IUSE="caja nfs policykit samba"
|
||||
|
||||
RDEPEND="app-text/rarian:0
|
||||
>=app-admin/system-tools-backends-2.10.1:0
|
||||
dev-libs/atk:0
|
||||
dev-libs/dbus-glib:0
|
||||
>=dev-libs/glib-2.25.3:2
|
||||
>=dev-libs/liboobs-1.1:0
|
||||
>=sys-apps/dbus-0.32:0
|
||||
net-wireless/wireless-tools:0
|
||||
sys-libs/cracklib:0
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/pango:0
|
||||
>=x11-libs/gtk+-2.19.7:2
|
||||
virtual/libintl:0
|
||||
caja? ( >=mate-base/caja-1.8:0 )
|
||||
nfs? ( net-fs/nfs-utils:0 )
|
||||
policykit? (
|
||||
>=mate-extra/mate-polkit-1.8:0
|
||||
>=sys-auth/polkit-0.92:0
|
||||
)
|
||||
samba? ( >=net-fs/samba-3:0 )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
app-text/docbook-xml-dtd:4.1.2
|
||||
>=app-text/scrollkeeper-dtd-1:1.0
|
||||
app-text/yelp-tools:0
|
||||
sys-devel/gettext:*
|
||||
virtual/pkgconfig:*
|
||||
>=dev-util/intltool-0.35.0:*"
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
if ! use nfs && ! use samba; then
|
||||
myconf="--disable-shares"
|
||||
fi
|
||||
|
||||
gnome2_src_configure \
|
||||
${myconf} \
|
||||
--disable-static \
|
||||
$(use_enable policykit polkit-gtk-mate) \
|
||||
$(use_enable caja)
|
||||
}
|
||||
|
||||
DOCS="AUTHORS BUGS ChangeLog HACKING NEWS README TODO"
|
@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>mate@gentoo.org</email>
|
||||
<name>Gentoo MATE Desktop</name>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
Formerly known as the Ximian Setup Tools, the GST are a fully
|
||||
integrated set of tools aimed to make easy the job that means the
|
||||
computer administration on an UNIX or Linux system. They're
|
||||
thought to help from the new Linux or UNIX user to the system
|
||||
administrators.
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="nfs">Adds support for NFS shares</flag>
|
||||
<flag name="caja">Adds support for the Caja file manager</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">mate-desktop/mate-system-tools</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -0,0 +1,17 @@
|
||||
# ChangeLog for app-crypt/libmd
|
||||
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
|
||||
# (auto-generated from git log)
|
||||
|
||||
*libmd-0.0.0 (04 Sep 2016)
|
||||
|
||||
04 Sep 2016; Manuel Rüger <mrueg@gentoo.org> +libmd-0.0.0.ebuild,
|
||||
+metadata.xml:
|
||||
Initial version
|
||||
|
||||
Package-Manager: portage-2.3.0
|
||||
|
||||
05 Sep 2016; Manuel Rüger <mrueg@gentoo.org> libmd-0.0.0.ebuild:
|
||||
Add ~x86 keyword
|
||||
|
||||
Package-Manager: portage-2.3.0
|
||||
|
@ -0,0 +1,4 @@
|
||||
DIST libmd-0.0.0.tar.xz 252384 SHA256 fd3f2366236fb3fd0dac0c0a77ffff8511e2939c79d1d58daf56e3f5ee383a88 SHA512 6677959b7725114d7ebb747e0746d2712fc9b65f688eb28fa931c9042cee10cda3de33a1496b0220141800e98cf923d95dd5a5f3c2b8a68c3e169ef9fdaa39ef WHIRLPOOL c53c805ef892e2c08e150a387185442ce62f08887f4f0d0b3517109c4e12400fb0c39132afbe548ba9f7258754d5543949f5a7f28efec32e32ecdc20958aa34b
|
||||
EBUILD libmd-0.0.0.ebuild 391 SHA256 db967a3b772ddedc3dc1c95e4d9db1c7ece7fb67199a8ff126097b2793a5d0bb SHA512 45e0fbadb0346bb59408c63e8575efb6bba105e59a134c54ab6e0ee5270812cbdf5fb952c689f70b9ca8931c6f1c45334cfcaef764fa9cdb55d5633ea4924090 WHIRLPOOL 29b7a3f40eb29b19d78cfe569ba9322b1040775c5e7e1d3fa54b2ec853c930366e1d3700b3b627ea1af2a010ee44d82773c0443e2e859fde0685becf865e95f7
|
||||
MISC ChangeLog 424 SHA256 0faef74c4e4acd948e5cc116bb37d5594dd7288cd6146177ec3e347167862cdb SHA512 51994031674129614bd5ff28650a3d68d3041cafe3869b6ad663e6e42f651c46daa3e7b37d5a99ff931555f8d62872fb99103074859d326a857024efea3e8771 WHIRLPOOL d43c81e8249c8b2255b9e68d99f888d81cf035c7dd4a07958bccb3e89665a67b290b1328ba7475937e1aeceef21746e5c536ee5b1a48c37d26a53b2409581e15
|
||||
MISC metadata.xml 245 SHA256 6fedd876236c2f1fe2687e73628381650ebecef9734f88f6d483bec5bf475a7f SHA512 ce14e948c06d19eefb8504b77746e191099fd4d66083ad01ac62d874029b397af4edc5940312dac09c9ed18ccbcd98909b93fc0bc463c15db97bf68d13c9fec4 WHIRLPOOL 4957affde63b54e118270c40ce12683872777b41ec1a798f7b03807a99917148279d392f71cbcf95ec4e5d586ee5fc0400aea77d9e46083873a441a4907ba13d
|
@ -0,0 +1,14 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="Message Digest functions from BSD systems"
|
||||
HOMEPAGE="https://www.hadrons.org/software/libmd/"
|
||||
SRC_URI="https://archive.hadrons.org/software/libmd/${P}.tar.xz"
|
||||
|
||||
LICENSE="|| ( BSD BSD-2 ISC BEER-WARE public-domain )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>mrueg@gentoo.org</email>
|
||||
<name>Manuel Rüger</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,115 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit eutils toolchain-funcs autotools
|
||||
|
||||
DESCRIPTION="A collection of several tools related to OpenPGP"
|
||||
HOMEPAGE="http://pgp-tools.alioth.debian.org/"
|
||||
SRC_URI="mirror://debian/pool/main/s/signing-party/${PN}_${PV}.orig.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="dev-lang/perl"
|
||||
RDEPEND="${DEPEND}
|
||||
>=app-crypt/gnupg-1.3.92
|
||||
app-crypt/libmd
|
||||
dev-perl/GnuPG-Interface
|
||||
dev-perl/Text-Template
|
||||
dev-perl/MIME-tools
|
||||
net-mail/qprint
|
||||
>=dev-perl/MailTools-1.62
|
||||
dev-perl/Net-IDN-Encode
|
||||
virtual/mailx
|
||||
virtual/mta
|
||||
|| (
|
||||
dev-perl/libintl-perl
|
||||
dev-perl/Text-Iconv
|
||||
app-text/recode
|
||||
)"
|
||||
S=$WORKDIR
|
||||
|
||||
src_prepare() {
|
||||
# app-crypt/keylookup
|
||||
rm -r keylookup || die
|
||||
# media-gfx/springgraph
|
||||
rm -r springgraph || die
|
||||
|
||||
cd keyanalyze/pgpring || die
|
||||
sed -i 's/AM_C_PROTOTYPES//' configure.ac || die
|
||||
eautoreconf
|
||||
cd "${WORKDIR}" || die
|
||||
|
||||
find . -name Makefile | xargs sed -i -e 's/CFLAGS:=/CFLAGS=/' -e 's/CPPFLAGS:=/CPPFLAGS=/' -e 's/LDFLAGS:=/LDFLAGS=/'
|
||||
|
||||
sed -i "s:/usr/share/doc/signing-party/caff/caffrc.sample:${EPREFIX}/usr/share/doc/${P}/caff/caffrc.sample.gz:g" \
|
||||
caff/caff || die
|
||||
sed -i -e 's/automake[^ ]*/true/g' -e 's/autoconf[^ ]*/true/g' keyanalyze/Makefile || die
|
||||
sed -i 's/make /\$(MAKE) /' keyanalyze/Makefile || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake \
|
||||
CC="$(tc-getCC)" \
|
||||
CPPFLAGS="${CPPFLAGS}" \
|
||||
CFLAGS="${CFLAGS}" \
|
||||
LDFLAGS="${LDFLAGS}" \
|
||||
STRIP=true
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Check Makefile when a new tool is introduced to this package.
|
||||
# caff
|
||||
dobin caff/caff caff/pgp-clean caff/pgp-fixkey
|
||||
docinto caff
|
||||
dodoc caff/{README*,THANKS,TODO,caffrc.sample}
|
||||
# gpgdir
|
||||
dobin gpgdir/gpgdir
|
||||
docinto gpgdir
|
||||
dodoc gpgdir/{VERSION,LICENSE,README,INSTALL,CREDITS,ChangeLog*}
|
||||
# gpg-key2ps
|
||||
dobin gpg-key2ps/gpg-key2ps
|
||||
docinto gpg-key2ps
|
||||
dodoc gpg-key2ps/README
|
||||
# gpglist
|
||||
dobin gpglist/gpglist
|
||||
# gpg-mailkeys
|
||||
dobin gpg-mailkeys/gpg-mailkeys
|
||||
docinto gpg-mailkeys
|
||||
dodoc gpg-mailkeys/{example.gpg-mailkeysrc,README}
|
||||
# gpgparticipants
|
||||
dobin gpgparticipants/gpgparticipants
|
||||
# gpgwrap
|
||||
dobin gpgwrap/bin/gpgwrap
|
||||
docinto gpgwrap
|
||||
dodoc gpgwrap/{LICENSE,NEWS,README}
|
||||
doman gpgwrap/doc/gpgwrap.1
|
||||
# gpgsigs
|
||||
dobin gpgsigs/gpgsigs
|
||||
insinto /usr/share/signing-party
|
||||
# keyanalyze
|
||||
# TODO: some of the scripts are intended for webpages, and not really
|
||||
# packaging, so they are NOT installed yet.
|
||||
newbin keyanalyze/pgpring/pgpring pgpring-keyanalyze
|
||||
dobin keyanalyze/{keyanalyze,process_keys}
|
||||
docinto keyanalyze
|
||||
dodoc keyanalyze/{README,Changelog}
|
||||
# See app-crypt/keylookup instead
|
||||
#dobin keylookup/keylookup
|
||||
#docinto keylookup
|
||||
#dodoc keylookup/NEWS
|
||||
# sig2dot
|
||||
dobin sig2dot/sig2dot
|
||||
dodoc sig2dot/README.sig2dot
|
||||
# See media-gfx/springgraph instead
|
||||
#dobin springgraph/springgraph
|
||||
#dodoc springgraph/README.springgraph
|
||||
# all other manpages, and the root doc
|
||||
doman */*.1
|
||||
dodoc README
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
DIST ReText-4.1.3.tar.gz 129283 SHA256 bb4409982d27ac62cab01b0748fe41d9c6660853668b350f3369e76d155edd6c SHA512 d2b3fa901afa9870f6cecc7ab3126b91f1420ca1b14ddd4f609c2ada7121388840b5be679914694664f3bbf876ee8522aa6b0c82a23f837844f788fa10a46323 WHIRLPOOL 3be71e5d7ec612ae4e4fec17ca544f6d0e7cb7421fcdeb517d3c13156ed07f5e5e7c3e352cf604bfb5f2287964fdc173a1bac0eeab41ee1cda8b265ad0f57686
|
||||
DIST ReText-5.3.0.tar.gz 160163 SHA256 9ec0cee93e6731fbf00b86574cb47c3132f62291e762f5e47258a3171bfdd21d SHA512 d6ff8e61b1e13de72c5d1741795fddb3a1ba443b2aa6aba6ca933ae38e09c8dac38085bfd73e0c1773dec9a72df1f08d64ef22d2396694530bade6ff8a485223 WHIRLPOOL 98537b5244a583c04604a6b1626a3813b6506dfefda6d40c85aaae076b30c7e14a0b8a363e431d9bd5ceea41a31f07785663a018bbdae1dc897a29eec22c99c1
|
||||
DIST ReText-5.3.1.tar.gz 159669 SHA256 515b1aaa57615453f8933f997753072a5c4691793da2280e70d1b333b53904c6 SHA512 76c6f78c10129e4845de819fa6db3deff5441a25331fd3dadbdfeb766caa453f21214f82e6625c919cc8be2fcfdfada970cae32837bb8904c3702dda19890628 WHIRLPOOL 5c2db75c2b2f23419bc2803849f6b7a69f3540911c6e53f46a46baffd150a9a0db75d0343361963a53bcc1a6da4534eb72d99068a26c13c1551b6188ab81f67a
|
||||
EBUILD retext-4.1.3.ebuild 1269 SHA256 ac7db0d5143ff895d0d454e351fdf26c4d82e3278e4289f41ce61ca016789055 SHA512 26959905939246cc52b8dd4b460cec069f837f30c916e499a5721962e2860f4bda36ba1d2cd83f9fd77e5d9365dabb27b445f0d772c04c1a19bec3fdbb7ee29a WHIRLPOOL f1aa505767c6aa61c7d91e3b19e2eaf26c69c7b8171eac84eb9267de95b46ca8d4facbb554a5c046a7a5cf874d8424b2aab2f34a65e3a5c4bdc698005b7ab0cd
|
||||
EBUILD retext-5.3.0.ebuild 1247 SHA256 fc8fbdcd24fa97323fafbaabfbc0108fbb540713058169ddc4f3af583130fbf1 SHA512 d43a7ce1d3cb9842ac2135c8584b91dfadc4c63d479c6afc1401fb2abdd6f83ba4d1d10da516aac9b59a0a85694665c49dca00dd93a5c24a65e2540ed640a2c8 WHIRLPOOL 5d236a48fd2b18af0656b71f3d147e19adfc195caa1c8829a6d4d439302921d0482aa960d680c04d9f82df3df47e766dd5856fb3bf37b31d4240471df26da5ed
|
||||
EBUILD retext-5.3.1.ebuild 1247 SHA256 c7b704813b3617f49893a984b24f18a7fd40b10a13a6004f227744f088dc4ef4 SHA512 80f54bc3b95810b13fb262d8271b390f906bbdd6489873367b28c1222b4d631736721a5f76c144295c8c8ba3c778af49ca35cbcdd6daa58d744f769c2d6d5dbb WHIRLPOOL 5e7bda67eeac055a12759515ca4174d743c6d5e1daaacfdac7482df286d655ec0a3f402c5ad0e4f3fa6dc67d8d0d5f2031ce2e2f5563679acf49cccba3307b2e
|
||||
EBUILD retext-9999.ebuild 1287 SHA256 b7580f32407458879486feb4413c13021ad4705bbb68646800ca8535f83a94f0 SHA512 95afe6b091c11f07e3c0176ed7e086a092dd87737b0e4d6c99a298488e8aad2b7143dc0b9c112087bb9f4487fa76be71ab26e1b86a00e76eee0cbbb07bf36b3b WHIRLPOOL 21ea0b9c5a07b1a1a608cacd81c52f3b0ea499f7239eff32d11114d333b2f74f98c26e320a0cd3d641f3c97f3a73bd3909485e8b771d87db5192fa831248cb3b
|
||||
MISC ChangeLog 4082 SHA256 9bb54e371962a3d5d55e14bd6fe1a0005da00d9cfdc412bda2adecf52a61cc65 SHA512 a7ccbd1d616c19d739d8a9d661fa68c2c2f04e198a71d63c20e5e820f4265c5ab29f728c513875aaaec475880ed083389cc500b1b31896c334897635349c1386 WHIRLPOOL 56a597fc0905a2d9fcd3a38dd17d2307cb4dd254f0e6d514079df06bc4b89d826b1c207be3556ab1c4400cbd4e6eb14e0e115c17bb10fa9b752c14f41403807b
|
||||
DIST ReText-6.0.1.tar.gz 184098 SHA256 7c9785cb022d2f0b123b8a808c2419cf1300249d594a72a5ef5a0030de8bb630 SHA512 aca8db5d82fadee7b8d03279e080b33da696339eb674ba1fc2dd4ced7c92b1608d8ed2d181bdbe913601d63755df38ebdfa06f77398e1b52cc922f54fc0fe867 WHIRLPOOL 0590b347e7ca21d7e6e653c74fd53abe2ccb0852e6ab3f53213f8beb38234b0b757bf60ba77f68e485b68332d3b06def94aa4b9aebae369e472a876ce34d9b77
|
||||
EBUILD retext-4.1.3.ebuild 1272 SHA256 d734cdb6f31efe78542af453f208ef19ec64c68c42cd869e18c0fb6f2cd5a6f5 SHA512 e93cd32026248c62db404c1d0c1c1c01a34836ecd0e01d855efe8cabe3b8bc3790f00ba7e449eaf1f2e7ad54eff185d48750e4a80ba2fa9e5167d6463d72f06b WHIRLPOOL 192499605f50801904f4eb5f1154624013f00fbaec6a8dc6a2a16088301012f3fac2b71ca8bf18ae8b346a16abaca68515a566b745f30f8de40fdefd9439d4b3
|
||||
EBUILD retext-5.3.1.ebuild 1250 SHA256 c66f4a1d5454f50aad704d00fb02199e17fd67a9aada7bc161de7312a6b66a4e SHA512 91e9f132d75a92c013340785bd4383a0b24fbd1c9e7d37a4e0f806cdcac5e1edb229a8e140021821a32d1d4d6acbaa7e183801f1640c036ca9fd7b4deae48764 WHIRLPOOL 769ae3c38348be74ee344b5ac987d34920967dfdda6d6bbf5ef1a4f05df7b92fd0801d4ccaaf04758bd5b09ab297be54060c43e23312f46d005c9c9aee8f55a1
|
||||
EBUILD retext-6.0.1.ebuild 1295 SHA256 3455f850f4dbf095b5614e230bc391238ed5839624b30e31084772a0e2e70628 SHA512 a2cce7ab1a1056f470b6458fa4f0dab3e147d2f0e267822f4411c68bc086ed36137bf3e3d5ca38e5ed26fe8c3bee0294bc34509304f5e5259ea7f8a945850c58 WHIRLPOOL 46345ac073316a07da32b1b8e4d9f73e76bf348d51ec996c0eff9541ca6cca1a9e12296d8b1b9206fd58946a46c2b047318c7d41c97f06e97c4c59a425f3ce41
|
||||
EBUILD retext-9999.ebuild 1337 SHA256 81cc6d05af3c36ec48891cf44877c14910fc40b9d24e9e5bf4f252227f086020 SHA512 7376cd03acb8516aeb16f322d6455207b8aae2d64ac486c9f3f4d5ca5eb8a25354cd478c206c8baf8a079ee4eca4d35e6bd32472abf50e14c1c0db93a365bad5 WHIRLPOOL 5e4f4e2273400d213823cb562c19fff9b69d699b1db98484b93a4b291fd4104e9c5ae77905cc3d1e219c44a133de2a375016845876420a7e8a85b5d79fe9ec19
|
||||
MISC ChangeLog 4550 SHA256 b219129ec6fe0325e7f1b8b2dca0861bd46dde54f8689eb9cf27a9ed0f6505c9 SHA512 97bfd47af878ef4f58953268a56129c5587bc69ed965869fbe35417797cd23fc33381746c139693ce1a59e9cf1445a25bd0530246814b1885259f3eda06a6ac1 WHIRLPOOL eb1ed1207798a4f441355b506fe06ed7d965a34c43ba94a422f8232abeed82fa53de962dab54f2351fccc01622e0d00f9ff0b89a63d6c10772812eda931ef908
|
||||
MISC ChangeLog-2015 3906 SHA256 8f5ea4e79d76b3439d02a0b10ad6feb838ae822e7f4d2f7532b2033e5274c467 SHA512 265fb90e834e0bed80b84a7d3e2c5fe9e74cdd2b38c9341f4e508ce26df93c936f5dc594cbd8097cfa50ea4abe7ac53550628448281fc1e943aedbc153a72341 WHIRLPOOL dcc764bf24b3bb8c49a0a326c66a56b35446183e2c835125cb08ff6f79f683e10b20a434449fa87cd61cd969bf21a367a94126ec43d4862928fc1acaa579d545
|
||||
MISC metadata.xml 440 SHA256 effd5c762c9834bf8029bc6b15b0b00b3b368620de061578d4be4250b500d056 SHA512 20e20738caa2c866288d75933a6dae62584f95eb720ebccda9b02e2d96b82043ead87cb810273b4a4f17815fa4c342b2f3a19b4891bfc6ef33c6fc63234775c5 WHIRLPOOL 61ad6ecb305e2f5c8afcb52520767c18615fb6e48c26a88bba7254feea204f7cbfbbc4b2e8b2ef92ed92b5b42d31a392cbfeeb418bd31c7727b0ffc30e32ef5d
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 4b3a4f2d458ca5a7c6c16ac36a8d9ac22cc253d6 Mon Sep 17 00:00:00 2001
|
||||
From: Greg Kurz <gkurz@linux.vnet.ibm.com>
|
||||
Date: Wed, 23 Dec 2015 10:56:58 +0100
|
||||
Subject: [PATCH] virtio-9p: use accessor to get thread_pool
|
||||
|
||||
The aio_context_new() function does not allocate a thread pool. This is
|
||||
deferred to the first call to the aio_get_thread_pool() accessor. It is
|
||||
hence forbidden to access the thread_pool field directly, as it may be
|
||||
NULL. The accessor *must* be used always.
|
||||
|
||||
Fixes: ebac1202c95a4f1b76b6ef3f0f63926fa76e753e
|
||||
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Tested-by: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Cc: qemu-stable@nongnu.org
|
||||
Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
|
||||
---
|
||||
hw/9pfs/virtio-9p-coth.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/9pfs/virtio-9p-coth.c b/hw/9pfs/virtio-9p-coth.c
|
||||
index fb6e8f8..ab9425c 100644
|
||||
--- a/hw/9pfs/virtio-9p-coth.c
|
||||
+++ b/hw/9pfs/virtio-9p-coth.c
|
||||
@@ -36,6 +36,6 @@ static int coroutine_enter_func(void *arg)
|
||||
void co_run_in_worker_bh(void *opaque)
|
||||
{
|
||||
Coroutine *co = opaque;
|
||||
- thread_pool_submit_aio(qemu_get_aio_context()->thread_pool,
|
||||
+ thread_pool_submit_aio(aio_get_thread_pool(qemu_get_aio_context()),
|
||||
coroutine_enter_func, co, coroutine_enter_cb, co);
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,95 +0,0 @@
|
||||
https://bugs.gentoo.org/567868
|
||||
|
||||
From aa4a3dce1c88ed51b616806b8214b7c8428b7470 Mon Sep 17 00:00:00 2001
|
||||
From: P J P <ppandit@redhat.com>
|
||||
Date: Tue, 15 Dec 2015 12:27:54 +0530
|
||||
Subject: [PATCH] net: vmxnet3: avoid memory leakage in activate_device
|
||||
|
||||
Vmxnet3 device emulator does not check if the device is active
|
||||
before activating it, also it did not free the transmit & receive
|
||||
buffers while deactivating the device, thus resulting in memory
|
||||
leakage on the host. This patch fixes both these issues to avoid
|
||||
host memory leakage.
|
||||
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Cc: qemu-stable@nongnu.org
|
||||
Signed-off-by: Jason Wang <jasowang@redhat.com>
|
||||
---
|
||||
hw/net/vmxnet3.c | 24 ++++++++++++++++--------
|
||||
1 file changed, 16 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
|
||||
index a5dd79a..9c1adfc 100644
|
||||
--- a/hw/net/vmxnet3.c
|
||||
+++ b/hw/net/vmxnet3.c
|
||||
@@ -1194,8 +1194,13 @@ static void vmxnet3_reset_mac(VMXNET3State *s)
|
||||
|
||||
static void vmxnet3_deactivate_device(VMXNET3State *s)
|
||||
{
|
||||
- VMW_CBPRN("Deactivating vmxnet3...");
|
||||
- s->device_active = false;
|
||||
+ if (s->device_active) {
|
||||
+ VMW_CBPRN("Deactivating vmxnet3...");
|
||||
+ vmxnet_tx_pkt_reset(s->tx_pkt);
|
||||
+ vmxnet_tx_pkt_uninit(s->tx_pkt);
|
||||
+ vmxnet_rx_pkt_uninit(s->rx_pkt);
|
||||
+ s->device_active = false;
|
||||
+ }
|
||||
}
|
||||
|
||||
static void vmxnet3_reset(VMXNET3State *s)
|
||||
@@ -1204,7 +1209,6 @@ static void vmxnet3_reset(VMXNET3State *s)
|
||||
|
||||
vmxnet3_deactivate_device(s);
|
||||
vmxnet3_reset_interrupt_states(s);
|
||||
- vmxnet_tx_pkt_reset(s->tx_pkt);
|
||||
s->drv_shmem = 0;
|
||||
s->tx_sop = true;
|
||||
s->skip_current_tx_pkt = false;
|
||||
@@ -1431,6 +1435,12 @@ static void vmxnet3_activate_device(VMXNET3State *s)
|
||||
return;
|
||||
}
|
||||
|
||||
+ /* Verify if device is active */
|
||||
+ if (s->device_active) {
|
||||
+ VMW_CFPRN("Vmxnet3 device is active");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
vmxnet3_adjust_by_guest_type(s);
|
||||
vmxnet3_update_features(s);
|
||||
vmxnet3_update_pm_state(s);
|
||||
@@ -1627,7 +1637,7 @@ static void vmxnet3_handle_command(VMXNET3State *s, uint64_t cmd)
|
||||
break;
|
||||
|
||||
case VMXNET3_CMD_QUIESCE_DEV:
|
||||
- VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - pause the device");
|
||||
+ VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - deactivate the device");
|
||||
vmxnet3_deactivate_device(s);
|
||||
break;
|
||||
|
||||
@@ -1741,7 +1751,7 @@ vmxnet3_io_bar1_write(void *opaque,
|
||||
* shared address only after we get the high part
|
||||
*/
|
||||
if (val == 0) {
|
||||
- s->device_active = false;
|
||||
+ vmxnet3_deactivate_device(s);
|
||||
}
|
||||
s->temp_shared_guest_driver_memory = val;
|
||||
s->drv_shmem = 0;
|
||||
@@ -2021,9 +2031,7 @@ static bool vmxnet3_peer_has_vnet_hdr(VMXNET3State *s)
|
||||
static void vmxnet3_net_uninit(VMXNET3State *s)
|
||||
{
|
||||
g_free(s->mcast_list);
|
||||
- vmxnet_tx_pkt_reset(s->tx_pkt);
|
||||
- vmxnet_tx_pkt_uninit(s->tx_pkt);
|
||||
- vmxnet_rx_pkt_uninit(s->rx_pkt);
|
||||
+ vmxnet3_deactivate_device(s);
|
||||
qemu_del_nic(s->nic);
|
||||
}
|
||||
|
||||
--
|
||||
2.6.2
|
||||
|
@ -1,35 +0,0 @@
|
||||
From 36fef36b91f7ec0435215860f1458b5342ce2811 Mon Sep 17 00:00:00 2001
|
||||
From: P J P <ppandit@redhat.com>
|
||||
Date: Mon, 21 Dec 2015 15:13:13 +0530
|
||||
Subject: [PATCH] scsi: initialise info object with appropriate size
|
||||
|
||||
While processing controller 'CTRL_GET_INFO' command, the routine
|
||||
'megasas_ctrl_get_info' overflows the '&info' object size. Use its
|
||||
appropriate size to null initialise it.
|
||||
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
|
||||
Cc: qemu-stable@nongnu.org
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Signed-off-by: P J P <ppandit@redhat.com>
|
||||
---
|
||||
hw/scsi/megasas.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
|
||||
index d7dc667..576f56c 100644
|
||||
--- a/hw/scsi/megasas.c
|
||||
+++ b/hw/scsi/megasas.c
|
||||
@@ -718,7 +718,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
|
||||
BusChild *kid;
|
||||
int num_pd_disks = 0;
|
||||
|
||||
- memset(&info, 0x0, cmd->iov_size);
|
||||
+ memset(&info, 0x0, dcmd_size);
|
||||
if (cmd->iov_size < dcmd_size) {
|
||||
trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
|
||||
dcmd_size);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,121 +0,0 @@
|
||||
From 64ffbe04eaafebf4045a3ace52a360c14959d196 Mon Sep 17 00:00:00 2001
|
||||
From: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
||||
Date: Wed, 13 Jan 2016 09:09:58 +0100
|
||||
Subject: [PATCH] hmp: fix sendkey out of bounds write (CVE-2015-8619)
|
||||
|
||||
When processing 'sendkey' command, hmp_sendkey routine null
|
||||
terminates the 'keyname_buf' array. This results in an OOB
|
||||
write issue, if 'keyname_len' was to fall outside of
|
||||
'keyname_buf' array.
|
||||
|
||||
Since the keyname's length is known the keyname_buf can be
|
||||
removed altogether by adding a length parameter to
|
||||
index_from_key() and using it for the error output as well.
|
||||
|
||||
Reported-by: Ling Liu <liuling-it@360.cn>
|
||||
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
||||
Message-Id: <20160113080958.GA18934@olga>
|
||||
[Comparison with "<" dumbed down, test for junk after strtoul()
|
||||
tweaked]
|
||||
Signed-off-by: Markus Armbruster <armbru@redhat.com>
|
||||
---
|
||||
hmp.c | 18 ++++++++----------
|
||||
include/ui/console.h | 2 +-
|
||||
ui/input-legacy.c | 5 +++--
|
||||
3 files changed, 12 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/hmp.c b/hmp.c
|
||||
index 54f2620..9c571f5 100644
|
||||
--- a/hmp.c
|
||||
+++ b/hmp.c
|
||||
@@ -1731,21 +1731,18 @@ void hmp_sendkey(Monitor *mon, const QDict *qdict)
|
||||
int has_hold_time = qdict_haskey(qdict, "hold-time");
|
||||
int hold_time = qdict_get_try_int(qdict, "hold-time", -1);
|
||||
Error *err = NULL;
|
||||
- char keyname_buf[16];
|
||||
char *separator;
|
||||
int keyname_len;
|
||||
|
||||
while (1) {
|
||||
separator = strchr(keys, '-');
|
||||
keyname_len = separator ? separator - keys : strlen(keys);
|
||||
- pstrcpy(keyname_buf, sizeof(keyname_buf), keys);
|
||||
|
||||
/* Be compatible with old interface, convert user inputted "<" */
|
||||
- if (!strncmp(keyname_buf, "<", 1) && keyname_len == 1) {
|
||||
- pstrcpy(keyname_buf, sizeof(keyname_buf), "less");
|
||||
+ if (keys[0] == '<' && keyname_len == 1) {
|
||||
+ keys = "less";
|
||||
keyname_len = 4;
|
||||
}
|
||||
- keyname_buf[keyname_len] = 0;
|
||||
|
||||
keylist = g_malloc0(sizeof(*keylist));
|
||||
keylist->value = g_malloc0(sizeof(*keylist->value));
|
||||
@@ -1758,16 +1755,17 @@ void hmp_sendkey(Monitor *mon, const QDict *qdict)
|
||||
}
|
||||
tmp = keylist;
|
||||
|
||||
- if (strstart(keyname_buf, "0x", NULL)) {
|
||||
+ if (strstart(keys, "0x", NULL)) {
|
||||
char *endp;
|
||||
- int value = strtoul(keyname_buf, &endp, 0);
|
||||
- if (*endp != '\0') {
|
||||
+ int value = strtoul(keys, &endp, 0);
|
||||
+ assert(endp <= keys + keyname_len);
|
||||
+ if (endp != keys + keyname_len) {
|
||||
goto err_out;
|
||||
}
|
||||
keylist->value->type = KEY_VALUE_KIND_NUMBER;
|
||||
keylist->value->u.number = value;
|
||||
} else {
|
||||
- int idx = index_from_key(keyname_buf);
|
||||
+ int idx = index_from_key(keys, keyname_len);
|
||||
if (idx == Q_KEY_CODE_MAX) {
|
||||
goto err_out;
|
||||
}
|
||||
@@ -1789,7 +1787,7 @@ out:
|
||||
return;
|
||||
|
||||
err_out:
|
||||
- monitor_printf(mon, "invalid parameter: %s\n", keyname_buf);
|
||||
+ monitor_printf(mon, "invalid parameter: %.*s\n", keyname_len, keys);
|
||||
goto out;
|
||||
}
|
||||
|
||||
diff --git a/include/ui/console.h b/include/ui/console.h
|
||||
index adac36d..116bc2b 100644
|
||||
--- a/include/ui/console.h
|
||||
+++ b/include/ui/console.h
|
||||
@@ -448,7 +448,7 @@ static inline int vnc_display_pw_expire(const char *id, time_t expires)
|
||||
void curses_display_init(DisplayState *ds, int full_screen);
|
||||
|
||||
/* input.c */
|
||||
-int index_from_key(const char *key);
|
||||
+int index_from_key(const char *key, size_t key_length);
|
||||
|
||||
/* gtk.c */
|
||||
void early_gtk_display_init(int opengl);
|
||||
diff --git a/ui/input-legacy.c b/ui/input-legacy.c
|
||||
index 35dfc27..3454055 100644
|
||||
--- a/ui/input-legacy.c
|
||||
+++ b/ui/input-legacy.c
|
||||
@@ -57,12 +57,13 @@ struct QEMUPutLEDEntry {
|
||||
static QTAILQ_HEAD(, QEMUPutLEDEntry) led_handlers =
|
||||
QTAILQ_HEAD_INITIALIZER(led_handlers);
|
||||
|
||||
-int index_from_key(const char *key)
|
||||
+int index_from_key(const char *key, size_t key_length)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; QKeyCode_lookup[i] != NULL; i++) {
|
||||
- if (!strcmp(key, QKeyCode_lookup[i])) {
|
||||
+ if (!strncmp(key, QKeyCode_lookup[i], key_length) &&
|
||||
+ !QKeyCode_lookup[i][key_length]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,49 +0,0 @@
|
||||
https://bugs.gentoo.org/570110
|
||||
|
||||
From 007cd223de527b5f41278f2d886c1a4beb3e67aa Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Mon, 28 Dec 2015 16:24:08 +0530
|
||||
Subject: [PATCH] net: rocker: fix an incorrect array bounds check
|
||||
|
||||
While processing transmit(tx) descriptors in 'tx_consume' routine
|
||||
the switch emulator suffers from an off-by-one error, if a
|
||||
descriptor was to have more than allowed(ROCKER_TX_FRAGS_MAX=16)
|
||||
fragments. Fix an incorrect bounds check to avoid it.
|
||||
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Cc: qemu-stable@nongnu.org
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Signed-off-by: Jason Wang <jasowang@redhat.com>
|
||||
---
|
||||
hw/net/rocker/rocker.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/hw/net/rocker/rocker.c b/hw/net/rocker/rocker.c
|
||||
index c57f1a6..2e77e50 100644
|
||||
--- a/hw/net/rocker/rocker.c
|
||||
+++ b/hw/net/rocker/rocker.c
|
||||
@@ -232,6 +232,9 @@ static int tx_consume(Rocker *r, DescInfo *info)
|
||||
frag_addr = rocker_tlv_get_le64(tlvs[ROCKER_TLV_TX_FRAG_ATTR_ADDR]);
|
||||
frag_len = rocker_tlv_get_le16(tlvs[ROCKER_TLV_TX_FRAG_ATTR_LEN]);
|
||||
|
||||
+ if (iovcnt >= ROCKER_TX_FRAGS_MAX) {
|
||||
+ goto err_too_many_frags;
|
||||
+ }
|
||||
iov[iovcnt].iov_len = frag_len;
|
||||
iov[iovcnt].iov_base = g_malloc(frag_len);
|
||||
if (!iov[iovcnt].iov_base) {
|
||||
@@ -244,10 +247,7 @@ static int tx_consume(Rocker *r, DescInfo *info)
|
||||
err = -ROCKER_ENXIO;
|
||||
goto err_bad_io;
|
||||
}
|
||||
-
|
||||
- if (++iovcnt > ROCKER_TX_FRAGS_MAX) {
|
||||
- goto err_too_many_frags;
|
||||
- }
|
||||
+ iovcnt++;
|
||||
}
|
||||
|
||||
if (iovcnt) {
|
||||
--
|
||||
2.6.2
|
||||
|
@ -1,50 +0,0 @@
|
||||
https://bugs.gentoo.org/570988
|
||||
|
||||
From aa7f9966dfdff500bbbf1956d9e115b1fa8987a6 Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Thu, 31 Dec 2015 17:05:27 +0530
|
||||
Subject: [PATCH] net: ne2000: fix bounds check in ioport operations
|
||||
|
||||
While doing ioport r/w operations, ne2000 device emulation suffers
|
||||
from OOB r/w errors. Update respective array bounds check to avoid
|
||||
OOB access.
|
||||
|
||||
Reported-by: Ling Liu <liuling-it@360.cn>
|
||||
Cc: qemu-stable@nongnu.org
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Signed-off-by: Jason Wang <jasowang@redhat.com>
|
||||
---
|
||||
hw/net/ne2000.c | 10 ++++++----
|
||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
|
||||
index 010f9ef..a3dffff 100644
|
||||
--- a/hw/net/ne2000.c
|
||||
+++ b/hw/net/ne2000.c
|
||||
@@ -467,8 +467,9 @@ static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr,
|
||||
uint32_t val)
|
||||
{
|
||||
addr &= ~1; /* XXX: check exact behaviour if not even */
|
||||
- if (addr < 32 ||
|
||||
- (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
|
||||
+ if (addr < 32
|
||||
+ || (addr >= NE2000_PMEM_START
|
||||
+ && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
|
||||
stl_le_p(s->mem + addr, val);
|
||||
}
|
||||
}
|
||||
@@ -497,8 +498,9 @@ static inline uint32_t ne2000_mem_readw(NE2000State *s, uint32_t addr)
|
||||
static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr)
|
||||
{
|
||||
addr &= ~1; /* XXX: check exact behaviour if not even */
|
||||
- if (addr < 32 ||
|
||||
- (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
|
||||
+ if (addr < 32
|
||||
+ || (addr >= NE2000_PMEM_START
|
||||
+ && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
|
||||
return ldl_le_p(s->mem + addr);
|
||||
} else {
|
||||
return 0xffffffff;
|
||||
--
|
||||
2.6.2
|
||||
|
@ -1,41 +0,0 @@
|
||||
https://bugs.gentoo.org/571566
|
||||
|
||||
From 4ab0359a8ae182a7ac5c99609667273167703fab Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Mon, 11 Jan 2016 14:10:42 -0500
|
||||
Subject: [PATCH] ide: ahci: reset ncq object to unused on error
|
||||
|
||||
When processing NCQ commands, AHCI device emulation prepares a
|
||||
NCQ transfer object; To which an aio control block(aiocb) object
|
||||
is assigned in 'execute_ncq_command'. In case, when the NCQ
|
||||
command is invalid, the 'aiocb' object is not assigned, and NCQ
|
||||
transfer object is left as 'used'. This leads to a use after
|
||||
free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'.
|
||||
Reset NCQ transfer object to 'unused' to avoid it.
|
||||
|
||||
[Maintainer edit: s/ACHI/AHCI/ in the commit message. --js]
|
||||
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Reviewed-by: John Snow <jsnow@redhat.com>
|
||||
Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com
|
||||
Signed-off-by: John Snow <jsnow@redhat.com>
|
||||
---
|
||||
hw/ide/ahci.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
|
||||
index dd1912e..17f1cbd 100644
|
||||
--- a/hw/ide/ahci.c
|
||||
+++ b/hw/ide/ahci.c
|
||||
@@ -910,6 +910,7 @@ static void ncq_err(NCQTransferState *ncq_tfs)
|
||||
ide_state->error = ABRT_ERR;
|
||||
ide_state->status = READY_STAT | ERR_STAT;
|
||||
ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag);
|
||||
+ ncq_tfs->used = 0;
|
||||
}
|
||||
|
||||
static void ncq_finish(NCQTransferState *ncq_tfs)
|
||||
--
|
||||
2.6.2
|
||||
|
@ -1,58 +0,0 @@
|
||||
From 66f8fd9dda312191b78d2a2ba2848bcee76127a2 Mon Sep 17 00:00:00 2001
|
||||
From: "Gabriel L. Somlo" <somlo@cmu.edu>
|
||||
Date: Thu, 5 Nov 2015 09:32:50 -0500
|
||||
Subject: [PATCH] fw_cfg: avoid calculating invalid current entry pointer
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
When calculating a pointer to the currently selected fw_cfg item, the
|
||||
following is used:
|
||||
|
||||
FWCfgEntry *e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
|
||||
|
||||
When s->cur_entry is FW_CFG_INVALID, we are calculating the address of
|
||||
a non-existent element in s->entries[arch][...], which is undefined.
|
||||
|
||||
This patch ensures the resulting entry pointer is set to NULL whenever
|
||||
s->cur_entry is FW_CFG_INVALID.
|
||||
|
||||
Reported-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Signed-off-by: Gabriel Somlo <somlo@cmu.edu>
|
||||
Message-id: 1446733972-1602-5-git-send-email-somlo@cmu.edu
|
||||
Cc: Marc Marí <markmb@redhat.com>
|
||||
Signed-off-by: Gabriel Somlo <somlo@cmu.edu>
|
||||
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
---
|
||||
hw/nvram/fw_cfg.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
|
||||
index c2d3a0a..046fa74 100644
|
||||
--- a/hw/nvram/fw_cfg.c
|
||||
+++ b/hw/nvram/fw_cfg.c
|
||||
@@ -277,7 +277,8 @@ static int fw_cfg_select(FWCfgState *s, uint16_t key)
|
||||
static uint8_t fw_cfg_read(FWCfgState *s)
|
||||
{
|
||||
int arch = !!(s->cur_entry & FW_CFG_ARCH_LOCAL);
|
||||
- FWCfgEntry *e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
|
||||
+ FWCfgEntry *e = (s->cur_entry == FW_CFG_INVALID) ? NULL :
|
||||
+ &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
|
||||
uint8_t ret;
|
||||
|
||||
if (s->cur_entry == FW_CFG_INVALID || !e->data || s->cur_offset >= e->len)
|
||||
@@ -342,7 +343,8 @@ static void fw_cfg_dma_transfer(FWCfgState *s)
|
||||
}
|
||||
|
||||
arch = !!(s->cur_entry & FW_CFG_ARCH_LOCAL);
|
||||
- e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
|
||||
+ e = (s->cur_entry == FW_CFG_INVALID) ? NULL :
|
||||
+ &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
|
||||
|
||||
if (dma.control & FW_CFG_DMA_CTL_READ) {
|
||||
read = 1;
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,65 +0,0 @@
|
||||
From 4c1396cb576c9b14425558b73de1584c7a9735d7 Mon Sep 17 00:00:00 2001
|
||||
From: P J P <ppandit@redhat.com>
|
||||
Date: Fri, 18 Dec 2015 11:35:07 +0530
|
||||
Subject: [PATCH] i386: avoid null pointer dereference
|
||||
|
||||
Hello,
|
||||
|
||||
A null pointer dereference issue was reported by Mr Ling Liu, CC'd here. It
|
||||
occurs while doing I/O port write operations via hmp interface. In that,
|
||||
'current_cpu' remains null as it is not called from cpu_exec loop, which
|
||||
results in the said issue.
|
||||
|
||||
Below is a proposed (tested)patch to fix this issue; Does it look okay?
|
||||
|
||||
===
|
||||
From ae88a4947fab9a148cd794f8ad2d812e7f5a1d0f Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Fri, 18 Dec 2015 11:16:07 +0530
|
||||
Subject: [PATCH] i386: avoid null pointer dereference
|
||||
|
||||
When I/O port write operation is called from hmp interface,
|
||||
'current_cpu' remains null, as it is not called from cpu_exec()
|
||||
loop. This leads to a null pointer dereference in vapic_write
|
||||
routine. Add check to avoid it.
|
||||
|
||||
Reported-by: Ling Liu <liuling-it@360.cn>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Message-Id: <alpine.LFD.2.20.1512181129320.9805@wniryva>
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Signed-off-by: P J P <ppandit@redhat.com>
|
||||
---
|
||||
hw/i386/kvmvapic.c | 15 ++++++++++-----
|
||||
1 file changed, 10 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
|
||||
index c6d34b2..f0922da 100644
|
||||
--- a/hw/i386/kvmvapic.c
|
||||
+++ b/hw/i386/kvmvapic.c
|
||||
@@ -634,13 +634,18 @@ static int vapic_prepare(VAPICROMState *s)
|
||||
static void vapic_write(void *opaque, hwaddr addr, uint64_t data,
|
||||
unsigned int size)
|
||||
{
|
||||
- CPUState *cs = current_cpu;
|
||||
- X86CPU *cpu = X86_CPU(cs);
|
||||
- CPUX86State *env = &cpu->env;
|
||||
- hwaddr rom_paddr;
|
||||
VAPICROMState *s = opaque;
|
||||
+ X86CPU *cpu;
|
||||
+ CPUX86State *env;
|
||||
+ hwaddr rom_paddr;
|
||||
|
||||
- cpu_synchronize_state(cs);
|
||||
+ if (!current_cpu) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ cpu_synchronize_state(current_cpu);
|
||||
+ cpu = X86_CPU(current_cpu);
|
||||
+ env = &cpu->env;
|
||||
|
||||
/*
|
||||
* The VAPIC supports two PIO-based hypercalls, both via port 0x7E.
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,98 +0,0 @@
|
||||
From dd793a74882477ca38d49e191110c17dfee51dcc Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Tue, 19 Jan 2016 14:17:20 +0100
|
||||
Subject: [PATCH] e1000: eliminate infinite loops on out-of-bounds transfer
|
||||
start
|
||||
|
||||
The start_xmit() and e1000_receive_iov() functions implement DMA transfers
|
||||
iterating over a set of descriptors that the guest's e1000 driver
|
||||
prepares:
|
||||
|
||||
- the TDLEN and RDLEN registers store the total size of the descriptor
|
||||
area,
|
||||
|
||||
- while the TDH and RDH registers store the offset (in whole tx / rx
|
||||
descriptors) into the area where the transfer is supposed to start.
|
||||
|
||||
Each time a descriptor is processed, the TDH and RDH register is bumped
|
||||
(as appropriate for the transfer direction).
|
||||
|
||||
QEMU already contains logic to deal with bogus transfers submitted by the
|
||||
guest:
|
||||
|
||||
- Normally, the transmit case wants to increase TDH from its initial value
|
||||
to TDT. (TDT is allowed to be numerically smaller than the initial TDH
|
||||
value; wrapping at or above TDLEN bytes to zero is normal.) The failsafe
|
||||
that QEMU currently has here is a check against reaching the original
|
||||
TDH value again -- a complete wraparound, which should never happen.
|
||||
|
||||
- In the receive case RDH is increased from its initial value until
|
||||
"total_size" bytes have been received; preferably in a single step, or
|
||||
in "s->rxbuf_size" byte steps, if the latter is smaller. However, null
|
||||
RX descriptors are skipped without receiving data, while RDH is
|
||||
incremented just the same. QEMU tries to prevent an infinite loop
|
||||
(processing only null RX descriptors) by detecting whether RDH assumes
|
||||
its original value during the loop. (Again, wrapping from RDLEN to 0 is
|
||||
normal.)
|
||||
|
||||
What both directions miss is that the guest could program TDLEN and RDLEN
|
||||
so low, and the initial TDH and RDH so high, that these registers will
|
||||
immediately be truncated to zero, and then never reassume their initial
|
||||
values in the loop -- a full wraparound will never occur.
|
||||
|
||||
The condition that expresses this is:
|
||||
|
||||
xdh_start >= s->mac_reg[XDLEN] / sizeof(desc)
|
||||
|
||||
i.e., TDH or RDH start out after the last whole rx or tx descriptor that
|
||||
fits into the TDLEN or RDLEN sized area.
|
||||
|
||||
This condition could be checked before we enter the loops, but
|
||||
pci_dma_read() / pci_dma_write() knows how to fill in buffers safely for
|
||||
bogus DMA addresses, so we just extend the existing failsafes with the
|
||||
above condition.
|
||||
|
||||
This is CVE-2016-1981.
|
||||
|
||||
Cc: "Michael S. Tsirkin" <mst@redhat.com>
|
||||
Cc: Petr Matousek <pmatouse@redhat.com>
|
||||
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
|
||||
Cc: Prasad Pandit <ppandit@redhat.com>
|
||||
Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
|
||||
Cc: Jason Wang <jasowang@redhat.com>
|
||||
Cc: qemu-stable@nongnu.org
|
||||
RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1296044
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Reviewed-by: Jason Wang <jasowang@redhat.com>
|
||||
Signed-off-by: Jason Wang <jasowang@redhat.com>
|
||||
---
|
||||
hw/net/e1000.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
|
||||
index 4eda7a3..0387fa0 100644
|
||||
--- a/hw/net/e1000.c
|
||||
+++ b/hw/net/e1000.c
|
||||
@@ -909,7 +909,8 @@ start_xmit(E1000State *s)
|
||||
* bogus values to TDT/TDLEN.
|
||||
* there's nothing too intelligent we could do about this.
|
||||
*/
|
||||
- if (s->mac_reg[TDH] == tdh_start) {
|
||||
+ if (s->mac_reg[TDH] == tdh_start ||
|
||||
+ tdh_start >= s->mac_reg[TDLEN] / sizeof(desc)) {
|
||||
DBGOUT(TXERR, "TDH wraparound @%x, TDT %x, TDLEN %x\n",
|
||||
tdh_start, s->mac_reg[TDT], s->mac_reg[TDLEN]);
|
||||
break;
|
||||
@@ -1166,7 +1167,8 @@ e1000_receive_iov(NetClientState *nc, const struct iovec *iov, int iovcnt)
|
||||
if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN])
|
||||
s->mac_reg[RDH] = 0;
|
||||
/* see comment in start_xmit; same here */
|
||||
- if (s->mac_reg[RDH] == rdh_start) {
|
||||
+ if (s->mac_reg[RDH] == rdh_start ||
|
||||
+ rdh_start >= s->mac_reg[RDLEN] / sizeof(desc)) {
|
||||
DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n",
|
||||
rdh_start, s->mac_reg[RDT], s->mac_reg[RDLEN]);
|
||||
set_ics(s, 0, E1000_ICS_RXO);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 99b4cb71069f109b79b27bc629fc0cf0886dbc4b Mon Sep 17 00:00:00 2001
|
||||
From: John Snow <jsnow@redhat.com>
|
||||
Date: Wed, 10 Feb 2016 13:29:40 -0500
|
||||
Subject: [PATCH] ahci: Do not unmap NULL addresses
|
||||
|
||||
Definitely don't try to unmap a garbage address.
|
||||
|
||||
Reported-by: Zuozhi fzz <zuozhi.fzz@alibaba-inc.com>
|
||||
Signed-off-by: John Snow <jsnow@redhat.com>
|
||||
Message-id: 1454103689-13042-2-git-send-email-jsnow@redhat.com
|
||||
---
|
||||
hw/ide/ahci.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
|
||||
index 7e87b18..3a95dad 100644
|
||||
--- a/hw/ide/ahci.c
|
||||
+++ b/hw/ide/ahci.c
|
||||
@@ -662,6 +662,10 @@ static bool ahci_map_fis_address(AHCIDevice *ad)
|
||||
|
||||
static void ahci_unmap_fis_address(AHCIDevice *ad)
|
||||
{
|
||||
+ if (ad->res_fis == NULL) {
|
||||
+ DPRINTF(ad->port_no, "Attempt to unmap NULL FIS address\n");
|
||||
+ return;
|
||||
+ }
|
||||
dma_memory_unmap(ad->hba->as, ad->res_fis, 256,
|
||||
DMA_DIRECTION_FROM_DEVICE, 256);
|
||||
ad->res_fis = NULL;
|
||||
@@ -678,6 +682,10 @@ static bool ahci_map_clb_address(AHCIDevice *ad)
|
||||
|
||||
static void ahci_unmap_clb_address(AHCIDevice *ad)
|
||||
{
|
||||
+ if (ad->lst == NULL) {
|
||||
+ DPRINTF(ad->port_no, "Attempt to unmap NULL CLB address\n");
|
||||
+ return;
|
||||
+ }
|
||||
dma_memory_unmap(ad->hba->as, ad->lst, 1024,
|
||||
DMA_DIRECTION_FROM_DEVICE, 1024);
|
||||
ad->lst = NULL;
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,35 +0,0 @@
|
||||
From 80eecda8e5d09c442c24307f340840a5b70ea3b9 Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Thu, 11 Feb 2016 16:31:20 +0530
|
||||
Subject: [PATCH] usb: check USB configuration descriptor object
|
||||
|
||||
When processing remote NDIS control message packets, the USB Net
|
||||
device emulator checks to see if the USB configuration descriptor
|
||||
object is of RNDIS type(2). But it does not check if it is null,
|
||||
which leads to a null dereference error. Add check to avoid it.
|
||||
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Message-id: 1455188480-14688-1-git-send-email-ppandit@redhat.com
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
---
|
||||
hw/usb/dev-network.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
|
||||
index 985a629..5dc4538 100644
|
||||
--- a/hw/usb/dev-network.c
|
||||
+++ b/hw/usb/dev-network.c
|
||||
@@ -654,7 +654,8 @@ typedef struct USBNetState {
|
||||
|
||||
static int is_rndis(USBNetState *s)
|
||||
{
|
||||
- return s->dev.config->bConfigurationValue == DEV_RNDIS_CONFIG_VALUE;
|
||||
+ return s->dev.config ?
|
||||
+ s->dev.config->bConfigurationValue == DEV_RNDIS_CONFIG_VALUE : 0;
|
||||
}
|
||||
|
||||
static int ndis_query(USBNetState *s, uint32_t oid,
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,37 +0,0 @@
|
||||
From 415ab35a441eca767d033a2702223e785b9d5190 Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Wed, 24 Feb 2016 11:41:33 +0530
|
||||
Subject: [PATCH] net: ne2000: check ring buffer control registers
|
||||
|
||||
Ne2000 NIC uses ring buffer of NE2000_MEM_SIZE(49152)
|
||||
bytes to process network packets. Registers PSTART & PSTOP
|
||||
define ring buffer size & location. Setting these registers
|
||||
to invalid values could lead to infinite loop or OOB r/w
|
||||
access issues. Add check to avoid it.
|
||||
|
||||
Reported-by: Yang Hongke <yanghongke@huawei.com>
|
||||
Tested-by: Yang Hongke <yanghongke@huawei.com>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Signed-off-by: Jason Wang <jasowang@redhat.com>
|
||||
---
|
||||
hw/net/ne2000.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
|
||||
index e408083..f0feaf9 100644
|
||||
--- a/hw/net/ne2000.c
|
||||
+++ b/hw/net/ne2000.c
|
||||
@@ -155,6 +155,10 @@ static int ne2000_buffer_full(NE2000State *s)
|
||||
{
|
||||
int avail, index, boundary;
|
||||
|
||||
+ if (s->stop <= s->start) {
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
index = s->curpag << 8;
|
||||
boundary = s->boundary << 8;
|
||||
if (index < boundary)
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,52 +0,0 @@
|
||||
From 49d925ce50383a286278143c05511d30ec41a36e Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Wed, 20 Jan 2016 01:26:46 +0530
|
||||
Subject: [PATCH] usb: check page select value while processing iTD
|
||||
|
||||
While processing isochronous transfer descriptors(iTD), the page
|
||||
select(PG) field value could lead to an OOB read access. Add
|
||||
check to avoid it.
|
||||
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Message-id: 1453233406-12165-1-git-send-email-ppandit@redhat.com
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
---
|
||||
hw/usb/hcd-ehci.c | 10 ++++++----
|
||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
|
||||
index ab00268..93601d9 100644
|
||||
--- a/hw/usb/hcd-ehci.c
|
||||
+++ b/hw/usb/hcd-ehci.c
|
||||
@@ -1405,21 +1405,23 @@ static int ehci_process_itd(EHCIState *ehci,
|
||||
if (itd->transact[i] & ITD_XACT_ACTIVE) {
|
||||
pg = get_field(itd->transact[i], ITD_XACT_PGSEL);
|
||||
off = itd->transact[i] & ITD_XACT_OFFSET_MASK;
|
||||
- ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
|
||||
- ptr2 = (itd->bufptr[pg+1] & ITD_BUFPTR_MASK);
|
||||
len = get_field(itd->transact[i], ITD_XACT_LENGTH);
|
||||
|
||||
if (len > max * mult) {
|
||||
len = max * mult;
|
||||
}
|
||||
-
|
||||
- if (len > BUFF_SIZE) {
|
||||
+ if (len > BUFF_SIZE || pg > 6) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
|
||||
qemu_sglist_init(&ehci->isgl, ehci->device, 2, ehci->as);
|
||||
if (off + len > 4096) {
|
||||
/* transfer crosses page border */
|
||||
+ if (pg == 6) {
|
||||
+ return -1; /* avoid page pg + 1 */
|
||||
+ }
|
||||
+ ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);
|
||||
uint32_t len2 = off + len - 4096;
|
||||
uint32_t len1 = len - len2;
|
||||
qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,59 +0,0 @@
|
||||
From fe3c546c5ff2a6210f9a4d8561cc64051ca8603e Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Wed, 17 Feb 2016 00:23:41 +0530
|
||||
Subject: [PATCH] usb: check RNDIS buffer offsets & length
|
||||
|
||||
When processing remote NDIS control message packets,
|
||||
the USB Net device emulator uses a fixed length(4096) data buffer.
|
||||
The incoming informationBufferOffset & Length combination could
|
||||
overflow and cross that range. Check control message buffer
|
||||
offsets and length to avoid it.
|
||||
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Message-id: 1455648821-17340-3-git-send-email-ppandit@redhat.com
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
---
|
||||
hw/usb/dev-network.c | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
|
||||
index 5dc4538..c6abd38 100644
|
||||
--- a/hw/usb/dev-network.c
|
||||
+++ b/hw/usb/dev-network.c
|
||||
@@ -916,8 +916,9 @@ static int rndis_query_response(USBNetState *s,
|
||||
|
||||
bufoffs = le32_to_cpu(buf->InformationBufferOffset) + 8;
|
||||
buflen = le32_to_cpu(buf->InformationBufferLength);
|
||||
- if (bufoffs + buflen > length)
|
||||
+ if (buflen > length || bufoffs >= length || bufoffs + buflen > length) {
|
||||
return USB_RET_STALL;
|
||||
+ }
|
||||
|
||||
infobuflen = ndis_query(s, le32_to_cpu(buf->OID),
|
||||
bufoffs + (uint8_t *) buf, buflen, infobuf,
|
||||
@@ -962,8 +963,9 @@ static int rndis_set_response(USBNetState *s,
|
||||
|
||||
bufoffs = le32_to_cpu(buf->InformationBufferOffset) + 8;
|
||||
buflen = le32_to_cpu(buf->InformationBufferLength);
|
||||
- if (bufoffs + buflen > length)
|
||||
+ if (buflen > length || bufoffs >= length || bufoffs + buflen > length) {
|
||||
return USB_RET_STALL;
|
||||
+ }
|
||||
|
||||
ret = ndis_set(s, le32_to_cpu(buf->OID),
|
||||
bufoffs + (uint8_t *) buf, buflen);
|
||||
@@ -1213,8 +1215,9 @@ static void usb_net_handle_dataout(USBNetState *s, USBPacket *p)
|
||||
if (le32_to_cpu(msg->MessageType) == RNDIS_PACKET_MSG) {
|
||||
uint32_t offs = 8 + le32_to_cpu(msg->DataOffset);
|
||||
uint32_t size = le32_to_cpu(msg->DataLength);
|
||||
- if (offs + size <= len)
|
||||
+ if (offs < len && size < len && offs + size <= len) {
|
||||
qemu_send_packet(qemu_get_queue(s->nic), s->out_buf + offs, size);
|
||||
+ }
|
||||
}
|
||||
s->out_ptr -= len;
|
||||
memmove(s->out_buf, &s->out_buf[len], s->out_ptr);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,60 +0,0 @@
|
||||
https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg01611.html
|
||||
|
||||
From 6a2909cf98e892783b2502df6f7f4de46d13e42b Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@chromium.org>
|
||||
Date: Mon, 6 Jun 2016 17:58:26 -0400
|
||||
Subject: [PATCH] crypto: aes: always rename internal symbols
|
||||
|
||||
OpenSSL's libcrypto always defines AES symbols with the same names as
|
||||
qemu's local aes code. This is problematic when enabling at least curl
|
||||
as that frequently also uses libcrypto. It might not be noticed when
|
||||
running, but if you try to statically link, everything falls down.
|
||||
|
||||
An example snippet:
|
||||
LINK qemu-nbd
|
||||
.../libcrypto.a(aes-x86_64.o): In function 'AES_encrypt':
|
||||
(.text+0x460): multiple definition of 'AES_encrypt'
|
||||
crypto/aes.o:aes.c:(.text+0x670): first defined here
|
||||
.../libcrypto.a(aes-x86_64.o): In function 'AES_decrypt':
|
||||
(.text+0x9f0): multiple definition of 'AES_decrypt'
|
||||
crypto/aes.o:aes.c:(.text+0xb30): first defined here
|
||||
.../libcrypto.a(aes-x86_64.o): In function 'AES_cbc_encrypt':
|
||||
(.text+0xf90): multiple definition of 'AES_cbc_encrypt'
|
||||
crypto/aes.o:aes.c:(.text+0xff0): first defined here
|
||||
collect2: error: ld returned 1 exit status
|
||||
.../qemu-2.6.0/rules.mak:105: recipe for target 'qemu-nbd' failed
|
||||
make: *** [qemu-nbd] Error 1
|
||||
|
||||
The aes.h header has redefines already for FreeBSD, but go ahead and
|
||||
enable that for everyone since there's no real good reason to not use
|
||||
a namespace all the time.
|
||||
|
||||
Signed-off-by: Mike Frysinger <vapier@chromium.org>
|
||||
---
|
||||
include/crypto/aes.h | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/include/crypto/aes.h b/include/crypto/aes.h
|
||||
index a006da2224a9..12fb321b89de 100644
|
||||
--- a/include/crypto/aes.h
|
||||
+++ b/include/crypto/aes.h
|
||||
@@ -10,14 +10,13 @@ struct aes_key_st {
|
||||
};
|
||||
typedef struct aes_key_st AES_KEY;
|
||||
|
||||
-/* FreeBSD has its own AES_set_decrypt_key in -lcrypto, avoid conflicts */
|
||||
-#ifdef __FreeBSD__
|
||||
+/* FreeBSD/OpenSSL have their own AES functions with the same names in -lcrypto
|
||||
+ * (which might be pulled in via curl), so redefine to avoid conflicts. */
|
||||
#define AES_set_encrypt_key QEMU_AES_set_encrypt_key
|
||||
#define AES_set_decrypt_key QEMU_AES_set_decrypt_key
|
||||
#define AES_encrypt QEMU_AES_encrypt
|
||||
#define AES_decrypt QEMU_AES_decrypt
|
||||
#define AES_cbc_encrypt QEMU_AES_cbc_encrypt
|
||||
-#endif
|
||||
|
||||
int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
AES_KEY *key);
|
||||
--
|
||||
2.8.2
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- a/configure 2016-08-07 15:50:20.386687733 +0200
|
||||
+++ b/configure 2016-08-07 15:53:55.489691690 +0200
|
||||
@@ -2967,7 +2967,7 @@
|
||||
}
|
||||
EOF
|
||||
|
||||
-if ! compile_prog "-Werror $CFLAGS" "$LIBS" ; then
|
||||
+if ! compile_prog "$CFLAGS" "$LIBS" ; then
|
||||
error_exit "sizeof(size_t) doesn't match GLIB_SIZEOF_SIZE_T."\
|
||||
"You probably need to set PKG_CONFIG_LIBDIR"\
|
||||
"to point to the right pkg-config files for your"\
|
@ -0,0 +1,27 @@
|
||||
From: Li Qiang <address@hidden>
|
||||
|
||||
In Vmxnet3 device emulator while processing transmit(tx) queue,
|
||||
when it reaches end of packet, it calls vmxnet3_complete_packet.
|
||||
In that local 'txcq_descr' object is not initialised, which could
|
||||
leak host memory bytes a guest.
|
||||
|
||||
Reported-by: Li Qiang <address@hidden>
|
||||
Signed-off-by: Prasad J Pandit <address@hidden>
|
||||
---
|
||||
hw/net/vmxnet3.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
|
||||
index 90f6943..92f6af9 100644
|
||||
--- a/hw/net/vmxnet3.c
|
||||
+++ b/hw/net/vmxnet3.c
|
||||
@@ -531,6 +531,7 @@ static void vmxnet3_complete_packet(VMXNET3State *s, int qidx, uint32_t tx_ridx)
|
||||
|
||||
VMXNET3_RING_DUMP(VMW_RIPRN, "TXC", qidx, &s->txq_descr[qidx].comp_ring);
|
||||
|
||||
+ memset(&txcq_descr, 0, sizeof(txcq_descr));
|
||||
txcq_descr.txdIdx = tx_ridx;
|
||||
txcq_descr.gen = vmxnet3_ring_curr_gen(&s->txq_descr[qidx].comp_ring);
|
||||
|
||||
--
|
||||
2.5.5
|
@ -1,694 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
PLOCALES="de_DE fr_FR hu it tr zh_CN"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo pax-utils l10n
|
||||
|
||||
BACKPORTS=
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2
|
||||
${BACKPORTS:+
|
||||
https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
IUSE="accessibility +aio alsa bluetooth +caps +curl debug +fdt glusterfs \
|
||||
gnutls gtk gtk2 infiniband iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs
|
||||
+png pulseaudio python \
|
||||
rbd sasl +seccomp sdl sdl2 selinux smartcard snappy spice ssh static static-softmmu
|
||||
static-user systemtap tci test +threads usb usbredir +uuid vde +vhost-net \
|
||||
virgl virtfs +vnc vte xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips
|
||||
mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32
|
||||
x86_64"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
gtk2? ( gtk )
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
sdl2? ( sdl )
|
||||
static? ( static-softmmu static-user )
|
||||
static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 )
|
||||
virtfs? ( xattr )
|
||||
vte? ( gtk )"
|
||||
|
||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||
#
|
||||
# The attr lib isn't always linked in (although the USE flag is always
|
||||
# respected). This is because qemu supports using the C library's API
|
||||
# when available rather than always using the extranl library.
|
||||
#
|
||||
# Older versions of gnutls are supported, but it's simpler to just require
|
||||
# the latest versions. This is also why we require nettle.
|
||||
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? ( app-accessibility/brltty[static-libs(+)] )
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
dev-libs/nettle[static-libs(+)]
|
||||
>=net-libs/gnutls-3.0[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
gtk2? (
|
||||
x11-libs/gtk+:2
|
||||
vte? ( x11-libs/vte:0 )
|
||||
)
|
||||
!gtk2? (
|
||||
x11-libs/gtk+:3
|
||||
vte? ( x11-libs/vte:2.90 )
|
||||
)
|
||||
)
|
||||
infiniband? ( sys-fabric/librdmacm:=[static-libs(+)] )
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses:0=[static-libs(+)] )
|
||||
nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
opengl? (
|
||||
virtual/opengl
|
||||
media-libs/libepoxy[static-libs(+)]
|
||||
media-libs/mesa[static-libs(+)]
|
||||
media-libs/mesa[egl,gles2]
|
||||
)
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
rbd? ( sys-cluster/ceph[static-libs(+)] )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? (
|
||||
!sdl2? (
|
||||
media-libs/libsdl[X]
|
||||
>=media-libs/libsdl-1.2.11[static-libs(+)]
|
||||
)
|
||||
sdl2? (
|
||||
media-libs/libsdl2[X]
|
||||
media-libs/libsdl2[static-libs(+)]
|
||||
)
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy[static-libs(+)] )
|
||||
spice? (
|
||||
>=app-emulation/spice-protocol-0.12.3
|
||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
|
||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
USER_LIB_DEPEND="${COMMON_LIB_DEPEND}"
|
||||
X86_FIRMWARE_DEPEND="
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.8.2
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/seabios
|
||||
sys-firmware/sgabios
|
||||
sys-firmware/vgabios
|
||||
)"
|
||||
CDEPEND="
|
||||
!static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) )
|
||||
!static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) )
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xen? ( app-emulation/xen-tools:= )"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) )
|
||||
static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
"
|
||||
|
||||
STRIP_MASK="/usr/share/qemu/palcode-clipper"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.img
|
||||
usr/share/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_WX_LOAD="usr/bin/qemu-i386
|
||||
usr/bin/qemu-x86_64
|
||||
usr/bin/qemu-alpha
|
||||
usr/bin/qemu-arm
|
||||
usr/bin/qemu-cris
|
||||
usr/bin/qemu-m68k
|
||||
usr/bin/qemu-microblaze
|
||||
usr/bin/qemu-microblazeel
|
||||
usr/bin/qemu-mips
|
||||
usr/bin/qemu-mipsel
|
||||
usr/bin/qemu-or32
|
||||
usr/bin/qemu-ppc
|
||||
usr/bin/qemu-ppc64
|
||||
usr/bin/qemu-ppc64abi32
|
||||
usr/bin/qemu-sh4
|
||||
usr/bin/qemu-sh4eb
|
||||
usr/bin/qemu-sparc
|
||||
usr/bin/qemu-sparc64
|
||||
usr/bin/qemu-armeb
|
||||
usr/bin/qemu-sparc32plus
|
||||
usr/bin/qemu-s390x
|
||||
usr/bin/qemu-unicore32"
|
||||
|
||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure
|
||||
you have the kernel module loaded before running kvm. The easiest way to
|
||||
ensure that the kernel module is loaded is to load it on boot.\n
|
||||
For AMD CPUs the module is called 'kvm-amd'\n
|
||||
For Intel CPUs the module is called 'kvm-intel'\n
|
||||
Please review /etc/conf.d/modules for how to load these\n\n
|
||||
Make sure your user is in the 'kvm' group\n
|
||||
Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
|
||||
|
||||
qemu_support_kvm() {
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \
|
||||
use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \
|
||||
use qemu_softmmu_targets_s390x; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
||||
ERROR_TUN+=" virtual network device if using -net tap."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
||||
ERROR_VHOST_NET+=" support"
|
||||
|
||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
|
||||
fi
|
||||
|
||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
||||
eerror "instances are still pointing to it. Please update your"
|
||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
||||
die "update your virt configs to not use qemu-kvm"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
# Sanity check to make sure target lists are kept up-to-date.
|
||||
check_targets() {
|
||||
local var=$1 mak=$2
|
||||
local detected sorted
|
||||
|
||||
pushd "${S}"/default-configs >/dev/null || die
|
||||
|
||||
# Force C locale until glibc is updated. #564936
|
||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "${var}: ${sorted}"
|
||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
||||
die "sync ${var} to the list of targets"
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
handle_locales() {
|
||||
# Make sure locale list is kept up-to-date.
|
||||
local detected sorted
|
||||
detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "PLOCALES: ${sorted}"
|
||||
eerror " po/*.po: ${detected}"
|
||||
die "sync PLOCALES"
|
||||
fi
|
||||
|
||||
# Deal with selective install of locales.
|
||||
if use nls ; then
|
||||
# Delete locales the user does not want. #577814
|
||||
rm_loc() { rm po/$1.po || die; }
|
||||
l10n_for_each_disabled_locale_do rm_loc
|
||||
else
|
||||
# Cheap hack to disable gettext .mo generation.
|
||||
rm -f po/*.po
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
||||
check_targets IUSE_USER_TARGETS linux-user
|
||||
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i -r \
|
||||
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
epatch "${FILESDIR}"/qemu-2.5.0-cflags.patch
|
||||
[[ -n ${BACKPORTS} ]] && \
|
||||
EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
|
||||
epatch
|
||||
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8567.patch #567868
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8558.patch #568246
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8701.patch #570110
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8743.patch #570988
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-1568.patch #571566
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8613.patch #569118
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8619.patch #569300
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-1714.patch #571560
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-1922.patch #572082
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-1981.patch #572412
|
||||
epatch "${FILESDIR}"/${P}-usb-ehci-oob.patch #572454
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-2197.patch #573280
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-2198.patch #573314
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-2392.patch #574902
|
||||
epatch "${FILESDIR}"/${P}-usb-ndis-int-overflow.patch #575492
|
||||
epatch "${FILESDIR}"/${P}-rng-stack-corrupt-{0,1,2,3}.patch #576420
|
||||
epatch "${FILESDIR}"/${P}-sysmacros.patch
|
||||
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
epatch_user
|
||||
|
||||
# Run after we've applied all patches.
|
||||
handle_locales
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
mkdir "${builddir}"
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--disable-bsd-user
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--disable-werror
|
||||
# We support gnutls/nettle for crypto operations. It is possible
|
||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||
# are enabled), but it's not really worth the hassle. Disable it
|
||||
# all the time to avoid automatically detecting it. #568856
|
||||
--disable-gcrypt
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
--enable-docs
|
||||
$(use_enable tci tcg-interpreter)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets as the default configure
|
||||
# options will autoprobe and try to link in a bunch of unused junk.
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_softmmu accessibility brlapi)
|
||||
$(conf_softmmu aio linux-aio)
|
||||
$(conf_softmmu bluetooth bluez)
|
||||
$(conf_softmmu caps cap-ng)
|
||||
$(conf_softmmu curl)
|
||||
$(conf_softmmu fdt)
|
||||
$(conf_softmmu glusterfs)
|
||||
$(conf_softmmu gnutls)
|
||||
$(conf_softmmu gnutls nettle)
|
||||
$(conf_softmmu gtk)
|
||||
$(conf_softmmu infiniband rdma)
|
||||
$(conf_softmmu iscsi libiscsi)
|
||||
$(conf_softmmu jpeg vnc-jpeg)
|
||||
$(conf_softmmu kernel_linux kvm)
|
||||
$(conf_softmmu lzo)
|
||||
$(conf_softmmu ncurses curses)
|
||||
$(conf_softmmu nfs libnfs)
|
||||
$(conf_softmmu numa)
|
||||
$(conf_softmmu opengl)
|
||||
$(conf_softmmu png vnc-png)
|
||||
$(conf_softmmu rbd)
|
||||
$(conf_softmmu sasl vnc-sasl)
|
||||
$(conf_softmmu sdl)
|
||||
$(conf_softmmu seccomp)
|
||||
$(conf_softmmu smartcard)
|
||||
$(conf_softmmu snappy)
|
||||
$(conf_softmmu spice)
|
||||
$(conf_softmmu ssh libssh2)
|
||||
$(conf_softmmu usb libusb)
|
||||
$(conf_softmmu usbredir usb-redir)
|
||||
$(conf_softmmu uuid)
|
||||
$(conf_softmmu vde)
|
||||
$(conf_softmmu vhost-net)
|
||||
$(conf_softmmu virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_softmmu vnc)
|
||||
$(conf_softmmu vte)
|
||||
$(conf_softmmu xen)
|
||||
$(conf_softmmu xen xen-pci-passthrough)
|
||||
$(conf_softmmu xfs xfsctl)
|
||||
)
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
;;
|
||||
softmmu)
|
||||
# audio options
|
||||
local audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--with-system-pixman
|
||||
--audio-drv-list="${audio_opts}"
|
||||
)
|
||||
use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
|
||||
use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
)
|
||||
static_flag="static"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
||||
|
||||
# We always want to attempt to build with PIE support as it results
|
||||
# in a more secure binary. But it doesn't work with static or if
|
||||
# the current GCC doesn't have PIE support.
|
||||
if use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
gcc-specs-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
[[ -z ${softmmu_targets}${user_targets} ]] && qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -z ${softmmu_targets}${user_targets} ]]; then
|
||||
cd "${S}/tools-build"
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/scripts/qmp/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/kvm_stat"
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets
|
||||
newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dohtml check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z ${softmmu_targets}${user_targets} ]]; then
|
||||
cd "${S}/tools-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}"
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
# Remove the docdir placed qmp-commands.txt
|
||||
mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/" || die
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc docs/qmp-*.txt
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the vgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../vgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/sgabios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
rm "${ED}"/usr/share/qemu/pxe-*.rom
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if qemu_support_kvm; then
|
||||
readme.gentoo_print_elog
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
if has_version 'sys-firmware/seabios[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/vgabios)"
|
||||
}
|
@ -1,699 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
PLOCALES="de_DE fr_FR hu it tr zh_CN"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo pax-utils l10n
|
||||
|
||||
BACKPORTS=
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2
|
||||
${BACKPORTS:+
|
||||
https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
IUSE="accessibility +aio alsa bluetooth +caps +curl debug +fdt glusterfs \
|
||||
gnutls gtk gtk2 infiniband iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs
|
||||
+png pulseaudio python \
|
||||
rbd sasl +seccomp sdl sdl2 selinux smartcard snappy spice ssh static static-softmmu
|
||||
static-user systemtap tci test +threads usb usbredir +uuid vde +vhost-net \
|
||||
virgl virtfs +vnc vte xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips
|
||||
mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32
|
||||
x86_64"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
gtk2? ( gtk )
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
sdl2? ( sdl )
|
||||
static? ( static-softmmu static-user )
|
||||
static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 )
|
||||
virtfs? ( xattr )
|
||||
vte? ( gtk )"
|
||||
|
||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||
#
|
||||
# The attr lib isn't always linked in (although the USE flag is always
|
||||
# respected). This is because qemu supports using the C library's API
|
||||
# when available rather than always using the extranl library.
|
||||
#
|
||||
# Older versions of gnutls are supported, but it's simpler to just require
|
||||
# the latest versions. This is also why we require nettle.
|
||||
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? ( app-accessibility/brltty[static-libs(+)] )
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
dev-libs/nettle[static-libs(+)]
|
||||
>=net-libs/gnutls-3.0[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
gtk2? (
|
||||
x11-libs/gtk+:2
|
||||
vte? ( x11-libs/vte:0 )
|
||||
)
|
||||
!gtk2? (
|
||||
x11-libs/gtk+:3
|
||||
vte? ( x11-libs/vte:2.90 )
|
||||
)
|
||||
)
|
||||
infiniband? ( sys-fabric/librdmacm:=[static-libs(+)] )
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses:0=[static-libs(+)] )
|
||||
nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
opengl? (
|
||||
virtual/opengl
|
||||
media-libs/libepoxy[static-libs(+)]
|
||||
media-libs/mesa[static-libs(+)]
|
||||
media-libs/mesa[egl,gles2]
|
||||
)
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
rbd? ( sys-cluster/ceph[static-libs(+)] )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? (
|
||||
!sdl2? (
|
||||
media-libs/libsdl[X]
|
||||
>=media-libs/libsdl-1.2.11[static-libs(+)]
|
||||
)
|
||||
sdl2? (
|
||||
media-libs/libsdl2[X]
|
||||
media-libs/libsdl2[static-libs(+)]
|
||||
)
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy[static-libs(+)] )
|
||||
spice? (
|
||||
>=app-emulation/spice-protocol-0.12.3
|
||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
|
||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
USER_LIB_DEPEND="${COMMON_LIB_DEPEND}"
|
||||
X86_FIRMWARE_DEPEND="
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.8.2
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/seabios
|
||||
sys-firmware/sgabios
|
||||
sys-firmware/vgabios
|
||||
)"
|
||||
CDEPEND="
|
||||
!static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) )
|
||||
!static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) )
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xen? ( app-emulation/xen-tools:= )"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) )
|
||||
static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
"
|
||||
|
||||
STRIP_MASK="/usr/share/qemu/palcode-clipper"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.img
|
||||
usr/share/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_WX_LOAD="usr/bin/qemu-i386
|
||||
usr/bin/qemu-x86_64
|
||||
usr/bin/qemu-alpha
|
||||
usr/bin/qemu-arm
|
||||
usr/bin/qemu-cris
|
||||
usr/bin/qemu-m68k
|
||||
usr/bin/qemu-microblaze
|
||||
usr/bin/qemu-microblazeel
|
||||
usr/bin/qemu-mips
|
||||
usr/bin/qemu-mipsel
|
||||
usr/bin/qemu-or32
|
||||
usr/bin/qemu-ppc
|
||||
usr/bin/qemu-ppc64
|
||||
usr/bin/qemu-ppc64abi32
|
||||
usr/bin/qemu-sh4
|
||||
usr/bin/qemu-sh4eb
|
||||
usr/bin/qemu-sparc
|
||||
usr/bin/qemu-sparc64
|
||||
usr/bin/qemu-armeb
|
||||
usr/bin/qemu-sparc32plus
|
||||
usr/bin/qemu-s390x
|
||||
usr/bin/qemu-unicore32"
|
||||
|
||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure
|
||||
you have the kernel module loaded before running kvm. The easiest way to
|
||||
ensure that the kernel module is loaded is to load it on boot.\n
|
||||
For AMD CPUs the module is called 'kvm-amd'.\n
|
||||
For Intel CPUs the module is called 'kvm-intel'.\n
|
||||
Please review /etc/conf.d/modules for how to load these.\n\n
|
||||
Make sure your user is in the 'kvm' group\n
|
||||
Just run 'gpasswd -a <USER> kvm', then have <USER> re-login.\n\n
|
||||
For brand new installs, the default permissions on /dev/kvm might not let you
|
||||
access it. You can tell udev to reset ownership/perms:\n
|
||||
udevadm trigger -c add /dev/kvm"
|
||||
|
||||
qemu_support_kvm() {
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \
|
||||
use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \
|
||||
use qemu_softmmu_targets_s390x; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
||||
ERROR_TUN+=" virtual network device if using -net tap."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
||||
ERROR_VHOST_NET+=" support"
|
||||
|
||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
|
||||
fi
|
||||
|
||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
||||
eerror "instances are still pointing to it. Please update your"
|
||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
||||
die "update your virt configs to not use qemu-kvm"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
# Sanity check to make sure target lists are kept up-to-date.
|
||||
check_targets() {
|
||||
local var=$1 mak=$2
|
||||
local detected sorted
|
||||
|
||||
pushd "${S}"/default-configs >/dev/null || die
|
||||
|
||||
# Force C locale until glibc is updated. #564936
|
||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "${var}: ${sorted}"
|
||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
||||
die "sync ${var} to the list of targets"
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
handle_locales() {
|
||||
# Make sure locale list is kept up-to-date.
|
||||
local detected sorted
|
||||
detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "PLOCALES: ${sorted}"
|
||||
eerror " po/*.po: ${detected}"
|
||||
die "sync PLOCALES"
|
||||
fi
|
||||
|
||||
# Deal with selective install of locales.
|
||||
if use nls ; then
|
||||
# Delete locales the user does not want. #577814
|
||||
rm_loc() { rm po/$1.po || die; }
|
||||
l10n_for_each_disabled_locale_do rm_loc
|
||||
else
|
||||
# Cheap hack to disable gettext .mo generation.
|
||||
rm -f po/*.po
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
||||
check_targets IUSE_USER_TARGETS linux-user
|
||||
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i -r \
|
||||
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
epatch "${FILESDIR}"/qemu-2.5.0-cflags.patch
|
||||
[[ -n ${BACKPORTS} ]] && \
|
||||
EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
|
||||
epatch
|
||||
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8567.patch #567868
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8558.patch #568246
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8701.patch #570110
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8743.patch #570988
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-1568.patch #571566
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8613.patch #569118
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8619.patch #569300
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-1714.patch #571560
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-1922.patch #572082
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-1981.patch #572412
|
||||
epatch "${FILESDIR}"/${P}-usb-ehci-oob.patch #572454
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-2197.patch #573280
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-2198.patch #573314
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-2392.patch #574902
|
||||
epatch "${FILESDIR}"/${P}-usb-ndis-int-overflow.patch #575492
|
||||
epatch "${FILESDIR}"/${P}-rng-stack-corrupt-{0,1,2,3}.patch #576420
|
||||
epatch "${FILESDIR}"/${P}-sysmacros.patch
|
||||
epatch "${FILESDIR}"/${P}-ne2000-reg-check.patch #573816
|
||||
epatch "${FILESDIR}"/${P}-9pfs-segfault.patch #578142
|
||||
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
epatch_user
|
||||
|
||||
# Run after we've applied all patches.
|
||||
handle_locales
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
mkdir "${builddir}"
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--disable-bsd-user
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--disable-werror
|
||||
# We support gnutls/nettle for crypto operations. It is possible
|
||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||
# are enabled), but it's not really worth the hassle. Disable it
|
||||
# all the time to avoid automatically detecting it. #568856
|
||||
--disable-gcrypt
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
--enable-docs
|
||||
$(use_enable tci tcg-interpreter)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets as the default configure
|
||||
# options will autoprobe and try to link in a bunch of unused junk.
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_softmmu accessibility brlapi)
|
||||
$(conf_softmmu aio linux-aio)
|
||||
$(conf_softmmu bluetooth bluez)
|
||||
$(conf_softmmu caps cap-ng)
|
||||
$(conf_softmmu curl)
|
||||
$(conf_softmmu fdt)
|
||||
$(conf_softmmu glusterfs)
|
||||
$(conf_softmmu gnutls)
|
||||
$(conf_softmmu gnutls nettle)
|
||||
$(conf_softmmu gtk)
|
||||
$(conf_softmmu infiniband rdma)
|
||||
$(conf_softmmu iscsi libiscsi)
|
||||
$(conf_softmmu jpeg vnc-jpeg)
|
||||
$(conf_softmmu kernel_linux kvm)
|
||||
$(conf_softmmu lzo)
|
||||
$(conf_softmmu ncurses curses)
|
||||
$(conf_softmmu nfs libnfs)
|
||||
$(conf_softmmu numa)
|
||||
$(conf_softmmu opengl)
|
||||
$(conf_softmmu png vnc-png)
|
||||
$(conf_softmmu rbd)
|
||||
$(conf_softmmu sasl vnc-sasl)
|
||||
$(conf_softmmu sdl)
|
||||
$(conf_softmmu seccomp)
|
||||
$(conf_softmmu smartcard)
|
||||
$(conf_softmmu snappy)
|
||||
$(conf_softmmu spice)
|
||||
$(conf_softmmu ssh libssh2)
|
||||
$(conf_softmmu usb libusb)
|
||||
$(conf_softmmu usbredir usb-redir)
|
||||
$(conf_softmmu uuid)
|
||||
$(conf_softmmu vde)
|
||||
$(conf_softmmu vhost-net)
|
||||
$(conf_softmmu virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_softmmu vnc)
|
||||
$(conf_softmmu vte)
|
||||
$(conf_softmmu xen)
|
||||
$(conf_softmmu xen xen-pci-passthrough)
|
||||
$(conf_softmmu xfs xfsctl)
|
||||
)
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
;;
|
||||
softmmu)
|
||||
# audio options
|
||||
local audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--with-system-pixman
|
||||
--audio-drv-list="${audio_opts}"
|
||||
)
|
||||
use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
|
||||
use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
)
|
||||
static_flag="static"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
||||
|
||||
# We always want to attempt to build with PIE support as it results
|
||||
# in a more secure binary. But it doesn't work with static or if
|
||||
# the current GCC doesn't have PIE support.
|
||||
if use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
gcc-specs-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
[[ -z ${softmmu_targets}${user_targets} ]] && qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -z ${softmmu_targets}${user_targets} ]]; then
|
||||
cd "${S}/tools-build"
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/scripts/qmp/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/kvm_stat"
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets
|
||||
newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dohtml check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z ${softmmu_targets}${user_targets} ]]; then
|
||||
cd "${S}/tools-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}"
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
# Remove the docdir placed qmp-commands.txt
|
||||
mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/" || die
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc docs/qmp-*.txt
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the vgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../vgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/sgabios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
rm "${ED}"/usr/share/qemu/pxe-*.rom
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if qemu_support_kvm; then
|
||||
readme.gentoo_print_elog
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
if has_version 'sys-firmware/seabios[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/vgabios)"
|
||||
}
|
@ -0,0 +1,540 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1-2)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}/${P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
|
||||
VANILLA_GV="2.40"
|
||||
VANILLA_MV="4.5.6"
|
||||
STAGING_GV="2.40"
|
||||
STAGING_MV="4.5.6"
|
||||
[[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
GST_P="wine-1.8-gstreamer-1.0"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
!staging? (
|
||||
gecko? (
|
||||
abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi )
|
||||
abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi )
|
||||
)
|
||||
staging? (
|
||||
gecko? (
|
||||
abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
|
||||
abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
|
||||
)
|
||||
https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${GST_P}.patch.bz2
|
||||
https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}${SUFFIX}.tar.gz -> ${STAGING_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
test? ( abi_x86_32 )
|
||||
themes? ( staging )
|
||||
vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
themes? (
|
||||
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||
x11-libs/cairo[${MULTILIB_USEDEP}]
|
||||
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
|
||||
)
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
staging? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${pn_live_val} ]]; then
|
||||
if use staging || use d3d9; then
|
||||
eerror "Because of the multi-repo nature of ${PN}, ${pn_live_var}"
|
||||
eerror "cannot be used to set the commit. Instead, you may use the"
|
||||
eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_compiler_check || die
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
if ! use staging; then
|
||||
GV=${VANILLA_GV}
|
||||
MV=${VANILLA_MV}
|
||||
else
|
||||
GV=${STAGING_GV}
|
||||
MV=${STAGING_MV}
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
|
||||
if use staging; then
|
||||
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
|
||||
|
||||
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
|
||||
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
|
||||
|
||||
local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
|
||||
|
||||
if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
|
||||
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
|
||||
einfo "If src_prepare fails, try emerging with the env var EGIT_COMMIT."
|
||||
einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"${WORKDIR}/${GST_P}.patch"
|
||||
)
|
||||
if use staging; then
|
||||
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
|
||||
ewarn "Wine bugzilla should explicitly state that staging was used."
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $? || die "Failed to apply Wine-Staging patches"
|
||||
|
||||
# To differentiate unofficial staging releases
|
||||
if [[ ! -z ${SUFFIX} ]]; then
|
||||
sed -i "s/(Staging)/(Staging [Unofficial])/" libs/wine/Makefile.in || die
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with themes gtk3)
|
||||
$(use_with vaapi va)
|
||||
)
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
local l
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
|
||||
use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
|
||||
if use gstreamer; then
|
||||
ewarn "This package uses a Gentoo specific patchset to provide"
|
||||
ewarn "GStreamer 1.0 support. Any bugs related to GStreamer should"
|
||||
ewarn "be filed at Gentoo's bugzilla, not upstream's."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,10 +1,6 @@
|
||||
AUX ckb.initd 659 SHA256 44add360f36d5df6b3a4ec182180feff98e2f4983b69216ec3e4a2464f724ca5 SHA512 45c98f5b3cf2868fd7a5b0a015222b1dc6608847d380a1a3ccc95fab306bfde642a74e5dafe1545b380516fb4d41e30d76b9c1f826882dae28a0332f6c3b40ad WHIRLPOOL 725b1e0fbcfba1e1d6f3b510b0fe6e9c9365600fac1329cee66e9568121d6c3804030718ed96e7a5d04fe915701bfe2cfcf04b4933221a092fc1810871f8e7af
|
||||
DIST ckb-0.2.4.tar.gz 522149 SHA256 7c2c5cbf84cbde52b4310012e92278a05d53e7e56fc81ea04306df2131f39bc9 SHA512 fe55c8dc28728cc68baa754ed7e0f1296bcb1828bdbc9bc35ef7863b2a49e03e4533c919384494b88122559a88b3dd7c1040927c1ccdb90871d08f36b98e07f4 WHIRLPOOL c70a1d917b65106f611a0d2608efe24f81a38c13141049fa9d71c819bd078121b5f9db8f0b0cf25ddccfb2e2172f500ce05f8d5488abd3c8203d88f3727dbe8c
|
||||
DIST ckb-0.2.5.tar.gz 526703 SHA256 633ffaefcea14d1ec1cbf5cd28b8de364cbac601b7f4658a1e37f3d817241996 SHA512 169952991b259564372235e12ca0b03befdc013d3ee024c77799a40980b33d0990e6e56e3656a20285f0b6e1d00433ed710f705997797a2d004634c1c60c1e30 WHIRLPOOL 7b76e177cc2a82ba998494646f0f348f9b770b808d8d3fca3dcf0512f37850f5fbeb32de11543db5409df1644414fd35c6d4ee172b8b493fa14abe9acbcc3cb5
|
||||
DIST ckb-0.2.6.tar.gz 526737 SHA256 924b22b7dd94f7ad6f0686859a05b0cb5df0aa12133bb9d277f2f1bd47672d91 SHA512 6d92b0e82865748d9731943462d2cb89c3ea0dea4170f8aebcf5e1ed491c5d635dcd69a4f1f385ab891846f2b3437e2cb154f5dae5f5446cf52e557ebf6343a6 WHIRLPOOL d739de63be05cdd24a417e619156e99df2c1ca32fb51a660ef2484609e83a7019296826173ee7268539a65d4b2f48ca6d10b4588756fc1c6e7a22a2f71edc646
|
||||
EBUILD ckb-0.2.4.ebuild 1009 SHA256 64e37f7bee1ee56a9f3fe1c7a3b64aaed066f9921245f3229de32112e5ce53c7 SHA512 d2f985afa329181abef6a4906c0634f9f2d9990104bec34ad9ee5420def751c7118ff81e570c15dd4243f5ed6c30c0592c0c290ba25eb9ddef8af88b0a228cf9 WHIRLPOOL da3aef5c8c6b1277fa66168398dddfc51cfe0f2e368758d24101c0947ecf2ee76bafb47b54e80b7c3c894d7579e3da03547157cc38aa202dee3e1e3f61f29804
|
||||
EBUILD ckb-0.2.5.ebuild 1009 SHA256 64e37f7bee1ee56a9f3fe1c7a3b64aaed066f9921245f3229de32112e5ce53c7 SHA512 d2f985afa329181abef6a4906c0634f9f2d9990104bec34ad9ee5420def751c7118ff81e570c15dd4243f5ed6c30c0592c0c290ba25eb9ddef8af88b0a228cf9 WHIRLPOOL da3aef5c8c6b1277fa66168398dddfc51cfe0f2e368758d24101c0947ecf2ee76bafb47b54e80b7c3c894d7579e3da03547157cc38aa202dee3e1e3f61f29804
|
||||
EBUILD ckb-0.2.6.ebuild 1009 SHA256 64e37f7bee1ee56a9f3fe1c7a3b64aaed066f9921245f3229de32112e5ce53c7 SHA512 d2f985afa329181abef6a4906c0634f9f2d9990104bec34ad9ee5420def751c7118ff81e570c15dd4243f5ed6c30c0592c0c290ba25eb9ddef8af88b0a228cf9 WHIRLPOOL da3aef5c8c6b1277fa66168398dddfc51cfe0f2e368758d24101c0947ecf2ee76bafb47b54e80b7c3c894d7579e3da03547157cc38aa202dee3e1e3f61f29804
|
||||
MISC ChangeLog 3717 SHA256 a6e1802fa21b6f4a3d3602216f4a2ec0ce70a1739c67e00d0d8bc70e83ec196b SHA512 77a6e93bc22c8a586dfcf3e7de5ba535f613d6d62d223b21de740a13b2350a88c4daa759734c42cb6f2063fabfe4b27a33b306bbb2e55e3909b99ecd3d62744a WHIRLPOOL 36041481c3aa15072d43de9429546a3f7bc58df3a59e601e6a29f0db42439ae5b8947f96e9476ebbdcd2e3bab09b0118a5ca70e936724ab91e9c50cbc9f0e4d8
|
||||
MISC ChangeLog 3853 SHA256 aefc98160560c5c39225d1aab7111414c249a89bab6322a440f3fc1d544f498b SHA512 9a98188dd0025ba97737b16e09cd86bbb40291e1e7c108dbbe55320532c055b1d04a06a2f17193f45cfcfed0a6b11dc34c74c97e2409d545b22276130c1dc3f7 WHIRLPOOL 57218a0d945a8104e1a64b025af87975270d2c39485153dc6c5e5cecc34ee8ca7fad2f41c356e92e415cfd5d6376fbaec2affbb9f114d20f7c9e9b3eb6597834
|
||||
MISC ChangeLog-2015 592 SHA256 73f989d1f321406e6d9a10b829b03a1bb1af43933b1beb07b59822b89c824a74 SHA512 be7855aa4c3da9fa9cc181c5ef3d7b8e54546d46161ab6ec71832df7bc0ee8a3f5aecf1697d66c4abeadcb85d9e4f68815f8b84bb7efa7cd34d0cb24b68e9ccf WHIRLPOOL a5fa411d84440ede00cb944137fab6f8b4f420a510ac96f63a2d606a5725cc773208c20e3692d9d3394607116f7aed9199f03577eb7d53bdae9bca9bde68ea60
|
||||
MISC metadata.xml 319 SHA256 d8b37a10ff8fbbe936a2ec45b5d373be9cff9dc21bd8092970749ca13e8111d9 SHA512 62f3e5ae4cdf822445aac43dfb6a42da92230a79f007b15c5af65a802741338ff5008fe4ac9afb14bca120e23a2b947c92f8e132d0b3f5c36a43efd7a22c3183 WHIRLPOOL f82fe2516d198b0042f3efcad4e22e214adcfbec689e9aa7398ba06176f8d77c60a06d9d25f8d77e15c90b7b1f749820c72399af0b66fabfc93628ea5ff80766
|
||||
|
@ -1,46 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit qmake-utils systemd
|
||||
|
||||
DESCRIPTION="Corsair K65/K70/K95 Driver"
|
||||
HOMEPAGE="https://github.com/ccMSC/ckb"
|
||||
SRC_URI="https://github.com/ccMSC/ckb/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="dev-libs/quazip[qt5]
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtwidgets:5"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
DOCS=( README.md BUILD.md DAEMON.md )
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e "s/-Werror=all//" src/ckb-daemon/ckb-daemon.pro || die
|
||||
sed -i -e "/quazip/d" -e "s/^.*QUAZIP_STATIC/LIBS += -lquazip/" src/ckb/ckb.pro || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake5
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/ckb bin/ckb-daemon
|
||||
dodir /usr/bin/ckb-animations
|
||||
exeinto /usr/bin/ckb-animations
|
||||
doexe bin/ckb-animations/*
|
||||
|
||||
newinitd "${FILESDIR}"/ckb.initd ckb-daemon
|
||||
domenu usr/ckb.desktop
|
||||
doicon usr/ckb.png
|
||||
systemd_dounit service/systemd/ckb-daemon.service
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit qmake-utils systemd
|
||||
|
||||
DESCRIPTION="Corsair K65/K70/K95 Driver"
|
||||
HOMEPAGE="https://github.com/ccMSC/ckb"
|
||||
SRC_URI="https://github.com/ccMSC/ckb/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="dev-libs/quazip[qt5]
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtwidgets:5"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
DOCS=( README.md BUILD.md DAEMON.md )
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e "s/-Werror=all//" src/ckb-daemon/ckb-daemon.pro || die
|
||||
sed -i -e "/quazip/d" -e "s/^.*QUAZIP_STATIC/LIBS += -lquazip/" src/ckb/ckb.pro || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake5
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/ckb bin/ckb-daemon
|
||||
dodir /usr/bin/ckb-animations
|
||||
exeinto /usr/bin/ckb-animations
|
||||
doexe bin/ckb-animations/*
|
||||
|
||||
newinitd "${FILESDIR}"/ckb.initd ckb-daemon
|
||||
domenu usr/ckb.desktop
|
||||
doicon usr/ckb.png
|
||||
systemd_dounit service/systemd/ckb-daemon.service
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
# ChangeLog for app-misc/ddctool
|
||||
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
|
||||
# (auto-generated from git log)
|
||||
|
||||
*ddctool-0.4.2 (04 Sep 2016)
|
||||
|
||||
04 Sep 2016; David Seifert <soap@gentoo.org> +ddctool-0.4.2.ebuild,
|
||||
+metadata.xml:
|
||||
New package
|
||||
|
||||
ddctool primarily uses DDC/CI (Display Data Channel Command Interface)
|
||||
to communicate with monitors implementing MCCS (Monitor Control Command
|
||||
Set) over I2C. Normally, the video driver for the monitor exposes the
|
||||
I2C channel as devices named /dev/i2c-n. Alternatively, there is initial
|
||||
support for monitors (such as Apple displays) that implement MCCS using
|
||||
a USB connection.
|
||||
|
||||
Package-Manager: portage-2.3.0
|
||||
|
||||
Signed-off-by: Jonathan Scruggs (j.scruggs@gmail.com)
|
||||
Closes: https://github.com/gentoo/gentoo/pull/2201
|
||||
Signed-off-by: David Seifert <soap@gentoo.org>
|
||||
|
@ -1,3 +1,4 @@
|
||||
DIST ddctool-0.4.2.tar.gz 739613 SHA256 742465d74247c21a87247e3a386d0cbcf95808cde9fc88efae21f21c12ae9748 SHA512 7b86ae475f877ff4e66a51e0612fe505479e88b6221c74e7951e10537a3d9720f0f7c82cbbaaa990aa6daef7e1aabf493f6eb59e908af61a8f1159b9d9ac16a8 WHIRLPOOL 4d32cf667c9a61790c5ac1a02338349b085d8922b3b89e28814b394bb975c74452dd7dd8d2f14561256d724ac10f032debab8b686700783beba4dbc00b3b4238
|
||||
EBUILD ddctool-0.4.2.ebuild 2615 SHA256 0e02411aadb9c23adbb21fa7c34302d7cfd462efce297424c089178d74d28252 SHA512 e60d505b9c4426c7835ea1056030a957a49ecb1202e9cf1e8deef3c7350f4c564bf87db28b403a1830c953ead638080cb4c84751701ae68701a1ff586dc01915 WHIRLPOOL 8bbb4789160770f06fed7571b77b51b84563ddc954bd2efd10d75b624df9862461c62a6a0ed14a2dd18ef078a68b7ea72740ce6ee823de8e6c451faf068a3945
|
||||
MISC ChangeLog 850 SHA256 228b5f7e873ead05bbc02a94146fd138fed1fe62e3c50fd221908f3d442adcd9 SHA512 cfd86189e2c91492bdc6c0b82d520b9a7c9ba7c5252b14dfdee09ec7e4bbc92621fad166facf0922841bb41bd534a85d6fa320fc036fde3b1127bd3936e09e38 WHIRLPOOL e5b2109464e345e275d59e8329350257aa8beebbcefbbbabb4aa7f55056ca15ff1124ce9284f3304bfd0acaa0fa8bc1394d50141c2f5dd4c431abdb3fccda08f
|
||||
MISC metadata.xml 1184 SHA256 3a0e17957cc485d1a0379f41dd3a58cd6bdcf13037b8fc7a1b0aa612137a9b00 SHA512 0fa09e323e5dca8a64426c19c308babc982aeec33d0655492c5e8485544d13f9eaa2d99124f1cfb08f72978a4d334b8e5b494c0687db1d53bf8292b54dde2be8 WHIRLPOOL 8fc3527a527cf002e10e8ef3254e3f0ea4113c27ff291ca895ae978ac20fcadc06468dd8647363742078378e7891834ed6bc49bcbd9c5525e6bcff0fc5e07435
|
||||
|
@ -0,0 +1,52 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit toolchain-funcs prefix eutils
|
||||
|
||||
DESCRIPTION="The Original Korn Shell, 1993 revision (ksh93)"
|
||||
HOMEPAGE="http://www.kornshell.com/"
|
||||
|
||||
COMMIT="c506cb548d9b4bcebef92c86e948657728760e15"
|
||||
SRC_URI="https://github.com/att/ast/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="CPL-1.0 EPL-1.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="!app-shells/pdksh"
|
||||
|
||||
S="${WORKDIR}/ast-${COMMIT}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/ksh-prefix.patch
|
||||
"${FILESDIR}"/cpp.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Bug 238906.
|
||||
sed -i -e 's,cd /tmp,cd "${TMPDIR:-/tmp}",' \
|
||||
bin/package src/cmd/INIT/package.sh || die
|
||||
|
||||
eprefixify src/cmd/ksh93/data/msg.c
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export AR CC LD NM
|
||||
export CCFLAGS="${CFLAGS}"
|
||||
sh bin/package flat only make ast-ksh SHELL=sh SHOPT_SYSRC=1 || die
|
||||
# The build system doesn't exit properly
|
||||
[[ -e bin/ksh ]] || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
into /
|
||||
dobin bin/ksh
|
||||
dosym ksh /bin/rksh
|
||||
newman man/man1/sh.1 ksh.1
|
||||
}
|
@ -1,15 +1,19 @@
|
||||
DIST avrdude-5.11.1.tar.gz 570880 SHA256 52cd4586ec28e892407ae09e81bb8e719df08ee79acd88e5110fa890c82cec90 SHA512 af0154a54011490194aabe5a3d4f40ebf33404d73d41d2c25f01f3f3606f5cdb4de9377b83dc19fc7743e448f8385e3602654deaea9ed5f8dd9f037c7fa53978 WHIRLPOOL 902eff357778e3944ec8c6ee90f3f619473726e9ebac4b1b6f8fc68c95dea529218db53140c533c7bb2775efbb92ee75df6123bb9cf4b561cf84dca8bc28685a
|
||||
DIST avrdude-6.0.1.tar.gz 692284 SHA256 c6804668dfa96b23185dfe2e8239089af4e4ae0b11aa7435bebb28c3260ede41 SHA512 5d067c283b06e0e17b68bdcabc55ff848364c9d89aa2f9e95ef60b5b5c3f81418c2c416ef47e1c5895b27152f8b6c8f6e25e20af0c59d2a2e9a62e0da90c5905 WHIRLPOOL b00460d49f0e08af5aa1e0b13d919afb0f1fcf04a6d3e3f411b6f7cc22ffcbaa4b1eeffddcc4c7a639ab37732e8f1c8e0b075131f35409946713d687a5dee669
|
||||
DIST avrdude-6.1.tar.gz 714595 SHA256 9e98baca8e57cad402aaa1c7b61c8de750ed4f6fed577f7e4935db0430783d3b SHA512 7d9d12f1597308dd059a1ab43dca31ad145601c59f8655d7edb596224a754694202c0838f2b907398f796ef7bed90c5dc6a58d811481dd775da1e07b842362de WHIRLPOOL 714b13834b87ec759eb1d5c87848d7ff8a404dc0d1d8ab5dd5b98731de51302af2f01afbdb1a060d8ed92d158eabbf3ea656afc29ce9b865fb7c7574751e65a9
|
||||
DIST avrdude-6.3.tar.gz 909744 SHA256 0f9f731b6394ca7795b88359689a7fa1fba818c6e1d962513eb28da670e0a196 SHA512 b671008388d6a552e71066fec46429bc7f6639e8eac41113bcbba5a56212b78be31fcf04956b31e11c6b14888b0f6e825f7458395b9ff4fc28406074c7ded2b2 WHIRLPOOL a5fbbd5ca348b52988d8a724ba5a5a2691812a57978a0fb05d21c4f392fe172c0253c934dba01c00f91091a7f22dc426a793098d2228c74d5a38f44dc5aba276
|
||||
DIST avrdude-doc-5.11.1.pdf 242953 SHA256 2f017acf39bb64256f424671b0a839b2d7544639d1a57702d5de2cb4d534ed1d SHA512 9250b304273857cb40550958765f97697fc4d0e500d5b58eca76f30215699f4f48db27e65eec7437e1d8f059f3162491c7cae535b76dfc474fd3bae8133616ae WHIRLPOOL 5d59567f3f8c7e1e8d238a11fe7370a5ec5fafca1d815a82d52a50692032e774c077941c685dd8d2477b14d7c09ca85d2ac7a6baaa8f57c085c3f17a6c336f45
|
||||
DIST avrdude-doc-5.11.1.tar.gz 35915 SHA256 62b645282bd87ffedeac4b94b15fb868dfbadfaa4a63373a25ede9c7c53d4217 SHA512 baae5afb1596af1e4c8df321352bd4edb18095ecd3c7ad79c760200a8067573e92f3ce6300a3db518d44734cf8951a4c088835ca4aa6168c8725adddff640848 WHIRLPOOL b2f3e74aac6b466ede0873b3f7b6b75ca8e2cb25ce7b94277a76e600200dabd9ae8640ce15f5ab64785da5fb0555152b29ce7c1b5332b7fd320c71295aa0fe2a
|
||||
DIST avrdude-doc-6.0.1.pdf 256686 SHA256 9aa5fdda4c6eafb6b1df2b8097db61896a47a514d2e23dc7858608388607dc35 SHA512 187809725916ea37a203f55ba44d8ef1f9af651413a75169a54465d367823cde008b7bcf77cd53937e1b0bbb1e33071e6f45564b2f03c31247bb666befe2126a WHIRLPOOL 6b3fae078ba1972fb5368801b049f48ce6f457a1b221e1ccde0329a223a8b017b72f519d6ab1bfc3d2f5a19b57237335d9bc98cb8e373d18963ea632f079bde7
|
||||
DIST avrdude-doc-6.0.1.tar.gz 40339 SHA256 19d4323bd3768ced807edf225d8129475ba83785ea0f74c29b6bfaddd459a7ef SHA512 a9744784650751b8e601bb3fce45e3e0816db9971d7e32e5d7075997f4662a94ea38a3e372480b28f2e109c12e37914496077f2698946ffd92dea9d1fe8676f0 WHIRLPOOL 4bc3caef70a380e5ad8e792a53de04ed3b1236d4438b405370a528b8fa06342476b34a0487534a1bc16acb5ce32d82f9fc8db09e370dfc33c5306fe698278d19
|
||||
DIST avrdude-doc-6.1.pdf 259286 SHA256 b1734f0cd718bfb83398bbb2c2e69c392694300b0e3b281d1c8c59b3d37f7599 SHA512 97db435758e5d9d8173180dd860a28008b050988b81651b383b5b13ff081e79985b5b18c245a855221e773dbbe1dddbc2e69bf91211aae4429415b53be56d769 WHIRLPOOL d9c7a786523260491edf1978f2bc540e6ca5ba677eb7a4cf0725037d9373e0e319d1e3c1136efaaed7f6d86caa2de5a1468de974e1c66621a82108ebfcf7edbf
|
||||
DIST avrdude-doc-6.1.tar.gz 41567 SHA256 e34cd4282e86da0f791575fd1fd6db250524cf1c7b14952ddf1ccc113952b9de SHA512 9a667c007203b577fce722beaf77b1b38e68de05ce256745fe3bd53397145aa3f2526b8ac8664c8192c368098d171704ba78d81cfcbe99384050702461f012bf WHIRLPOOL 658e62d74c1d2b8f7f1dae316d8966d4136bd4e24853620bb07faab87b02c7d7d32bbe2406ba46700758584bc3e80a16e6cd1e247a5fd8280f80ad15f6daa5f4
|
||||
DIST avrdude-doc-6.3.pdf 255521 SHA256 f3e7cc7557a111c181f3f04d2dab075e8341d78d7e7f8914b578198d18daca2f SHA512 f33b15f6a9247f6646ba8a861f1e86f5d43b1b44438fb95bd53764a73f0c450f669dcb43b6b587390ddbc22dafa02758ddc330a7aab1651ccca7c8da8e00b755 WHIRLPOOL b96fc0c1f24aeda248629b51516b024c66a3a4cb2ab177bdb56f2d3f01dadf4642c958eb7153f44e507404a1503ae84e0571eade5bc428bcc095fba51ff29a55
|
||||
DIST avrdude-doc-6.3.tar.gz 39823 SHA256 047a8a37b09f683582d7a0418417cd3020859d4705dd7e00f048e733903cdf3e SHA512 b7abd9d0068d2933a1907655832930c455093b4ffbdc2b6fb2405a821cad0ba1c4de3aa5fa0ea7c9b53d06cfa6d5b5658d30a18a4f5c3884d0e15c171a097b29 WHIRLPOOL 2baa84196635154916d06b5fbce93a4f4dc4f9bf4ce5cc28f82363aa9e59f9d6fb4b55bf6a6ea4ef25afb49119367bf9637f022639fe1b84e82932750156b2f4
|
||||
EBUILD avrdude-5.11.1.ebuild 1324 SHA256 a10e1c8bfb470de6270a6ca0582793c9be30e57d9c3ab52d8e95fe7597555928 SHA512 4b3163b9982ebbffcf73bbdc13b18354e0e22b7dd4a7639d79e2f771bb99ab8aa8770470d01ede12c69b25b136626404ad699ee044372894ccd9edfa21d5c13b WHIRLPOOL 4be9489d845bac6c640d6bd84fc57df1b5c9f85f93f916e5db810ce63ef0f7f675baa4c463252597048f114067abe07dc30cfd5698bf79d9c8f3575fce4f371f
|
||||
EBUILD avrdude-6.0.1.ebuild 1320 SHA256 f3389f06fd1384c8caca7b4729f32f8961917cfaa0b1ea80f0d8c138ee341b4d SHA512 ae0ec509d7786eaf9de5236c86d95294096eb1e7ea2cff8c19f01db2631f95e6d9738aada0cae30dd442cd9ad59a10ca8813ebe0fd7c0b0ecd32c0d56f3e707a WHIRLPOOL 6af1781a69f9091b3b8ffd4e638605dc4746107a4ff08c9bba14e927ff12ff2a7f4c2130fdbb8cf4a3c49058e6071df6887569576541ed26805d0ddf22b0ae8d
|
||||
EBUILD avrdude-6.1.ebuild 1446 SHA256 f3b1f4289d6077bf4a541057e39032419905554de51c577d231f44e13b28e6d4 SHA512 35037128641c9278661ac961dcc0a74a6a27688b01d344cb12e7d98503d88ee26900a13ac25e5d06524caa3118b9857dbb7ed0fb04dfd339d71fb67e13cf0959 WHIRLPOOL debe6267f17f364fe359bf008c411e6d1b04f3ed10988b709fbab4240002ce8d714cbeac49a841e580a15e4505f640afe09650dd6a22c820e437e3764f0164a7
|
||||
MISC ChangeLog 3448 SHA256 c2d7235136de6cf486b90a8fdf526d1cb8dc61712d91cde37c194c82b5c81d92 SHA512 afeecb2bf4407b79254d7a1e0d778686d96230715a36a85858ae528e8e5dd8f60c0c5b455b2687ae4aad5fc5d798aecc94bf18fec971a75f898b69e39f90c21b WHIRLPOOL 2fcff1be2f665eb29f7da9ea32644d5e9886979f35f1e91840158e40ff78a27498371519d3a69cd7e70da1285e99e2758b320eeb4e3b5739ff2aebf74a711b3f
|
||||
EBUILD avrdude-6.3.ebuild 1445 SHA256 21170d3318a2ae603c98b3975645b9d8a47cc84c0f08178495cfd8df75e249bd SHA512 43bf4f4f9fbd2046a66f220fa62ee9f805b6efdf2d1a4ee4fda0cd788957d5d15fc45d8e1e1b729c6d045945716b1e9d5d2aed8629be3de661e8f8465d261519 WHIRLPOOL 36c017616cd70288f71578eef3ef3771a821b96c867c5b32f2f8995c73d5f88edf9784633a2d01cb0269d8694fc21f22bc8b20081f1fc4c4c7e9ae59369fc54c
|
||||
MISC ChangeLog 3624 SHA256 8e882c050135c058a38eb02ab5b077814abb392b4573d8f6594703e2b1a51880 SHA512 51cc0145cb54c9c07d7eecbca737c6ec0f1a26bc816d8e9d39ddfb20836d0302ac098caf3cfae7e174c50a48f93952d72802d390c639a361a8ad1104fd858855 WHIRLPOOL bdd52d17b80564187484415bd5ae34dae9d3f92ec61a81d32522206a1544e3e4b536fb52f86f03efa3a22638f42768e602e25dfdede30ac56e136c633b61e014
|
||||
MISC ChangeLog-2015 8152 SHA256 7e26173538e7f5dcff53d5d9446a313f2f11cd36b9327dc7c3cce23a9c5e2a44 SHA512 62038b6b697ff31b6dac851485ed4f0297ad3bd46116f320938f9416e2fa5aa83686fb1208481b837099012eb70bdc0b6f57b5ac7783219ade2e17bd48223e37 WHIRLPOOL 6af9eea5eeac9f3557dc65298a524b18d2cec8f66ed830f1639c43febe1f126efc65bf4bd6a9a7f8e376d30b539a69234cbe25bb4458cd6af1afb63ac0276778
|
||||
MISC metadata.xml 358 SHA256 041d555c7d1b8117a83a70d647b97fce011ebb5fd22ed12310ce5eb349df074c SHA512 16a2c9587e26b000d865d7604ee50a7dd8e125cc12f7b7d44c1ca6a49eec3d6881797dcb2dc686b474eea9064049edc640f6af2681978b518474545a50a47ff6 WHIRLPOOL 5183ab0dcfff883a4f65d986eea00ff8fb49132a51808df6ef3ce83208e5491ae55241fe0ae7e204c829e8c8b95c397dcb4bfa65c634aa652eabf21be44d8ba7
|
||||
|
@ -0,0 +1,59 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="AVR Downloader/UploaDEr"
|
||||
HOMEPAGE="https://savannah.nongnu.org/projects/avrdude"
|
||||
SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz
|
||||
doc? (
|
||||
mirror://nongnu/${PN}/${PN}-doc-${PV}.tar.gz
|
||||
mirror://nongnu/${PN}/${PN}-doc-${PV}.pdf
|
||||
)"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
|
||||
IUSE="doc ftdi ncurses readline"
|
||||
|
||||
RDEPEND="virtual/libusb:1
|
||||
virtual/libusb:0
|
||||
ftdi? ( dev-embedded/libftdi:= )
|
||||
ncurses? ( sys-libs/ncurses:= )
|
||||
readline? ( sys-libs/readline )"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
DOCS="AUTHORS ChangeLog* NEWS README"
|
||||
|
||||
src_prepare() {
|
||||
# let the build system re-generate these, bug #120194
|
||||
rm -f lexer.c config_gram.c config_gram.h || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# somehow this doesnt get set when cross-compiling and breaks build
|
||||
tc-export AR
|
||||
export ac_cv_lib_ftdi_ftdi_usb_get_strings=$(usex ftdi)
|
||||
export ac_cv_lib_ncurses_tputs=$(usex ncurses)
|
||||
export ac_cv_lib_readline_readline=$(usex readline)
|
||||
default
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The automake target for these files does not use tempfiles or create
|
||||
# these atomically, confusing a parallel build. So we force them first.
|
||||
emake lexer.c config_gram.c config_gram.h
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use doc ; then
|
||||
newdoc "${DISTDIR}/${PN}-doc-${PV}.pdf" avrdude.pdf
|
||||
dodoc -r "${WORKDIR}/avrdude-html/"
|
||||
fi
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 7481047..478becb 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -55,6 +55,8 @@ PIC_CFLAGS = @PIC_CFLAGS@
|
||||
CTARGET = @CTARGET@
|
||||
LDTARGET = @LDTARGET@
|
||||
MKLIB = @MKLIB@
|
||||
+AR = @AR@
|
||||
+ARFLAGS = crus
|
||||
CC_MM = @CC_MM@
|
||||
|
||||
ifeq (macho, $(ABI))
|
||||
@@ -185,7 +187,7 @@ $(objroot)lib/$(LIBJEMALLOC)_s.$(A) : $(COBJS)
|
||||
|
||||
$(STATIC_LIBS):
|
||||
@mkdir -p $(@D)
|
||||
- $(MKLIB) $+
|
||||
+ $(AR) $(ARFLAGS) $@ $+
|
||||
|
||||
$(objroot)test/bitmap$(EXE): $(objroot)src/bitmap.$(O)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c270662..f4b4c21 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -226,9 +226,13 @@ PIC_CFLAGS='-fPIC -DPIC'
|
||||
CTARGET='-o $@'
|
||||
LDTARGET='-o $@'
|
||||
EXTRA_LDFLAGS=
|
||||
-MKLIB='ar crus $@'
|
||||
CC_MM=1
|
||||
|
||||
+AN_MAKEVAR([AR], [AC_PROG_AR])
|
||||
+AN_PROGRAM([ar], [AC_PROG_AR])
|
||||
+AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
|
||||
+AC_PROG_AR
|
||||
+
|
||||
dnl Platform-specific settings. abi and RPATH can probably be determined
|
||||
dnl programmatically, but doing so is error-prone, which makes it generally
|
||||
dnl not worth the trouble.
|
||||
@@ -310,7 +314,8 @@ case "${host}" in
|
||||
EXTRA_LDFLAGS="-link -DEBUG"
|
||||
CTARGET='-Fo$@'
|
||||
LDTARGET='-Fe$@'
|
||||
- MKLIB='lib -nologo -out:$@'
|
||||
+ AR='lib'
|
||||
+ ARFLAGS='-nologo -out:'
|
||||
CC_MM=
|
||||
else
|
||||
importlib="${so}"
|
||||
@@ -403,7 +408,6 @@ AC_SUBST([enable_autogen])
|
||||
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_RANLIB
|
||||
-AC_PATH_PROG([AR], [ar], [false], [$PATH])
|
||||
AC_PATH_PROG([LD], [ld], [false], [$PATH])
|
||||
AC_PATH_PROG([AUTOCONF], [autoconf], [false], [$PATH])
|
||||
|
@ -1,41 +0,0 @@
|
||||
The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in
|
||||
option parsing, it may break.
|
||||
|
||||
http://bugs.gentoo.org/103483
|
||||
|
||||
--- mozilla/nsprpub/configure
|
||||
+++ mozilla/nsprpub/configure
|
||||
@@ -54,6 +54,16 @@
|
||||
infodir='${prefix}/info'
|
||||
mandir='${prefix}/man'
|
||||
|
||||
+# NLS nuisances.
|
||||
+# Only set these to C if already set. These must not be set unconditionally
|
||||
+# because not all systems understand e.g. LANG=C (notably SCO).
|
||||
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
|
||||
+# Non-C LC_CTYPE values break the ctype check.
|
||||
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
|
||||
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
|
||||
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
|
||||
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
|
||||
+
|
||||
# Initialize some other variables.
|
||||
subdirs=
|
||||
MFLAGS= MAKEFLAGS=
|
||||
@@ -452,16 +463,6 @@
|
||||
esac
|
||||
done
|
||||
|
||||
-# NLS nuisances.
|
||||
-# Only set these to C if already set. These must not be set unconditionally
|
||||
-# because not all systems understand e.g. LANG=C (notably SCO).
|
||||
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
|
||||
-# Non-C LC_CTYPE values break the ctype check.
|
||||
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
|
||||
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
|
||||
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
|
||||
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
|
||||
-
|
||||
# confdefs.h avoids OS command line length limits that DEFS can exceed.
|
||||
rm -rf conftest* confdefs.h
|
||||
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
|
@ -1,62 +0,0 @@
|
||||
* drop Solaris linker stuff
|
||||
|
||||
--- nspr-4.7.4/mozilla/nsprpub/configure.in
|
||||
+++ nspr-4.7.4/mozilla/nsprpub/configure.in
|
||||
@@ -1988,26 +1988,14 @@
|
||||
CPU_ARCH=`uname -p`
|
||||
MDCPUCFG_H=_solaris.cfg
|
||||
PR_MD_CSRCS=solaris.c
|
||||
- LD=/usr/ccs/bin/ld
|
||||
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
|
||||
RESOLVE_LINK_SYMBOLS=1
|
||||
- case "${OS_RELEASE}" in
|
||||
- 5.8|5.9)
|
||||
- ;;
|
||||
- *)
|
||||
- # It is safe to use the -Bdirect linker flag on Solaris 10 or later.
|
||||
- USE_B_DIRECT=1
|
||||
- ;;
|
||||
- esac
|
||||
if test -n "$GNU_CC"; then
|
||||
DSO_CFLAGS=-fPIC
|
||||
if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
|
||||
GCC_USE_GNU_LD=1
|
||||
fi
|
||||
- DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore'
|
||||
- if test -n "$USE_B_DIRECT"; then
|
||||
- DSO_LDOPTS="$DSO_LDOPTS,-Bdirect"
|
||||
- fi
|
||||
+ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
|
||||
else
|
||||
DSO_CFLAGS=-KPIC
|
||||
DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore'
|
||||
--- nspr-4.7.4/mozilla/nsprpub/configure
|
||||
+++ nspr-4.7.4/mozilla/nsprpub/configure
|
||||
@@ -4765,26 +4765,14 @@
|
||||
CPU_ARCH=`uname -p`
|
||||
MDCPUCFG_H=_solaris.cfg
|
||||
PR_MD_CSRCS=solaris.c
|
||||
- LD=/usr/ccs/bin/ld
|
||||
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
|
||||
RESOLVE_LINK_SYMBOLS=1
|
||||
- case "${OS_RELEASE}" in
|
||||
- 5.8|5.9)
|
||||
- ;;
|
||||
- *)
|
||||
- # It is safe to use the -Bdirect linker flag on Solaris 10 or later.
|
||||
- USE_B_DIRECT=1
|
||||
- ;;
|
||||
- esac
|
||||
if test -n "$GNU_CC"; then
|
||||
DSO_CFLAGS=-fPIC
|
||||
if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
|
||||
GCC_USE_GNU_LD=1
|
||||
fi
|
||||
- DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore'
|
||||
- if test -n "$USE_B_DIRECT"; then
|
||||
- DSO_LDOPTS="$DSO_LDOPTS,-Bdirect"
|
||||
- fi
|
||||
+ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
|
||||
else
|
||||
DSO_CFLAGS=-KPIC
|
||||
DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore'
|
@ -1,6 +1,6 @@
|
||||
AUX quazip-0.5.1-prll.patch 232 SHA256 e931fbc7e271d889e56f8844aab902dbe7263efacb826d90ae3507cd2c698ddc SHA512 4a0c6a9386068262e07b7e2c31c404013173def634c5dfa86ef90c9e0b387b36df2daf4cdc511cdfc64ed7e51d4916911de7123a5d61625561a211c706d60927 WHIRLPOOL b97d15d382000c820d7309c8356f15ed25bfc8e7ecf6098d6200e34f3ae926f4fe3e41b7572dea66a74aed7c4fe78edd576682f8f10be0aca3c6c6af64863ce7
|
||||
DIST quazip-0.7.1.tar.gz 390629 SHA256 78c984103555c51e6f7ef52e3a2128e2beb9896871b2cc4d4dbd4d64bff132de SHA512 58e044019505075aa89f112672c04c54875d98b353ac5a39b6eb3e1f08ea27bd9900126d902c282b87910e4bae5ab9da79942b9add7a5535625c187331445acc WHIRLPOOL bf683e90fd58ae4d94d72f4b4530754eb1944df03adccd4e0302fe7ec82afe07fd54c9d6975ba4f1b30e3d14928fbcc6c987ec612deeb6b66be9c86c5e5d9787
|
||||
EBUILD quazip-0.7.1.ebuild 1333 SHA256 734b086301946590cba9b2ae0ef835ac2e326bc6fd6405fb02bf932f431c6a30 SHA512 d9f6e371d439d1a0443a520c84428014741aa49a6ac73b9add8568ec8f1ea7d0902d3737cf4bb35ab0f77ce5969f33438d5ac0ea6d1810bfa8924061e6cfdc4c WHIRLPOOL a6cc3817d9bc903b55d665df5529db072c12b4bffacd62c4167f5b2e2751cd9521587bf28a27321579db8a16c6e86c8e7a7601e35bec8dd2f1358d0ffa16ba50
|
||||
MISC ChangeLog 3795 SHA256 c6eaed47235cc66c87e6398fbd0133ff4b85f45d5bcc3eba131039b799b71e9c SHA512 c7794a13416f091d283c60f7e7502c5d03c4a6d8ab6758b49a126abe52ae2d15a15a85b3fa68951586a4adc02dabf7c365b00c5dc7045b3a828d6340dc7cf19d WHIRLPOOL 3a51ef5533f02bea3c48e39bcb2f863588a4f6172e70a4c1c5ce6b1a75b0471c458e507dfa65aa3e437dc8df1c1aeea4ccbb40e72f4fdaf186e7534a8c0bb11b
|
||||
MISC ChangeLog 4037 SHA256 857f56d64c58cb99d8bbff46e09ee49d398b8e8f7b41b524ea5122120928edb3 SHA512 0edaaf1a56ec3fa2bbe9697a0ef912a3ec4f2cb44cd0596d2c2eb01868ab693368419fae1b5ba06c95359ec09517c50fe33e15d73bf419e86d3ffe929a22169f WHIRLPOOL 82b57e1867592896c240d4ea1837b2b9a3b933f9e08d0865ac7660fc451d1a7a5e2c4632326f5efe12ddc4fedfc07aa7ff5b156d14dc7ef37d1ca9a87e26db22
|
||||
MISC ChangeLog-2015 6217 SHA256 047bccf3faac4185763c878b73d32da149c0b54380cad880136217f1bd7d38a5 SHA512 8b5e718ca5f86293f352dd7b5006f40dfce87044aa666822bc23fd6e49542e3740f808016580354c1c67fed61d9a9be0ba6834b5105864a2ae432838e720d060 WHIRLPOOL 07f7a2da602e80f7f576e03526f666777fad69479be302e7d8e1b86be25f03cca14543d8c2187b1f03c65cc0b47e7e3fa7e261a2f7f1a2dd79a22d3f839e4441
|
||||
MISC metadata.xml 291 SHA256 19184545c53d79345270baa21447382fc13b149fc254a0cc2f765c86864095de SHA512 4bbb5644633f8430cf5aa8e2e0108154b9480129ebdfcdcd2e3138c550d03d4d4b2d5554ec2a2fcf592375cda4ce4825f59db8921256c491a3216500f8df0a98 WHIRLPOOL 3aba512c4f4e45f2575a8d3df521cec0a1b7a6b085fa2a1f92929b192e030c534fed2377fabfa443b3048accf005d461d5478165309c8d9a6b478770b96d2dd4
|
||||
|
@ -1,6 +1,6 @@
|
||||
DIST Search-Xapian-1.2.23.0.tar.gz 70255 SHA256 90ea2e962f9a4e5f73719bd30b877f5272da886f3693d3a961f4d84b2ef34402 SHA512 48d47e4edc5f752fc31c4142ce3c92a8ead122d4d872326a153fcb9f8667da4101384a3e06375ebb8d2e3148df744484e92bedad7bf4743417c84018ccda9526 WHIRLPOOL 05b472891a7556f51b1ce1d8ae1e8e6f38ae5538d2e8445e0533e92380dda764a37693d6904fd396b97904486c3e961a4bef4ed1791601a02976f7c85e31e79b
|
||||
EBUILD Search-Xapian-1.2.23.0-r1.ebuild 786 SHA256 d2f4f107564eaad0ed5f4f4b30904941f1521d83809bc74cbf7ebc627956720b SHA512 615d218fc33db8569ad30f3626fe1bf978eaeea318ab51c327e76d1fc4f2462b7d79d606d589e19da25d07366bf9c19cf37bc5b5f735de934f1fdb8fcafeda3b WHIRLPOOL 7923d406479f18e04a69aa54362b65e27e107bae73da87a8a8d096c127f297b791a7d28e1ba84cf628d8c293928a45b325b12f328f19449b503099ee3f943a1f
|
||||
EBUILD Search-Xapian-1.2.23.0.ebuild 820 SHA256 8dd215f89e3096def693da83c9510400d5125dae774a2194c3bd61579f08fad3 SHA512 37484f25283542d9c8c174784420e57d5c6fd4117067067041d487f290a628ed5dd877f5bbb4b3d8882b4ff9aac0f0209c152c5481cbcc83fd9461ab90c5baa9 WHIRLPOOL cfe76fcae0fb65c7ee6ef3c508671fe1a1fc7ac5eb627d127bf170203ce0928e301b4856f2012d3fb6dc2c72563c46e9a4c8718117996a4e004e53a95f38eb03
|
||||
MISC ChangeLog 5833 SHA256 f447b8e22f03c2395c38080e4b6948b43ed294cdeff0dbc8e03e69fe34974298 SHA512 70e840ca2c1b050656e34922c189ac9264a492d464c2361eb6ee743ec3febcfae563db3bea8eebd4d4390f9e5cd4e197ba3462f13ae2ce92fb56c30cea8d782f WHIRLPOOL 78790c8367608a4f997e447c3867681235ff35de6a10849d0ab2e1002f33df4c679b8a6a905caeb627b1614dbefa538d597c95d33e5db139d5840137621a1ef3
|
||||
MISC ChangeLog 6014 SHA256 cbe2b12283499102a2d9a9619fe651ea7cfc15d3fd4d2cae2e4058b2b8fb479c SHA512 3d06e56d873a94b2de5e895467ed9c9e18b06f190c9280bf77d8b07f2ecb66f8030ca4f8a0519f80f595f34a03be08ca7cb8aab027b01071d78f013bc1c36cc8 WHIRLPOOL a67b5a525e7465f806aedb57cce71ff444205a77ab8fd8748056cf4f2863b774060df8048f28231ce27bab8012a161579e7810cad2f5044bbd8b5295a7c04fda
|
||||
MISC ChangeLog-2015 9297 SHA256 b8a1b79633ec3bb2213909cba3078b16fb1e456d79af14c6b5d001b849989008 SHA512 ff9281b05e499d8b42b5fc1741ffa33bb313638fb96cbbccf07aa3ccc93099e4deca3cd9331f8c740f2162d97fe55524d86c881a7cc441719148e4f3dcdc09c7 WHIRLPOOL 25ca84d1df82605f90de4b171edcb662fe19da50d973219c00c1efdd201891b570d2afce86021d6d5f05f51c0ddfcb52522dbb74cb85f312992cef4a3b16be11
|
||||
MISC metadata.xml 4157 SHA256 c0bb059ad526be0209bbb9c985f4aba81e734b300675230aede67e72b68439e6 SHA512 407168c9b31fcb233382b4d1e810c79950b84e7fa5c5628e3003f21cb29e6f5d74cbdd10be4ffd84947d177ad62ddc8b35839601aaf05da491417b5816ea59b5 WHIRLPOOL 2155d912a1ed6adba138850c32a8fc2cfbb1473c10976a4c626df8b82cd070c0118f48968e4ac05833e4e754cb2e03b7ac92a2fa5405895a9377c3e79efadbdc
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue