parent
f8eb7f8d61
commit
eead10dc92
@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=System Logger Daemon
|
||||
Names=syslog.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/sbin/metalog
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
Alias=syslog.service
|
@ -1,22 +1,28 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
Hash: SHA512
|
||||
|
||||
AUX ted-2.21-make.patch 488 SHA256 9c973d85ba87662b9f98e81530222a20d5110dd0da11029cf7b36ee8619f546d SHA512 aeff202d16498f0744959fc15bfe3d207df60eaa267b7a5d6dcfcf9b21fe874816530572e3c1e6b77a19fb01c54905f16ff9395f029f120cf68335ab6dfac0ac WHIRLPOOL cb8e87f187be2b38b49bc70c5a96a86deea6f449f738be8644c5b46c75e07aebca7e6156be7232dfc190e158eff8b67222bb94c8f90d16face022259c3781a5b
|
||||
AUX ted-2.23-make.patch 418 SHA256 737765240afffc6eda88f6299c7f6a5de797d5204d744c27e0e030c05e4eeadb SHA512 a1dc77b4788a71445cb30db010d1413e11c06861c692137747d2d02d1cd16b07fb3dd05e702fd37aad600432a985c86d785465a2fe6ddbe6f506b16cafb80b01 WHIRLPOOL ce9eb527df8e36c9fcf0e2d186c93d59a2c11eeb3a80c88312df3e1646f16d1a46f2a06957a6a60d551d7f9fc9bedcb9e43a155f0d862f25234569f48d2f854a
|
||||
DIST ted-2.22.src.tar.gz 4267772 SHA256 93040d5ff259dbf7707a97f8c1ab4a7c1ec8adae63d35760e20dd6f60520fa4a SHA512 52099f1ddc93c1fda4849e62cd610d6b6701e152589124ba90bcd678c09ec7be82273f0f54d96fb8fa8718dab64f99e5576d0c467e035f8c0baffd91b84faa4f WHIRLPOOL fd584a285198731cbe7b53de0ddae465b0f7efe472984ad99835d19bccadb20ec076cf2fb4e22992ee4419093c1b7b0c8cea2fd7cbd07cc9f7f8fc745157d896
|
||||
DIST ted-2.23.src.tar.gz 4672208 SHA256 3fa992c2bc96af3ca788ef941cb5314f4a1d843202efd0201b8b4ee9adbf316c SHA512 c6541e5a07545a08b30cb9b33429d9a7675f9252df32ccca5cdb4f2ff09978085d28d015a42922baf8c95db1ea6379a9d1088541aafd9ce45b8870212496849f WHIRLPOOL 14f757dbc3cee1adae3abcc63ce32d9ebec4de5d5764060826321469a6d2c18339d239e9c0b084aaeb9979595d42411d1f86efb6280e85b7f4e8ea91db7775cd
|
||||
EBUILD ted-2.22.ebuild 1693 SHA256 2ce6eaa27fb195ea48a64428d2f43efe3f1ae11bd270eac18af1644412ddc1c7 SHA512 61ef81052a74d3f1e910546d1ce46f1fdc0716be968db0805cfa79c8eb724a3c88d4997d051f25eee7d775f1fdb58b8ff8e2ce221432164b5a85b95e5e1acb31 WHIRLPOOL 7666984edf601b17b284669b5915a85017b748d306087c352531d8397a9fdd98fb7210175de4d6dcec89b3dd830cde76b31d2ef074473eeacc2ef0cce4c77d40
|
||||
EBUILD ted-2.23.ebuild 1430 SHA256 c62566bce385ba9f8aa370d150569b8272820b7540d198f1f4d0131ccd6b4d97 SHA512 31758c84520aba71cdcc80178a9971e5d762445e90cab64fa27146780a0b9131d3e80288aca6b2d89605741351a2e34237f18f2a1b3f0ff2d9c9e29268fb1f36 WHIRLPOOL a7c507131ddb91194b64ca8476d3536156e105224d0bd41a62e11bd564911c97c5b6e78c4e87e9271209b2da7b2fd338ff8cfbcab0beca7f50c66763cb12fa6d
|
||||
MISC ChangeLog 7033 SHA256 5cec32ab2ca585e47271773ca05af9476e62174f025da56f0cd1fe40aac69f88 SHA512 13fc39a922c1d9dff442cc7346c7a1d54a7ca02c5e36942fa2e32457d1958d61fe0803bdec3ab5f3956c767e84a6bf2f6f3e28273a60a50dba0b6eae47c950cc WHIRLPOOL 9c99df19cac4bd396cd8f092a97ddb8eabbb52fa5057a149063309482d207f4178714f2ee42db0177f446165c93c59ba496b8f201c38326096ccd8cf809da0f8
|
||||
EBUILD ted-2.23.ebuild 1424 SHA256 c88a8c26c156e43d22249dcdd753ce06ee8559d1a2123773e78f54b62d517952 SHA512 596060e9dc1e85127245eb8677a519b38bf89cfb24ba6969c0a18138a6448acdc1446dbae825401962f09be456116856693aa162f73270e042bc8c3cb90dc2da WHIRLPOOL 68778174bf162072cd16b80e9c1f72b8478fd612df4717b8894249827422b61a42a05e8563c69d477ba4830c74e186219231e99fd94e71aa469b3682cabe03a9
|
||||
MISC ChangeLog 7129 SHA256 4f980ed20e22c1de243043b296b16b4cb52a048168a7209ca51c7cc65efa0874 SHA512 0841d28ca75eb59c15d08fcfc9f5c136bfd1569903b8b95640c1a0eb1398b5e732962195cdb1a0d695249149a309eee16aceae1391f99b52096d9d2b5acabdc5 WHIRLPOOL 80e4b1d14514fc44630b50727b53a72f23a2104e2a4e0574aa3281085f256a5cc9a243bb283d5c9d1f9a513f97af9d08110ddcb6f777dabd76d3d125a8d751ec
|
||||
MISC metadata.xml 214 SHA256 0e019c1dee563e5b23815be471ae1b65fcaf721a91ec48037446d41ca787d3e5 SHA512 701b8c51f43f8660d40700929c243a2dae9f19dcbc7b8eca877e20eadc1ae2e0c84f7c7d8c3cb576055c1a49a55e9c759ef469eeda67026ce252d341937f6691 WHIRLPOOL 977119e736e0795137df14faae681f7fa07ba8297a19ef4a7d7b93de7efceaed16f7103f179a762be41b8849c33c535b55d16d2fd0ea795df0525592752e0156
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.19 (GNU/Linux)
|
||||
|
||||
iQEcBAEBCAAGBQJRWVtXAAoJECo/aRed9267ByMH+wfZ6ZCfAseEuxKY0ia5Yh9o
|
||||
8p+C2mIX6wJCi5J2P6lnsQA62KQpL+tk0J6+rjMU7Pd/uzagnTR5S2D7oWtJ3dA+
|
||||
cjufa0OsS71XUow/Km8+coUWCoCnMOAXDcPyoHqYQ9+a48yatGkFg/Ip0+xxj2VH
|
||||
X67l/eRc5jVRZx/lnoxGEdb5xQWXYiLOSmB+E58J5EKG1yfIaztL2UreSt0gw1RL
|
||||
aXmWljVc5DIq/jwVbfmTvkLL0Xbo82z6NOM4kneAuuKwzm1dV9bEQ66yR1GCWfk0
|
||||
TgNRB1/vY5wvL+yVIJXNoLdPiR2c5KwzQhix2TehTxKNAiqaN6Qe29jbzjph9rM=
|
||||
=dO1D
|
||||
iQIcBAEBCgAGBQJRmhnGAAoJELp701BxlEWfBygQAKRAhbc0Np5seY3SWlh6ubgG
|
||||
Rgt2i15agy+LQ4zobxPt6feJUgVedSKhn74gdIyadI2RyAEm3jsoCnTJo629eGhr
|
||||
0ohDF9DG3eO+oc57TpGZ/1irLrxRz5Do7a5MemcXnJkElqvNwObu09ONNk46+Hqc
|
||||
HuR4V7Drp2TUuzV2/gmMFAq3wbQQP8dIs/9YhX/OPO87RPaPFz/GbU8HT40rD1/r
|
||||
4zqLyZmFLwLG+m5lw578uUcGoaZeT1aryv2ntAyxypO+4wpfi/veLbqyGZLYj011
|
||||
exs4RtwsKarmzo6uxWElkgrCnGujBk/FoON+ohW3ehXNgSm8jx5rdC1J1Z3YiWJ5
|
||||
d2Ka7HqMyUN4EC+622RS9gIm0IdS37aJ6zi3JBntoO+3T+Vr2dpVmx5ItQEI2/R0
|
||||
rzIZeynPik0hH1bpqyJNnR9yK4XJrpJJEtYUv2AWyfhxaURvznd8NiCPETba8un6
|
||||
KgzLFsC5EMEhbfuqra+8IC0a45GEEDCMNpDgawcAHUxBzwIhBpIcJ58l8jMG1FVW
|
||||
51C0r2QNICPvll5M01eH+RYBninQGBQEojvUnnjbqELsZ6d6G35ESd7c7urZTXkd
|
||||
79NcAjKxyu/iVfpYgrNspZVCXeGu2ofqXO6SL25AnHWTo5ADF+2jM97MkAYQlphy
|
||||
oO5huAJ6UrmyA73RLJYN
|
||||
=ys6T
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-editors/zile/zile-2.4.8.ebuild,v 1.3 2012/11/02 07:48:34 ulm Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
DESCRIPTION="Zile is a small Emacs clone"
|
||||
HOMEPAGE="http://www.gnu.org/software/zile/"
|
||||
SRC_URI="mirror://gnu/zile/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
|
||||
IUSE="acl test"
|
||||
|
||||
RDEPEND="dev-libs/boehm-gc
|
||||
sys-libs/ncurses
|
||||
acl? ( virtual/acl )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-lang/perl )"
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--docdir="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
--disable-silent-rules \
|
||||
$(use_enable acl)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
# AUTHORS, FAQ, and NEWS are installed by the build system
|
||||
dodoc README THANKS
|
||||
|
||||
# Zile should never install charset.alias (even on non-glibc arches)
|
||||
rm -f "${ED}"/usr/lib/charset.alias
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
diff --git a/tools/ocaml/libs/xb/partial.ml b/tools/ocaml/libs/xb/partial.ml
|
||||
index 3558889..d4d1c7b 100644
|
||||
--- a/tools/ocaml/libs/xb/partial.ml
|
||||
+++ b/tools/ocaml/libs/xb/partial.ml
|
||||
@@ -27,8 +27,15 @@ external header_size: unit -> int = "stub_header_size"
|
||||
external header_of_string_internal: string -> int * int * int * int
|
||||
= "stub_header_of_string"
|
||||
|
||||
+let xenstore_payload_max = 4096 (* xen/include/public/io/xs_wire.h *)
|
||||
+
|
||||
let of_string s =
|
||||
let tid, rid, opint, dlen = header_of_string_internal s in
|
||||
+ (* A packet which is bigger than xenstore_payload_max is illegal.
|
||||
+ This will leave the guest connection is a bad state and will
|
||||
+ be hard to recover from without restarting the connection
|
||||
+ (ie rebooting the guest) *)
|
||||
+ let dlen = min xenstore_payload_max dlen in
|
||||
{
|
||||
tid = tid;
|
||||
rid = rid;
|
||||
@@ -38,6 +45,7 @@ let of_string s =
|
||||
}
|
||||
|
||||
let append pkt s sz =
|
||||
+ if pkt.len > 4096 then failwith "Buffer.add: cannot grow buffer";
|
||||
Buffer.add_string pkt.buf (String.sub s 0 sz)
|
||||
|
||||
let to_complete pkt =
|
||||
diff --git a/tools/ocaml/libs/xb/xs_ring_stubs.c b/tools/ocaml/libs/xb/xs_ring_stubs.c
|
||||
index 00414c5..4888ac5 100644
|
||||
--- a/tools/ocaml/libs/xb/xs_ring_stubs.c
|
||||
+++ b/tools/ocaml/libs/xb/xs_ring_stubs.c
|
||||
@@ -39,21 +39,23 @@ static int xs_ring_read(struct mmap_interface *interface,
|
||||
char *buffer, int len)
|
||||
{
|
||||
struct xenstore_domain_interface *intf = interface->addr;
|
||||
- XENSTORE_RING_IDX cons, prod;
|
||||
+ XENSTORE_RING_IDX cons, prod; /* offsets only */
|
||||
int to_read;
|
||||
|
||||
- cons = intf->req_cons;
|
||||
- prod = intf->req_prod;
|
||||
+ cons = *(volatile uint32*)&intf->req_cons;
|
||||
+ prod = *(volatile uint32*)&intf->req_prod;
|
||||
xen_mb();
|
||||
+ cons = MASK_XENSTORE_IDX(cons);
|
||||
+ prod = MASK_XENSTORE_IDX(prod);
|
||||
if (prod == cons)
|
||||
return 0;
|
||||
- if (MASK_XENSTORE_IDX(prod) > MASK_XENSTORE_IDX(cons))
|
||||
+ if (prod > cons)
|
||||
to_read = prod - cons;
|
||||
else
|
||||
- to_read = XENSTORE_RING_SIZE - MASK_XENSTORE_IDX(cons);
|
||||
+ to_read = XENSTORE_RING_SIZE - cons;
|
||||
if (to_read < len)
|
||||
len = to_read;
|
||||
- memcpy(buffer, intf->req + MASK_XENSTORE_IDX(cons), len);
|
||||
+ memcpy(buffer, intf->req + cons, len);
|
||||
xen_mb();
|
||||
intf->req_cons += len;
|
||||
return len;
|
||||
@@ -66,8 +68,8 @@ static int xs_ring_write(struct mmap_interface *interface,
|
||||
XENSTORE_RING_IDX cons, prod;
|
||||
int can_write;
|
||||
|
||||
- cons = intf->rsp_cons;
|
||||
- prod = intf->rsp_prod;
|
||||
+ cons = *(volatile uint32*)&intf->rsp_cons;
|
||||
+ prod = *(volatile uint32*)&intf->rsp_prod;
|
||||
xen_mb();
|
||||
if ( (prod - cons) >= XENSTORE_RING_SIZE )
|
||||
return 0;
|
@ -0,0 +1,293 @@
|
||||
x86: fix various issues with handling guest IRQs
|
||||
|
||||
- properly revoke IRQ access in map_domain_pirq() error path
|
||||
- don't permit replacing an in use IRQ
|
||||
- don't accept inputs in the GSI range for MAP_PIRQ_TYPE_MSI
|
||||
- track IRQ access permission in host IRQ terms, not guest IRQ ones
|
||||
(and with that, also disallow Dom0 access to IRQ0)
|
||||
|
||||
This is CVE-2013-1919 / XSA-46.
|
||||
|
||||
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
||||
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
|
||||
|
||||
--- a/tools/libxl/libxl_create.c
|
||||
+++ b/tools/libxl/libxl_create.c
|
||||
@@ -968,14 +968,16 @@ static void domcreate_launch_dm(libxl__e
|
||||
}
|
||||
|
||||
for (i = 0; i < d_config->b_info.num_irqs; i++) {
|
||||
- uint32_t irq = d_config->b_info.irqs[i];
|
||||
+ int irq = d_config->b_info.irqs[i];
|
||||
|
||||
- LOG(DEBUG, "dom%d irq %"PRIx32, domid, irq);
|
||||
+ LOG(DEBUG, "dom%d irq %d", domid, irq);
|
||||
|
||||
- ret = xc_domain_irq_permission(CTX->xch, domid, irq, 1);
|
||||
+ ret = irq >= 0 ? xc_physdev_map_pirq(CTX->xch, domid, irq, &irq)
|
||||
+ : -EOVERFLOW;
|
||||
+ if (!ret)
|
||||
+ ret = xc_domain_irq_permission(CTX->xch, domid, irq, 1);
|
||||
if ( ret<0 ){
|
||||
- LOGE(ERROR,
|
||||
- "failed give dom%d access to irq %"PRId32, domid, irq);
|
||||
+ LOGE(ERROR, "failed give dom%d access to irq %d", domid, irq);
|
||||
ret = ERROR_FAIL;
|
||||
}
|
||||
}
|
||||
--- a/tools/python/xen/xend/server/irqif.py
|
||||
+++ b/tools/python/xen/xend/server/irqif.py
|
||||
@@ -73,6 +73,12 @@ class IRQController(DevController):
|
||||
|
||||
pirq = get_param('irq')
|
||||
|
||||
+ rc = xc.physdev_map_pirq(domid = self.getDomid(),
|
||||
+ index = pirq,
|
||||
+ pirq = pirq)
|
||||
+ if rc < 0:
|
||||
+ raise VmError('irq: Failed to map irq %x' % (pirq))
|
||||
+
|
||||
rc = xc.domain_irq_permission(domid = self.getDomid(),
|
||||
pirq = pirq,
|
||||
allow_access = True)
|
||||
@@ -81,12 +87,6 @@ class IRQController(DevController):
|
||||
#todo non-fatal
|
||||
raise VmError(
|
||||
'irq: Failed to configure irq: %d' % (pirq))
|
||||
- rc = xc.physdev_map_pirq(domid = self.getDomid(),
|
||||
- index = pirq,
|
||||
- pirq = pirq)
|
||||
- if rc < 0:
|
||||
- raise VmError(
|
||||
- 'irq: Failed to map irq %x' % (pirq))
|
||||
back = dict([(k, config[k]) for k in self.valid_cfg if k in config])
|
||||
return (self.allocateDeviceID(), back, {})
|
||||
|
||||
--- a/xen/arch/x86/domain_build.c
|
||||
+++ b/xen/arch/x86/domain_build.c
|
||||
@@ -1219,7 +1219,7 @@ int __init construct_dom0(
|
||||
/* DOM0 is permitted full I/O capabilities. */
|
||||
rc |= ioports_permit_access(dom0, 0, 0xFFFF);
|
||||
rc |= iomem_permit_access(dom0, 0UL, ~0UL);
|
||||
- rc |= irqs_permit_access(dom0, 0, d->nr_pirqs - 1);
|
||||
+ rc |= irqs_permit_access(dom0, 1, nr_irqs_gsi - 1);
|
||||
|
||||
/*
|
||||
* Modify I/O port access permissions.
|
||||
--- a/xen/arch/x86/domctl.c
|
||||
+++ b/xen/arch/x86/domctl.c
|
||||
@@ -772,9 +772,13 @@ long arch_do_domctl(
|
||||
goto bind_out;
|
||||
|
||||
ret = -EPERM;
|
||||
- if ( !IS_PRIV(current->domain) &&
|
||||
- !irq_access_permitted(current->domain, bind->machine_irq) )
|
||||
- goto bind_out;
|
||||
+ if ( !IS_PRIV(current->domain) )
|
||||
+ {
|
||||
+ int irq = domain_pirq_to_irq(d, bind->machine_irq);
|
||||
+
|
||||
+ if ( irq <= 0 || !irq_access_permitted(current->domain, irq) )
|
||||
+ goto bind_out;
|
||||
+ }
|
||||
|
||||
ret = -ESRCH;
|
||||
if ( iommu_enabled )
|
||||
@@ -803,9 +807,13 @@ long arch_do_domctl(
|
||||
bind = &(domctl->u.bind_pt_irq);
|
||||
|
||||
ret = -EPERM;
|
||||
- if ( !IS_PRIV(current->domain) &&
|
||||
- !irq_access_permitted(current->domain, bind->machine_irq) )
|
||||
- goto unbind_out;
|
||||
+ if ( !IS_PRIV(current->domain) )
|
||||
+ {
|
||||
+ int irq = domain_pirq_to_irq(d, bind->machine_irq);
|
||||
+
|
||||
+ if ( irq <= 0 || !irq_access_permitted(current->domain, irq) )
|
||||
+ goto unbind_out;
|
||||
+ }
|
||||
|
||||
if ( iommu_enabled )
|
||||
{
|
||||
--- a/xen/arch/x86/irq.c
|
||||
+++ b/xen/arch/x86/irq.c
|
||||
@@ -184,6 +184,14 @@ int create_irq(int node)
|
||||
desc->arch.used = IRQ_UNUSED;
|
||||
irq = ret;
|
||||
}
|
||||
+ else if ( dom0 )
|
||||
+ {
|
||||
+ ret = irq_permit_access(dom0, irq);
|
||||
+ if ( ret )
|
||||
+ printk(XENLOG_G_ERR
|
||||
+ "Could not grant Dom0 access to IRQ%d (error %d)\n",
|
||||
+ irq, ret);
|
||||
+ }
|
||||
|
||||
return irq;
|
||||
}
|
||||
@@ -280,6 +288,17 @@ void clear_irq_vector(int irq)
|
||||
void destroy_irq(unsigned int irq)
|
||||
{
|
||||
BUG_ON(!MSI_IRQ(irq));
|
||||
+
|
||||
+ if ( dom0 )
|
||||
+ {
|
||||
+ int err = irq_deny_access(dom0, irq);
|
||||
+
|
||||
+ if ( err )
|
||||
+ printk(XENLOG_G_ERR
|
||||
+ "Could not revoke Dom0 access to IRQ%u (error %d)\n",
|
||||
+ irq, err);
|
||||
+ }
|
||||
+
|
||||
dynamic_irq_cleanup(irq);
|
||||
clear_irq_vector(irq);
|
||||
}
|
||||
@@ -1858,7 +1877,7 @@ int map_domain_pirq(
|
||||
|
||||
if ( !IS_PRIV(current->domain) &&
|
||||
!(IS_PRIV_FOR(current->domain, d) &&
|
||||
- irq_access_permitted(current->domain, pirq)))
|
||||
+ irq_access_permitted(current->domain, irq)))
|
||||
return -EPERM;
|
||||
|
||||
if ( pirq < 0 || pirq >= d->nr_pirqs || irq < 0 || irq >= nr_irqs )
|
||||
@@ -1887,17 +1906,18 @@ int map_domain_pirq(
|
||||
return ret;
|
||||
}
|
||||
|
||||
- ret = irq_permit_access(d, pirq);
|
||||
+ ret = irq_permit_access(d, irq);
|
||||
if ( ret )
|
||||
{
|
||||
- dprintk(XENLOG_G_ERR, "dom%d: could not permit access to irq %d\n",
|
||||
- d->domain_id, pirq);
|
||||
+ printk(XENLOG_G_ERR
|
||||
+ "dom%d: could not permit access to IRQ%d (pirq %d)\n",
|
||||
+ d->domain_id, irq, pirq);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = prepare_domain_irq_pirq(d, irq, pirq, &info);
|
||||
if ( ret )
|
||||
- return ret;
|
||||
+ goto revoke;
|
||||
|
||||
desc = irq_to_desc(irq);
|
||||
|
||||
@@ -1921,8 +1941,14 @@ int map_domain_pirq(
|
||||
spin_lock_irqsave(&desc->lock, flags);
|
||||
|
||||
if ( desc->handler != &no_irq_type )
|
||||
+ {
|
||||
+ spin_unlock_irqrestore(&desc->lock, flags);
|
||||
dprintk(XENLOG_G_ERR, "dom%d: irq %d in use\n",
|
||||
d->domain_id, irq);
|
||||
+ pci_disable_msi(msi_desc);
|
||||
+ ret = -EBUSY;
|
||||
+ goto done;
|
||||
+ }
|
||||
setup_msi_handler(desc, msi_desc);
|
||||
|
||||
if ( opt_irq_vector_map == OPT_IRQ_VECTOR_MAP_PERDEV
|
||||
@@ -1951,7 +1977,14 @@ int map_domain_pirq(
|
||||
|
||||
done:
|
||||
if ( ret )
|
||||
+ {
|
||||
cleanup_domain_irq_pirq(d, irq, info);
|
||||
+ revoke:
|
||||
+ if ( irq_deny_access(d, irq) )
|
||||
+ printk(XENLOG_G_ERR
|
||||
+ "dom%d: could not revoke access to IRQ%d (pirq %d)\n",
|
||||
+ d->domain_id, irq, pirq);
|
||||
+ }
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -2017,10 +2050,11 @@ int unmap_domain_pirq(struct domain *d,
|
||||
if ( !forced_unbind )
|
||||
cleanup_domain_irq_pirq(d, irq, info);
|
||||
|
||||
- ret = irq_deny_access(d, pirq);
|
||||
+ ret = irq_deny_access(d, irq);
|
||||
if ( ret )
|
||||
- dprintk(XENLOG_G_ERR, "dom%d: could not deny access to irq %d\n",
|
||||
- d->domain_id, pirq);
|
||||
+ printk(XENLOG_G_ERR
|
||||
+ "dom%d: could not deny access to IRQ%d (pirq %d)\n",
|
||||
+ d->domain_id, irq, pirq);
|
||||
|
||||
done:
|
||||
return ret;
|
||||
--- a/xen/arch/x86/physdev.c
|
||||
+++ b/xen/arch/x86/physdev.c
|
||||
@@ -147,7 +147,7 @@ int physdev_map_pirq(domid_t domid, int
|
||||
if ( irq == -1 )
|
||||
irq = create_irq(NUMA_NO_NODE);
|
||||
|
||||
- if ( irq < 0 || irq >= nr_irqs )
|
||||
+ if ( irq < nr_irqs_gsi || irq >= nr_irqs )
|
||||
{
|
||||
dprintk(XENLOG_G_ERR, "dom%d: can't create irq for msi!\n",
|
||||
d->domain_id);
|
||||
--- a/xen/common/domctl.c
|
||||
+++ b/xen/common/domctl.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <xen/paging.h>
|
||||
#include <xen/hypercall.h>
|
||||
#include <asm/current.h>
|
||||
+#include <asm/irq.h>
|
||||
#include <asm/page.h>
|
||||
#include <public/domctl.h>
|
||||
#include <xsm/xsm.h>
|
||||
@@ -897,9 +898,9 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc
|
||||
else if ( xsm_irq_permission(d, pirq, allow) )
|
||||
ret = -EPERM;
|
||||
else if ( allow )
|
||||
- ret = irq_permit_access(d, pirq);
|
||||
+ ret = pirq_permit_access(d, pirq);
|
||||
else
|
||||
- ret = irq_deny_access(d, pirq);
|
||||
+ ret = pirq_deny_access(d, pirq);
|
||||
|
||||
rcu_unlock_domain(d);
|
||||
}
|
||||
--- a/xen/common/event_channel.c
|
||||
+++ b/xen/common/event_channel.c
|
||||
@@ -369,7 +369,7 @@ static long evtchn_bind_pirq(evtchn_bind
|
||||
if ( (pirq < 0) || (pirq >= d->nr_pirqs) )
|
||||
return -EINVAL;
|
||||
|
||||
- if ( !is_hvm_domain(d) && !irq_access_permitted(d, pirq) )
|
||||
+ if ( !is_hvm_domain(d) && !pirq_access_permitted(d, pirq) )
|
||||
return -EPERM;
|
||||
|
||||
spin_lock(&d->event_lock);
|
||||
--- a/xen/include/xen/iocap.h
|
||||
+++ b/xen/include/xen/iocap.h
|
||||
@@ -28,4 +28,22 @@
|
||||
#define irq_access_permitted(d, i) \
|
||||
rangeset_contains_singleton((d)->irq_caps, i)
|
||||
|
||||
+#define pirq_permit_access(d, i) ({ \
|
||||
+ struct domain *d__ = (d); \
|
||||
+ int i__ = domain_pirq_to_irq(d__, i); \
|
||||
+ i__ > 0 ? rangeset_add_singleton(d__->irq_caps, i__)\
|
||||
+ : -EINVAL; \
|
||||
+})
|
||||
+#define pirq_deny_access(d, i) ({ \
|
||||
+ struct domain *d__ = (d); \
|
||||
+ int i__ = domain_pirq_to_irq(d__, i); \
|
||||
+ i__ > 0 ? rangeset_remove_singleton(d__->irq_caps, i__)\
|
||||
+ : -EINVAL; \
|
||||
+})
|
||||
+#define pirq_access_permitted(d, i) ({ \
|
||||
+ struct domain *d__ = (d); \
|
||||
+ rangeset_contains_singleton(d__->irq_caps, \
|
||||
+ domain_pirq_to_irq(d__, i));\
|
||||
+})
|
||||
+
|
||||
#endif /* __XEN_IOCAP_H__ */
|
@ -0,0 +1,114 @@
|
||||
Add -f FMT / --format FMT arg to qemu-nbd
|
||||
|
||||
From: "Daniel P. Berrange" <berrange@redhat.com>
|
||||
|
||||
Currently the qemu-nbd program will auto-detect the format of
|
||||
any disk it is given. This behaviour is known to be insecure.
|
||||
For example, if qemu-nbd initially exposes a 'raw' file to an
|
||||
unprivileged app, and that app runs
|
||||
|
||||
'qemu-img create -f qcow2 -o backing_file=/etc/shadow /dev/nbd0'
|
||||
|
||||
then the next time the app is started, the qemu-nbd will now
|
||||
detect it as a 'qcow2' file and expose /etc/shadow to the
|
||||
unprivileged app.
|
||||
|
||||
The only way to avoid this is to explicitly tell qemu-nbd what
|
||||
disk format to use on the command line, completely disabling
|
||||
auto-detection. This patch adds a '-f' / '--format' arg for
|
||||
this purpose, mirroring what is already available via qemu-img
|
||||
and qemu commands.
|
||||
|
||||
qemu-nbd --format raw -p 9000 evil.img
|
||||
|
||||
will now always use raw, regardless of what format 'evil.img'
|
||||
looks like it contains
|
||||
|
||||
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
||||
[Use errx, not err. - Paolo]
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
|
||||
|
||||
[ This is a security issue, CVE-2013-1922 / XSA-48. ]
|
||||
|
||||
diff --git a/qemu-nbd.c b/qemu-nbd.c
|
||||
index 291cba2..8fbe2cf 100644
|
||||
--- a/tools/qemu-xen/qemu-nbd.c
|
||||
+++ b/tools/qemu-xen/qemu-nbd.c
|
||||
@@ -247,6 +247,7 @@ out:
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
BlockDriverState *bs;
|
||||
+ BlockDriver *drv;
|
||||
off_t dev_offset = 0;
|
||||
off_t offset = 0;
|
||||
uint32_t nbdflags = 0;
|
||||
@@ -256,7 +257,7 @@ int main(int argc, char **argv)
|
||||
struct sockaddr_in addr;
|
||||
socklen_t addr_len = sizeof(addr);
|
||||
off_t fd_size;
|
||||
- const char *sopt = "hVb:o:p:rsnP:c:dvk:e:t";
|
||||
+ const char *sopt = "hVb:o:p:rsnP:c:dvk:e:f:t";
|
||||
struct option lopt[] = {
|
||||
{ "help", 0, NULL, 'h' },
|
||||
{ "version", 0, NULL, 'V' },
|
||||
@@ -271,6 +272,7 @@ int main(int argc, char **argv)
|
||||
{ "snapshot", 0, NULL, 's' },
|
||||
{ "nocache", 0, NULL, 'n' },
|
||||
{ "shared", 1, NULL, 'e' },
|
||||
+ { "format", 1, NULL, 'f' },
|
||||
{ "persistent", 0, NULL, 't' },
|
||||
{ "verbose", 0, NULL, 'v' },
|
||||
{ NULL, 0, NULL, 0 }
|
||||
@@ -292,6 +294,7 @@ int main(int argc, char **argv)
|
||||
int max_fd;
|
||||
int persistent = 0;
|
||||
pthread_t client_thread;
|
||||
+ const char *fmt = NULL;
|
||||
|
||||
/* The client thread uses SIGTERM to interrupt the server. A signal
|
||||
* handler ensures that "qemu-nbd -v -c" exits with a nice status code.
|
||||
@@ -368,6 +371,9 @@ int main(int argc, char **argv)
|
||||
errx(EXIT_FAILURE, "Shared device number must be greater than 0\n");
|
||||
}
|
||||
break;
|
||||
+ case 'f':
|
||||
+ fmt = optarg;
|
||||
+ break;
|
||||
case 't':
|
||||
persistent = 1;
|
||||
break;
|
||||
@@ -478,9 +484,19 @@ int main(int argc, char **argv)
|
||||
bdrv_init();
|
||||
atexit(bdrv_close_all);
|
||||
|
||||
+ if (fmt) {
|
||||
+ drv = bdrv_find_format(fmt);
|
||||
+ if (!drv) {
|
||||
+ errx(EXIT_FAILURE, "Unknown file format '%s'", fmt);
|
||||
+ }
|
||||
+ } else {
|
||||
+ drv = NULL;
|
||||
+ }
|
||||
+
|
||||
bs = bdrv_new("hda");
|
||||
srcpath = argv[optind];
|
||||
- if ((ret = bdrv_open(bs, srcpath, flags, NULL)) < 0) {
|
||||
+ ret = bdrv_open(bs, srcpath, flags, drv);
|
||||
+ if (ret < 0) {
|
||||
errno = -ret;
|
||||
err(EXIT_FAILURE, "Failed to bdrv_open '%s'", argv[optind]);
|
||||
}
|
||||
diff --git a/qemu-nbd.texi b/qemu-nbd.texi
|
||||
index 44996cc..f56c68e 100644
|
||||
--- a/tools/qemu-xen/qemu-nbd.texi
|
||||
+++ b/tools/qemu-xen/qemu-nbd.texi
|
||||
@@ -36,6 +36,8 @@ Export Qemu disk image using NBD protocol.
|
||||
disconnect the specified device
|
||||
@item -e, --shared=@var{num}
|
||||
device can be shared by @var{num} clients (default @samp{1})
|
||||
+@item -f, --format=@var{fmt}
|
||||
+ force block driver for format @var{fmt} instead of auto-detecting
|
||||
@item -t, --persistent
|
||||
don't exit on the last connection
|
||||
@item -v, --verbose
|
@ -0,0 +1,50 @@
|
||||
VT-d: don't permit SVT_NO_VERIFY entries for known device types
|
||||
|
||||
Only in cases where we don't know what to do we should leave the IRTE
|
||||
blank (suppressing all validation), but we should always log a warning
|
||||
in those cases (as being insecure).
|
||||
|
||||
This is CVE-2013-1952 / XSA-49.
|
||||
|
||||
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
||||
Acked-by: "Zhang, Xiantao" <xiantao.zhang@intel.com>
|
||||
|
||||
--- a/xen/drivers/passthrough/vtd/intremap.c
|
||||
+++ b/xen/drivers/passthrough/vtd/intremap.c
|
||||
@@ -440,16 +440,15 @@ static void set_msi_source_id(struct pci
|
||||
type = pdev_type(seg, bus, devfn);
|
||||
switch ( type )
|
||||
{
|
||||
+ case DEV_TYPE_PCIe_ENDPOINT:
|
||||
case DEV_TYPE_PCIe_BRIDGE:
|
||||
case DEV_TYPE_PCIe2PCI_BRIDGE:
|
||||
- case DEV_TYPE_LEGACY_PCI_BRIDGE:
|
||||
- break;
|
||||
-
|
||||
- case DEV_TYPE_PCIe_ENDPOINT:
|
||||
set_ire_sid(ire, SVT_VERIFY_SID_SQ, SQ_ALL_16, PCI_BDF2(bus, devfn));
|
||||
break;
|
||||
|
||||
case DEV_TYPE_PCI:
|
||||
+ case DEV_TYPE_LEGACY_PCI_BRIDGE:
|
||||
+ /* case DEV_TYPE_PCI2PCIe_BRIDGE: */
|
||||
ret = find_upstream_bridge(seg, &bus, &devfn, &secbus);
|
||||
if ( ret == 0 ) /* integrated PCI device */
|
||||
{
|
||||
@@ -461,10 +460,15 @@ static void set_msi_source_id(struct pci
|
||||
if ( pdev_type(seg, bus, devfn) == DEV_TYPE_PCIe2PCI_BRIDGE )
|
||||
set_ire_sid(ire, SVT_VERIFY_BUS, SQ_ALL_16,
|
||||
(bus << 8) | pdev->bus);
|
||||
- else if ( pdev_type(seg, bus, devfn) == DEV_TYPE_LEGACY_PCI_BRIDGE )
|
||||
+ else
|
||||
set_ire_sid(ire, SVT_VERIFY_SID_SQ, SQ_ALL_16,
|
||||
PCI_BDF2(bus, devfn));
|
||||
}
|
||||
+ else
|
||||
+ dprintk(XENLOG_WARNING VTDPREFIX,
|
||||
+ "d%d: no upstream bridge for %04x:%02x:%02x.%u\n",
|
||||
+ pdev->domain->domain_id,
|
||||
+ seg, bus, PCI_SLOT(devfn), PCI_FUNC(devfn));
|
||||
break;
|
||||
|
||||
default:
|
@ -0,0 +1,41 @@
|
||||
diff -ur xen-4.2.1.orig/xen/drivers/passthrough/vtd/intremap.c xen-4.2.1/xen/drivers/passthrough/vtd/intremap.c
|
||||
--- xen/drivers/passthrough/vtd/intremap.c 2012-12-17 23:01:55.000000000 +0800
|
||||
+++ xen/drivers/passthrough/vtd/intremap.c 2013-05-15 23:09:06.704546506 +0800
|
||||
@@ -440,16 +440,17 @@
|
||||
type = pdev_type(seg, bus, devfn);
|
||||
switch ( type )
|
||||
{
|
||||
+ case DEV_TYPE_PCIe_ENDPOINT:
|
||||
case DEV_TYPE_PCIe_BRIDGE:
|
||||
case DEV_TYPE_PCIe2PCI_BRIDGE:
|
||||
- case DEV_TYPE_LEGACY_PCI_BRIDGE:
|
||||
- break;
|
||||
|
||||
- case DEV_TYPE_PCIe_ENDPOINT:
|
||||
set_ire_sid(ire, SVT_VERIFY_SID_SQ, SQ_ALL_16, PCI_BDF2(bus, devfn));
|
||||
break;
|
||||
|
||||
case DEV_TYPE_PCI:
|
||||
+ case DEV_TYPE_LEGACY_PCI_BRIDGE:
|
||||
+ /* case DEV_TYPE_PCI2PCIe_BRIDGE: */
|
||||
+
|
||||
ret = find_upstream_bridge(seg, &bus, &devfn, &secbus);
|
||||
if ( ret == 0 ) /* integrated PCI device */
|
||||
{
|
||||
@@ -461,10 +462,15 @@
|
||||
if ( pdev_type(seg, bus, devfn) == DEV_TYPE_PCIe2PCI_BRIDGE )
|
||||
set_ire_sid(ire, SVT_VERIFY_BUS, SQ_ALL_16,
|
||||
(bus << 8) | pdev->bus);
|
||||
- else if ( pdev_type(seg, bus, devfn) == DEV_TYPE_LEGACY_PCI_BRIDGE )
|
||||
+ else
|
||||
set_ire_sid(ire, SVT_VERIFY_BUS, SQ_ALL_16,
|
||||
PCI_BDF2(bus, devfn));
|
||||
}
|
||||
+ else
|
||||
+ dprintk(XENLOG_WARNING VTDPREFIX,
|
||||
+ "d%d: no upstream bridge for %04x:%02x:%02x.%u\n",
|
||||
+ pdev->domain->domain_id,
|
||||
+ seg, bus, PCI_SLOT(devfn), PCI_FUNC(devfn));
|
||||
break;
|
||||
|
||||
default:
|
@ -0,0 +1,136 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-pvgrub/xen-pvgrub-4.2.1-r2.ebuild,v 1.1 2013/05/20 14:15:45 idella4 Exp $
|
||||
|
||||
EAPI=4
|
||||
PYTHON_DEPEND="2:2.6"
|
||||
|
||||
inherit flag-o-matic eutils multilib python toolchain-funcs
|
||||
|
||||
XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles"
|
||||
LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci
|
||||
GRUB_URL=mirror://gnu-alpha/grub
|
||||
SRC_URI="
|
||||
http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz
|
||||
$GRUB_URL/grub-0.97.tar.gz
|
||||
$XEN_EXTFILES_URL/zlib-1.2.3.tar.gz
|
||||
$LIBPCI_URL/pciutils-2.2.9.tar.bz2
|
||||
$XEN_EXTFILES_URL/lwip-1.3.0.tar.gz
|
||||
$XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz"
|
||||
|
||||
S="${WORKDIR}/xen-${PV}"
|
||||
|
||||
DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem"
|
||||
HOMEPAGE="http://xen.org/"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="custom-cflags"
|
||||
|
||||
DEPEND="sys-devel/gettext"
|
||||
|
||||
RDEPEND=">=app-emulation/xen-4.2.1"
|
||||
|
||||
pkg_setup() {
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
}
|
||||
|
||||
retar-externals() {
|
||||
# Purely to unclutter src_prepare
|
||||
local set="grub-0.97.tar.gz lwip-1.3.0.tar.gz newlib-1.16.0.tar.gz zlib-1.2.3.tar.gz"
|
||||
|
||||
# epatch can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative
|
||||
sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \
|
||||
-i "${WORKDIR}"/zlib-1.2.3/configure
|
||||
sed -e 's:^AR=ar rc:AR=ar:' \
|
||||
-e s':$(AR) $@:$(AR) rc $@:' \
|
||||
-i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in}
|
||||
einfo "zlib Makefile edited"
|
||||
|
||||
cd "${WORKDIR}"
|
||||
tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz
|
||||
tar czp grub-0.97 -f grub-0.97.tar.gz
|
||||
tar czp lwip -f lwip-1.3.0.tar.gz
|
||||
tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz
|
||||
mv $set "${S}"/stubdom/
|
||||
einfo "tarballs moved to source"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# if the user *really* wants to use their own custom-cflags, let them
|
||||
if use custom-cflags; then
|
||||
einfo "User wants their own CFLAGS - removing defaults"
|
||||
# try and remove all the default custom-cflags
|
||||
find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-i {} \;
|
||||
fi
|
||||
|
||||
# Patch the unmergeable newlib, fix most of the leftover gcc QA issues
|
||||
cp "${FILESDIR}"/newlib-implicits.patch stubdom || die
|
||||
|
||||
# Patch stubdom/Makefile to patch insource newlib & prevent internal downloading
|
||||
epatch "${FILESDIR}"/${P/-pvgrub/}-externals.patch
|
||||
|
||||
# Drop .config and Fix gcc-4.6
|
||||
epatch "${FILESDIR}"/${PN/-pvgrub/}-4-fix_dotconfig-gcc.patch
|
||||
|
||||
# fix jobserver in Makefile
|
||||
epatch "${FILESDIR}"/${PN/-pvgrub/}-4.2.0-jserver.patch
|
||||
|
||||
#Sec patch
|
||||
epatch "${FILESDIR}"/${PN/-pvgrub/}-4-CVE-2012-6075-XSA-41.patch \
|
||||
"${FILESDIR}"/xen-4-CVE-2013-0215-XSA-38.patch \
|
||||
"${FILESDIR}"/xen-4-CVE-2013-1919-XSA-46.patch \
|
||||
"${FILESDIR}"/xen-4-CVE-2013-1922-XSA-48.patch \
|
||||
"${FILESDIR}"/xen-4-CVE-2013-1952-XSA_49.patch
|
||||
|
||||
#Substitute for internal downloading. pciutils copied only due to the only .bz2
|
||||
cp $DISTDIR/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom"
|
||||
retar-externals || die "re-tar procedure failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
use custom-cflags || unset CFLAGS
|
||||
if test-flag-CC -fno-strict-overflow; then
|
||||
append-flags -fno-strict-overflow
|
||||
fi
|
||||
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include
|
||||
|
||||
if use x86; then
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
|
||||
XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub
|
||||
elif use amd64; then
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
|
||||
XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub
|
||||
if use multilib; then
|
||||
multilib_toolchain_setup x86
|
||||
emake CC="$(tc-getCC)" AR="$(tc-getAR)" \
|
||||
XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use x86; then
|
||||
emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub
|
||||
fi
|
||||
if use amd64; then
|
||||
emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub
|
||||
if use multilib; then
|
||||
emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the unoffical wiki page:"
|
||||
elog " http://www.gentoo.org/doc/en/xen-guide.xml"
|
||||
elog " http://en.gentoo-wiki.com/wiki/Xen/"
|
||||
}
|
@ -0,0 +1,134 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-pvgrub/xen-pvgrub-4.2.2.ebuild,v 1.1 2013/05/20 14:15:45 idella4 Exp $
|
||||
|
||||
EAPI=4
|
||||
PYTHON_DEPEND="2:2.6"
|
||||
|
||||
inherit flag-o-matic eutils multilib python toolchain-funcs
|
||||
|
||||
XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles"
|
||||
LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci
|
||||
GRUB_URL=mirror://gnu-alpha/grub
|
||||
SRC_URI="
|
||||
http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz
|
||||
$GRUB_URL/grub-0.97.tar.gz
|
||||
$XEN_EXTFILES_URL/zlib-1.2.3.tar.gz
|
||||
$LIBPCI_URL/pciutils-2.2.9.tar.bz2
|
||||
$XEN_EXTFILES_URL/lwip-1.3.0.tar.gz
|
||||
$XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz"
|
||||
|
||||
S="${WORKDIR}/xen-${PV}"
|
||||
|
||||
DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem"
|
||||
HOMEPAGE="http://xen.org/"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="custom-cflags"
|
||||
|
||||
DEPEND="sys-devel/gettext"
|
||||
|
||||
RDEPEND=">=app-emulation/xen-4.2.1"
|
||||
|
||||
pkg_setup() {
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
}
|
||||
|
||||
retar-externals() {
|
||||
# Purely to unclutter src_prepare
|
||||
local set="grub-0.97.tar.gz lwip-1.3.0.tar.gz newlib-1.16.0.tar.gz zlib-1.2.3.tar.gz"
|
||||
|
||||
# epatch can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative
|
||||
sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \
|
||||
-i "${WORKDIR}"/zlib-1.2.3/configure
|
||||
sed -e 's:^AR=ar rc:AR=ar:' \
|
||||
-e s':$(AR) $@:$(AR) rc $@:' \
|
||||
-i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in}
|
||||
einfo "zlib Makefile edited"
|
||||
|
||||
cd "${WORKDIR}"
|
||||
tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz
|
||||
tar czp grub-0.97 -f grub-0.97.tar.gz
|
||||
tar czp lwip -f lwip-1.3.0.tar.gz
|
||||
tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz
|
||||
mv $set "${S}"/stubdom/
|
||||
einfo "tarballs moved to source"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# if the user *really* wants to use their own custom-cflags, let them
|
||||
if use custom-cflags; then
|
||||
einfo "User wants their own CFLAGS - removing defaults"
|
||||
# try and remove all the default custom-cflags
|
||||
find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-i {} \;
|
||||
fi
|
||||
|
||||
# Patch the unmergeable newlib, fix most of the leftover gcc QA issues
|
||||
cp "${FILESDIR}"/newlib-implicits.patch stubdom || die
|
||||
|
||||
# Patch stubdom/Makefile to patch insource newlib & prevent internal downloading
|
||||
epatch "${FILESDIR}"/${PN/-pvgrub/}-4.2.1-externals.patch
|
||||
|
||||
# Drop .config and Fix gcc-4.6
|
||||
epatch "${FILESDIR}"/${PN/-pvgrub/}-4-fix_dotconfig-gcc.patch
|
||||
|
||||
# fix jobserver in Makefile
|
||||
epatch "${FILESDIR}"/${PN/-pvgrub/}-4.2.0-jserver.patch
|
||||
|
||||
#Sec patch
|
||||
epatch "${FILESDIR}"/${PN/-pvgrub/}-4-CVE-2012-6075-XSA-41.patch \
|
||||
"${FILESDIR}"/xen-4-CVE-2013-1922-XSA-48.patch \
|
||||
"${FILESDIR}"/xen-4-CVE-2013-1952-XSA-49.patch
|
||||
|
||||
#Substitute for internal downloading. pciutils copied only due to the only .bz2
|
||||
cp $DISTDIR/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom"
|
||||
retar-externals || die "re-tar procedure failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
use custom-cflags || unset CFLAGS
|
||||
if test-flag-CC -fno-strict-overflow; then
|
||||
append-flags -fno-strict-overflow
|
||||
fi
|
||||
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include
|
||||
|
||||
if use x86; then
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
|
||||
XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub
|
||||
elif use amd64; then
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
|
||||
XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub
|
||||
if use multilib; then
|
||||
multilib_toolchain_setup x86
|
||||
emake CC="$(tc-getCC)" AR="$(tc-getAR)" \
|
||||
XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use x86; then
|
||||
emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub
|
||||
fi
|
||||
if use amd64; then
|
||||
emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub
|
||||
if use multilib; then
|
||||
emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the unoffical wiki page:"
|
||||
elog " http://www.gentoo.org/doc/en/xen-guide.xml"
|
||||
elog " http://en.gentoo-wiki.com/wiki/Xen/"
|
||||
}
|
@ -1,20 +1,26 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
Hash: SHA512
|
||||
|
||||
AUX fixdos-1.3.1-gentoo-makefile.diff 328 SHA256 35867fb4726f18e916bdcfd7b87b192dbe682a28ab8315246a2d222407792df9 SHA512 2d175b42cfbe39eb6ef8edbb418fa83d875239d6e5d22e4987787a57c58494351976f0e32b2ca19d0f1a21650a6902998d44a8946fc33717c7c707d9e0125f8f WHIRLPOOL 1e358e5e1e474c08446cf1bbba1a1a05718d85a76216f133bbf1c840a2b1cb00b746455b3584ee8bb510f1bebf026cb4e66d468e628538b5a19924946d7a0b34
|
||||
DIST fixDos-1.3.1.tar.gz 15119 SHA256 e4b440ec832a6fcd2014027dfda50986ec581ba94b55d12fe594316ddb85fb61 SHA512 01416eb4b15942deaa0fab27c18e6b8acd72146125785a237714f15fcce0368b6000efe9bac3575a8c6a0bb1e9b2a167a0e13a05a39c1ea2db12b664e86bbd9b WHIRLPOOL b3b07d44e835c0651cd31c26f9fc398a8c115f54c5a67220d80f65c53ee2fa4fc7f5c123358b09623da408dc6430ec868e3b0ef6543ed8847bcb7c4f31b773df
|
||||
EBUILD fixdos-1.3.1-r1.ebuild 762 SHA256 8e745585aab5ca61bb4fe08d511b50f65d9ab0203f856b76f1431739154b7a79 SHA512 f66d52f8c1bdbd07ebdbf1dd87f7070359bfbc31e3bdf12fc58dd3e5f990c673a87f1450a87d391143a260b1fa1fb701c8aed07b942c1df4e56a8d54e03d29da WHIRLPOOL 5a3eba0532efaf8e9794a70b46bae52268ab2b16fbfeed6f542769b1b0a96790cb179a6204f9cbadd9eebd756f43761b7a816c33add6aaf9247194eb9b24d706
|
||||
EBUILD fixdos-1.3.1-r1.ebuild 755 SHA256 046814640bfb6efba4625c1f119f7e02e4a0aabafd1c23ec2c83014d6eaf4c7d SHA512 b9aa5cb40d613a5bb1a2e22339c179ca9dfdbe216dd618e0bcdea6ce229e2cee23addee569bb18fbfff06d8686da5b6761668566178f89439a0b3bb8928ad143 WHIRLPOOL 26da930e26a655fd498d0feb89f9796bb7d17c536d1dc643d2a82f8c3ea5f38c8ed07a24a34f25236d46fdf181b46a7cdd0044bf0922dbbd953788ea0f3a4955
|
||||
EBUILD fixdos-1.3.1.ebuild 759 SHA256 1c099e1b3b92fab12e47e20b54943e97c3378acd3eee695fc08e1d2a3f0d9160 SHA512 755743df05246a03740ac3a6d90f13ee017a35f0dd65f4e49e1b04cf858884d9b4135647ccf3d61c13eecd323b29e0d9186f8cb9975c1e0f0cb98694202fa06a WHIRLPOOL 4e97445d9205f0c4a3139c0a8d677bb2ecf5e11b40faa76f752a388af1fa654dbc9b26c889ac0ee923128801bd3813e06219b2505f98374abced663e55306228
|
||||
MISC ChangeLog 1868 SHA256 1cd63802c690275d1d83b49c7c9cf2c4be9fbd26c59df619d3b9511201d11e0c SHA512 f5078269e004bfad187777043c06cc8117c779118b155709e79d2b1a01cc7cd4265589fb7306088469ad0311a9930fff3efadf05ed9fc58934644aaec8545c0f WHIRLPOOL 6c91b01e7f4ed029f156452ea6b61e806f27ce4bf55329af12b23bc2a705f99592a80083a91a6b96683bfcce09ec49474d4d1d765f4999d7466d2f6a0cf088df
|
||||
MISC ChangeLog 2079 SHA256 09dcd51318b9cad86c45bccad1fe61316b9a4c65beb1362db377d10cbf5d8837 SHA512 a2281c8402617b564ee53d7032dbd56f5ed2a91363363318ccaa5c594d197c164841c9feb3e83388130cdd214676fabd6e04109f67c7d71a52e848e4c17b7037 WHIRLPOOL 4fb53e8fa35aa2c5ee22c70c995e021e3b335596c45f883d6efbc8f94b224b35da6ebab355df6a0004dbbb4da3e39b220fea16c62df4c6da0523d727bda4d18c
|
||||
MISC metadata.xml 165 SHA256 75ca85c472d4181ae0de529c83826baaebe75d9e750ee6621758b5096bceffcd SHA512 d99326d50355f1fa041618844027c043a114e7e63dec3c2d6c0c6023a5863bde8e62706bed974a394e21ce2e64ddf5539750c30e5913dacb39ed37cfd62e6eb3 WHIRLPOOL bb8b8cc1c4d9312dfe9015934c3c315a1ea6b9b6da2db22b231b434fd144ee7690ec2e242a1fba9c8e601610dc5cc9061c1995dd33c5b59c78a19a71f71d7a76
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.19 (GNU/Linux)
|
||||
|
||||
iQEcBAEBCAAGBQJRZAFnAAoJECo/aRed9267HywIAKB7C/vvKf3tYIKXSoPseKh2
|
||||
wKzU8RCm8IYnAnexfy+tEwMQldw9f+s7oWIxAi/1OPHql4RoIYtKUqttASYWfVOw
|
||||
kqEQh+MVtAN888UPaRWWD1MvRmlcdS5RhPH3Sh+1RcJjqZNtmpTDzLcQ0KgxC/6U
|
||||
EV4dWdIFOcWPSf3fDYmjKPt1de6ITu8EPY+uXSMo61bY9/7Jk2FD4fWnVVvXQ4tD
|
||||
HN8RcjGuqWlzXK46XLO8KdwbGodsAn/VaLKY1VjroFjSHMbaGcT2H8BAybQnFJHL
|
||||
AxszGljFrq/CvrgwdUfAeRNQhPo+tW+qW3fVLEEbKpzJmfwz6SLy92ST2d9t8as=
|
||||
=YTeX
|
||||
iQIcBAEBCgAGBQJRmhoEAAoJELp701BxlEWfjQkP/iiEVCOnhy3a/xeTXRVDyydB
|
||||
R16GMQd2BWjuxJbtsBpNznGILzd8Y6qAmTdrKd/9U90Iw6MRpsBIjijWw5kngtKv
|
||||
C+IF9kU9jE/paWUajKnV8EirHGlzGK7ZvGnNOCavCH1VqXhlpvFCx7do+UVq+DXA
|
||||
Re8+nAs37k6JAVFXUgGTn8qTMdB8olyNF0jYIBmKga8nwGk39jdTOPvzeLQMyreU
|
||||
XjCcsz20+mmUvap+uYjP8cDrcoCTTi9sCUSRSIGKW6n3sJo5Vqp+TFi4phxoUbEV
|
||||
LZAY0bEko+2nBeHaK95hKS4TwIDEDITdXDJh/WzCL1oxuWmJaCRUxi6I1roAmDgm
|
||||
SCBSjWGpslTN3Tjaw/RD7D11SRRkFjjHc5E8xneYfE5lGAR34n4Xad5u8WUDRamk
|
||||
qiCB5K9DAwf+pNnnhtGINh/9DGCuq9zzUVDN8ZfNexZMs6BABez4cVJfh1tK/blj
|
||||
Q2WYVhVVvA4fAIu+mzxyPV0hGWe1/DS3gc3OKUJ700FCyNZJ5G6nIwntj6r/QOWF
|
||||
bfLtedxVKH2/ws4TI4cpw5lRdwYBZjiYWcG9Wr86ccKrxJRbJSZEuE39acZgvL7k
|
||||
Sj0xqMC5nwYhAoEd/NhWuNoCRpGs1L/XOGL1et216GKFB6l26L3VQgDLlZs9frSe
|
||||
otYGCfz7VWayPSRvyVpz
|
||||
=nc3J
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -1,32 +1,16 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
Hash: SHA256
|
||||
|
||||
AUX nut-17.12-makefile.patch 227 SHA256 0e6f8c0adacf1cdf9ebf276208c93ba45226180808e38510483529705e5c9934 SHA512 b8354569645a513e4dcf59d4a642e4e7aac866e25c26da60e2ebf7671829d0e03e9ce753c15ea408a1fe8aff798d1ce601ea0a60b00959c2bf69f8f964a65f57 WHIRLPOOL 1de7d6014d7de78574c1c22050e16213211065db3fb78bfea70fd97b8e0f8dc841d3cd650bf4612357eae55367fc005f26ed380030b596bda51c69592c1490b0
|
||||
AUX nut-18.7-fltk-linking.patch 718 SHA256 8b7101d3b836bd1f8b0f7d04da9cb378fd2c80425ce52b4faab9790164d79dc0 SHA512 2eddfd92c57d29e7cab664e8f974204fc6dbfb99653dfb056d84f1f46a43aefccce0af03da39c024aa44d32fd3107a47e487fb080bf820db5b0baaf6f20c6ffc WHIRLPOOL 2663551d4f223315b8f88f9a2b64aff6b728175483be86892c93b4eb11f0596766333a3fed246ad9fe2a445e70772343b611da038abb688165cf8b7a318a5979
|
||||
DIST nut-18.5.tar.gz 1331213 SHA256 45c959fe2839a41726fde647b78175c45d4f0d9fb59dc8da1e828103b7fd5507 SHA512 d598532247611556cc4d8fb5d70bcbfc6978f8b1176a9c5a1ccf05df71fa50bac81045ff39c6ddb0344023fa128def12635c21da9b87876278159912a7eeab45 WHIRLPOOL 0c196a3afa40ae1cb31e987f4627d818ccc94166ea816930567ff7d728d862d8a372701747d8b197424aa61b653c866cc5878f7ac8a34b8a9bdcda8d28023cd9
|
||||
DIST nut-18.7.tar.gz 1337114 SHA256 0bd35bbb5daab52d0a0270ac1955651cfbfd2f053e171f98cf5fb5bac1a9cdfb SHA512 cdcbe69eb5e6bb53e32a2e00773d88a3dba2b38b966b337e9b95da29e4682cd6b71b401e58070e6f9e4b9573a01c0663a01af86737fe1b0dbd87a8a1ca7c1b49 WHIRLPOOL ff53d764c3d096c701b1f78d438c7c6de217f2082b53601e5ce2ce3a258b0ac2f36d3ede501f2a73f1aa3b3e758b3584583ccce04f9d46ebc1f179369ceb8437
|
||||
DIST nut-18.8.tar.gz 1337141 SHA256 1bd8d8ecd49318552399b467c550805784cca0c78eeee73b8c285c66ed79f182 SHA512 a6bcfb5c4550d6c9b3129e96fd21f46137130d79861b81d766eaaf6b2bc29cb7819bc9af5557476c2ec301dbcd16dbd102c5d14ac13300b79dc649991839765a WHIRLPOOL f21a793bec8d26ff4865e8297a8b7f53027f87aee60bec2a03d2c1e8b64f3e2ec38fdd1dc4a75ca558f9cc887168bf5f7d6771e8f455ddcad629b6d4ab54ba27
|
||||
DIST nut-18.9.tar.gz 1338133 SHA256 e0b5f5552ae2c0b9075163f33069d165de2d5cb686357055eef81955054ebc6f SHA512 396c5a09008313a3314b2c52eeca29b96f84593d2695dacd3b6ae7ac1f3d0a860a93f09fdbc519a24e86f7c886e4aacdaf22f657c19dbb70699aac59519df5a6 WHIRLPOOL 765303be1fea49a06069ace93292cddd4f9c2107d00e82f8071c6eeb31119388a1fc953f00554af5edabc0d7e0f5a6deba0f6d07e592d3a9d44797cc2344cdc7
|
||||
EBUILD nut-18.5.ebuild 716 SHA256 58ee9152cc9904d4219b91f7d323774ab160c65d36b1a6be437fd90514e0934a SHA512 c2f7c6dbff20e24dce433a6bd0ea8ca53c60887d3aba17429ad665d0aa8f102d3f071729c9001cc2025fe51508a621e0fb64665e9cec020176435fca2652855e WHIRLPOOL aaba551c1814207d760f96725d43e79a8c5b23cda662c3716b66acf6809f85258de0af34a904d0d5795040e7365bf0d9ac7e893b5681799e58f476454e9cd3b8
|
||||
EBUILD nut-18.7.ebuild 733 SHA256 f4307ad5a60446a0ef86c4d972cb612c70b62f64666effbaed28d75ddf9ab8fb SHA512 d3fdd52e571d0288baae111cd3149d36dbc5aebe8e638ea12f7dad65d58a9827c7c04358e610f3919046eb8f463ffcbde7f05c0c9efbd9f49f0ff347f4e1c77f WHIRLPOOL 9088bbad3c0861b8aabeec860c468813874ec24dc0831937ad1e41b870b73586e404f9c81e0d6c7df985f0e42f3c5f75a8139276ce04d3a36dc2f8158b022546
|
||||
EBUILD nut-18.8.ebuild 654 SHA256 b2c0f20689bf0aa4643d1cf1793d5b7268add91fb7d62f3c6ed972adfe86a6e2 SHA512 072f8fd21ed38bc36f4ff45f8f87ec0ce5b52983f29d5e80ce3c2f2e60a7349e980212f5f12ac800f0bc377903a13aa992544d68c282ccd462e973ab08d074d2 WHIRLPOOL 9a638fafb1f2392aa14cf5a6863d6bb4e438d6fbf2a92a789c26318ddf648bb132133809be9b7932c67bc23a612995fa2820da3b4097ca5b4a82199e80c0d92d
|
||||
EBUILD nut-18.8.ebuild 652 SHA256 e8f10eafcba1efb3d3d4337ff587e0b664eb67bf503d79b99eec4238fd577ad7 SHA512 02a4d117d08282705e6e24697304f55c26694517789a61a115fdf7aad08faa885e8385a128b2f55ed569c7edb329bd1940d2e952b261f01d06171e1243184ca0 WHIRLPOOL 26341a0acbc63ec86e0f804d3c26d94e94e47e2361951bcd6f07a8d2ea8ccdc42617fa1874dba722c000f66398faa00595e21cf9d06592d167280d3883c809ca
|
||||
EBUILD nut-18.9.ebuild 661 SHA256 345b0183c8ff7fef1797332a01b1781d3935996481e2ced2ade9e1036f5308a4 SHA512 ccdf13cccaa2f25aa4b1dc57cff87ebe74e77334b403b35780fc3b46bcf474b5df3fabf6fb23773d2864444ec3773b0db36f26f83a84500c5684fadda623c0d0 WHIRLPOOL 3dd4bf61489900926f3d0fb1e7819d080a1c1fbbbdce2ff0b2507525153b052d120a9562bf46dc2cf07620aa6cecc45b33c014dad9b129f7b48955f29fe40c8e
|
||||
MISC ChangeLog 8221 SHA256 b8915e94ebbe6ff3106e85d2a10de17ac986904e45db6cdb3ee9501a7e4b63d9 SHA512 e0475a072ff2d91e0154cad5474da95b8da07a24b1ed9c44d429adf6e7e4507aa583c57bddcdca97f685b6c9e1a64d1f018221f0c50babfdd54a1ad5c770b5fc WHIRLPOOL a4d71bdcf8e779df01539fda1375565db3eee1d70f21ce1ea53db1e6527f220c6dc1e06f9ff0563132af17168f9720a8c62b90f3d3e4797425013ad7a88caabc
|
||||
MISC ChangeLog 8585 SHA256 4738c06d0d8bae84d343db733b866ce9a37ca0d4cf6751306bfdca50bd120712 SHA512 fc25e23cfc36dfdb9285cadcc0fde556df55b1b3de6c6ef3766e68ba961427f71133ac06bc5f008cba95994dd95dc949326d5d96b2f4b6765ca5fe251d5f23e0 WHIRLPOOL 79ab5d76cd6463031012359fe19178c85cac5d4e2baed03834c45648f3fd78ac602c074d7585822530333f64bb62dbb9ca506d7dc2933e4d65eed6c45945fc52
|
||||
MISC metadata.xml 214 SHA256 0e019c1dee563e5b23815be471ae1b65fcaf721a91ec48037446d41ca787d3e5 SHA512 701b8c51f43f8660d40700929c243a2dae9f19dcbc7b8eca877e20eadc1ae2e0c84f7c7d8c3cb576055c1a49a55e9c759ef469eeda67026ce252d341937f6691 WHIRLPOOL 977119e736e0795137df14faae681f7fa07ba8297a19ef4a7d7b93de7efceaed16f7103f179a762be41b8849c33c535b55d16d2fd0ea795df0525592752e0156
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.19 (GNU/Linux)
|
||||
|
||||
iQIcBAEBCgAGBQJRmKYiAAoJELp701BxlEWfvzYP/jHVrQ6r6vR3zUhJRxIgSCwl
|
||||
WK2RK3DP+AguPb+MWoa/Kc8ux0JYQfMu3RBLvMzh+a88N8B7DczJjjUc4NdexEby
|
||||
KFNH0Bq3sDcib9N7YQbTSJ+GbP8oxSdkBpBQ+NaQxZFKq/7zEp30x50Z1cjna/tm
|
||||
6aK+qnB5khtWXjDInQqJa5QLeV/2qukbRVPhXHXhqN7h3uado/WD4CvS3wvkEe3Q
|
||||
0gn4YuonIUroZztGPzTTnppLVP7FUsymR0LcrYLh0quGti0n763S9+vFvNTQdSs9
|
||||
7ztmB8AJSVVGX2f3mf0Ilrhcxp0TkiaBO7GRwonS4p1FgYJD/MsqQPa4Zog1FnfJ
|
||||
SobIVwcUa6nGsxlbCzs7YXOl4HWtoGRNL9aabrBqqU3HMutRfulgxAfWwnifcf+N
|
||||
wyMOOR4wfNGyBdv9Hps9TbPZo/AJqgafxTlCnyER7K65c20xefD8uryFJCt+SopO
|
||||
98j1dY4KIn+25QZ+lLQyh1jPTWt+3nUowozN/lPOUug8KkELDQ/U0SqIQGrVsqPT
|
||||
h8g9/ArMO7lZKUw2rnwXJ/Rzv7jtJ1Kp6MX/ygU8O3ZyfbMPjXav9XuB8WY1Us5O
|
||||
F/iqoy2JY4fJeLYJOs6bsxXb0uI3S8AmynCiFJoz6jRT37DNqMDloX4nmAS7F1Ey
|
||||
X/fd49aBNYoWiBzILtir
|
||||
=FcqN
|
||||
iEYEAREIAAYFAlGaPEUACgkQVWmRsqeSphMsdwCeN1S0zZG3EneaeSIWc/p6+pQg
|
||||
C2MAn1lPg96H0j7TXEtNoEyMvPUmx7DX
|
||||
=otWk
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -28,7 +28,7 @@
|
||||
all: nut
|
||||
|
||||
nut: $(OBJS)
|
||||
- $(CC) $(OPT) -o $(EXECUTABLE) $(OBJS) $(LIBS)
|
||||
+ $(CC) $(OPT) $(LDFLAGS) -o $(EXECUTABLE) $(OBJS) $(LIBS)
|
||||
|
||||
deps:
|
||||
makedepend -Y. *.c >/dev/null 2>&1
|
@ -1,20 +0,0 @@
|
||||
--- nut-18.7/fltk/Makefile
|
||||
+++ nut-18.7/fltk/Makefile
|
||||
@@ -5,7 +5,7 @@
|
||||
NUTDIR := \".nutdb\"
|
||||
FOODDIR := \"$(libdir)\"
|
||||
EXECUTABLE := Nut
|
||||
-LIBS := `fltk-config --libs`
|
||||
+LIBS := `fltk-config --ldflags`
|
||||
|
||||
OS := $(shell uname -s)
|
||||
ifeq ($(OS),HP-UX)
|
||||
@@ -31,7 +31,7 @@
|
||||
OBJS := ../anameal.o ../db.o ../food.o ../meal.o ../options.o ../prtmenu.o ../ranking.o ../recmeal.o ../trendy.o ../util.o $(patsubst %.cc,%.o,$(SOURCE))
|
||||
|
||||
nut: $(OBJS)
|
||||
- $(CXX) $(OPT) $(LDFLAGS) `fltk-config --ldflags` -o $(EXECUTABLE) $(OBJS) $(LIBS)
|
||||
+ $(CXX) $(OPT) $(LDFLAGS) -o $(EXECUTABLE) $(OBJS) $(LIBS)
|
||||
|
||||
deps:
|
||||
makedepend -Y.. ../anameal.c ../db.c ../food.c ../meal.c ../options.c ../prtmenu.c ../recmeal.c ../util.c *.cc >/dev/null 2>&1
|
@ -1,30 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-misc/nut/nut-18.5.ebuild,v 1.4 2013/02/10 17:14:02 ago Exp $
|
||||
|
||||
EAPI=4
|
||||
inherit eutils toolchain-funcs
|
||||
|
||||
DESCRIPTION="Record what you eat and analyze your nutrient levels"
|
||||
HOMEPAGE="http://nut.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~arm ppc x86"
|
||||
IUSE=""
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-17.12-makefile.patch
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake CC="$(tc-getCC)" OPT="${CFLAGS}" FOODDIR=\\\"/usr/share/nut\\\"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/nut
|
||||
doins raw.data/*
|
||||
dobin nut
|
||||
doman nut.1
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-misc/nut/nut-18.7.ebuild,v 1.1 2013/04/09 04:35:05 radhermit Exp $
|
||||
|
||||
EAPI=5
|
||||
inherit eutils toolchain-funcs
|
||||
|
||||
DESCRIPTION="Record what you eat and analyze your nutrient levels"
|
||||
HOMEPAGE="http://nut.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ppc ~x86"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${P}-fltk-linking.patch
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" OPT="${CFLAGS}" FOODDIR=\\\"/usr/share/nut\\\"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/nut
|
||||
doins raw.data/*
|
||||
dobin nut
|
||||
doman nut.1
|
||||
}
|
@ -1,5 +1,21 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
|
||||
DIST subsurface-3.0.2.tar.gz 984274 SHA256 41dbb3ca00313019d53b259973f18c6e4cc62b9a9a1a8c5cd5e0d5b911be65c2 SHA512 607d71bd74b2bb9c6ca544de43d2e60ab5468482681f4f4df0e82555a5a6a7b5211ba3ad6463cfaac87b1566dd3cc76b8592d08bd56a8774b67d4eea6bba70bc WHIRLPOOL 536aebd2f23677813f7fb840123b8cdc79519e168bb88c2ff5ec82e2f0150535341a6c9c652954512786a1c292d21f948f6a74d8fcd78125a378043236179cfe
|
||||
DIST subsurface-3.1.tar.gz 1126173 SHA256 94283ffbacc84c7ef09fd6b9d11a15e178a9fcf64b439cd390fd1dca544c0735 SHA512 718b17436cf6360646a6e91b54c5e6423fa80f89ee86f2222d6e68982e29ae154101933ce3341f5ee4129e161537029091ecf0383777348bb5a5fbd6e76a0bf9 WHIRLPOOL 4ec3dcb973ef276bf499a653a718b66fa092e550a1a580c0045e968c14749ad0fbd8335ea505f8b367ed6d145762d257ecc7192d59f1f593dee5fc35de3d64c8
|
||||
EBUILD subsurface-3.0.2-r1.ebuild 2538 SHA256 61eefcb3248d5ae6c3e56ddd6e528619f92a54ab218de9a6dbc43488ea67b5fc SHA512 d391c7265ae6f145a75bf20bf8b1d22d0da73ea4e0506bfb0d12263394d5c683c9f56240523d63cd8c31caf96eab7534cbe168ccef7e07b591a3a73148050b89 WHIRLPOOL e5494a06504078cd742c156445ab5e903758b08b261f49737a430982af0261133afd59a1a504d70629cfea8f8dc9442739daec281d9e1874ba110b67f46b01c3
|
||||
EBUILD subsurface-3.1.ebuild 2483 SHA256 be6a94d14351aa5e4cd58d29bbbec5531f84f696e708db65e11111fe7628f344 SHA512 ceccf0cccf07fd4d640fe9fc3abbf45fb823fe91cb8c09f43886d84a460f8d457e1340f45c0d5abab1383d02b5a19cbaf1ff2450bc2000b34de2997081ee223f WHIRLPOOL ac8bea591710d46b1b29ec5f9a557573d6f0e0cb652703b229216041bb6711715a7060f28f7e7e0a871753a5cfd5af7ce18f5b36531053baf9ad5c7d20b9bf1a
|
||||
EBUILD subsurface-9999.ebuild 2534 SHA256 f840a8e00c66ab3b744be8c162ea09ff2d41bdd3b3b5790cc8bca744f72a5d6f SHA512 ed4fe743e3759363a1be21aca0b80a0597d98dd608d927f6ae940c630b8fbb7faeeec54b0fbae56af2590d68623f223a4c89926d457ecdf6e97492401d590260 WHIRLPOOL 84ff6467c64470908c9450303c8a4e2931c6f73556917aea32e138f1a34d016cdd11fdc2c26423e225fc45ace20ee36430d97ae725c2a6ddb6101333936d756b
|
||||
MISC ChangeLog 985 SHA256 97d3012232eeee52704d733f5587248b9ce8b3946dca0013261b8d2187c86721 SHA512 1689d5ae62ffe1f5dd9e3791ed429a0d1f6688e14f9c6ddcb7e4a4a13f9a2226928a799ca6574211a82559fc038fccddf0ac6a0db0c52ecee809a6bde0d09f3d WHIRLPOOL c2c75c635c4ace800027a592b5ac66cd9d4c90db7cbbbbc0072d28c4d3ea8ae63b4709a4c1f748e25f34171cc641c874f1328aad6307f8fc1f97087c3ad85cf7
|
||||
MISC metadata.xml 1011 SHA256 fa387bcf5e003681280724544dd7de43bed9589cf1053a011ad609b5ae6d7392 SHA512 3935647a92e6ab40ee74de54cf16ba6101f4f839b212f54b551d9ca9fb0cd563cefe4c35af51638c1d2b520a733bbd98b90b988bb51d8ad27f6601bffd697924 WHIRLPOOL 783de00b36f4db346ce6368919dd6609fed87de32aefcbfa71bc4e25f1cbf3a785efbf818024ab564216f9cfc89a855a4f0ff9e28d9b8a74f1ba8c46af27bb90
|
||||
MISC ChangeLog 1277 SHA256 d4cf1973bcf85d3534f00ca0569317463351e357086802f7a961cd79931344f8 SHA512 0a023ba397c09478c4255cc1e0f4053332446e966b706efc1275cb97f65a6d227f6335c8a10086b9cafca00a20a8164169606dde95f1c41d6eb5b0998c04aa6c WHIRLPOOL 76f39974265c76a7e94da10114e629db7fafe33412fecac8bccb016d1b7708ca801a3f6743dd9648a054a9ae430ad2fb44286930dc2f2feb657e8cef9457e2e0
|
||||
MISC metadata.xml 1201 SHA256 7df5f7c4d6c9cda562e18e72c98ebdf70f23b7acb07d55ed046fc401dfed221f SHA512 01f05f0daff96e9ed2919607957863a75eedb7ce7b706999a4948ffeda7f998d9e6b7571fbf513d5dd2be082211fb1f9aa23d147ffb05fc3a776ce2a6df86d8c WHIRLPOOL 4cd17382b73b1fa2487ec1747cc1d4d4fedb4b63b320e43955f4cc4b86edecc73d29e65e3392b441d4481e28c4f366d6621b733f397280a4aadb7334913dd586
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.19 (GNU/Linux)
|
||||
|
||||
iQEcBAEBCAAGBQJRmjHRAAoJEJWyH81tNOV9LRkIAIEyWStvqveCEx7ArUFRNaFg
|
||||
8QZoIqCFltXbY6n4dO1nUW8XDIZ2M/XoxH4/FMIWlNsIm8I19zyCCdtk3Ax/KyDQ
|
||||
DMx1K+W3nK5n1KVbEUaof0p4HYmgsiHtic/h51G6vxuIyqvLINtpVWar8XI/7SVO
|
||||
IyOK9Xa5DEH3QQxpzAdam2GcWI8xWFn983cCJ4vosWUumPdgdbBvA5WkyWlrDlA2
|
||||
DCeQhEH31xD1pSX0PxqbfrB4Ws9vkosgjuE0dwPYOLgiWH6uN4CFSLQuDTTbkaIm
|
||||
ZhXU4LyBVk0w6uUtK42c57tkNijdO/0kH835/u2i3tRz6akrx3lYc8nIb1/R5wQ=
|
||||
=tGLw
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -0,0 +1,110 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-misc/subsurface/subsurface-3.1.ebuild,v 1.1 2013/05/20 14:24:57 tomwij Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://subsurface.hohndel.org/subsurface.git"
|
||||
GIT_ECLASS="git-2"
|
||||
LIBDC_V="0.4.0"
|
||||
else
|
||||
SRC_URI="http://subsurface.hohndel.org/downloads/Subsurface-${PV}.tgz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
LIBDC_V="0.4.0"
|
||||
S="${WORKDIR}/${P/s/S}"
|
||||
fi
|
||||
|
||||
inherit eutils gnome2-utils ${GIT_ECLASS}
|
||||
|
||||
LINGUAS="bg bg_BG br ca ca_ES da_DK de de_CH de_DE dk ee es es_ES et_EE fi fi_FI fr fr_FR gsw hr
|
||||
hr_HR it it_IT nb nb_NO nl nl_NL nn no pl pl_PL pt pt_BR pt_PT ru ru_RU sk sk_SK sv sv_SE"
|
||||
|
||||
DESCRIPTION="An open source dive log program"
|
||||
HOMEPAGE="http://subsurface.hohndel.org"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="doc usb"
|
||||
for LINGUA in ${LINGUAS}; do
|
||||
IUSE+=" linguas_${LINGUA}"
|
||||
done
|
||||
|
||||
RDEPEND="dev-libs/glib:2
|
||||
dev-libs/libxml2
|
||||
dev-libs/libxslt
|
||||
dev-libs/libzip
|
||||
gnome-base/gconf:2
|
||||
sci-geosciences/osm-gps-map
|
||||
net-libs/libsoup:2.4
|
||||
sys-libs/glibc
|
||||
virtual/libusb
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/pango
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-libs/libdivecomputer-${LIBDC_V}[static-libs,usb?]
|
||||
virtual/pkgconfig
|
||||
doc? ( app-text/asciidoc )
|
||||
"
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${A}
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Don't hardcode gcc.
|
||||
sed -i 's|CC\=gcc||' Makefile || die "Failed to fix gcc hardcode issues."
|
||||
|
||||
# Don't hardcode CFLAGS.
|
||||
sed -i 's|CFLAGS\=.*||' Makefile || die "Failed to fix hardcoded CFLAGS."
|
||||
|
||||
# Don't call gtk_update_icon_cache.
|
||||
sed -i -e "s|\$(gtk_update_icon_cache)|:|" Makefile || die "Failed to disable gtk_update_icon_cache call."
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake CC="$(tc-getCC)"
|
||||
|
||||
if use doc; then
|
||||
cd "Documentation" && emake user-manual.xhtml
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" CC="$(tc-getCC)" install
|
||||
|
||||
# Remove unwanted linguas
|
||||
local del
|
||||
for LANG in $(ls "${D}/usr/share/locale"); do
|
||||
del=1
|
||||
for LINGUA in ${LINGUAS}; do
|
||||
if [[ ${LANG/.UTF-8/} == ${LINGUA} ]]; then
|
||||
if use linguas_${LINGUA}; then
|
||||
del=0
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [[ ${del} == 1 ]]; then
|
||||
rm -r "${D}/usr/share/locale/${LANG}" || die "Removing language ${LANG} failed."
|
||||
fi
|
||||
done
|
||||
|
||||
if use doc; then
|
||||
dohtml -r "${S}/Documentation/"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Uptime record tracking daemon
|
||||
Documentation=man:uptimed(8) man:uprecords(1)
|
||||
|
||||
[Service]
|
||||
ExecStartPre=/usr/sbin/uptimed -b
|
||||
ExecStart=/usr/sbin/uptimed -f
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue