parent
c5cfda4bdf
commit
6d6379d5d6
@ -1,23 +1,23 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
MANIFEST Manifest.files.gz 29618 BLAKE2B 73b8075663b02834f473155f713063522e98e9f05ace3e51b3e5f3f42011d54c5035086cad857066711a1355143f0a5762ccbe9791f52c472a110b15218f7d08 SHA512 1e1d6c3544cb89ae681c86aba824681fea32365d91c1fa4d6b436d01ec1c0bf42b8d0b30472ed291a9ee27f9fd4b1cced5e1f06fb8175f9f3195e58d32c9c6ae
|
||||
TIMESTAMP 2022-01-03T09:39:09Z
|
||||
MANIFEST Manifest.files.gz 29618 BLAKE2B 05ff7ba57ada6a94c827eadef57b65fed684a8ecca50212a7d1ee9710dece8b5b8259a2221c5c121131495e438982ed95e5276a1eb5c22fa4f7dadc0b5d50575 SHA512 a107584ed795769eabea6a2ea2a7557c004a9d8c5d0a7e5a6d3af0778e622c0a4c5155c00bbc3c32d0bec86ed740391806825b7733ec12cc2625fb956efbcc46
|
||||
TIMESTAMP 2022-01-04T17:39:11Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmHSxD1fFIAAAAAALgAo
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmHUhj9fFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||
klABtg/+Jq9A0d/n3NAIf+xz6HMBvu1tatUPqS0dPDVpE2EOn/MWIvixTN3n/GHT
|
||||
HOuWLSB/YoRJ6xIwtxN2KKs5F4uMzL0OajDQVnhA31Snh2d1u3ndERm5O1LCVwmA
|
||||
uIZp0IrY/nL/YRLshCo1Mc2TjgT5bkQFIG99vWA0KDcXXMu9ZNcRiphuj3EGoDWd
|
||||
xqzHHoecwYHfYFL6heodSCIeg3KF/t5jDMHX2nZVh7GywF97IM1MWxwKk44WZqoi
|
||||
bNAvrhzf86Ywu3OamDYmwuj4ge3XuHwE52uG+NfXkpSiBGE4H4dB9yiBz4hMP9Eu
|
||||
1JAjxElxJ6rGJOLHR1+KCZWJzt/i6lI6/+n9rslcEeg1toz8D6RwiWjv2hhZsWVq
|
||||
GN57HtzEAWog2TZjDEIfHOe/O/6YE3iZq7/r/a1efgBPZ3o3RP94aW7ch0JPFpdd
|
||||
kpBf1i+l8xsDX2IQMz0hKzIbV3H2zjmetG2jjhWUFzwvTEpYc1ILuOH3BDSW81t0
|
||||
kaimUcF2v5FKV4BkbAc5IcOO723Tne2WKfb3d2nhLq5FCtEq6E58cr7ebOeS19rx
|
||||
QzPxyvBusLtVlxBHSMhJkAXiUKCbptC97frAUWE3qpj1lYupjY1hma62r6hHKIyR
|
||||
2CQI6jlTwi6bJRE6rMiQOz6yrAPwJ2gvM6UQBCtwvhYar1UgzV4=
|
||||
=g4dS
|
||||
klAhTw//eNTPCd708PfPOT4ITozywrFo3RIzDqCzd/CsLhgHy0P32UhSoMu24hiY
|
||||
ExPb1IywCm8MRp1tRZFAVXu2pp/R+69jROA72du1+bl/egNv1ZmUyfMCk6zIV+uv
|
||||
oxo+UNH+Fc3d6NOgKM5SmwKlPtRtjSWuRtDWgmJ5xWmWyYGZWaAGw50+MXp6Tycf
|
||||
Ozx5IkBfWLOkLtdvgfF1hjZjORyeebtv1+OWUCmGGA/pqYZ6JxR/agUebeFY2fPC
|
||||
KHl8xE3jfDB+sIZPt8OAmdnL0FjTaB6lC7IPDKV/YwH1PQ12Bps68Bheg4F9ZUfW
|
||||
2n3DUSbTno+QhxisRhOVL8+K+uC8uVYJYYtnbvo51Hr5rJrrS1dYzpGFf336NB6R
|
||||
Qk01ZVMZNeRxpbNwhXAiUl/qzZN0OBv8QZQ1veIV+NSD15NczlL/PLHW/DsUh2Fr
|
||||
2Ii1DHppx6eOKk75IirNW6Bw+FlFcnDToQgP7ggpDT5Ef2usbVRL1MJMSaDvdxa/
|
||||
u7wsi1kccXeRiRYuM4WGhUki8il0i+5RFULifm6bTX89rfyXBg98FhkYIEukKVx/
|
||||
gjxROF4p39dtNJLdUe8D7r2xGTwfwhr7tE7oAsSZOOZA0c0qvlxo7/l7tBeV0Qot
|
||||
GMBg4fRaF6Esyz7fiaVFmpQ7oRHaQaWaDC9+ukBwjaZFii2nHjs=
|
||||
=3h2O
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,4 +1,6 @@
|
||||
DIST doctl-1.57.0.tar.gz 5195498 BLAKE2B 17273e9f8f63464aa2ba6c6d48dfabd78b0bdeb7156dc315d1970fb0052710c7a4b37f1d5e2a7a60211f2ab166c0926de438959d853639a8c329ec39b3ee0577 SHA512 0c868c5732a48367a93bf2b884689dbd917ba6690c82516495862546bc31d58d44aab192bd3b3543f951e9fa9b7289e99fbdf828c017af68496b84f1585a5f6b
|
||||
DIST doctl-1.68.0.tar.gz 5514572 BLAKE2B e44be00e1b7451e84d3d6dc5a19dc04fcb5dab2c8a5c1923c0c0f99058a1938f9567d63681989e869341957586cdf549842cd45ca82503007039ae989664e8ff SHA512 d81799c227c071793af74f78e54d8348782caf158b28e0a12b92adf17b6c78c787a82abbdf3aa340a960f26c929b00f38015725e6e629aad7615096270d19c10
|
||||
EBUILD doctl-1.57.0.ebuild 1293 BLAKE2B 518183156896035326550d0b8e0054bb83be446cad52cafad07f2bd9a602761e263e0782c5f7eccce9d75863521fc2e99d9f8da74ddf2c490d0f5532367da230 SHA512 bd8c37680fd859bb274f1b489c5953c4190eec0405da2c239c1e523217585d73920bd636a596b1c951a9f5edc916ab2945bb3ecf2c4999d04cacefc819b71d70
|
||||
EBUILD doctl-9999.ebuild 1215 BLAKE2B d6aec05a7a515bc9f4073944c1a9267f996fa239e98001909db2b58f2c480c7792a5aaa72375629b384f6d1a983e2e83d35fb868a277b104f2183aa02c1cd565 SHA512 658203b8e3c26b8813409781c197a20964e7f850dc5ac467e222d72cba5004243d766ef4fd8210e89117cf3381f0978eb94a9a4a10492f3b169bec6165db8e28
|
||||
EBUILD doctl-1.68.0.ebuild 1285 BLAKE2B a863062d3cb20ff46bbc1ffd58369ddb254cce65fdca008c1dea4c4821c9f937f5962fd4aa0bf67dad5d8f432a5fd0727963d07f32de9755aff10eccb749601c SHA512 2b30bae4fe2cc84f713304754b7951c214258a935cd1d0ea75b6fca88353c3c38164c9fa7fe29cd928d2c5231aa9d6453bfad5567e918f9c78e02560f36b398b
|
||||
EBUILD doctl-9999.ebuild 1207 BLAKE2B 10dbd80af8f912405d13847003acdadb7398e218e951eca730ccd4311c51093249ea6a9ab02f57590ebe871df497e9fa00b2b0f2d04690e1dda54f5e0f1edf33 SHA512 54f54150d190390e8f295a6374a5d891b2b8fee0d59d7997b803faa973c28373b91ce66c8837681c56065cb4350373c545560dc37b5b67a7bd866356cf8f54c7
|
||||
MISC metadata.xml 670 BLAKE2B 5ee85d9c94a3bc5bf5a159089a11d22db8eb1923d0e713fd45ba4f76f154e17784fded0819aa2a359d2c582d96ca0db99ae80a01bb62843d136b45729b87407d SHA512 d48173ace378646dcad5eb5eb7025436432291ef03f89847e874c4cae7afebcd3c05549553543890581dccc8a7ab2808a6bab7fab6c1f315dcef7300897472d7
|
||||
|
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit bash-completion-r1 go-module
|
||||
|
||||
DESCRIPTION="A command line tool for DigitalOcean services"
|
||||
HOMEPAGE="https://github.com/digitalocean/doctl"
|
||||
SRC_URI="https://github.com/digitalocean/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 MIT BSD BSD-2 ISC MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
src_compile() {
|
||||
LDFLAGS="-X github.com/digitalocean/doctl.Major=$(ver_cut 1)
|
||||
-X github.com/digitalocean/doctl.Minor=$(ver_cut 2)
|
||||
-X github.com/digitalocean/doctl.Patch=$(ver_cut 3-)
|
||||
-X github.com/digitalocean/doctl.Label=release"
|
||||
GOFLAGS="-v -x -mod=vendor" \
|
||||
go build -ldflags "$LDFLAGS" ./cmd/... || die "build failed"
|
||||
|
||||
./doctl completion bash > doctl.bash || die "completion for bash failed"
|
||||
./doctl completion zsh > doctl.zsh || die "completion for sh failed"
|
||||
./doctl completion fish > doctl.fish || die "completion for fish failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
GOFLAGS="-v -x -mod=vendor" \
|
||||
go test -work ./do/... ./pkg/... . || die "test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
einstalldocs
|
||||
dobin doctl
|
||||
|
||||
newbashcomp doctl.bash doctl
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins doctl.zsh _doctl
|
||||
insinto /usr/share/fish/completion
|
||||
newins doctl.fish doctl
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
AUX 50pass-gentoo.el 491 BLAKE2B 30c24a820e877e74d4308b42fab036c3c670353af6eb79454c18b471ab62134074765c313be5633e5fc8d1d9105a51d4dc648e3e08f200487ea62e3b9cd4e4a1 SHA512 eaba952f7b080bb44f1a415ee3fa1e71469177a993116b890a0788b177ec70948c1ea6923f17ddddf5f1c01af2fca03e98a71e06a5dff32ff6ebe0b73a79f659
|
||||
DIST password-store-1.7.3.tar.xz 63416 BLAKE2B 5931608e0208dfe6965b79f586c153a4930d1c3d3b74433d026ee0bc5889fcc29334c637ca4fb68308d0169bad7c8235b6632e9f80eda1e24f0f5721353f88e3 SHA512 89755a7b02f05d75055a9fc14fd3f456c0a49ec31bdffd097a027f91228c64a98b18c1e80017aeda811773ae3287ff1b9737532da8ded06799d8fe3979ca06f7
|
||||
DIST password-store-1.7.4.tar.xz 65272 BLAKE2B db1a34b5900802731deaf09d3ade1d3f00022fd21eb0b21140dca3d399c89183dc901e5bce15d7bb6041e62017e2b8b6df61c6ec3eadb1df6c0278dbc6c2bc11 SHA512 1fe108895b224451b54e545d399b6a97040e094049448509f92ae33164a5cf9044a91f52edfc705fcf333f6526df1a478deeebc4df109764d58100f9e3e22681
|
||||
EBUILD pass-1.7.3-r1.ebuild 2037 BLAKE2B fe8df4ab2c95856a3144f04dc56c006ed49f86d83ddc8d4c61de24b2788334b0cd29b0709c60c05a8abe0f05c27c8fcf5c967f580b2fed4fe8828c49154f39a0 SHA512 bc8d994effc16552c13b69671bd7de507e7b03501874ac9600e77606400be07bdfeefb61f2d21f3c2d10a2c1b3bd8fe6f06d4394c4932a477ad35dd9daea6a13
|
||||
EBUILD pass-1.7.4-r1.ebuild 2092 BLAKE2B ab508109dffbac516c25a5c3a3d2365d1556d186e326bd3d266f638c4fb004d7a274ac913d7fd2b4a0a65e2b4d4d76baead5f9b2d700a5dabac7ff9f3dc7fa75 SHA512 436f3dbe2bd4efb6f6008838dfd4e32783b35876ca73f719ce84ec9dfd159894ec3ee7d585699f9d18ed344a996c31c7be7599218b1beda31cc6f1f294ef3e41
|
||||
EBUILD pass-9999.ebuild 2195 BLAKE2B 0e2e326f7aadf1719f667714d3866843e705a32fde248995af42b8bd524b91d58e6fd06feccffaf9571471a79e1974169b2ddc6fcefcc8f7aa0d87c50811141f SHA512 62e78aadfb9435e66fe39b54dfa30f3e454c90d48c94c14824373d8b05767638699bb86a7961d07dad21df586e238a6dc0b7a1b437560a1fdcde3d51a36df8db
|
||||
EBUILD pass-1.7.3-r1.ebuild 2024 BLAKE2B d38cb5027c3c79728914be3ce312e1b3786e0c865a07733f379324bb3ba29ae982185bd985c0f34cd2141e7da932eaf27b6495a477c7700aaf8c3a0289d20211 SHA512 551eef10ade602f6493eeb52ce0a115a8a55ae928798ad13f1a34cf7fa8fb48f49a280afd86b5e3abb7d9458625cfd1395a5e17e93e4cbc81f5e8c6cee097c72
|
||||
EBUILD pass-1.7.4-r1.ebuild 2079 BLAKE2B 841e67abb52cf2a22e7de9f248e122724e0b3afbdce4fc150c55910395472eb4983bbd6b12f3531b3c3810db601a2be320e13d104643562b90c315b43b4b4e18 SHA512 d52d9135d9b6cec5c54d6ea55c8d6a2dc54f99cc8cc21e5c7ae39009e0e323b876ffdcb6f4131db5daa25730b6a64e283e81ea87acaa468ff79f4f540256f69b
|
||||
EBUILD pass-9999.ebuild 2182 BLAKE2B 50c3a66eb4531d14796495f5473f5eb8a1bb33db20750b358fbc8f424da13d05c1f0be25b7a70bed014038f9aacffc8dba49f9794461994706b10107b3c664b9 SHA512 d42612cda6ebdf4c0a15059839a376f1bb0d2eb8480cdb37ad17f913bbf1ee08aa46d3547a6dac25e4196d089c255e2841590dd70ab296b661e367d2cb3dd73e
|
||||
MISC metadata.xml 682 BLAKE2B 7f15c097f132cde3ee8647189fda93dabbcc5e0451380a6fde8f58c1d0b7c10df4cb8012832f282101795568cf170157d119bb668164005f8aeebe10682a918b SHA512 12d14970489971fea7766469584bce2881ebdadfebd4aece7efff56a5e7bdc0a3d12703134691c80da2635a5863a81c39c212bcdc7ae1b717ae5f1e0065212f2
|
||||
|
@ -1,5 +1,7 @@
|
||||
AUX tmpreaper-1.6.13-fix-protect.patch 1204 BLAKE2B 8c1b66d939ac8e997272265744873a22a5e5306d8fbec6e56ace78cf4162387c2cb2c2d7372ec62f0e7c99fa954d7e321482d0dbaa75ba6e3ff48a8785277e3c SHA512 7b7f386d8f685e6b38ff3a96030e69a5134016e0a0b30b6841ddc4ae02ae3f90c47388426be98ec35a920e40360aa0cd8662e29d03a765c6ae0209f9907c53c0
|
||||
AUX tmpreaper-1.6.13-gentoo.patch 1766 BLAKE2B a619096b159686dbcdaacdbd3bf979f74664f8abb2c58957dec7fcb17bee7c1b5b790f4e7283af9f82fb1f7eac2a76f73c5ec26804c6bd799643d553fb56be17 SHA512 0086ac04a352bd35ce9e95576816fc324011bfff78cfa089828bf3befb8b183ae2213be9759422ce1f9ddd1cb26dcdf292b429ffe2d0873a1f6f6577e34c5fc9
|
||||
DIST tmpreaper_1.6.14.tar.gz 158981 BLAKE2B 1c9ec124c6e57c0aab5d555594950dda37f06a6404a0d111da05be7a48bf6141e09e942c090d3f79ccf855f958a7b32f0d64c73da68b412da74465e39bdb72ae SHA512 e78fab0cd2cc8c851e2806be70c102697bff86230e181bfad1c76b15fe5455fb431bc0dd16bebf77a2e9bb64b5f5a1474d24254ff780d4d72d343ea0e6e30ccb
|
||||
DIST tmpreaper_1.6.15.tar.gz 158755 BLAKE2B 8f95e11de947bf436b92c2fb73b82b86134aed32eb4053af2c8065c3fe1f584f6d126a3a1ddf5e2837ca88060c499eb424670049420ec702d0a989e6e246ca69 SHA512 323a9998b1e3cfe99ead433de25d2b0db31f9ae2ddd3cd8f5e81dc5f04c977953cb930ded8860088504318cb0b42c6ca804b1ddd663818b1d3fabef8e3fff891
|
||||
EBUILD tmpreaper-1.6.14.ebuild 1140 BLAKE2B 90ed79e0bfdade02d0ae118aff75bc561a76fe887f59e930cdbda1feae62e010abce327a712db9af14ddb32b29281eeccbfde89bb71fc24bfdd84fc72bf8f6bc SHA512 64e8ef4d1e5bdba4ea3e78e95a3b2ac9079179dfe744611b594705f119567212273c52dd6f4f4a06043b4b517628f4fe86a1eeffc6ab98d4c98c9428d0f0adaa
|
||||
EBUILD tmpreaper-1.6.15.ebuild 1054 BLAKE2B 739a0ede52fd32e1664b3abe52e8f1188466b9144c3bbd350b1774579df0773332cf724937d294106867a4015b231ac6d89ab0578b2f6c9328d56d3943b635a7 SHA512 bab3bb607832bd83741a590bca8dc451454bcaff8d9f2f43897573446e44cc97f7ed44c8121e796352dd23d78c8eb546b8a5f162fa3186128d229b80310c6777
|
||||
MISC metadata.xml 1168 BLAKE2B 65a29d3767107d6987854f4207901328ded75106c6ef80868936e9c1e4d831e2778316ad3278bdd880ee71e65a4cfb2926931de7563b56dab112b4a03d87c793 SHA512 2c04e13736af7fde1de666730d4fe8882f8f2aa35ca1c77da3bdc352e2ab9dc18b2759b9a27da67f363bda032e689ed920a6ec7a91bed2b57c1a9991e18b83a7
|
||||
|
@ -0,0 +1,41 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="A utility for removing files based on when they were last accessed"
|
||||
HOMEPAGE="https://packages.debian.org/sid/tmpreaper"
|
||||
SRC_URI="mirror://debian/pool/main/t/${PN}/${PN}_${PV}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="sys-apps/util-linux
|
||||
sys-fs/e2fsprogs"
|
||||
|
||||
RDEPEND=""
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.6.13-gentoo.patch
|
||||
)
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
insinto /etc
|
||||
doins debian/tmpreaper.conf
|
||||
|
||||
exeinto /etc/cron.daily
|
||||
newexe debian/cron.daily tmpreaper
|
||||
doman debian/tmpreaper.conf.5
|
||||
dodoc README debian/changelog debian/README*
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "This package installs a cron script under /etc/cron.daily"
|
||||
elog "You can configure it using /etc/tmpreaper.conf"
|
||||
elog "Consult tmpreaper.conf man page for more information"
|
||||
elog "Read /usr/share/doc/${P}/README.security and"
|
||||
elog "remove SHOWWARNING from /etc/tmpreaper.conf afterwards"
|
||||
}
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
AUX libarchive-3.5.0-darwin-strnlen.patch 732 BLAKE2B d20ffd1d898acf1e69e2f275bec2beda0769569ac37e179604dc7d0a5eca8fda2a06aa5b3811e28f465fb34c2061d15aa8073110f703244aec02cfa35afd8087 SHA512 9f5b86b6dc483f17a1d909d88841e1f82f5835dbef0bdfc18ffb982cd5f649d87fdc22f490169eb827de654fbd469fda77a5ce1bc0748b48f3f46e77318e672c
|
||||
DIST libarchive-3.5.2.tar.gz 7054934 BLAKE2B 1fc6ee0166573658dc5e0f170113c07ecdaa76b287cbf68bdee63ccd198dad615b3f2803a3fc1aed303cd1f7f32033e6d8e782ef6a8a991562cdc2a375894c9e SHA512 2003ec9b24086373451bd7317bdab86d81627f087c14a6f7df1a92e131a216749f9aa352504c3d04dc82b62078b59aeea5aad5543b7e6c1c21fcafa2955d3762
|
||||
EBUILD libarchive-3.5.2.ebuild 3417 BLAKE2B cd8c560927f1018cf6a838fe184ee89eb03eed5cc5af2ac09957657cd5f14cf23a5ac031e138e27dedcaa64cc35ad8f68113b15c90545f10f9497fba48c6e541 SHA512 6dc88e3983f5d9b4d72ff11c20c728d4df87b1c33f3aa1e5769731da33b44d87b8b14f7ab5e51028cd36c878bba265b7b94d7f00cf7edb9a2ba5f6c0e809fc25
|
||||
EBUILD libarchive-3.5.2.ebuild 3404 BLAKE2B 64597581b7d72a04441818b7b1c6b2edcad1cb124b7e9c096a24716e90f8f9e27247d19f69e956aa77b773ac80003bf24a0ec190c9bfec5eebcd88b710b525f8 SHA512 0f9b1fe30d32a92915bef2b01f6e702c94861eaa67c9479a3ec8bcb5935a8d5aac5002babf0fa83dc3073cd03fff5e7dde4e2ae15df7253c53af9394e7d2e0e4
|
||||
MISC metadata.xml 1515 BLAKE2B c30009d41ef242d07f1f047b96f72e436e930f4ef6a316fc3054865061f3b32450239392df9da6b4431eb3a959f0a892425065f292253b4b4e145f56c0575161 SHA512 ff5508fb73ec4dca5d84525ebdd176ab626071f2ae6693c60dcfabf7ef29342340ed6af10230d983424d20d3927770b028fb866c1d0a179f5ad3c7c63c721319
|
||||
|
@ -1,4 +1,4 @@
|
||||
AUX rmt 263 BLAKE2B 7535dd27d5ba367066cd519dee06f053cde9d4f1e86728059935fb80e9a9880e7a934076949af54e47ee7de3f91452f2c642780e7d56619f166574633d1e4759 SHA512 2f1a9d3a522fc1f0d5385d1ea4c27da88a1c9357b866340432c6310604c01d3e328e33080ed1e951c0da6f025c3ee2a0c9f170d4b86a1d235ebb56be48fef152
|
||||
DIST tar-1.34.tar.xz 2226068 BLAKE2B 741a662457509a6775338ffe5d2d84872fcf38b93ace70c8b748a81055b9b62f65a48c4e541955d08ae99e6f528509e89eacd7c799a65bcc3d017a259110c115 SHA512 5e77c4a7b49983ad7d15238c2bce28be7a8aa437b4b1815fc00abd13096da308b6bba196cc6e3ed79d85e62823d520ae0d8fcda2d93873842cf84dc3369fc902
|
||||
EBUILD tar-1.34.ebuild 2041 BLAKE2B 9579378c3bf040a772edcc87992ddcdb9aa092c01e4598bbdfaa2ed662dd5f2b73aca2f4d96e21a6c94fd5d2804c2b9ed5e7a6003f2749c983245dbc2c9dc94e SHA512 82937b0e2d708b6b60db0c47efc7fda4facec2a4bcaaa8bb57b11d5d8e48dd076697ed8d4ace888bdac1e0791378a5abc6c09fdabf80af1b90f794ee81e91cc0
|
||||
EBUILD tar-1.34.ebuild 2029 BLAKE2B af7396250da4d86eae332ea1f34a8a2029b22978ae1b61ab04f3122f039bfe5073b09e2acfc9c0122729ac2d3c814657cdad06be718dd12b0afb0014c0d7e229 SHA512 cd6c2058aaccaa7ea82e164ef70a096bde3d36fd1aa4fe28601273d3f3722ac23535ba753758586deab0e9e33b8262aa00618f46482378e32cc35f0e2f1d0b93
|
||||
MISC metadata.xml 388 BLAKE2B 85aba561c0c0ad8c72d8d33f66ef6504bed7747957059c19fc5b0267b048bbddbd1112239bd4d3bcdf1c2f465018a2128e086a253253205dd7b815c11f3cc6ca SHA512 83e4c69e150b6420ab2ef4b777d930fd5e0f5cc1244bf8cd9a7cf0f867219100578a4777043fccf5f95a6a44ee264b88381d94924f4f18c80cb2ff339efbce64
|
||||
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
AUX libu2f-host-1.1.10-json-boolean.patch 1101 BLAKE2B c603290ae3f34ac9c6eccbee080ac83d7fcea2dfad69f1088de39cc35165fe7333acafee0aac53c9d973fd0b266bb822a1a68f48e64a492dbb5440976c2ecaf3 SHA512 e8b516d797bbb136fe51c367248be6d1035de409156a35ce55c9e871b236178c610e36f5859121e7fddae28e17c44db9bfa21ce4584acb3c45c6f68fbaba46e2
|
||||
DIST libu2f-host-1.1.10.tar.xz 471676 BLAKE2B 5066eaaaeda3b8c015afa8946f0af3b1b90a34488d4c71811c0d8f57a3ed2e4c8cb3d82d2df147dcf13ac3c384522d22f25894ac3a2d994a75b288891a67640a SHA512 91c5bf3994f1d3c9bd144f54b14b0404d839c15bef3c318619decdf1bd37214bcff33927af78a9826ff7d0bc9907c912a0e31104ae68d3a727a8436f2a1dbf7a
|
||||
EBUILD libu2f-host-1.1.10.ebuild 1057 BLAKE2B 984a72cfb299cf71b434ade3270fed5cba566a59e367e81cc231f6d92016f094c07b61e6da957a7883011162ca7bebaebc0ddd3aee30cdf23aea22e2e23c4236 SHA512 32bf2ad39377ef93b04848b0fa01dee85b33e68517189309ef2c1a7317ef47f9e1bf10f882ce45fb72678caa1be8994f5cfb233c3b67d37c76f05c4e8d10a39c
|
||||
EBUILD libu2f-host-1.1.10.ebuild 1044 BLAKE2B a1db95597cf045d25dd886289c476a27b7bf696f62e7796df6225ee5aa875020fdb5c70c4aa3c2f56447167fac6a700a7b13d35f9a2528b97e27930aafbfa0cb SHA512 2aba85c68c6b90e8a4606d9d704a16b09cdf9bd57fdf9ceb161d439b9b9ca1414fd98d92df5446a56ebbacc2aa234cc8d75e2f2055f1c99136e08a6835432bc3
|
||||
MISC metadata.xml 532 BLAKE2B ee0715bb0c5c993605e314456f9e2cf6aad97cec45e38836dbbcd51d557ee65da536c7f49fd04029e24d1d72d0011ef496346017cb8854b436d9ddc38efd3262 SHA512 c3dc0519b09376c82fa5bb589765ae5b88b680025224b22da23da508216253112ef66b6e0e14c1aebf79a7f67d88a6500f2106386a8f4eead97a79ef55204112
|
||||
|
Binary file not shown.
@ -1,6 +1,9 @@
|
||||
AUX 50yatex-gentoo.el 488 BLAKE2B fcc7c76ee0ace31938ac6e7f438832d53542d2cdd0109ddf9ba59c8cdfe535f1bb5f2d2bf5edeb7247cc8903424f3eb5d4eeac56fe01f2d4665c85936a4736bd SHA512 93a1d45bb228d1ac304fd3652246561a5b7a9d91aa230f0f0d62a9e557f9f61a1dafee900139b7588f3310fdb98fbd71d6347ee45b6527ae27e2095da2a652b5
|
||||
AUX yatex-1.76-direntry.patch 1646 BLAKE2B 7b13a22accecada28782abac230b7e20aec5aa1e920d98cf9fd68e776a1527181ebe8d99a8d4eecf1415d30336b7021edd2e9cbc1934d7022a3251095dd74702 SHA512 4415c8ebc8e3bfb7f15ac842e05743d7689def9365fae75a466b05daa7356f51625348e1b68f4eb6ff0144eec12feecb0054562aa91414ba6a5ad544999ec42e
|
||||
AUX yatex-1.80-texinfo-5.patch 8187 BLAKE2B 9039ff22af04b4f7bb7d7538eb73977aed30c14ad5329698691c30222b07c0cf2e531e85037bec790178c4003934ee082978ae37e7959bd5a76842659b1299b9 SHA512 856b16be069c6a77535b1800303b48467366d4765afa1d66ed5ccfc78c031b899ea027de8a95bb4687f19c06f9edb98d3e520e68adf2e93ca68acba96b62fbf8
|
||||
AUX yatex-1.82-texinfo.patch 615 BLAKE2B 5ed48ec8800af1d09c3ef6777ca0688a325f28f71f89f52f659a02592619e48606800a186121e0e9f951dc7816088fda3ba7dcfcbebc0e9af5eac4d22b3f936d SHA512 d50d91bcd00b3c0e2824475b6035f7bc5e0afb7171b370e8b264de4afc289d8ee91c9596f43c90a9617214f8d4962355a4151f8327419d9f67e38ca9cd2cfa40
|
||||
DIST yatex1.80.tar.gz 376944 BLAKE2B 355726fb3b38bfbc314647739d4af6e588848b5ade208fe1e026106a7cc2c220edcf10214f37ee7c9cc461ecb3e776c3969e329d5a331b3d8ce9f669f2361e26 SHA512 6548d1ac95ce95198468698d9b91449736e4be8af15d29352c00f7604fd7b34b2c606afb2d90d1115fd64dc859efdd9c993a6b3733f9321ca7671615977b4bd5
|
||||
DIST yatex1.82.tar.gz 387358 BLAKE2B 77c88563e3beb7b29ac8a4d7204d14b966c9a88b1c2f04c6160089f0b61a70c9d6aa135d2e1cee6e13a90cc108428ce80e7ef0d0b8852b9a8651e67f34af7e1e SHA512 8c2890fc12e93aace5ac51e24da315a9d241aec023a3c67187c1fd28d2a7a02d1688b7e1177e1ba13411ecb394b5d581298c735cd80195e663bbdcf240f10fe5
|
||||
EBUILD yatex-1.80.ebuild 1182 BLAKE2B 482b350173cda77b0ffb240059ca72893f24278954e34bf8c31cae588b7bdd919f6d463c157262c913cf8deccd1c21be26ea8eef662848e410e0cf0b9b46fad9 SHA512 635a78f07150dd0bf661e079956ab4262d7a1a8d0ffe427bd9894278cf2bccfc29fceba4b819af3ed8cb6add9bc28667e87042f8c14f791d8416d9cee5181ce3
|
||||
EBUILD yatex-1.82.ebuild 1288 BLAKE2B 482fdf6599179e96124f52f1864209c03f3d56a400820873e8ccd3baadd5980487d6d1863f93045e46bd63ca662031cbd6ab92c08193a24cd9ef08c4d592a564 SHA512 1af1fe67d2c6941cf5d5af32ad2d3d2374eb544e1402d7d007aba67c215cc0214c6dd9990e62212663e036720a83161b3f3c0bd4ecc70d2ea47a5984cc523e87
|
||||
MISC metadata.xml 783 BLAKE2B d13521013411b6e4c82b13fc3770bf6860f3f9661fe170d2a3ad44010a73ec5dea991f62e2e44b9ffcead09abc8767b5b583c05e7d9cacc7cea0f6f2315e8a62 SHA512 c24917eb292e5da3b32e61970874b02eb90354bae372455f4abb6dc9e0b724a25ce36285531185aadaf4d16420b004504745d890ec8d6ddb13247477bb77d594
|
||||
|
@ -0,0 +1,22 @@
|
||||
--- yatex1.82/docs/yatexe.tex
|
||||
+++ yatex1.82/docs/yatexe.tex
|
||||
@@ -382,7 +382,7 @@
|
||||
@section Special Filtering Region
|
||||
A region like below will be passed to external filter command.
|
||||
@example
|
||||
-%#BEGIN FILTER{foo.pdf}{dot -T %t -o %o}
|
||||
+%#BEGIN FILTER@{foo.pdf@}@{dot -T %t -o %o@}
|
||||
\if0
|
||||
....blah blah blah...
|
||||
....blah blah blah...
|
||||
--- yatex1.82/docs/yatexj.tex
|
||||
+++ yatex1.82/docs/yatexj.tex
|
||||
@@ -488,7 +488,7 @@
|
||||
ます。そのためには以下のようなソースを文書中に書きます。
|
||||
|
||||
@example
|
||||
-%#BEGIN FILTER{foo.pdf}{blockdiag -T %t -o %o}
|
||||
+%#BEGIN FILTER@{foo.pdf@}@{blockdiag -T %t -o %o@}
|
||||
\if0
|
||||
---
|
||||
....blah blah blah...
|
@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Yet Another TeX mode for Emacs"
|
||||
HOMEPAGE="http://www.yatex.org/"
|
||||
SRC_URI="http://www.${PN}.org/${P/-}.tar.gz"
|
||||
S="${WORKDIR}/${P/-}"
|
||||
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
SLOT="0"
|
||||
LICENSE="BSD-2"
|
||||
IUSE="l10n_ja"
|
||||
|
||||
BDEPEND="l10n_ja? ( virtual/libiconv )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.76-direntry.patch
|
||||
"${FILESDIR}"/${PN}-1.80-texinfo-5.patch
|
||||
"${FILESDIR}"/${P}-texinfo.patch
|
||||
)
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_prepare() {
|
||||
sed -i "/(help-dir/,/)))/c\ (help-dir \"${SITEETC}/${PN}\"))" ${PN}hlp.el
|
||||
|
||||
elisp_src_prepare
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cd docs
|
||||
makeinfo {${PN},yahtml}e.tex || die
|
||||
|
||||
if use l10n_ja; then
|
||||
iconv -f WINDOWS-31J -t UTF-8 ${PN}j.tex > ${PN}-ja.texi || die
|
||||
iconv -f WINDOWS-31J -t UTF-8 yahtmlj.tex > yahtml-ja.texi || die
|
||||
makeinfo {${PN},yahtml}-ja.texi || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
elisp-install ${PN} *.el
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
|
||||
|
||||
insinto ${SITEETC}/${PN}
|
||||
doins help/YATEXHLP.eng
|
||||
doinfo docs/{${PN},yahtml}.info*
|
||||
dodoc install docs/*.eng
|
||||
|
||||
if use l10n_ja; then
|
||||
doins help/YATEXHLP.jp
|
||||
doinfo docs/{${PN},yahtml}-ja.info*
|
||||
dodoc 00readme ${PN}.new docs/{htmlqa,qanda,*.doc}
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,5 +1,3 @@
|
||||
DIST libvirt-glib-3.0.0.tar.gz 899180 BLAKE2B ef10b3d9bad48e49dd1898733aacb2f51f1826330eda9c63a7f8df5f11c96812f8cc7fe6a867961efa85a433f45c934d75cf605eb523ec723459da4646335b1a SHA512 b9e7d782c25b5c3a9b2829f1be8162352438ab3505510a1ca7dd64d741eaab158dc9206fdd4b0e3e27b0c049e4bcfc47db0c9a7fa1a84888864e23d3c35c079e
|
||||
DIST libvirt-glib-4.0.0.tar.xz 161836 BLAKE2B e196d1f02f6f202b1883500241bbfda963b34ee12bd945b3fa897f84f55a049f98e0429132ccfad7168e5ba2b41245e9e7e3817a7f057e0dc40b674ca6c9b661 SHA512 e1b99e80aa671fa5a4d7f7f7a4ea70ce7c5fdaf97574407f79aa11a75dd177e1e3f92027728a83ded62e305852bbda76eb90326aaa1f5f19b77272b008351810
|
||||
EBUILD libvirt-glib-3.0.0.ebuild 975 BLAKE2B 1ea53e40c805b2d2de91f7c1a7a0690bc8bf768919b0c3706a05ae557dd4d4f6040e6df9e0e75fcb16bcf2caa411eb2570028e2937ceb377cd0c74002f7fbbcd SHA512 ef198cbd6313dd117b62f95cd5884b0254f90f638f42818f29217e926d0f0eefd293416afeda704bd38f77f13d400dcd16a4c1e2e318e6e34def2a80aa7c4911
|
||||
EBUILD libvirt-glib-4.0.0.ebuild 1081 BLAKE2B d80fa3892811dc776fc31958bc7ce41d2c9ba3c781c9431435a1c1752ddd302e23d84646ebb0a4ff05672c52923468bd0eb89f852654279914184832b9ea9a5e SHA512 5d76fd7aecbb4e7efbbb9f7ee47085115c0fc78baa6d4f9b14af1a45337ca8f2162a52ff1e720db3fffa3df055c73cd7a6a674cd1200ead9ed9cdec6e30bfaf7
|
||||
MISC metadata.xml 354 BLAKE2B 8a886534226d61f7908655b29315cb651520b4c6e890f7e11111b77f49d256c2517d7b0e498ba1166df04a485c6bdf191f6fbf4b308f54d8b90efed5031346fb SHA512 6f4374b2ebba9be49b1ca819fab9da8d093a7fba1e7c9c9a12257d33002dd9a7ce78cc5a43b1cddfe5f179bc74d237327347cccbf7a70b43e2d1b86c9ee33ab2
|
||||
|
@ -1,43 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
GNOME2_LA_PUNT="yes"
|
||||
|
||||
inherit gnome2 vala
|
||||
|
||||
DESCRIPTION="GLib and GObject mappings for libvirt"
|
||||
HOMEPAGE="http://libvirt.org/git/?p=libvirt-glib.git"
|
||||
SRC_URI="ftp://libvirt.org/libvirt/glib/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc64 x86"
|
||||
IUSE="+introspection nls +vala"
|
||||
REQUIRED_USE="vala? ( introspection )"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/libxml2:2
|
||||
>=app-emulation/libvirt-1.2.6:=
|
||||
>=dev-libs/glib-2.38.0:2
|
||||
introspection? ( >=dev-libs/gobject-introspection-1.36.0:= )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/glib-utils
|
||||
dev-util/gtk-doc-am
|
||||
>=dev-util/intltool-0.35.0
|
||||
virtual/pkgconfig
|
||||
vala? ( $(vala_depend) )"
|
||||
|
||||
src_prepare() {
|
||||
gnome2_src_prepare
|
||||
use vala && vala_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
gnome2_src_configure \
|
||||
--disable-test-coverage \
|
||||
--disable-static \
|
||||
$(use_enable introspection) \
|
||||
$(use_enable nls) \
|
||||
$(use_enable vala)
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
--- a/meson.build 2020-09-26 21:25:08.557345415 +0000
|
||||
+++ b/meson.build 2020-09-26 21:25:59.507348156 +0000
|
||||
@@ -84,7 +84,7 @@ sbindir = prefix / get_option('sbindir')
|
||||
sharedstatedir = prefix / get_option('sharedstatedir')
|
||||
|
||||
confdir = sysconfdir / meson.project_name()
|
||||
-docdir = datadir / 'doc' / meson.project_name()
|
||||
+docdir = datadir / 'doc' / '@0@-@1@'.format(meson.project_name(), meson.project_version())
|
||||
pkgdatadir = datadir / meson.project_name()
|
@ -1,18 +0,0 @@
|
||||
https://bugs.gentoo.org/792228
|
||||
https://gitlab.com/libvirt/libvirt/-/commit/e3d60f7
|
||||
|
||||
--
|
||||
diff --git a/src/remote/meson.build b/src/remote/meson.build
|
||||
index 9ad2f6ab1c268012a263ab4ede6410fb80e14a12..0a188268b58b7af41645799aac3ef3f156fd48ad 100644
|
||||
--- a/src/remote/meson.build
|
||||
+++ b/src/remote/meson.build
|
||||
@@ -230,7 +230,7 @@ if conf.has('WITH_REMOTE')
|
||||
'name': 'Libvirt proxy',
|
||||
'sockprefix': 'libvirt',
|
||||
'sockets': [ 'main', 'ro', 'admin', 'tcp', 'tls' ],
|
||||
- 'deps': libvirtd_socket_conflicts,
|
||||
+ 'deps': 'Conflicts=' + libvirtd_socket_conflicts,
|
||||
}
|
||||
|
||||
openrc_init_files += {
|
||||
|
@ -0,0 +1,13 @@
|
||||
diff --git a/tools/nss/meson.build b/tools/nss/meson.build
|
||||
index 198936f3d42e1827d0f03ff3b27a198bdc4fa59c..f77309ebcab8063c515ae2bf95dbff542238a2ee 100644
|
||||
--- a/tools/nss/meson.build
|
||||
+++ b/tools/nss/meson.build
|
||||
@@ -59,7 +59,7 @@ nss_libvirt_guest_syms = '@0@@1@'.format(
|
||||
meson.current_source_dir() / nss_guest_sym_file,
|
||||
)
|
||||
|
||||
-nss_libvirt_lib = shared_module(
|
||||
+nss_libvirt_lib = shared_library(
|
||||
'nss_libvirt',
|
||||
name_prefix: nss_prefix,
|
||||
name_suffix: 'so.@0@'.format(nss_so_ver),
|
@ -1,189 +0,0 @@
|
||||
From ea7d0ca37cce76e1327945c4864b996d7fd6d2e6 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <ea7d0ca37cce76e1327945c4864b996d7fd6d2e6.1618903455.git.mprivozn@redhat.com>
|
||||
From: Michal Privoznik <mprivozn@redhat.com>
|
||||
Date: Fri, 16 Apr 2021 16:39:14 +0200
|
||||
Subject: [PATCH] vircgroup: Fix virCgroupKillRecursive() wrt nested
|
||||
controllers
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
I've encountered the following bug, but only on Gentoo with
|
||||
systemd and CGroupsV2. I've started an LXC container successfully
|
||||
but destroying it reported the following error:
|
||||
|
||||
error: Failed to destroy domain 'amd64'
|
||||
error: internal error: failed to get cgroup backend for 'pathOfController'
|
||||
|
||||
Debugging showed, that CGroup hierarchy is full of surprises:
|
||||
|
||||
/sys/fs/cgroup/machine.slice/machine-lxc\x2d861\x2damd64.scope/
|
||||
└── libvirt
|
||||
├── dev-hugepages.mount
|
||||
├── dev-mqueue.mount
|
||||
├── init.scope
|
||||
├── sys-fs-fuse-connections.mount
|
||||
├── sys-kernel-config.mount
|
||||
├── sys-kernel-debug.mount
|
||||
├── sys-kernel-tracing.mount
|
||||
├── system.slice
|
||||
│ ├── console-getty.service
|
||||
│ ├── dbus.service
|
||||
│ ├── system-getty.slice
|
||||
│ ├── system-modprobe.slice
|
||||
│ ├── systemd-journald.service
|
||||
│ ├── systemd-logind.service
|
||||
│ └── tmp.mount
|
||||
└── user.slice
|
||||
|
||||
For comparison, here's the same container on recent Rawhide:
|
||||
|
||||
/sys/fs/cgroup/machine.slice/machine-lxc\x2d13550\x2damd64.scope/
|
||||
└── libvirt
|
||||
|
||||
Anyway, those nested directories should not be a problem, because
|
||||
virCgroupKillRecursiveInternal() removes them recursively, right?
|
||||
Sort of. The function really does remove nested directories, but
|
||||
it assumes that every directory has the same controller as the
|
||||
rest. Just take a look at virCgroupV2KillRecursive() - it gets
|
||||
'Any' controller (the first one it found in ".scope") and then
|
||||
passes it to virCgroupKillRecursiveInternal().
|
||||
|
||||
This assumption is not true though. The controllers found in
|
||||
".scope" are the following:
|
||||
|
||||
cpuset cpu io memory pids
|
||||
|
||||
while "libvirt" has fewer:
|
||||
|
||||
cpuset cpu io memory
|
||||
|
||||
Up until now it's not problem, because of how we order
|
||||
controllers internally - "cpu" is the first and thus picking
|
||||
"Any" controller returns just that. But the rest of directories
|
||||
has no controllers, their "cgroup.controllers" is just empty.
|
||||
|
||||
What fixes the bug is dropping @controller argument from
|
||||
virCgroupKillRecursiveInternal() and letting each iteration work
|
||||
pick its own controller.
|
||||
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
|
||||
---
|
||||
src/util/vircgroup.c | 25 +++++++++++++++++++++++--
|
||||
src/util/vircgrouppriv.h | 1 -
|
||||
src/util/vircgroupv1.c | 7 +------
|
||||
src/util/vircgroupv2.c | 7 +------
|
||||
4 files changed, 25 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c
|
||||
index 96280a0a4e..37dde2a5ed 100644
|
||||
--- a/src/util/vircgroup.c
|
||||
+++ b/src/util/vircgroup.c
|
||||
@@ -1477,6 +1477,24 @@ virCgroupHasController(virCgroup *cgroup, int controller)
|
||||
}
|
||||
|
||||
|
||||
+static int
|
||||
+virCgroupGetAnyController(virCgroup *cgroup)
|
||||
+{
|
||||
+ size_t i;
|
||||
+
|
||||
+ for (i = 0; i < VIR_CGROUP_BACKEND_TYPE_LAST; i++) {
|
||||
+ if (!cgroup->backends[i])
|
||||
+ continue;
|
||||
+
|
||||
+ return cgroup->backends[i]->getAnyController(cgroup);
|
||||
+ }
|
||||
+
|
||||
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
+ _("Unable to get any controller"));
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+
|
||||
int
|
||||
virCgroupPathOfController(virCgroup *group,
|
||||
unsigned int controller,
|
||||
@@ -2715,11 +2733,11 @@ int
|
||||
virCgroupKillRecursiveInternal(virCgroup *group,
|
||||
int signum,
|
||||
GHashTable *pids,
|
||||
- int controller,
|
||||
const char *taskFile,
|
||||
bool dormdir)
|
||||
{
|
||||
int rc;
|
||||
+ int controller;
|
||||
bool killedAny = false;
|
||||
g_autofree char *keypath = NULL;
|
||||
g_autoptr(DIR) dp = NULL;
|
||||
@@ -2728,6 +2746,9 @@ virCgroupKillRecursiveInternal(virCgroup *group,
|
||||
VIR_DEBUG("group=%p signum=%d pids=%p taskFile=%s dormdir=%d",
|
||||
group, signum, pids, taskFile, dormdir);
|
||||
|
||||
+ if ((controller = virCgroupGetAnyController(group)) < 0)
|
||||
+ return -1;
|
||||
+
|
||||
if (virCgroupPathOfController(group, controller, "", &keypath) < 0)
|
||||
return -1;
|
||||
|
||||
@@ -2760,7 +2781,7 @@ virCgroupKillRecursiveInternal(virCgroup *group,
|
||||
return -1;
|
||||
|
||||
if ((rc = virCgroupKillRecursiveInternal(subgroup, signum, pids,
|
||||
- controller, taskFile, true)) < 0)
|
||||
+ taskFile, true)) < 0)
|
||||
return -1;
|
||||
if (rc == 1)
|
||||
killedAny = true;
|
||||
diff --git a/src/util/vircgrouppriv.h b/src/util/vircgrouppriv.h
|
||||
index 00193fb101..caf7ed84db 100644
|
||||
--- a/src/util/vircgrouppriv.h
|
||||
+++ b/src/util/vircgrouppriv.h
|
||||
@@ -135,6 +135,5 @@ int virCgroupRemoveRecursively(char *grppath);
|
||||
int virCgroupKillRecursiveInternal(virCgroup *group,
|
||||
int signum,
|
||||
GHashTable *pids,
|
||||
- int controller,
|
||||
const char *taskFile,
|
||||
bool dormdir);
|
||||
diff --git a/src/util/vircgroupv1.c b/src/util/vircgroupv1.c
|
||||
index 2cc7dd386a..8a04bb2e4a 100644
|
||||
--- a/src/util/vircgroupv1.c
|
||||
+++ b/src/util/vircgroupv1.c
|
||||
@@ -812,12 +812,7 @@ virCgroupV1KillRecursive(virCgroup *group,
|
||||
int signum,
|
||||
GHashTable *pids)
|
||||
{
|
||||
- int controller = virCgroupV1GetAnyController(group);
|
||||
-
|
||||
- if (controller < 0)
|
||||
- return -1;
|
||||
-
|
||||
- return virCgroupKillRecursiveInternal(group, signum, pids, controller,
|
||||
+ return virCgroupKillRecursiveInternal(group, signum, pids,
|
||||
"tasks", false);
|
||||
}
|
||||
|
||||
diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c
|
||||
index e555217355..8881d3a88a 100644
|
||||
--- a/src/util/vircgroupv2.c
|
||||
+++ b/src/util/vircgroupv2.c
|
||||
@@ -577,12 +577,7 @@ virCgroupV2KillRecursive(virCgroup *group,
|
||||
int signum,
|
||||
GHashTable *pids)
|
||||
{
|
||||
- int controller = virCgroupV2GetAnyController(group);
|
||||
-
|
||||
- if (controller < 0)
|
||||
- return -1;
|
||||
-
|
||||
- return virCgroupKillRecursiveInternal(group, signum, pids, controller,
|
||||
+ return virCgroupKillRecursiveInternal(group, signum, pids,
|
||||
"cgroup.threads", false);
|
||||
}
|
||||
|
||||
--
|
||||
2.26.3
|
||||
|
@ -1,348 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit meson bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc64 x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit +caps dtrace firewalld fuse glusterfs iscsi
|
||||
iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-1.5.0
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.6.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-doc-path.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
"${FILESDIR}"/${PN}-7.3.0-vircgroup-Fix-virCgroupKillRecursive-wrt-nested-cont.patch
|
||||
"${FILESDIR}"/${PN}-7.0.0-fix_virtproxyd_unit_file.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
# Handle specific kernel versions for different features
|
||||
kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR"
|
||||
if kernel_is ge 3 6; then
|
||||
CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP "
|
||||
kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM "
|
||||
fi
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_use apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Remove bogus, empty directories. They are either not used, or
|
||||
# libvirtd is able to create them on demand
|
||||
rm -rf "${D}"/etc/sysconfig || die
|
||||
rm -rf "${D}"/var || die
|
||||
rm -rf "${D}"/run || die
|
||||
|
||||
# Fix up doc paths for revisions
|
||||
if [ ${PV} != ${PVR} ]; then
|
||||
mv "${ED}"/usr/share/doc/${PN}-${PV}/* "${ED}"/usr/share/doc/${PF} || die
|
||||
rmdir "${ED}"/usr/share/doc/${PN}-${PV} || die
|
||||
fi
|
||||
|
||||
newbashcomp "${S}/tools/bash-completion/vsh" virsh
|
||||
bashcomp_alias virsh virt-admin
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# we only ever want to generate this once
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
rm -rf "${ED}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
tmpfiles_process libvirtd.conf
|
||||
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,335 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit +caps dtrace firewalld fuse glusterfs iscsi
|
||||
iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-1.5.0
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.6.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-doc-path.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
"${FILESDIR}"/${PN}-7.3.0-vircgroup-Fix-virCgroupKillRecursive-wrt-nested-cont.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_use apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
# Fix up doc paths for revisions
|
||||
if [[ ${PV} != ${PVR} ]]; then
|
||||
mv "${ED}"/usr/share/doc/${PN}-${PV}/* "${ED}"/usr/share/doc/${PF} || die
|
||||
rmdir "${ED}"/usr/share/doc/${PN}-${PV} || die
|
||||
fi
|
||||
|
||||
newbashcomp "${S}/tools/bash-completion/vsh" virsh
|
||||
bashcomp_alias virsh virt-admin
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,329 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit +caps dtrace firewalld fuse glusterfs iscsi
|
||||
iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-1.5.0
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.6.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
"${FILESDIR}"/${PN}-7.3.0-vircgroup-Fix-virCgroupKillRecursive-wrt-nested-cont.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_use apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
newbashcomp "${S}/tools/bash-completion/vsh" virsh
|
||||
bashcomp_alias virsh virt-admin
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,326 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="amd64 arm64 ~ppc64 x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
|
||||
iscsi iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
bash-completion? ( >=app-shells/bash-completion-2.0 )
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-2.11
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.6.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_use apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,327 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
EGIT_BRANCH="master"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
|
||||
iscsi iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
bash-completion? ( >=app-shells/bash-completion-2.0 )
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-2.11
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.6.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_use apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,327 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
EGIT_BRANCH="master"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
|
||||
iscsi iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
bash-completion? ( >=app-shells/bash-completion-2.0 )
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-2.11
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.9.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_feature apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,336 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
EGIT_BRANCH="master"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
|
||||
iscsi iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
bash-completion? ( >=app-shells/bash-completion-2.0 )
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-2.11
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.9.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Skip fragile tests which relies on pristine environment
|
||||
# (Breaks because of sandbox environment variables)
|
||||
# bug #802876
|
||||
sed -i -e "/commandtest/d" tests/meson.build || die
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_feature apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
# Don't run the syntax check tests, they're fragile and not relevant
|
||||
# to us downstream anyway.
|
||||
# We also crank up the timeout (as Fedora does) just to preempt failures
|
||||
# on slower arches.
|
||||
meson_src_test --no-suite syntax-check --timeout-multiplier 10
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,337 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
EGIT_BRANCH="master"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
|
||||
iscsi iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
bash-completion? ( >=app-shells/bash-completion-2.0 )
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-2.11
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.9.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
"${FILESDIR}"/${PN}-7.9.0-fix_cgroupv2.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Skip fragile tests which relies on pristine environment
|
||||
# (Breaks because of sandbox environment variables)
|
||||
# bug #802876
|
||||
sed -i -e "/commandtest/d" tests/meson.build || die
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_feature apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
# Don't run the syntax check tests, they're fragile and not relevant
|
||||
# to us downstream anyway.
|
||||
# We also crank up the timeout (as Fedora does) just to preempt failures
|
||||
# on slower arches.
|
||||
meson_src_test --no-suite syntax-check --timeout-multiplier 10
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
AUX honggfuzz-2.0-no-werror.patch 518 BLAKE2B aaf123687ea5f7fd584d1fd5e57f2f6ac50a8d80c3a1555d8b01d42df91a106848ec1d73007e6b67127e767770d91effa5e95dd9016f47fecac0e465e74cfe61 SHA512 7775f683cd5b22d91d3cf16cb0f8e7df50f5159a3f16ef42dc6125c961a856ddfc59c944319575e403747a2af768cd3f93437fc0bbc32bfc12f833f4cd7db0eb
|
||||
AUX honggfuzz-2.4-headers-musl.patch 1077 BLAKE2B 2b818c0a60e9ae13573cda4a16bd0432ad21d452c720ec2d4822ff8ef24d794821cb9f1ca7c973e6350008300bbe69d712db1468f1a946c24688706f49bc634c SHA512 a132323982c0fd22fba2ac1af1fe44233ded66e85d365d18718aa36a12c794c4562a4073340c356dcd1dae1a349abedc9e7e8a4b07006ec9f631426a49c6e953
|
||||
DIST honggfuzz-2.4.tar.gz 65224128 BLAKE2B b584b0f143fe64c8f64f134d7dc3116ec88232ec4a7b635d1cee2c8c5e7253524a8559c0b89fac11b67c1c3566891f189efc2201a1bf42410c78f211b2bc376e SHA512 bdb172e6e1f694ba8c200fb37ba84c4dd88875c9412fc26a45b7be302d234ac503c108eadb0c14fafbf8494ffaf70450975cf205e8a71b8b3b8902fdf455b4f6
|
||||
EBUILD honggfuzz-2.4.ebuild 1004 BLAKE2B 50d47caf6947258b642a7cd075bb0424d029d600c91e159441209b4023fba74beb22dd83c6bb8e810433565a1b34dd47264caa22b2ffddb20ac7348109f7c03b SHA512 1dbe1918f5149537aa3723d33aa9a5c050d1be94d7e8b068eee8d5b2de48068ff34c2bcce7ffedf7005f808f9b28bffa4d3a3ed71bdd5f6a69ce42d13649a9e6
|
||||
EBUILD honggfuzz-2.4.ebuild 993 BLAKE2B 75a575f29c1c53b74b21b5aaabb3526821f0d2b2c22b96cf6cfe126051086676c3391587513aa38fcd2c58589ebe8a0c335825f12721b2db03f724fd0ffc6c9a SHA512 5774074982a15f0a959953e67eaac7fdaa9fc89d9bed8de175b19729040e513edf8df12ed6c54f1d8f6778ad27682abaa4a1e6340813df72fc6663f16f247430
|
||||
MISC metadata.xml 444 BLAKE2B c91cbea147520dcda86e37764f46b10166bc25238833818cf961a2cb69b4711a4cd4bce87b55937dcdd53592b5cd2fc67d940d7d25f418c8338fa321709ae420 SHA512 38e00bb52cf6436c9f5c89201b5f0ae2b9f73a7c9df1a639e89bfe298b045f6b4181a620220a3e8b0f97f4d84a24d17f1db001de77e032bc6b51bf7f338396a7
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,3 +1,3 @@
|
||||
DIST emelfm2-0.9.1.tar.bz2 1217126 BLAKE2B 994fb55f9aed452cf0b01b7a26d0b94b8a02dace54eb34f764fe6d9a8c6ea3820d4fce3242daa452e972fd6e630d564ee3781af6480c3a812d4f4bbc66caae68 SHA512 bd3a1ad2338c80d6824a2a84736470ecfa7e93f455cc8e3243944833807fe9b3544e2fea6bd6ccbddaf0188ad89ce616ed146271f6ffabec80f5dfb2f1ad6f57
|
||||
EBUILD emelfm2-0.9.1-r5.ebuild 2232 BLAKE2B c6a43cef14c3bee9039776c898f15e8cf7963979423d60b0b84b52d7225d65c4a1b3883c4d5497f6ead6f3855f96606f91e03086796eaa9b00ad1f8bdc5baaf3 SHA512 cefe5fd46b81691a9bee99ff81fc0c9905a89eab450d5ba8dc418d6172a41207b82388811596022249c714b7cf874008ae74791f4487440ac2a7a3a9d640421c
|
||||
EBUILD emelfm2-0.9.1-r5.ebuild 2219 BLAKE2B 686ea83a9571d2d5aa8a8b8714ea3bedb4574582db368cc5a4fd8e59a218b291c837bb285fcecf6ee5f329e1a634a45faade684e1e4493a79f0456d2325897ba SHA512 a2891240e3f395ca4db7dbfd2bda701f53bfe991c43ff0cd81831001b5f910182929b1dbafddcedfd8c90732c6f77bd365bb7a106ed33bbe1b24dce81c4872d9
|
||||
MISC metadata.xml 453 BLAKE2B 5285d7e42c7bd86e71554e1d66046fdf07831f7ace3261e3fb1c8d1930e6bf1ea095d87df746549ca5bfd08415aa699c749bed0113c2c8f3740f972e4b472e96 SHA512 8041ba33904c5c3d2612f8cdcf567e8fef6227764d5d8968f39e0545883d220bb51a3ed30b40ef1726c02800a373d134d6ed8e4736eec31c1bd7e36169344c35
|
||||
|
@ -1,5 +1,5 @@
|
||||
DIST mailcap-r2-1-53.tar.gz 27238 BLAKE2B ffc9067287d951775c417d7a583a9f64fc09f98990f3f760643e76e3b91d2205040828cd452aa1004f0bc76c3e913f5da93887b385cc3cd9464327ba1ffde57a SHA512 3f952a031f9e86321a4583dba42fa7778a2821c55fc42b6096cc56c531bc957e50c545ab0d470ab72782eb3815e8278df122e20c1ae532b7bbb55db12e00cb77
|
||||
DIST mime-types-9.tar.bz2 15524 BLAKE2B 075f73f6d41a6b9100baf891378b12658c1370ac3aee8ba47cdb972cf30835eb2e9f6eb8a6314a7097dc5f90b091607519750860b065a2c4a822e26223925447 SHA512 066cea30c02a326e64680422b31aff0849c0a8c7486738f2edf339b88426c6ac5a365d4fa4c80c84df0fa4c39b5e13d45db314a1bf47ce369c132dd1c46130d6
|
||||
EBUILD mime-types-2.1.53.ebuild 710 BLAKE2B 51cd20a67fe902cf886d87789915269f4672f561f1c29fc10cc0e58c399df65270cd37270f54c360b90f880055b83417d6c11ac7310c1e2fe2f50a99d5072223 SHA512 7ff7021d62eabf235f718e52bd27d882722484bffc06e8354505617e4fc958087d2e1634a22897ee8dfd371e81c3fe0a11123754c1b836b7ab8ed2d4c76c81b2
|
||||
EBUILD mime-types-2.1.53.ebuild 703 BLAKE2B 01e689dc594dfd1df8e4646fc743e1ed997423d8e357c9e9365810f20ad328c8218fbd7f974d133b7dd467b4721aa09a93fe4e2aa106ae7a5afc9d1bb0b178d7 SHA512 7ca28cc9711c0260896a1bf00803ddd73cf9fe17df8672fd7136c7b18f12928dd4826ffc44b413e9cb795112df885c56eae724d9aa3bebfe4985aa755fdb1c23
|
||||
EBUILD mime-types-9.ebuild 531 BLAKE2B 947831854c9ac5abdad5073c25173347d6d3d6e28c1167e67a61e23a5c59f409bfcb91f8b5be5318b61ef58f66c481f6ea4aec6b7324e7fdb844e6d6e59519e5 SHA512 17894f9313fb1e02b6762b58e4ca33f334942f468a872df0d23273f66e4e5d33405d119e813ee7a25563cd86c55069bba77ac74a74b08d6a6786f41556a44bc1
|
||||
MISC metadata.xml 352 BLAKE2B 462a2f661aa883b7674f2f1cf0cba158434fcfdff203f3a725b4b0ff394e8825babe1d25b37e2c4b13e822dd448a863262530e29610d97ba858d3a697b9c19cd SHA512 32a3007fb66e92f7dbc4fece550e44d7beb1f59f4142cfabbfff1448cb4b9f1ecbb2a69554b6dc649d505f1eeb6e2bcf7f9c49abeb90968fcfc9fac5aad067f1
|
||||
|
@ -1,7 +1,7 @@
|
||||
DIST pax-utils-1.3.1.tar.xz 718384 BLAKE2B eef34077dfaceba1bf6f3d56b5e9990090e6d6c5d8c14f7f4bd8506040f0abdcf1a7bd52c643092faa74d991f22ed48c96924572a50c556aaf879dd411569457 SHA512 1a3a463f3864a420b4dcdd8e5736fbee785ed7cb19545966819493cc98d3cea670eb44592c7f100188b2d45b58908bc1f8e2e010f8842c51b70495b260a03102
|
||||
DIST pax-utils-1.3.2.tar.xz 725916 BLAKE2B ff792288b22c185501123d3e152ebae891585d5fbbbb1957f62c68fca3b342b8ca986d53611677aff4566ad4483afb3c69f40738be4cf5d653ca469e72b5661a SHA512 50330a34d9b7b33c67be079eb871e6dafe29c72f2fc42fec0e51aa9a2e0c1eb95e6d27a4dc1affe6647cdf4c9357545336d48c9e27a7e0106d57532a0f53cdcc
|
||||
DIST pax-utils-1.3.3.tar.xz 725900 BLAKE2B 17004a4fe57f05e80e0c51a156931975cbaf73e20d96fa50dedf6bd1538ff3f8383591f4b5fd0df926a6a6b75cb083724aaf92b1a4d4ebc67290500520919c29 SHA512 bb0d03371cf8f0cc26a83cbee888a6d91e70416dedc740476cd5549ddaef67048c6802e30e469ab1aced0fd7f63f84e9644744602b2d483ef7af37191505f72e
|
||||
EBUILD pax-utils-1.3.1.ebuild 1719 BLAKE2B 9d724765a17ff80124a23708f1afdac0b3463c63179f4a2d6b1e7203f7679409e1ff10b933e203f7da8d5e2d449089b4b3764691022be093412fd034d2094eeb SHA512 fa635b56027db1a4728a23630b6c42af4ca9b8c9761169131ef32cb012135112ad0e5d72b4363401f5c065504e82dba18e3c59598886bd0499b0dc440a649916
|
||||
EBUILD pax-utils-1.3.2.ebuild 1679 BLAKE2B fa5f6f298fd3096dd519689caa02c070420d26d83bf7fdb76497f3ed961fc806140b2e55d2f4b18468cabe4ba4e1606c8366b3123bc6c9675c6f8c84f1767076 SHA512 e64171995fe86a47698ad4460ff6a24f5a53fea5ee726df4f4091dc1909024c814cd582de54d7ce97c2b26b5b3b7647e7cdcf12fb60fdf7468db77d14bdacb3f
|
||||
EBUILD pax-utils-1.3.3.ebuild 1837 BLAKE2B b3ababd7d0a0b7213e155ce6c4c7c9501d2381bb6db829bc9262ead571e8ab98d64363a3309882209c08fecdf2b21bcb3d0baf56002a0ea1a917f0123948596b SHA512 6a1bd6653fa8c416ef4b0b39135fb61e1d5ca4d6d4680ae7e842b2be170dcbeccd5674190946454c9b50fdeb725c370133134e60aca779e9cdff96de37d2d5fa
|
||||
EBUILD pax-utils-1.3.1.ebuild 1706 BLAKE2B 7ae3c220eeb4628635eb153defcc191ed539920fd85e6bcce381ed1e11db9aaa4ba58e09e56942401a04a4b51d32568a4689284ba0511ba11368a2addbbb4b4d SHA512 6bff379bed3e0b9f9a81af330e731abbc0c4c8f4e7cdd39bbfea7471970f90866f3aa955be8c354f7f96a32c294375a5cc4617a6bd0bd9d0216a231fe1807df0
|
||||
EBUILD pax-utils-1.3.2.ebuild 1666 BLAKE2B 91f44eeb63c978c4c16d2b0e5038a71b7bc8832f0da82de5dd009ca4f92faf556f5482545e58c34380788789d33f2134da2f85459cfe831e9080f5721fa4d884 SHA512 4c0a6eacb346a634c441befcca7f2c037301d99bee7e202b4d3340afda5e243122b0689abce3fc90bfa05b5ce522e7e444d7df30e17cb432e582e4fe7787f711
|
||||
EBUILD pax-utils-1.3.3.ebuild 1824 BLAKE2B 4d5e2039ad372c70caf76594938228223c1169e984b3e7cce0dd8f892ad137b910d65a985bf3ba7ab60a1b9a89c7fe04eb7e3c2f0b0436c1371a3717f5fa24a1 SHA512 f9ada3fea1b51dabdb6b12348ba6a245cf31462c3f8d7ad71b3352ad481edd730c697c76a80608abc7379fc66aef5d57ed7068ccf2d94fcdeb5e0ac3c0d8fe4d
|
||||
MISC metadata.xml 678 BLAKE2B 347b6f8175b20bfa4f592b41b15f5fa8228fb3e657ab86b4692aef468130e7625e41ec1266a89ed1fb2a81d608eecd957e773863b440afd7bf83873a357ec7ce SHA512 e6739b52ccaf7f8e4d0c3b173c85b368c974fd62b231ce83513c342b9e3148b5b29aa7f985af929d3d07e9d5808ff6aca575b88dd23f0b25bb89d952fa45dc70
|
||||
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
DIST rush-2.0.tar.xz 810096 BLAKE2B 793f341910cfa5e1560928ea96234ebcd5185e00450c81fd03e67598227973248ebe2dd12fecaba135fcf991d830e44d2e8b273ff251d1f9b8038df2575ae3cd SHA512 7087962d0489e2cdac903abf193e7b1306ae8f76eae7f722f105a70a14aae3d72627de230edd104da34ea31aa07cdc8024eff33a9c70b987a2111435fe2a684e
|
||||
DIST rush-2.1.tar.xz 811160 BLAKE2B 88cd95da8b3ec03f52bc9a38e44091051f5b7daaa7a49c630f6ad30c5c6e3945ec69225dddcdfacefdbe9aa39e654fc65965af2c5925848c61975413692f95ec SHA512 388439a5436429eb0ed35009b8828a14566fd2e3671eea5e4d88285058084e5c921088824cb3626d755d1af4ad83a3edd39648173f0f0bafdc5b8751e94524aa
|
||||
EBUILD rush-2.0.ebuild 530 BLAKE2B 3aaf60da7cc41d208c54f5c8bcdf7c4d43296d3fed2523720ab9032c2caca68bef91f03171101fc1df93f4828b0583a04deb7038c3bbd41564c96a0f281c84a5 SHA512 5822d08860a3dcc62345a35542505cbd2ef280fc60487c60fc6d3f79be693469cdf3ce45264a20814d8aed91e09e2eec7db3fc46e16b44be26c111bb8761b877
|
||||
DIST rush-2.2.tar.xz 815380 BLAKE2B 90858039d428233af389aa3d63b8b40c3415210b0145a524e7b18ec4f348f8694f0d6794f2646669c6742da3a7d85c3931ac3a65d4d3fb57d1d8be945d84cc10 SHA512 aab8ddf2eaacee6a94ad0388376d5703f96e8dcbe794bf38e7961527448b998450cd51b7593d2b1424c274a6cef273ae0c194e446871bb446beea31f2b5c8144
|
||||
EBUILD rush-2.1.ebuild 530 BLAKE2B 3aaf60da7cc41d208c54f5c8bcdf7c4d43296d3fed2523720ab9032c2caca68bef91f03171101fc1df93f4828b0583a04deb7038c3bbd41564c96a0f281c84a5 SHA512 5822d08860a3dcc62345a35542505cbd2ef280fc60487c60fc6d3f79be693469cdf3ce45264a20814d8aed91e09e2eec7db3fc46e16b44be26c111bb8761b877
|
||||
EBUILD rush-2.2.ebuild 530 BLAKE2B 62a31d039931e0422f538fc22070a5f69f6d0a7737b2a6483fb6872af407222c7be7f6ed147aaf9ce7f6257ef9434d21277b206393bfecf900414de729bc5690 SHA512 625c9d30454d311e4d516fc03bfd0384205a1d92c34aa3789e82d25f584cbadbc485e83910b130bb68b805626513ec784ff856e5d8a309c978f242922243cd34
|
||||
MISC metadata.xml 258 BLAKE2B bd458e931e669f3599d041086b28cb8e05f9daca13a17504ca4bdf6a19f9e0e0bce389981d9b65875a04e7a6e068aab4d7f92819a6c545638a1e37ed462866ac SHA512 f3d8019f0e5fb12b60d75645d9d8468cc5ca283d1df19b23604a58221cf08b7a5b63744e4e99f26c80b798e2caf52c5a69f8d383c3aed06f7a1996e72f7f36bc
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="Restricted User Shell"
|
||||
HOMEPAGE="https://puszcza.gnu.org.ua/projects/rush/"
|
Binary file not shown.
@ -1,4 +1,7 @@
|
||||
AUX kjots-5.1.0-akonadi-21.12.0.patch 8215 BLAKE2B a192b70f325a84423b88144fdb5dc70a07b10c84cb0feb8faf74859fd1668f97db6972841bad74e313afba46c09cd2d882297cc72b1c8c00e9b5dfe68874fb75 SHA512 5487f7ea196479a64e72d8a8fe2f9f7ba7ed60c3932703795f0698325c737d08aff3c63d36ef60a9c66f2660f6c5318239c493db926d50a98df61256be0b9f65
|
||||
AUX kjots-5.1.0-implicit-dep.patch 983 BLAKE2B ca6a6b7b8e72aa0729d3e7ca9d5ecdf24673ef33ef8b752dd5513b93fd25d4b6c1adebd8a8b238d29d04c2bd6802f3303d968effed54d16dca30d6a96815fc11 SHA512 7c68f0807d764222b5b4b8114d4cbd7bfc4922d735b1a12de621bed943d666a4fefbf17ce7ea43eb6cca029cb77b1fb7d217279b3be1cb5a99a3db0f5fc530b8
|
||||
AUX kjots-5.1.0-missing-lib.patch 683 BLAKE2B 719f3c4ef39856c33b683f4c7edca664f89510f6b1f21ffd2ca285eb63db4b729c9b2091c704452adbda326eaef61ebba9b3ccce643548c1bdd2f3044687af92 SHA512 c87c741b036b5958faa3a9c892be469ea73e8809807da8f000fc55ae4219996731907d458cacae3f08eb0c3fb8d40e391490f03047dbfed900a3253bb46536c3
|
||||
AUX kjots-5.1.0-unused-dep.patch 1423 BLAKE2B 154509cafb0c5822e5ceff10513967e3899d474fb471bb312e0686d6e2875d57c5a7bb8b7392efb211c74f0d31e274a62643998132bdcfc09334ffb26c78c1b7 SHA512 ebad6d5f26af8ca1c55302f9a2fbedcfb70f07bf09cfc8fa4446bdac7ac9ec182523659701e35a69d559772e65786958d3ef434fef4bdf9d75420b5c41241269
|
||||
DIST kjots-5.1.0.tar.xz 184972 BLAKE2B 28bea486bcaa552b7463f9a2132230d5729ade7a2eadb06f66f958c660117bd3a1976d6da14f1339abfbd39930708fe77ae923042a0bc8ca59bf074e409375ae SHA512 71c30e0810157cf3d039e683d368cfa9fa3ec88918eee2d85477a9eb9f073af43dfb2318957019f35503d484e2521289bcb043ff9bfc2822eb900a2f5b8d5d62
|
||||
EBUILD kjots-5.1.0.ebuild 1283 BLAKE2B 5d001a7d9f3bebd982ab6a4eef595a3f17f675c479863f04d57064fb220358f646608553ac2d6cfd501b09909ad1864916a09c238b6f774d47bef0dab10cc077 SHA512 1e7d7cfc3239c4ee568478697e9140f3e7ab6e0aac2e79aa826f0496881a6e3f2b21baf9c0f29e7360e983e9bb56a10bcad9ad8d6dc975bf02e0065a244b7db8
|
||||
EBUILD kjots-5.1.0-r1.ebuild 1415 BLAKE2B a1e6a7c83209627ec20b9f6a9b470964dbbb2d94f09e3950c11b6d7414538592c501f09f0aef808c87fe8f4194b9627a92f8759af47a534292e73719fd022e73 SHA512 c6708d59c260f9637d3fe653629810a94b564145c0d076d743aba934fc8ad008e8aeaf79d1f895ce3df0f49764b300a8afdfcd76bcca12ab7acbd7c5592fa7b7
|
||||
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
|
||||
|
@ -0,0 +1,272 @@
|
||||
From 581548a1de9449efc0c77e9ac85c23066bac983e Mon Sep 17 00:00:00 2001
|
||||
From: "Friedrich W. H. Kossebau" <kossebau@kde.org>
|
||||
Date: Wed, 8 Sep 2021 00:58:25 +0200
|
||||
Subject: [PATCH] Adapt to new Akonadi libraries includes using the C++
|
||||
namespace as prefix
|
||||
|
||||
GIT_SILENT
|
||||
---
|
||||
src/kjotsedit.cpp | 5 +++++
|
||||
src/kjotsmodel.cpp | 6 ++++++
|
||||
src/kjotsmodel.h | 6 ++++++
|
||||
src/kjotswidget.cpp | 20 +++++++++++++++++++-
|
||||
src/kjotswidget.h | 5 +++++
|
||||
src/noteshared/notecreatorandselector.cpp | 7 +++++++
|
||||
src/noteshared/notecreatorandselector.h | 6 ++++++
|
||||
src/noteshared/notelockattribute.h | 6 ++++++
|
||||
src/noteshared/notepinattribute.h | 6 ++++++
|
||||
src/noteshared/standardnoteactionmanager.cpp | 8 ++++++++
|
||||
src/noteshared/standardnoteactionmanager.h | 9 +++++++--
|
||||
src/notesortproxymodel.cpp | 5 +++++
|
||||
12 files changed, 86 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/kjotsedit.cpp b/src/kjotsedit.cpp
|
||||
index f1d61bd..c20bc42 100644
|
||||
--- a/src/kjotsedit.cpp
|
||||
+++ b/src/kjotsedit.cpp
|
||||
@@ -33,7 +33,12 @@
|
||||
#include <KPIMTextEdit/RichTextComposerActions>
|
||||
#include <KPIMTextEdit/RichTextComposerImages>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/Item>
|
||||
+#else
|
||||
#include <AkonadiCore/Item>
|
||||
+#endif
|
||||
|
||||
#include "kjotslinkdialog.h"
|
||||
#include "kjotsmodel.h"
|
||||
diff --git a/src/kjotsmodel.cpp b/src/kjotsmodel.cpp
|
||||
index e35c94f..99ee14f 100644
|
||||
--- a/src/kjotsmodel.cpp
|
||||
+++ b/src/kjotsmodel.cpp
|
||||
@@ -13,8 +13,14 @@
|
||||
#include <QTextDocument>
|
||||
#include <QIcon>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/ChangeRecorder>
|
||||
+#include <Akonadi/EntityDisplayAttribute>
|
||||
+#else
|
||||
#include <AkonadiCore/ChangeRecorder>
|
||||
#include <AkonadiCore/EntityDisplayAttribute>
|
||||
+#endif
|
||||
#include <Akonadi/Notes/NoteUtils>
|
||||
|
||||
#include <KMime/Message>
|
||||
diff --git a/src/kjotsmodel.h b/src/kjotsmodel.h
|
||||
index 71e0ca6..ec564a7 100644
|
||||
--- a/src/kjotsmodel.h
|
||||
+++ b/src/kjotsmodel.h
|
||||
@@ -10,7 +10,13 @@
|
||||
#ifndef KJOTSMODEL_H
|
||||
#define KJOTSMODEL_H
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#include <QtGlobal> // for QT_VERSION_CHECK
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/EntityTreeModel>
|
||||
+#else
|
||||
#include <AkonadiCore/EntityTreeModel>
|
||||
+#endif
|
||||
|
||||
class QTextDocument;
|
||||
|
||||
diff --git a/src/kjotswidget.cpp b/src/kjotswidget.cpp
|
||||
index 3a3abd0..834fc33 100644
|
||||
--- a/src/kjotswidget.cpp
|
||||
+++ b/src/kjotswidget.cpp
|
||||
@@ -35,6 +35,24 @@
|
||||
|
||||
// Akonadi
|
||||
#include <Akonadi/Notes/NoteUtils>
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/AttributeFactory>
|
||||
+#include <Akonadi/CollectionCreateJob>
|
||||
+#include <Akonadi/CollectionDeleteJob>
|
||||
+#include <Akonadi/ChangeRecorder>
|
||||
+#include <Akonadi/EntityDisplayAttribute>
|
||||
+#include <Akonadi/EntityMimeTypeFilterModel>
|
||||
+#include <Akonadi/Item>
|
||||
+#include <Akonadi/ItemCreateJob>
|
||||
+#include <Akonadi/ItemModifyJob>
|
||||
+#include <Akonadi/ItemDeleteJob>
|
||||
+#include <Akonadi/ItemFetchScope>
|
||||
+#include <Akonadi/EntityOrderProxyModel>
|
||||
+#include <Akonadi/EntityTreeView>
|
||||
+#include <Akonadi/ETMViewStateSaver>
|
||||
+#include <Akonadi/ControlGui>
|
||||
+#else
|
||||
#include <AkonadiCore/AttributeFactory>
|
||||
#include <AkonadiCore/CollectionCreateJob>
|
||||
#include <AkonadiCore/CollectionDeleteJob>
|
||||
@@ -50,7 +68,7 @@
|
||||
#include <AkonadiWidgets/EntityTreeView>
|
||||
#include <AkonadiWidgets/ETMViewStateSaver>
|
||||
#include <AkonadiWidgets/ControlGui>
|
||||
-
|
||||
+#endif
|
||||
// Grantlee
|
||||
#include <grantlee/template.h>
|
||||
#include <grantlee/engine.h>
|
||||
diff --git a/src/kjotswidget.h b/src/kjotswidget.h
|
||||
index 7fe91ed..00a41b5 100644
|
||||
--- a/src/kjotswidget.h
|
||||
+++ b/src/kjotswidget.h
|
||||
@@ -18,7 +18,12 @@
|
||||
#include <QAbstractItemDelegate>
|
||||
#include <QPrinter>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/Collection>
|
||||
+#else
|
||||
#include <AkonadiCore/Collection>
|
||||
+#endif
|
||||
|
||||
#include <grantlee/templateloader.h>
|
||||
|
||||
diff --git a/src/noteshared/notecreatorandselector.cpp b/src/noteshared/notecreatorandselector.cpp
|
||||
index 2172cbf..6d58c83 100644
|
||||
--- a/src/noteshared/notecreatorandselector.cpp
|
||||
+++ b/src/noteshared/notecreatorandselector.cpp
|
||||
@@ -14,9 +14,16 @@
|
||||
|
||||
#include <KMime/Message>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/EntityDisplayAttribute>
|
||||
+#include <Akonadi/EntityTreeModel>
|
||||
+#include <Akonadi/ItemCreateJob>
|
||||
+#else
|
||||
#include <AkonadiCore/EntityDisplayAttribute>
|
||||
#include <AkonadiCore/EntityTreeModel>
|
||||
#include <AkonadiCore/ItemCreateJob>
|
||||
+#endif
|
||||
#include <Akonadi/Notes/NoteUtils>
|
||||
|
||||
#include "noteshared_debug.h"
|
||||
diff --git a/src/noteshared/notecreatorandselector.h b/src/noteshared/notecreatorandselector.h
|
||||
index 90055cf..986d042 100644
|
||||
--- a/src/noteshared/notecreatorandselector.h
|
||||
+++ b/src/noteshared/notecreatorandselector.h
|
||||
@@ -14,8 +14,14 @@
|
||||
#include <QItemSelectionModel>
|
||||
#include <QTimer>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/Collection>
|
||||
+#include <Akonadi/Item>
|
||||
+#else
|
||||
#include <AkonadiCore/Collection>
|
||||
#include <AkonadiCore/Item>
|
||||
+#endif
|
||||
|
||||
class KJob;
|
||||
|
||||
diff --git a/src/noteshared/notelockattribute.h b/src/noteshared/notelockattribute.h
|
||||
index 9bdd8a2..b0ee819 100644
|
||||
--- a/src/noteshared/notelockattribute.h
|
||||
+++ b/src/noteshared/notelockattribute.h
|
||||
@@ -11,7 +11,13 @@
|
||||
#ifndef KJOTS_LOCK_ATTRIBUTE_H
|
||||
#define KJOTS_LOCK_ATTRIBUTE_H
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#include <QtGlobal> // for QT_VERSION_CHECK
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/Attribute>
|
||||
+#else
|
||||
#include <AkonadiCore/Attribute>
|
||||
+#endif
|
||||
|
||||
namespace NoteShared
|
||||
{
|
||||
diff --git a/src/noteshared/notepinattribute.h b/src/noteshared/notepinattribute.h
|
||||
index 3026dea..5f3903c 100644
|
||||
--- a/src/noteshared/notepinattribute.h
|
||||
+++ b/src/noteshared/notepinattribute.h
|
||||
@@ -9,7 +9,13 @@
|
||||
#ifndef NOTE_PIN_ATTRIBUTE_H
|
||||
#define NOTE_PIN_ATTRIBUTE_H
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#include <QtGlobal> // for QT_VERSION_CHECK
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/Attribute>
|
||||
+#else
|
||||
#include <AkonadiCore/Attribute>
|
||||
+#endif
|
||||
|
||||
namespace NoteShared
|
||||
{
|
||||
diff --git a/src/noteshared/standardnoteactionmanager.cpp b/src/noteshared/standardnoteactionmanager.cpp
|
||||
index a3f4b8b..2a2f4ce 100644
|
||||
--- a/src/noteshared/standardnoteactionmanager.cpp
|
||||
+++ b/src/noteshared/standardnoteactionmanager.cpp
|
||||
@@ -13,10 +13,18 @@
|
||||
#include <QColorDialog>
|
||||
#include <QItemSelectionModel>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/EntityDisplayAttribute>
|
||||
+#include <Akonadi/EntityTreeModel>
|
||||
+#include <Akonadi/CollectionModifyJob>
|
||||
+#include <Akonadi/ItemModifyJob>
|
||||
+#else
|
||||
#include <AkonadiCore/EntityDisplayAttribute>
|
||||
#include <AkonadiCore/EntityTreeModel>
|
||||
#include <AkonadiCore/CollectionModifyJob>
|
||||
#include <AkonadiCore/ItemModifyJob>
|
||||
+#endif
|
||||
#include <Akonadi/Notes/NoteUtils>
|
||||
|
||||
#include <KXmlGui/KActionCollection>
|
||||
diff --git a/src/noteshared/standardnoteactionmanager.h b/src/noteshared/standardnoteactionmanager.h
|
||||
index fe80dae..6605820 100644
|
||||
--- a/src/noteshared/standardnoteactionmanager.h
|
||||
+++ b/src/noteshared/standardnoteactionmanager.h
|
||||
@@ -10,10 +10,15 @@
|
||||
#ifndef AKONADI_STANDARDNOTESACTIONMANAGER_H
|
||||
#define AKONADI_STANDARDNOTESACTIONMANAGER_H
|
||||
|
||||
-#include <AkonadiWidgets/StandardActionManager>
|
||||
-
|
||||
#include <QObject>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/StandardActionManager>
|
||||
+#else
|
||||
+#include <AkonadiWidgets/StandardActionManager>
|
||||
+#endif
|
||||
+
|
||||
class QAction;
|
||||
class KActionCollection;
|
||||
class QItemSelectionModel;
|
||||
diff --git a/src/notesortproxymodel.cpp b/src/notesortproxymodel.cpp
|
||||
index 89def1c..dbe582f 100644
|
||||
--- a/src/notesortproxymodel.cpp
|
||||
+++ b/src/notesortproxymodel.cpp
|
||||
@@ -8,7 +8,12 @@
|
||||
|
||||
#include "notesortproxymodel.h"
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/EntityTreeModel>
|
||||
+#else
|
||||
#include <AkonadiCore/EntityTreeModel>
|
||||
+#endif
|
||||
|
||||
#include "noteshared/notepinattribute.h"
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,26 @@
|
||||
From 8803636bf4e0238d0f23bedebdcb4d1e6283ffb7 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Fella <nicolas.fella@gmx.de>
|
||||
Date: Mon, 26 Apr 2021 17:09:51 +0200
|
||||
Subject: [PATCH] Make dependency on KI18n explicit
|
||||
|
||||
It already pulled in by KParts, but we better not rely on that
|
||||
---
|
||||
src/kontact_plugin/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/kontact_plugin/CMakeLists.txt b/src/kontact_plugin/CMakeLists.txt
|
||||
index dec4b8b..f1d56ec 100644
|
||||
--- a/src/kontact_plugin/CMakeLists.txt
|
||||
+++ b/src/kontact_plugin/CMakeLists.txt
|
||||
@@ -13,7 +13,7 @@ set(kontact_kjots_PART_SRCS
|
||||
)
|
||||
|
||||
add_library(kontact_kjotsplugin MODULE ${kontact_kjots_PART_SRCS})
|
||||
-target_link_libraries(kontact_kjotsplugin KF5::KontactInterface)
|
||||
+target_link_libraries(kontact_kjotsplugin KF5::I18n KF5::KontactInterface)
|
||||
kcoreaddons_desktop_to_json(kontact_kjotsplugin kjotsplugin.desktop)
|
||||
|
||||
install(TARGETS kontact_kjotsplugin DESTINATION ${KDE_INSTALL_PLUGINDIR}/kontact5)
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 3d3cee8caeec813802a1af54c14805203fb1ddf6 Mon Sep 17 00:00:00 2001
|
||||
From: "Friedrich W. H. Kossebau" <kossebau@kde.org>
|
||||
Date: Tue, 7 Sep 2021 23:21:34 +0200
|
||||
Subject: [PATCH] noteshared: add missing library to link list
|
||||
|
||||
GIT_SILENT
|
||||
---
|
||||
src/noteshared/CMakeLists.txt | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/noteshared/CMakeLists.txt b/src/noteshared/CMakeLists.txt
|
||||
index 5de60ab..6aa0b0a 100644
|
||||
--- a/src/noteshared/CMakeLists.txt
|
||||
+++ b/src/noteshared/CMakeLists.txt
|
||||
@@ -16,6 +16,7 @@ target_link_libraries(noteshared
|
||||
Qt5::Core
|
||||
Qt5::Widgets
|
||||
KF5::I18n
|
||||
+ KF5::AkonadiWidgets
|
||||
KF5::AkonadiCore
|
||||
KF5::AkonadiNotes
|
||||
KF5::XmlGui
|
||||
--
|
||||
GitLab
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue