diff options
author | Mike Frysinger <vapier@gentoo.org> | 2013-03-24 04:24:48 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2013-03-24 04:24:48 +0000 |
commit | c17d991a59cfd1aecce5977f3dcbd8f7f641ad88 (patch) | |
tree | b338144c3e17342e8e39dc3f7919294edeee40b2 /net-fs | |
parent | Version bumps #460646 by Andrej Filipcic. (diff) | |
download | historical-c17d991a59cfd1aecce5977f3dcbd8f7f641ad88.tar.gz historical-c17d991a59cfd1aecce5977f3dcbd8f7f641ad88.tar.bz2 historical-c17d991a59cfd1aecce5977f3dcbd8f7f641ad88.zip |
Version bump #460646 by Andrej Filipcic.
Package-Manager: portage-2.2.0_alpha164/cvs/Linux x86_64
Manifest-Sign-Key: 0xFB7C4156
Diffstat (limited to 'net-fs')
-rw-r--r-- | net-fs/openafs-kernel/ChangeLog | 12 | ||||
-rw-r--r-- | net-fs/openafs-kernel/Manifest | 38 | ||||
-rw-r--r-- | net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-1.patch | 366 | ||||
-rw-r--r-- | net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-2.patch | 137 | ||||
-rw-r--r-- | net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-3.patch | 80 | ||||
-rw-r--r-- | net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-4.patch | 37 | ||||
-rw-r--r-- | net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-5.patch | 65 | ||||
-rw-r--r-- | net-fs/openafs-kernel/openafs-kernel-1.6.2.ebuild | 89 |
8 files changed, 807 insertions, 17 deletions
diff --git a/net-fs/openafs-kernel/ChangeLog b/net-fs/openafs-kernel/ChangeLog index ea5f2b4e60c8..250f8b12566d 100644 --- a/net-fs/openafs-kernel/ChangeLog +++ b/net-fs/openafs-kernel/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for net-fs/openafs-kernel # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/ChangeLog,v 1.146 2013/03/17 15:56:08 hwoarang Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/ChangeLog,v 1.147 2013/03/24 04:24:42 vapier Exp $ + +*openafs-kernel-1.6.2 (24 Mar 2013) + + 24 Mar 2013; Mike Frysinger <vapier@gentoo.org> + +files/openafs-1.6.2-kernel-3.8-1.patch, + +files/openafs-1.6.2-kernel-3.8-2.patch, + +files/openafs-1.6.2-kernel-3.8-3.patch, + +files/openafs-1.6.2-kernel-3.8-4.patch, + +files/openafs-1.6.2-kernel-3.8-5.patch, +openafs-kernel-1.6.2.ebuild: + Version bump #460646 by Andrej Filipcic. 17 Mar 2013; Markos Chandras <hwoarang@gentoo.org> metadata.xml: Add proxy-maintainers to metadata.xml diff --git a/net-fs/openafs-kernel/Manifest b/net-fs/openafs-kernel/Manifest index 9d6bb393450c..8fbf3e180bf8 100644 --- a/net-fs/openafs-kernel/Manifest +++ b/net-fs/openafs-kernel/Manifest @@ -1,35 +1,41 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 +AUX openafs-1.6.2-kernel-3.8-1.patch 11032 SHA256 7ce4fab26f18fda238bda02159187cf3400640ed40de7bf057b6013b8b3c4447 SHA512 f655adf4073dcb6fc3f427d9956b01846f625ee09846e0d5498dd509b2834c2b8cff7694b00a5162baa55aeecfa991fa5cfe990c27ea37688b6ed9423060812e WHIRLPOOL 4a4dbd3c2f932ee73e63579030fbd6eb9072b8e5b55e8ff85f098a58d1cf09d8e22e43438dcb150402f9bdc9f6667923bf017350e4518909b02a1d292f57b489 +AUX openafs-1.6.2-kernel-3.8-2.patch 4761 SHA256 6638d923ae70674528cb90dabb4c7dca4f1636f5e83394987f651811dbb52cfa SHA512 054fd7f03243b1bb8b4413265602792211ef0e0574572bd831826af40d0674d313417688cdd06a6e2968e7ee2ec46bdd9684c9bd50b961a5ae5369f08bd99c01 WHIRLPOOL e49f12c8c052a647ac0259bbaaed4b880a1741e0ae1a941dfbb21675feafd4f9062f8d0f6c0154cb1a3a9a4fa9d5c7952682df69ebb75655e9d155532fe0118e +AUX openafs-1.6.2-kernel-3.8-3.patch 2699 SHA256 41bd2ee35867f1899f9ae4bd7df38042ef591aae0330a27c32dbb725f15e648f SHA512 fb0777696dd1780ce0ed0ae3160fedf960df91afd680f0f11896d726beec06f3534a68abce2dbb474f171cd3a400f38d948971848a653f3d63d6f410ac929b7f WHIRLPOOL 1044b75eaadff4cea49cc315bdc8c9d36db9d957571cc50a716287fa5a25132a27faf54fb8c943b85deaa7de15ad75cce044536ab3eb86715e29ab5dd334a350 +AUX openafs-1.6.2-kernel-3.8-4.patch 1300 SHA256 3604174099c3a98a0596b86ed083c609c3124ff95fb73e44a81bac489a9f5c5e SHA512 feb75e80fb3ed7f868476abce7caa301908c5fda6b999e68891f174786f6b5151a9615491d6ba48bbe2b5224082ceebcc5d1d4b108a776eb104eac5e61afa0c8 WHIRLPOOL d3fa687fea25dbbc71d2dde86a57741d21cd4e6bc6153120c502c73cf7812f2ff511fab9c411f2b02727a4adbdec65c97830b7ae1315c45eba0d26f5f9baaa92 +AUX openafs-1.6.2-kernel-3.8-5.patch 2463 SHA256 745bdd7e75f65ca7af3caf5bf0a85fcba1ff17a2336adc4fc286d843f7af89db SHA512 3f11aed22890ab679cfa245b19af76267b0047fa4279914b5f7616646f455485cb67191abb5eab0aeecd845e65eca43f16761a5288492c5dd91be9a9e38399ae WHIRLPOOL c1dcd37946e053fa85b1ee9592c69beee7e01ee4d5b29545145d2d8f12f2a40efee94ac5e658f5cc9199ac1d3cb5168918c53b205f2ce959aa4de28ff9fb8468 DIST openafs-1.4.14.1-patches-1.tar.bz2 12912 SHA256 381755cd88b8171a8c605f3bf4acc5bb1cb37093aa01d9e96ad11f0eb32dd239 SHA512 424ae7bc40dcdaeaf89d5c27a7e93f1f62451c3a110c4183fbfb239a037d6ca9e099a879fe104ec42ebfdfa770b1f358b7dc355f7dc2f7cb3dde0571a5184e15 WHIRLPOOL ea1d945a7edd4b5dd2008dc48d7da854fab011b52b2a3297264d4a1af5586241d8a00bb99a445195a14d5f7085faf6890f1687120d990f5ca1f7f433560c7af1 DIST openafs-1.4.14.1-src.tar.bz2 11812593 SHA256 49eda1f6cad3d425426deb72c91a1cffd2273917dc28f82da0a46234bb99af3b SHA512 93137416903340775f0253224f8da7beac958ef76e418892d24adf190ab9513cf1fc5b93ee34d83a7feb41e17e3cd89cd6d98e2c057eb1313ca2d42cd33d3370 WHIRLPOOL d48b49a991c740fb4f6fca9829fc45051ba9356dfda407b6d31ddd2ba6773a661d6c6a09dbe3a0dd1aed57e0c3951ed991cd6bea3e44bded036ff96521e8da43 DIST openafs-1.6.1-patches-1.tar.bz2 9897 SHA256 d1fa13b60eaa0e755e379c2e0b05fe08eeb2f9a0c247e036139930969bfd4fde SHA512 898a9e3533e2708b8c966713becf5c9e7d8773dae3dd63d6e8392355aeafaa45e7626b1f25be7b2a059b49bbdabfe23a2ce44304d22c6e589460b118343b7cb0 WHIRLPOOL f967b9d4f0cf9c1232067a51dd84fa724c3b3ce40d02227fdb05b5d76e478a53f03a7fed619af5c6b3a4d0f842da057b1aeb5fa86767d5e55a0253250d243a44 DIST openafs-1.6.1-patches-3.tar.bz2 18030 SHA256 76920804618bf09bba2d847ed280c3efb1de52a31f417bc0f8a50b2ca8a9aa30 SHA512 751192ebb3bdea43d67d584a250e4dd7ef9414e7fd43f596bd6f0bf5094654d53716621170c7f5b0892423d2c98693c40a056bff4b35118866000a50e9ba94f5 WHIRLPOOL ab44bd977a8b49bc01b6433d6d468e918fbe73accaf92351daf341dac0ea8d0e3f6b63b4480aae67d833f251e5ec91820e5d9280d0c98c985052d10e33d1fd3c DIST openafs-1.6.1-src.tar.bz2 14356434 SHA256 d05ef7f8e89b6939726d93bb46d4353e20a459890b9c3ca3065d50de408bf5b0 SHA512 c0781a8d64fa9a816f043056ffa93531d0a5ee854821503cd07a07d6a2de9123681f9ed6a478101837ce101cd260a5a093664a90a0054caad87ad683911829cc WHIRLPOOL 87803bbc559dd4b0d56d0217b84d46fea1375cb006b74df31b13a55e80ab5023b2c5cc001dc70def608841b56933b1da86bbda6da4e04abd241957d75d644ea4 +DIST openafs-1.6.2-patches-1.tar.bz2 10880 SHA256 bde25a4ec9ab38cb9864deb38d4d3f4b3affc44969c072a3329844dbbebd1c5c SHA512 f6cd5916bc072cb855a0edfb640cf53cfdc5fb7d3b9ed0e23e9c739ea4f046653ac60b731cb469838085c92286485fafa00807b857f89ca2c90fea3dce2c9a56 WHIRLPOOL 93a6648ddc8e35c05c176a9d835fefcd97afc217bbf80547895e5da40ac4e0a85842dd89c5b3074986045db67548f766a72cd5a2c05eb24c62ae04f26a490e04 +DIST openafs-1.6.2-src.tar.bz2 14378378 SHA256 0db0877cd42131a744472ad0abfa26a4402a5bad94adb4d1eada75c8b6895bc9 SHA512 769b82d4ba8fe391f7dacc1f422d0bca564450ee3e05da34296aa461fecab825956e2bea4849af65af8592ffe50853e725ee0a700c1afaea67652adf8a93c01c WHIRLPOOL 61947ee3f0e3d7107f3611add14bd90ca1f5744986f75a92a28f6ccda8936f16441ec819640eebbd0cfaffaaa716c3077980b28512a84e9be770a4320a19997a DIST openafs-1.6.2_pre3-patches-1.tar.bz2 10880 SHA256 bde25a4ec9ab38cb9864deb38d4d3f4b3affc44969c072a3329844dbbebd1c5c SHA512 f6cd5916bc072cb855a0edfb640cf53cfdc5fb7d3b9ed0e23e9c739ea4f046653ac60b731cb469838085c92286485fafa00807b857f89ca2c90fea3dce2c9a56 WHIRLPOOL 93a6648ddc8e35c05c176a9d835fefcd97afc217bbf80547895e5da40ac4e0a85842dd89c5b3074986045db67548f766a72cd5a2c05eb24c62ae04f26a490e04 DIST openafs-1.6.2pre3-src.tar.bz2 14555926 SHA256 f9f7fe6924a40597be0199fd5d67636fd8cb6110df7e5d5510e46c509ce5603b SHA512 25b3ef26753caf8e492c2b10b574a1c8d8f7ace4ac049ea2ebef7188ce36d16a18e2d9d82246643974ba860e1b6e937cf0dc86f199636c3a885d8e097ab1086c WHIRLPOOL 470783823605b5c7092e752d2ad2b0d999ef06713e4abe487c5a1566562b6e568a8c4c5496a4932d7699c53c88303e6169fe2f48828a9bb3309df4c22869bc10 EBUILD openafs-kernel-1.4.14.1.ebuild 1825 SHA256 fa69646b64b61622362182a523358daed94861fe8cfa5104aa2e913bcc56b9bb SHA512 0165d07016f74ad617a0d2a04678cfe6f751975c60f69e07805b61c23e542bfbffdc55dc28b85e89a7dd300aa2bef2a94ce235127f2a3a87f49299e917c4e529 WHIRLPOOL 6aec78475170dee0fb213b6d1eccbfb2c0cfd0a1e382b13315ea3429c38130f5f728fe880732eb3308ad0ad9d7a6930a32ac08a67553adbc799c55d7a26635d8 EBUILD openafs-kernel-1.6.1-r2.ebuild 2544 SHA256 a89df2bc4b17dbdb30a0c8b5f4d505fdd1752a6e54b4a784030b0ee32572ff18 SHA512 7d9fbd637cbdc65519dfd77151adc2cbafbd6a4b424c6898bef558563de8c1e415caa1968777a8f24c0ed7353b27b5202bc51c53cde24ea523e1a647cce64e51 WHIRLPOOL 504c1277c3f722e7c3071555b14f4889de5e2f9095f03c4562c61f8a5fdf2eab7b3fe23fb634b9538ce73ff580902cd031ffd7a7c357e5976babfa0f900eb87f EBUILD openafs-kernel-1.6.1.ebuild 1910 SHA256 51a4d1a592738b9587c2bcdeed33cfa18b068f8c8df8fc530b34de43b42db562 SHA512 3c4da2e98f378e0e3d340c1159bad03b39acc605f8be28bdfca4448f348c6c19cc643421ae17f6cc44a4efcdde2eba8cd0299b577227a6fbfa028f75f839db32 WHIRLPOOL 1ef0698d8c23094082edee9126f290a64756a484389f5a907f4eebb5aed79c8d07650bdd196d7ce65bdb875cdbe45b1a0874c6a2c67d7c1e8c4261bda48ca69c +EBUILD openafs-kernel-1.6.2.ebuild 2604 SHA256 35bfc272d5a91c4d5b5bf32fdf0419e2d7ce10d9017967c114cb6b97ea81cbc6 SHA512 e1a320ffa77a796941ace90deaaed8be479249b542f6ac703b35518e7343e347fd8658031ac7555d73bcd46045eb179c15c494d5c54aa872e0b80c5d092767c3 WHIRLPOOL 86de9bff5ab4bdcbf998ab5ca6f99768e506752f4f953bb02a0a68e4a120742ec4aee4a3dad0d1ec34400c4ec80fdd507eed89d106f8a4fc0ebd9fb5e461f522 EBUILD openafs-kernel-1.6.2_pre3.ebuild 2551 SHA256 5115cbd9c69164c8004d8942bc1d60d25422bec476be18ec220f6c25e075d35d SHA512 775b56a3e839a551dd22904936963e759b2102fb31f6883b1194243383beba3065a73aa744b024ec597407535aec3c35a5119b1f4e6659fdf288225fe300f32b WHIRLPOOL daab892284f4629f5aed069b62e1187d6df8b8412f9ac88de9f0a90d274e493fb984bb2daf6a0fca1070c09ead00113247a954bfea25a19397203267b4265f68 -MISC ChangeLog 24205 SHA256 2ee1f13b53412223b9ebc2c3c8ae29db466ca17a66c29b5ef42458f48f723eb0 SHA512 7be1af7da911ed3aeaedec110590048f1658018d1f133a02ad6498875dd3e3791abc8a0a707bb6f6dfad3e4bc00d6718f80e87ce22ef0275c62d6ab7b3f9a47b WHIRLPOOL 6a2087882f27d0c32deeb4803498712e418c2a838e2406d289bac79189814aa2bdad98d5ab467516086ececaf16ce27482668405f8e19fdf537223e44ff4138c +MISC ChangeLog 24579 SHA256 cc5ddc62bca92369a1c435e0da7b99b96f8530d283b9c63193609710099a8b6e SHA512 e93a29e84734c8268a3eed90fa704a907a70e1e767a77933267dabc4c74fe9d7d4d2be99d99807bd4c7b1fce55c27c3f8aa78eba0ee67792ed05eae7595ba000 WHIRLPOOL 74f09486bd9ba8e848b5edc895e73aec79793f0fe79c111c0c2110aa11d29a2a42835529249b0bda45c89c194fe1849568d7c1ada629aaafcb86a03fc52ac5a5 MISC metadata.xml 286 SHA256 b3e704b0f9a832001902f16472eafe5d2aa59afbf04b1eb6cf87f927316d87d3 SHA512 203f23847bccc6104cd62343070b5ead629a5033bf88b5468420628189d260f435606f7185c555a9849cee50ca855c370dfcb19426c6bc11b5c2da1b331e693e WHIRLPOOL 3fe5d977e05abd548bc36fa5f9be966e4cc5813f37c7052a57ba921b2540b61fd15d664c385e710ad857615a5643e599fb66fa623a29cb67420ab38a2e1d8730 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) -iQJ8BAEBCABmBQJRReeZXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w -ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzNTVDNDczOUYzRjJEMTRGNDRGMzU2RkMw -OUJGNEY1NEMyQkE3RjNDAAoJEAm/T1TCun88hw8P/0gJdH6vE7717PqIhH151szA -U5/5Dqrvc4qtw+/RCo+/Sp13lv8YHfgj0hEMQtwRVDVx0HH1daKSl824Std+gShY -kbZihSjod6v1aYraA9N5jDrE0tz2xHCFDLlppsuEUWxhohRabJe1enw9lxJtgrA3 -oNvnC91h2Xa0kQ1WS1Hxl6TGjVF2gcTmjUwHl34LqcYIFyfsffmxKiqHrYaJfKKS -sCMFyfDN5vY4+16L7RLLUjDYFGh8y80Dc6siZIf4jrcSiGv7QlLgNQyHTP6fS9N2 -CwNSp8c22ajTE2xVs1x9OicpX4htXQ/fnyCnA8F6ta8zqsDT0wFHsjESf/vogv1z -hAUWICYJZbbv7qY2OFM5u0cYhweWjdvx/O0lCjbabvNg8mlMePqgFLaB5KjWsr8f -hSLI0iL2VZ7w5104bRaX2ODy/TJGMPCmYIrBKig5Z5Iep5OEtEU8zVxe81OI7CoV -ucP2jj7CZYd9cUDh6rxPlor75/Q/5o4NBpN1N5DaO2+65f0R1MC8Ty6bHkU4j8Cp -8VtaneWH5HmNPy5BZJJ5T1pp9SC7g+kT+YbN48bME2HlAo4AbMOcaPXK4eDXnHnZ -R+Pj2Bs/vbJBDBoWv9n1M4mGzCTn2qKl6Kaygd3Zs9EMCc2t0DcMw5z55/UmX0Jo -/ayVYbeX45b1hFZkrw9y -=5ffm +iQIcBAEBCAAGBQJRToEHAAoJELEHsLL7fEFW5OEP/1h2OVTVhKJh8FB0OE3fS/fs +fb9qSoH2l9nTP8GcewkJQqOstkyxyy9VDjgu0qDgSy8WKauDIQipn/aeFkNuXDA4 +p7v6T3R4X6r344DlXWdobBwm9ymP3JENeOkXBELfM2nQatJGpEYny/q10ogGCk17 +bBgpGrcWTMqne5372pRTzHq0LLnvMIm2g7VuRSqRxZBfBNcZ4FdNWLn5I8RkrLz0 +qX8Cetf/YfPpaZkOosFlEizh6smW09zjJ3lGOCdD/HekEJgov3jOQ1ffFVl0W8S/ +DWnXupqW2TPdvSnvTzlSlPSqLfxsbbg9PvNPjOds2rW8N00utjfXCMsNxjbcXTV1 +Gg6sSJd4cpDT4ZyVMb7A4o+lSNvDeQYUy2rM19ySycYXxwST+SqmHjLepQ1ByL+X +mM/sB4gE7/3rtB5JN4jdh2HkZ/0II8PBcugXKbOf9ndCbvJl15DBF4gnS7XUhUwJ +xumbWm/HAkDYzUNqyhfPXp33/bxLtmP0FvnzkT4avJpyk91kphJQ8lBcElzvRAhG +8i5lSF+8EF3fmFOxXJfKw06M/jqBSFdDQbS5d1sD31jZ9y4yODTdZaqChzAcYku9 +/WB4pAJmo3Ebsf2zbEYt+/OkId4j16trwhzETOUawZQiJ8WfSpQpIL3m2sKAr+4+ +eL1gT4GEQkdT9JJlhVD9 +=0nDU -----END PGP SIGNATURE----- diff --git a/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-1.patch b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-1.patch new file mode 100644 index 000000000000..125bc4e6e8af --- /dev/null +++ b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-1.patch @@ -0,0 +1,366 @@ +From bb75426b891ac03f2baa0abfaf565d12e026f35d Mon Sep 17 00:00:00 2001 +From: Andrew Deason <adeason@sinenomine.net> +Date: Wed, 29 Aug 2012 11:34:06 -0500 +Subject: [PATCH] LINUX: Indent osi_machdep.h maze + +This one isn't so bad, actually, but it still benefits from some +indentation. + +Reviewed-on: http://gerrit.openafs.org/8018 +Tested-by: BuildBot <buildbot@rampaginggeek.com> +Reviewed-by: Derrick Brashear <shadow@dementix.org> +(cherry picked from commit 579048cb1ec24b09a869928ceb521c8db4201a43) + +Change-Id: I91bddcafe4141c5e6789b01cc4be1a879b6464d1 +--- + src/afs/LINUX/osi_machdep.h | 240 +++++++++++++++++++++--------------------- + 1 files changed, 120 insertions(+), 120 deletions(-) + +diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h +index a2c16f5..9260733 100644 +--- a/src/afs/LINUX/osi_machdep.h ++++ b/src/afs/LINUX/osi_machdep.h +@@ -17,60 +17,60 @@ + + #include <linux/version.h> + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,4) +-#define AFS_LINUX26_ONEGROUP_ENV 1 ++# define AFS_LINUX26_ONEGROUP_ENV 1 + #endif + + /* Only needed for xdr.h in glibc 2.1.x */ + #ifndef quad_t +-#define quad_t __quad_t +-#define u_quad_t __u_quad_t ++# define quad_t __quad_t ++# define u_quad_t __u_quad_t + #endif + + #undef getuerror + + #ifdef STRUCT_TASK_STRUCT_HAS_TGID +-#define getpid() current->tgid +-#ifdef STRUCT_TASK_STRUCT_HAS_REAL_PARENT +-#define getppid() current->real_parent->tgid +-#elif defined(STRUCT_TASK_STRUCT_HAS_PARENT) +-#define getppid() current->parent->tgid +-#else +-#define getppid() current->p_opptr->tgid +-#endif ++# define getpid() current->tgid ++# ifdef STRUCT_TASK_STRUCT_HAS_REAL_PARENT ++# define getppid() current->real_parent->tgid ++# elif defined(STRUCT_TASK_STRUCT_HAS_PARENT) ++# define getppid() current->parent->tgid ++# else ++# define getppid() current->p_opptr->tgid ++# endif + #else /* !STRUCT_TASK_STRUCT_HAS_TGID */ +-#define getpid() current->pid +-#ifdef STRUCT_TASK_STRUCT_HAS_REAL_PARENT +-#define getppid() current->real_parent->pid +-#elif defined(STRUCT_TASK_STRUCT_HAS_PARENT) +-#define getppid() current->parent->pid +-#else +-#define getppid() current->p_opptr->pid +-#endif ++# define getpid() current->pid ++# ifdef STRUCT_TASK_STRUCT_HAS_REAL_PARENT ++# define getppid() current->real_parent->pid ++# elif defined(STRUCT_TASK_STRUCT_HAS_PARENT) ++# define getppid() current->parent->pid ++# else ++# define getppid() current->p_opptr->pid ++# endif + #endif /* STRUCT_TASK_STRUCT_HAS_TGID */ + + #ifdef RECALC_SIGPENDING_TAKES_VOID +-#define RECALC_SIGPENDING(X) recalc_sigpending() ++# define RECALC_SIGPENDING(X) recalc_sigpending() + #else +-#define RECALC_SIGPENDING(X) recalc_sigpending(X) ++# define RECALC_SIGPENDING(X) recalc_sigpending(X) + #endif + + #if defined (STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK) +-#define SIG_LOCK(X) spin_lock_irq(&X->sigmask_lock) +-#define SIG_UNLOCK(X) spin_unlock_irq(&X->sigmask_lock) ++# define SIG_LOCK(X) spin_lock_irq(&X->sigmask_lock) ++# define SIG_UNLOCK(X) spin_unlock_irq(&X->sigmask_lock) + #elif defined (STRUCT_TASK_STRUCT_HAS_SIGHAND) +-#define SIG_LOCK(X) spin_lock_irq(&X->sighand->siglock) +-#define SIG_UNLOCK(X) spin_unlock_irq(&X->sighand->siglock) ++# define SIG_LOCK(X) spin_lock_irq(&X->sighand->siglock) ++# define SIG_UNLOCK(X) spin_unlock_irq(&X->sighand->siglock) + #else +-#define SIG_LOCK(X) spin_lock_irq(&X->sig->siglock) +-#define SIG_UNLOCK(X) spin_unlock_irq(&X->sig->siglock) ++# define SIG_LOCK(X) spin_lock_irq(&X->sig->siglock) ++# define SIG_UNLOCK(X) spin_unlock_irq(&X->sig->siglock) + #endif + + #if defined (STRUCT_TASK_STRUCT_HAS_RLIM) +-#define TASK_STRUCT_RLIM rlim ++# define TASK_STRUCT_RLIM rlim + #elif defined (STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM) +-#define TASK_STRUCT_RLIM signal->rlim ++# define TASK_STRUCT_RLIM signal->rlim + #else +-#error Not sure what to do about rlim (should be in the Linux task struct somewhere....) ++# error Not sure what to do about rlim (should be in the Linux task struct somewhere....) + #endif + + +@@ -83,13 +83,13 @@ static inline time_t osi_Time(void) { + return xtime.tv_sec; + } + #else +-#define osi_Time() (xtime.tv_sec) ++# define osi_Time() (xtime.tv_sec) + #endif + + + + #ifdef AFS_LINUX_64BIT_KERNEL +-#define osi_GetTime(V) \ ++# define osi_GetTime(V) \ + do { \ + struct timeval __afs_tv; \ + do_gettimeofday(&__afs_tv); \ +@@ -97,7 +97,7 @@ static inline time_t osi_Time(void) { + (V)->tv_usec = (afs_int32)__afs_tv.tv_usec; \ + } while (0) + #else +-#define osi_GetTime(V) do_gettimeofday((V)) ++# define osi_GetTime(V) do_gettimeofday((V)) + #endif + + #undef gop_lookupname +@@ -149,12 +149,12 @@ typedef struct task_struct afs_proc_t; + typedef struct cred afs_ucred_t; + typedef struct cred cred_t; + +-#define afs_cr_uid(cred) ((cred)->fsuid) +-#define afs_cr_gid(cred) ((cred)->fsgid) +-#define afs_cr_ruid(cred) ((cred)->uid) +-#define afs_cr_rgid(cred) ((cred)->gid) +-#define afs_cr_group_info(cred) ((cred)->group_info) +-#define crhold(c) (get_cred(c)) ++# define afs_cr_uid(cred) ((cred)->fsuid) ++# define afs_cr_gid(cred) ((cred)->fsgid) ++# define afs_cr_ruid(cred) ((cred)->uid) ++# define afs_cr_rgid(cred) ((cred)->gid) ++# define afs_cr_group_info(cred) ((cred)->group_info) ++# define crhold(c) (get_cred(c)) + static inline void + afs_set_cr_uid(cred_t *cred, uid_t uid) { + cred->fsuid = uid; +@@ -176,11 +176,11 @@ afs_set_cr_group_info(cred_t *cred, struct group_info *group_info) { + cred->group_info = group_info; + } + +-#define current_group_info() (current->cred->group_info) +-#define task_gid(task) (task->cred->gid) +-#define task_user(task) (task->cred->user) +-#define task_session_keyring(task) (task->cred->tgcred->session_keyring) +-#define current_session_keyring() (current->cred->tgcred->session_keyring) ++# define current_group_info() (current->cred->group_info) ++# define task_gid(task) (task->cred->gid) ++# define task_user(task) (task->cred->user) ++# define task_session_keyring(task) (task->cred->tgcred->session_keyring) ++# define current_session_keyring() (current->cred->tgcred->session_keyring) + + #else + +@@ -194,31 +194,31 @@ typedef struct afs_cred { + } cred_t; + + typedef struct afs_cred afs_ucred_t; +-#define afs_cr_group_info(cred) ((cred)->cr_group_info) ++# define afs_cr_group_info(cred) ((cred)->cr_group_info) + static inline void + afs_set_cr_group_info(cred_t *cred, struct group_info *group_info) { + cred->cr_group_info = group_info; + } + +-#define current_group_info() (current->group_info) +-#if !defined(task_gid) +-#define task_gid(task) (task->gid) +-#endif +-#if !defined(task_uid) +-#define task_uid(task) (task->uid) +-#endif +-#define task_user(task) (task->user) +-#define task_session_keyring(task) (task->signal->session_keyring) +-#define current_session_keyring() (current->signal->session_keyring) +-#define crhold(c) atomic_inc(&(c)->cr_ref) ++# define current_group_info() (current->group_info) ++# if !defined(task_gid) ++# define task_gid(task) (task->gid) ++# endif ++# if !defined(task_uid) ++# define task_uid(task) (task->uid) ++# endif ++# define task_user(task) (task->user) ++# define task_session_keyring(task) (task->signal->session_keyring) ++# define current_session_keyring() (current->signal->session_keyring) ++# define crhold(c) atomic_inc(&(c)->cr_ref) + + #endif /* defined(STRUCT_TASK_STRUCT_HAS_CRED) */ + + #if !defined(current_cred) +-#define current_gid() (current->gid) +-#define current_uid() (current->uid) +-#define current_fsgid() (current->fsgid) +-#define current_fsuid() (current->fsuid) ++# define current_gid() (current->gid) ++# define current_uid() (current->uid) ++# define current_fsgid() (current->fsgid) ++# define current_fsuid() (current->fsuid) + #endif + + /* UIO manipulation */ +@@ -245,7 +245,7 @@ struct uio { + #define OSIFILE_INODE(a) FILE_INODE((a)->filp) + + #if defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV) +-#define NEED_IOCTL32 ++# define NEED_IOCTL32 + #endif + + #include <linux/version.h> +@@ -256,8 +256,8 @@ struct uio { + extern struct mutex afs_global_lock; + #else + extern struct semaphore afs_global_lock; +-#define mutex_lock(lock) down(lock) +-#define mutex_unlock(lock) up(lock) ++# define mutex_lock(lock) down(lock) ++# define mutex_unlock(lock) up(lock) + #endif + extern int afs_global_owner; + +@@ -285,63 +285,63 @@ do { \ + #ifdef AFS_AMD64_LINUX20_ENV + /* RHEL5 beta's kernel doesn't define these. They aren't gonna change, so... */ + +-#ifndef __NR_ia32_afs_syscall +-#define __NR_ia32_afs_syscall 137 +-#endif +-#ifndef __NR_ia32_setgroups +-#define __NR_ia32_setgroups 81 +-#endif +-#ifndef __NR_ia32_setgroups32 +-#define __NR_ia32_setgroups32 206 +-#endif +-#ifndef __NR_ia32_close +-#define __NR_ia32_close 6 +-#endif +-#ifndef __NR_ia32_chdir +-#define __NR_ia32_chdir 12 +-#endif +-#ifndef __NR_ia32_break +-#define __NR_ia32_break 17 +-#endif +-#ifndef __NR_ia32_stty +-#define __NR_ia32_stty 31 +-#endif +-#ifndef __NR_ia32_gtty +-#define __NR_ia32_gtty 32 +-#endif +-#ifndef __NR_ia32_ftime +-#define __NR_ia32_ftime 35 +-#endif +-#ifndef __NR_ia32_prof +-#define __NR_ia32_prof 44 +-#endif +-#ifndef __NR_ia32_lock +-#define __NR_ia32_lock 53 +-#endif +-#ifndef __NR_ia32_mpx +-#define __NR_ia32_mpx 56 +-#endif +-#ifndef __NR_ia32_exit +-#define __NR_ia32_exit 1 +-#endif +-#ifndef __NR_ia32_mount +-#define __NR_ia32_mount 21 +-#endif +-#ifndef __NR_ia32_read +-#define __NR_ia32_read 3 +-#endif +-#ifndef __NR_ia32_write +-#define __NR_ia32_write 4 +-#endif +-#ifndef __NR_ia32_open +-#define __NR_ia32_open 5 +-#endif +-#ifndef __NR_ia32_close +-#define __NR_ia32_close 6 +-#endif +-#ifndef __NR_ia32_unlink +-#define __NR_ia32_unlink 10 +-#endif ++# ifndef __NR_ia32_afs_syscall ++# define __NR_ia32_afs_syscall 137 ++# endif ++# ifndef __NR_ia32_setgroups ++# define __NR_ia32_setgroups 81 ++# endif ++# ifndef __NR_ia32_setgroups32 ++# define __NR_ia32_setgroups32 206 ++# endif ++# ifndef __NR_ia32_close ++# define __NR_ia32_close 6 ++# endif ++# ifndef __NR_ia32_chdir ++# define __NR_ia32_chdir 12 ++# endif ++# ifndef __NR_ia32_break ++# define __NR_ia32_break 17 ++# endif ++# ifndef __NR_ia32_stty ++# define __NR_ia32_stty 31 ++# endif ++# ifndef __NR_ia32_gtty ++# define __NR_ia32_gtty 32 ++# endif ++# ifndef __NR_ia32_ftime ++# define __NR_ia32_ftime 35 ++# endif ++# ifndef __NR_ia32_prof ++# define __NR_ia32_prof 44 ++# endif ++# ifndef __NR_ia32_lock ++# define __NR_ia32_lock 53 ++# endif ++# ifndef __NR_ia32_mpx ++# define __NR_ia32_mpx 56 ++# endif ++# ifndef __NR_ia32_exit ++# define __NR_ia32_exit 1 ++# endif ++# ifndef __NR_ia32_mount ++# define __NR_ia32_mount 21 ++# endif ++# ifndef __NR_ia32_read ++# define __NR_ia32_read 3 ++# endif ++# ifndef __NR_ia32_write ++# define __NR_ia32_write 4 ++# endif ++# ifndef __NR_ia32_open ++# define __NR_ia32_open 5 ++# endif ++# ifndef __NR_ia32_close ++# define __NR_ia32_close 6 ++# endif ++# ifndef __NR_ia32_unlink ++# define __NR_ia32_unlink 10 ++# endif + #endif + + #define osi_procname(procname, size) strncpy(procname, current->comm, size) +-- +1.7.2.5 + diff --git a/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-2.patch b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-2.patch new file mode 100644 index 000000000000..64ed5adfcb06 --- /dev/null +++ b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-2.patch @@ -0,0 +1,137 @@ +From eeaabffccffca0bf4c622819da62c6eaa51888bb Mon Sep 17 00:00:00 2001 +From: Marc Dionne <marc.c.dionne@gmail.com> +Date: Wed, 9 Jan 2013 19:26:54 -0500 +Subject: [PATCH] Linux 3.8: session_keyring changes + +The session_keyring is now attached directly to the cred structure +and the thread_group_cred structure (cred->tgcred) no longer exists. + +Adapt code that makes use of tgcred, and use the standard rcu based +mechanism to update session_keyring. + +Reviewed-on: http://gerrit.openafs.org/8905 +Reviewed-by: Andrew Deason <adeason@sinenomine.net> +Tested-by: BuildBot <buildbot@rampaginggeek.com> +Reviewed-by: Derrick Brashear <shadow@your-file-system.com> +(cherry picked from commit c6d27e322a8d3b352554650473a048235a9c763a) + +Change-Id: I048ed7b52062a5d666c78dba2599d5fb81c676c1 +--- + acinclude.m4 | 1 + + src/afs/LINUX/osi_compat.h | 34 ++++++++++++++++++++++++++++++++-- + src/afs/LINUX/osi_groups.c | 9 ++------- + src/afs/LINUX/osi_machdep.h | 9 +++++++-- + 4 files changed, 42 insertions(+), 11 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 8c57779..0a05caa 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -812,6 +812,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) + [write_begin], [fs.h]) + AC_CHECK_LINUX_STRUCT([backing_dev_info], [name], + [backing-dev.h]) ++ AC_CHECK_LINUX_STRUCT([cred], [session_keyring], [cred.h]) + AC_CHECK_LINUX_STRUCT([ctl_table], [ctl_name], [sysctl.h]) + AC_CHECK_LINUX_STRUCT([dentry_operations], [d_automount], [dcache.h]) + AC_CHECK_LINUX_STRUCT([inode], [i_alloc_sem], [fs.h]) +diff --git a/src/afs/LINUX/osi_compat.h b/src/afs/LINUX/osi_compat.h +index 2dda136..a777542 100644 +--- a/src/afs/LINUX/osi_compat.h ++++ b/src/afs/LINUX/osi_compat.h +@@ -186,14 +186,24 @@ afs_linux_key_alloc(struct key_type *type, const char *desc, uid_t uid, + } + + # if defined(STRUCT_TASK_STRUCT_HAS_CRED) ++static inline struct key * ++afs_session_keyring(afs_ucred_t *cred) ++{ ++# if defined(STRUCT_CRED_HAS_SESSION_KEYRING) ++ return cred->session_keyring; ++# else ++ return cred->tgcred->session_keyring; ++# endif ++} ++ + static inline struct key* + afs_linux_search_keyring(afs_ucred_t *cred, struct key_type *type) + { + key_ref_t key_ref; + +- if (cred->tgcred->session_keyring) { ++ if (afs_session_keyring(cred)) { + key_ref = keyring_search( +- make_key_ref(cred->tgcred->session_keyring, 1), ++ make_key_ref(afs_session_keyring(cred), 1), + type, "_pag"); + if (IS_ERR(key_ref)) + return ERR_CAST(key_ref); +@@ -507,4 +517,24 @@ afs_set_name(afs_name_t aname, char *string) { + } + #endif + ++static_inline struct key * ++afs_set_session_keyring(struct key *keyring) ++{ ++ struct key *old; ++#if defined(STRUCT_CRED_HAS_SESSION_KEYRING) ++ struct cred *new_creds; ++ old = current_session_keyring(); ++ new_creds = prepare_creds(); ++ rcu_assign_pointer(new_creds->session_keyring, keyring); ++ commit_creds(new_creds); ++#else ++ spin_lock_irq(¤t->sighand->siglock); ++ old = task_session_keyring(current); ++ smp_wmb(); ++ task_session_keyring(current) = keyring; ++ spin_unlock_irq(¤t->sighand->siglock); ++#endif ++ return old; ++} ++ + #endif /* AFS_LINUX_OSI_COMPAT_H */ +diff --git a/src/afs/LINUX/osi_groups.c b/src/afs/LINUX/osi_groups.c +index c2a0308..e351344 100644 +--- a/src/afs/LINUX/osi_groups.c ++++ b/src/afs/LINUX/osi_groups.c +@@ -214,14 +214,9 @@ install_session_keyring(struct key *keyring) + } + + /* install the keyring */ +- spin_lock_irq(¤t->sighand->siglock); +- old = task_session_keyring(current); +- smp_wmb(); +- task_session_keyring(current) = keyring; +- spin_unlock_irq(¤t->sighand->siglock); +- ++ old = afs_set_session_keyring(keyring); + if (old) +- key_put(old); ++ key_put(old); + + out: + return code; +diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h +index 9260733..0202d0d 100644 +--- a/src/afs/LINUX/osi_machdep.h ++++ b/src/afs/LINUX/osi_machdep.h +@@ -179,8 +179,13 @@ afs_set_cr_group_info(cred_t *cred, struct group_info *group_info) { + # define current_group_info() (current->cred->group_info) + # define task_gid(task) (task->cred->gid) + # define task_user(task) (task->cred->user) +-# define task_session_keyring(task) (task->cred->tgcred->session_keyring) +-# define current_session_keyring() (current->cred->tgcred->session_keyring) ++# if defined(STRUCT_CRED_HAS_SESSION_KEYRING) ++# define task_session_keyring(task) (task->cred->session_keyring) ++# define current_session_keyring() (current->cred->session_keyring) ++# else ++# define task_session_keyring(task) (task->cred->tgcred->session_keyring) ++# define current_session_keyring() (current->cred->tgcred->session_keyring) ++# endif + + #else + +-- +1.7.2.5 + diff --git a/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-3.patch b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-3.patch new file mode 100644 index 000000000000..7aab040db769 --- /dev/null +++ b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-3.patch @@ -0,0 +1,80 @@ +From e18d900f585d2fe319d3c0f6d10c11dc0acefed4 Mon Sep 17 00:00:00 2001 +From: Marc Dionne <marc.c.dionne@gmail.com> +Date: Wed, 9 Jan 2013 21:22:27 -0500 +Subject: [PATCH] Linux 3.8: vmtruncate removal + +vmtruncate had been deprecated for a while and has now been +removed. Do things the new way based on truncate_setsize. + +Reviewed-on: http://gerrit.openafs.org/8906 +Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil> +Tested-by: BuildBot <buildbot@rampaginggeek.com> +Reviewed-by: Derrick Brashear <shadow@your-file-system.com> +(cherry picked from commit d0479bbaf43900d6733c3f7517926ee9813c9610) + +Change-Id: Ie0065cb0ca817c1af5ed51418a0474012050f34d +--- + acinclude.m4 | 1 + + src/afs/LINUX/osi_compat.h | 14 ++++++++++++++ + src/afs/LINUX/osi_vm.c | 5 ++--- + 3 files changed, 17 insertions(+), 3 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 0a05caa..4223bb1 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -824,6 +824,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) + AC_CHECK_LINUX_STRUCT([file_operations], [sendfile], [fs.h]) + AC_CHECK_LINUX_STRUCT([file_system_type], [mount], [fs.h]) + AC_CHECK_LINUX_STRUCT([filename], [name], [fs.h]) ++ AC_CHECK_LINUX_STRUCT([inode_operations], [truncate], [fs.h]) + AC_CHECK_LINUX_STRUCT([key_type], [preparse], [key-type.h]) + AC_CHECK_LINUX_STRUCT([nameidata], [path], [namei.h]) + AC_CHECK_LINUX_STRUCT([proc_dir_entry], [owner], [proc_fs.h]) +diff --git a/src/afs/LINUX/osi_compat.h b/src/afs/LINUX/osi_compat.h +index a777542..e8bf003 100644 +--- a/src/afs/LINUX/osi_compat.h ++++ b/src/afs/LINUX/osi_compat.h +@@ -537,4 +537,18 @@ afs_set_session_keyring(struct key *keyring) + return old; + } + ++static inline int ++afs_truncate(struct inode *inode, int len) ++{ ++ int code; ++#if defined(STRUCT_INODE_OPERATIONS_HAS_TRUNCATE) ++ code = vmtruncate(inode, len); ++#else ++ code = inode_newsize_ok(inode, len); ++ if (!code) ++ truncate_setsize(inode, len); ++#endif ++ return code; ++} ++ + #endif /* AFS_LINUX_OSI_COMPAT_H */ +diff --git a/src/afs/LINUX/osi_vm.c b/src/afs/LINUX/osi_vm.c +index 2cd34f9..8bc792e 100644 +--- a/src/afs/LINUX/osi_vm.c ++++ b/src/afs/LINUX/osi_vm.c +@@ -51,8 +51,7 @@ osi_VM_FlushVCache(struct vcache *avc, int *slept) + if (avc->opens != 0) + return EBUSY; + +- return vmtruncate(ip, 0); +- return 0; ++ return afs_truncate(ip, 0); + } + + /* Try to invalidate pages, for "fs flush" or "fs flushv"; or +@@ -132,5 +131,5 @@ osi_VM_FlushPages(struct vcache *avc, afs_ucred_t *credp) + void + osi_VM_Truncate(struct vcache *avc, int alen, afs_ucred_t *acred) + { +- vmtruncate(AFSTOV(avc), alen); ++ afs_truncate(AFSTOV(avc), alen); + } +-- +1.7.2.5 + diff --git a/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-4.patch b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-4.patch new file mode 100644 index 000000000000..d8cfbbbcdbb5 --- /dev/null +++ b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-4.patch @@ -0,0 +1,37 @@ +From 7e8731d4971f6c93c5edaf28d8582d6accc5c42c Mon Sep 17 00:00:00 2001 +From: Marc Dionne <marc.c.dionne@gmail.com> +Date: Thu, 24 Jan 2013 21:38:28 -0500 +Subject: [PATCH] Linux: crset should use passed credentials + +When copying credentials in crset, take the passed credentials as +the source instead of the current process credentials. + +This doesn't cause any problems currently since crset always gets +called with the current credentials. + +Reviewed-on: http://gerrit.openafs.org/8980 +Tested-by: BuildBot <buildbot@rampaginggeek.com> +Reviewed-by: Derrick Brashear <shadow@your-file-system.com> +(cherry picked from commit 3b733db8bf2bc3a1366554ae97814cc722437149) + +Change-Id: I4d0000a139d16fafe480f7ebccc6759da7dea6bb +--- + src/afs/LINUX/osi_cred.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/afs/LINUX/osi_cred.c b/src/afs/LINUX/osi_cred.c +index 20be594..f271321 100644 +--- a/src/afs/LINUX/osi_cred.c ++++ b/src/afs/LINUX/osi_cred.c +@@ -117,7 +117,7 @@ crset(cred_t * cr) + new_creds = prepare_creds(); + /* Drop the reference to group_info - we'll overwrite it in afs_copy_creds */ + put_group_info(new_creds->group_info); +- afs_copy_creds(new_creds, current_cred()); ++ afs_copy_creds(new_creds, cr); + + commit_creds(new_creds); + #else +-- +1.7.2.5 + diff --git a/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-5.patch b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-5.patch new file mode 100644 index 000000000000..4a40f748d8a5 --- /dev/null +++ b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-5.patch @@ -0,0 +1,65 @@ +From 5f1d570c7bcafbda90bc5985b716fdb94e2aa10a Mon Sep 17 00:00:00 2001 +From: Marc Dionne <marc.c.dionne@gmail.com> +Date: Sun, 27 Jan 2013 20:52:39 -0500 +Subject: [PATCH] Linux: Detect undefined symbols in kernel modules + +Undefined symbols in the kernel modules are not currently detected +at build time. As a result, buildbot may indicate success while +the resulting kernel modules are unusable. + +In the kernel build process, modpost warns about missing symbols +but does not return an error in the case of external modules. +Detect these warnings and cause the libafs build to fail. + +Reviewed-on: http://gerrit.openafs.org/8981 +Tested-by: BuildBot <buildbot@rampaginggeek.com> +Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com> +Reviewed-by: Derrick Brashear <shadow@your-file-system.com> +(cherry picked from commit dbdee60a83d72d38a04a0eeb2a5324cf497e57e3) + +Change-Id: If28b97b6ce53b0feef2464a56fd7a48443c973ae +--- + src/libafs/.gitignore | 1 + + src/libafs/MakefileProto.LINUX.in | 10 +++++++++- + 2 files changed, 10 insertions(+), 1 deletions(-) + +diff --git a/src/libafs/.gitignore b/src/libafs/.gitignore +index d87f88a..225e979 100644 +--- a/src/libafs/.gitignore ++++ b/src/libafs/.gitignore +@@ -26,3 +26,4 @@ + /rpc + /sys + /rx ++/.makelog +diff --git a/src/libafs/MakefileProto.LINUX.in b/src/libafs/MakefileProto.LINUX.in +index 63b2f35..9449360 100644 +--- a/src/libafs/MakefileProto.LINUX.in ++++ b/src/libafs/MakefileProto.LINUX.in +@@ -19,6 +19,8 @@ INSTALL_DATA = @INSTALL_DATA@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ + ++AFS_OS_CLEAN = .makelog ++ + # OS specific object files: + AFS_OS_OBJS = \ + osi_alloc.o \ +@@ -338,7 +340,13 @@ ${LIBAFS} ${LIBAFS_MP} ${LIBAFS_EP} ${LIBAFS_BM}: ${LINUX_LIBAFS_NAME}.ko + .FORCE: + ${LINUX_LIBAFS_NAME}.ko afspag.ko: .FORCE + env EXTRA_CFLAGS="${EXTRA_CFLAGS}" @TOP_SRCDIR@/libafs/make_kbuild_makefile.pl ${KDIR} $@ @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common +- env EXTRA_CFLAGS="${EXTRA_CFLAGS}" $(MAKE) -C ${LINUX_KERNEL_BUILD} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules ++ env EXTRA_CFLAGS="${EXTRA_CFLAGS}" $(MAKE) -C ${LINUX_KERNEL_BUILD} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules 2>&1 | tee .makelog ++ @if [ `grep ^WARNING .makelog | wc -l` -ne 0 ]; then \ ++ echo Error: Undefined symbols in modules ; \ ++ rm .makelog \ ++ exit 1 ; \ ++ fi ++ rm .makelog + + <all -linux26 -linux_26 -umlinux26> + ${LIBAFS}: $(AFSAOBJS) $(AFSNONFSOBJS) +-- +1.7.2.5 + diff --git a/net-fs/openafs-kernel/openafs-kernel-1.6.2.ebuild b/net-fs/openafs-kernel/openafs-kernel-1.6.2.ebuild new file mode 100644 index 000000000000..df7fdcb7081e --- /dev/null +++ b/net-fs/openafs-kernel/openafs-kernel-1.6.2.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/openafs-kernel-1.6.2.ebuild,v 1.1 2013/03/24 04:24:42 vapier Exp $ + +EAPI="4" + +inherit eutils autotools multilib linux-mod versionator toolchain-funcs + +MY_PV=$(delete_version_separator '_') +MY_PN=${PN/-kernel} +MY_P2="${MY_PN}-${PV}" +MY_P="${MY_PN}-${MY_PV}" +PVER="1" +DESCRIPTION="The OpenAFS distributed file system kernel module" +HOMEPAGE="http://www.openafs.org/" +# We always d/l the doc tarball as man pages are not USE=doc material +SRC_URI="http://openafs.org/dl/openafs/${MY_PV}/${MY_P}-src.tar.bz2 + mirror://gentoo/${MY_P2}-patches-${PVER}.tar.bz2" + +LICENSE="IBM BSD openafs-krb5-a APSL-2" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="" + +S=${WORKDIR}/${MY_P} + +CONFIG_CHECK="!DEBUG_RODATA ~!AFS_FS KEYS" +ERROR_DEBUG_RODATA="OpenAFS is incompatible with linux' CONFIG_DEBUG_RODATA option" +ERROR_AFS_FS="OpenAFS conflicts with the in-kernel AFS-support. Make sure not to load both at the same time!" +ERROR_KEYS="OpenAFS needs CONFIG_KEYS option enabled" + +QA_TEXTRELS_x86_fbsd="/boot/modules/libafs.ko" +QA_TEXTRELS_amd64_fbsd="/boot/modules/libafs.ko" + +pkg_setup() { + if use kernel_linux; then + linux-mod_pkg_setup + fi +} + +src_prepare() { + EPATCH_EXCLUDE="012_all_kbuild.patch" \ + EPATCH_SUFFIX="patch" \ + epatch "${WORKDIR}"/gentoo/patches + epatch "${FILESDIR}"/openafs-1.6.2-kernel-3.8-{1..5}.patch + + # packaging is f-ed up, so we can't run automake (i.e. eautoreconf) + sed -i 's/^\(\s*\)a/\1ea/' regen.sh + : # this line makes repoman ok with not calling eautoconf etc. directly + skipman=1 + . regen.sh +} + +src_configure() { + ARCH="$(tc-arch-kernel)" \ + econf \ + --with-linux-kernel-headers=${KV_DIR} \ + --with-linux-kernel-build=${KV_OUT_DIR} +} + +src_compile() { + ARCH="$(tc-arch-kernel)" emake -j1 only_libafs || die +} + +src_install() { + if use kernel_linux; then + local srcdir=$(expr "${S}"/src/libafs/MODLOAD-*) + [[ -f ${srcdir}/libafs.${KV_OBJ} ]] || die "Couldn't find compiled kernel module" + + MODULE_NAMES="libafs(fs/openafs:${srcdir})" + + linux-mod_src_install + elif use kernel_FreeBSD; then + insinto /boot/modules + doins "${S}"/src/libafs/MODLOAD/libafs.ko + fi +} + +pkg_postinst() { + # Update linker.hints file + use kernel_FreeBSD && /usr/sbin/kldxref "${EPREFIX}/boot/modules" + use linux_kernel && linux-mod_pkg_postinst +} + +pkg_postrm() { + # Update linker.hints file + use kernel_FreeBSD && /usr/sbin/kldxref "${EPREFIX}/boot/modules" + use linux_kernel && linux-mod_pkg_postrm +} |