MD5 cddb3cf64411b67dffe4cdd37bd2b82e files/baselayout-1.11.15-halt-sort.patch 758
RMD160 282a645738a22098242b56d3f1d39321865f6b49 files/baselayout-1.11.15-halt-sort.patch 758
SHA256 496dd355956c960be8a4db1021c3ee76a9250346e0e83f2470974de3859a753e files/baselayout-1.11.15-halt-sort.patch 758
-AUX baselayout-1.12.4-bootchart.patch 2664 RMD160 8240abde49ad7a40f3e09fafcf5e9441c7613feb SHA1 c187295e10f62d59d58611777e9617d763a091f4 SHA256 bc91224987c9d032fd122924ca0a85cbc67e3c30820e49a7677019e5e8f6ce9f
-MD5 6c9400511ed8501fb3b190b2824b1c26 files/baselayout-1.12.4-bootchart.patch 2664
-RMD160 8240abde49ad7a40f3e09fafcf5e9441c7613feb files/baselayout-1.12.4-bootchart.patch 2664
-SHA256 bc91224987c9d032fd122924ca0a85cbc67e3c30820e49a7677019e5e8f6ce9f files/baselayout-1.12.4-bootchart.patch 2664
-AUX baselayout-1.12.4-clock-bootmisc.patch 1083 RMD160 98c0ae55d09a17680e438b636d4711f6c44db0fe SHA1 8a4c2ae5a449289cf23cdcff0acbf77cb9a58f77 SHA256 34eac07d4b7a5812d2c868498b8ad00d40396061a54a278e095702ec5760653d
-MD5 d14c85b87cad3e2afed461c9fc0c9096 files/baselayout-1.12.4-clock-bootmisc.patch 1083
-RMD160 98c0ae55d09a17680e438b636d4711f6c44db0fe files/baselayout-1.12.4-clock-bootmisc.patch 1083
-SHA256 34eac07d4b7a5812d2c868498b8ad00d40396061a54a278e095702ec5760653d files/baselayout-1.12.4-clock-bootmisc.patch 1083
-AUX baselayout-1.12.4-dhcp.patch 1458 RMD160 ba03b22bf6d47fc39dc10c9894399629a07fbab3 SHA1 cdb10f9556710640d7bdcd3d78a5256d72459e21 SHA256 1691738830bf244cfb7678c742a846d15bb9d10863ff72f376dd60daf5c652b4
-MD5 a76788572a9443350833cb117d60ddbc files/baselayout-1.12.4-dhcp.patch 1458
-RMD160 ba03b22bf6d47fc39dc10c9894399629a07fbab3 files/baselayout-1.12.4-dhcp.patch 1458
-SHA256 1691738830bf244cfb7678c742a846d15bb9d10863ff72f376dd60daf5c652b4 files/baselayout-1.12.4-dhcp.patch 1458
-AUX baselayout-1.12.4-gateway.patch 2980 RMD160 704f6a02cf13731895b314dadd8a9f988d2f1ec7 SHA1 469185c6ee16b681922c6f11735f6403dcee4ac0 SHA256 d4ac7aa11bdbdd516ac549b068ec3fa193877e246f86b5d754c9aebec6625c89
-MD5 285cf7b5eb2d6026418a6d4f390f509e files/baselayout-1.12.4-gateway.patch 2980
-RMD160 704f6a02cf13731895b314dadd8a9f988d2f1ec7 files/baselayout-1.12.4-gateway.patch 2980
-SHA256 d4ac7aa11bdbdd516ac549b068ec3fa193877e246f86b5d754c9aebec6625c89 files/baselayout-1.12.4-gateway.patch 2980
-AUX baselayout-1.12.4-irqbalance.patch 518 RMD160 1b3cd8973633d1a0c1330be02718951dc3650913 SHA1 07373f90489c501f9b4a37aca45f92ffadbc9ab1 SHA256 37c11dd3806a995974d940c1a1b46a9151ab09daa9422f6bc3e49360bf01dfee
-MD5 2637ba3a0d0d6252adf287e4ceabe0a0 files/baselayout-1.12.4-irqbalance.patch 518
-RMD160 1b3cd8973633d1a0c1330be02718951dc3650913 files/baselayout-1.12.4-irqbalance.patch 518
-SHA256 37c11dd3806a995974d940c1a1b46a9151ab09daa9422f6bc3e49360bf01dfee files/baselayout-1.12.4-irqbalance.patch 518
-AUX baselayout-1.12.4-madwifi.patch 3727 RMD160 74da8719de89bc179f2e47b2ba54a0579e2f70c3 SHA1 c0becd68e7bb7e5f711dacc235048a37e7dc0a06 SHA256 06512c616a89f335d01b31acd1cf8d07e4bb694ad967d610e26bc5a20e63b8f6
-MD5 93920dc805c60f00a22f281798a9cdd1 files/baselayout-1.12.4-madwifi.patch 3727
-RMD160 74da8719de89bc179f2e47b2ba54a0579e2f70c3 files/baselayout-1.12.4-madwifi.patch 3727
-SHA256 06512c616a89f335d01b31acd1cf8d07e4bb694ad967d610e26bc5a20e63b8f6 files/baselayout-1.12.4-madwifi.patch 3727
-AUX baselayout-1.12.4-prism54.patch 2321 RMD160 f932fc0c272870e96243eab7aad2c424f14a051d SHA1 b2730a215684e19cbc5ea205fbc172c0695393cb SHA256 21e71786cb8620680274ea649219c7bcb81b1553891989291edd68a3470507fc
-MD5 3303764f2bc8e8dea544f0a4a58cfed3 files/baselayout-1.12.4-prism54.patch 2321
-RMD160 f932fc0c272870e96243eab7aad2c424f14a051d files/baselayout-1.12.4-prism54.patch 2321
-SHA256 21e71786cb8620680274ea649219c7bcb81b1553891989291edd68a3470507fc files/baselayout-1.12.4-prism54.patch 2321
-AUX baselayout-1.12.4-ssd.patch 1050 RMD160 51d7da18bf125861c38d6e16f13e362d5dca9dcd SHA1 804205ccd02f96e22a9c40f4502661c14d43a98e SHA256 e71dcac44988620458a0bcb807e13200664da5c27b6415835951d304e7ac2f09
-MD5 b6dfecb2dbdf1c7778a4fb08dfcbb336 files/baselayout-1.12.4-ssd.patch 1050
-RMD160 51d7da18bf125861c38d6e16f13e362d5dca9dcd files/baselayout-1.12.4-ssd.patch 1050
-SHA256 e71dcac44988620458a0bcb807e13200664da5c27b6415835951d304e7ac2f09 files/baselayout-1.12.4-ssd.patch 1050
-AUX baselayout-1.12.5-dmesg.patch 5202 RMD160 ce0b8e91590888fa6f9f0cc84ed29bd3a6007156 SHA1 ce6dc950e055f79db93bfefcf4be773310bb9c10 SHA256 837ed3be21597ae44de1debe5f48460945039cf1f4b7de9f067d5e78bb83a0c6
-MD5 05e23d7d8cd139821113afb7d6ef56cc files/baselayout-1.12.5-dmesg.patch 5202
-RMD160 ce0b8e91590888fa6f9f0cc84ed29bd3a6007156 files/baselayout-1.12.5-dmesg.patch 5202
-SHA256 837ed3be21597ae44de1debe5f48460945039cf1f4b7de9f067d5e78bb83a0c6 files/baselayout-1.12.5-dmesg.patch 5202
-AUX baselayout-1.12.8-checkfs.patch 429 RMD160 1815e3241978d80b6262db05309ddf3716116aef SHA1 8b14630c5618dfc9aa26fd4b3bb16a7ff473b301 SHA256 ccc3d6c3366ff990837d74a3bad44880b25390778bbc86814c46da54d6a50152
-MD5 5f22d7850be949e28fb26ece1a836890 files/baselayout-1.12.8-checkfs.patch 429
-RMD160 1815e3241978d80b6262db05309ddf3716116aef files/baselayout-1.12.8-checkfs.patch 429
-SHA256 ccc3d6c3366ff990837d74a3bad44880b25390778bbc86814c46da54d6a50152 files/baselayout-1.12.8-checkfs.patch 429
-AUX baselayout-1.12.8-conditionalrestart.patch 5330 RMD160 ec359e7e652e29dc8c540ae60d6a10d16feddd13 SHA1 102260bf033ceb57234ed74434d61df675364cd1 SHA256 91918c6217ace50317ea30b925f2a0a2d664f193cf4ff5f5aff26c4a03ca462e
-MD5 77697fec71351caa25f8a857b5e3d37e files/baselayout-1.12.8-conditionalrestart.patch 5330
-RMD160 ec359e7e652e29dc8c540ae60d6a10d16feddd13 files/baselayout-1.12.8-conditionalrestart.patch 5330
-SHA256 91918c6217ace50317ea30b925f2a0a2d664f193cf4ff5f5aff26c4a03ca462e files/baselayout-1.12.8-conditionalrestart.patch 5330
-AUX baselayout-1.12.8-daemon.patch 2987 RMD160 98848c48e34d82a28e79f96f708751ba8900fd57 SHA1 00f2c982916c334a3b7f9522bdcbd1f96f6fff72 SHA256 9e4eab314e47a09ed73fc02a9bc5223c6783aa2e6522af6179820c40661cb6b0
-MD5 886ff0443ec1179f4f3cbc0ac0d6c011 files/baselayout-1.12.8-daemon.patch 2987
-RMD160 98848c48e34d82a28e79f96f708751ba8900fd57 files/baselayout-1.12.8-daemon.patch 2987
-SHA256 9e4eab314e47a09ed73fc02a9bc5223c6783aa2e6522af6179820c40661cb6b0 files/baselayout-1.12.8-daemon.patch 2987
-AUX baselayout-1.12.8-r2440.patch 1779 RMD160 eeda0b3883163b8d8184812aadee8525d0be0b54 SHA1 0b6134cc3e5f95461078988a9bedf3ee1edd8cb1 SHA256 31f0936868430bd06a161372b0030fadc086121f71fabc40b9588575360fa202
-MD5 322d665a75ef5cc1db64ab02242c634e files/baselayout-1.12.8-r2440.patch 1779
-RMD160 eeda0b3883163b8d8184812aadee8525d0be0b54 files/baselayout-1.12.8-r2440.patch 1779
-SHA256 31f0936868430bd06a161372b0030fadc086121f71fabc40b9588575360fa202 files/baselayout-1.12.8-r2440.patch 1779
AUX copyright 2099 RMD160 43e295598125f39e375a1fcee6e642e37c8b8bd8 SHA1 3d5da783cc637392429ba2f63d321873fa1526ee SHA256 38db4636f65ce40ea505a6337138b041ac6be5998982193d16b1fbdeebb2bacd
MD5 7c0cd50e4ac1dc062f5e6ab578e95659 files/copyright 2099
RMD160 43e295598125f39e375a1fcee6e642e37c8b8bd8 files/copyright 2099
SHA256 38db4636f65ce40ea505a6337138b041ac6be5998982193d16b1fbdeebb2bacd files/copyright 2099
-DIST baselayout-1.12.4.tar.bz2 216448 RMD160 125e0b8c0f02266fa72ce95d4d3ba93311871d57 SHA1 26a2fa93db01aecd92d2ae47f193fad0949dc316 SHA256 f09ae36d84ff7f52baf44494dedafcb26a1cbb4e5a0f9ba5ef5f553bc21373da
-DIST baselayout-1.12.5.tar.bz2 220693 RMD160 85f03fe3b0ff0521ec4226a1b6788575052923b7 SHA1 39ef351ceec1238cbf27d7b9671f244ccf5cca33 SHA256 4ab5512f35c547549b0406221ed92c71a5a86a11044f1d9f0d87f7ec44d39817
-DIST baselayout-1.12.6.tar.bz2 221279 RMD160 4a9b6a0b3855e36a4b0214615d578e8d17dcabae SHA1 8164fe1923ccdf9d9e38ac0884e2bdd2061681e7 SHA256 c244469fa582c7733d2cf1b51865fac818beb8b2af60ec452ad147cb50eb8862
-DIST baselayout-1.12.8.tar.bz2 218298 RMD160 2a47bf00db9c1e15ad2dd90e02dc55a896e3e01f SHA1 5d7274e64b8d17a77519e73303390f4d63f958ee SHA256 c05e126ee1b5bd63462db133c4e39ca45b0a999696f637f2a80d9c7b616eeeea
DIST baselayout-1.12.9.tar.bz2 218939 RMD160 c80a3e4434bd8ce58c89ab1b988b64c012741d00 SHA1 0e5745d95412db3427961c5f796827f7867aa35b SHA256 ab89a131d0a12fa8b411189fb51b15216c3f27a422ff539767eb0d134e40dd94
DIST baselayout-1.13.0_alpha12.tar.bz2 230982 RMD160 6401629eeb92b13eb2bfbdc7f268d45ee7ed2f51 SHA1 a565b934427e0ba8eb41869fb6b30f294198a2b2 SHA256 3b6214eb02e2549a19f2e40a71eee65981c9c9758a327d6bef128e734c47e054
DIST rc-scripts-1.6.15.tar.bz2 161524 RMD160 f69c3d5a9e742bf7b7c997d49d443617779f3d39 SHA1 e3039dc8fe7ddfc31d88f4b9e1c833fe9607f85c SHA256 55d20018624141fa2ae92c843fa93c6d4b77fc89a493949d5ad391bce5b9888a
MD5 363cb680de3467f3bd044dcd85279974 baselayout-1.11.15-r3.ebuild 18810
RMD160 c2d9d4fc7aee7a26615f37b370871ab3accdf43d baselayout-1.11.15-r3.ebuild 18810
SHA256 7b98c19332ebbf4e23ca9800d3bdbbee4e03aeb92663ec4c21b7270a8ddb1c0f baselayout-1.11.15-r3.ebuild 18810
-EBUILD baselayout-1.12.4-r7.ebuild 20064 RMD160 dfa3779048902b142a751def0ab464c570010ccd SHA1 73a70b2a786542cfb2530d7e62751756593aecd4 SHA256 97ae9b71bc9813bd81593ccef357de1bab942e3798889273131bd324211bfb16
-MD5 9aaace45f4ded2f26a2aa93661e009a3 baselayout-1.12.4-r7.ebuild 20064
-RMD160 dfa3779048902b142a751def0ab464c570010ccd baselayout-1.12.4-r7.ebuild 20064
-SHA256 97ae9b71bc9813bd81593ccef357de1bab942e3798889273131bd324211bfb16 baselayout-1.12.4-r7.ebuild 20064
-EBUILD baselayout-1.12.5-r2.ebuild 19783 RMD160 e5c1cb46cdd76ecc0f36ecce8f8b82232ae7b528 SHA1 03b3f5b8bc2e619f9366adf7614023ef4ba80b2e SHA256 5039898fda196da238ad46ff74d0a34350995a4720eaae51f6bcbf42bac810cd
-MD5 f5b06e6e69f166e6897b2b7e864a644b baselayout-1.12.5-r2.ebuild 19783
-RMD160 e5c1cb46cdd76ecc0f36ecce8f8b82232ae7b528 baselayout-1.12.5-r2.ebuild 19783
-SHA256 5039898fda196da238ad46ff74d0a34350995a4720eaae51f6bcbf42bac810cd baselayout-1.12.5-r2.ebuild 19783
-EBUILD baselayout-1.12.6.ebuild 19707 RMD160 3859528e934f2a59117b57bef8e25b5bab5fb4fe SHA1 3dd078d318256749b8aa3d7dd740a8d61fffd326 SHA256 87ba53a1ce3934fc7039614f957c2612f4ca6d74b16a2528d8c3179bdd25ea25
-MD5 8891c01881ae16f376f5b640809088b3 baselayout-1.12.6.ebuild 19707
-RMD160 3859528e934f2a59117b57bef8e25b5bab5fb4fe baselayout-1.12.6.ebuild 19707
-SHA256 87ba53a1ce3934fc7039614f957c2612f4ca6d74b16a2528d8c3179bdd25ea25 baselayout-1.12.6.ebuild 19707
-EBUILD baselayout-1.12.8-r1.ebuild 17216 RMD160 9a4967d07184b019cae9cca978be9ccac0c0a25b SHA1 8007971faf3deaac8161756f8c525c9866f5342c SHA256 7b8640a887377eb929da263722d0c2211429b5fcf986a6fbc74bf22f980ae1f9
-MD5 bc16bd7b5faf3a315124ebdcacc63e43 baselayout-1.12.8-r1.ebuild 17216
-RMD160 9a4967d07184b019cae9cca978be9ccac0c0a25b baselayout-1.12.8-r1.ebuild 17216
-SHA256 7b8640a887377eb929da263722d0c2211429b5fcf986a6fbc74bf22f980ae1f9 baselayout-1.12.8-r1.ebuild 17216
-EBUILD baselayout-1.12.8-r2.ebuild 18713 RMD160 dd67309b201f70978ae3ea7938011bb87e3ead68 SHA1 3d426bb963cfacf89015e6819fd719f8b27b600f SHA256 b639feb5d7fc57c52b96a67568bf3d9cdf78156a8430b881c9136ecc825e281b
-MD5 e129a8a2479a0f17591ada408e9599a1 baselayout-1.12.8-r2.ebuild 18713
-RMD160 dd67309b201f70978ae3ea7938011bb87e3ead68 baselayout-1.12.8-r2.ebuild 18713
-SHA256 b639feb5d7fc57c52b96a67568bf3d9cdf78156a8430b881c9136ecc825e281b baselayout-1.12.8-r2.ebuild 18713
-EBUILD baselayout-1.12.8-r5.ebuild 18802 RMD160 4232b4ff97b6e4565ff12149eed7c2c87db117cf SHA1 b7bbb3aab7fbf71bb592ab8fa32e031f4dcb66c1 SHA256 582585f28003d52291d1cb64aad018e0c9ac6683a3a2be96d4f4240b6ecbaf5c
-MD5 6fbbec93aef3e400c4b8f4e5ce3efc73 baselayout-1.12.8-r5.ebuild 18802
-RMD160 4232b4ff97b6e4565ff12149eed7c2c87db117cf baselayout-1.12.8-r5.ebuild 18802
-SHA256 582585f28003d52291d1cb64aad018e0c9ac6683a3a2be96d4f4240b6ecbaf5c baselayout-1.12.8-r5.ebuild 18802
EBUILD baselayout-1.12.9.ebuild 18567 RMD160 16d288f8eabfaa0b206fe3045699d8b9a2eb7b5f SHA1 1e3311597b0c8db9e9602b01bb9349ca430ae718 SHA256 f13814b2b7376422b37675a737b094e05eb9f892610d4d817e7e166cba754b1a
MD5 02edf939bdb2f94833538a8786522ea1 baselayout-1.12.9.ebuild 18567
RMD160 16d288f8eabfaa0b206fe3045699d8b9a2eb7b5f baselayout-1.12.9.ebuild 18567
MD5 45d5d54f514daeb8d7eedb2a553101b0 files/digest-baselayout-1.11.15-r3 256
RMD160 5e19a5d090c498d3b79d59e869a95a7a05cfe562 files/digest-baselayout-1.11.15-r3 256
SHA256 634668e30943316fee0925f0cda440d80319cb9072270573bcbbdbac5986b40b files/digest-baselayout-1.11.15-r3 256
-MD5 74e011b91fea32a3e88247cf09e24790 files/digest-baselayout-1.12.4-r7 256
-RMD160 e55e4eb4ede73a8b9a8b542a45ba9cedcbee69c7 files/digest-baselayout-1.12.4-r7 256
-SHA256 a5d5b90fb977a6aa1d11b1d41e921709965cc1205d74a66f59d23e39ac1d2676 files/digest-baselayout-1.12.4-r7 256
-MD5 7633bbaedb7a7a35d9a6f82e9f313d20 files/digest-baselayout-1.12.5-r2 256
-RMD160 d4002016cd3fde45b5fef010fcfad5fe8700aacd files/digest-baselayout-1.12.5-r2 256
-SHA256 e2664f4f2035a0dffe9e01dad95a8f05e30e9aa277c0c0df51febbe3f05bdc03 files/digest-baselayout-1.12.5-r2 256
-MD5 646df4c5861a383867d4188f27d8b7d0 files/digest-baselayout-1.12.6 256
-RMD160 19fbf407d2819bb6917b330252c1ed71cc0322bb files/digest-baselayout-1.12.6 256
-SHA256 7d0ed81c4a5f1131c77c84febb52dcb9949dcfd9ce3bbc18ad4299780c92c74b files/digest-baselayout-1.12.6 256
-MD5 cc3850f4547f7dda6cb6da09e200b7a5 files/digest-baselayout-1.12.8-r1 256
-RMD160 ee4d86476675e157d2237a3611970af21d27450f files/digest-baselayout-1.12.8-r1 256
-SHA256 d5d0b95861bb7a1549bf4ac58d623bc24aa07e6887ecc31d1210c92b66901765 files/digest-baselayout-1.12.8-r1 256
-MD5 cc3850f4547f7dda6cb6da09e200b7a5 files/digest-baselayout-1.12.8-r2 256
-RMD160 ee4d86476675e157d2237a3611970af21d27450f files/digest-baselayout-1.12.8-r2 256
-SHA256 d5d0b95861bb7a1549bf4ac58d623bc24aa07e6887ecc31d1210c92b66901765 files/digest-baselayout-1.12.8-r2 256
-MD5 cc3850f4547f7dda6cb6da09e200b7a5 files/digest-baselayout-1.12.8-r5 256
-RMD160 ee4d86476675e157d2237a3611970af21d27450f files/digest-baselayout-1.12.8-r5 256
-SHA256 d5d0b95861bb7a1549bf4ac58d623bc24aa07e6887ecc31d1210c92b66901765 files/digest-baselayout-1.12.8-r5 256
MD5 0739a7f44d72e74a1f977dcd81030c18 files/digest-baselayout-1.12.9 256
RMD160 0aaebaf00ed5d13cb4eaeb420ac7859ccc666503 files/digest-baselayout-1.12.9 256
SHA256 d975250968cfce2250369add8355bc47cc2e3c8ae2ae5d606c6f69086535f510 files/digest-baselayout-1.12.9 256
+++ /dev/null
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.12.4-r7.ebuild,v 1.3 2007/03/10 14:30:57 vapier Exp $
-
-inherit flag-o-matic eutils toolchain-funcs multilib
-
-DESCRIPTION="Filesystem baselayout and init scripts"
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="mirror://gentoo/${P}.tar.bz2
- http://dev.gentoo.org/~uberlord/baselayout/${P}.tar.bz2
- http://dev.gentoo.org/~azarah/baselayout/${P}.tar.bz2
- http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86"
-IUSE="bootstrap build static unicode"
-
-# This version of baselayout needs gawk in /bin, but as we do not have
-# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap"
-# or "build" are in USE.
-# We need to block old dhcpcd versions as they are no longer in system
-# but may not be in users world file either. See bug #143885
-RDEPEND=">=sys-apps/sysvinit-2.86-r3
- !build? ( !bootstrap? (
- >=sys-libs/readline-5.0-r1
- >=app-shells/bash-3.1_p7
- >=sys-apps/coreutils-5.2.1
- ) )
- !<net-misc/dhcpcd-2.0.0"
-DEPEND="virtual/os-headers
- >=sys-apps/portage-2.0.51"
-PROVIDE="virtual/baselayout"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- epatch "${FILESDIR}/${P}-bootchart.patch"
- epatch "${FILESDIR}/${P}-clock-bootmisc.patch"
- epatch "${FILESDIR}/${P}-dhcp.patch"
- epatch "${FILESDIR}/${P}-madwifi.patch"
- epatch "${FILESDIR}/${P}-prism54.patch"
- epatch "${FILESDIR}/${P}-gateway.patch"
- epatch "${FILESDIR}/${P}-ssd.patch"
- epatch "${FILESDIR}/${P}-irqbalance.patch"
-
- # Setup unicode defaults for silly unicode users
- if use unicode ; then
- sed -i -e '/^UNICODE=/s:no:yes:' etc/rc.conf
- fi
-
- # Tweak arch-specific details
- cd "${S}"
-
- case $(tc-arch) in
- sparc)
- sed -i -e '/^KEYMAP=/s:us:sunkeymap:' etc/conf.d/keymaps || die
- # Disable interactive boot on sparc due to stty calls, #104067
- sed -i -e '/^RC_INTERACTIVE=/s:yes:no:' etc/conf.d/rc || die
- ;;
- esac
-
- # Use correct path to filefuncs.so on multilib systems
- sed -i -e "s:/lib/rcscripts:/$(get_libdir)/rcscripts:" \
- ${S}/src/awk/{cachedepends,genenviron}.awk || die
-}
-
-src_compile() {
- local libdir="lib"
-
- use static && append-ldflags -static
-
- [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
-
- make -C "${S}"/src \
- CC="$(tc-getCC)" \
- LD="$(tc-getCC) ${LDFLAGS}" \
- CFLAGS="${CFLAGS}" \
- LIBDIR="${libdir}" || die
-}
-
-# ${PATH} should include where to get MAKEDEV when calling this
-# function
-create_dev_nodes() {
- case $(tc-arch) in
- # amd64 must use generic-i386 because amd64/x86_64 does not have
- # a generic option at this time, and the default 'generic' ends
- # up erroring out, because MAKEDEV internally doesn't know what
- # to use
- arm*) suffix=-arm ;;
- alpha) suffix=-alpha ;;
- amd64) suffix=-i386 ;;
- hppa) suffix=-hppa ;;
- ia64) suffix=-ia64 ;;
- m68k) suffix=-m68k ;;
- mips*) suffix=-mips ;;
- ppc*) suffix=-powerpc ;;
- s390*) suffix=-s390 ;;
- sh*) suffix=-sh ;;
- sparc*) suffix=-sparc ;;
- x86) suffix=-i386 ;;
- esac
-
- einfo "Using generic${suffix} to make $(tc-arch) device nodes..."
- MAKEDEV generic${suffix}
- MAKEDEV sg scd rtc hde hdf hdg hdh input audio video
-}
-
-# This is a temporary workaround until bug 9849 is completely solved
-# in portage. We need to create the directories so they're available
-# during src_install, but when src_install is finished, call unkdir
-# to remove any empty directories instead of leaving them around.
-kdir() {
- typeset -a args
- typeset d
-
- # Create the directories for the remainder of src_install, and
- # remember how to create the directories later.
- for d in "$@"; do
- if [[ $d == /* ]]; then
- install -d "${args[@]}" "${D}/${d}"
- cat >> "${D}/usr/share/baselayout/mkdirs.sh" <<EOF
-if [ ! -d "\${ROOT}/${d}" ] ; then \\
- install -d ${args[@]} "\${ROOT}/${d}" 2>/dev/null \\
- || ewarn " can't create ${d}"
- touch "\${ROOT}/${d}/.keep" 2>/dev/null \\
- || ewarn " can't create ${d}/.keep"
-fi
-EOF
- else
- args=("${args[@]}" "${d}")
- fi
- done
-}
-
-# Continued from kdir above... This function removes any empty
-# directories as a temporary workaround for bug 9849. The directories
-# (and .keep files) are re-created in pkg_postinst, which means they
-# aren't listed in CONTENTS, unfortunately.
-unkdir() {
- einfo "Running unkdir to workaround bug 9849"
- find "${D}" -depth -type d -exec rmdir {} \; 2>/dev/null
- if [[ $? == 127 ]]; then
- ewarn "Problem running unkdir: find command not found"
- fi
-}
-
-# Same as kdir above, but for symlinks #103618
-ksym() {
- echo "[[ ! -e ${ROOT}/$2 ]] && { ln -s '$1' '${ROOT}/$2' &> /dev/null || ewarn ' unable to symlink $2 to $1' ; }" \
- >> "${D}"/usr/share/baselayout/mklinks.sh
-}
-
-src_install() {
- local dir libdirs libdirs_env rcscripts_dir
-
- # This directory is to stash away things that will be used in
- # pkg_postinst; it's needed first for kdir to function
- dodir /usr/share/baselayout
-
- # Jeremy Huddleston <eradicator@gentoo.org>
- # For multilib, we want to make sure that all our multilibdirs exist
- # and make lib even if it's not listed as one (like on amd64/ppc64
- # which sometimes has lib32/lib64 instead of lib/lib64).
- # lib should NOT be a symlink to one of the other libdirs.
- # Old systems with symlinks won't be affected by this change, as the
- # symlinks already exist and won't get removed, but new systems will
- # be setup properly.
- #
- # I'll be making a script to convert existing systems from symlink to
- # nosymlink and putting it in /usr/portage/scripts.
- libdirs=$(get_all_libdirs)
- : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass...
-
- # This should be /lib/rcscripts, but we have to support old profiles too.
- if [[ ${SYMLINK_LIB} == "yes" ]]; then
- rcscripts_dir="/$(get_abi_LIBDIR ${DEFAULT_ABI})/rcscripts"
- else
- rcscripts_dir="/lib/rcscripts"
- fi
-
- einfo "Creating directories..."
- kdir /usr
- kdir /usr/local
- kdir /boot
- kdir /dev
- kdir /dev/pts
- kdir /dev/shm
- kdir /etc/conf.d
- kdir /etc/cron.daily
- kdir /etc/cron.hourly
- kdir /etc/cron.monthly
- kdir /etc/cron.weekly
- kdir /etc/env.d
- dodir /etc/init.d # .keep file might mess up init.d stuff
- kdir /etc/modules.autoload.d
- kdir /etc/modules.d
- kdir /etc/opt
- kdir /home
- kdir ${rcscripts_dir}
- kdir ${rcscripts_dir}/awk
- kdir ${rcscripts_dir}/sh
- kdir ${rcscripts_dir}/net
- # Only install /mnt stuff at bootstrap time #88835 / #90022
- if use build ; then
- kdir /mnt
- kdir -m 0700 /mnt/cdrom
- kdir -m 0700 /mnt/floppy
- fi
- kdir /opt
- kdir -o root -g uucp -m0775 /var/lock
- kdir /proc
- kdir -m 0700 /root
- kdir /sbin
- kdir /sys # for 2.6 kernels
- kdir /usr/bin
- kdir /usr/include
- kdir /usr/include/asm
- kdir /usr/include/linux
- kdir /usr/local/bin
- kdir /usr/local/games
- kdir /usr/local/sbin
- kdir /usr/local/share
- kdir /usr/local/share/doc
- kdir /usr/local/share/man
- kdir /usr/local/src
- kdir ${PORTDIR}
- kdir /usr/sbin
- kdir /usr/share/doc
- kdir /usr/share/info
- kdir /usr/share/man
- kdir /usr/share/misc
- kdir /usr/src
- kdir -m 1777 /tmp
- kdir /var
- dodir /var/db/pkg # .keep file messes up Portage
- kdir /var/lib/misc
- kdir /var/lock/subsys
- kdir /var/log/news
- kdir /var/run
- kdir /var/spool
- kdir /var/state
- kdir -m 1777 /var/tmp
-
- for dir in ${libdirs}; do
- libdirs_env=${libdirs_env:+$libdirs_env:}/${dir}:/usr/${dir}:/usr/local/${dir}
- [[ ${dir} == "lib" && ${SYMLINK_LIB} == "yes" ]] && continue
- kdir /${dir}
- kdir /usr/${dir}
- kdir /usr/local/${dir}
- done
-
- # Ugly compatibility with stupid ebuilds and old profiles symlinks
- if [[ ${SYMLINK_LIB} == "yes" ]] ; then
- rm -r "${D}"/{lib,usr/lib,usr/local/lib} &> /dev/null
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /lib
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/lib
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/local/lib
- fi
-
- kdir /$(get_libdir)/dev-state
- kdir /$(get_libdir)/udev-state
-
- # FHS compatibility symlinks stuff
- ksym /var/tmp /usr/tmp
- ksym share/man /usr/local/man
-
- #
- # Setup files in /etc
- #
- insopts -m0644
- insinto /etc
- doins -r "${S}"/etc/*
- fperms 0640 /etc/sysctl.conf
-
- # Install some files to /usr/share/baselayout instead of /etc to keep from
- # (1) overwriting the user's settings, (2) screwing things up when
- # attempting to merge files, (3) accidentally packaging up personal files
- # with quickpkg
- fperms 0600 /etc/shadow
- mv "${D}"/etc/{passwd,shadow,group,fstab,hosts,issue.devfix} "${D}"/usr/share/baselayout
-
- # doinitd doesnt respect symlinks
- dodir /etc/init.d
- cp -P "${S}"/init.d/* "${D}"/etc/init.d/ || die "doinitd"
- #doinitd "${S}"/init.d/* || die "doinitd"
- doconfd "${S}"/etc/conf.d/* || die "doconfd"
- doenvd "${S}"/etc/env.d/* || die "doenvd"
- insinto /etc/modules.autoload.d
- doins "${S}"/etc/modules.autoload.d/*
- insinto /etc/modules.d
- doins "${S}"/etc/modules.d/*
-
- # Special-case uglyness... For people updating from lib32 -> lib amd64
- # profiles, keep lib32 in the search path while it's around
- if has_multilib_profile && [ -d /lib32 -o -d /usr/lib32 ] && ! hasq lib32 ${libdirs}; then
- libdirs_env="${libdirs_env}:/lib32:/usr/lib32:/usr/local/lib32"
- fi
-
- # List all the multilib libdirs in /etc/env/04multilib (only if they're
- # actually different from the normal
- if has_multilib_profile || [[ $(get_libdir) != "lib" || -n ${CONF_MULTILIBDIR} ]]; then
- echo "LDPATH=\"${libdirs_env}\"" > ${D}/etc/env.d/04multilib
- fi
-
- # As of baselayout-1.10-1-r1, sysvinit is its own package again, and
- # provides the inittab itself
- rm -f "${D}"/etc/inittab
-
- # Stash the rc-lists for use during pkg_postinst
- cp -r "${S}"/rc-lists "${D}"/usr/share/baselayout
-
- # rc-scripts version for testing of features that *should* be present
- echo "Gentoo Base System release ${PV}" > ${D}/etc/gentoo-release
-
- #
- # Setup files related to /dev
- #
- into /
- dosbin "${S}"/sbin/MAKEDEV
- dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV
- dosym ../sbin/MAKEDEV /dev/MAKEDEV
-
- #
- # Setup files in /bin
- #
- cd "${S}"/bin
- dobin rc-status
-
- #
- # Setup files in /sbin
- #
- cd "${S}"/sbin
- into /
- dosbin rc rc-update
- # Need this in /sbin, as it could be run before
- # /usr is mounted.
- dosbin modules-update
- # Compat symlinks until I can get things synced.
- dosym modules-update /sbin/update-modules
- dosym ../../sbin/modules-update /usr/sbin/update-modules
- # These moved from /etc/init.d/ to /sbin to help newb systems
- # from breaking
- dosbin runscript.sh functions.sh
-
- # Compat symlinks between /etc/init.d and /sbin
- # (some stuff have hardcoded paths)
- dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh
- dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh
- dosym ../../sbin/functions.sh /etc/init.d/functions.sh
-
- #
- # Setup files in /lib/rcscripts
- # These are support files for other things in baselayout that needn't be
- # under CONFIG_PROTECTed /etc
- #
- cd "${S}"/sbin
- exeinto ${rcscripts_dir}/sh
- doexe rc-services.sh rc-daemon.sh rc-help.sh
-
- # We can only install new, fast awk versions of scripts
- # if 'build' or 'bootstrap' is not in USE. This will
- # change if we have sys-apps/gawk-3.1.1-r1 or later in
- # the build image ...
- if ! use build; then
- # This is for new depscan.sh and env-update.sh
- # written in awk
- cd "${S}"/sbin
- into /
- dosbin depscan.sh
- dosbin env-update.sh
- insinto ${rcscripts_dir}/awk
- doins "${S}"/src/awk/*.awk
- fi
-
- # Original design had these in /etc/net.modules.d but that is too
- # problematic with CONFIG_PROTECT
- dodir ${rcscripts_dir}
- cp -pPR "${S}"/lib/rcscripts/net ${D}${rcscripts_dir}
- chown -R root:0 ${D}${rcscripts_dir}
-
- #
- # Install baselayout documentation
- #
- if ! use build ; then
- doman "${S}"/man/*.*
- docinto /
- dodoc ${FILESDIR}/copyright
- dodoc "${S}"/ChangeLog
- fi
-
- #
- # Install baselayout utilities
- #
- local libdir="lib"
- [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
-
- cd "${S}"/src
- make DESTDIR="${D}" LIBDIR="${libdir}" install || die
-
- # Hack to fix bug 9849, continued in pkg_postinst
- unkdir
-}
-
-# Support function for remapping old wireless dns vars
-remap_dns_vars() {
- local f="$1"
-
- if [[ -f ${ROOT}/etc/conf.d/${f} ]]; then
- sed -e 's/\<domain_/dns_domain_/g' \
- -e 's/\<mac_domain_/mac_dns_domain_/g' \
- -e 's/\<nameservers_/dns_servers_/g' \
- -e 's/\<mac_nameservers_/mac_dns_servers_/g' \
- -e 's/\<searchdomains_/dns_search_domains_/g' \
- -e 's/\<mac_searchdomains_/mac_dns_search_domains_/g' \
- ${ROOT}/etc/conf.d/${f} > ${D}/etc/conf.d/${f}
- fi
-}
-
-pkg_preinst() {
- if [[ -f ${ROOT}/etc/modules.autoload && \
- ! -d ${ROOT}/etc/modules.autoload.d ]]; then
- mkdir -p ${ROOT}/etc/modules.autoload.d
- mv -f ${ROOT}/etc/modules.autoload \
- ${ROOT}/etc/modules.autoload.d/kernel-2.4
- ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload
- fi
-
- # Change some vars introduced in baselayout-1.11.0 before we go stable
- # The new names make more sense and allow nis_domain
- # for use in baselayout-1.12.0
- remap_dns_vars net
- remap_dns_vars wireless
-}
-
-pkg_postinst() {
- local x y
-
- # Reincarnate dirs from kdir/unkdir (hack for bug 9849)
- einfo "Creating directories and .keep files."
- einfo "Some of these might fail if they're read-only mounted"
- einfo "filesystems, for example /dev or /proc. That's okay!"
- source "${ROOT}"/usr/share/baselayout/mkdirs.sh
- source "${ROOT}"/usr/share/baselayout/mklinks.sh
- echo
-
- # This could be done in src_install, which would have the benefit of
- # (1) devices.tar.bz2 would show up in CONTENTS
- # (2) binary installations would be faster... just untar the devices tarball
- # instead of needing to run MAKEDEV
- # However the most common cases are that people are either updating
- # baselayout or installing from scratch. In the installation case, it's no
- # different to have here instead of src_install. In the update case, we
- # save a couple minutes time by refraining from building the unnecessary
- # tarball.
- if [[ ! -f "${ROOT}/lib/udev-state/devices.tar.bz2" ]]; then
- # Create a directory in which to work
- x=$(emktemp -d ${ROOT}/tmp/devnodes.XXXXXXXXX) \
- && cd "${x}" || die 'mktemp failed'
-
- # Create temp device nodes
- echo
- einfo "Making device node tarball (this could take a couple minutes)"
- PATH=${ROOT}/sbin:${PATH} create_dev_nodes
-
- # Now create tarball that can also be used for udev.
- # Need GNU tar for -j so call it by absolute path.
- /bin/tar --one-file-system -cjpf "${ROOT}/lib/udev-state/devices.tar.bz2" *
- rm -r *
- cd ..
- rmdir "${x}"
- fi
-
- # We don't want to create devices if this is not a bootstrap and devfs
- # is used, as this was the cause for all the devfs problems we had
- if use build || use bootstrap; then
- if [[ ! -e "${ROOT}/dev/.devfsd" && ! -e "${ROOT}/dev/.udev" ]]; then
- einfo "Populating /dev with device nodes..."
- cd ${ROOT}/dev || die
- tar xjpf "${ROOT}/lib/udev-state/devices.tar.bz2" || die
- fi
- fi
-
- # Create /boot/boot symlink in pkg_postinst because sometimes
- # /boot is a FAT filesystem. When that is the case, then the
- # symlink will fail. Consequently, if we create it in
- # src_install, then merge will fail. AFAIK there is no point to
- # this symlink except for misconfigured grubs. See bug 50108
- # (05 May 2004 agriffis)
- ln -sn . "${ROOT}"/boot/boot 2>/dev/null
-
- # Set up default runlevel symlinks
- # This used to be done in src_install but required knowledge of ${ROOT},
- # which meant that it was effectively broken for binary installs.
- if [[ -z $(/bin/ls "${ROOT}"/etc/runlevels 2>/dev/null) ]]; then
- for x in boot default nonetwork single; do
- einfo "Creating default runlevel symlinks for ${x}"
- mkdir -p "${ROOT}"/etc/runlevels/${x}
- for y in $(<"${ROOT}"/usr/share/baselayout/rc-lists/${x}); do
- if [[ ! -e ${ROOT}/etc/init.d/${y} ]]; then
- ewarn "init.d/${y} not found -- ignoring"
- else
- ln -sfn /etc/init.d/${y} \
- "${ROOT}"/etc/runlevels/${x}/${y}
- fi
- done
- done
- fi
-
- # Create /etc/hosts in pkg_postinst so we don't overwrite an
- # existing file during bootstrap
- if [[ ! -e ${ROOT}/etc/hosts ]]; then
- cp ${ROOT}/usr/share/baselayout/hosts ${ROOT}/etc
- fi
-
- # Touching /etc/passwd and /etc/shadow after install can be fatal, as many
- # new users do not update them properly... see src_install() for why they
- # are in /usr/share/baselayout/
- for x in passwd shadow group fstab ; do
- if [[ -e ${ROOT}/etc/${x} ]] ; then
- touch "${ROOT}/etc/${x}"
- else
- cp "${ROOT}/usr/share/baselayout/${x}" "${ROOT}/etc/${x}"
- fi
- done
-
- # Under what circumstances would mtab be a symlink? It would be
- # nice if there were an explanatory comment here
- if [[ -L ${ROOT}/etc/mtab ]]; then
- rm -f "${ROOT}/etc/mtab"
- if [[ ${ROOT} == / ]]; then
- cp /proc/mounts "${ROOT}/etc/mtab"
- else
- touch "${ROOT}/etc/mtab"
- fi
- fi
-
- # We should only install empty files if these files don't already exist.
- [[ -e ${ROOT}/var/log/lastlog ]] || \
- touch "${ROOT}/var/log/lastlog"
- [[ -e ${ROOT}/var/run/utmp ]] || \
- install -m 0664 -g utmp /dev/null "${ROOT}/var/run/utmp"
- [[ -e ${ROOT}/var/log/wtmp ]] || \
- install -m 0664 -g utmp /dev/null "${ROOT}/var/log/wtmp"
-
- # Reload init to fix unmounting problems of / on next reboot.
- # This is really needed, as without the new version of init cause init
- # not to quit properly on reboot, and causes a fsck of / on next reboot.
- if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then
- # Regenerate init.d dependency tree
- /sbin/depscan.sh --update &>/dev/null
-
- # Regenerate /etc/modules.conf, else it will fail at next boot
- einfo "Updating module dependencies..."
- /sbin/modules-update force &>/dev/null
- else
- rm -f ${ROOT}/etc/modules.conf
- fi
-
- # This is also written in src_install (so it's in CONTENTS), but
- # write it here so that the new version is immediately in the file
- # (without waiting for the user to do etc-update)
- rm -f ${ROOT}/etc/._cfg????_gentoo-release
- echo "Gentoo Base System release ${PV}" > ${ROOT}/etc/gentoo-release
-
- echo
- einfo "Please be sure to update all pending '._cfg*' files in /etc,"
- einfo "else things might break at your next reboot! You can use 'etc-update'"
- einfo "to accomplish this:"
- einfo
- einfo " # etc-update"
- echo
-
- for f in ${ROOT}etc/init.d/net.* ; do
- [[ -L ${f} || ${f} == "${ROOT}etc/init.d/net.lo" ]] && continue
- echo
- einfo "WARNING: You have older net.* files in ${ROOT}etc/init.d/"
- einfo "They need to be converted to symlinks to net.lo. If you haven't"
- einfo "made personal changes to those files, you can update with the"
- einfo "following command:"
- einfo
- einfo " /bin/ls ${ROOT}etc/init.d/net.* | grep -v '/net.lo$' | xargs -n1 ln -sfvn net.lo"
- echo
- break
- done
-
- if sed -e 's/#.*//' ${ROOT}/etc/conf.d/{net,wireless} 2>/dev/null \
- | egrep -q '\<(domain|nameservers|searchdomains)_' ; then
- echo
- ewarn "You have depreciated variables in ${ROOT}/etc/conf.d/net"
- ewarn "or ${ROOT}/etc/conf.d/wireless"
- ewarn
- ewarn "domain_* -> dns_domain_*"
- ewarn "nameservers_* -> dns_servers_*"
- ewarn "searchdomains_* -> dns_search_domains_*"
- ewarn
- ewarn "They have been converted for you - ensure that you"
- ewarn "update them via 'etc-update'"
- echo
- fi
-
- if sed -e 's/#.*//' ${ROOT}/etc/conf.d/net 2>/dev/null \
- | egrep -q '\<(iface_|gateway=|ifconfig_|aliases_|broadcasts_|netmasks_|inet6_|ipaddr_|iproute_)'; then
- echo
- ewarn "You are using deprecated variables in ${ROOT}/etc/conf.d/net"
- ewarn
- ewarn "You are advised to review the new configuration variables as"
- ewarn "found in ${ROOT}/etc/conf.d/net.example as there is no"
- ewarn "guarantee that they will work in future versions."
- echo
- fi
-
- # Remove old stuff that may cause problems.
- if [[ -e "${ROOT}"/etc/env.d/01hostname ]] ; then
- rm -f "${ROOT}"/etc/env.d/01hostname
- fi
- if [[ -e "${ROOT}"/etc/init.d/domainname ]] ; then
- rm -f "${ROOT}"/etc/init.d/domainname
- rm -f "${ROOT}"/etc/runlevels/*/domainname
- ewarn "The domainname init script has been removed in this version."
- ewarn "Consult ${ROOT}/etc/conf.d/net.example for details about how"
- ewarn "to apply dns/nis information to the loopback interface."
- fi
-}
+++ /dev/null
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.12.5-r2.ebuild,v 1.5 2007/03/10 14:30:57 vapier Exp $
-
-inherit flag-o-matic eutils toolchain-funcs multilib
-
-DESCRIPTION="Filesystem baselayout and init scripts"
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="mirror://gentoo/${P}.tar.bz2
- http://dev.gentoo.org/~uberlord/baselayout/${P}.tar.bz2
- http://dev.gentoo.org/~azarah/baselayout/${P}.tar.bz2
- http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86"
-IUSE="bootstrap build static unicode"
-
-# This version of baselayout needs gawk in /bin, but as we do not have
-# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap"
-# or "build" are in USE.
-# We need to block old dhcpcd versions as they are no longer in system
-# but may not be in users world file either. See bug #143885
-RDEPEND=">=sys-apps/sysvinit-2.86-r3
- !build? ( !bootstrap? (
- >=sys-libs/readline-5.0-r1
- >=app-shells/bash-3.1_p7
- >=sys-apps/coreutils-5.2.1
- ) )
- !<net-misc/dhcpcd-2.0.0"
-DEPEND="virtual/os-headers
- >=sys-apps/portage-2.0.51"
-PROVIDE="virtual/baselayout"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- # Fix that nasty DMESG error
- epatch "${FILESDIR}/${P}-dmesg.patch"
-
- # Setup unicode defaults for silly unicode users
- if use unicode ; then
- sed -i -e '/^UNICODE=/s:no:yes:' etc/rc.conf
- fi
-
- # Tweak arch-specific details
- cd "${S}"
-
- case $(tc-arch) in
- sparc)
- sed -i -e '/^KEYMAP=/s:us:sunkeymap:' etc/conf.d/keymaps || die
- # Disable interactive boot on sparc due to stty calls, #104067
- sed -i -e '/^RC_INTERACTIVE=/s:yes:no:' etc/conf.d/rc || die
- ;;
- esac
-
- # Use correct path to filefuncs.so on multilib systems
- sed -i -e "s:/lib/rcscripts:/$(get_libdir)/rcscripts:" \
- ${S}/src/awk/{cachedepends,genenviron}.awk || die
-}
-
-src_compile() {
- local libdir="lib"
-
- use static && append-ldflags -static
-
- [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
-
- make -C "${S}"/src \
- CC="$(tc-getCC)" \
- LD="$(tc-getCC) ${LDFLAGS}" \
- CFLAGS="${CFLAGS}" \
- LIBDIR="${libdir}" || die
-}
-
-# ${PATH} should include where to get MAKEDEV when calling this
-# function
-create_dev_nodes() {
- case $(tc-arch) in
- # amd64 must use generic-i386 because amd64/x86_64 does not have
- # a generic option at this time, and the default 'generic' ends
- # up erroring out, because MAKEDEV internally doesn't know what
- # to use
- arm*) suffix=-arm ;;
- alpha) suffix=-alpha ;;
- amd64) suffix=-i386 ;;
- hppa) suffix=-hppa ;;
- ia64) suffix=-ia64 ;;
- m68k) suffix=-m68k ;;
- mips*) suffix=-mips ;;
- ppc*) suffix=-powerpc ;;
- s390*) suffix=-s390 ;;
- sh*) suffix=-sh ;;
- sparc*) suffix=-sparc ;;
- x86) suffix=-i386 ;;
- esac
-
- einfo "Using generic${suffix} to make $(tc-arch) device nodes..."
- MAKEDEV generic${suffix}
- MAKEDEV sg scd rtc hde hdf hdg hdh input audio video
-}
-
-# This is a temporary workaround until bug 9849 is completely solved
-# in portage. We need to create the directories so they're available
-# during src_install, but when src_install is finished, call unkdir
-# to remove any empty directories instead of leaving them around.
-kdir() {
- typeset -a args
- typeset d
-
- # Create the directories for the remainder of src_install, and
- # remember how to create the directories later.
- for d in "$@"; do
- if [[ $d == /* ]]; then
- install -d "${args[@]}" "${D}/${d}"
- cat >> "${D}/usr/share/baselayout/mkdirs.sh" <<EOF
-if [ ! -d "\${ROOT}/${d}" ] ; then \\
- install -d ${args[@]} "\${ROOT}/${d}" 2>/dev/null \\
- || ewarn " can't create ${d}"
- touch "\${ROOT}/${d}/.keep" 2>/dev/null \\
- || ewarn " can't create ${d}/.keep"
-fi
-EOF
- else
- args=("${args[@]}" "${d}")
- fi
- done
-}
-
-# Continued from kdir above... This function removes any empty
-# directories as a temporary workaround for bug 9849. The directories
-# (and .keep files) are re-created in pkg_postinst, which means they
-# aren't listed in CONTENTS, unfortunately.
-unkdir() {
- einfo "Running unkdir to workaround bug 9849"
- find "${D}" -depth -type d -exec rmdir {} \; 2>/dev/null
- if [[ $? == 127 ]]; then
- ewarn "Problem running unkdir: find command not found"
- fi
-}
-
-# Same as kdir above, but for symlinks #103618
-ksym() {
- echo "[[ ! -e ${ROOT}/$2 ]] && { ln -s '$1' '${ROOT}/$2' &> /dev/null || ewarn ' unable to symlink $2 to $1' ; }" \
- >> "${D}"/usr/share/baselayout/mklinks.sh
-}
-
-src_install() {
- local dir libdirs libdirs_env rcscripts_dir
-
- # This directory is to stash away things that will be used in
- # pkg_postinst; it's needed first for kdir to function
- dodir /usr/share/baselayout
-
- # Jeremy Huddleston <eradicator@gentoo.org>
- # For multilib, we want to make sure that all our multilibdirs exist
- # and make lib even if it's not listed as one (like on amd64/ppc64
- # which sometimes has lib32/lib64 instead of lib/lib64).
- # lib should NOT be a symlink to one of the other libdirs.
- # Old systems with symlinks won't be affected by this change, as the
- # symlinks already exist and won't get removed, but new systems will
- # be setup properly.
- #
- # I'll be making a script to convert existing systems from symlink to
- # nosymlink and putting it in /usr/portage/scripts.
- libdirs=$(get_all_libdirs)
- : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass...
-
- # This should be /lib/rcscripts, but we have to support old profiles too.
- if [[ ${SYMLINK_LIB} == "yes" ]]; then
- rcscripts_dir="/$(get_abi_LIBDIR ${DEFAULT_ABI})/rcscripts"
- else
- rcscripts_dir="/lib/rcscripts"
- fi
-
- einfo "Creating directories..."
- kdir /usr
- kdir /usr/local
- kdir /boot
- kdir /dev
- kdir /dev/pts
- kdir /dev/shm
- kdir /etc/conf.d
- kdir /etc/cron.daily
- kdir /etc/cron.hourly
- kdir /etc/cron.monthly
- kdir /etc/cron.weekly
- kdir /etc/env.d
- dodir /etc/init.d # .keep file might mess up init.d stuff
- kdir /etc/modules.autoload.d
- kdir /etc/modules.d
- kdir /etc/opt
- kdir /home
- kdir ${rcscripts_dir}
- kdir ${rcscripts_dir}/awk
- kdir ${rcscripts_dir}/sh
- kdir ${rcscripts_dir}/net
- # Only install /mnt stuff at bootstrap time #88835 / #90022
- if use build ; then
- kdir /mnt
- kdir -m 0700 /mnt/cdrom
- kdir -m 0700 /mnt/floppy
- fi
- kdir /opt
- kdir -o root -g uucp -m0775 /var/lock
- kdir /proc
- kdir -m 0700 /root
- kdir /sbin
- kdir /sys # for 2.6 kernels
- kdir /usr/bin
- kdir /usr/include
- kdir /usr/include/asm
- kdir /usr/include/linux
- kdir /usr/local/bin
- kdir /usr/local/games
- kdir /usr/local/sbin
- kdir /usr/local/share
- kdir /usr/local/share/doc
- kdir /usr/local/share/man
- kdir /usr/local/src
- kdir ${PORTDIR}
- kdir /usr/sbin
- kdir /usr/share/doc
- kdir /usr/share/info
- kdir /usr/share/man
- kdir /usr/share/misc
- kdir /usr/src
- kdir -m 1777 /tmp
- kdir /var
- dodir /var/db/pkg # .keep file messes up Portage
- kdir /var/lib/misc
- kdir /var/lock/subsys
- kdir /var/log/news
- kdir /var/run
- kdir /var/spool
- kdir /var/state
- kdir -m 1777 /var/tmp
-
- for dir in ${libdirs}; do
- libdirs_env=${libdirs_env:+$libdirs_env:}/${dir}:/usr/${dir}:/usr/local/${dir}
- [[ ${dir} == "lib" && ${SYMLINK_LIB} == "yes" ]] && continue
- kdir /${dir}
- kdir /usr/${dir}
- kdir /usr/local/${dir}
- done
-
- # Ugly compatibility with stupid ebuilds and old profiles symlinks
- if [[ ${SYMLINK_LIB} == "yes" ]] ; then
- rm -r "${D}"/{lib,usr/lib,usr/local/lib} &> /dev/null
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /lib
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/lib
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/local/lib
- fi
-
- kdir /lib/dev-state
- kdir /lib/udev-state
-
- # FHS compatibility symlinks stuff
- ksym /var/tmp /usr/tmp
- ksym share/man /usr/local/man
-
- #
- # Setup files in /etc
- #
- insopts -m0644
- insinto /etc
- doins -r "${S}"/etc/*
- fperms 0640 /etc/sysctl.conf
-
- # Install some files to /usr/share/baselayout instead of /etc to keep from
- # (1) overwriting the user's settings, (2) screwing things up when
- # attempting to merge files, (3) accidentally packaging up personal files
- # with quickpkg
- fperms 0600 /etc/shadow
- mv "${D}"/etc/{passwd,shadow,group,fstab,hosts,issue.devfix} "${D}"/usr/share/baselayout
-
- # doinitd doesnt respect symlinks
- dodir /etc/init.d
- cp -P "${S}"/init.d/* "${D}"/etc/init.d/ || die "doinitd"
- #doinitd "${S}"/init.d/* || die "doinitd"
- doconfd "${S}"/etc/conf.d/* || die "doconfd"
- doenvd "${S}"/etc/env.d/* || die "doenvd"
- insinto /etc/modules.autoload.d
- doins "${S}"/etc/modules.autoload.d/*
- insinto /etc/modules.d
- doins "${S}"/etc/modules.d/*
-
- # Special-case uglyness... For people updating from lib32 -> lib amd64
- # profiles, keep lib32 in the search path while it's around
- if has_multilib_profile && [ -d /lib32 -o -d /usr/lib32 ] && ! hasq lib32 ${libdirs}; then
- libdirs_env="${libdirs_env}:/lib32:/usr/lib32:/usr/local/lib32"
- fi
-
- # List all the multilib libdirs in /etc/env/04multilib (only if they're
- # actually different from the normal
- if has_multilib_profile || [[ $(get_libdir) != "lib" || -n ${CONF_MULTILIBDIR} ]]; then
- echo "LDPATH=\"${libdirs_env}\"" > ${D}/etc/env.d/04multilib
- fi
-
- # As of baselayout-1.10-1-r1, sysvinit is its own package again, and
- # provides the inittab itself
- rm -f "${D}"/etc/inittab
-
- # Stash the rc-lists for use during pkg_postinst
- cp -r "${S}"/rc-lists "${D}"/usr/share/baselayout
-
- # rc-scripts version for testing of features that *should* be present
- echo "Gentoo Base System release ${PV}" > ${D}/etc/gentoo-release
-
- #
- # Setup files related to /dev
- #
- into /
- dosbin "${S}"/sbin/MAKEDEV
- dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV
- dosym ../sbin/MAKEDEV /dev/MAKEDEV
-
- #
- # Setup files in /bin
- #
- cd "${S}"/bin
- dobin rc-status
-
- #
- # Setup files in /sbin
- #
- cd "${S}"/sbin
- into /
- dosbin rc rc-update
- # Need this in /sbin, as it could be run before
- # /usr is mounted.
- dosbin modules-update
- # Compat symlinks until I can get things synced.
- dosym modules-update /sbin/update-modules
- dosym ../../sbin/modules-update /usr/sbin/update-modules
- # These moved from /etc/init.d/ to /sbin to help newb systems
- # from breaking
- dosbin runscript.sh functions.sh
-
- # Compat symlinks between /etc/init.d and /sbin
- # (some stuff have hardcoded paths)
- dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh
- dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh
- dosym ../../sbin/functions.sh /etc/init.d/functions.sh
-
- #
- # Setup files in /lib/rcscripts
- # These are support files for other things in baselayout that needn't be
- # under CONFIG_PROTECTed /etc
- #
- cd "${S}"/sbin
- exeinto ${rcscripts_dir}/sh
- doexe rc-services.sh rc-daemon.sh rc-help.sh
-
- # We can only install new, fast awk versions of scripts
- # if 'build' or 'bootstrap' is not in USE. This will
- # change if we have sys-apps/gawk-3.1.1-r1 or later in
- # the build image ...
- if ! use build; then
- # This is for new depscan.sh and env-update.sh
- # written in awk
- cd "${S}"/sbin
- into /
- dosbin depscan.sh
- dosbin env-update.sh
- insinto ${rcscripts_dir}/awk
- doins "${S}"/src/awk/*.awk
- fi
-
- # Original design had these in /etc/net.modules.d but that is too
- # problematic with CONFIG_PROTECT
- dodir ${rcscripts_dir}
- cp -pPR "${S}"/lib/rcscripts/net ${D}${rcscripts_dir}
- chown -R root:0 ${D}${rcscripts_dir}
-
- #
- # Install baselayout documentation
- #
- if ! use build ; then
- doman "${S}"/man/*.*
- docinto /
- dodoc ${FILESDIR}/copyright
- dodoc "${S}"/ChangeLog
- fi
-
- #
- # Install baselayout utilities
- #
- local libdir="lib"
- [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
-
- cd "${S}"/src
- make DESTDIR="${D}" LIBDIR="${libdir}" install || die
-
- # Hack to fix bug 9849, continued in pkg_postinst
- unkdir
-}
-
-# Support function for remapping old wireless dns vars
-remap_dns_vars() {
- local f="$1"
-
- if [[ -f ${ROOT}/etc/conf.d/${f} ]]; then
- sed -e 's/\<domain_/dns_domain_/g' \
- -e 's/\<mac_domain_/mac_dns_domain_/g' \
- -e 's/\<nameservers_/dns_servers_/g' \
- -e 's/\<mac_nameservers_/mac_dns_servers_/g' \
- -e 's/\<searchdomains_/dns_search_domains_/g' \
- -e 's/\<mac_searchdomains_/mac_dns_search_domains_/g' \
- ${ROOT}/etc/conf.d/${f} > ${D}/etc/conf.d/${f}
- fi
-}
-
-pkg_preinst() {
- if [[ -f ${ROOT}/etc/modules.autoload && \
- ! -d ${ROOT}/etc/modules.autoload.d ]]; then
- mkdir -p ${ROOT}/etc/modules.autoload.d
- mv -f ${ROOT}/etc/modules.autoload \
- ${ROOT}/etc/modules.autoload.d/kernel-2.4
- ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload
- fi
-
- # Change some vars introduced in baselayout-1.11.0 before we go stable
- # The new names make more sense and allow nis_domain
- # for use in baselayout-1.12.0
- remap_dns_vars net
- remap_dns_vars wireless
-}
-
-pkg_postinst() {
- local x y
-
- # Reincarnate dirs from kdir/unkdir (hack for bug 9849)
- einfo "Creating directories and .keep files."
- einfo "Some of these might fail if they're read-only mounted"
- einfo "filesystems, for example /dev or /proc. That's okay!"
- source "${ROOT}"/usr/share/baselayout/mkdirs.sh
- source "${ROOT}"/usr/share/baselayout/mklinks.sh
- echo
-
- # This could be done in src_install, which would have the benefit of
- # (1) devices.tar.bz2 would show up in CONTENTS
- # (2) binary installations would be faster... just untar the devices tarball
- # instead of needing to run MAKEDEV
- # However the most common cases are that people are either updating
- # baselayout or installing from scratch. In the installation case, it's no
- # different to have here instead of src_install. In the update case, we
- # save a couple minutes time by refraining from building the unnecessary
- # tarball.
- if [[ ! -f "${ROOT}/lib/udev-state/devices.tar.bz2" ]]; then
- # Create a directory in which to work
- x=$(emktemp -d ${ROOT}/tmp/devnodes.XXXXXXXXX) \
- && cd "${x}" || die 'mktemp failed'
-
- # Create temp device nodes
- echo
- einfo "Making device node tarball (this could take a couple of minutes)"
- PATH=${ROOT}/sbin:${PATH} create_dev_nodes
-
- # Now create tarball that can also be used for udev.
- # Need GNU tar for -j so call it by absolute path.
- /bin/tar --one-file-system -cjpf "${ROOT}/lib/udev-state/devices.tar.bz2" *
- rm -r *
- cd ..
- rmdir "${x}"
- fi
-
- # We don't want to create devices if this is not a bootstrap and devfs
- # is used, as this was the cause for all the devfs problems we had
- if use build || use bootstrap; then
- if [[ ! -e "${ROOT}/dev/.devfsd" && ! -e "${ROOT}/dev/.udev" ]]; then
- einfo "Populating /dev with device nodes..."
- cd ${ROOT}/dev || die
- tar xjpf "${ROOT}/lib/udev-state/devices.tar.bz2" || die
- fi
- fi
-
- # Create /boot/boot symlink in pkg_postinst because sometimes
- # /boot is a FAT filesystem. When that is the case, then the
- # symlink will fail. Consequently, if we create it in
- # src_install, then merge will fail. AFAIK there is no point to
- # this symlink except for misconfigured grubs. See bug 50108
- # (05 May 2004 agriffis)
- ln -sn . "${ROOT}"/boot/boot 2>/dev/null
-
- # Set up default runlevel symlinks
- # This used to be done in src_install but required knowledge of ${ROOT},
- # which meant that it was effectively broken for binary installs.
- if [[ -z $(/bin/ls "${ROOT}"/etc/runlevels 2>/dev/null) ]]; then
- for x in boot default nonetwork single; do
- einfo "Creating default runlevel symlinks for ${x}"
- mkdir -p "${ROOT}"/etc/runlevels/${x}
- for y in $(<"${ROOT}"/usr/share/baselayout/rc-lists/${x}); do
- if [[ ! -e ${ROOT}/etc/init.d/${y} ]]; then
- ewarn "init.d/${y} not found -- ignoring"
- else
- ln -sfn /etc/init.d/${y} \
- "${ROOT}"/etc/runlevels/${x}/${y}
- fi
- done
- done
- fi
-
- # Create /etc/hosts in pkg_postinst so we don't overwrite an
- # existing file during bootstrap
- if [[ ! -e ${ROOT}/etc/hosts ]]; then
- cp ${ROOT}/usr/share/baselayout/hosts ${ROOT}/etc
- fi
-
- # Touching /etc/passwd and /etc/shadow after install can be fatal, as many
- # new users do not update them properly... see src_install() for why they
- # are in /usr/share/baselayout/
- for x in passwd shadow group fstab ; do
- if [[ -e ${ROOT}/etc/${x} ]] ; then
- touch "${ROOT}/etc/${x}"
- else
- cp "${ROOT}/usr/share/baselayout/${x}" "${ROOT}/etc/${x}"
- fi
- done
-
- # Under what circumstances would mtab be a symlink? It would be
- # nice if there were an explanatory comment here
- if [[ -L ${ROOT}/etc/mtab ]]; then
- rm -f "${ROOT}/etc/mtab"
- if [[ ${ROOT} == / ]]; then
- cp /proc/mounts "${ROOT}/etc/mtab"
- else
- touch "${ROOT}/etc/mtab"
- fi
- fi
-
- # We should only install empty files if these files don't already exist.
- [[ -e ${ROOT}/var/log/lastlog ]] || \
- touch "${ROOT}/var/log/lastlog"
- [[ -e ${ROOT}/var/run/utmp ]] || \
- install -m 0664 -g utmp /dev/null "${ROOT}/var/run/utmp"
- [[ -e ${ROOT}/var/log/wtmp ]] || \
- install -m 0664 -g utmp /dev/null "${ROOT}/var/log/wtmp"
-
- # Reload init to fix unmounting problems of / on next reboot.
- # This is really needed, as without the new version of init cause init
- # not to quit properly on reboot, and causes a fsck of / on next reboot.
- if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then
- # Regenerate init.d dependency tree
- /sbin/depscan.sh --update &>/dev/null
-
- # Regenerate /etc/modules.conf, else it will fail at next boot
- einfo "Updating module dependencies..."
- /sbin/modules-update force &>/dev/null
- else
- rm -f ${ROOT}/etc/modules.conf
- fi
-
- # This is also written in src_install (so it's in CONTENTS), but
- # write it here so that the new version is immediately in the file
- # (without waiting for the user to do etc-update)
- rm -f ${ROOT}/etc/._cfg????_gentoo-release
- echo "Gentoo Base System release ${PV}" > ${ROOT}/etc/gentoo-release
-
- echo
- einfo "Please be sure to update all pending '._cfg*' files in /etc,"
- einfo "else things might break at your next reboot! You can use 'etc-update'"
- einfo "to accomplish this:"
- einfo
- einfo " # etc-update"
- echo
-
- for f in ${ROOT}etc/init.d/net.* ; do
- [[ -L ${f} || ${f} == "${ROOT}etc/init.d/net.lo" ]] && continue
- echo
- einfo "WARNING: You have older net.* files in ${ROOT}etc/init.d/"
- einfo "They need to be converted to symlinks to net.lo. If you haven't"
- einfo "made personal changes to those files, you can update with the"
- einfo "following command:"
- einfo
- einfo " /bin/ls ${ROOT}etc/init.d/net.* | grep -v '/net.lo$' | xargs -n1 ln -sfvn net.lo"
- echo
- break
- done
-
- if sed -e 's/#.*//' ${ROOT}/etc/conf.d/{net,wireless} 2>/dev/null \
- | egrep -q '\<(domain|nameservers|searchdomains)_' ; then
- echo
- ewarn "You have depreciated variables in ${ROOT}/etc/conf.d/net"
- ewarn "or ${ROOT}/etc/conf.d/wireless"
- ewarn
- ewarn "domain_* -> dns_domain_*"
- ewarn "nameservers_* -> dns_servers_*"
- ewarn "searchdomains_* -> dns_search_domains_*"
- ewarn
- ewarn "They have been converted for you - ensure that you"
- ewarn "update them via 'etc-update'"
- echo
- fi
-
- if sed -e 's/#.*//' ${ROOT}/etc/conf.d/net 2>/dev/null \
- | egrep -q '\<(iface_|gateway=|ifconfig_|aliases_|broadcasts_|netmasks_|inet6_|ipaddr_|iproute_)'; then
- echo
- ewarn "You are using deprecated variables in ${ROOT}/etc/conf.d/net"
- ewarn
- ewarn "You are advised to review the new configuration variables as"
- ewarn "found in ${ROOT}/etc/conf.d/net.example as there is no"
- ewarn "guarantee that they will work in future versions."
- echo
- fi
-
- # Remove old stuff that may cause problems.
- if [[ -e "${ROOT}"/etc/env.d/01hostname ]] ; then
- rm -f "${ROOT}"/etc/env.d/01hostname
- fi
- if [[ -e "${ROOT}"/etc/init.d/domainname ]] ; then
- rm -f "${ROOT}"/etc/init.d/domainname
- rm -f "${ROOT}"/etc/runlevels/*/domainname
- ewarn "The domainname init script has been removed in this version."
- ewarn "Consult ${ROOT}/etc/conf.d/net.example for details about how"
- ewarn "to apply dns/nis information to the loopback interface."
- fi
-}
+++ /dev/null
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.12.6.ebuild,v 1.3 2007/03/10 14:30:57 vapier Exp $
-
-inherit flag-o-matic eutils toolchain-funcs multilib
-
-DESCRIPTION="Filesystem baselayout and init scripts"
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="mirror://gentoo/${P}.tar.bz2
- http://dev.gentoo.org/~uberlord/baselayout/${P}.tar.bz2
- http://dev.gentoo.org/~azarah/baselayout/${P}.tar.bz2
- http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86"
-IUSE="bootstrap build static unicode"
-
-# This version of baselayout needs gawk in /bin, but as we do not have
-# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap"
-# or "build" are in USE.
-# We need to block old dhcpcd versions as they are no longer in system
-# but may not be in users world file either. See bug #143885
-RDEPEND=">=sys-apps/sysvinit-2.86-r3
- !build? ( !bootstrap? (
- >=sys-libs/readline-5.0-r1
- >=app-shells/bash-3.1_p7
- >=sys-apps/coreutils-5.2.1
- ) )
- !<net-misc/dhcpcd-2.0.0"
-DEPEND="virtual/os-headers
- >=sys-apps/portage-2.0.51"
-PROVIDE="virtual/baselayout"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- # Setup unicode defaults for silly unicode users
- if use unicode ; then
- sed -i -e '/^UNICODE=/s:no:yes:' etc/rc.conf
- fi
-
- # Tweak arch-specific details
- cd "${S}"
-
- case $(tc-arch) in
- sparc)
- sed -i -e '/^KEYMAP=/s:us:sunkeymap:' etc/conf.d/keymaps || die
- # Disable interactive boot on sparc due to stty calls, #104067
- sed -i -e '/^RC_INTERACTIVE=/s:yes:no:' etc/conf.d/rc || die
- ;;
- esac
-
- # Use correct path to filefuncs.so on multilib systems
- sed -i -e "s:/lib/rcscripts:/$(get_libdir)/rcscripts:" \
- ${S}/src/awk/{cachedepends,genenviron}.awk || die
-}
-
-src_compile() {
- local libdir="lib"
-
- use static && append-ldflags -static
-
- [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
-
- make -C "${S}"/src \
- CC="$(tc-getCC)" \
- LD="$(tc-getCC) ${LDFLAGS}" \
- CFLAGS="${CFLAGS}" \
- LIBDIR="${libdir}" || die
-}
-
-# ${PATH} should include where to get MAKEDEV when calling this
-# function
-create_dev_nodes() {
- case $(tc-arch) in
- # amd64 must use generic-i386 because amd64/x86_64 does not have
- # a generic option at this time, and the default 'generic' ends
- # up erroring out, because MAKEDEV internally doesn't know what
- # to use
- arm*) suffix=-arm ;;
- alpha) suffix=-alpha ;;
- amd64) suffix=-i386 ;;
- hppa) suffix=-hppa ;;
- ia64) suffix=-ia64 ;;
- m68k) suffix=-m68k ;;
- mips*) suffix=-mips ;;
- ppc*) suffix=-powerpc ;;
- s390*) suffix=-s390 ;;
- sh*) suffix=-sh ;;
- sparc*) suffix=-sparc ;;
- x86) suffix=-i386 ;;
- esac
-
- einfo "Using generic${suffix} to make $(tc-arch) device nodes..."
- MAKEDEV generic${suffix}
- MAKEDEV sg scd rtc hde hdf hdg hdh input audio video
-}
-
-# This is a temporary workaround until bug 9849 is completely solved
-# in portage. We need to create the directories so they're available
-# during src_install, but when src_install is finished, call unkdir
-# to remove any empty directories instead of leaving them around.
-kdir() {
- typeset -a args
- typeset d
-
- # Create the directories for the remainder of src_install, and
- # remember how to create the directories later.
- for d in "$@"; do
- if [[ $d == /* ]]; then
- install -d "${args[@]}" "${D}/${d}"
- cat >> "${D}/usr/share/baselayout/mkdirs.sh" <<EOF
-if [ ! -d "\${ROOT}/${d}" ] ; then \\
- install -d ${args[@]} "\${ROOT}/${d}" 2>/dev/null \\
- || ewarn " can't create ${d}"
- touch "\${ROOT}/${d}/.keep" 2>/dev/null \\
- || ewarn " can't create ${d}/.keep"
-fi
-EOF
- else
- args=("${args[@]}" "${d}")
- fi
- done
-}
-
-# Continued from kdir above... This function removes any empty
-# directories as a temporary workaround for bug 9849. The directories
-# (and .keep files) are re-created in pkg_postinst, which means they
-# aren't listed in CONTENTS, unfortunately.
-unkdir() {
- einfo "Running unkdir to workaround bug 9849"
- find "${D}" -depth -type d -exec rmdir {} \; 2>/dev/null
- if [[ $? == 127 ]]; then
- ewarn "Problem running unkdir: find command not found"
- fi
-}
-
-# Same as kdir above, but for symlinks #103618
-ksym() {
- echo "[[ ! -e ${ROOT}/$2 ]] && { ln -s '$1' '${ROOT}/$2' &> /dev/null || ewarn ' unable to symlink $2 to $1' ; }" \
- >> "${D}"/usr/share/baselayout/mklinks.sh
-}
-
-src_install() {
- local dir libdirs libdirs_env rcscripts_dir
-
- # This directory is to stash away things that will be used in
- # pkg_postinst; it's needed first for kdir to function
- dodir /usr/share/baselayout
-
- # Jeremy Huddleston <eradicator@gentoo.org>
- # For multilib, we want to make sure that all our multilibdirs exist
- # and make lib even if it's not listed as one (like on amd64/ppc64
- # which sometimes has lib32/lib64 instead of lib/lib64).
- # lib should NOT be a symlink to one of the other libdirs.
- # Old systems with symlinks won't be affected by this change, as the
- # symlinks already exist and won't get removed, but new systems will
- # be setup properly.
- #
- # I'll be making a script to convert existing systems from symlink to
- # nosymlink and putting it in /usr/portage/scripts.
- libdirs=$(get_all_libdirs)
- : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass...
-
- # This should be /lib/rcscripts, but we have to support old profiles too.
- if [[ ${SYMLINK_LIB} == "yes" ]]; then
- rcscripts_dir="/$(get_abi_LIBDIR ${DEFAULT_ABI})/rcscripts"
- else
- rcscripts_dir="/lib/rcscripts"
- fi
-
- einfo "Creating directories..."
- kdir /usr
- kdir /usr/local
- kdir /boot
- kdir /dev
- kdir /dev/pts
- kdir /dev/shm
- kdir /etc/conf.d
- kdir /etc/cron.daily
- kdir /etc/cron.hourly
- kdir /etc/cron.monthly
- kdir /etc/cron.weekly
- kdir /etc/env.d
- dodir /etc/init.d # .keep file might mess up init.d stuff
- kdir /etc/modules.autoload.d
- kdir /etc/modules.d
- kdir /etc/opt
- kdir /home
- kdir ${rcscripts_dir}
- kdir ${rcscripts_dir}/awk
- kdir ${rcscripts_dir}/sh
- kdir ${rcscripts_dir}/net
- # Only install /mnt stuff at bootstrap time #88835 / #90022
- if use build ; then
- kdir /mnt
- kdir -m 0700 /mnt/cdrom
- kdir -m 0700 /mnt/floppy
- fi
- kdir /opt
- kdir -o root -g uucp -m0775 /var/lock
- kdir /proc
- kdir -m 0700 /root
- kdir /sbin
- kdir /sys # for 2.6 kernels
- kdir /usr/bin
- kdir /usr/include
- kdir /usr/include/asm
- kdir /usr/include/linux
- kdir /usr/local/bin
- kdir /usr/local/games
- kdir /usr/local/sbin
- kdir /usr/local/share
- kdir /usr/local/share/doc
- kdir /usr/local/share/man
- kdir /usr/local/src
- kdir ${PORTDIR}
- kdir /usr/sbin
- kdir /usr/share/doc
- kdir /usr/share/info
- kdir /usr/share/man
- kdir /usr/share/misc
- kdir /usr/src
- kdir -m 1777 /tmp
- kdir /var
- dodir /var/db/pkg # .keep file messes up Portage
- kdir /var/lib/misc
- kdir /var/lock/subsys
- kdir /var/log/news
- kdir /var/run
- kdir /var/spool
- kdir /var/state
- kdir -m 1777 /var/tmp
-
- for dir in ${libdirs}; do
- libdirs_env=${libdirs_env:+$libdirs_env:}/${dir}:/usr/${dir}:/usr/local/${dir}
- [[ ${dir} == "lib" && ${SYMLINK_LIB} == "yes" ]] && continue
- kdir /${dir}
- kdir /usr/${dir}
- kdir /usr/local/${dir}
- done
-
- # Ugly compatibility with stupid ebuilds and old profiles symlinks
- if [[ ${SYMLINK_LIB} == "yes" ]] ; then
- rm -r "${D}"/{lib,usr/lib,usr/local/lib} &> /dev/null
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /lib
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/lib
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/local/lib
- fi
-
- kdir /lib/dev-state
- kdir /lib/udev-state
-
- # FHS compatibility symlinks stuff
- ksym /var/tmp /usr/tmp
- ksym share/man /usr/local/man
-
- #
- # Setup files in /etc
- #
- insopts -m0644
- insinto /etc
- doins -r "${S}"/etc/*
- fperms 0640 /etc/sysctl.conf
-
- # Install some files to /usr/share/baselayout instead of /etc to keep from
- # (1) overwriting the user's settings, (2) screwing things up when
- # attempting to merge files, (3) accidentally packaging up personal files
- # with quickpkg
- fperms 0600 /etc/shadow
- mv "${D}"/etc/{passwd,shadow,group,fstab,hosts,issue.devfix} "${D}"/usr/share/baselayout
-
- # doinitd doesnt respect symlinks
- dodir /etc/init.d
- cp -P "${S}"/init.d/* "${D}"/etc/init.d/ || die "doinitd"
- #doinitd "${S}"/init.d/* || die "doinitd"
- doconfd "${S}"/etc/conf.d/* || die "doconfd"
- doenvd "${S}"/etc/env.d/* || die "doenvd"
- insinto /etc/modules.autoload.d
- doins "${S}"/etc/modules.autoload.d/*
- insinto /etc/modules.d
- doins "${S}"/etc/modules.d/*
-
- # Special-case uglyness... For people updating from lib32 -> lib amd64
- # profiles, keep lib32 in the search path while it's around
- if has_multilib_profile && [ -d /lib32 -o -d /usr/lib32 ] && ! hasq lib32 ${libdirs}; then
- libdirs_env="${libdirs_env}:/lib32:/usr/lib32:/usr/local/lib32"
- fi
-
- # List all the multilib libdirs in /etc/env/04multilib (only if they're
- # actually different from the normal
- if has_multilib_profile || [[ $(get_libdir) != "lib" || -n ${CONF_MULTILIBDIR} ]]; then
- echo "LDPATH=\"${libdirs_env}\"" > ${D}/etc/env.d/04multilib
- fi
-
- # As of baselayout-1.10-1-r1, sysvinit is its own package again, and
- # provides the inittab itself
- rm -f "${D}"/etc/inittab
-
- # Stash the rc-lists for use during pkg_postinst
- cp -r "${S}"/rc-lists "${D}"/usr/share/baselayout
-
- # rc-scripts version for testing of features that *should* be present
- echo "Gentoo Base System release ${PV}" > ${D}/etc/gentoo-release
-
- #
- # Setup files related to /dev
- #
- into /
- dosbin "${S}"/sbin/MAKEDEV
- dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV
- dosym ../sbin/MAKEDEV /dev/MAKEDEV
-
- #
- # Setup files in /bin
- #
- cd "${S}"/bin
- dobin rc-status
-
- #
- # Setup files in /sbin
- #
- cd "${S}"/sbin
- into /
- dosbin rc rc-update
- # Need this in /sbin, as it could be run before
- # /usr is mounted.
- dosbin modules-update
- # Compat symlinks until I can get things synced.
- dosym modules-update /sbin/update-modules
- dosym ../../sbin/modules-update /usr/sbin/update-modules
- # These moved from /etc/init.d/ to /sbin to help newb systems
- # from breaking
- dosbin runscript.sh functions.sh
-
- # Compat symlinks between /etc/init.d and /sbin
- # (some stuff have hardcoded paths)
- dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh
- dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh
- dosym ../../sbin/functions.sh /etc/init.d/functions.sh
-
- #
- # Setup files in /lib/rcscripts
- # These are support files for other things in baselayout that needn't be
- # under CONFIG_PROTECTed /etc
- #
- cd "${S}"/sbin
- exeinto ${rcscripts_dir}/sh
- doexe rc-services.sh rc-daemon.sh rc-help.sh
-
- # We can only install new, fast awk versions of scripts
- # if 'build' or 'bootstrap' is not in USE. This will
- # change if we have sys-apps/gawk-3.1.1-r1 or later in
- # the build image ...
- if ! use build; then
- # This is for new depscan.sh and env-update.sh
- # written in awk
- cd "${S}"/sbin
- into /
- dosbin depscan.sh
- dosbin env-update.sh
- insinto ${rcscripts_dir}/awk
- doins "${S}"/src/awk/*.awk
- fi
-
- # Original design had these in /etc/net.modules.d but that is too
- # problematic with CONFIG_PROTECT
- dodir ${rcscripts_dir}
- cp -pPR "${S}"/lib/rcscripts/net ${D}${rcscripts_dir}
- chown -R root:0 ${D}${rcscripts_dir}
-
- #
- # Install baselayout documentation
- #
- if ! use build ; then
- doman "${S}"/man/*.*
- docinto /
- dodoc ${FILESDIR}/copyright
- dodoc "${S}"/ChangeLog
- fi
-
- #
- # Install baselayout utilities
- #
- local libdir="lib"
- [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
-
- cd "${S}"/src
- make DESTDIR="${D}" LIBDIR="${libdir}" install || die
-
- # Hack to fix bug 9849, continued in pkg_postinst
- unkdir
-}
-
-# Support function for remapping old wireless dns vars
-remap_dns_vars() {
- local f="$1"
-
- if [[ -f ${ROOT}/etc/conf.d/${f} ]]; then
- sed -e 's/\<domain_/dns_domain_/g' \
- -e 's/\<mac_domain_/mac_dns_domain_/g' \
- -e 's/\<nameservers_/dns_servers_/g' \
- -e 's/\<mac_nameservers_/mac_dns_servers_/g' \
- -e 's/\<searchdomains_/dns_search_domains_/g' \
- -e 's/\<mac_searchdomains_/mac_dns_search_domains_/g' \
- ${ROOT}/etc/conf.d/${f} > ${D}/etc/conf.d/${f}
- fi
-}
-
-pkg_preinst() {
- if [[ -f ${ROOT}/etc/modules.autoload && \
- ! -d ${ROOT}/etc/modules.autoload.d ]]; then
- mkdir -p ${ROOT}/etc/modules.autoload.d
- mv -f ${ROOT}/etc/modules.autoload \
- ${ROOT}/etc/modules.autoload.d/kernel-2.4
- ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload
- fi
-
- # Change some vars introduced in baselayout-1.11.0 before we go stable
- # The new names make more sense and allow nis_domain
- # for use in baselayout-1.12.0
- remap_dns_vars net
- remap_dns_vars wireless
-}
-
-pkg_postinst() {
- local x y
-
- # Reincarnate dirs from kdir/unkdir (hack for bug 9849)
- einfo "Creating directories and .keep files."
- einfo "Some of these might fail if they're read-only mounted"
- einfo "filesystems, for example /dev or /proc. That's okay!"
- source "${ROOT}"/usr/share/baselayout/mkdirs.sh
- source "${ROOT}"/usr/share/baselayout/mklinks.sh
- echo
-
- # This could be done in src_install, which would have the benefit of
- # (1) devices.tar.bz2 would show up in CONTENTS
- # (2) binary installations would be faster... just untar the devices tarball
- # instead of needing to run MAKEDEV
- # However the most common cases are that people are either updating
- # baselayout or installing from scratch. In the installation case, it's no
- # different to have here instead of src_install. In the update case, we
- # save a couple minutes time by refraining from building the unnecessary
- # tarball.
- if [[ ! -f "${ROOT}/lib/udev-state/devices.tar.bz2" ]]; then
- # Create a directory in which to work
- x=$(emktemp -d ${ROOT}/tmp/devnodes.XXXXXXXXX) \
- && cd "${x}" || die 'mktemp failed'
-
- # Create temp device nodes
- echo
- einfo "Making device node tarball (this could take a couple minutes)"
- PATH=${ROOT}/sbin:${PATH} create_dev_nodes
-
- # Now create tarball that can also be used for udev.
- # Need GNU tar for -j so call it by absolute path.
- /bin/tar --one-file-system -cjpf "${ROOT}/lib/udev-state/devices.tar.bz2" *
- rm -r *
- cd ..
- rmdir "${x}"
- fi
-
- # We don't want to create devices if this is not a bootstrap and devfs
- # is used, as this was the cause for all the devfs problems we had
- if use build || use bootstrap; then
- if [[ ! -e "${ROOT}/dev/.devfsd" && ! -e "${ROOT}/dev/.udev" ]]; then
- einfo "Populating /dev with device nodes..."
- cd ${ROOT}/dev || die
- tar xjpf "${ROOT}/lib/udev-state/devices.tar.bz2" || die
- fi
- fi
-
- # Create /boot/boot symlink in pkg_postinst because sometimes
- # /boot is a FAT filesystem. When that is the case, then the
- # symlink will fail. Consequently, if we create it in
- # src_install, then merge will fail. AFAIK there is no point to
- # this symlink except for misconfigured grubs. See bug 50108
- # (05 May 2004 agriffis)
- ln -sn . "${ROOT}"/boot/boot 2>/dev/null
-
- # Set up default runlevel symlinks
- # This used to be done in src_install but required knowledge of ${ROOT},
- # which meant that it was effectively broken for binary installs.
- if [[ -z $(/bin/ls "${ROOT}"/etc/runlevels 2>/dev/null) ]]; then
- for x in boot default nonetwork single; do
- einfo "Creating default runlevel symlinks for ${x}"
- mkdir -p "${ROOT}"/etc/runlevels/${x}
- for y in $(<"${ROOT}"/usr/share/baselayout/rc-lists/${x}); do
- if [[ ! -e ${ROOT}/etc/init.d/${y} ]]; then
- ewarn "init.d/${y} not found -- ignoring"
- else
- ln -sfn /etc/init.d/${y} \
- "${ROOT}"/etc/runlevels/${x}/${y}
- fi
- done
- done
- fi
-
- # Create /etc/hosts in pkg_postinst so we don't overwrite an
- # existing file during bootstrap
- if [[ ! -e ${ROOT}/etc/hosts ]]; then
- cp ${ROOT}/usr/share/baselayout/hosts ${ROOT}/etc
- fi
-
- # Touching /etc/passwd and /etc/shadow after install can be fatal, as many
- # new users do not update them properly... see src_install() for why they
- # are in /usr/share/baselayout/
- for x in passwd shadow group fstab ; do
- if [[ -e ${ROOT}/etc/${x} ]] ; then
- touch "${ROOT}/etc/${x}"
- else
- cp "${ROOT}/usr/share/baselayout/${x}" "${ROOT}/etc/${x}"
- fi
- done
-
- # Under what circumstances would mtab be a symlink? It would be
- # nice if there were an explanatory comment here
- if [[ -L ${ROOT}/etc/mtab ]]; then
- rm -f "${ROOT}/etc/mtab"
- if [[ ${ROOT} == / ]]; then
- cp /proc/mounts "${ROOT}/etc/mtab"
- else
- touch "${ROOT}/etc/mtab"
- fi
- fi
-
- # We should only install empty files if these files don't already exist.
- [[ -e ${ROOT}/var/log/lastlog ]] || \
- touch "${ROOT}/var/log/lastlog"
- [[ -e ${ROOT}/var/run/utmp ]] || \
- install -m 0664 -g utmp /dev/null "${ROOT}/var/run/utmp"
- [[ -e ${ROOT}/var/log/wtmp ]] || \
- install -m 0664 -g utmp /dev/null "${ROOT}/var/log/wtmp"
-
- # Reload init to fix unmounting problems of / on next reboot.
- # This is really needed, as without the new version of init cause init
- # not to quit properly on reboot, and causes a fsck of / on next reboot.
- if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then
- # Regenerate init.d dependency tree
- /sbin/depscan.sh --update &>/dev/null
-
- # Regenerate /etc/modules.conf, else it will fail at next boot
- einfo "Updating module dependencies..."
- /sbin/modules-update force &>/dev/null
- else
- rm -f ${ROOT}/etc/modules.conf
- fi
-
- # This is also written in src_install (so it's in CONTENTS), but
- # write it here so that the new version is immediately in the file
- # (without waiting for the user to do etc-update)
- rm -f ${ROOT}/etc/._cfg????_gentoo-release
- echo "Gentoo Base System release ${PV}" > ${ROOT}/etc/gentoo-release
-
- echo
- einfo "Please be sure to update all pending '._cfg*' files in /etc,"
- einfo "else things might break at your next reboot! You can use 'etc-update'"
- einfo "to accomplish this:"
- einfo
- einfo " # etc-update"
- echo
-
- for f in ${ROOT}etc/init.d/net.* ; do
- [[ -L ${f} || ${f} == "${ROOT}etc/init.d/net.lo" ]] && continue
- echo
- einfo "WARNING: You have older net.* files in ${ROOT}etc/init.d/"
- einfo "They need to be converted to symlinks to net.lo. If you haven't"
- einfo "made personal changes to those files, you can update with the"
- einfo "following command:"
- einfo
- einfo " /bin/ls ${ROOT}etc/init.d/net.* | grep -v '/net.lo$' | xargs -n1 ln -sfvn net.lo"
- echo
- break
- done
-
- if sed -e 's/#.*//' ${ROOT}/etc/conf.d/{net,wireless} 2>/dev/null \
- | egrep -q '\<(domain|nameservers|searchdomains)_' ; then
- echo
- ewarn "You have depreciated variables in ${ROOT}/etc/conf.d/net"
- ewarn "or ${ROOT}/etc/conf.d/wireless"
- ewarn
- ewarn "domain_* -> dns_domain_*"
- ewarn "nameservers_* -> dns_servers_*"
- ewarn "searchdomains_* -> dns_search_domains_*"
- ewarn
- ewarn "They have been converted for you - ensure that you"
- ewarn "update them via 'etc-update'"
- echo
- fi
-
- if sed -e 's/#.*//' ${ROOT}/etc/conf.d/net 2>/dev/null \
- | egrep -q '\<(iface_|gateway=|ifconfig_|aliases_|broadcasts_|netmasks_|inet6_|ipaddr_|iproute_)'; then
- echo
- ewarn "You are using deprecated variables in ${ROOT}/etc/conf.d/net"
- ewarn
- ewarn "You are advised to review the new configuration variables as"
- ewarn "found in ${ROOT}/etc/conf.d/net.example as there is no"
- ewarn "guarantee that they will work in future versions."
- echo
- fi
-
- # Remove old stuff that may cause problems.
- if [[ -e "${ROOT}"/etc/env.d/01hostname ]] ; then
- rm -f "${ROOT}"/etc/env.d/01hostname
- fi
- if [[ -e "${ROOT}"/etc/init.d/domainname ]] ; then
- rm -f "${ROOT}"/etc/init.d/domainname
- rm -f "${ROOT}"/etc/runlevels/*/domainname
- ewarn "The domainname init script has been removed in this version."
- ewarn "Consult ${ROOT}/etc/conf.d/net.example for details about how"
- ewarn "to apply dns/nis information to the loopback interface."
- fi
-}
+++ /dev/null
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.12.8-r1.ebuild,v 1.7 2007/03/10 14:30:57 vapier Exp $
-
-inherit flag-o-matic eutils toolchain-funcs multilib
-
-DESCRIPTION="Filesystem baselayout and init scripts"
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="mirror://gentoo/${P}.tar.bz2
- http://dev.gentoo.org/~uberlord/baselayout/${P}.tar.bz2
- http://dev.gentoo.org/~azarah/baselayout/${P}.tar.bz2
- http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc ~x86"
-IUSE="bootstrap build static unicode"
-
-# This version of baselayout needs gawk in /bin, but as we do not have
-# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap"
-# or "build" are in USE.
-# We need to block old dhcpcd versions as they are no longer in system
-# but may not be in users world file either. See bug #143885
-RDEPEND="virtual/init
- !build? ( !bootstrap? (
- >=sys-libs/readline-5.0-r1
- >=app-shells/bash-3.1_p7
- >=sys-apps/coreutils-5.2.1
- ) )
- !<net-misc/dhcpcd-2.0.0"
-DEPEND="virtual/os-headers
- >=sys-apps/portage-2.0.51"
-PDEPEND="!build? ( !bootstrap? ( >=sys-apps/module-init-tools-3.2.2-r2 ) )"
-PROVIDE="virtual/baselayout"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- epatch "${FILESDIR}/${P}-r2440.patch"
-
- # Setup unicode defaults for silly unicode users
- if use unicode ; then
- sed -i -e '/^UNICODE=/s:no:yes:' etc/rc.conf
- fi
-
- # Tweak arch-specific details
- cd "${S}"
-
- case $(tc-arch) in
- sparc)
- sed -i -e '/^KEYMAP=/s:us:sunkeymap:' etc/conf.d/keymaps || die
- # Disable interactive boot on sparc due to stty calls, #104067
- sed -i -e '/^RC_INTERACTIVE=/s:yes:no:' etc/conf.d/rc || die
- ;;
- esac
-
- # Use correct path to filefuncs.so on multilib systems
- sed -i -e "s:/lib/rcscripts:/$(get_libdir)/rcscripts:" \
- ${S}/src/awk/{cachedepends,genenviron}.awk || die
-}
-
-src_compile() {
- local libdir="lib"
-
- use static && append-ldflags -static
-
- [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
-
- make -C "${S}"/src \
- CC="$(tc-getCC)" \
- LD="$(tc-getCC) ${LDFLAGS}" \
- CFLAGS="${CFLAGS}" \
- LIBDIR="${libdir}" || die
-}
-
-# This is a temporary workaround until bug 9849 is completely solved
-# in portage. We need to create the directories so they're available
-# during src_install, but when src_install is finished, call unkdir
-# to remove any empty directories instead of leaving them around.
-kdir() {
- typeset -a args
- typeset d
-
- # Create the directories for the remainder of src_install, and
- # remember how to create the directories later.
- for d in "$@"; do
- if [[ $d == /* ]]; then
- install -d "${args[@]}" "${D}/${d}"
- cat >> "${D}/usr/share/baselayout/mkdirs.sh" <<EOF
-if [ ! -d "\${ROOT}/${d}" ] ; then \\
- install -d ${args[@]} "\${ROOT}/${d}" 2>/dev/null \\
- || ewarn " can't create ${d}"
- touch "\${ROOT}/${d}/.keep" 2>/dev/null \\
- || ewarn " can't create ${d}/.keep"
-fi
-EOF
- else
- args=("${args[@]}" "${d}")
- fi
- done
-}
-
-# Continued from kdir above... This function removes any empty
-# directories as a temporary workaround for bug 9849. The directories
-# (and .keep files) are re-created in pkg_postinst, which means they
-# aren't listed in CONTENTS, unfortunately.
-unkdir() {
- einfo "Running unkdir to workaround bug 9849"
- find "${D}" -depth -type d -exec rmdir {} \; 2>/dev/null
- if [[ $? == 127 ]]; then
- ewarn "Problem running unkdir: find command not found"
- fi
-}
-
-# Same as kdir above, but for symlinks #103618
-ksym() {
- echo "[[ ! -e ${ROOT}/$2 ]] && { ln -s '$1' '${ROOT}/$2' &> /dev/null || ewarn ' unable to symlink $2 to $1' ; }" \
- >> "${D}"/usr/share/baselayout/mklinks.sh
-}
-
-src_install() {
- local dir libdirs libdirs_env rcscripts_dir
-
- # This directory is to stash away things that will be used in
- # pkg_postinst; it's needed first for kdir to function
- dodir /usr/share/baselayout
-
- # Jeremy Huddleston <eradicator@gentoo.org>
- # For multilib, we want to make sure that all our multilibdirs exist
- # and make lib even if it's not listed as one (like on amd64/ppc64
- # which sometimes has lib32/lib64 instead of lib/lib64).
- # lib should NOT be a symlink to one of the other libdirs.
- # Old systems with symlinks won't be affected by this change, as the
- # symlinks already exist and won't get removed, but new systems will
- # be setup properly.
- #
- # I'll be making a script to convert existing systems from symlink to
- # nosymlink and putting it in /usr/portage/scripts.
- libdirs=$(get_all_libdirs)
- : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass...
-
- # This should be /lib/rcscripts, but we have to support old profiles too.
- if [[ ${SYMLINK_LIB} == "yes" ]]; then
- rcscripts_dir="/$(get_abi_LIBDIR ${DEFAULT_ABI})/rcscripts"
- else
- rcscripts_dir="/lib/rcscripts"
- fi
-
- einfo "Creating directories..."
- kdir /usr
- kdir /usr/local
- kdir /boot
- kdir /dev
- kdir /dev/pts
- kdir /dev/shm
- kdir /etc/conf.d
- kdir /etc/cron.daily
- kdir /etc/cron.hourly
- kdir /etc/cron.monthly
- kdir /etc/cron.weekly
- kdir /etc/env.d
- dodir /etc/init.d # .keep file might mess up init.d stuff
- kdir /etc/modules.autoload.d
- kdir /etc/modules.d
- kdir /etc/opt
- kdir /home
- kdir ${rcscripts_dir}
- kdir ${rcscripts_dir}/awk
- kdir ${rcscripts_dir}/sh
- kdir ${rcscripts_dir}/net
- # Only install /mnt stuff at bootstrap time #88835 / #90022
- if use build ; then
- kdir /mnt
- kdir -m 0700 /mnt/cdrom
- kdir -m 0700 /mnt/floppy
- fi
- kdir /opt
- kdir -o root -g uucp -m0775 /var/lock
- kdir /proc
- kdir -m 0700 /root
- kdir /sbin
- kdir /sys # for 2.6 kernels
- kdir /usr/bin
- kdir /usr/include
- kdir /usr/include/asm
- kdir /usr/include/linux
- kdir /usr/local/bin
- kdir /usr/local/games
- kdir /usr/local/sbin
- kdir /usr/local/share
- kdir /usr/local/share/doc
- kdir /usr/local/share/man
- kdir /usr/local/src
- kdir ${PORTDIR}
- kdir /usr/sbin
- kdir /usr/share/doc
- kdir /usr/share/info
- kdir /usr/share/man
- kdir /usr/share/misc
- kdir /usr/src
- kdir -m 1777 /tmp
- kdir /var
- dodir /var/db/pkg # .keep file messes up Portage
- kdir /var/lib/misc
- kdir /var/lock/subsys
- kdir /var/log/news
- kdir /var/run
- kdir /var/spool
- kdir /var/state
- kdir -m 1777 /var/tmp
-
- for dir in ${libdirs}; do
- libdirs_env=${libdirs_env:+$libdirs_env:}/${dir}:/usr/${dir}:/usr/local/${dir}
- [[ ${dir} == "lib" && ${SYMLINK_LIB} == "yes" ]] && continue
- kdir /${dir}
- kdir /usr/${dir}
- kdir /usr/local/${dir}
- done
-
- # Ugly compatibility with stupid ebuilds and old profiles symlinks
- if [[ ${SYMLINK_LIB} == "yes" ]] ; then
- rm -r "${D}"/{lib,usr/lib,usr/local/lib} &> /dev/null
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /lib
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/lib
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/local/lib
- fi
-
- # FHS compatibility symlinks stuff
- ksym /var/tmp /usr/tmp
- ksym share/man /usr/local/man
-
- #
- # Setup files in /etc
- #
- insopts -m0644
- insinto /etc
- doins -r "${S}"/etc/*
- fperms 0640 /etc/sysctl.conf
-
- # Install some files to /usr/share/baselayout instead of /etc to keep from
- # (1) overwriting the user's settings, (2) screwing things up when
- # attempting to merge files, (3) accidentally packaging up personal files
- # with quickpkg
- fperms 0600 /etc/shadow
- mv "${D}"/etc/{passwd,shadow,group,fstab,hosts,issue.devfix} "${D}"/usr/share/baselayout
-
- # doinitd doesnt respect symlinks
- dodir /etc/init.d
- cp -P "${S}"/init.d/* "${D}"/etc/init.d/ || die "doinitd"
- #doinitd "${S}"/init.d/* || die "doinitd"
- doconfd "${S}"/etc/conf.d/* || die "doconfd"
- doenvd "${S}"/etc/env.d/* || die "doenvd"
- insinto /etc/modules.autoload.d
- doins "${S}"/etc/modules.autoload.d/*
- insinto /etc/modules.d
- doins "${S}"/etc/modules.d/*
-
- # Special-case uglyness... For people updating from lib32 -> lib amd64
- # profiles, keep lib32 in the search path while it's around
- if has_multilib_profile && [ -d /lib32 -o -d /usr/lib32 ] && ! hasq lib32 ${libdirs}; then
- libdirs_env="${libdirs_env}:/lib32:/usr/lib32:/usr/local/lib32"
- fi
-
- # List all the multilib libdirs in /etc/env/04multilib (only if they're
- # actually different from the normal
- if has_multilib_profile || [[ $(get_libdir) != "lib" || -n ${CONF_MULTILIBDIR} ]]; then
- echo "LDPATH=\"${libdirs_env}\"" > 04multilib
- doenvd 04multilib
- fi
-
- # As of baselayout-1.10-1-r1, sysvinit is its own package again, and
- # provides the inittab itself
- rm -f "${D}"/etc/inittab
-
- # Stash the rc-lists for use during pkg_postinst
- cp -r "${S}"/rc-lists "${D}"/usr/share/baselayout
-
- # rc-scripts version for testing of features that *should* be present
- echo "Gentoo Base System release ${PV}" > ${D}/etc/gentoo-release
-
- #
- # Setup files related to /dev
- #
- into /
- dosbin "${S}"/sbin/MAKEDEV
- dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV
- dosym ../sbin/MAKEDEV /dev/MAKEDEV
-
- #
- # Setup files in /bin
- #
- cd "${S}"/bin
- dobin rc-status
-
- #
- # Setup files in /sbin
- #
- cd "${S}"/sbin
- into /
- dosbin rc rc-update
- # These moved from /etc/init.d/ to /sbin to help newb systems
- # from breaking
- dosbin runscript.sh functions.sh
-
- # Compat symlinks between /etc/init.d and /sbin
- # (some stuff have hardcoded paths)
- dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh
- dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh
- dosym ../../sbin/functions.sh /etc/init.d/functions.sh
-
- #
- # Setup files in /lib/rcscripts
- # These are support files for other things in baselayout that needn't be
- # under CONFIG_PROTECTed /etc
- #
- cd "${S}"/sbin
- exeinto ${rcscripts_dir}/sh
- doexe rc-services.sh rc-daemon.sh rc-help.sh
-
- # We can only install new, fast awk versions of scripts
- # if 'build' or 'bootstrap' is not in USE. This will
- # change if we have sys-apps/gawk-3.1.1-r1 or later in
- # the build image ...
- if ! use build; then
- # This is for new depscan.sh and env-update.sh
- # written in awk
- cd "${S}"/sbin
- into /
- dosbin depscan.sh
- dosbin env-update.sh
- insinto ${rcscripts_dir}/awk
- doins "${S}"/src/awk/*.awk
- fi
-
- # Original design had these in /etc/net.modules.d but that is too
- # problematic with CONFIG_PROTECT
- dodir ${rcscripts_dir}
- cp -pPR "${S}"/lib/rcscripts/net ${D}${rcscripts_dir}
- chown -R root:0 ${D}${rcscripts_dir}
-
- #
- # Install baselayout documentation
- #
- if ! use build ; then
- doman "${S}"/man/*.*
- docinto /
- dodoc ${FILESDIR}/copyright
- dodoc "${S}"/ChangeLog
- fi
-
- #
- # Install baselayout utilities
- #
- local libdir="lib"
- [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
-
- cd "${S}"/src
- make DESTDIR="${D}" LIBDIR="${libdir}" install || die
-
- # Hack to fix bug 9849, continued in pkg_postinst
- unkdir
-}
-
-# Support function for remapping old wireless dns vars
-remap_dns_vars() {
- local f="$1"
-
- if [[ -f ${ROOT}/etc/conf.d/${f} ]]; then
- sed -e 's/\<domain_/dns_domain_/g' \
- -e 's/\<mac_domain_/mac_dns_domain_/g' \
- -e 's/\<nameservers_/dns_servers_/g' \
- -e 's/\<mac_nameservers_/mac_dns_servers_/g' \
- -e 's/\<searchdomains_/dns_search_domains_/g' \
- -e 's/\<mac_searchdomains_/mac_dns_search_domains_/g' \
- ${ROOT}/etc/conf.d/${f} > ${D}/etc/conf.d/${f}
- fi
-}
-
-pkg_preinst() {
- # Reincarnate dirs from kdir/unkdir (hack for bug 9849)
- # This needs to be in pkg_preinst() rather than pkg_postinst() as
- # portage may create some dirs/files that'll screw us up (like /usr/lib/debug)
- einfo "Creating directories and .keep files."
- einfo "Some of these might fail if they're read-only mounted"
- einfo "filesystems, for example /dev or /proc. That's okay!"
- source "${D}"/usr/share/baselayout/mkdirs.sh
- source "${D}"/usr/share/baselayout/mklinks.sh
- echo
-
- if [[ -f ${ROOT}/etc/modules.autoload && \
- ! -d ${ROOT}/etc/modules.autoload.d ]]; then
- mkdir -p ${ROOT}/etc/modules.autoload.d
- mv -f ${ROOT}/etc/modules.autoload \
- ${ROOT}/etc/modules.autoload.d/kernel-2.4
- ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload
- fi
-
- # Change some vars introduced in baselayout-1.11.0 before we go stable
- # The new names make more sense and allow nis_domain
- # for use in baselayout-1.12.0
- remap_dns_vars net
- remap_dns_vars wireless
-}
-
-pkg_postinst() {
- local x y
-
- # Create /boot/boot symlink in pkg_postinst because sometimes
- # /boot is a FAT filesystem. When that is the case, then the
- # symlink will fail. Consequently, if we create it in
- # src_install, then merge will fail. AFAIK there is no point to
- # this symlink except for misconfigured grubs. See bug 50108
- # (05 May 2004 agriffis)
- ln -sn . "${ROOT}"/boot/boot 2>/dev/null
-
- # Set up default runlevel symlinks
- # This used to be done in src_install but required knowledge of ${ROOT},
- # which meant that it was effectively broken for binary installs.
- if [[ -z $(/bin/ls "${ROOT}"/etc/runlevels 2>/dev/null) ]]; then
- for x in boot default nonetwork single; do
- einfo "Creating default runlevel symlinks for ${x}"
- mkdir -p "${ROOT}"/etc/runlevels/${x}
- for y in $(<"${ROOT}"/usr/share/baselayout/rc-lists/${x}); do
- if [[ ! -e ${ROOT}/etc/init.d/${y} ]]; then
- ewarn "init.d/${y} not found -- ignoring"
- else
- ln -sfn /etc/init.d/${y} \
- "${ROOT}"/etc/runlevels/${x}/${y}
- fi
- done
- done
- fi
-
- # Create /etc/hosts in pkg_postinst so we don't overwrite an
- # existing file during bootstrap
- if [[ ! -e ${ROOT}/etc/hosts ]]; then
- cp ${ROOT}/usr/share/baselayout/hosts ${ROOT}/etc
- fi
-
- # Touching /etc/passwd and /etc/shadow after install can be fatal, as many
- # new users do not update them properly... see src_install() for why they
- # are in /usr/share/baselayout/
- for x in passwd shadow group fstab ; do
- if [[ -e ${ROOT}/etc/${x} ]] ; then
- touch "${ROOT}/etc/${x}"
- else
- cp "${ROOT}/usr/share/baselayout/${x}" "${ROOT}/etc/${x}"
- fi
- done
-
- # Under what circumstances would mtab be a symlink? It would be
- # nice if there were an explanatory comment here
- if [[ -L ${ROOT}/etc/mtab ]]; then
- rm -f "${ROOT}/etc/mtab"
- if [[ ${ROOT} == / ]]; then
- cp /proc/mounts "${ROOT}/etc/mtab"
- else
- touch "${ROOT}/etc/mtab"
- fi
- fi
-
- # We should only install empty files if these files don't already exist.
- [[ -e ${ROOT}/var/log/lastlog ]] || \
- touch "${ROOT}/var/log/lastlog"
- [[ -e ${ROOT}/var/run/utmp ]] || \
- install -m 0664 -g utmp /dev/null "${ROOT}/var/run/utmp"
- [[ -e ${ROOT}/var/log/wtmp ]] || \
- install -m 0664 -g utmp /dev/null "${ROOT}/var/log/wtmp"
-
- # Reload init to fix unmounting problems of / on next reboot.
- # This is really needed, as without the new version of init cause init
- # not to quit properly on reboot, and causes a fsck of / on next reboot.
- if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then
- # Regenerate init.d dependency tree
- /sbin/depscan.sh --update &>/dev/null
- else
- rm -f ${ROOT}/etc/modules.conf
- fi
-
- # This is also written in src_install (so it's in CONTENTS), but
- # write it here so that the new version is immediately in the file
- # (without waiting for the user to do etc-update)
- rm -f ${ROOT}/etc/._cfg????_gentoo-release
- echo "Gentoo Base System release ${PV}" > ${ROOT}/etc/gentoo-release
-
- echo
- einfo "Please be sure to update all pending '._cfg*' files in /etc,"
- einfo "else things might break at your next reboot! You can use 'etc-update'"
- einfo "to accomplish this:"
- einfo
- einfo " # etc-update"
- echo
-
- for f in ${ROOT}etc/init.d/net.* ; do
- [[ -L ${f} || ${f} == "${ROOT}etc/init.d/net.lo" ]] && continue
- echo
- einfo "WARNING: You have older net.* files in ${ROOT}etc/init.d/"
- einfo "They need to be converted to symlinks to net.lo. If you haven't"
- einfo "made personal changes to those files, you can update with the"
- einfo "following command:"
- einfo
- einfo " /bin/ls ${ROOT}etc/init.d/net.* | grep -v '/net.lo$' | xargs -n1 ln -sfvn net.lo"
- echo
- break
- done
-
- if sed -e 's/#.*//' ${ROOT}/etc/conf.d/{net,wireless} 2>/dev/null \
- | egrep -q '\<(domain|nameservers|searchdomains)_' ; then
- echo
- ewarn "You have depreciated variables in ${ROOT}/etc/conf.d/net"
- ewarn "or ${ROOT}/etc/conf.d/wireless"
- ewarn
- ewarn "domain_* -> dns_domain_*"
- ewarn "nameservers_* -> dns_servers_*"
- ewarn "searchdomains_* -> dns_search_domains_*"
- ewarn
- ewarn "They have been converted for you - ensure that you"
- ewarn "update them via 'etc-update'"
- echo
- fi
-
- if sed -e 's/#.*//' ${ROOT}/etc/conf.d/net 2>/dev/null \
- | egrep -q '\<(iface_|gateway=|ifconfig_|aliases_|broadcasts_|netmasks_|inet6_|ipaddr_|iproute_)'; then
- echo
- ewarn "You are using deprecated variables in ${ROOT}/etc/conf.d/net"
- ewarn
- ewarn "You are advised to review the new configuration variables as"
- ewarn "found in ${ROOT}/etc/conf.d/net.example as there is no"
- ewarn "guarantee that they will work in future versions."
- echo
- fi
-
- # Remove old stuff that may cause problems.
- if [[ -e "${ROOT}"/etc/env.d/01hostname ]] ; then
- rm -f "${ROOT}"/etc/env.d/01hostname
- fi
- if [[ -e "${ROOT}"/etc/init.d/domainname ]] ; then
- rm -f "${ROOT}"/etc/init.d/domainname
- rm -f "${ROOT}"/etc/runlevels/*/domainname
- ewarn "The domainname init script has been removed in this version."
- ewarn "Consult ${ROOT}/etc/conf.d/net.example for details about how"
- ewarn "to apply dns/nis information to the loopback interface."
- fi
-}
+++ /dev/null
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.12.8-r2.ebuild,v 1.6 2007/03/10 14:30:57 vapier Exp $
-
-inherit flag-o-matic eutils toolchain-funcs multilib
-
-DESCRIPTION="Filesystem baselayout and init scripts"
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="mirror://gentoo/${P}.tar.bz2
- http://dev.gentoo.org/~uberlord/baselayout/${P}.tar.bz2
- http://dev.gentoo.org/~azarah/baselayout/${P}.tar.bz2
- http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc ~x86"
-IUSE="bootstrap build static unicode"
-
-# This version of baselayout needs gawk in /bin, but as we do not have
-# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap"
-# or "build" are in USE.
-# We need to block old dhcpcd versions as they are no longer in system
-# but may not be in users world file either. See bug #143885
-RDEPEND="virtual/init
- !build? ( !bootstrap? (
- >=sys-libs/readline-5.0-r1
- >=app-shells/bash-3.1_p7
- >=sys-apps/coreutils-5.2.1
- ) )
- !<net-misc/dhcpcd-2.0.0"
-DEPEND="virtual/os-headers
- >=sys-apps/portage-2.0.51"
-PDEPEND="!build? ( !bootstrap? ( >=sys-apps/module-init-tools-3.2.2-r2 ) )"
-PROVIDE="virtual/baselayout"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- epatch "${FILESDIR}/${P}-r2440.patch"
- epatch "${FILESDIR}/${P}-checkfs.patch"
-
- # Setup unicode defaults for silly unicode users
- if use unicode ; then
- sed -i -e '/^UNICODE=/s:no:yes:' etc/rc.conf
- fi
-
- # Tweak arch-specific details
- cd "${S}"
-
- case $(tc-arch) in
- sparc)
- sed -i -e '/^KEYMAP=/s:us:sunkeymap:' etc/conf.d/keymaps || die
- # Disable interactive boot on sparc due to stty calls, #104067
- sed -i -e '/^RC_INTERACTIVE=/s:yes:no:' etc/conf.d/rc || die
- ;;
- esac
-
- # Use correct path to filefuncs.so on multilib systems
- sed -i -e "s:/lib/rcscripts:/$(get_libdir)/rcscripts:" \
- ${S}/src/awk/{cachedepends,genenviron}.awk || die
-}
-
-src_compile() {
- local libdir="lib"
-
- use static && append-ldflags -static
-
- [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
-
- make -C "${S}"/src \
- CC="$(tc-getCC)" \
- LD="$(tc-getCC) ${LDFLAGS}" \
- CFLAGS="${CFLAGS}" \
- LIBDIR="${libdir}" || die
-}
-
-# ${PATH} should include where to get MAKEDEV when calling this
-# function
-create_dev_nodes() {
- case $(tc-arch) in
- # amd64 must use generic-i386 because amd64/x86_64 does not have
- # a generic option at this time, and the default 'generic' ends
- # up erroring out, because MAKEDEV internally doesn't know what
- # to use
- arm*) suffix=-arm ;;
- alpha) suffix=-alpha ;;
- amd64) suffix=-i386 ;;
- hppa) suffix=-hppa ;;
- ia64) suffix=-ia64 ;;
- m68k) suffix=-m68k ;;
- mips*) suffix=-mips ;;
- ppc*) suffix=-powerpc ;;
- s390*) suffix=-s390 ;;
- sh*) suffix=-sh ;;
- sparc*) suffix=-sparc ;;
- x86) suffix=-i386 ;;
- esac
-
- einfo "Using generic${suffix} to make $(tc-arch) device nodes..."
- MAKEDEV generic${suffix}
- MAKEDEV sg scd rtc hde hdf hdg hdh input audio video
-}
-
-# This is a temporary workaround until bug 9849 is completely solved
-# in portage. We need to create the directories so they're available
-# during src_install, but when src_install is finished, call unkdir
-# to remove any empty directories instead of leaving them around.
-kdir() {
- typeset -a args
- typeset d
-
- # Create the directories for the remainder of src_install, and
- # remember how to create the directories later.
- for d in "$@"; do
- if [[ $d == /* ]]; then
- install -d "${args[@]}" "${D}/${d}"
- cat >> "${D}/usr/share/baselayout/mkdirs.sh" <<EOF
-if [ ! -d "\${ROOT}/${d}" ] ; then \\
- install -d ${args[@]} "\${ROOT}/${d}" 2>/dev/null \\
- || ewarn " can't create ${d}"
- touch "\${ROOT}/${d}/.keep" 2>/dev/null \\
- || ewarn " can't create ${d}/.keep"
-fi
-EOF
- else
- args=("${args[@]}" "${d}")
- fi
- done
-}
-
-# Continued from kdir above... This function removes any empty
-# directories as a temporary workaround for bug 9849. The directories
-# (and .keep files) are re-created in pkg_postinst, which means they
-# aren't listed in CONTENTS, unfortunately.
-unkdir() {
- einfo "Running unkdir to workaround bug 9849"
- find "${D}" -depth -type d -exec rmdir {} \; 2>/dev/null
- if [[ $? == 127 ]]; then
- ewarn "Problem running unkdir: find command not found"
- fi
-}
-
-# Same as kdir above, but for symlinks #103618
-ksym() {
- echo "[[ ! -e ${ROOT}/$2 ]] && { ln -s '$1' '${ROOT}/$2' &> /dev/null || ewarn ' unable to symlink $2 to $1' ; }" \
- >> "${D}"/usr/share/baselayout/mklinks.sh
-}
-
-src_install() {
- local dir libdirs libdirs_env rcscripts_dir
-
- # This directory is to stash away things that will be used in
- # pkg_postinst; it's needed first for kdir to function
- dodir /usr/share/baselayout
-
- # Jeremy Huddleston <eradicator@gentoo.org>
- # For multilib, we want to make sure that all our multilibdirs exist
- # and make lib even if it's not listed as one (like on amd64/ppc64
- # which sometimes has lib32/lib64 instead of lib/lib64).
- # lib should NOT be a symlink to one of the other libdirs.
- # Old systems with symlinks won't be affected by this change, as the
- # symlinks already exist and won't get removed, but new systems will
- # be setup properly.
- #
- # I'll be making a script to convert existing systems from symlink to
- # nosymlink and putting it in /usr/portage/scripts.
- libdirs=$(get_all_libdirs)
- : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass...
-
- # This should be /lib/rcscripts, but we have to support old profiles too.
- if [[ ${SYMLINK_LIB} == "yes" ]]; then
- rcscripts_dir="/$(get_abi_LIBDIR ${DEFAULT_ABI})/rcscripts"
- else
- rcscripts_dir="/lib/rcscripts"
- fi
-
- einfo "Creating directories..."
- kdir /usr
- kdir /usr/local
- kdir /boot
- kdir /dev
- kdir /dev/pts
- kdir /dev/shm
- kdir /etc/conf.d
- kdir /etc/cron.daily
- kdir /etc/cron.hourly
- kdir /etc/cron.monthly
- kdir /etc/cron.weekly
- kdir /etc/env.d
- dodir /etc/init.d # .keep file might mess up init.d stuff
- kdir /etc/modules.autoload.d
- kdir /etc/modules.d
- kdir /etc/opt
- kdir /home
- kdir ${rcscripts_dir}
- kdir ${rcscripts_dir}/awk
- kdir ${rcscripts_dir}/sh
- kdir ${rcscripts_dir}/net
- # Only install /mnt stuff at bootstrap time #88835 / #90022
- if use build ; then
- kdir /mnt
- kdir -m 0700 /mnt/cdrom
- kdir -m 0700 /mnt/floppy
- fi
- kdir /opt
- kdir -o root -g uucp -m0775 /var/lock
- kdir /proc
- kdir -m 0700 /root
- kdir /sbin
- kdir /sys # for 2.6 kernels
- kdir /usr/bin
- kdir /usr/include
- kdir /usr/include/asm
- kdir /usr/include/linux
- kdir /usr/local/bin
- kdir /usr/local/games
- kdir /usr/local/sbin
- kdir /usr/local/share
- kdir /usr/local/share/doc
- kdir /usr/local/share/man
- kdir /usr/local/src
- kdir ${PORTDIR}
- kdir /usr/sbin
- kdir /usr/share/doc
- kdir /usr/share/info
- kdir /usr/share/man
- kdir /usr/share/misc
- kdir /usr/src
- kdir -m 1777 /tmp
- kdir /var
- dodir /var/db/pkg # .keep file messes up Portage
- kdir /var/lib/misc
- kdir /var/lock/subsys
- kdir /var/log/news
- kdir /var/run
- kdir /var/spool
- kdir /var/state
- kdir -m 1777 /var/tmp
-
- for dir in ${libdirs}; do
- libdirs_env=${libdirs_env:+$libdirs_env:}/${dir}:/usr/${dir}:/usr/local/${dir}
- [[ ${dir} == "lib" && ${SYMLINK_LIB} == "yes" ]] && continue
- kdir /${dir}
- kdir /usr/${dir}
- kdir /usr/local/${dir}
- done
-
- # Ugly compatibility with stupid ebuilds and old profiles symlinks
- if [[ ${SYMLINK_LIB} == "yes" ]] ; then
- rm -r "${D}"/{lib,usr/lib,usr/local/lib} &> /dev/null
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /lib
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/lib
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/local/lib
- fi
-
- # FHS compatibility symlinks stuff
- ksym /var/tmp /usr/tmp
- ksym share/man /usr/local/man
-
- #
- # Setup files in /etc
- #
- insopts -m0644
- insinto /etc
- doins -r "${S}"/etc/*
- fperms 0640 /etc/sysctl.conf
-
- # Install some files to /usr/share/baselayout instead of /etc to keep from
- # (1) overwriting the user's settings, (2) screwing things up when
- # attempting to merge files, (3) accidentally packaging up personal files
- # with quickpkg
- fperms 0600 /etc/shadow
- mv "${D}"/etc/{passwd,shadow,group,fstab,hosts,issue.devfix} "${D}"/usr/share/baselayout
-
- # doinitd doesnt respect symlinks
- dodir /etc/init.d
- cp -P "${S}"/init.d/* "${D}"/etc/init.d/ || die "doinitd"
- #doinitd "${S}"/init.d/* || die "doinitd"
- doconfd "${S}"/etc/conf.d/* || die "doconfd"
- doenvd "${S}"/etc/env.d/* || die "doenvd"
- insinto /etc/modules.autoload.d
- doins "${S}"/etc/modules.autoload.d/*
- insinto /etc/modules.d
- doins "${S}"/etc/modules.d/*
-
- # Special-case uglyness... For people updating from lib32 -> lib amd64
- # profiles, keep lib32 in the search path while it's around
- if has_multilib_profile && [ -d /lib32 -o -d /usr/lib32 ] && ! hasq lib32 ${libdirs}; then
- libdirs_env="${libdirs_env}:/lib32:/usr/lib32:/usr/local/lib32"
- fi
-
- # List all the multilib libdirs in /etc/env/04multilib (only if they're
- # actually different from the normal
- if has_multilib_profile || [[ $(get_libdir) != "lib" || -n ${CONF_MULTILIBDIR} ]]; then
- echo "LDPATH=\"${libdirs_env}\"" > 04multilib
- doenvd 04multilib
- fi
-
- # As of baselayout-1.10-1-r1, sysvinit is its own package again, and
- # provides the inittab itself
- rm -f "${D}"/etc/inittab
-
- # Stash the rc-lists for use during pkg_postinst
- cp -r "${S}"/rc-lists "${D}"/usr/share/baselayout
-
- # rc-scripts version for testing of features that *should* be present
- echo "Gentoo Base System release ${PV}" > ${D}/etc/gentoo-release
-
- #
- # Setup files related to /dev
- #
- into /
- dosbin "${S}"/sbin/MAKEDEV
- dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV
- dosym ../sbin/MAKEDEV /dev/MAKEDEV
-
- #
- # Setup files in /bin
- #
- cd "${S}"/bin
- dobin rc-status
-
- #
- # Setup files in /sbin
- #
- cd "${S}"/sbin
- into /
- dosbin rc rc-update
- # These moved from /etc/init.d/ to /sbin to help newb systems
- # from breaking
- dosbin runscript.sh functions.sh
-
- # Compat symlinks between /etc/init.d and /sbin
- # (some stuff have hardcoded paths)
- dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh
- dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh
- dosym ../../sbin/functions.sh /etc/init.d/functions.sh
-
- #
- # Setup files in /lib/rcscripts
- # These are support files for other things in baselayout that needn't be
- # under CONFIG_PROTECTed /etc
- #
- cd "${S}"/sbin
- exeinto ${rcscripts_dir}/sh
- doexe rc-services.sh rc-daemon.sh rc-help.sh
-
- # We can only install new, fast awk versions of scripts
- # if 'build' or 'bootstrap' is not in USE. This will
- # change if we have sys-apps/gawk-3.1.1-r1 or later in
- # the build image ...
- if ! use build; then
- # This is for new depscan.sh and env-update.sh
- # written in awk
- cd "${S}"/sbin
- into /
- dosbin depscan.sh
- dosbin env-update.sh
- insinto ${rcscripts_dir}/awk
- doins "${S}"/src/awk/*.awk
- fi
-
- # Original design had these in /etc/net.modules.d but that is too
- # problematic with CONFIG_PROTECT
- dodir ${rcscripts_dir}
- cp -pPR "${S}"/lib/rcscripts/net ${D}${rcscripts_dir}
- chown -R root:0 ${D}${rcscripts_dir}
-
- #
- # Install baselayout documentation
- #
- if ! use build ; then
- doman "${S}"/man/*.*
- docinto /
- dodoc ${FILESDIR}/copyright
- dodoc "${S}"/ChangeLog
- fi
-
- #
- # Install baselayout utilities
- #
- local libdir="lib"
- [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
-
- cd "${S}"/src
- make DESTDIR="${D}" LIBDIR="${libdir}" install || die
-
- # Hack to fix bug 9849, continued in pkg_postinst
- unkdir
-}
-
-# Support function for remapping old wireless dns vars
-remap_dns_vars() {
- local f="$1"
-
- if [[ -f ${ROOT}/etc/conf.d/${f} ]]; then
- sed -e 's/\<domain_/dns_domain_/g' \
- -e 's/\<mac_domain_/mac_dns_domain_/g' \
- -e 's/\<nameservers_/dns_servers_/g' \
- -e 's/\<mac_nameservers_/mac_dns_servers_/g' \
- -e 's/\<searchdomains_/dns_search_domains_/g' \
- -e 's/\<mac_searchdomains_/mac_dns_search_domains_/g' \
- ${ROOT}/etc/conf.d/${f} > ${D}/etc/conf.d/${f}
- fi
-}
-
-pkg_preinst() {
- # When downgrading from 1.13 we need to erase net.lo as it's a symlink
- # and it's about to become a file - this is fatal in /etc
- [[ -L "${ROOT}"etc/init.d/net.lo ]] && rm -f "${ROOT}"etc/init.d/net.lo
-
- # Reincarnate dirs from kdir/unkdir (hack for bug 9849)
- # This needs to be in pkg_preinst() rather than pkg_postinst() as
- # portage may create some dirs/files that'll screw us up (like /usr/lib/debug)
- einfo "Creating directories and .keep files."
- einfo "Some of these might fail if they're read-only mounted"
- einfo "filesystems, for example /dev or /proc. That's okay!"
- source "${D}"/usr/share/baselayout/mkdirs.sh
- source "${D}"/usr/share/baselayout/mklinks.sh
- echo
-
- if [[ -f ${ROOT}/etc/modules.autoload && \
- ! -d ${ROOT}/etc/modules.autoload.d ]]; then
- mkdir -p ${ROOT}/etc/modules.autoload.d
- mv -f ${ROOT}/etc/modules.autoload \
- ${ROOT}/etc/modules.autoload.d/kernel-2.4
- ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload
- fi
-
- # Change some vars introduced in baselayout-1.11.0 before we go stable
- # The new names make more sense and allow nis_domain
- # for use in baselayout-1.12.0
- remap_dns_vars net
- remap_dns_vars wireless
-}
-
-pkg_postinst() {
- local x y
-
- # Create /boot/boot symlink in pkg_postinst because sometimes
- # /boot is a FAT filesystem. When that is the case, then the
- # symlink will fail. Consequently, if we create it in
- # src_install, then merge will fail. AFAIK there is no point to
- # this symlink except for misconfigured grubs. See bug 50108
- # (05 May 2004 agriffis)
- ln -sn . "${ROOT}"/boot/boot 2>/dev/null
-
- # For the bootstrap scenario with an empty /dev, let's fill the
- # sucker with generic crude ... some day we should think about
- # slimming this way down as we've moved on to udev/devfs
- if use build ; then
- if [[ ! -e ${ROOT}/dev/.devfsd && ! -e ${ROOT}/dev/.udev ]] ; then
- echo
- einfo "Making device node tarball (this could take a couple minutes)"
- cd "${ROOT}"/dev || die
- PATH=${ROOT}/sbin:${PATH} create_dev_nodes
- fi
- fi
-
- # Set up default runlevel symlinks
- # This used to be done in src_install but required knowledge of ${ROOT},
- # which meant that it was effectively broken for binary installs.
- if [[ -z $(/bin/ls "${ROOT}"/etc/runlevels 2>/dev/null) ]]; then
- for x in boot default nonetwork single; do
- einfo "Creating default runlevel symlinks for ${x}"
- mkdir -p "${ROOT}"/etc/runlevels/${x}
- for y in $(<"${ROOT}"/usr/share/baselayout/rc-lists/${x}); do
- if [[ ! -e ${ROOT}/etc/init.d/${y} ]]; then
- ewarn "init.d/${y} not found -- ignoring"
- else
- ln -sfn /etc/init.d/${y} \
- "${ROOT}"/etc/runlevels/${x}/${y}
- fi
- done
- done
- fi
-
- # Create /etc/hosts in pkg_postinst so we don't overwrite an
- # existing file during bootstrap
- if [[ ! -e ${ROOT}/etc/hosts ]]; then
- cp ${ROOT}/usr/share/baselayout/hosts ${ROOT}/etc
- fi
-
- # Touching /etc/passwd and /etc/shadow after install can be fatal, as many
- # new users do not update them properly... see src_install() for why they
- # are in /usr/share/baselayout/
- for x in passwd shadow group fstab ; do
- if [[ -e ${ROOT}/etc/${x} ]] ; then
- touch "${ROOT}/etc/${x}"
- else
- cp "${ROOT}/usr/share/baselayout/${x}" "${ROOT}/etc/${x}"
- fi
- done
-
- # Under what circumstances would mtab be a symlink? It would be
- # nice if there were an explanatory comment here
- if [[ -L ${ROOT}/etc/mtab ]]; then
- rm -f "${ROOT}/etc/mtab"
- if [[ ${ROOT} == / ]]; then
- cp /proc/mounts "${ROOT}/etc/mtab"
- else
- touch "${ROOT}/etc/mtab"
- fi
- fi
-
- # We should only install empty files if these files don't already exist.
- [[ -e ${ROOT}/var/log/lastlog ]] || \
- touch "${ROOT}/var/log/lastlog"
- [[ -e ${ROOT}/var/run/utmp ]] || \
- install -m 0664 -g utmp /dev/null "${ROOT}/var/run/utmp"
- [[ -e ${ROOT}/var/log/wtmp ]] || \
- install -m 0664 -g utmp /dev/null "${ROOT}/var/log/wtmp"
-
- # Reload init to fix unmounting problems of / on next reboot.
- # This is really needed, as without the new version of init cause init
- # not to quit properly on reboot, and causes a fsck of / on next reboot.
- if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then
- # Regenerate init.d dependency tree
- /sbin/depscan.sh --update &>/dev/null
- else
- rm -f ${ROOT}/etc/modules.conf
- fi
-
- # This is also written in src_install (so it's in CONTENTS), but
- # write it here so that the new version is immediately in the file
- # (without waiting for the user to do etc-update)
- rm -f ${ROOT}/etc/._cfg????_gentoo-release
- echo "Gentoo Base System release ${PV}" > ${ROOT}/etc/gentoo-release
-
- echo
- einfo "Please be sure to update all pending '._cfg*' files in /etc,"
- einfo "else things might break at your next reboot! You can use 'etc-update'"
- einfo "to accomplish this:"
- einfo
- einfo " # etc-update"
- echo
-
- for f in ${ROOT}etc/init.d/net.* ; do
- [[ -L ${f} || ${f} == "${ROOT}etc/init.d/net.lo" ]] && continue
- echo
- einfo "WARNING: You have older net.* files in ${ROOT}etc/init.d/"
- einfo "They need to be converted to symlinks to net.lo. If you haven't"
- einfo "made personal changes to those files, you can update with the"
- einfo "following command:"
- einfo
- einfo " /bin/ls ${ROOT}etc/init.d/net.* | grep -v '/net.lo$' | xargs -n1 ln -sfvn net.lo"
- echo
- break
- done
-
- if sed -e 's/#.*//' ${ROOT}/etc/conf.d/{net,wireless} 2>/dev/null \
- | egrep -q '\<(domain|nameservers|searchdomains)_' ; then
- echo
- ewarn "You have depreciated variables in ${ROOT}/etc/conf.d/net"
- ewarn "or ${ROOT}/etc/conf.d/wireless"
- ewarn
- ewarn "domain_* -> dns_domain_*"
- ewarn "nameservers_* -> dns_servers_*"
- ewarn "searchdomains_* -> dns_search_domains_*"
- ewarn
- ewarn "They have been converted for you - ensure that you"
- ewarn "update them via 'etc-update'"
- echo
- fi
-
- if sed -e 's/#.*//' ${ROOT}/etc/conf.d/net 2>/dev/null \
- | egrep -q '\<(iface_|gateway=|ifconfig_|aliases_|broadcasts_|netmasks_|inet6_|ipaddr_|iproute_)'; then
- echo
- ewarn "You are using deprecated variables in ${ROOT}/etc/conf.d/net"
- ewarn
- ewarn "You are advised to review the new configuration variables as"
- ewarn "found in ${ROOT}/etc/conf.d/net.example as there is no"
- ewarn "guarantee that they will work in future versions."
- echo
- fi
-
- # Remove old stuff that may cause problems.
- if [[ -e "${ROOT}"/etc/env.d/01hostname ]] ; then
- rm -f "${ROOT}"/etc/env.d/01hostname
- fi
- if [[ -e "${ROOT}"/etc/init.d/domainname ]] ; then
- rm -f "${ROOT}"/etc/init.d/domainname
- rm -f "${ROOT}"/etc/runlevels/*/domainname
- ewarn "The domainname init script has been removed in this version."
- ewarn "Consult ${ROOT}/etc/conf.d/net.example for details about how"
- ewarn "to apply dns/nis information to the loopback interface."
- fi
-}
+++ /dev/null
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.12.8-r5.ebuild,v 1.4 2007/03/10 14:30:57 vapier Exp $
-
-inherit flag-o-matic eutils toolchain-funcs multilib
-
-DESCRIPTION="Filesystem baselayout and init scripts"
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="mirror://gentoo/${P}.tar.bz2
- http://dev.gentoo.org/~uberlord/baselayout/${P}.tar.bz2
- http://dev.gentoo.org/~azarah/baselayout/${P}.tar.bz2
- http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 arm ~hppa ~ia64 m68k ~mips ~ppc ~ppc64 s390 sh ~sparc ~x86"
-IUSE="bootstrap build static unicode"
-
-# This version of baselayout needs gawk in /bin, but as we do not have
-# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap"
-# or "build" are in USE.
-# We need to block old dhcpcd versions as they are no longer in system
-# but may not be in users world file either. See bug #143885
-RDEPEND="virtual/init
- !build? ( !bootstrap? (
- >=sys-libs/readline-5.0-r1
- >=app-shells/bash-3.1_p7
- >=sys-apps/coreutils-5.2.1
- ) )
- !<net-misc/dhcpcd-2.0.0"
-DEPEND="virtual/os-headers
- >=sys-apps/portage-2.0.51"
-PDEPEND="!build? ( !bootstrap? ( >=sys-apps/module-init-tools-3.2.2-r2 ) )"
-PROVIDE="virtual/baselayout"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- epatch "${FILESDIR}/${P}-r2440.patch"
- epatch "${FILESDIR}/${P}-checkfs.patch"
- epatch "${FILESDIR}/${P}-conditionalrestart.patch"
- epatch "${FILESDIR}/${P}-daemon.patch"
-
- # Setup unicode defaults for silly unicode users
- if use unicode ; then
- sed -i -e '/^UNICODE=/s:no:yes:' etc/rc.conf
- fi
-
- # Tweak arch-specific details
- cd "${S}"
-
- case $(tc-arch) in
- sparc)
- sed -i -e '/^KEYMAP=/s:us:sunkeymap:' etc/conf.d/keymaps || die
- # Disable interactive boot on sparc due to stty calls, #104067
- sed -i -e '/^RC_INTERACTIVE=/s:yes:no:' etc/conf.d/rc || die
- ;;
- esac
-
- # Use correct path to filefuncs.so on multilib systems
- sed -i -e "s:/lib/rcscripts:/$(get_libdir)/rcscripts:" \
- ${S}/src/awk/{cachedepends,genenviron}.awk || die
-}
-
-src_compile() {
- local libdir="lib"
-
- use static && append-ldflags -static
-
- [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
-
- make -C "${S}"/src \
- CC="$(tc-getCC)" \
- LD="$(tc-getCC) ${LDFLAGS}" \
- CFLAGS="${CFLAGS}" \
- LIBDIR="${libdir}" || die
-}
-
-# ${PATH} should include where to get MAKEDEV when calling this
-# function
-create_dev_nodes() {
- case $(tc-arch) in
- # amd64 must use generic-i386 because amd64/x86_64 does not have
- # a generic option at this time, and the default 'generic' ends
- # up erroring out, because MAKEDEV internally doesn't know what
- # to use
- arm*) suffix=-arm ;;
- alpha) suffix=-alpha ;;
- amd64) suffix=-i386 ;;
- hppa) suffix=-hppa ;;
- ia64) suffix=-ia64 ;;
- m68k) suffix=-m68k ;;
- mips*) suffix=-mips ;;
- ppc*) suffix=-powerpc ;;
- s390*) suffix=-s390 ;;
- sh*) suffix=-sh ;;
- sparc*) suffix=-sparc ;;
- x86) suffix=-i386 ;;
- esac
-
- einfo "Using generic${suffix} to make $(tc-arch) device nodes..."
- MAKEDEV generic${suffix}
- MAKEDEV sg scd rtc hde hdf hdg hdh input audio video
-}
-
-# This is a temporary workaround until bug 9849 is completely solved
-# in portage. We need to create the directories so they're available
-# during src_install, but when src_install is finished, call unkdir
-# to remove any empty directories instead of leaving them around.
-kdir() {
- typeset -a args
- typeset d
-
- # Create the directories for the remainder of src_install, and
- # remember how to create the directories later.
- for d in "$@"; do
- if [[ $d == /* ]]; then
- install -d "${args[@]}" "${D}/${d}"
- cat >> "${D}/usr/share/baselayout/mkdirs.sh" <<EOF
-if [ ! -d "\${ROOT}/${d}" ] ; then \\
- install -d ${args[@]} "\${ROOT}/${d}" 2>/dev/null \\
- || ewarn " can't create ${d}"
- touch "\${ROOT}/${d}/.keep" 2>/dev/null \\
- || ewarn " can't create ${d}/.keep"
-fi
-EOF
- else
- args=("${args[@]}" "${d}")
- fi
- done
-}
-
-# Continued from kdir above... This function removes any empty
-# directories as a temporary workaround for bug 9849. The directories
-# (and .keep files) are re-created in pkg_postinst, which means they
-# aren't listed in CONTENTS, unfortunately.
-unkdir() {
- einfo "Running unkdir to workaround bug 9849"
- find "${D}" -depth -type d -exec rmdir {} \; 2>/dev/null
- if [[ $? == 127 ]]; then
- ewarn "Problem running unkdir: find command not found"
- fi
-}
-
-# Same as kdir above, but for symlinks #103618
-ksym() {
- echo "[[ ! -e ${ROOT}/$2 ]] && { ln -s '$1' '${ROOT}/$2' &> /dev/null || ewarn ' unable to symlink $2 to $1' ; }" \
- >> "${D}"/usr/share/baselayout/mklinks.sh
-}
-
-src_install() {
- local dir libdirs libdirs_env rcscripts_dir
-
- # This directory is to stash away things that will be used in
- # pkg_postinst; it's needed first for kdir to function
- dodir /usr/share/baselayout
-
- # Jeremy Huddleston <eradicator@gentoo.org>
- # For multilib, we want to make sure that all our multilibdirs exist
- # and make lib even if it's not listed as one (like on amd64/ppc64
- # which sometimes has lib32/lib64 instead of lib/lib64).
- # lib should NOT be a symlink to one of the other libdirs.
- # Old systems with symlinks won't be affected by this change, as the
- # symlinks already exist and won't get removed, but new systems will
- # be setup properly.
- #
- # I'll be making a script to convert existing systems from symlink to
- # nosymlink and putting it in /usr/portage/scripts.
- libdirs=$(get_all_libdirs)
- : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass...
-
- # This should be /lib/rcscripts, but we have to support old profiles too.
- if [[ ${SYMLINK_LIB} == "yes" ]]; then
- rcscripts_dir="/$(get_abi_LIBDIR ${DEFAULT_ABI})/rcscripts"
- else
- rcscripts_dir="/lib/rcscripts"
- fi
-
- einfo "Creating directories..."
- kdir /usr
- kdir /usr/local
- kdir /boot
- kdir /dev
- kdir /dev/pts
- kdir /dev/shm
- kdir /etc/conf.d
- kdir /etc/cron.daily
- kdir /etc/cron.hourly
- kdir /etc/cron.monthly
- kdir /etc/cron.weekly
- kdir /etc/env.d
- dodir /etc/init.d # .keep file might mess up init.d stuff
- kdir /etc/modules.autoload.d
- kdir /etc/modules.d
- kdir /etc/opt
- kdir /home
- kdir ${rcscripts_dir}
- kdir ${rcscripts_dir}/awk
- kdir ${rcscripts_dir}/sh
- kdir ${rcscripts_dir}/net
- # Only install /mnt stuff at bootstrap time #88835 / #90022
- if use build ; then
- kdir /mnt
- kdir -m 0700 /mnt/cdrom
- kdir -m 0700 /mnt/floppy
- fi
- kdir /opt
- kdir -o root -g uucp -m0775 /var/lock
- kdir /proc
- kdir -m 0700 /root
- kdir /sbin
- kdir /sys # for 2.6 kernels
- kdir /usr/bin
- kdir /usr/include
- kdir /usr/include/asm
- kdir /usr/include/linux
- kdir /usr/local/bin
- kdir /usr/local/games
- kdir /usr/local/sbin
- kdir /usr/local/share
- kdir /usr/local/share/doc
- kdir /usr/local/share/man
- kdir /usr/local/src
- kdir ${PORTDIR}
- kdir /usr/sbin
- kdir /usr/share/doc
- kdir /usr/share/info
- kdir /usr/share/man
- kdir /usr/share/misc
- kdir /usr/src
- kdir -m 1777 /tmp
- kdir /var
- dodir /var/db/pkg # .keep file messes up Portage
- kdir /var/lib/misc
- kdir /var/lock/subsys
- kdir /var/log/news
- kdir /var/run
- kdir /var/spool
- kdir /var/state
- kdir -m 1777 /var/tmp
-
- for dir in ${libdirs}; do
- libdirs_env=${libdirs_env:+$libdirs_env:}/${dir}:/usr/${dir}:/usr/local/${dir}
- [[ ${dir} == "lib" && ${SYMLINK_LIB} == "yes" ]] && continue
- kdir /${dir}
- kdir /usr/${dir}
- kdir /usr/local/${dir}
- done
-
- # Ugly compatibility with stupid ebuilds and old profiles symlinks
- if [[ ${SYMLINK_LIB} == "yes" ]] ; then
- rm -r "${D}"/{lib,usr/lib,usr/local/lib} &> /dev/null
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /lib
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/lib
- ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/local/lib
- fi
-
- # FHS compatibility symlinks stuff
- ksym /var/tmp /usr/tmp
- ksym share/man /usr/local/man
-
- #
- # Setup files in /etc
- #
- insopts -m0644
- insinto /etc
- doins -r "${S}"/etc/*
- fperms 0640 /etc/sysctl.conf
-
- # Install some files to /usr/share/baselayout instead of /etc to keep from
- # (1) overwriting the user's settings, (2) screwing things up when
- # attempting to merge files, (3) accidentally packaging up personal files
- # with quickpkg
- fperms 0600 /etc/shadow
- mv "${D}"/etc/{passwd,shadow,group,fstab,hosts,issue.devfix} "${D}"/usr/share/baselayout
-
- # doinitd doesnt respect symlinks
- dodir /etc/init.d
- cp -P "${S}"/init.d/* "${D}"/etc/init.d/ || die "doinitd"
- #doinitd "${S}"/init.d/* || die "doinitd"
- doconfd "${S}"/etc/conf.d/* || die "doconfd"
- doenvd "${S}"/etc/env.d/* || die "doenvd"
- insinto /etc/modules.autoload.d
- doins "${S}"/etc/modules.autoload.d/*
- insinto /etc/modules.d
- doins "${S}"/etc/modules.d/*
-
- # Special-case uglyness... For people updating from lib32 -> lib amd64
- # profiles, keep lib32 in the search path while it's around
- if has_multilib_profile && [ -d /lib32 -o -d /usr/lib32 ] && ! hasq lib32 ${libdirs}; then
- libdirs_env="${libdirs_env}:/lib32:/usr/lib32:/usr/local/lib32"
- fi
-
- # List all the multilib libdirs in /etc/env/04multilib (only if they're
- # actually different from the normal
- if has_multilib_profile || [[ $(get_libdir) != "lib" || -n ${CONF_MULTILIBDIR} ]]; then
- echo "LDPATH=\"${libdirs_env}\"" > 04multilib
- doenvd 04multilib
- fi
-
- # As of baselayout-1.10-1-r1, sysvinit is its own package again, and
- # provides the inittab itself
- rm -f "${D}"/etc/inittab
-
- # Stash the rc-lists for use during pkg_postinst
- cp -r "${S}"/rc-lists "${D}"/usr/share/baselayout
-
- # rc-scripts version for testing of features that *should* be present
- echo "Gentoo Base System release ${PV}" > ${D}/etc/gentoo-release
-
- #
- # Setup files related to /dev
- #
- into /
- dosbin "${S}"/sbin/MAKEDEV
- dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV
- dosym ../sbin/MAKEDEV /dev/MAKEDEV
-
- #
- # Setup files in /bin
- #
- cd "${S}"/bin
- dobin rc-status
-
- #
- # Setup files in /sbin
- #
- cd "${S}"/sbin
- into /
- dosbin rc rc-update
- # These moved from /etc/init.d/ to /sbin to help newb systems
- # from breaking
- dosbin runscript.sh functions.sh
-
- # Compat symlinks between /etc/init.d and /sbin
- # (some stuff have hardcoded paths)
- dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh
- dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh
- dosym ../../sbin/functions.sh /etc/init.d/functions.sh
-
- #
- # Setup files in /lib/rcscripts
- # These are support files for other things in baselayout that needn't be
- # under CONFIG_PROTECTed /etc
- #
- cd "${S}"/sbin
- exeinto ${rcscripts_dir}/sh
- doexe rc-services.sh rc-daemon.sh rc-help.sh
-
- # We can only install new, fast awk versions of scripts
- # if 'build' or 'bootstrap' is not in USE. This will
- # change if we have sys-apps/gawk-3.1.1-r1 or later in
- # the build image ...
- if ! use build; then
- # This is for new depscan.sh and env-update.sh
- # written in awk
- cd "${S}"/sbin
- into /
- dosbin depscan.sh
- dosbin env-update.sh
- insinto ${rcscripts_dir}/awk
- doins "${S}"/src/awk/*.awk
- fi
-
- # Original design had these in /etc/net.modules.d but that is too
- # problematic with CONFIG_PROTECT
- dodir ${rcscripts_dir}
- cp -pPR "${S}"/lib/rcscripts/net ${D}${rcscripts_dir}
- chown -R root:0 ${D}${rcscripts_dir}
-
- #
- # Install baselayout documentation
- #
- if ! use build ; then
- doman "${S}"/man/*.*
- docinto /
- dodoc ${FILESDIR}/copyright
- dodoc "${S}"/ChangeLog
- fi
-
- #
- # Install baselayout utilities
- #
- local libdir="lib"
- [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
-
- cd "${S}"/src
- make DESTDIR="${D}" LIBDIR="${libdir}" install || die
-
- # Hack to fix bug 9849, continued in pkg_postinst
- unkdir
-}
-
-# Support function for remapping old wireless dns vars
-remap_dns_vars() {
- local f="$1"
-
- if [[ -f ${ROOT}/etc/conf.d/${f} ]]; then
- sed -e 's/\<domain_/dns_domain_/g' \
- -e 's/\<mac_domain_/mac_dns_domain_/g' \
- -e 's/\<nameservers_/dns_servers_/g' \
- -e 's/\<mac_nameservers_/mac_dns_servers_/g' \
- -e 's/\<searchdomains_/dns_search_domains_/g' \
- -e 's/\<mac_searchdomains_/mac_dns_search_domains_/g' \
- ${ROOT}/etc/conf.d/${f} > ${D}/etc/conf.d/${f}
- fi
-}
-
-pkg_preinst() {
- # When downgrading from 1.13 we need to erase net.lo as it's a symlink
- # and it's about to become a file - this is fatal in /etc
- [[ -L "${ROOT}"etc/init.d/net.lo ]] && rm -f "${ROOT}"etc/init.d/net.lo
-
- # Reincarnate dirs from kdir/unkdir (hack for bug 9849)
- # This needs to be in pkg_preinst() rather than pkg_postinst() as
- # portage may create some dirs/files that'll screw us up (like /usr/lib/debug)
- einfo "Creating directories and .keep files."
- einfo "Some of these might fail if they're read-only mounted"
- einfo "filesystems, for example /dev or /proc. That's okay!"
- source "${D}"/usr/share/baselayout/mkdirs.sh
- source "${D}"/usr/share/baselayout/mklinks.sh
- echo
-
- if [[ -f ${ROOT}/etc/modules.autoload && \
- ! -d ${ROOT}/etc/modules.autoload.d ]]; then
- mkdir -p ${ROOT}/etc/modules.autoload.d
- mv -f ${ROOT}/etc/modules.autoload \
- ${ROOT}/etc/modules.autoload.d/kernel-2.4
- ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload
- fi
-
- # Change some vars introduced in baselayout-1.11.0 before we go stable
- # The new names make more sense and allow nis_domain
- # for use in baselayout-1.12.0
- remap_dns_vars net
- remap_dns_vars wireless
-}
-
-pkg_postinst() {
- local x y
-
- # Create /boot/boot symlink in pkg_postinst because sometimes
- # /boot is a FAT filesystem. When that is the case, then the
- # symlink will fail. Consequently, if we create it in
- # src_install, then merge will fail. AFAIK there is no point to
- # this symlink except for misconfigured grubs. See bug 50108
- # (05 May 2004 agriffis)
- ln -sn . "${ROOT}"/boot/boot 2>/dev/null
-
- # For the bootstrap scenario with an empty /dev, let's fill the
- # sucker with generic crude ... some day we should think about
- # slimming this way down as we've moved on to udev/devfs
- if use build ; then
- if [[ ! -e ${ROOT}/dev/.devfsd && ! -e ${ROOT}/dev/.udev ]] ; then
- echo
- einfo "Making device node tarball (this could take a couple minutes)"
- cd "${ROOT}"/dev || die
- PATH=${ROOT}/sbin:${PATH} create_dev_nodes
- fi
- fi
-
- # Set up default runlevel symlinks
- # This used to be done in src_install but required knowledge of ${ROOT},
- # which meant that it was effectively broken for binary installs.
- if [[ -z $(/bin/ls "${ROOT}"/etc/runlevels 2>/dev/null) ]]; then
- for x in boot default nonetwork single; do
- einfo "Creating default runlevel symlinks for ${x}"
- mkdir -p "${ROOT}"/etc/runlevels/${x}
- for y in $(<"${ROOT}"/usr/share/baselayout/rc-lists/${x}); do
- if [[ ! -e ${ROOT}/etc/init.d/${y} ]]; then
- ewarn "init.d/${y} not found -- ignoring"
- else
- ln -sfn /etc/init.d/${y} \
- "${ROOT}"/etc/runlevels/${x}/${y}
- fi
- done
- done
- fi
-
- # Create /etc/hosts in pkg_postinst so we don't overwrite an
- # existing file during bootstrap
- if [[ ! -e ${ROOT}/etc/hosts ]]; then
- cp ${ROOT}/usr/share/baselayout/hosts ${ROOT}/etc
- fi
-
- # Touching /etc/passwd and /etc/shadow after install can be fatal, as many
- # new users do not update them properly... see src_install() for why they
- # are in /usr/share/baselayout/
- for x in passwd shadow group fstab ; do
- if [[ -e ${ROOT}/etc/${x} ]] ; then
- touch "${ROOT}/etc/${x}"
- else
- cp "${ROOT}/usr/share/baselayout/${x}" "${ROOT}/etc/${x}"
- fi
- done
-
- # Under what circumstances would mtab be a symlink? It would be
- # nice if there were an explanatory comment here
- if [[ -L ${ROOT}/etc/mtab ]]; then
- rm -f "${ROOT}/etc/mtab"
- if [[ ${ROOT} == / ]]; then
- cp /proc/mounts "${ROOT}/etc/mtab"
- else
- touch "${ROOT}/etc/mtab"
- fi
- fi
-
- # We should only install empty files if these files don't already exist.
- [[ -e ${ROOT}/var/log/lastlog ]] || \
- touch "${ROOT}/var/log/lastlog"
- [[ -e ${ROOT}/var/run/utmp ]] || \
- install -m 0664 -g utmp /dev/null "${ROOT}/var/run/utmp"
- [[ -e ${ROOT}/var/log/wtmp ]] || \
- install -m 0664 -g utmp /dev/null "${ROOT}/var/log/wtmp"
-
- # Reload init to fix unmounting problems of / on next reboot.
- # This is really needed, as without the new version of init cause init
- # not to quit properly on reboot, and causes a fsck of / on next reboot.
- if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then
- # Regenerate init.d dependency tree
- /sbin/depscan.sh --update &>/dev/null
- else
- rm -f ${ROOT}/etc/modules.conf
- fi
-
- # This is also written in src_install (so it's in CONTENTS), but
- # write it here so that the new version is immediately in the file
- # (without waiting for the user to do etc-update)
- rm -f ${ROOT}/etc/._cfg????_gentoo-release
- echo "Gentoo Base System release ${PV}" > ${ROOT}/etc/gentoo-release
-
- echo
- einfo "Please be sure to update all pending '._cfg*' files in /etc,"
- einfo "else things might break at your next reboot! You can use 'etc-update'"
- einfo "to accomplish this:"
- einfo
- einfo " # etc-update"
- echo
-
- for f in ${ROOT}etc/init.d/net.* ; do
- [[ -L ${f} || ${f} == "${ROOT}etc/init.d/net.lo" ]] && continue
- echo
- einfo "WARNING: You have older net.* files in ${ROOT}etc/init.d/"
- einfo "They need to be converted to symlinks to net.lo. If you haven't"
- einfo "made personal changes to those files, you can update with the"
- einfo "following command:"
- einfo
- einfo " /bin/ls ${ROOT}etc/init.d/net.* | grep -v '/net.lo$' | xargs -n1 ln -sfvn net.lo"
- echo
- break
- done
-
- if sed -e 's/#.*//' ${ROOT}/etc/conf.d/{net,wireless} 2>/dev/null \
- | egrep -q '\<(domain|nameservers|searchdomains)_' ; then
- echo
- ewarn "You have depreciated variables in ${ROOT}/etc/conf.d/net"
- ewarn "or ${ROOT}/etc/conf.d/wireless"
- ewarn
- ewarn "domain_* -> dns_domain_*"
- ewarn "nameservers_* -> dns_servers_*"
- ewarn "searchdomains_* -> dns_search_domains_*"
- ewarn
- ewarn "They have been converted for you - ensure that you"
- ewarn "update them via 'etc-update'"
- echo
- fi
-
- if sed -e 's/#.*//' ${ROOT}/etc/conf.d/net 2>/dev/null \
- | egrep -q '\<(iface_|gateway=|ifconfig_|aliases_|broadcasts_|netmasks_|inet6_|ipaddr_|iproute_)'; then
- echo
- ewarn "You are using deprecated variables in ${ROOT}/etc/conf.d/net"
- ewarn
- ewarn "You are advised to review the new configuration variables as"
- ewarn "found in ${ROOT}/etc/conf.d/net.example as there is no"
- ewarn "guarantee that they will work in future versions."
- echo
- fi
-
- # Remove old stuff that may cause problems.
- if [[ -e "${ROOT}"/etc/env.d/01hostname ]] ; then
- rm -f "${ROOT}"/etc/env.d/01hostname
- fi
- if [[ -e "${ROOT}"/etc/init.d/domainname ]] ; then
- rm -f "${ROOT}"/etc/init.d/domainname
- rm -f "${ROOT}"/etc/runlevels/*/domainname
- ewarn "The domainname init script has been removed in this version."
- ewarn "Consult ${ROOT}/etc/conf.d/net.example for details about how"
- ewarn "to apply dns/nis information to the loopback interface."
- fi
-}
+++ /dev/null
-Index: etc/conf.d/rc
-===================================================================
---- etc/conf.d/rc (revision 2175)
-+++ etc/conf.d/rc (working copy)
-@@ -87,6 +87,11 @@
-
- RC_BOOTLOG="no"
-
-+# Set to "yes" if you want to benchmark system boot with bootchart.
-+# You'll need to emerge the apps-benchmark/bootchart package for this to work.
-+
-+RC_BOOTCHART="no"
-+
- # RC_USE_FSTAB allows you to override the default mount options for the
- # standard /proc, /sys, /dev, and /dev/pts mount points. Note that this
- # is the new way for selecting ramfs/tmpfs/etc... for udev mounting.
-Index: sbin/rc
-===================================================================
---- sbin/rc (revision 2175)
-+++ sbin/rc (working copy)
-@@ -223,6 +223,9 @@
- try mount -n ${mntcmd:--t proc proc /proc -o noexec,nosuid,nodev}
- eend $?
-
-+ # Start profiling init now we have /proc
-+ profiling start
-+
- # Read off the kernel commandline to see if there's any special settings
- # especially check to see if we need to set the CDBOOT environment variable
- # Note: /proc MUST be mounted
-@@ -391,6 +394,8 @@
- # Needed for some addons like dm-crypt that starts in critical services
- local myservice="$1"
-
-+ profiling name "/etc/init.d/${service} start"
-+
- source "/etc/init.d/${service}"
- retval=$?
- if [[ ${retval} -ne 0 ]] ; then
-@@ -516,6 +521,8 @@
- # Now that the dependency cache are up to date, make sure these
- # are marked as started ...
- (
-+ profiling name "mark started"
-+
- # Needed for mark_service_started()
- source "${svclib}/sh/rc-services.sh"
-
-Index: sbin/rc-services.sh
-===================================================================
---- sbin/rc-services.sh (revision 2175)
-+++ sbin/rc-services.sh (working copy)
-@@ -407,20 +407,29 @@
- ${START_CRITICAL} == "yes" ]] ; then
- # if we can not start the services in parallel
- # then just start it and return the exit status
-- ( "/etc/init.d/${service}" start )
-+ (
-+ profiling name "/etc/init.d/${service} start"
-+ "/etc/init.d/${service}" start
-+ )
-+
- service_started "${service}" || service_inactive "${service}" \
- || service_scheduled "${service}"
- retval=$?
-+
- end_service "${service}" "${retval}"
- splash "svc_started" "${service}" "${retval}"
-+
- return "${retval}"
- else
- # if parallel startup is allowed, start it in background
- (
-+ profiling name "/etc/init.d/${service} start"
- "/etc/init.d/${service}" start
-+
- service_started "${service}" || service_inactive "${service}" \
- || service_scheduled "${service}"
- retval=$?
-+
- end_service "${service}" "${retval}"
- splash "svc_started" "${service}" "${retval}"
- ) &
+++ /dev/null
-Index: init.d/bootmisc
-===================================================================
---- init.d/bootmisc (revision 2180)
-+++ init.d/bootmisc (working copy)
-@@ -111,8 +111,11 @@
-
- (
- # Make sure our X11 stuff have the correct permissions
-+ # Omit the chown as bootmisc is run before network is up
-+ # and users may be using lame LDAP auth #139411
-+ rm -rf /tmp/.{ICE,X11}-unix
- mkdir -p /tmp/.{ICE,X11}-unix
-- chown 0:0 /tmp/.{ICE,X11}-unix
-+ #chown 0:0 /tmp/.{ICE,X11}-unix
- chmod 1777 /tmp/.{ICE,X11}-unix
- [[ -x /sbin/restorecon ]] && restorecon /tmp/.{ICE,X11}-unix
- ) &> /dev/null
-Index: init.d/clock
-===================================================================
---- init.d/clock (revision 2180)
-+++ init.d/clock (working copy)
-@@ -91,12 +91,14 @@
- else
- ret=0
- fi
-- errstr="Failed to set system clock to hardware clock"
-+ errstr="Failed to set clock"
- else
- ret=1
- errstr="/sbin/hwclock not found"
- fi
-- eend ${ret} "${errstr}"
-+ eend ${ret} "${errstr}" "You will need to set the clock yourself"
-+
-+ return 0
- }
-
- stop() {
+++ /dev/null
-Index: lib/rcscripts/net/dhcpcd.sh
-===================================================================
---- lib/rcscripts/net/dhcpcd.sh (revision 2184)
-+++ lib/rcscripts/net/dhcpcd.sh (working copy)
-@@ -23,15 +23,7 @@
- #
- # Returns 1 if dhcpcd is installed, otherwise 0
- dhcpcd_check_installed() {
-- if [[ -x /sbin/dhcpcd ]]; then
-- if dhcpcd -h 2>&1 | grep -q "etcDir" ; then
-- return 0
-- else
-- ${1:-false} && eerror "We require dhcpcd-2.0.0 or newer"
-- return 1
-- fi
-- fi
--
-+ [[ -x /sbin/dhcpcd ]] && return 0
- ${1:-false} && eerror "For DHCP (dhcpcd) support, emerge net-misc/dhcpcd"
- return 1
- }
-@@ -93,9 +85,6 @@
- && opts="-h \"${hname}\" ${opts}"
- fi
-
-- # Stop dhcpcd from bringing the interface down when we exit
-- opts="${opts} -o"
--
- # Add our route metric
- metric="metric_${ifvar}"
- [[ -n ${!metric} && ${!metric} != "0" ]] && opts="${opts} -m ${!metric}"
-Index: lib/rcscripts/net/dhclient.sh
-===================================================================
---- lib/rcscripts/net/dhclient.sh (revision 2184)
-+++ lib/rcscripts/net/dhclient.sh (working copy)
-@@ -106,7 +106,7 @@
- # Bring up DHCP for this interface (or alias)
- ebegin "Running dhclient"
- echo -e "${dhconf}" | start-stop-daemon --start --exec /sbin/dhclient \
-- --pidfile "${pidfile}" -- ${opts} -q -1 -pf "${pidfile}"
-+ --pidfile "${pidfile}" -- ${opts} -q -1 -pf "${pidfile}" "${iface}"
- eend $? || return 1
-
- # DHCP succeeded, show address retrieved
+++ /dev/null
-Index: init.d/net.lo
-===================================================================
---- init.d/net.lo (revision 2188)
-+++ init.d/net.lo (working copy)
-@@ -698,7 +698,7 @@
- if [[ -z ${config} ]] ; then
- interface_get_old_config "${iface}" || return 1
- if [[ -n ${config} ]] ; then
-- ewarn "You are using a depreciated configuration syntax for ${iface}"
-+ ewarn "You are using a deprecated configuration syntax for ${iface}"
- ewarn "You are advised to read /etc/conf.d/net.example and upgrade it accordingly"
- fi
- fi
-@@ -754,7 +754,7 @@
- elif [[ ${conf[0]:0:1} == [[:digit:]] || ${conf[0]} == *:* ]] ; then
- x="0"
- if ! is_loopback "${iface}" ; then
-- if is_function arping_address_exists ; then
-+ if [[ " ${MODULES[@]} " == *" arping "* ]] ; then
- if arping_address_exists "${iface}" "${conf[0]}" ; then
- eerror "${conf[0]%%/*} already taken on ${iface}"
- x="1"
-Index: lib/rcscripts/net/ifconfig.sh
-===================================================================
---- lib/rcscripts/net/ifconfig.sh (revision 2188)
-+++ lib/rcscripts/net/ifconfig.sh (working copy)
-@@ -238,7 +238,7 @@
- local -a aliases=() broadcasts=() netmasks=()
-
- # Start with the primary interface
-- config=( ${!i} )
-+ config=( "${!i}" )
-
- # ..then add aliases
- aliases="alias_${ifvars}"
-@@ -258,6 +258,24 @@
- # Add inet6 addresses to our config if required
- [[ -n ${inet6} ]] && config=( "${config[@]}" "${inet6[@]}" )
-
-+ # BACKWARD COMPATIBILITY: set the default gateway
-+ if [[ ${gateway} == "${iface}/"* ]]; then
-+ i="routes_${ifvar}[@]"
-+ local -a routes=( "${!i}" )
-+
-+ # We don't add the old gateway if one has been set in routes_IFACE
-+ local gw=true
-+ for i in "${routes[@]}"; do
-+ [[ ${i} != *"default gw"* ]] && continue
-+ gw=false
-+ break
-+ done
-+
-+ if ${gw} ; then
-+ eval "routes_${ifvar}=( \"default gw \${gateway#*/}\" \"\${routes[@]}\" )"
-+ fi
-+ fi
-+
- return 0
- }
-
-@@ -311,7 +329,8 @@
- # fail, the routine should still return success to indicate that
- # net.eth0 was successful
- ifconfig_post_start() {
-- local iface="$1" ifvar=$(bash_variable "$1") routes= x= metric= mtu= cidr=
-+ local iface="$1" ifvar=$(bash_variable "$1") x= metric= mtu= cidr=
-+ local -a routes=()
- metric="metric_${ifvar}"
-
- ifconfig_exists "${iface}" || return 0
-@@ -323,21 +342,9 @@
- mtu="mtu_${ifvar}"
- [[ -n ${!mtu} ]] && ifconfig "${iface}" mtu "${!mtu}"
-
-- routes="routes_${ifvar}[@]"
-- routes=( "${!routes}" )
-+ x="routes_${ifvar}[@]"
-+ routes=( "${!x}" )
-
-- # BACKWARD COMPATIBILITY: set the default gateway
-- if [[ ${gateway} == "${iface}/"* ]]; then
-- # We don't add the old gateway if one has been set in routes_IFACE
-- local gw=true
-- for x in "${routes[@]}"; do
-- [[ ${x} != *"default gw"* ]] && continue
-- gw=false
-- break
-- done
-- ${gw} && routes=( "${routes[@]}" "default gw ${gateway#*/}" )
-- fi
--
- [[ -z ${routes} ]] && return 0
-
- # Add routes for this interface, might even include default gw
+++ /dev/null
-Index: sbin/rc
-===================================================================
---- sbin/rc (revision 2198)
-+++ sbin/rc (working copy)
-@@ -456,14 +456,6 @@
- # /var/log should be writable now, so starting saving the boot output
- bootlog sync
-
-- # have to run this after /var/run is mounted rw #85304
-- if [ -x /sbin/irqbalance -a "$(get_KV)" -ge "$(KV_to_int '2.5.0')" ]
-- then
-- ebegin "Starting irqbalance"
-- /sbin/irqbalance
-- eend $?
-- fi
--
- # Check that $svcdir exists ...
- check_statedir "${svcdir}"
-
+++ /dev/null
-Index: lib/rcscripts/net/iwconfig.sh
-===================================================================
---- lib/rcscripts/net/iwconfig.sh (revision 2184)
-+++ lib/rcscripts/net/iwconfig.sh (working copy)
-@@ -347,7 +347,7 @@
- # so we can fail gracefully without even trying to connect
- iwconfig_associate() {
- local iface="$1" mode="${2:-managed}"
-- local mac="$3" wep_required="$4" freq="$5" w="(WEP Disabled)"
-+ local mac="$3" wep_required="$4" freq="$5" chan="$6" w="(WEP Disabled)"
- local dessid="${ESSID//\\\\/\\\\}" key=
-
- iwconfig_set_mode "${iface}" "${mode}"
-@@ -378,7 +378,12 @@
- [[ ${key} != "off" ]] && w=$(iwconfig_get_wep_status "${iface}")
- fi
-
-- [[ -n ${freq} ]] && iwconfig "${iface}" freq "${freq}"
-+ # Only use channel or frequency
-+ if [[ -n ${chan} ]] ; then
-+ iwconfig "${iface}" channel "${chan}"
-+ elif [[ -n ${freq} ]] ; then
-+ iwconfig "${iface}" freq "${freq}"
-+ fi
- [[ -n ${mac} ]] && iwconfig "${iface}" ap "${mac}"
-
- if ! iwconfig "${iface}" essid "${ESSID}" ; then
-@@ -453,7 +458,7 @@
- [[ -z ${!x} || ${!x} -gt 0 ]] && sleep "${!x:-1}"
-
- local error=true i=-1 line=
-- local -a mac=() essid=() enc=() qual=() mode=()
-+ local -a mac=() essid=() enc=() qual=() mode=() freq=() chan=()
-
- while read line; do
- error=false
-@@ -476,7 +481,12 @@
- ;;
- *Frequency:*)
- freq[i]="${line#*:}"
-+ freq[i]="${freq[i]%% *}"
- ;;
-+ *Channel:*)
-+ chan[i]="${line#*:}"
-+ chan[i]="${chan[i]%% *}"
-+ ;;
- *Quality*)
- qual[i]="${line#*:}"
- qual[i]="${qual[i]%/*}"
-@@ -533,6 +543,7 @@
- unset mode[y]
- unset enc[y]
- unset freq[y]
-+ unset chan[y]
- fi
- done
- done
-@@ -542,6 +553,7 @@
- mode=( "${mode[@]}" )
- enc=( "${enc[@]}" )
- freq=( "${freq[@]}" )
-+ chan=( "${chan[@]}" )
-
- for (( i=0; i<${#mac[@]}; i++ )); do
- # Don't like ad-hoc nodes by default
-@@ -557,6 +569,7 @@
- mode_APs[i]="${mode[${sortline[x]}]}"
- enc_APs[i]="${enc[${sortline[x]}]}"
- freq_APs[i]="${freq[${sortline[x]}]}"
-+ chan_APs[i]="${chan[${sortline[x]}]}"
- done
-
- return 0
-@@ -629,6 +642,7 @@
- unset mac_APs[i]
- unset enc_APs[i]
- unset freq_APs[i]
-+ unset chan_APs[i]
- done
-
- # We need to squash our arrays so indexes work again
-@@ -637,6 +651,7 @@
- mac_APs=( "${mac_APs[@]}" )
- enc_APs=( "${enc_APs[@]}" )
- freq_APs=( "${freq_APs[@]}" )
-+ chan_APs=( "${chan_APs[@]}" )
- }
-
- # bool iwconfig_force_preferred(char *iface)
-@@ -679,7 +694,7 @@
- if [[ ${essid} == "${essid_APs[i]}" ]]; then
- ESSID="${essid}"
- iwconfig_associate "${iface}" "${mode_APs[i]}" "${mac_APs[i]}" \
-- "${enc_APs[i]}" "${freq_APs[i]}" && return 0
-+ "${enc_APs[i]}" "${freq_APs[i]}" "${chan_APs[i]}" && return 0
- break
- fi
- done
-@@ -706,7 +721,7 @@
- if ! ${has_preferred} ; then
- ESSID="${essid_APs[i]}"
- iwconfig_associate "${iface}" "${mode_APs[i]}" "${mac_APs[i]}" \
-- "${enc_APs[i]}" "${freq_APs[i]}" && return 0
-+ "${enc_APs[i]}" "${freq_APs[i]}" "${chan_APs[i]}" && return 0
- fi
- done
-
-@@ -751,12 +766,14 @@
- unset mac_APs[j]
- unset enc_APs[j]
- unset freq_APs[j]
-+ unset chan_APs[j]
- # We need to squash our arrays so that indexes work
- essid_APs=( "${essid_APs[@]}" )
- mode_APs=( "${mode_APs[@]}" )
- mac_APs=( "${mac_APs[@]}" )
- enc_APs=( "${enc_APs[@]}" )
- freq_APs=( "${freq_APs[@]}" )
-+ chan_APs=( "${chan_APs[@]}" )
- break
- fi
- done
-@@ -780,7 +797,8 @@
- # variables for the ESSID
- iwconfig_configure() {
- local iface="$1" e= x= ifvar=$(bash_variable "$1")
-- local -a essid_APs=() mac_APs=() mode_APs=() enc_APs=() freq_APs=()
-+ local -a essid_APs=() mac_APs=() mode_APs=()
-+ local -a enc_APs=() freq_APs=() chan_APs=()
-
- ESSID="essid_${ifvar}"
- ESSID="${!ESSID}"
+++ /dev/null
-Index: lib/rcscripts/net/iwconfig.sh
-===================================================================
---- lib/rcscripts/net/iwconfig.sh (revision 2186)
-+++ lib/rcscripts/net/iwconfig.sh (working copy)
-@@ -222,14 +222,6 @@
-
- iwconfig_set_mode "${iface}" "${mode}"
-
-- channel="channel_${ifvar}"
-- # We default the channel to 3
-- channel="${!channel:-3}"
-- if ! iwconfig "${iface}" channel "${channel}" ; then
-- ewarn "${iface} does not support setting the channel to \"${channel}\""
-- return 1
-- fi
--
- # Now set the key
- if ! iwconfig "${iface}" key ${key} ; then
- if [[ ${key} != "off" ]]; then
-@@ -244,6 +236,13 @@
- return 1
- fi
-
-+ channel="channel_${ifvar}"
-+ # We default the channel to 3
-+ if ! iwconfig "${iface}" channel "${!channel:-3}" ; then
-+ ewarn "${iface} does not support setting the channel to \"${!channel:-3}\""
-+ return 1
-+ fi
-+
- # Finally apply the user Config
- iwconfig_user_config "${iface}" "${ESSIDVAR}"
-
-@@ -378,6 +377,12 @@
- [[ ${key} != "off" ]] && w=$(iwconfig_get_wep_status "${iface}")
- fi
-
-+ if ! iwconfig "${iface}" essid "${ESSID}" ; then
-+ if [[ ${ESSID} != "any" ]]; then
-+ ewarn "${iface} does not support setting ESSID to \"${dessid}\""
-+ fi
-+ fi
-+
- # Only use channel or frequency
- if [[ -n ${chan} ]] ; then
- iwconfig "${iface}" channel "${chan}"
-@@ -385,13 +390,7 @@
- iwconfig "${iface}" freq "${freq}"
- fi
- [[ -n ${mac} ]] && iwconfig "${iface}" ap "${mac}"
--
-- if ! iwconfig "${iface}" essid "${ESSID}" ; then
-- if [[ ${ESSID} != "any" ]]; then
-- ewarn "${iface} does not support setting ESSID to \"${dessid}\""
-- fi
-- fi
--
-+
- # Finally apply the user Config
- iwconfig_user_config "${iface}" "${ESSIDVAR}"
-
-@@ -481,7 +480,8 @@
- ;;
- *Frequency:*)
- freq[i]="${line#*:}"
-- freq[i]="${freq[i]%% *}"
-+ x="${freq[i]#* }"
-+ freq[i]="${freq[i]%% *}${x:0:1}"
- ;;
- *Channel:*)
- chan[i]="${line#*:}"
-Index: sbin/rc-daemon.sh
-===================================================================
---- sbin/rc-daemon.sh (revision 2186)
-+++ sbin/rc-daemon.sh (working copy)
-@@ -155,7 +155,7 @@
- ${e} || return 0
- fi
- else
-- kill -s "${signal}" "${pid}" 2>/dev/null
-+ [[ ${i} == "0" ]] && kill -s "${signal}" "${pid}" 2>/dev/null
- [[ ! -d "/proc/${pid}" ]] && return 0
- fi
- LC_ALL=C /bin/sleep "${s}"
+++ /dev/null
-Index: sbin/rc-daemon.sh
-===================================================================
---- sbin/rc-daemon.sh (revision 2189)
-+++ sbin/rc-daemon.sh (working copy)
-@@ -86,15 +86,13 @@
- #
- # Setup our vars based on the start-stop-daemon command
- rc_setup_daemon_vars() {
-- local name i
-- local -a sargs=( "${args%% \'--\' *}" )
-- local -a eargs
-- local x="${args// \'--\' /}"
-+ local -a sargs=( "${args%% \'--\' *}" ) eargs=()
-+ local x="${args// \'--\' /}" i=
- [[ ${x} != "${args}" ]] && eargs=( "${args##* \'--\' }" )
-
- eval rc_shift_args "${sargs[@]}"
-
-- [[ -z ${cmd} ]] && cmd="${name}"
-+ [[ -n ${name} ]] && cmd="${name}"
-
- # We may want to launch the daemon with a custom command
- # This is mainly useful for debugging with apps like valgrind, strace
-@@ -354,7 +352,7 @@
- # how we are called
- start-stop-daemon() {
- local args="$( requote "$@" )" result i
-- local cmd pidfile pid stopping signal nothing=false
-+ local cmd name pidfile pid stopping signal nothing=false
- local daemonfile=
- local -a RC_DAEMONS=() RC_PIDFILES=()
-
+++ /dev/null
---- ../tags/baselayout-1.12.5/ChangeLog 2006-09-14 11:11:35 +0100
-+++ ChangeLog 2006-09-26 16:17:55 +0100
-@@ -1,6 +1,21 @@
- # ChangeLog for Gentoo System Intialization ("rc") scripts
- # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPLv2
-
-+ 26 Sep 2006; Roy Marples <uberlord@gentoo.org>:
-+
-+ Don't wait for scheduled services to restart when a service is
-+ started in the background as this may tie up the calling daemon, #148700.
-+
-+ Give ppp at least 30 seconds to die, #147490, thanks to Alin Nastac.
-+
-+ 25 Sep 2006; Roy Marples <uberlord@gentoo.org>:
-+
-+ Don't rename bridged or bonded interfaces either, #145581.
-+
-+ 19 Sep 2006; Roy Marples <uberlord@gentoo.org>:
-+
-+ Start scheduled services in the correct order, #148011.
-+
- 06 Sep 2006; Roy Marples <uberlord@gentoo.org>:
-
- Fix PPPoA usage, #144194 thanks to Giampaolo Tomassoni.
---- ../tags/baselayout-1.12.5/etc/conf.d/rc 2006-09-14 11:11:34 +0100
-+++ etc/conf.d/rc 2006-09-24 11:04:58 +0100
-@@ -88,7 +88,7 @@
- RC_BOOTLOG="no"
-
- # Set to "yes" if you want to benchmark system boot with bootchart.
--# You'll need to emerge the app-benchmark/bootchart package for this to work.
-+# You'll need to emerge the app-benchmarks/bootchart package for this to work.
-
- RC_BOOTCHART="no"
-
-@@ -143,7 +143,7 @@
- # RC_DMESG_LEVEL sets the level at which logging of messages is done to the
- # console. See dmesg(8) for more info.
-
--RC_DMESG_LOGLEVEL="1"
-+RC_DMESG_LEVEL="1"
-
-
-
---- ../tags/baselayout-1.12.5/lib/rcscripts/net/iwconfig.sh 2006-09-14 11:11:34 +0100
-+++ lib/rcscripts/net/iwconfig.sh 2006-09-27 13:34:20 +0100
-@@ -452,7 +452,7 @@
-
- # Sleep if required
- x="sleep_scan_${ifvar}"
-- [[ -z ${!x} || ${!x} -gt 0 ]] && sleep "${!x:-1}"
-+ [[ -z ${!x} || ${!x} -gt 0 ]] && sleep "${!x:-2}"
-
- local error=true i=-1 line=
- local -a mac=() essid=() enc=() qual=() mode=() freq=() chan=()
---- ../tags/baselayout-1.12.5/lib/rcscripts/net/pppd.sh 2006-09-14 11:11:35 +0100
-+++ lib/rcscripts/net/pppd.sh 2006-09-26 16:15:15 +0100
-@@ -227,8 +227,10 @@
-
- [[ ! -s ${pidfile} ]] && return 0
-
-+ # Give pppd at least 30 seconds do die, #147490
- einfo "Stopping pppd on ${iface}"
-- start-stop-daemon --stop --exec /usr/sbin/pppd --pidfile "${pidfile}"
-+ start-stop-daemon --stop --exec /usr/sbin/pppd \
-+ --pidfile "${pidfile}" --retry 30
- eend $?
- }
-
---- ../tags/baselayout-1.12.5/lib/rcscripts/net/rename.sh 2006-09-14 11:11:34 +0100
-+++ lib/rcscripts/net/rename.sh 2006-09-25 15:52:17 +0100
-@@ -28,15 +28,15 @@
- newname="rename_${ifvar}"
- [[ -z ${!newname} || ${iface} == "${!newname}" ]] && return 0
-
-- # We cannot rename vlan interfaces as /proc/net/vlan/config always
-- # returns the old interface name. We don't bail out though as it's
-- # not critical that the interface gets renamed.
-- if [[ -d /proc/net/vlan/config ]] ; then
-- if grep -q "^${iface} " /proc/net/vlan/config ; then
-- eerror "Cannot rename VLAN interfaces"
-- return 0
-+ # We don't work on bonded, bridges, tun/tap or vlan
-+ for f in bonding bridge tuntap vlan ; do
-+ if is_function "${f}_exists" ; then
-+ if ${f}_exists "${iface}" ; then
-+ veinfo "Cannot rename a ${f} interface"
-+ return 0
-+ fi
- fi
-- fi
-+ done
-
- ebegin "Renaming \"${iface}\" to \"${!newname}\""
-
---- ../tags/baselayout-1.12.5/sbin/rc 2006-09-14 11:11:34 +0100
-+++ sbin/rc 2006-09-24 11:04:58 +0100
-@@ -288,9 +288,9 @@
- esac
-
- # Check udev prerequisites and kernel params
-- if [ "${udev}" = "yes" ] && has_addon udev
-+ if [ "${udev}" = "yes" ]
- then
-- if get_bootparam "noudev" || \
-+ if get_bootparam "noudev" || ! has_addon udev-start.sh || \
- [ ${devfs_automounted} = "yes" ] || \
- [ "$(get_KV)" -lt "$(KV_to_int '2.6.0')" ]
- then
-@@ -299,9 +299,10 @@
- fi
-
- # Check devfs prerequisites and kernel params
-- if [ "${devfs}" = "yes" ] && has_addon devfs
-+ if [ "${devfs}" = "yes" ]
- then
-- if get_bootparam "nodevfs" || [ "${udev}" = "yes" ]
-+ if get_bootparam "nodevfs" || [ "${udev}" = "yes" ] || \
-+ ! has_addon devfs-start.sh
- then
- devfs="no"
- fi
---- ../tags/baselayout-1.12.5/sbin/runscript.sh 2006-09-14 11:11:34 +0100
-+++ sbin/runscript.sh 2006-09-26 19:57:44 +0100
-@@ -154,11 +154,20 @@
- [[ ! -d "${svcdir}/scheduled/${SVCNAME}" ]] && return
- local x= services=
-
-+ # If we're being started in the background, then don't
-+ # tie up the daemon that called us starting our scheduled services
-+ if [[ ${IN_BACKGROUND} == "true" || ${IN_BACKGROUND} == "1" ]] ; then
-+ unset IN_BACKGROUND
-+ svc_start_scheduled &
-+ export IN_BACKGROUND=true
-+ return
-+ fi
-+
- for x in $(dolisting "${svcdir}/scheduled/${SVCNAME}/") ; do
- services="${services} ${x##*/}"
- done
-
-- for x in ${services} ; do
-+ for x in $(trace_dependencies ${services}) ; do
- service_stopped "${x}" && start_service "${x}"
- rm -f "${svcdir}/scheduled/${SVCNAME}/${x}"
- done
-@@ -668,7 +677,10 @@
- service_started "${SVCNAME}" && svc_start_scheduled
-
- # Wait for services to come up
-- [[ ${RC_PARALLEL_STARTUP} == "yes" ]] && wait
-+ if [[ ${IN_BACKGROUND} != "true" \
-+ && ${IN_BACKGROUND} != "1" ]] ; then
-+ [[ ${RC_PARALLEL_STARTUP} == "yes" ]] && wait
-+ fi
-
- svcrestart="no"
- ;;
+++ /dev/null
---- init.d/checkfs (revision 2463)
-+++ init.d/checkfs (working copy)
-@@ -27,6 +27,10 @@
- fi
- if [[ ${retval} -eq 0 ]] ; then
- eend 0
-+ elif [[ ${retval} -eq 8 ]] ; then
-+ ewend 1 "Operational error, continuing"
-+ # Everything should be ok, so return a pass
-+ return 0
- elif [[ ${retval} -ge 1 && ${retval} -le 3 ]] ; then
- ewend 1 "Filesystem errors corrected."
- # Everything should be ok, so return a pass
+++ /dev/null
-Index: sbin/runscript.sh
-===================================================================
---- sbin/runscript.sh (revision 2461)
-+++ sbin/runscript.sh (working copy)
-@@ -71,7 +71,6 @@
-
- # State variables
- svcpause="no"
--svcrestart="no"
-
- # Functions to handle dependencies and services
- [[ ${RC_GOT_SERVICES} != "yes" ]] && source "${svclib}/sh/rc-services.sh"
-@@ -136,7 +135,10 @@
- }
-
- restart() {
-- svc_restart
-+ if ! service_stopped "${SVCNAME}" ; then
-+ svc_stop || return "$?"
-+ fi
-+ svc_start
- }
-
- status() {
-@@ -470,10 +472,65 @@
- }
-
- svc_restart() {
-- if ! service_stopped "${SVCNAME}" ; then
-- svc_stop || return "$?"
-+ # We don't kill child processes if we're restarting
-+ # This is especically important for sshd ....
-+ RC_KILL_CHILDREN="no"
-+
-+ # Create a snapshot of started services
-+ rm -rf "${svcdir}/snapshot/$$"
-+ mkdir -p "${svcdir}/snapshot/$$"
-+ cp -pP "${svcdir}"/started/* "${svcdir}"/inactive/* \
-+ "${svcdir}/snapshot/$$/" 2>/dev/null
-+ rm -f "${svcdir}/snapshot/$$/${SVCNAME}"
-+
-+ # Simple way to try and detect if the service use svc_{start,stop}
-+ # to restart if it have a custom restart() funtion.
-+ if [[ -n $(egrep '^[[:space:]]*restart[[:space:]]*()' "/etc/init.d/${SVCNAME}") ]] ; then
-+ if [[ -z $(egrep 'svc_stop' "/etc/init.d/${SVCNAME}") || \
-+ -z $(egrep 'svc_start' "/etc/init.d/${SVCNAME}") ]] ; then
-+ echo
-+ ewarn "Please use 'svc_stop; svc_start' and not 'stop; start' to"
-+ ewarn "restart the service in its custom 'restart()' function."
-+ ewarn "Run ${SVCNAME} without arguments for more info."
-+ echo
-+ if ! service_stopped "${SVCNAME}" ; then
-+ svc_stop || return "$?"
-+ fi
-+ svc_start
-+ else
-+ restart
-+ fi
-+ else
-+ restart
- fi
-- svc_start
-+ retval="$?"
-+
-+ [[ -e "${svcdir}/scheduled/${SVCNAME}" ]] \
-+ && rm -Rf "${svcdir}/scheduled/${SVCNAME}"
-+
-+ # Restart dependencies as well
-+ for x in $(dolisting "${svcdir}/snapshot/$$/") ; do
-+ if [[ -x ${x} ]] && service_stopped "${x##*/}" ; then
-+ if service_inactive "${SVCNAME}" \
-+ || service_wasinactive "${SVCNAME}" ; then
-+ svc_schedule_start "${SVCNAME}" "${x##*/}"
-+ ewarn "WARNING: ${x##*/} is scheduled to start when ${SVCNAME} has started."
-+ elif service_started "${SVCNAME}" ; then
-+ start_service "${x##*/}"
-+ fi
-+ fi
-+ done
-+ rm -rf "${svcdir}/snapshot/$$"
-+
-+ service_started "${SVCNAME}" && svc_start_scheduled
-+
-+ # Wait for services to come up
-+ if [[ ${IN_BACKGROUND} != "true" \
-+ && ${IN_BACKGROUND} != "1" ]] ; then
-+ [[ ${RC_PARALLEL_STARTUP} == "yes" ]] && wait
-+ fi
-+
-+ return ${retval}
- }
-
- svc_status() {
-@@ -629,64 +686,14 @@
- mark_service_stopped "${SVCNAME}"
- ;;
- restart)
-- svcrestart="yes"
--
-- # We don't kill child processes if we're restarting
-- # This is especically important for sshd ....
-- RC_KILL_CHILDREN="no"
--
-- # Create a snapshot of started services
-- rm -rf "${svcdir}/snapshot/$$"
-- mkdir -p "${svcdir}/snapshot/$$"
-- cp -pP "${svcdir}"/started/* "${svcdir}"/inactive/* \
-- "${svcdir}/snapshot/$$/" 2>/dev/null
-- rm -f "${svcdir}/snapshot/$$/${SVCNAME}"
--
-- # Simple way to try and detect if the service use svc_{start,stop}
-- # to restart if it have a custom restart() funtion.
-- if [[ -n $(egrep '^[[:space:]]*restart[[:space:]]*()' "/etc/init.d/${SVCNAME}") ]] ; then
-- if [[ -z $(egrep 'svc_stop' "/etc/init.d/${SVCNAME}") || \
-- -z $(egrep 'svc_start' "/etc/init.d/${SVCNAME}") ]] ; then
-- echo
-- ewarn "Please use 'svc_stop; svc_start' and not 'stop; start' to"
-- ewarn "restart the service in its custom 'restart()' function."
-- ewarn "Run ${SVCNAME} without arguments for more info."
-- echo
-- svc_restart
-- else
-- restart
-- fi
-- else
-- restart
-+ svc_restart
-+ retval="$?"
-+ ;;
-+ condrestart|conditionalrestart)
-+ if service_started "${SVCNAME}" ; then
-+ svc_restart
- fi
- retval="$?"
--
-- [[ -e "${svcdir}/scheduled/${SVCNAME}" ]] \
-- && rm -Rf "${svcdir}/scheduled/${SVCNAME}"
--
-- # Restart dependencies as well
-- for x in $(dolisting "${svcdir}/snapshot/$$/") ; do
-- if [[ -x ${x} ]] && service_stopped "${x##*/}" ; then
-- if service_inactive "${SVCNAME}" \
-- || service_wasinactive "${SVCNAME}" ; then
-- svc_schedule_start "${SVCNAME}" "${x##*/}"
-- ewarn "WARNING: ${x##*/} is scheduled to start when ${SVCNAME} has started."
-- elif service_started "${SVCNAME}" ; then
-- start_service "${x##*/}"
-- fi
-- fi
-- done
-- rm -rf "${svcdir}/snapshot/$$"
--
-- service_started "${SVCNAME}" && svc_start_scheduled
--
-- # Wait for services to come up
-- if [[ ${IN_BACKGROUND} != "true" \
-- && ${IN_BACKGROUND} != "1" ]] ; then
-- [[ ${RC_PARALLEL_STARTUP} == "yes" ]] && wait
-- fi
--
-- svcrestart="no"
- ;;
- pause)
- svcpause="yes"
-Index: sbin/rc-help.sh
-===================================================================
---- sbin/rc-help.sh (revision 2461)
-+++ sbin/rc-help.sh (working copy)
-@@ -67,6 +67,9 @@
- can be handled correctly. Refer to the portmap rc-script for an
- example.
-
-+ ${GREEN}conditionalrestart|condrestart${OFF}
-+ Same as 'restart', but only if the service has already been started.
-+
- ${GREEN}pause${OFF}
- Same as 'stop', but the services that depends on it, will not be
- stopped. This is useful for stopping a network interface without
+++ /dev/null
-Index: sbin/rc-daemon.sh
-===================================================================
---- sbin/rc-daemon.sh (revision 2473)
-+++ sbin/rc-daemon.sh (working copy)
-@@ -325,7 +325,7 @@
- # If not, we stop the service
- update_service_status() {
- local service="$1" daemonfile="${svcdir}/daemons/$1" i
-- local -a RC_DAEMONS=() RC_PIDFILES=()
-+ local -a RC_DAEMONS=() RC_PIDFILES=() RC_NAMES=()
-
- # We only care about marking started services as stopped if the daemon(s)
- # for it are no longer running
-@@ -354,7 +354,7 @@
- local args="$( requote "$@" )" result i
- local cmd name pidfile pid stopping signal nothing=false
- local daemonfile=
-- local -a RC_DAEMONS=() RC_PIDFILES=()
-+ local -a RC_DAEMONS=() RC_PIDFILES=() RC_NAMES=()
-
- if [[ -n ${SVCNAME} ]] ; then
- daemonfile="${svcdir}/daemons/${SVCNAME}"
-@@ -380,9 +380,10 @@
- # But most called to --stop only set the pidfile
- if [[ ${RC_DAEMONS[i]} == "{cmd}" \
- || ${RC_PIDFILES[i]} == "${pidfile}" ]]; then
-- unset RC_DAEMONS[i] RC_PIDFILES[i]
-+ unset RC_DAEMONS[i] RC_PIDFILES[i] RC_NAMES[i]
- RC_DAEMONS=( "${RC_DAEMONS[@]}" )
- RC_PIDFILES=( "${RC_PIDFILES[@]}" )
-+ RC_NAMES=( "${RC_NAMES[@]}" )
- break
- fi
- done
-@@ -404,6 +405,7 @@
- if [[ ${i} == "${max}" ]]; then
- RC_DAEMONS[max]="${cmd}"
- RC_PIDFILES[max]="${pidfile}"
-+ RC_NAMES[max]="${name}"
- fi
- fi
- fi
-@@ -412,12 +414,14 @@
- if [[ ${#RC_DAEMONS[@]} == "0" ]]; then
- [[ -f ${daemonfile} ]] && rm -f "${daemonfile}"
- elif [[ -n ${daemonfile} ]] ; then
-- echo "RC_DAEMONS[0]=\"${RC_DAEMONS[0]}\"" > "${daemonfile}"
-- echo "RC_PIDFILES[0]=\"${RC_PIDFILES[0]}\"" >> "${daemonfile}"
-+ echo "RC_DAEMONS[0]='${RC_DAEMONS[0]}'" > "${daemonfile}"
-+ echo "RC_PIDFILES[0]='${RC_PIDFILES[0]}'" >> "${daemonfile}"
-+ echo "RC_NAMES[0]='${RC_NAMES[0]}'" >> "${daemonfile}"
-
- for (( i=1; i<${#RC_DAEMONS[@]}; i++ )); do
-- echo "RC_DAEMONS[${i}]=\"${RC_DAEMONS[i]}\"" >> "${daemonfile}"
-- echo "RC_PIDFILES[${i}]=\"${RC_PIDFILES[i]}\"" >> "${daemonfile}"
-+ echo "RC_DAEMONS[${i}]='${RC_DAEMONS[i]}'" >> "${daemonfile}"
-+ echo "RC_PIDFILES[${i}]='${RC_PIDFILES[i]}'" >> "${daemonfile}"
-+ echo "RC_NAMES[${i}]='${RC_NAMES[i]}'" >> "${daemonfile}"
- done
- fi
-
-Index: sbin/rc-services.sh
-===================================================================
---- sbin/rc-services.sh (revision 2483)
-+++ sbin/rc-services.sh (working copy)
-@@ -707,11 +707,11 @@
- # If index is emtpy, then we don't care what the first daemon launched
- # was, otherwise the daemon must also be at that index
- service_started_daemon() {
-- local service="$1" daemon="$2" index="${3:-[0-9]*}"
-+ local service="$1" daemon="'$2'" index="${3:-[0-9]*}"
- local daemonfile="${svcdir}/daemons/${service}"
-
- [[ ! -e ${daemonfile} ]] && return 1
-- grep -q '^RC_DAEMONS\['"${index}"'\]="'${daemon}'"$' "${daemonfile}"
-+ grep -q '^RC_DAEMONS\['"${index}"'\]='"${daemon}"'$' "${daemonfile}"
- }
-
- # bool net_service(service)
+++ /dev/null
-Index: net-scripts/net/pppd.sh
-===================================================================
---- lib/rcscripts/net/pppd.sh (revision 2437)
-+++ lib/rcscripts/net/pppd.sh (working copy)
-@@ -110,8 +110,9 @@
- opts="linkname ${iface} ${opts}"
-
- # Setup auth info
-- [[ -n ${!username} ]] && opts="user '"${!username}"' ${opts}"
-- opts="remotename ${iface} ${opts}"
-+ if [[ -n ${!username} ]] ; then
-+ opts="user '"${!username}"' remotename ${iface} ${opts}"
-+ fi
-
- # Load a custom interface configuration file if it exists
- [[ -f "/etc/ppp/options.${iface}" ]] \
-Index: sbin/functions.sh
-===================================================================
---- sbin/functions.sh (revision 2437)
-+++ sbin/functions.sh (working copy)
-@@ -712,11 +712,8 @@
- shift
-
- for x in "$@" ; do
-- if [[ -d ${x} ]] ; then
-- is_older_than "${ref}" "${x}"/* && return 0
-- elif [[ ${x} -nt ${ref} ]] ; then
-- return 0
-- fi
-+ [[ ${x} -nt ${ref} ]] && return 0
-+ [[ -d ${x} ]] && is_older_than "${ref}" "${x}"/* && return 0
- done
-
- return 1
-Index: sbin/rc
-===================================================================
---- sbin/rc (revision 2437)
-+++ sbin/rc (working copy)
-@@ -832,7 +832,7 @@
-
- if [[ ${SOFTLEVEL} == "single" ]] ; then
- rm -rf "${svcdir}/softscripts.new"
-- /sbin/sulogin ${CONSOLE}
-+ [[ ${RUNLEVEL} == "S" ]] && /sbin/sulogin ${CONSOLE}
- exit 0
- fi
-
-Index: sbin/depscan.sh
-===================================================================
---- sbin/depscan.sh (revision 2437)
-+++ sbin/depscan.sh (working copy)
-@@ -89,7 +89,7 @@
- fi
-
- touch "${mtime_test}"
-- for config in /etc/conf.d/* /etc/init.d/* /etc/rc.conf
-+ for config in /etc/conf.d /etc/init.d /etc/rc.conf
- do
- ! ${update} \
- && is_older_than "${mysvcdir}/depcache" "${config}" \
+++ /dev/null
-MD5 a417e02c148e8c63b60a2df0e11996c0 baselayout-1.12.4.tar.bz2 216448
-RMD160 125e0b8c0f02266fa72ce95d4d3ba93311871d57 baselayout-1.12.4.tar.bz2 216448
-SHA256 f09ae36d84ff7f52baf44494dedafcb26a1cbb4e5a0f9ba5ef5f553bc21373da baselayout-1.12.4.tar.bz2 216448
+++ /dev/null
-MD5 b9851397fd55961e2bfb749cd0907103 baselayout-1.12.5.tar.bz2 220693
-RMD160 85f03fe3b0ff0521ec4226a1b6788575052923b7 baselayout-1.12.5.tar.bz2 220693
-SHA256 4ab5512f35c547549b0406221ed92c71a5a86a11044f1d9f0d87f7ec44d39817 baselayout-1.12.5.tar.bz2 220693
+++ /dev/null
-MD5 062ecbba57c9f6839b38034e48dd932d baselayout-1.12.6.tar.bz2 221279
-RMD160 4a9b6a0b3855e36a4b0214615d578e8d17dcabae baselayout-1.12.6.tar.bz2 221279
-SHA256 c244469fa582c7733d2cf1b51865fac818beb8b2af60ec452ad147cb50eb8862 baselayout-1.12.6.tar.bz2 221279
+++ /dev/null
-MD5 2cdf1a2ed49f6c6ee4087964e0dd6e8e baselayout-1.12.8.tar.bz2 218298
-RMD160 2a47bf00db9c1e15ad2dd90e02dc55a896e3e01f baselayout-1.12.8.tar.bz2 218298
-SHA256 c05e126ee1b5bd63462db133c4e39ca45b0a999696f637f2a80d9c7b616eeeea baselayout-1.12.8.tar.bz2 218298
+++ /dev/null
-MD5 2cdf1a2ed49f6c6ee4087964e0dd6e8e baselayout-1.12.8.tar.bz2 218298
-RMD160 2a47bf00db9c1e15ad2dd90e02dc55a896e3e01f baselayout-1.12.8.tar.bz2 218298
-SHA256 c05e126ee1b5bd63462db133c4e39ca45b0a999696f637f2a80d9c7b616eeeea baselayout-1.12.8.tar.bz2 218298
+++ /dev/null
-MD5 2cdf1a2ed49f6c6ee4087964e0dd6e8e baselayout-1.12.8.tar.bz2 218298
-RMD160 2a47bf00db9c1e15ad2dd90e02dc55a896e3e01f baselayout-1.12.8.tar.bz2 218298
-SHA256 c05e126ee1b5bd63462db133c4e39ca45b0a999696f637f2a80d9c7b616eeeea baselayout-1.12.8.tar.bz2 218298