summaryrefslogtreecommitdiff
path: root/app-misc/rogentoslive-tools
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/rogentoslive-tools')
-rw-r--r--app-misc/rogentoslive-tools/Manifest50
-rwxr-xr-xapp-misc/rogentoslive-tools/files/1.0/bashlogin6
-rw-r--r--app-misc/rogentoslive-tools/files/1.0/cdeject23
-rwxr-xr-xapp-misc/rogentoslive-tools/files/1.0/installer-gui26
-rwxr-xr-xapp-misc/rogentoslive-tools/files/1.0/installer-text21
-rwxr-xr-xapp-misc/rogentoslive-tools/files/1.0/livecd-functions.sh634
-rw-r--r--app-misc/rogentoslive-tools/files/1.0/livespawn10
-rwxr-xr-xapp-misc/rogentoslive-tools/files/1.0/logscript.sh111
-rwxr-xr-xapp-misc/rogentoslive-tools/files/1.0/net-setup65
-rwxr-xr-xapp-misc/rogentoslive-tools/files/1.0/opengl-activator318
-rwxr-xr-xapp-misc/rogentoslive-tools/files/1.0/rogentos-functions.sh247
-rwxr-xr-xapp-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader10
-rw-r--r--app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader.desktop7
-rwxr-xr-xapp-misc/rogentoslive-tools/files/1.0/rogentoslive218
-rw-r--r--app-misc/rogentoslive-tools/files/1.0/sabayon-live-check26
-rwxr-xr-xapp-misc/rogentoslive-tools/files/1.0/sabutil667
-rw-r--r--app-misc/rogentoslive-tools/files/1.0/vga-cmd-parser53
-rw-r--r--app-misc/rogentoslive-tools/files/1.0/x-setup-configuration60
-rwxr-xr-xapp-misc/rogentoslive-tools/files/1.0/x-setup-init.d68
-rw-r--r--app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf4
-rw-r--r--app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-synaptics.conf58
-rw-r--r--app-misc/rogentoslive-tools/files/1.0/xorg.conf.rogentos100
-rw-r--r--app-misc/rogentoslive-tools/files/2/bashlogin6
-rw-r--r--app-misc/rogentoslive-tools/files/2/cdeject11
-rw-r--r--app-misc/rogentoslive-tools/files/2/cdeject.service13
-rw-r--r--app-misc/rogentoslive-tools/files/2/cdeject.sh12
-rw-r--r--app-misc/rogentoslive-tools/files/2/installer-gui15
-rw-r--r--app-misc/rogentoslive-tools/files/2/installer-gui.service12
-rw-r--r--app-misc/rogentoslive-tools/files/2/installer-gui.sh8
-rw-r--r--app-misc/rogentoslive-tools/files/2/installer-text13
-rw-r--r--app-misc/rogentoslive-tools/files/2/installer-text.service11
-rw-r--r--app-misc/rogentoslive-tools/files/2/installer-text.sh7
-rw-r--r--app-misc/rogentoslive-tools/files/2/livecd-functions.sh635
-rw-r--r--app-misc/rogentoslive-tools/files/2/livespawn10
-rw-r--r--app-misc/rogentoslive-tools/files/2/logscript.sh111
-rw-r--r--app-misc/rogentoslive-tools/files/2/net-setup65
-rw-r--r--app-misc/rogentoslive-tools/files/2/rogentos-functions.sh284
-rw-r--r--app-misc/rogentoslive-tools/files/2/rogentos-live-check27
-rw-r--r--app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader10
-rw-r--r--app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader.desktop7
-rw-r--r--app-misc/rogentoslive-tools/files/2/rogentoslive14
-rw-r--r--app-misc/rogentoslive-tools/files/2/rogentoslive.service11
-rw-r--r--app-misc/rogentoslive-tools/files/2/rogentoslive.sh183
-rw-r--r--app-misc/rogentoslive-tools/files/2/sabutil667
-rw-r--r--app-misc/rogentoslive-tools/files/2/vga-cmd-parser53
-rw-r--r--app-misc/rogentoslive-tools/files/2/x-setup-configuration46
-rw-r--r--app-misc/rogentoslive-tools/files/2/x-setup-init.d26
-rw-r--r--app-misc/rogentoslive-tools/files/2/x-setup.service14
-rw-r--r--app-misc/rogentoslive-tools/files/2/x-setup.sh49
-rw-r--r--app-misc/rogentoslive-tools/rogentoslive-tools-1.0-r1.ebuild83
-rw-r--r--app-misc/rogentoslive-tools/rogentoslive-tools-2.ebuild74
51 files changed, 5259 insertions, 0 deletions
diff --git a/app-misc/rogentoslive-tools/Manifest b/app-misc/rogentoslive-tools/Manifest
new file mode 100644
index 00000000..383f6061
--- /dev/null
+++ b/app-misc/rogentoslive-tools/Manifest
@@ -0,0 +1,50 @@
+AUX 1.0/bashlogin 116 SHA256 9385b60eb67e44d36e7806968df3af7dadd57e7e2a392ba4e3b588e51e8fc29d SHA512 c37c20a53896da635a2bf7888e2e0d88f712c1f8cc683dc37cf6f33ba98e0f08d2635eb2448f89376d9699a28e6b63550b0638761b68423291fad913064aa488 WHIRLPOOL 43ac0a64e87f6edd58ec06595986f540b9edbc204eecdf895951b31eb3bc297fdef4c873e5df5cc064311ce166bb49e0776fdc3879cf65e69897c477d78e7cf2
+AUX 1.0/cdeject 567 SHA256 87b2b6f61d6afc109818b12fac463b4603e2329b15575b72e72eb20eaafcfcce SHA512 84bf11654af3ea5e49e8c5140713c8c6bd21b1e755880f6da58663e2d9c7aed923bc9fca51016606bfe96aaac0d82216432dd7a2bc4dd802a6f541987e2755f4 WHIRLPOOL ab093def1ed9dedb06962442d4bf94e227b0c325101ff86907693fa86866b700863fdde2f3fc82a42c078ba0f72497875ecb1e71910832b7c207f5cbb94f7a7c
+AUX 1.0/installer-gui 463 SHA256 3c035d37c7be182965fbaecd7eb4b698c6cda5c826ca8e563e6813522f26b45c SHA512 758c26069d474b8a312cd834a23918712340d70b1fe98b745fcd94f8a10e913c662868552595a618e5b28b3e903fe7872c0db4eeb69f7479f4cce5f420044a3c WHIRLPOOL 385f582b7aa3054b8170498a19b443f00a6a91ed82d6c35e201031ff118bfbd9c33b936f77de352600b4e5f7a82f9a26d716f1d000d3fdb0f2d4f4be392f770c
+AUX 1.0/installer-text 350 SHA256 f515c37518d7bfe41861bdc06290154f8d4921c8d5d1d5fcf082dcbcfd7eb0ae SHA512 7eb0098ebbb0a4f233999db2e7048d27551783ad408499725f3a8f2c37122df537de7704924f9024681ab473805b07fcbafc14346997a86ffae9fa61a26b546e WHIRLPOOL 2e89f4dde51d287f484af69130ee4ecb2f3a2b3917258f6746a6456537229536bb364147aab0693baab9bfea89061339bc16f2a103770f0e0625953a4b13cd0e
+AUX 1.0/livecd-functions.sh 17409 SHA256 8595c6c329bd5f762d626029d86ee7184b3ae0201e4553c7616b75d034c28dee SHA512 a3ba69ee64ebb20f6a1cce9dd11c2d7e2479a545ab97c2639c15fe53c4f75b7db9895f2db1c5e8d9cb16a95e1742ddb76702a3a8413b0b8c2def36621353fa60 WHIRLPOOL 5642b6aec64281289686f4442562ac90d24af7cc3ba4380d203b062c266325c9768572dca96358b24f21d7a39b9cda57efcd94e17cd8d593053227b33ee374c2
+AUX 1.0/livespawn 193 SHA256 256c51d66e8bcaa82e9a52ebf70fe947000dc43c2d9df0c73d045f624e615cbe SHA512 9e4d2f929c473560f47e86721be6bc65336a2adcc83a034ae945b1c5e2db21a215042b4d31a9b6b1865d40a12c92aa349df37149a4a48ec6c47680d584a65c3e WHIRLPOOL 291de20dab535565287f1b712f3be01cd67e262df71dde74d33f45fbc25a74116f372c09ad73cef1f94be8fd80dd4486d59ca41d3b5eb364dfd05f8e361de63b
+AUX 1.0/logscript.sh 3556 SHA256 cae5c18418c34fd6a22ab34e79ba3c2ea99ece6e5ebaebb3931e745d1b3c41f6 SHA512 a06682ca40d2804494bcd7081132a2b0a764d9230a59d28b8029a52ca77d5f8962bf9ca301f808db0c542ab4381531db5a4135509b9a69e487525a97aba26042 WHIRLPOOL 6d5629bb6fb144b59977c269ad1bcfcf6f56ddc65b6f29d85006b5b2f618893c31e6bb4c5d26ae054f9b582058db5d53c4e15094714b5fa68c8f70e385256b7f
+AUX 1.0/net-setup 1529 SHA256 41f5fdf35752837e69e958b7082339146c2c8e2e3470add2cd2eab4092d50d9a SHA512 22e394897b1bcfdb8ec9fba841316a14b235f22e61571e5731928eb6751b44a44d7cb2cc24c60c5f88b5216902933ffeceeb5b87ae358a91cd1a3a6368bbff76 WHIRLPOOL 2b2f366e4a93ebe0abb16f984efb296fc6e92ba1cd9c07309b683787ce65ca5bef3572454e5e955aaaf2786366a385a9b500f0645ac9d896aca6f700429bfb01
+AUX 1.0/opengl-activator 10039 SHA256 0090240f1c8cba0d9dae59dac4b472e4b73fc41e64cb178e786d1093af565eaf SHA512 1c93e2b9d6cea8db258e5fdd3c1d493f04a6e7f3ce3412e738551287e150a59793ec6180ba0858aff58e9dd47ce64d933d4b19706b33ee20291f9021dca12cf5 WHIRLPOOL 6270e25c0249c685f916ea9b4a0baf0a494c3fa8b2dacaca828fa9b910d641b6b84c39f4bc84b685571179068b38440e50115ad0cadfcf348561673cdf884ca8
+AUX 1.0/rogentos-functions.sh 7146 SHA256 1d736b09c387806c969371a041ed33f388330e0c95d822ee64fe0b9e6bb513f6 SHA512 1a4a0ab6866dda84e3ffc497134bff5e11f7a308657df04ed3d9650fbc85b23186332232a530d8f3105e008da787b3288c68c0e86efcedd813d6a73ea7d18311 WHIRLPOOL 7b73262ae027bc420ac480b6d7d75b83ac11ecc0c9be92157a3e1588169768c7fcd166fecd4edb6785bd8893fdbd3839abc7b6090154e0414096aa3280deec2d
+AUX 1.0/rogentos-welcome-loader 291 SHA256 4e4769a0cb0ad3f48f561b0eb82b05214da9d640da170a9c7cd3531051622ca6 SHA512 e015913d25ee59f5f54e4111aa800f6ab1a6a0ba12c3c544d0e1760627820bfde321bea8a2a068fa87dc0c186dcb4a8f2c2b2cce78d2ca1a28276c57d06ed248 WHIRLPOOL f80b071df812f5a6411debf704ded0f7681d15823549c658acb1b250085a6c1778c5054296951eddf537d8bef7c13c51292bec9145f9d663b41116d444f9a3fd
+AUX 1.0/rogentos-welcome-loader.desktop 162 SHA256 37cc2ff95764baa148a68f6669be56bd9d6fa6bc805242dcfa8e0fd8d49a44d0 SHA512 21befa3f740a0bddc66e5afb77b3a41dbfcacaefc06e768d8ee272324d6968a66de6155bc5f05d2e788b1df12c424f665041b5315f0aedc12b3dead92ed5fbe3 WHIRLPOOL 2c82ae08b5b6fb290f8f7138aa5f2d29f3c523cc783e07ac8fccd112a1e94a02b393b6f1e83c87e5d9af83cfb9d3c79ff7517dc5a8cce05d438e5b6cbf6722b7
+AUX 1.0/rogentoslive 5493 SHA256 73e8c807293eccc37dc8dedc9c4523ed30c9396416c31c283462e604d8b99a31 SHA512 1da7452ce02839bc5afe831ebfe54a9657244315fa6468020ffd6e0b0a20813045aaa211fc94fb46ab94fc3e69ffa4759f052d41e17a77d0fba7fa262656af0b WHIRLPOOL b2c7000d3614da10d778837faa1938987a957f290827458b3527f847bfba26a5593cb75a572fd265453c26f62ce261ae689f1a235c0228fcf8d5d90c3df93cf0
+AUX 1.0/sabayon-live-check 1018 SHA256 224e7016eb24f96a9260fa38b80bc61b5e1b60f5d76ba076ccd81c4465a1a63d SHA512 e3398f2f42a34405c7584aad03c4b41cbc901f7f1a71e67af5ef402cb8586a8b7d316f72f2d4d5d98516fe2e3dc2a4a515faa245be172ddc8576b1f487101555 WHIRLPOOL e882b714c47c8a4b12e87998b790e237544694d5f4493fef725dc14ff8cfccc67480e8d5cf00a5e5b097324b7de0b837553291eb29efa7d49f495001ffe96d41
+AUX 1.0/sabutil 20352 SHA256 da5df349c68234b4d703420d6c130c0cd489de2ad5751b5a9727e839b528a7bf SHA512 03c2b45b691a70f1110c411f933d0cb626c3ae1dbf61a18de4c1ff825e0b2ea540dd4f35475d7890104c863eb1bec49e7334b85ceb0c7b82f57974955e7a89c3 WHIRLPOOL 0d2fe8931dd42322f2cf1873f12984543efd81c8baa60a830648e472ac6fbf5ffea0260d9e620dfbeb7fc91d348f9314fbd7612d001679d09bfe6410cfd1be1b
+AUX 1.0/vga-cmd-parser 1382 SHA256 9b4faeac836b52a0a6550a48babeed40c00ea2cad7674bb1ad037c04791a7ebc SHA512 ce00d59bdd5eb53c870df920bebe4a2925f711751a9fe95cd901089472097c9808bdf321ab6d1a0cc2e0cc3582a9180d3d7d3a1f86f881137f41bdd6fc0ae02e WHIRLPOOL b5f2587adf15f1151c51839e970edfd219fb82d3cbbd1c14410bb4ba6521fc08b6cefaaa44f80cba66a2ac310c650a95b8dcfc484c0bbd15271f3147038f36c4
+AUX 1.0/x-setup-configuration 2144 SHA256 b0570bd3845b83d8814b83d520e0c51c54b2847106a89f007c84314caf8c9521 SHA512 096e8e81d25a7fbab914a6348be92e1f017981417f0592e769b32917818c01300e02dc22c9feff900c2f1374022b49beb770f7a8f6c90f53313c594cee638cd0 WHIRLPOOL 9b927be2b35edc295322c1f2da6a3c64b9ece0a458fe2021d0e02acd61ec08fcfdd7f28f545370684eafe13d9e4bbbb50b59149280421adb934e22678502ad9e
+AUX 1.0/x-setup-init.d 2407 SHA256 3499686dd51db7528beeca037b6107e8865ab06666b9a46003081ea77f1b2a55 SHA512 f2fe60cd51676c36bf2167186cecb85f7704b3f04b01ce5072c5567f386b3bf5434057b29cf0a6ecdce1e30437b93b04142b34abe77279e623f9969069c6d9e3 WHIRLPOOL aee8a9d2ea276709ca077a9b48f944529161cd8c4c83c7b2138f17d30e907d0f50befc02c10896c6842b4d89883b7150dd1d6f3b6717633f7063a9fa53cf66e6
+AUX 1.0/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf 113 SHA256 6c273df0f9ab78ab371fac0ef6da9afc802f607eba099defe8ac165e86b89c53 SHA512 36992843d2618128f83e390d49b9b68ccbfcce3701d36cd1ea137d20b1815b58f34f8aab9a47bbbab15489a672050a854097b87b4df42c011ec79cec2d63f3d5 WHIRLPOOL 734d97fa61f4486f1e21010184777f4275b21aeb466fe9c04eda1a4bdf695883e9a77ce5cf289a3a5008c349e2bd362afb395817fdc205cad30fad3a0b56dbf0
+AUX 1.0/xorg.conf.d/90-synaptics.conf 1524 SHA256 97e451a157b38aa718bcb22afb1b5d4ee308937f544653341b856bf8d6791e94 SHA512 c668e6c095d8a0b85f2747cd93abb36a37f1aea95548658aaf3c7db899b516161264ab3feef8e7b4dbff5287496d7883dbe23e2d430a4f9ad73ef4f51615573f WHIRLPOOL 2de3cab6a99223572e4eac784094d93fb1acb8b930e3edad50e276f1b6b9f113e002320dd9485ac77c7e82eee82930b97070b74996cc74c07b8463a2eb887eb6
+AUX 1.0/xorg.conf.rogentos 2194 SHA256 f303a9f2ad64b71c5707548437fed3f556cb25617624891c8b71899988a7d22d SHA512 c90f10395a35d45a422ada932fcfcba8acd3ed6d41560fde57790ed4fe2c471a356abe2ba0e074a6c3ff9a8a4fd452663370f0b583474ff863c112522ef8b4c1 WHIRLPOOL 4cc46973f49a894e11b4ebfa7bc89d7c3875e09897cde2d829142ee0531efd68514c35ed32056845eff5f907285c013bd1c120c3ac236b0a912e7b59a8f7643b
+AUX 2/bashlogin 116 SHA256 9385b60eb67e44d36e7806968df3af7dadd57e7e2a392ba4e3b588e51e8fc29d SHA512 c37c20a53896da635a2bf7888e2e0d88f712c1f8cc683dc37cf6f33ba98e0f08d2635eb2448f89376d9699a28e6b63550b0638761b68423291fad913064aa488 WHIRLPOOL 43ac0a64e87f6edd58ec06595986f540b9edbc204eecdf895951b31eb3bc297fdef4c873e5df5cc064311ce166bb49e0776fdc3879cf65e69897c477d78e7cf2
+AUX 2/cdeject 142 SHA256 680d0b8526e098871e44e32afbc91b1296e9eddef38663f1246ee855e906002f SHA512 1b4364c12ae5ecb57d2881d714d293a51705b4ff323d9e6825a78968f108cb72978ff64f3aa30f9575bd96e86f8c09c71d9a6c68aad370d1996c719e5d486930 WHIRLPOOL 5ca2b9d190b56433d1898de158b411e2179c1aa2c5edd9725122f372ab0e5b8ac7428b7d641e91b257bf03f2d75a09ca9171eca185e4d56225b30fec1365b091
+AUX 2/cdeject.service 240 SHA256 acb5048e5f6430f494f05504395ebebb176eb0621b672995aa5ae84035010393 SHA512 aceacdce5d923185778007e3e777ebb2be95d460771867d755e13b4339cc973fb68f92c6850637da661bc3107691a1152eba879de106fefa845fcc21b9ffe00f WHIRLPOOL b7cdcd2bf679491ea69aab440b74a5c4162993911571454014de0d6cb54c7dff251247fab03d1d6af23301a430f067d4452a07894ebf76199ca198115988d78b
+AUX 2/cdeject.sh 346 SHA256 1d82065045424902b0aef0bfa893596427f38c72cee3028e053bcd3349df052f SHA512 12c8acad2fc0ba6c9230e96859106575e510592d15fa87da1bfbeaa1cb61effb7ce4d52bc071b0837c5721138eb90c349efd40fd2ec14995a916974fac0b7664 WHIRLPOOL a522c656d50220255eaf49769be51847b154fda555c6a40770b858d0c0f934fb8f004dfb0e30ec6588ee8960cfb89408c6f382d7532bcb5cd4e0e30f02342615
+AUX 2/installer-gui 261 SHA256 5c9b60263a21dae052ed823500f1f053dd39d86e1eaf7b365cc9821e8b14608e SHA512 ba5880a5226c3cc5571cb42848fc23656e8fdcd77e84db420e7bd7d54e006e28d9ca3af6206732a6b3be165f6da0d7ce9cd7afb2aeb9215fd5d37374692d655c WHIRLPOOL cf2d260bd58d116dd793b52d1961d389605ebe0b8e4bca5291a91e87d518691e2272e1e4cd11b2d215ce205e29f42173cbd8d2e2c82489f5ac8eda2ba34203fb
+AUX 2/installer-gui.service 223 SHA256 8f71003e4894c3e1c8c235468c3f041397e3abaaa986f9579f3f395bb01cfde8 SHA512 9f7d84ddb98affba2b733da2cf9b8172d962dfe500791d93dcc25b284e31e7b76ac286535ba29c215a2e413e8fe8e3764a8ce92af97810d69f5c8e1e4a6a7d6e WHIRLPOOL ff2eb5b7a99e004f683b77367309814bf6e76a7cd7837c4d5171054c29998d2d5fdafdd614fa040870d9857a452332f10d9be4b897e2e8b15d086e08edb3f25a
+AUX 2/installer-gui.sh 136 SHA256 0007224537e1f41031b177917030626a895da0a9d7947649f6b2c7222b9b58c6 SHA512 8a44cca7870db754bded3bcfd0e947d77b7fd50af02ed559f4da93d644cb8daa9aaf2c23ef1f47377d5f35b2ce5869ec8fa7bbe93541ccbde4c2f707ccdc1232 WHIRLPOOL 74e01bb19bff13bd37809cf8d6917874d70cf1488e3c56fb8da0de21687eb318a4bd240b6b1b532d587d0b108072720b31901d91103b07351a0a4b9ea93ca979
+AUX 2/installer-text 239 SHA256 1b06f2a58317ae88349f2437f49a961ff8b98542f0bd8fe9ef1bb40e76fe2f1c SHA512 4b804bfc5ee7978b85b37c0128d7a534236c08c62f19f52842143eb15b1ab83d0826c4a5951549580359cb53b60efc156eda43d89a15e9fcc06fe19f23b0ab50 WHIRLPOOL 29e1dac6c7e430f266fc226a178e5d6c3e803c79dd036d05dd6df2e9eb56f9296e18c2fb37808715dcfd092f5bc5792431151cebbec7f88d453754179116d6a8
+AUX 2/installer-text.service 199 SHA256 099d53635338c99a7c6c1596125517e3b8a21696a320b01814659e6b07f0858b SHA512 5acac7e4632998e2aeccba0504231efc30c4e45dd09e36080cae5644d204a24091e440b1d149a9e0da596f0a91484126b0dea583c2c858cc669e1c2d4d1879fb WHIRLPOOL 3a97c7cfba0b497376e303806ab04f6c0ed6ac7195f958a011d7c975f6250e8800be65a21fe9ca8e2dfd817affe3eaeb11ee4f7a5278d9325c7f3572fe2399ff
+AUX 2/installer-text.sh 112 SHA256 d070ad9ac9029804eab3964311004a46a28c4b6b8e228923ee24de211e3ddc77 SHA512 d2fa1e856bcf42c7337137231c57aea64a4e3721c3ea72bf4d385749acaf075ba82fba5aea2a1e2f4a92bb20c8c0cc69942f83b3f5d649dbdd1a705ff6243d37 WHIRLPOOL 8737b11b6d54ec891c52bcbbc047ee0007726926524c206bdc2354320d0b97fe007ddc383585266759c610f333d7e831340b731e77fc200238b9bfd093810256
+AUX 2/livecd-functions.sh 17462 SHA256 27b8d53bd2727807e846446842e2f669e21c9169b894b3cdfb2a38ac27cc54f0 SHA512 64e3753e355cf7f9daf2b8b97436d1bad6ed493d7c948e40aadb2733632e124ccabfa41572587bc9c09a62b56cf19f07bc683c1c8bbf20c680b7da38f82855c6 WHIRLPOOL 5e94b1da4ef19fe126a7a5d6e05f9c1ea3a98e4925c34402fc359d0df6c547c9103868ab612fe2262d11bec209a39af75d41e80e441d2c52c81306a0eefa470c
+AUX 2/livespawn 193 SHA256 256c51d66e8bcaa82e9a52ebf70fe947000dc43c2d9df0c73d045f624e615cbe SHA512 9e4d2f929c473560f47e86721be6bc65336a2adcc83a034ae945b1c5e2db21a215042b4d31a9b6b1865d40a12c92aa349df37149a4a48ec6c47680d584a65c3e WHIRLPOOL 291de20dab535565287f1b712f3be01cd67e262df71dde74d33f45fbc25a74116f372c09ad73cef1f94be8fd80dd4486d59ca41d3b5eb364dfd05f8e361de63b
+AUX 2/logscript.sh 3556 SHA256 4d122503b5e31d387668d754662cc546a86f9fc2c1493beda73c6110e24061b6 SHA512 9dbb81daafdf085bb36b5c8b5991868ddf1951080dd56217b8ffaeebaed94ff4072136de2d0e0b42fde35daf0845fa541b0b7090830a5e69f94a5f36b988b206 WHIRLPOOL e6c871f46089acb3070fa4194c98a38a0c6ad314e083bdcde795aeecb0f5b58b8ac05a56500fd23bf21da07744690692375118815ec2dc95f2f42160cec5e9af
+AUX 2/net-setup 1529 SHA256 41f5fdf35752837e69e958b7082339146c2c8e2e3470add2cd2eab4092d50d9a SHA512 22e394897b1bcfdb8ec9fba841316a14b235f22e61571e5731928eb6751b44a44d7cb2cc24c60c5f88b5216902933ffeceeb5b87ae358a91cd1a3a6368bbff76 WHIRLPOOL 2b2f366e4a93ebe0abb16f984efb296fc6e92ba1cd9c07309b683787ce65ca5bef3572454e5e955aaaf2786366a385a9b500f0645ac9d896aca6f700429bfb01
+AUX 2/rogentos-functions.sh 7986 SHA256 ff791f88fd2df3d9eb1727d5e9517a212b7a41e7b8656f2280642ceb3f33213a SHA512 cf171c4eb0b8b6fe985756e4b829b4a2161d451041530407ad39e6eeb2b4de0e4741aa6f600ab49e408d9e2c366522d53d040c4c0d7fce3fce5a66bc27745e7a WHIRLPOOL af4a143b7e393fbd32092716121f782f7b6eeb3eb7ba505fb410b76524af7258ea9ea759f243225a662a87b92d0bfcbafa5e739fc132b55baf4e92bdc8f82cdd
+AUX 2/rogentos-live-check 1051 SHA256 bdcaf1d3824bcb3ad9011ef751483516fcbee5f78e3e80060ca32e6f17c89e5d SHA512 c2394e52d2bd0b3b5a3716c7b0d2abfa379a45d1e65c7d9b213c2c7915c7bd83f01544330dbfae416fadd6d66cc220b36f29bf19680f6473dad9dd4e80877cb4 WHIRLPOOL d497b666f46ab85037839d6624ad841efe9eb9afb201e21406d260d23a90dd80cfb1f8b0555279f2acf4b210b1bb273ff8672fc94e86778b29cc57fd6ef2463f
+AUX 2/rogentos-welcome-loader 293 SHA256 e48a5c25bbb2d40f1ab5716afaef4e24ee78eb7551deeb49f84d64dee65de7f4 SHA512 831b9fc9c883f7608fe7f11c611be4f23adf05b2d02ade8571dc6fcee851c682fa743499124a1f8efb4a7b2d0b7792b753a9adccc08dc746ed308f5ed50b7ebc WHIRLPOOL 788f8a25dd6f3f4c2bee6889296878a67d3e9e33c27008f27883874f7d55397cf6b56de4faa150eaabbde8593b8b5345341d998c82a8e3ac4cba5a40bfd7e938
+AUX 2/rogentos-welcome-loader.desktop 164 SHA256 9eacbce2aea378cad43daf2daf438df142b22c3f2887f9924d144ba182d45991 SHA512 4435663429aef3f03905c88e075f1123e3dbd90f6d33de8d4d66a6d5eaf1c061ed96f89691e853c5474f28aa5a8b5ec7e05601433b6a8c9732154ad7df140f53 WHIRLPOOL b010d529dadc7c77b39cdc8b33c7c7d59f3f2dfeac4322ea5117232710ab10d44d4e6651de8245772c49a1b1c5d1f1beb34df27567eae61a5d1aac6363832f4f
+AUX 2/rogentoslive 243 SHA256 a0ed9791744a6095bd2dc7949c0bafaeec311061f8e1d009fec9db8828bc6321 SHA512 52e7cb876d1cf94a4a9ce72e3669580352d24772c49d8b6e0148f734522aea9ba8272357c4d731f2e00eea52013ee5cc4b8af2cd29e4eaa7c8286f2f67e1247f WHIRLPOOL cf80c21092636b0d7b9f814a7be160e534cd3052eda2330e97366c8267fe260cc549699ef209c3344f4efe3bbff8748a9a8e78d44ce7883ad1a034cd811b86a7
+AUX 2/rogentoslive.service 211 SHA256 9ef54dd32b349dd6e4b1044c0a763aa8ddf11026ff5b4b94cf814345af15ec2d SHA512 504184fc5a74f8e43d4b7056c32287c2a44115dd7cc1316be59c924ddbbab7e4f8e549cf7fdd50634b68ee8ecfe1b2fea5343ca96f51247f8f0e105a6ac5b4f1 WHIRLPOOL 1f5c1bb91cc6a4e47b0c726b17198fa7dc5dcb2add550bfba7d1aa158abd7c9a406398d128441eefee0736ede090abdb5a92c728ca8a2f08b07e4131490c91c4
+AUX 2/rogentoslive.sh 5515 SHA256 c2009b1628e47434becbec2945e84c76f917397397e376bbf5936404c08ef70d SHA512 19cceb09bac5b7864308707aafd059f8104625d661afa66b990c0f58ff26c0e381197d80ce31fd070eda3cca4934efb696f851ca8086fb83119351c767a0af05 WHIRLPOOL a7f5cc0c51a796c3ccad26332a4094cb55dcf86f493cdc54542aad7a96717e70d119ecf99513bd1d9842a7b211c97c4707b058353aff57550986b265205b5f79
+AUX 2/sabutil 20355 SHA256 d33607d498088fddc7272a7be598514bc598563fb4482bde014821939f5a1887 SHA512 013739d2726f7a3c0f85bfdda494d83d01a06234695dabafe4c7e8e892b4d282b9148be4a5b7ce3cf3805b52fa424102422a0fb33faae7993d68a32e34a3a8f3 WHIRLPOOL 7ac0c36cb4b5ea10eb27adbf5176042d9eca8b38ab2c999da97654b090f00e6e020f2658495b5c60195ae48eaccb76e7bfbb6ec9cc2ec775061480cbfda54a72
+AUX 2/vga-cmd-parser 1382 SHA256 9b4faeac836b52a0a6550a48babeed40c00ea2cad7674bb1ad037c04791a7ebc SHA512 ce00d59bdd5eb53c870df920bebe4a2925f711751a9fe95cd901089472097c9808bdf321ab6d1a0cc2e0cc3582a9180d3d7d3a1f86f881137f41bdd6fc0ae02e WHIRLPOOL b5f2587adf15f1151c51839e970edfd219fb82d3cbbd1c14410bb4ba6521fc08b6cefaaa44f80cba66a2ac310c650a95b8dcfc484c0bbd15271f3147038f36c4
+AUX 2/x-setup-configuration 1717 SHA256 292cdcd86d1fe3e1b47096139ad5f0a5f085de3478f047ae5c0f276e2b1152da SHA512 96643da3683d8fc7d50486f87ad6f82c01d694741b51d72da4ea8f4b31b210706b4990746cde280cb5a05fc3e8b2f0a2687db19205a8e3ffe7fd890296fa7b36 WHIRLPOOL bca657f0f936c44892fef83fab84f919381112e486b5d4b720f3f0f99b532dc1562553cf8cd6eed0db15208746d115127c9e8bc8b49d05d5d68d46a22ab7ddd5
+AUX 2/x-setup-init.d 547 SHA256 a170da2c5f8b5608bb9a18d201cf1bedf65c9961232bb04efb0aa46fa9fb1513 SHA512 ab4bccf657f49de516aa23cd3001f2fefeee77141e81dc54eaa7fc36f9075776c84ea8bae85c208f23646ddde887fe05fabbf5cd00099d1d1914481f141cd3fb WHIRLPOOL 83b8ce706316f711940a4fd16842e1d6d0f670752aabaf09dab1ba5f0247e27f9202be7584355e75a56dc29706c6bfadb25b14c2ae4cda258f5fe3ddccd55d47
+AUX 2/x-setup.service 279 SHA256 0bbb45092660c514fda350d81eabbf549dddf888b27cd3c57d0a972cca6f6f92 SHA512 14dbf061e64afd1730b73fbfd5dff0dce3d864375a4e2150f78cfe7f6677b6f878f50c1bc85b69ce837d36fe580db3f05e678f04ee48ce76b93cc1871e3581f6 WHIRLPOOL 218b52661c0eaf945f88d6489164349284f3cbc3a3313bf141249f4566c3b87370fb460e5933afb5479f7dd6480da4ff7fc828c443f425eac099e9324927b42f
+AUX 2/x-setup.sh 1507 SHA256 6b7ff801e183d49a44bfdbb682f094d5d4ef65904afc22ecc192c40aa8a98913 SHA512 db8362e947ddb485b1a2e3b4ae1b4e122a5894992a3380f89488a1f8160d809916aad690e36c00624ae8c5c4e56ce2899871f9aa771d4f1d52c488a39cd05b58 WHIRLPOOL de2fc6f0147d81cd847f299342912342d4cec87118fbc99e790d31ef1e337ed76b8d28c612bd90f5260d8e776203674a07fe030520b0e9ba57201a9cc8f5f976
+EBUILD rogentoslive-tools-1.0-r1.ebuild 2136 SHA256 fda7dd4907a8354dde4fb88a39bac992137be4408d9a5c54f32c9d05fb4db0f7 SHA512 c9d79a18eefd4373324595ee6cb61a82d094a411b8928c56ec9b1f8ff06e9165a0e871d9454657fbd081d7a395cea591b1e58a9f7bf386e7644570e7dd23f706 WHIRLPOOL f466122940a523a63103d7933c035e9c3b3d40b107721118fcefba7d0efc0b316a0f39890e0beb556d4aa7414efdfcb9676765d9b4b70ae7e4b2c30cb3a4f1fd
+EBUILD rogentoslive-tools-2.ebuild 1662 SHA256 e5b7b22e5f1588be925f9d373c67ebe656ab8a4abb2fdad2e0c4fa8b5f585f9d SHA512 417ae22eb337aaeef1dc8f4db942eeb55e973b34b8201de6ef6fe436faee46d3a3e3cf0d4eeee9b33c8eeb48a1366be8f32180bf741ba8d143168d09a5e40995 WHIRLPOOL 64c4574d160eeb360d47072d1b84578fea4d66c41e1af0aaac33d85174a08957755d0cad36b4d6a10b68d0bc912746ffe7c6efba51fe4c6ac863b7919c1bc204
diff --git a/app-misc/rogentoslive-tools/files/1.0/bashlogin b/app-misc/rogentoslive-tools/files/1.0/bashlogin
new file mode 100755
index 00000000..34689189
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/bashlogin
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+cat /etc/motd 2>/dev/null
+cd /root
+[[ -e .bash_profile ]] && source .bash_profile
+exec -l /bin/bash -i
diff --git a/app-misc/rogentoslive-tools/files/1.0/cdeject b/app-misc/rogentoslive-tools/files/1.0/cdeject
new file mode 100644
index 00000000..6d56f043
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/cdeject
@@ -0,0 +1,23 @@
+#!/sbin/runscript
+# Copyright (c) 2010 Fabio Erculiani <lxnay@sabayon.org>
+# All rights reserved. Released under the 2-clause BSD license.
+
+description="Eject LiveCD/DVD at live system shutdown/reboot"
+
+depend()
+{
+ after *
+}
+
+start()
+{
+ is_live=$(cat /proc/cmdline | grep cdroot)
+ if [ -n "${is_live}" ]; then
+ cdrom_dev=$(cat /proc/mounts | grep " /mnt/cdrom " | cut -d" " -f 1)
+ # check if /mnt/cdrom device is a cdrom device
+ if [ "${cdrom_dev}" = /dev/sr* ] || [ "${cdrom_dev}" = /dev/cdrom* ]; then
+ eject -mp "${cdrom_dev}" &> /dev/null
+ fi
+ fi
+ eend 0
+}
diff --git a/app-misc/rogentoslive-tools/files/1.0/installer-gui b/app-misc/rogentoslive-tools/files/1.0/installer-gui
new file mode 100755
index 00000000..d8fd3dc0
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/installer-gui
@@ -0,0 +1,26 @@
+#!/sbin/runscript
+# Copyright 2006 Sabayon Linux
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ before xdm
+ after rogentos
+ need dbus
+}
+
+start() {
+
+ source /sbin/rogentos-functions.sh
+
+ if sabayon_is_gui_install; then
+ ebegin "Rogentos Linux GUI Installer service"
+ # Enable autologin
+ sabayon_setup_autologin
+ # Setup GUI installer
+ sabayon_setup_gui_installer
+ eend 0
+ fi
+
+ return 0
+
+}
diff --git a/app-misc/rogentoslive-tools/files/1.0/installer-text b/app-misc/rogentoslive-tools/files/1.0/installer-text
new file mode 100755
index 00000000..ce431e53
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/installer-text
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 2006 Sabayon Linux
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after *
+}
+
+start() {
+
+ source /sbin/rogentos-functions.sh
+
+ if sabayon_is_text_install; then
+ ebegin "Rogentos Linux Text Installer service"
+ eend 0
+ sabayon_setup_text_installer
+ fi
+
+
+
+}
diff --git a/app-misc/rogentoslive-tools/files/1.0/livecd-functions.sh b/app-misc/rogentoslive-tools/files/1.0/livecd-functions.sh
new file mode 100755
index 00000000..b65a5f80
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/livecd-functions.sh
@@ -0,0 +1,634 @@
+#!/bin/bash
+
+# Global Variables:
+# CDBOOT -- is booting off CD
+# LIVECD_CONSOLE -- console that is specified on commandline
+# -- (ttyS0, etc) Only defined if passed to kernel
+# LIVECD_CONSOLE_BAUD -- console baudrate specified
+# LIVECD_CONSOLE_PARITY -- console parity specified
+# LIVECD_CONSOLE_DATABITS -- console databits specified
+
+[[ ${RC_GOT_FUNCTIONS} != "yes" ]] && \
+ [[ -e /etc/init.d/functions.sh ]] && \
+ source /etc/init.d/functions.sh
+
+# emulating einfo since it's not always available from functions.sh
+# FIXME: fix functions.sh
+einfo() {
+ [[ -x "/lib/rc/bin/einfo" ]] && /lib/rc/bin/einfo "${1}"\
+ || echo "* ${1}"
+}
+
+livecd_parse_opt() {
+ case "$1" in
+ *\=*)
+ echo "$1" | cut -f2 -d=
+ ;;
+ esac
+}
+
+livecd_check_root() {
+ if [ "$(whoami)" != "root" ]
+ then
+ echo "ERROR: must be root to continue"
+ return 1
+ fi
+}
+
+livecd_get_cmdline() {
+ echo "0" > /proc/sys/kernel/printk
+ CMDLINE=$(cat /proc/cmdline)
+ export CMDLINE
+}
+
+no_gl() {
+# einfo "If you have a card that you know is supported by either the ATI or"
+# einfo "NVIDIA binary drivers, please file a bug with the output of lspci"
+# einfo "on http://bugs.gentoo.org so we can resolve this."
+ GLTYPE=xorg-x11
+}
+
+ati_gl() {
+ einfo "ATI card detected."
+ if [ -e /usr/lib/xorg/modules/drivers/fglrx_drv.so ] \
+ || [ -e /usr/lib/modules/drivers/fglrx_drv.so ]
+ then
+ GLTYPE=ati
+ else
+ GLTYPE=xorg-x11
+ fi
+}
+
+nv_gl() {
+ einfo "NVIDIA card detected."
+ if [ -e /usr/lib/xorg/modules/drivers/nvidia_drv.so ] \
+ || [ -e /usr/lib/modules/drivers/nvidia_drv.so ]
+ then
+ GLTYPE=nvidia
+ else
+ GLTYPE=xorg-x11
+ fi
+}
+
+nv_no_gl() {
+ einfo "NVIDIA card detected."
+ echo
+ if [ -e /usr/lib/xorg/modules/drivers/nvidia_drv.so ] \
+ || [ -e /usr/lib/modules/drivers/nvidia_drv.so ]
+ then
+ einfo "This card is not supported by the latest version of the NVIDIA"
+ einfo "binary drivers. Switching to the X server's driver instead."
+ fi
+ GLTYPE=xorg-x11
+ sed -i 's/nvidia/nv/' /etc/X11/xorg.conf
+}
+
+get_video_cards() {
+ [ -x /sbin/lspci ] && VIDEO_CARDS="$(/sbin/lspci | grep ' VGA ')"
+ [ -x /usr/sbin/lspci ] && VIDEO_CARDS="$(/usr/sbin/lspci | grep ' VGA ')"
+ #NUM_CARDS="$(echo ${VIDEO_CARDS} | wc -l)"
+ #if [ ${NUM_CARDS} -eq 1 ] # Disabled to support NVIDIA SLI devices
+ #then
+ NVIDIA=$(echo ${VIDEO_CARDS} | grep -i "nVidia Corporation")
+ ATI=$(echo ${VIDEO_CARDS} | grep -i "ATI Technologies")
+ if [ -n "${NVIDIA}" ]
+ then
+ # Always set NVIDIA OpenGL, since it's stupid doing the contrary because:
+ # there's no X.Org free driver that supports OpenGL through MESA
+ nv_gl
+ elif [ -n "${ATI}" ]
+ then
+ ATI_CARD=$(echo ${ATI} | awk 'BEGIN {RS=" "} /(R|RV|RS|M)[0-9]+/ {print $1}')
+ if [ $(echo ${ATI_CARD} | grep S) ]
+ then
+ ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dS -f2)
+ elif [ $(echo ${ATI_CARD} | grep V) ]
+ then
+ ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dV -f2)
+ elif [ $(echo ${ATI_CARD} | grep M) ]
+ then
+ # ATI Technologies Inc. M52 [ ATI Mobility Radeon X1300 ]
+ ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dM -f2)
+ else
+ ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dR -f2)
+ fi
+
+ if [ -n "${ATI_CARD_OUT}" ] && [ ${ATI_CARD_OUT} -ge 300 ]
+ then
+ ati_gl
+ elif [ -n "${ATI_CARD_OUT}" ] && [ -n "`echo ${ATI_CARD} | grep M`" ]
+ then
+ # this is an ATI Mxx card
+ ati_gl
+ # >8.29.6 does not support R200 anymore
+ elif [ -n "${ATI_CARD_OUT}" ] && [ ${ATI_CARD_OUT} -ge 200 ]
+ then
+ no_gl
+ else
+ # set ATI OpenGL anyway
+ ati_gl
+ fi
+ else
+ no_gl
+ fi
+ #fi
+}
+
+livecd_config_wireless() {
+ cd /tmp/setup.opts
+ [ -x /usr/sbin/iwconfig ] && iwconfig=/usr/sbin/iwconfig
+ [ -x /sbin/iwconfig ] && iwconfig=/sbin/iwconfig
+ dialog --title "SSID" --inputbox "Please enter your SSID, or leave blank for selecting the nearest open network" 20 50 2> ${iface}.SSID
+ SSID=$(tail -n 1 ${iface}.SSID)
+ if [ -n "${SSID}" ]
+ then
+ dialog --title "WEP (Part 1)" --menu "Does your network use encryption?" 20 60 7 1 "Yes" 2 "No" 2> ${iface}.WEP
+ WEP=$(tail -n 1 ${iface}.WEP)
+ case ${WEP} in
+ 1)
+ dialog --title "WEP (Part 2)" --menu "Are you entering your WEP key in HEX or ASCII?" 20 60 7 1 "HEX" 2 "ASCII" 2> ${iface}.WEPTYPE
+ WEP_TYPE=$(tail -n 1 ${iface}.WEPTYPE)
+ case ${WEP_TYPE} in
+ 1)
+ dialog --title "WEP (Part 3)" --inputbox "Please enter your WEP key in the form of XXXX-XXXX-XX for 64-bit or XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XX for 128-bit" 20 50 2> ${iface}.WEPKEY
+ WEP_KEY=$(tail -n 1 ${iface}.WEPKEY)
+ if [ -n "${WEP_KEY}" ]
+ then
+ ${iwconfig} ${iface} essid "${SSID}"
+ ${iwconfig} ${iface} key "${WEP_KEY}"
+ fi
+ ;;
+ 2)
+ dialog --title "WEP (Part 3)" --inputbox "Please enter your WEP key in ASCII form. This should be 5 or 13 characters for either 64-bit or 128-bit encryption, repectively" 20 50 2> ${iface}.WEPKEY
+ WEP_KEY=$(tail -n 1 ${iface}.WEPKEY)
+ if [ -n "${WEP_KEY}" ]
+ then
+ ${iwconfig} ${iface} essid "${SSID}"
+ ${iwconfig} ${iface} key "s:${WEP_KEY}"
+ fi
+ ;;
+ esac
+ ;;
+ 2)
+ ${iwconfig} ${iface} essid "${SSID}"
+ ${iwconfig} ${iface} key off
+ ;;
+ esac
+ fi
+}
+
+livecd_write_wireless_conf() {
+ cd /tmp/setup.opts
+ SSID=$(tail -n 1 ${iface}.SSID)
+ if [ -n "${SSID}" ]
+ then
+ echo "" >> /etc/conf.d/net
+ echo "# This wireless configuration file was built by net-setup" > /etc/conf.d/net
+ WEP=$(tail -n 1 ${iface}.WEPTYPE)
+ case ${WEP} in
+ 1)
+ WEP_TYPE=$(tail -n 1 ${iface}.WEPTYPE)
+ if [ -n "${WEP_TYPE}" ]
+ then
+ WEP_KEY=$(tail -n 1 ${iface}.WEPKEY)
+ if [ -n "${WEP_KEY}" ]
+ then
+ SSID_TRANS=$(echo ${SSID//[![:word:]]/_})
+ case ${WEP_TYPE} in
+ 1)
+ echo "key_${SSID_TRANS}=\"${WEP_KEY} enc open\"" >> /etc/conf.d/net
+ ;;
+ 2)
+ echo "key_${SSID_TRANS}=\"s:${WEP_KEY} enc open\"" >> /etc/conf.d/net
+ ;;
+ esac
+ fi
+ fi
+ ;;
+ 2)
+ :
+ ;;
+ esac
+ echo "preferred_aps=( \"${SSID}\" )" >> /etc/conf.d/net
+ echo "associate_order=\"forcepreferredonly\"" >> /etc/conf.d/net
+ fi
+}
+
+livecd_config_ip() {
+ cd /tmp/setup.opts
+ dialog --title "TCP/IP setup" --menu "You can use DHCP to automatically configure a network interface or you can specify an IP and related settings manually. Choose one option:" 20 60 7 1 "Use DHCP to auto-detect my network settings" 2 "Specify an IP address manually" 2> ${iface}.DHCP
+ DHCP=$(tail -n 1 ${iface}.DHCP)
+ case ${DHCP} in
+ 1)
+ /sbin/dhclient -q -r -nw ${iface} &
+ ;;
+ 2)
+ dialog --title "IP address" --inputbox "Please enter an IP address for ${iface}:" 20 50 "192.168.1.1" 2> ${iface}.IP
+ IP=$(tail -n 1 ${iface}.IP)
+ BC_TEMP=$(echo $IP|cut -d . -f 1).$(echo $IP|cut -d . -f 2).$(echo $IP|cut -d . -f 3).255
+ dialog --title "Broadcast address" --inputbox "Please enter a Broadcast address for ${iface}:" 20 50 "${BC_TEMP}" 2> ${iface}.BC
+ BROADCAST=$(tail -n 1 ${iface}.BC)
+ dialog --title "Network mask" --inputbox "Please enter a Network Mask for ${iface}:" 20 50 "255.255.255.0" 2> ${iface}.NM
+ NETMASK=$(tail -n 1 ${iface}.NM)
+ dialog --title "Gateway" --inputbox "Please enter a Gateway for ${iface} (hit enter for none:)" 20 50 2> ${iface}.GW
+ GATEWAY=$(tail -n 1 ${iface}.GW)
+ dialog --title "DNS server" --inputbox "Please enter a name server to use (hit enter for none:)" 20 50 2> ${iface}.DNS
+ DNS=$(tail -n 1 ${iface}.DNS)
+ /sbin/ifconfig ${iface} ${IP} broadcast ${BROADCAST} netmask ${NETMASK}
+ if [ -n "${GATEWAY}" ]
+ then
+ /sbin/route add default gw ${GATEWAY} dev ${iface} netmask 0.0.0.0 metric 1
+ fi
+ if [ -n "${DNS}" ]
+ then
+ dialog --title "DNS Search Suffix" --inputbox "Please enter any domains which you would like to search on DNS queries (hit enter for none:)" 20 50 2> ${iface}.SUFFIX
+ SUFFIX=$(tail -n 1 ${iface}.SUFFIX)
+ echo "nameserver ${DNS}" > /etc/resolv.conf
+ if [ -n "${SUFFIX}" ]
+ then
+ echo "search ${SUFFIX}" >> /etc/resolv.conf
+ fi
+ fi
+ ;;
+ esac
+}
+
+livecd_write_net_conf() {
+ cd /tmp/setup.opts
+ echo "# Rogentos Linux static network configuration tool" > /etc/conf.d/net
+ DHCP=$(tail -n 1 ${iface}.DHCP)
+ case ${DHCP} in
+ 1)
+ echo "config_${iface}=\"dhcp\"" >> /etc/conf.d/net
+ echo "dhcp_${iface}=\"nosendhost\"" >> /etc/conf.d/net
+ ;;
+ 2)
+ IP=$(tail -n 1 ${iface}.IP)
+ BROADCAST=$(tail -n 1 ${iface}.BC)
+ NETMASK=$(tail -n 1 ${iface}.NM)
+ GATEWAY=$(tail -n 1 ${iface}.GW)
+ DNS="$(tail -n 1 ${iface}.DNS)"
+ DOMAIN="$(tail -n 1 ${iface}.SUFFIX)"
+ if [ -n "${IP}" -a -n "${BROADCAST}" -a -n "${NETMASK}" ]
+ then
+ echo "config_${iface}=\"${IP} netmask ${NETMASK} broadcast ${BROADCAST}\"" >> /etc/conf.d/net
+ if [ -n "${GATEWAY}" ]
+ then
+ echo "routes_${iface}=\"default via ${GATEWAY}\"" >> /etc/conf.d/net
+ fi
+ if [ -n "${DNS}" ]
+ then
+ echo "dns_servers_${iface}=\"${DNS}\"" >> /etc/conf.d/net
+ fi
+ if [ -n "${DOMAIN}" ]
+ then
+ echo "dns_search_${iface}=\"${DOMAIN}\"" >> /etc/conf.d/net
+ fi
+ fi
+ ;;
+ esac
+}
+
+get_ifmac() {
+ local iface=$1
+
+ # Example: 00:01:6f:e1:7a:06
+ cat /sys/class/net/${iface}/address
+}
+
+
+get_ifdriver() {
+ local iface=$1
+
+ # Example: ../../../bus/pci/drivers/forcedeth (wanted: forcedeth)
+ local if_driver=$(readlink /sys/class/net/${iface}/device/driver)
+ basename ${if_driver}
+}
+
+get_ifbus() {
+ local iface=$1
+
+ # Example: ../../../bus/pci (wanted: pci)
+ # Example: ../../../../bus/pci (wanted: pci)
+ # Example: ../../../../../../bus/usb (wanted: usb)
+ local if_bus=$(readlink /sys/class/net/${iface}/device/bus)
+ basename ${if_bus}
+}
+
+livecd_rev_string() {
+ # /usr might not be mounted
+ local copy=${1}
+ len=${#copy}
+ for((i=$len-1;i>=0;i--)); do rev="$rev${copy:$i:1}"; done
+ echo ${rev}
+}
+
+get_ifproduct() {
+ local iface=$1
+ local bus=$(get_ifbus ${iface})
+ local if_pciaddr
+ local if_devname
+ local if_usbpath
+ local if_usbmanufacturer
+ local if_usbproduct
+
+ if [[ ${bus} == "pci" ]]
+ then
+ # Example: ../../../devices/pci0000:00/0000:00:0a.0 (wanted: 0000:00:0a.0)
+ # Example: ../../../devices/pci0000:00/0000:00:09.0/0000:01:07.0 (wanted: 0000:01:07.0)
+ if_pciaddr=$(readlink /sys/class/net/${iface}/device)
+ if_pciaddr=$(basename ${if_pciaddr})
+
+ # Example: 00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3)
+ # (wanted: nVidia Corporation CK804 Ethernet Controller)
+ if_devname=$(lspci -s ${if_pciaddr})
+ if_devname=${if_devname#*: }
+ if_devname=${if_devname%(rev *)}
+ fi
+
+ if [[ ${bus} == "usb" ]]
+ then
+ if_usbpath=$(readlink /sys/class/net/${iface}/device)
+ if_usbpath=/sys/class/net/${iface}/$(dirname ${if_usbpath})
+ if_usbmanufacturer=$(< ${if_usbpath}/manufacturer)
+ if_usbproduct=$(< ${if_usbpath}/product)
+
+ [[ -n ${if_usbmanufacturer} ]] && if_devname="${if_usbmanufacturer} "
+ [[ -n ${if_usbproduct} ]] && if_devname="${if_devname}${if_usbproduct}"
+ fi
+
+ if [[ ${bus} == "ieee1394" ]]
+ then
+ if_devname="IEEE1394 (FireWire) Network Adapter";
+ fi
+
+ echo ${if_devname}
+}
+
+get_ifdesc() {
+ local iface=$1
+ desc=$(get_ifproduct ${iface})
+ if [[ -n ${desc} ]]
+ then
+ echo $desc
+ return;
+ fi
+
+ desc=$(get_ifdriver ${iface})
+ if [[ -n ${desc} ]]
+ then
+ echo $desc
+ return;
+ fi
+
+ desc=$(get_ifmac ${iface})
+ if [[ -n ${desc} ]]
+ then
+ echo $desc
+ return;
+ fi
+
+ echo "Unknown"
+}
+
+show_ifmenu() {
+ local old_ifs="${IFS}"
+ local opts
+ IFS=""
+ for ifname in $(/sbin/ifconfig -a | grep "^[^ ]"); do
+ ifname="${ifname%% *}"
+ [[ ${ifname} == "lo" ]] && continue
+ opts="${opts} '${ifname}' '$(get_ifdesc ${ifname})'"
+ done
+ IFS="${old_ifs}"
+
+ eval dialog --menu \"Please select the interface that you wish to configure from the list below:\" 0 0 0 $opts 2>iface
+ [[ "$?" == "1" ]] && exit
+
+ iface=$(< iface)
+}
+
+show_ifconfirm() {
+ local iface=$1
+ local if_mac=$(get_ifmac ${iface})
+ local if_driver=$(get_ifdriver ${iface})
+ local if_bus=$(get_ifbus ${iface})
+ local if_product=$(get_ifproduct ${iface})
+
+ local text="Details for network interface ${iface} are shown below.\n\nInterface name: ${iface}\n"
+ [[ -n ${if_product} ]] && text="${text}Device: ${if_product}\n"
+ [[ -n ${if_mac} ]] && text="${text}MAC address: ${if_mac}\n"
+ [[ -n ${if_driver} ]] && text="${text}Driver: ${if_driver}\n"
+ [[ -n ${if_bus} ]] && text="${text}Bus type: ${if_bus}\n"
+ text="${text}\nIs this the interface that you wish to configure?"
+
+ if ! dialog --title "Interface details" --yesno "${text}" 15 70
+ then
+ result="no"
+ else
+ result="yes"
+ fi
+}
+
+livecd_console_settings() {
+ # scan for a valid baud rate
+ case "$1" in
+ 300*)
+ LIVECD_CONSOLE_BAUD=300
+ ;;
+ 600*)
+ LIVECD_CONSOLE_BAUD=600
+ ;;
+ 1200*)
+ LIVECD_CONSOLE_BAUD=1200
+ ;;
+ 2400*)
+ LIVECD_CONSOLE_BAUD=2400
+ ;;
+ 4800*)
+ LIVECD_CONSOLE_BAUD=4800
+ ;;
+ 9600*)
+ LIVECD_CONSOLE_BAUD=9600
+ ;;
+ 14400*)
+ LIVECD_CONSOLE_BAUD=14400
+ ;;
+ 19200*)
+ LIVECD_CONSOLE_BAUD=19200
+ ;;
+ 28800*)
+ LIVECD_CONSOLE_BAUD=28800
+ ;;
+ 38400*)
+ LIVECD_CONSOLE_BAUD=38400
+ ;;
+ 57600*)
+ LIVECD_CONSOLE_BAUD=57600
+ ;;
+ 115200*)
+ LIVECD_CONSOLE_BAUD=115200
+ ;;
+ esac
+ if [ "${LIVECD_CONSOLE_BAUD}" = "" ]
+ then
+ # If it's a virtual console, set baud to 38400, if it's a serial
+ # console, set it to 9600 (by default anyhow)
+ case ${LIVECD_CONSOLE} in
+ tty[0-9])
+ LIVECD_CONSOLE_BAUD=38400
+ ;;
+ *)
+ LIVECD_CONSOLE_BAUD=9600
+ ;;
+ esac
+ fi
+ export LIVECD_CONSOLE_BAUD
+
+ # scan for a valid parity
+ # If the second to last byte is a [n,e,o] set parity
+ local parity
+ parity=$(livecd_rev_string $1 | cut -b 2-2)
+ case "$parity" in
+ [neo])
+ LIVECD_CONSOLE_PARITY=$parity
+ ;;
+ esac
+ export LIVECD_CONSOLE_PARITY
+
+ # scan for databits
+ # Only set databits if second to last character is parity
+ if [ "${LIVECD_CONSOLE_PARITY}" != "" ]
+ then
+ LIVECD_CONSOLE_DATABITS=$(livecd_rev_string $1 | cut -b 1)
+ fi
+ export LIVECD_CONSOLE_DATABITS
+ return 0
+}
+
+livecd_read_commandline() {
+ livecd_get_cmdline || return 1
+
+ for x in ${CMDLINE}
+ do
+ case "${x}" in
+ cdroot)
+ CDBOOT="yes"
+ RC_NO_UMOUNTS="^(/|/dev|/dev/pts|/lib/rcscripts/init.d|/proc|/proc/.*|/sys|/mnt/livecd|/newroot)$"
+ export CDBOOT RC_NO_UMOUNTS
+ ;;
+ cdroot\=*)
+ CDBOOT="yes"
+ RC_NO_UMOUNTS="^(/|/dev|/dev/pts|/lib/rcscripts/init.d|/proc|/proc/.*|/sys|/mnt/livecd|/newroot)$"
+ export CDBOOT RC_NO_UMOUNTS
+ ;;
+ console\=*)
+ local live_console
+ live_console=$(livecd_parse_opt "${x}")
+
+ # Parse the console line. No options specified if
+ # no comma
+ LIVECD_CONSOLE=$(echo ${live_console} | cut -f1 -d,)
+ if [ "${LIVECD_CONSOLE}" = "" ]
+ then
+ # no options specified
+ LIVECD_CONSOLE=${live_console}
+ else
+ # there are options, we need to parse them
+ local livecd_console_opts
+ livecd_console_opts=$(echo ${live_console} | cut -f2 -d,)
+ livecd_console_settings ${livecd_console_opts}
+ fi
+ export LIVECD_CONSOLE
+ ;;
+ esac
+ done
+ return 0
+}
+
+livecd_fix_inittab() {
+ if [ "${CDBOOT}" = "" ]
+ then
+ return 1
+ fi
+
+ # Create a backup
+ cp -f /etc/inittab /etc/inittab.old
+
+ # Comment out current getty settings
+ sed -i -e '/^c[0-9]/ s/^/#/' /etc/inittab
+ sed -i -e '/^s[01]/ s/^/#/' /etc/inittab
+
+ # SPARC & HPPA console magic
+ if [ "${HOSTTYPE}" = "sparc" -o "${HOSTTYPE}" = "hppa" -o "${HOSTTYPE}" = "ppc64" ]
+ then
+ # Mount openprom tree for user debugging purposes
+ if [ "${HOSTTYPE}" = "sparc" ]
+ then
+ mount -t openpromfs none /proc/openprom
+ fi
+
+ # SPARC serial port A, HPPA mux / serial
+ if [ -c "/dev/ttyS0" ]
+ then
+ LIVECD_CONSOLE_BAUD=$(stty -F /dev/ttyS0 speed)
+ echo "s0:12345:respawn:/sbin/agetty -nl /bin/bashlogin ${LIVECD_CONSOLE_BAUD} ttyS0 vt100" >> /etc/inittab
+ fi
+ # HPPA software PDC console (K-models)
+ if [ "${LIVECD_CONSOLE}" = "ttyB0" ]
+ then
+ mknod /dev/ttyB0 c 11 0
+ LIVECD_CONSOLE_BAUD=$(stty -F /dev/ttyB0 speed)
+ echo "b0:12345:respawn:/sbin/agetty -nl /bin/bashlogin ${LIVECD_CONSOLE_BAUD} ttyB0 vt100" >> /etc/inittab
+ fi
+ # FB / STI console
+ if [ -c "/dev/vc/1" -o -c "/dev/tts/1" -o -c "/dev/tty2" ]
+ then
+ MODEL_NAME=$(cat /proc/cpuinfo |grep "model name"|sed 's/.*: //')
+ if [ "${MODEL_NAME}" = "UML" ]
+ then
+ for x in 0 1 2 3 4 5 6
+ do
+ echo "c${x}:12345:respawn:/sbin/mingetty --noclear --autologin root tty${x}" >> /etc/inittab
+ done
+ else
+ for x in 1 2 3 4 5 6
+ do
+ echo "c${x}:12345:respawn:/sbin/mingetty --noclear --autologin root tty${x}" >> /etc/inittab
+ done
+ fi
+ fi
+ if [ -c "/dev/hvc0" ]
+ then
+ einfo "Adding hvc console to inittab"
+ echo "s0:12345:respawn:/sbin/agetty -nl /bin/bashlogin 9600 hvc0 vt320" >> /etc/inittab
+ fi
+
+
+ # The rest...
+ else
+ for x in 1 2 3 4 5 6
+ do
+ echo "c${x}:12345:respawn:/sbin/agetty -nl /bin/bashlogin 38400 tty${x} linux" >> /etc/inittab
+ done
+ fi
+
+ # EFI-based machines should automatically hook up their console lines
+ if dmesg | grep -q '^Adding console on'
+ then
+ dmesg | grep '^Adding console on' | while read x; do
+ line=`echo "$x" | cut -d' ' -f4`
+ id=e`echo "$line" | grep -o '.\{1,3\}$'`
+ [ "${line}" = "${LIVECD_CONSOLE}" ] && continue # already setup above
+ case "$x" in
+ *options\ \'[0-9]*) speed=`echo "$x" | sed "s/.*options '//; s/[^0-9].*//"` ;;
+ *) speed=9600 ;; # choose a default, only matters if it is serial
+ esac
+ echo "$id:12345:respawn:/sbin/agetty -nl /bin/bashlogin ${speed} ${line} vt100" >> /etc/inittab
+ done
+ fi
+
+ # force reread of inittab
+ kill -HUP 1
+ return 0
+}
diff --git a/app-misc/rogentoslive-tools/files/1.0/livespawn b/app-misc/rogentoslive-tools/files/1.0/livespawn
new file mode 100644
index 00000000..44d7257e
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/livespawn
@@ -0,0 +1,10 @@
+#!/usr/bin/python
+import sys, os, subprocess
+args = sys.argv[1:]
+if not args: raise SystemExit(1)
+
+pid = os.fork()
+if pid == 0:
+ p = subprocess.Popen(args)
+ rc = p.wait()
+ raise SystemExit(rc)
diff --git a/app-misc/rogentoslive-tools/files/1.0/logscript.sh b/app-misc/rogentoslive-tools/files/1.0/logscript.sh
new file mode 100755
index 00000000..4fb06d6b
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/logscript.sh
@@ -0,0 +1,111 @@
+#!/bin/sh
+#requires the following
+# free, hostname, grep, cut, awk, uname
+
+HOSTNAME=`hostname -s`
+IP_ADDRS=`ifconfig | grep 'inet addr' | grep -v '255.0.0.0' | cut -f2 -d':' | awk '{print $1}'`
+IP_ADDRS=`echo $IP_ADDRS | sed 's/\n//g'`
+
+#memory
+MEMORY=`free | grep Mem | awk '{print $2}'`
+
+#cpu info
+CPUS=`cat /proc/cpuinfo | grep processor | wc -l | awk '{print $1}'`
+CPU_MHZ=`cat /proc/cpuinfo | grep MHz | tail -n1 | awk '{print $4}'`
+CPU_TYPE=`cat /proc/cpuinfo | grep vendor_id | tail -n 1 | awk '{print $3}'`
+CPU_TYPE2=`uname -m`
+CPU_TYPE3=`uname -p`
+
+OS_NAME=`uname -s`
+OS_OS=`uname -o`
+OS_KERNEL=`uname -r`
+OS_RELEASE=`cat /etc/rogentos-edition`
+OS_EDITION=`cat /etc/rogentos-edition`
+ESELECT_KERNEL=`eselect --no-color kernel list`
+ESELECT_OPENGL=`eselect --no-color opengl list`
+ESELECT_JAVA=`eselect --no-color java-vm list`
+ESELECT_JAVAP=`eselect --no-color java-nsplugin list`
+
+EQUO=`equo --version`
+PORTAGE=`emerge --version`
+
+UPTIME=`uptime`
+MEM=`free -t -m`
+SPACE=`df -TH`
+
+PCIINFO=`lspci | cut -f3 -d':'`
+#Another way to do it
+#PCIINFO=`lspci | cut -f3 -d':'`
+
+LSUSB=`lsusb`
+LSMOD=`lsmod`
+#print it out
+echo "$HOSTNAME"
+echo "--------------------------------------------------------------------"
+echo "Hostname : $HOSTNAME"
+echo "Host Address : $IP_ADDRS"
+echo "Main Memory : $MEMORY"
+echo "Number of CPUs : $CPUS"
+echo "CPU Type : $CPU_TYPE2 $CPU_TYPE3 $CPU_MHZ MHz"
+echo "OS Release : $OS_RELEASE"
+echo "OS Edition : $OS_EDITION"
+echo "Kernel Name : $OS_NAME $OS_OS"
+echo "Kernel Version : $OS_KERNEL"
+echo "Uptime : $UPTIME"
+echo "--------------------------------------------------------------------"
+echo
+echo "Entropy Version"
+echo "$EQUO"
+echo
+echo "Portage Version"
+echo "$PORTAGE"
+echo "--------------------------------------------------------------------"
+echo
+echo "Kernel List"
+echo "$ESELECT_KERNEL"
+echo "Your Kernel Should Be Set To:"
+echo "$OS_KERNEL"
+echo "Use eselect kernel set #"
+echo "--------------------------------------------------------------------"
+echo
+echo "OpenGL List"
+echo "$ESELECT_OPENGL"
+echo "The above should be set to your video card, see lspci"
+echo "Use eselect opengl set #"
+echo "--------------------------------------------------------------------"
+echo
+echo "Java VM List"
+echo "$ESELECT_JAVA"
+echo "Use java-config --set-system-vm #"
+echo "--------------------------------------------------------------------"
+echo
+echo "Java-nsplugin List"
+echo "$ESELECT_JAVAP"
+echo "Use eselect java-nsplugin set #"
+echo "--------------------------------------------------------------------"
+echo
+echo "Devices - lspci"
+echo "--------------------------------------------------------------------"
+echo "$PCIINFO"
+echo "--------------------------------------------------------------------"
+echo
+echo "Devices - lsmod"
+echo "--------------------------------------------------------------------"
+echo "$LSMOD"
+echo "--------------------------------------------------------------------"
+echo
+echo "Devices - lsusb"
+echo "--------------------------------------------------------------------"
+echo "$LSUSB"
+echo "--------------------------------------------------------------------"
+echo
+echo "Memory"
+echo "--------------------------------------------------------------------"
+echo "$MEM"
+echo "--------------------------------------------------------------------"
+echo
+echo "Disk Space"
+echo "--------------------------------------------------------------------"
+echo "$SPACE"
+echo "--------------------------------------------------------------------"
+echo
diff --git a/app-misc/rogentoslive-tools/files/1.0/net-setup b/app-misc/rogentoslive-tools/files/1.0/net-setup
new file mode 100755
index 00000000..e84de48b
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/net-setup
@@ -0,0 +1,65 @@
+#!/bin/bash
+# Copyright 1999-2005 Gentoo Foundation
+# Copyright 2006-2008 Fabio Erculiani
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo/src/livecd-tools/net-setup,v 1.19 2006/05/30 20:20:11 wolf31o2 Exp $
+
+if [ -f /sbin/livecd-functions.sh ]
+then
+ source /sbin/livecd-functions.sh
+else
+ echo "ERROR: /sbin/livecd-functions.sh could not be loaded!"
+ exit 1
+fi
+
+if [ ! -x $(which dialog) ]
+then
+ echo "ERROR: The dialog utility is required for net-setup. Exiting!"
+ exit 1
+fi
+
+livecd_check_root || exit 1
+
+# Hide any potential error messages from the readlink/dirname/etc calls below
+exec 2>/dev/null
+
+if [ -z "${1}" ]
+then
+ show_ifmenu
+ echo $iface
+else
+ iface="${1}"
+fi
+
+[ ! -d /tmp/setup.opts ] && mkdir /tmp/setup.opts
+cd /tmp/setup.opts
+
+while true; do
+ show_ifconfirm $iface
+ [[ $result == "yes" ]] && break
+ show_ifmenu
+done
+
+# Show stderr again
+exec 2>/dev/stderr
+
+dialog --title "Network setup" --menu "This script is designed to setup both wired and wireless network settings. All questions below apply to the ${iface} interface only. Choose one option:" 20 60 7 1 "My network is wireless" 2 "My network is wired" 2> ${iface}.WIRED_WIRELESS
+WIRED_WIRELESS=$(tail -n 1 ${iface}.WIRED_WIRELESS)
+case ${WIRED_WIRELESS} in
+ 1)
+ livecd_config_wireless
+ livecd_config_ip
+ livecd_write_wireless_conf
+ ;;
+ 2)
+ livecd_config_ip
+ ;;
+ *)
+ exit 0
+ ;;
+esac
+livecd_write_net_conf
+
+echo "Type \"ifconfig\" to make sure the interface was configured correctly."
+
+# vim: ts=4
diff --git a/app-misc/rogentoslive-tools/files/1.0/opengl-activator b/app-misc/rogentoslive-tools/files/1.0/opengl-activator
new file mode 100755
index 00000000..387dd10f
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/opengl-activator
@@ -0,0 +1,318 @@
+#!/bin/sh
+# Forked from eselect opengl Gentoo module - this is reaaaaaaaaaally faster
+# this is used only at Live time, to avoid the use of Portage
+# Copyright 2006-2008 Fabio Erculiani
+
+# Our data
+ENV_FILE="/etc/env.d/03opengl"
+PREFIX="/usr"
+DST_PREFIX="/usr"
+USE_PROFILE_HEADERS="no"
+ES_VALID_MULTILIB_DIRS="lib lib32 lib64"
+
+# list_libdirs PUBLIC
+# Returns a space separated list of libdirs available on this machine
+list_libdirs() {
+ local dir libdirs
+ libdirs=""
+ for dir in ${ES_VALID_MULTILIB_DIRS} ; do
+ if grep -q "^/${dir}\(\|/\)$" /etc/ld.so.conf &> /dev/null ; then
+ libdirs=( ${libdirs[@]} ${dir} )
+ fi
+ done
+ if [[ -z ${libdirs[@]} ]] ; then
+ # Broken or non-existing ld.so.conf
+ libdirs=( /lib* )
+ libdirs=( ${libdirs[@]/\/lib/lib} )
+ fi
+ echo "${libdirs[@]}"
+}
+
+# has test list
+# Return true if list contains test
+has() {
+ local test=${1} item
+ shift
+ for item in $@ ; do
+ [[ ${item} == ${test} ]] && return 0
+ done
+ return 1
+}
+
+# is_function function PUBLIC
+# Test whether function exists
+is_function() {
+ [[ $(type -t "${1}" ) == "function" ]]
+}
+
+# is_number PUBLIC
+# Returns true if and only if $1 is a positive whole number
+is_number() {
+ [[ -n ${1} ]] && [[ -z ${1//[[:digit:]]} ]]
+}
+
+get_current_implementation() {
+ local ret
+ local ldpath=$(cat ${ENV_FILE} | grep LDPATH | cut -d'"' -f 2)
+
+ local opengl_profile=$(cat ${ENV_FILE} | grep OPENGL_PROFILE | cut -d'"' -f 2)
+
+ if [[ -n ${opengl_profile} ]] ; then
+ ret="${opengl_profile}"
+ elif [[ -n ${ldpath} ]] ; then
+ ret="${ldpath%%:*}"
+ ret="${ret##*opengl/}"
+ ret="${ret%/lib*}"
+ fi
+
+ echo ${ret}
+}
+
+get_implementations() {
+ local ret dir
+ for x in $(list_libdirs) ; do
+ for dir in "${PREFIX}/${x}"/opengl/* ; do
+ [[ -d ${dir} && $(basename "${dir}") != "global" ]] || continue
+ has $(basename "${dir}") ${ret} && continue
+ ret=${ret:+${ret} }$(basename "${dir}")
+ done
+ done
+
+ echo ${ret}
+}
+
+setup_lib_symlinks() {
+ local profile_libdir=${1}
+ local libdir=${2}
+ local file
+ local rootfile
+
+ mkdir -p "${libdir}" || echo "Failed to create ${libdir}"
+
+ pushd "${libdir}" &> /dev/null
+ # First remove old symlinks
+ for file in libGL{,core}.{a,so,la} ; do
+ rm -f "${file}" || echo -q "Failed to delete ${file}"
+ done
+
+ # Note that we don't do .so*, just .so on purpose. The
+ # loader knows to look in the profile dir, and the
+ # linked just needs the .so
+ for file in ${profile_libdir}/libGL{,core}.{so,a,la}; do
+ rootfile="${file}"
+ [[ -f ${file} ]] || continue
+ if [[ -f $(basename "${file}") ]] ; then
+ rm -f "$(basename "${file}")" || echo -q "Failed to delete ${libdir}/$(basename "${file}")"
+ fi
+
+ # Fix libtool archives (#48297)
+ if [[ ${file%.la} != ${file} ]] ; then
+ sed "s:${profile_libdir}:${libdir}:g" "${file}" > "$(basename "${file}")" || echo "Failed to create ${libdir}/$(basename "${file}")"
+ else
+ ln -s "${rootfile}" || echo "Failed to create ${libdir}/$(basename "${file}")"
+ fi
+ done
+ popd &> /dev/null
+}
+
+set_new_implementation() {
+ local gl_implem=${1}
+ local avail_implems=$(get_implementations)
+
+ # Set a sane umask... bug #83115
+ umask 022
+
+ if ! has ${gl_implem} ${avail_implems}; then
+ echo "Invalid profile selected."
+ exit 1
+ fi
+
+ echo -n "Switching to ${gl_implem} OpenGL interface..."
+
+ local libdir
+ for libdir in $(list_libdirs); do
+ [[ ${ROOT} != / ]] && libdir=${libdir//${ROOT}}
+
+ # First make sure we have an opengl directory and this is a real lib dir, not a symlink
+ [[ -d ${PREFIX}/${libdir}/opengl && ! -h ${PREFIX}/${libdir} ]] || continue
+
+ # Fallback on xorg-x11 if we don't have this implementation for this libdir.
+ local gl_local
+ if [[ ! -d ${PREFIX}/${libdir}/opengl/"${gl_implem}" ]] ; then
+ gl_local="xorg-x11"
+ else
+ gl_local="${gl_implem}"
+ fi
+
+ setup_lib_symlinks "${PREFIX}/${libdir}/opengl/${gl_local}/lib" "${DST_PREFIX}/${libdir}"
+
+ if [[ -e ${PREFIX}/${libdir}/opengl/${gl_local}/lib/tls ]] ; then
+ setup_lib_symlinks "${PREFIX}/${libdir}/opengl/${gl_local}/lib/tls" "${DST_PREFIX}/${libdir}/tls"
+ fi
+
+ local moduledir
+ if [[ -e ${DST_PREFIX}/${libdir}/xorg/modules ]] ; then
+ moduledir="xorg/modules"
+ else
+ moduledir="modules"
+ fi
+
+ if [[ -e ${PREFIX}/${libdir}/opengl/${gl_local}/extensions ]] ; then
+ mkdir -p "${DST_PREFIX}/${libdir}/${moduledir}/extensions" || echo "Failed to create ${DST_PREFIX}/${libdir}/${moduledir}/extensions"
+ pushd "${DST_PREFIX}/${libdir}/${moduledir}/extensions" &> /dev/null
+ # First remove old symlinks
+ for file in lib{wfb,glx,dri,dri2}.{a,so,la}; do
+ rm -f "${file}" || echo "Failed to delete ${DST_PREFIX}/${libdir}/${moduledir}/extensions/${file}"
+ done
+
+ for file in ${PREFIX}/${libdir}/opengl/${gl_local}/extensions/*.{so,a,la}; do
+ [[ -f ${file} ]] || continue
+ if [[ -f $(basename "${file}") ]] ; then
+ rm -f "$(basename "${file}")" || echo "Failed to delete ${DST_PREFIX}/${libdir}/${moduledir}/extensions/$(basename "${file}")"
+ fi
+
+ # Fix libtool archives (#48297)
+ if [[ ${file%.la} != ${file} ]] ; then
+ sed "s:${PREFIX}/[^/]*/opengl/[^/]*/lib:${DST_PREFIX}/${libdir}:g" "${file}" > "$(basename "${file}")" || echo "Failed to create ${DST_PREFIX}/${libdir}/${moduledir}/extensions/$(basename "${file}")"
+ else
+ ln -s "${file}" || echo "Failed to create ${libdir}/$(basename "${file}")"
+ fi
+ done
+ popd &> /dev/null
+ fi
+
+ # Setup the includes
+ mkdir -p "${DST_PREFIX}/include/GL" || echo "Failed to create ${DST_PREFIX}/include/GL"
+ pushd "${DST_PREFIX}/include/GL" &> /dev/null
+ for file in gl.h glx.h glxtokens.h glext.h glxext.h glxmd.h glxproto.h; do
+ # IMPORTANT
+ # It is preferable currently to use the standard glext.h file
+ # however if an OpenGL provider must use a self produced glext.h
+ # then it should be installed to ${gl_implem}/include and the user
+ # can add the --impl-headers option to select it.
+
+ if [[ "${USE_PROFILE_HEADERS}" == "yes" ]] ; then
+ # Check the profile first.
+ if [[ -e ${PREFIX}/${libdir}/opengl/${gl_implem}/include/${file} ]] ; then
+ if [[ -f ${file} || ( -L ${file} && ! -e ${file} ) ]] ; then
+ rm -f "${file}" || echo "Failed to delete ${DST_PREFIX}/include/GL/$(basename "${file}")"
+ fi
+
+ ln -s ${PREFIX}/${libdir}/opengl/${gl_implem}/include/${file} || echo "Failed to create ${DST_PREFIX}/include/GL/$(basename "${file}")"
+ continue
+ fi
+ fi
+
+ if [[ -e ${PREFIX}/${libdir}/opengl/global/include/${file} ]] ; then
+ if [[ -f ${file} || ( -L ${file} && ! -e ${file} ) ]] ; then
+ rm -f "${file}" || echo "Failed to delete ${DST_PREFIX}/include/GL/$(basename "${file}")"
+ fi
+
+ ln -s ${PREFIX}/${libdir}/opengl/global/include/${file} || echo "Failed to create ${DST_PREFIX}/include/GL/$(basename "${file}")"
+ elif [[ -e ${PREFIX}/${libdir}/opengl/${gl_implem}/include/${file} ]] ; then
+ if [[ -f ${file} || ( -L ${file} && ! -e ${file} ) ]] ; then
+ rm -f "${file}" || echo "Failed to delete ${DST_PREFIX}/include/GL/$(basename "${file}")"
+ fi
+
+ ln -s ${PREFIX}/${libdir}/opengl/${gl_implem}/include/${file} || echo "Failed to create ${DST_PREFIX}/include/GL/$(basename "${file}")"
+ elif [[ -e ${PREFIX}/${libdir}/opengl/xorg-x11/include/${file} ]] ; then
+ if [[ -f ${file} || ( -L ${file} && ! -e ${file} ) ]] ; then
+ rm -f "${file}" || echo "Failed to delete ${DST_PREFIX}/include/GL/$(basename "${file}")"
+ fi
+
+ ln -s ${PREFIX}/${libdir}/opengl/xorg-x11/include/${file} || echo "Failed to create ${DST_PREFIX}/include/GL/$(basename "${file}")"
+ fi
+ done
+ popd &> /dev/null
+
+ # Setup the $LDPATH
+ ldpath="${ldpath:+${ldpath}:}${PREFIX}/${libdir}/opengl/${gl_local}/lib"
+
+ done
+
+ sed -i '/LDPATH=.*/d' ${ENV_FILE}
+ echo "LDPATH=\"${ldpath}\"" >> ${ENV_FILE}
+ oldldpath=$(cat /etc/profile.env|grep LDPATH | cut -d"'" -f2)
+
+ sed -i '/export LDPATH=.*/d' /etc/profile.env
+ sed -i '/setenv LDPATH=.*/d' /etc/csh.env
+ sed -i '/export LD_LIBRARY_PATH=.*/d' /etc/profile.env
+ sed -i '/setenv LD_LIBRARY_PATH=.*/d' /etc/csh.env
+ sed -i "s/OPENGL_PROFILE=.*/OPENGL_PROFILE='${gl_implem}'/" /etc/profile.env
+ sed -i "s/OPENGL_PROFILE=.*/OPENGL_PROFILE='${gl_implem}'/" /etc/csh.env
+ sed -i '/LD_LIBRARY_PATH=.*/d' ${ENV_FILE}
+ sed -i "s/OPENGL_PROFILE=.*/OPENGL_PROFILE=\"${gl_implem}\"/" ${ENV_FILE}
+
+ echo "export LDPATH='"${ldpath}":"${oldldpath}"'" >> /etc/profile.env
+ echo "setenv LDPATH='"${ldpath}":"${oldldpath}"'" >> /etc/csh.env
+ echo "export LD_LIBRARY_PATH='"${ldpath}"'" >> /etc/profile.env
+ echo "setenv LD_LIBRARY_PATH='"${ldpath}"'" >> /etc/csh.env
+ echo 'LD_LIBRARY_PATH="'${ldpath}'"' >> ${ENV_FILE}
+
+
+ source /etc/profile &> /dev/null
+ echo " done"
+}
+
+do_set() {
+ local action="error"
+ local current=$(get_current_implementation)
+ local available=$(get_implementations)
+ local new
+
+ while [[ ${#@} -gt 0 ]] ; do
+ local opt=${1}
+ shift
+ case ${opt} in
+ *)
+ action="set-implementation"
+ if has ${opt} ${available}; then
+ new="${opt}"
+ else
+ echo "Unrecognized option: ${opt}"
+ fi
+ ;;
+ esac
+ done
+
+ case ${action} in
+ set-implementation)
+ if [[ -n ${new} ]] ; then
+ set_new_implementation ${new}
+ rc=$?
+ sed -i "s/opengl\/xorg-x11\//opengl\/${new}\//" /etc/ld.so.conf
+ sed -i "s/opengl\/ati\//opengl\/${new}\//" /etc/ld.so.conf
+ sed -i "s/opengl\/nvidia\//opengl\/${new}\//" /etc/ld.so.conf
+ ldconfig -X &> /dev/null
+ return ${rc}
+ else
+ echo "Please specify an implementation to set"
+ fi
+ ;;
+ *)
+ echo "Invalid usage of set action."
+ ;;
+ esac
+
+}
+
+do_show() {
+ local current=$(get_current_implementation)
+ echo ${current}
+}
+
+is_live=$(cat /proc/cmdline | grep cdroot)
+
+if [ -n "$is_live" ]; then
+ if [ "$1" == "show" ]; then
+ do_show
+ else
+ do_set $@
+ fi
+else
+ if [ "$1" == "show" ]; then
+ eselect opengl show
+ else
+ eselect opengl set $@
+ fi
+fi
diff --git a/app-misc/rogentoslive-tools/files/1.0/rogentos-functions.sh b/app-misc/rogentoslive-tools/files/1.0/rogentos-functions.sh
new file mode 100755
index 00000000..eb4bf4d6
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/rogentos-functions.sh
@@ -0,0 +1,247 @@
+#!/bin/bash
+
+GDM_FILE="/usr/share/gdm/defaults.conf"
+CUSTOM_GDM_FILE="/etc/gdm/custom.conf"
+KDM_FILE="/usr/share/config/kdm/kdmrc"
+LXDM_FILE="/etc/lxdm/lxdm.conf"
+OEM_FILE="/etc/oemlive.sh"
+OEM_FILE_NEW="/etc/oem/liveboot.sh"
+LIVE_USER_GROUPS="audio bumblebee cdrom cdrw clamav console entropy games \
+kvm lp lpadmin messagebus plugdev polkituser portage pulse pulse-access pulse-rt \
+scanner usb users uucp vboxguest vboxusers video wheel"
+LIVE_USER=${SABAYON_USER:-rogentosuser}
+
+sabayon_setup_autologin() {
+ # GDM - GNOME
+ if [ -f "${GDM_FILE}" ]; then
+ sed -i "s/^AutomaticLoginEnable=.*/AutomaticLoginEnable=true/" ${GDM_FILE}
+ sed -i "s/^AutomaticLogin=.*/AutomaticLogin=${LIVE_USER}/" ${GDM_FILE}
+
+ sed -i "s/^TimedLoginEnable=.*/TimedLoginEnable=true/" ${GDM_FILE}
+ sed -i "s/^TimedLogin=.*/TimedLogin=${LIVE_USER}/" ${GDM_FILE}
+ sed -i "s/^TimedLoginDelay=.*/TimedLoginDelay=0/" ${GDM_FILE}
+
+ elif [ -f "${CUSTOM_GDM_FILE}" ]; then
+ # FIXME: if this is called multiple times, it generates duplicated entries
+ sed -i "s:\[daemon\]:\[daemon\]\nAutomaticLoginEnable=true\nAutomaticLogin=${LIVE_USER}\nTimedLoginEnable=true\nTimedLogin=${LIVE_USER}\nTimedLoginDelay=0:" \
+ "${CUSTOM_GDM_FILE}"
+ # change other entries there
+ sed -i "s/^TimedLogin=.*/TimedLogin=${LIVE_USER}/" "${CUSTOM_GDM_FILE}"
+ sed -i "s/^AutomaticLogin=.*/AutomaticLogin=${LIVE_USER}/" "${CUSTOM_GDM_FILE}"
+ fi
+
+ # KDM - KDE
+ if [ -f "$KDM_FILE" ]; then
+ sed -i "s/AutoLoginEnable=.*/AutoLoginEnable=true/" $KDM_FILE
+ sed -i "s/AutoLoginUser=.*/AutoLoginUser=${LIVE_USER}/" $KDM_FILE
+ sed -i "s/AutoLoginDelay=.*/AutoLoginDelay=0/" $KDM_FILE
+ sed -i "s/AutoLoginAgain=.*/AutoLoginAgain=true/" $KDM_FILE
+
+ sed -i "s/AllowRootLogin=.*/AllowRootLogin=true/" $KDM_FILE
+ sed -i "s/AllowNullPasswd=.*/AllowNullPasswd=true/" $KDM_FILE
+ sed -i "s/AllowShutdown=.*/AllowShutdown=All/" $KDM_FILE
+
+ sed -i "/^#.*AutoLoginEnable=/ s/^#//" $KDM_FILE
+ sed -i "/^#.*AutoLoginUser=/ s/^#//" $KDM_FILE
+ sed -i "/^#.*AutoLoginDelay=/ s/^#//" $KDM_FILE
+ sed -i "/^#.*AutoLoginAgain=/ s/^#//" $KDM_FILE
+
+ sed -i "/^#AllowRootLogin=/ s/^#//" $KDM_FILE
+ sed -i "/^#AllowNullPasswd=/ s/^#//" $KDM_FILE
+ sed -i "/^#AllowShutdown=/ s/^#//" $KDM_FILE
+ fi
+
+ # LXDM
+ if [ -f "$LXDM_FILE" ]; then
+ sed -i "s/autologin=.*/autologin=${LIVE_USER}/" $LXDM_FILE
+ sed -i "/^#.*autologin=/ s/^#//" $LXDM_FILE
+ fi
+
+ # Setup correct login session
+ sabayon_is_normal_boot && sabayon_fixup_gnome_autologin_session
+}
+
+sabayon_disable_autologin() {
+ # GDM - GNOME
+ if [ -f "${GDM_FILE}" ]; then
+ sed -i "s/^AutomaticLoginEnable=.*/AutomaticLoginEnable=false/" ${GDM_FILE}
+ fi
+
+ # KDM - KDE
+ KDM_FILE="/usr/share/config/kdm/kdmrc"
+ if [ -f "$KDM_FILE" ]; then
+ sed -i "s/AutoLoginEnable=.*/AutoLoginEnable=false/" $KDM_FILE
+ fi
+}
+
+sabayon_setup_live_user() {
+ local live_user="${1}"
+ local live_uid="${2}"
+ if [ -z "${live_user}" ]; then
+ live_user="${LIVE_USER}"
+ fi
+ if [ -n "${live_uid}" ]; then
+ live_uid="-u ${live_uid}"
+ fi
+ id ${live_user} &> /dev/null
+ if [ "${?}" != "0" ]; then
+ local live_groups=""
+ local avail_groups=$(cat /etc/group | cut -d":" -f 1 | xargs echo)
+ for a_group in ${avail_groups}; do
+ for p_group in ${LIVE_USER_GROUPS}; do
+ if [ "${p_group}" = "${a_group}" ]; then
+ if [ -z "${live_groups}" ]; then
+ live_groups="${p_group}"
+ else
+ live_groups="${live_groups},${p_group}"
+ fi
+ fi
+ done
+ done
+ # then setup live user, that is missing
+ useradd -d "/home/${live_user}" -g root -G ${live_groups} -c "rogentosuser" \
+ -m -N -p "" -s /bin/bash ${live_uid} "${live_user}"
+ return 0
+ fi
+ return 1
+}
+
+sabayon_setup_motd() {
+ echo -e "\n\tWelcome to `cat /etc/rogentos-edition`\n\t`uname -p`\n\t`uname -o` `uname -r`\n" > /etc/motd
+}
+
+sabayon_setup_vt_autologin() {
+ source /sbin/livecd-functions.sh
+ export CDBOOT=1
+ livecd_fix_inittab
+}
+
+sabayon_setup_oem_livecd() {
+ if [ -x "${OEM_LIVE_NEW}" ]; then
+ ${OEM_FILE_NEW} || return 1
+ elif [ -x "${OEM_LIVE}" ]; then
+ ${OEM_FILE} || return 1
+ fi
+ return 0
+}
+
+sabayon_is_live() {
+ local cmdl=$(cat /proc/cmdline | grep cdroot)
+ if [ -n "${cmdl}" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+sabayon_setup_gui_installer() {
+ # Configure Fluxbox
+ local dmrc_file="/home/${LIVE_USER}/.dmrc"
+ local flux_dir="/home/${LIVE_USER}/.fluxbox"
+ local flux_startup_file="${flux_dir}/startup"
+ chown ${LIVE_USER} "${dmrc_file}"
+ chown ${LIVE_USER} "/home/${LIVE_USER}/.fluxbox
+ if [ ! -d "${flux_dir}" ]; then
+ mkdir "${flux_dir}" && chown "${LIVE_USER}" "${flux_dir}"
+ fi
+ echo "[Desktop]" > "${dmrc_file}"
+ echo "Session=fluxbox" >> "${dmrc_file}"
+ chown rogentosuser "${dmrc_file}"
+ sed -i "/installer --fullscreen/ s/^# //" "${flux_startup_file}"
+ if [ -x "/usr/libexec/gdm-set-default-session" ]; then
+ # oh my fucking glorious god, this
+ # is AccountsService bullshit
+ # cross fingers
+ /usr/libexec/gdm-set-default-session fluxbox
+ fi
+ if [ -x "/usr/libexec/gdm-set-session" ]; then
+ # GDM 3.6 support
+ /usr/libexec/gdm-set-session sabayonuser fluxbox
+ fi
+ chown ${LIVE_USER} "${dmrc_file}"
+ chown ${LIVE_USER} "/home/${LIVE_USER}/.fluxbox
+}
+
+# This function reads /etc/skel/.dmrc and properly
+# set the Session= value inside AccountsService.
+# Blame the idiots who broke de-facto standards
+# and created this fugly thing called AccountsService
+sabayon_fixup_gnome_autologin_session() {
+ local cur_session=
+
+ if [ -f "/etc/skel/.dmrc" ]; then
+ cur_session=$(cat /etc/skel/.dmrc | grep ^Session | cut -d"=" -f 2)
+ fi
+ if [ -z "${cur_session}" ]; then
+ return 0
+ fi
+
+ local sess_file="/usr/share/xsessions/${cur_session}.desktop"
+ if [ ! -f "${sess_file}" ]; then
+ return 0
+ fi
+
+ if [ -x "/usr/libexec/gdm-set-default-session" ]; then
+ # this edits /etc/gdm/custom.conf adding [daemon]\nDefaultSession=${cur_session}
+ /usr/libexec/gdm-set-default-session "${cur_session}"
+ fi
+
+ if [ -x "/usr/libexec/gdm-set-session" ]; then
+ # GDM 3.6 support
+ local users_in_users=$(cat /etc/group | grep "^users" | awk -F':' '{ print $4 }' | sed "s:,: :g")
+ for usr in ${users_in_users}; do
+ /usr/libexec/gdm-set-session "${usr}" "${cur_session}"
+ done
+ fi
+}
+
+sabayon_setup_text_installer() {
+ # switch to verbose mode
+ splash_manager -c set -t default -m v &> /dev/null
+ reset
+ chvt 1
+ clear
+ echo "Welcome to Rogentos Linux Text installation." >> /etc/motd
+ echo "root password: root" >> /etc/motd
+ echo "to run the installation type: installer <and PRESS ENTER>" >> /etc/motd
+}
+
+sabayon_is_text_install() {
+ local _is_install=$(cat /proc/cmdline | grep installer-text)
+ if [ -n "${_is_install}" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+sabayon_is_gui_install() {
+ local _is_install=$(cat /proc/cmdline | grep installer-gui)
+ if [ -n "${_is_install}" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+sabayon_is_live_install() {
+ ( sabayon_is_text_install || sabayon_is_gui_install ) && return 0
+ return 1
+}
+
+sabayon_is_mce() {
+ local _is_mce=$(cat /proc/cmdline | grep sabayonmce)
+ if [ -n "${_is_mce}" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+sabayon_is_normal_boot() {
+ if ! sabayon_is_mce && ! sabayon_is_live_install; then
+ return 0
+ else
+ return 1
+ fi
+}
diff --git a/app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader b/app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader
new file mode 100755
index 00000000..0bb12f2b
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+SABAYON_LOADER="/usr/bin/xdg-open"
+SABAYON_URL=${SABAYON_URL:-http://www.sabayon.org?install_welcome=1}
+
+# load Sabayon URL
+[[ -x "${SABAYON_LOADER}" ]] && ${SABAYON_LOADER} ${SABAYON_URL} &
+
+# remove myself from autostart
+rm ~/.config/autostart/sabayon-welcome-loader.desktop -f
diff --git a/app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader.desktop b/app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader.desktop
new file mode 100644
index 00000000..e5ea4b3d
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=sabayon-loader
+Exec=sabayon-welcome-loader
+Icon=system-run
+Comment=Sabayon Linux post-install Welcome Screen
+Terminal=false
diff --git a/app-misc/rogentoslive-tools/files/1.0/rogentoslive b/app-misc/rogentoslive-tools/files/1.0/rogentoslive
new file mode 100755
index 00000000..4a65b73e
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/rogentoslive
@@ -0,0 +1,218 @@
+#!/sbin/runscript
+# Copyright 2004-2009 Fabio Erculiani
+# Distributed under the terms of the GNU General Public License v2
+
+. /sbin/rogentos-functions.sh
+
+depend() {
+ after x-setup
+ before hald
+ before xdm
+}
+
+prepare_fluxbox_locked_autologin() {
+
+ # change default wm to fluxbox
+ echo "[Desktop]" > /home/${LIVE_USER}/.dmrc
+ echo "Session=fluxbox" >> /home/${LIVE_USER}/.dmrc
+ chown ${LIVE_USER} /home/${LIVE_USER}/.dmrc
+ # Change passwords for security
+ echo root:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1
+ echo ${LIVE_USER}:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1
+
+}
+
+my_setup_desktop() {
+
+ # create LIVE_USER if it does not exist
+ sabayon_setup_live_user "${LIVE_USER}" "1000"
+ if [ "${?}" = "1" ]; then
+ # if user is already available, then setup skel
+ # Copy ${LIVE_USER} directory
+ rm -rf /home/${LIVE_USER}
+ cp /etc/skel /home/${LIVE_USER} -Rp
+ chown ${LIVE_USER}:users /home/${LIVE_USER} -R
+ fi
+
+ liveinst_desktop="/usr/share/applications/liveinst.desktop"
+ liveinst_desktop_name="$(basename ${liveinst_desktop})"
+ if [ -f "${liveinst_desktop}" ]; then
+ [[ -d "/home/${LIVE_USER}/Desktop" ]] || mkdir -p /home/${LIVE_USER}/Desktop
+ cp "${liveinst_desktop}" /home/${LIVE_USER}/Desktop
+ chown ${LIVE_USER}:users /home/${LIVE_USER}/Desktop -R
+ chmod +x /home/${LIVE_USER}/Desktop/${liveinst_desktop_name}
+ rm -f /etc/skel/Desktop/Anaconda*.desktop
+ rm -f /home/${LIVE_USER}/Desktop/Anaconda*.desktop
+ fi
+
+ # Disable memory eating services
+ rm -f /etc/xdg/autostart/hplip-systray.desktop
+ rm -f /etc/xdg/autostart/beagle-search-autostart.desktop
+ rm -f /etc/xdg/autostart/tracker*.desktop
+ rm -f /etc/xdg/autostart/magneto.desktop
+ rm -f /etc/xdg/autostart/beagled-autostart.desktop
+ rm -f /usr/share/autostart/magneto.desktop
+ rm -f /usr/share/autostart/nepomukserver.desktop
+
+ # Remove broken entries in /etc/mtab
+ sed -i '/.*newroot.*/d' /etc/mtab
+
+ # Create /media for removable devices
+ if [ ! -d /media ]; then
+ mkdir /media
+ chmod 755 /media
+ fi
+
+ # Add sudo to gparted exec=
+ gparted_file="/home/${LIVE_USER}/Desktop/gparted.desktop"
+ if [ -f "${gparted_file}" ]; then
+ sed -i 's/Exec=/Exec=sudo /' "${gparted_file}"
+ fi
+
+ # create /overlay, this way df -h won't bitch
+ [[ -d "/overlay" ]] || mkdir /overlay
+
+}
+
+my_setup_password() {
+
+ cmdline_autoscramble_exist=$(cat /proc/cmdline | grep autoscramble)
+ if [ -n "$cmdline_autoscramble_exist" ]; then
+ echo
+ echo -e "\E[33;36m * \E[0m\E[01;36m Autoscrambling root passwords for S E C U R I T Y"
+ echo root:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1
+ echo ${LIVE_USER}:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1
+ echo
+ fi
+
+}
+
+my_setup_keymap() {
+
+ # Check if KEYMAP is forced by cmdline
+ cmdline_keymap_exist=$(cat /proc/cmdline | grep -i "KEYMAP=")
+ cmdline_keymap_isolinux_exist=$(cat /proc/cmdline | grep -i "console-setup/layoutcode=")
+
+ if [ -n "$cmdline_keymap_isolinux_exist" ]; then
+ cmdline_keymap_exist="console-setup"
+ fi
+
+ if [ -n "$cmdline_keymap_exist" ];then
+
+ if [ "$cmdline_keymap_exist" == "console-setup" ]; then
+ # detect keymap
+ for word in `cat /proc/cmdline` ; do
+ case $word in
+ console-setup/layoutcode=*)
+ keymap_toset=$(echo $word | cut -d "=" -f 2)
+ ;;
+ console-setup/modelcode=*)
+ keymap_toset_model="-$(echo $word | cut -d "=" -f 2)"
+ ;;
+ esac
+ done
+ else
+
+ # detect keymap
+ for word in `cat /proc/cmdline` ; do
+ case $word in
+ KEYMAP=*)
+ keymap_toset=$(echo $word | cut -d "=" -f 2)
+ ;;
+ keymap=*)
+ keymap_toset=$(echo $word | cut -d "=" -f 2)
+ ;;
+ esac
+ done
+
+ fi
+
+ if [ -n "$keymap_toset" ]; then
+ aggregated_keymap="${keymap_toset}${keymap_toset_model}"
+ /sbin/keyboard-setup-2 ${aggregated_keymap} all &> /dev/null
+ if [ "${?}" = "0" ]; then
+ /etc/init.d/keymaps restart --nodeps
+ fi
+ fi
+
+ fi
+
+}
+
+my_wait_opengl_config() {
+
+ echo -en "\E[33;36m * \E[0m \E[01;32m Waiting for Graphical Configurator to finish... \E[0m"
+ while [ -e "/etc/x-setup-configuration-running" ]
+ do
+ # waiting...
+ sleep 1
+ done
+ echo -e "Done"
+
+}
+
+my_setup_locale() {
+
+ cmdline_lang_exist=$(cat /proc/cmdline | grep -i "lang=")
+ cmdline_locale_exist=$(cat /proc/cmdline | grep -i "locale=")
+
+ if [ -n "$cmdline_locale_exist" ]; then
+ cmdline_lang_exist="locale-setup"
+ fi
+
+ if [ -n "$cmdline_lang_exist" ];then
+
+ if [ "$cmdline_lang_exist" == "locale-setup" ]; then
+ # detect keymap
+ for word in `cat /proc/cmdline` ; do
+ case $word in
+ locale=*)
+ lang_toset=$(echo $word | cut -d "=" -f 2)
+ ;;
+ esac
+ done
+ else
+ for word in `cat /proc/cmdline` ; do
+ case $word in
+ LANG=*)
+ lang_toset=$(echo $word | cut -d "=" -f 2)
+ ;;
+ lang=*)
+ lang_toset=$(echo $word | cut -d "=" -f 2)
+ ;;
+ esac
+ done
+ fi
+
+ # Setup Language
+ if [ -n "$lang_toset" ]; then
+ /sbin/language-setup $lang_toset &> /dev/null
+ fi
+
+ fi
+
+}
+
+start() {
+
+ # Perform configuration only in live mode
+ if ! sabayon_is_live; then
+ einfo "Skipping live mode configuration"
+ return 0
+ fi
+
+ my_setup_desktop
+ my_setup_password
+ my_setup_keymap
+ my_wait_opengl_config
+ # MOVED HERE TO AVOID RACE CONDITIONS ON WRITING /etc/profile.env variables
+ # Check if LANG is forced by cmdline
+ my_setup_locale
+ # setup autologin for all the supported Login managers
+ sabayon_setup_autologin
+ # override autostart stuff if required:
+ sabayon_setup_motd
+ sabayon_setup_vt_autologin
+ sabayon_setup_oem_livecd
+
+}
diff --git a/app-misc/rogentoslive-tools/files/1.0/sabayon-live-check b/app-misc/rogentoslive-tools/files/1.0/sabayon-live-check
new file mode 100644
index 00000000..4dc2e739
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/sabayon-live-check
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# sabayon_livechk.sh
+#
+# Checks the integrity of a LiveCD/DVD by passing the
+# contents of the image through a md5sum (to be compared
+# with an documented value elsewhere).
+#
+
+if ( ! isoinfo -d -i /dev/cdrom >>/dev/null 2>/dev/null ); then
+ echo "CDROM/DVD image not found!"
+ exit 1
+fi
+
+echo -e "Checking image integrity, please allow several minutes...\n"
+echo "You can check for errors by running 'tail /var/log/messages'"
+echo "in another console window. If you encounter multiple device"
+echo "errors with you cdrom, this probably indicates the test is failing."
+echo "You may type 'Ctrl-c' to abort the check."
+
+BLOCK_SIZE=`isoinfo -d -i /dev/cdrom | grep "Logical block size is" | cut -d: -f2 | sed 's/^[ ]//g'`
+VOL_SIZE=`isoinfo -d -i /dev/cdrom | grep "Volume size is" | cut -d: -f2 | sed 's/^[ ]//g'`
+dd if=/dev/cdrom bs=$BLOCK_SIZE count=$VOL_SIZE conv=notrunc,noerror | md5sum
+
+echo "Compare the above value with the value supplied in"
+echo "the release notes for this version at:"
diff --git a/app-misc/rogentoslive-tools/files/1.0/sabutil b/app-misc/rogentoslive-tools/files/1.0/sabutil
new file mode 100755
index 00000000..680a6d1e
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/sabutil
@@ -0,0 +1,667 @@
+#!/bin/bash
+
+# Initial version by wolfden.
+# Later changes by Enlik <poczta-sn at gazeta.pl>.
+
+# last change: 9.03.2012
+# most important changes to last version:
+# - abort if non root where needs root permissions
+# - fix fdisk -l pasting
+# - support for xorg.conf.d
+# - reorder options and add rcupdate_pastebin
+
+USER=$(whoami)
+HOMEDIR=${HOME:-/tmp}
+
+function menu
+{
+ local selection=""
+ until [[ "$selection" = "0" ]] ; do
+ echo "Current Operating System:"
+ cat /etc/sabayon-release
+ echo ""
+ echo "Current Edition:"
+ cat /etc/rogentos-edition
+ echo
+ echo "Pick a choice from menu below:"
+
+ echo ""
+ echo "1 - Backup & edit xorg.conf and xorg.conf.d"
+ echo "2 - Restore xorg.conf and xorg.conf.d from backup"
+ echo "3 - Regenerate Sabayon xorg.conf"
+ echo "4 - Backup & edit grub.cfg"
+ echo "5 - Restore grub.cfg from backup"
+ echo "----------------------------------------"
+ echo "View and AutoPaste:"
+ echo " "
+ echo "01 - Pastebin Xorg configuration files"
+ echo "02 - Pastebin Xorg.0.log"
+ echo "03 - Pastebin ~/.xsession-errors"
+ echo "04 - Pastebin grub.cfg (bootmanager settings)"
+ echo "05 - Pastebin /var/log/dmesg"
+ echo "06 - Pastebin system and hardware info"
+ echo "07 - Pastebin fdisk -l (list the partition tables)"
+ echo "08 - Pastebin rc-update show (show enabled services and the runlevels)"
+ echo "09 - Pastebin rc.log"
+ echo "10 - Pastebin /var/log/messages"
+ echo "11 - Pastebin kdm.log"
+ echo ""
+ echo "0 - Exit"
+ echo ""
+ echo -n "Enter selection: "
+ read selection
+ echo ""
+
+ case $selection in
+ 1 ) xorg_backup ; press_enter ; xorg_edit; press_enter ;;
+ 2 ) xorg_restore ; press_enter ;;
+ 3 ) xorg_regen ; press_enter ;;
+ 4 ) grub_backup ; press_enter ; nano -w /boot/grub/grub.cfg; press_enter ;;
+ 5 ) grub_restore ; press_enter ;;
+ 01 ) xorg_pastebin ; press_enter ;;
+ 02 ) xorg0log_pastebin ; press_enter ;;
+ 03 ) xsessionerrors_pastebin ; press_enter ;;
+ 04 ) grub_pastebin ; press_enter ;;
+ 05 ) dmesg_pastebin ; press_enter ;;
+ 06 ) system_pastebin ; press_enter ;;
+ 07 ) fdisk_pastebin ; press_enter ;;
+ 08 ) rcupdate_pastebin ; press_enter ;;
+ 09 ) rclog_pastebin ; press_enter ;;
+ 10 ) messages_pastebin ; press_enter ;;
+ 11 ) kdm_pastebin ; press_enter ;;
+
+ 0 ) ;;
+ * ) echo "Please be sensible - choose a number that exists in the menu"; press_enter
+ esac
+ done
+
+}
+
+function press_enter
+{
+ echo ""
+ echo -n "Press Enter to continue"
+ read
+ clear
+}
+
+function is_root
+{
+ if [[ $USER != "root" ]]; then
+ echo "You need to be root to do this." >&2
+ return 1
+ fi
+ return 0
+}
+
+function xorg_regen
+{
+ is_root || return
+
+ if [[ ! -f "/etc/X11/xorg.conf.rogentos" ]]; then
+ cat > /etc/X11/xorg.conf.rogentos <<EOF
+Section "Module"
+ SubSection "extmod"
+ Option "omit xfree86-dga"
+ EndSubSection
+ Load "i2c"
+ Load "ddc"
+ Load "synaptics"
+ Load "vbe"
+# Load "dri"
+EndSection
+
+
+Section "ServerFlags"
+ Option "AllowMouseOpenFail" "true"
+EndSection
+
+Section "InputDevice"
+ Identifier "Synaptics1"
+ Driver "synaptics"
+ Option "SendCoreEvents" "true"
+ Option "Device" "/dev/psaux"
+ Option "Protocol" "auto-dev"
+ Option "HorizScrollDelta" "0"
+ Option "SHMConfig" "on"
+ # For ALPS/MacBook TouchPads
+ #Option "MaxSpeed" "0.7"
+ #Option "MinSpeed" "0.18"
+ #Option "AccelFactor" "0.08"
+ #Option "TopEdge" "120"
+ #Option "LeftEdge" "120"
+ #Option "BottomEdge" "830"
+ #Option "RightEdge" "650"
+ #Option "FingerLow" "25"
+ #Option "FingerHigh" "30"
+ # MacBook touchpad
+ #Option "MaxTapTime" "180"
+ #Option "MaxTapMove" "220"
+ #Option "MaxDoubleTapTime" "180"
+ #Option "VertScrollDelta" "20"
+ #Option "HorizScrollDelta" "50"
+ #Option "TapButton2" "3"
+ #Option "TapButton3" "2"
+ #Option "VertTwoFingerScroll" "1"
+
+ # Do you keep moving the mouse while typing? Try this trick.
+ #synclient TouchpadOff=1 disable your synaptics touchpad
+ #synclient TouchpadOff=0 enable your synaptics touchpad
+EndSection
+
+
+# **********************************************************************
+# Monitor section
+# **********************************************************************
+
+# Any number of monitor sections may be present
+
+Section "Monitor"
+ Identifier "Generic Monitor"
+ VertRefresh 43 - 60
+ HorizSync 28 - 80
+EndSection
+
+# **********************************************************************
+# Graphics device section
+# **********************************************************************
+
+# Any number of graphics device sections may be present
+
+Section "Device"
+ Identifier "VESA"
+ Driver "vesa" # do not remove vesa
+ #Option "RenderAccel" "on"
+ #Option "XAANoOffscreenPixmaps"
+ #Option "BusType" "PCI"
+ #Option "ColorTiling" "on"
+ #Option "EnablePageFlip" "on"
+ # UseEvents is causing segmentation faults with
+ # NVIDIA 6xxx, 7xxx and >=275.xx.xx drivers
+ #Option "UseEvents" "True"
+EndSection
+
+
+# **********************************************************************
+# Screen sections.
+# **********************************************************************
+
+Section "Screen"
+
+# The Identifier, Device and Monitor lines must be present
+
+ Identifier "Screen 1"
+ Device "VESA"
+ Monitor "Generic Monitor"
+ #Option "AddARGBGLXVisuals" "true"
+
+# The favoured Depth and/or Bpp may be specified here
+
+ DefaultDepth 24
+
+ SubSection "Display"
+ Depth 8
+ ViewPort 0 0
+ #Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+
+ SubSection "Display"
+ Depth 16
+ ViewPort 0 0
+ #Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+
+ SubSection "Display"
+ Depth 24
+ ViewPort 0 0
+ #Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+
+
+EndSection
+
+
+Section "ServerLayout"
+# The Identifier line must be present
+
+ Identifier "Main Layout"
+ Screen 0 "Screen 1"
+ InputDevice "Mouse1" "CorePointer"
+ #InputDevice "Synaptics1" "SendCoreEvents"
+
+EndSection
+
+Section "DRI"
+ Mode 0666
+EndSection
+
+Section "Extensions"
+ #Option "Composite" "Enable"
+EndSection
+EOF
+ fi
+
+ mv -f /etc/X11/xorg.conf /etc/X11/xorg.conf.old
+ /usr/sbin/x-setup-configuration
+
+ echo "Note: you may want to look to /etc/X11/xorg.conf.d (if it exists), too."
+}
+
+function xorg_backup
+{
+ is_root || return
+
+ if [[ -f /etc/X11/xorg.conf.BKUP ]]; then
+ echo "/etc/X11/xorg.conf.BKUP already exists, so new backup wasn't made - aborting."
+ echo "Now off we go to edit the file...."
+ return
+ elif [[ -e /etc/X11/xorg.conf.d.BKUP ]]; then
+ echo "/etc/X11/xorg.conf.d.BKUP backup already exists, so new backup wasn't made - aborting."
+ return
+ fi
+
+ # Delete backup file. If there's no xorg.conf, no stale xorg.conf.BKUP will be kept.
+ # So xorg_restore will not made new (unexpected) xorg.conf from xorg.conf.BKUP.
+ rm -f /etc/X11/xorg.conf.BKUP
+ if [[ -f /etc/X11/xorg.conf ]]; then
+ echo "Making backup of xorg.conf as /etc/X11/xorg.conf.BKUP"
+ cp /etc/X11/xorg.conf /etc/X11/xorg.conf.BKUP
+ else
+ echo "There's no /etc/X11/xorg.conf so it couldn't be backed up."
+ fi
+
+ if [[ -e /etc/X11/xorg.conf.d ]]; then
+ echo "Making backup of /etc/X11/xorg.conf.d/*"
+ if [[ ! -d /etc/X11/xorg.conf.d ]]; then
+ echo "!!!"
+ echo "/etc/X11/xorg.conf.d is not a directory!"
+ return
+ fi
+ mkdir -p /etc/X11/xorg.conf.d.BKUP
+ rm -f /etc/X11/xorg.conf.d.BKUP/* # dotfiles and subdirectories (who keeps them there?!) are left untouched
+ cp /etc/X11/xorg.conf.d/* /etc/X11/xorg.conf.d.BKUP/ # and not copied (that's fine)
+ echo "/etc/X11/xorg.conf.d/* files are backed up in /etc/X11/xorg.conf.d.BKUP/"
+ else
+ echo "There's no /etc/X11/xorg.conf.d (directory) so it couldn't be backed up."
+ fi
+
+ echo ""
+ echo "INTEL graphics users please read the url below before proceding"
+ echo ""
+ echo "http://gentoo-wiki.com/HOWTO_Intel_Onboard_Graphics_Notebooks_Native_Resolution"
+}
+
+function xorg_restore
+{
+ is_root || return
+
+ echo "Are you sure? This will replace your /etc/X11/xorg.conf and /etc/X11/xorg.conf.d/*.conf."
+ echo "[Y/n]"
+ local reply
+ read reply
+ if [[ $reply != "" && $reply != "y" && $reply != "Y" ]]; then
+ echo "OK, aborting."
+ return
+ fi
+
+ if [[ -f /etc/X11/xorg.conf.BKUP ]]; then
+ echo "xorg.conf backup (/etc/X11/xorg.conf.BKUP) exists, whew!"
+ cp /etc/X11/xorg.conf.BKUP /etc/X11/xorg.conf
+ echo ""
+ echo "The original xorg.conf has been restored"
+ else
+ echo "UH OH!! The backup /etc/X11/xorg.conf.BKUP hasn't been made."
+ echo "If you think you need the file, don't panic, you can copy it from the Live DVD/CD."
+ fi
+
+ echo ""
+
+ if [[ -d /etc/X11/xorg.conf.d.BKUP ]] \
+ && (shopt -s nullglob; f=(/etc/X11/xorg.conf.d.BKUP/*.conf); [[ ${#f[*]} -ne 0 ]] )
+ then
+ echo "The backup /etc/X11/xorg.conf.d.BKUP (directory) exists and contails .conf files."
+ mkdir -p /etc/X11/xorg.conf.d
+ # similar notes as for xorg_backup, but files like .disabled are not removed
+ rm -f /etc/X11/xorg.conf.d/*.conf
+ cp /etc/X11/xorg.conf.d.BKUP/* /etc/X11/xorg.conf.d/
+ echo "Your settings are now restored to /etc/X11/xorg.conf.d/."
+ fi
+}
+
+function grub_backup
+{
+ is_root || return
+
+ echo "Note: to modify GRUB configuration, you should edit /etc/default/grub"
+ echo " or a file in /etc/grub.d and then run grub-mkconfig -o /boot/grub/grub.cfg"
+ echo " (/boot/grub/grub.cfg shouldn't be edited by hand)."
+ echo ""
+
+ if [[ -f /boot/grub/grub.cfg.BKUP ]]; then
+ echo "grub.cfg backup already exists, so the new one wasn't made."
+ echo "Now off we go to edit the file...."
+ else
+ echo "Making backup of grub.cfg as /boot/grub/grub.cfg.BKUP"
+ cp /boot/grub/grub.cfg /boot/grub/grub.cfg.BKUP
+ echo ""
+ fi
+}
+
+function grub_restore
+{
+ is_root || return
+
+ echo "Are you sure? This will replace your /boot/grub/grub.cfg."
+ echo "[Y/n]"
+ local reply
+ read reply
+ if [[ $reply != "" && $reply != "y" && $reply != "Y" ]]; then
+ echo "OK, aborting."
+ return
+ fi
+
+ if [[ -f /boot/grub/grub.cfg.BKUP ]]
+ then
+ echo "grub.cfg backup (/boot/grub/grub.cfg.BKUP) exists, whew!"
+ cp /boot/grub/grub.cfg.BKUP /boot/grub/grub.cfg
+ echo ""
+ echo "The original grub.cfg has been restored"
+ else
+ echo "UH OH!! The backup script /boot/grub/grub.cfg.BKUP hasn't been made."
+ echo "Don't panic, you can use the Sabayon installer to repair GRUB."
+ fi
+}
+
+function horner
+{
+
+# Quick system info gatherer written for Sabayon GNU/Linux
+#(http://sabayonlinux.org)
+# Copyright 2008 Richard Edward Horner
+# Last modified 2008-11-26
+# Please send all comments, suggestions, bugs and patches to (rich AT
+#richhorner DOT com)
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+HOSTNAME=`hostname`
+RELEASE=`cat /etc/sabayon-release`
+CPU=`uname -p`
+KERNEL=`uname -r`
+KERN_ARCH=`uname -m`
+DISK=`df -lT --exclude-type=tmpfs --exclude-type=rootfs | awk 'BEGIN { total = 0; used = 0 } { if (NR > 1) { total += $3; used += $4 } } END { printf "%.1f/%.1fGB", used / 1000000, total / 1000000 }'`
+MEMORY=`cat /proc/meminfo | awk '{ if ($1 == "MemTotal:") { memtot = $2/1000 } else if ($1 == "MemFree:") { memfree = $2/1000 } } END { printf "%d/%dM", memfree, memtot }'`
+DAYS=`cat /proc/uptime | awk '{ printf "%.1f", $1/86400 }'`
+PROCS=`ps aux | awk 'END { print NR - 2 }'`
+RENDERER=`glxinfo | awk -F : '{ if ($1 == "OpenGL renderer string") print $2 }'`
+
+echo "Sysinfo for '$HOSTNAME': $RELEASE with $KERN_ARCH kernel $KERNEL
+on $CPU, HD: $DISK, MEM: $MEMORY, Renderer: $RENDERER, $PROCS procs,
+up $DAYS days"
+
+}
+
+# echo -e "\a[pastebunz debug ON]" >&2;
+# function pastebunz { sed 's/^/[pb] '/ | less; }
+
+# pastebunz seems to have some limit on max pasted lines, so this would be handy...
+function files_pastebin_linelimit
+{
+ # args: limit file_to_pastebin [file_to_pastebin] ...
+ # example: file_pastebin_linelimit 30 file1 "file name2" file3
+ # first arg: 0 means no limit
+ # By Enlik <sn at ubucentrum.net>
+ local TMPFILE=~/newbietmp
+ local LINESLIMIT
+ local LLIMIT_H
+
+ if [[ $# -le 1 ]]; then
+ echo "Error: no files to paste (in files_pastebin_linelimit)." >&2
+ return 2
+ fi
+
+ let LINESLIMIT=$1
+ shift
+ # If there is a limit of lines, we need to make space for file name and blank
+ # lines to be pasted. Otherwise we have as much space as we want.
+ if [[ $LINESLIMIT -eq 0 ]]; then
+ LLIMIT_H="+1"
+ else
+ LLIMIT_H=$(( LINESLIMIT - 3 ))
+ fi
+
+ >"$TMPFILE" || {
+ echo "Oh no! I can't create temporary file... Aborting." >&2
+ return 3
+ }
+
+ for file in "$@"; do
+ echo " --- file: $file ---"
+ echo " "
+ if [[ -r $file ]]; then
+ # This tail guarantees that LAST file name is visible (unless the limit is really small, <= 2 lines)
+ # (previous one(s) can be wiped by tail due to limit of lines).
+ # The file name is always visible if there's only one specified
+ # as argument (unless the limit value is really small, as above).
+ # All file names are always visible if there's no limit
+ # of lines, or the limit is big enough.
+ cat "$file" 2>&1 | tail -n $LLIMIT_H
+ elif [[ -e $file ]]; then
+ echo "THIS FILE COULDN'T BE READ."
+ else
+ echo "THIS FILE DOESN'T EXIST."
+ fi
+ echo " "
+ done >> "$TMPFILE"
+ if [[ $LINESLIMIT -eq 0 ]]; then
+ cat "$TMPFILE" | pastebunz
+ else
+ tail -n $LINESLIMIT "$TMPFILE" | pastebunz
+ fi
+ echo "** Please see the link above! **"
+
+ rm "$TMPFILE"
+ return 0
+}
+
+function files_pastebin
+{
+ files_pastebin_linelimit 0 "$@"
+}
+
+function system_pastebin
+{
+ echo -n "Please wait, it is going to take a while..."
+ local PASTE_TMP=/tmp/sabutil-tmp
+
+ >"$PASTE_TMP" || {
+ echo "Oh no! I can't create temporary file... Aborting."
+ return 1
+ }
+
+ echo "
+ sh /sbin/logscript.sh
+ " >> "$PASTE_TMP"
+ sh "/sbin/logscript.sh" >> "$PASTE_TMP"
+
+ cat "$PASTE_TMP"
+ cat "$PASTE_TMP" | pastebunz
+ echo "*** Please see the link above. ***"
+ rm "$PASTE_TMP"
+}
+
+function xorg0log_pastebin
+{
+ tail -n 150 /var/log/Xorg.0.log
+ files_pastebin_linelimit 150 /var/log/Xorg.0.log
+}
+
+function xsessionerrors_pastebin
+{
+ cat "$HOMEDIR/.xsession-errors" | tail -n 10
+ files_pastebin_linelimit 150 "$HOMEDIR/.xsession-errors"
+ if [[ $USER = "root" ]]; then
+ echo
+ echo "Notice: root's .xsession-errors file has been pasted."
+ echo "To get .xsession-errors from your regular account on which"
+ echo "you are logged using GDM, KDM or so (which is probably what you want),"
+ echo "run this script as that user, not root, or pastebin .xsession-errors"
+ echo "from YOUR home directory manually."
+ echo
+ fi
+}
+
+function dmesg_pastebin
+{
+ cat /var/log/dmesg
+ files_pastebin_linelimit 150 /var/log/dmesg
+}
+
+function grub_pastebin
+{
+ cat /boot/grub/grub.cfg
+ files_pastebin /boot/grub/grub.cfg
+}
+
+function fdisk_pastebin
+{
+ is_root || return # fdisk -l
+
+ local PASTE_TMP=/tmp/sabutil-tmp
+
+ >"$PASTE_TMP" || {
+ echo "Oh no! I can't create temporary file... Aborting."
+ return 1
+ }
+
+ (
+ echo "
+ fdisk -l
+ ";
+ fdisk -l;
+ ) > "$PASTE_TMP"
+
+ cat "$PASTE_TMP"
+ cat "$PASTE_TMP" | pastebunz
+ echo "*** Please see the link above. ***"
+ rm "$PASTE_TMP"
+}
+
+function messages_pastebin
+{
+ tail -n 150 /var/log/messages
+ files_pastebin_linelimit 150 /var/log/messages
+}
+
+function kdm_pastebin
+{
+ cat /var/log/kdm.log
+ files_pastebin_linelimit 150 /var/log/kdm.log
+}
+
+function rclog_pastebin
+{
+ if [[ -f /var/log/rc.log ]]; then
+ cat /var/log/rc.log | tail -n 10
+ files_pastebin_linelimit 150 /var/log/rc.log
+ else
+ echo "You Don't Have rc.log enabled in your /etc/rc.log"
+ echo " To enable, edit /etc/rc.log change NO to YES for rc_logger= "
+ echo ""
+ fi
+}
+
+function rcupdate_pastebin
+{
+ local PASTE_TMP=/tmp/sabutil-tmp
+
+ >"$PASTE_TMP" || {
+ echo "Oh no! I can't create temporary file... Aborting."
+ return 1
+ }
+
+ (
+ echo "
+ rc-update show
+ ";
+ rc-update show
+ ) > "$PASTE_TMP"
+
+ cat "$PASTE_TMP"
+ cat "$PASTE_TMP" | pastebunz
+ echo "*** Please see the link above. ***"
+ rm "$PASTE_TMP"
+}
+
+function xorg_pastebin
+{
+ echo "These files will be pasted (don't worry if any of them don't exist):"
+ ls -l /etc/X11/xorg.conf /etc/X11/xorg.conf.d/*
+ files_pastebin /etc/X11/xorg.conf.d/* /etc/X11/xorg.conf
+}
+
+function xorg_edit
+{
+ is_root &> /dev/null || echo "You are not root. You will only be able to view files."
+
+ local xorgfiles=() file
+ if (shopt -s nullglob; f=(/etc/X11/xorg.conf.d/*.conf); [[ ${#f[*]} -ne 0 ]] ); then
+ xorgfiles=( /etc/X11/xorg.conf.d/* ) # let's put all non-dot files; warning for non-conf is below
+ fi
+
+ if [[ -f /etc/X11/xorg.conf ]]; then
+ xorgfiles+=( /etc/X11/xorg.conf )
+ fi
+
+ if [[ ${#xorgfiles[*]} -eq 0 ]]; then
+ echo "I can't find any Xorg configuration files."
+ echo "There's no /etc/X11/xorg.conf or .conf files in /etc/X11/xorg.conf.d/ directory."
+ echo "Xorg uses autodected settings."
+ else
+ echo "These files affect your Xorg configuration."
+ echo "See http://fedoraproject.org/wiki/Input_device_configuration#xorg.conf.d for more informations."
+ echo "Select a file to edit or type q and press Enter to quit."
+ select file in "${xorgfiles[@]}"; do
+ if [[ -n $file ]]; then
+ # Not sure about files that don't start with a number and a hyphen - are they used?
+ if [[ ${file##*.} != "conf" ]]; then
+ echo "Warning: this file has no .conf suffix and thus will be ignored by Xorg."
+ press_enter
+ fi
+ nano -w "$file"
+ echo "Select a file to edit or type q and press Enter to quit."
+ elif [[ $REPLY = "q" || $REPLY = "Q" ]]; then
+ break
+ fi
+ done
+ fi
+}
+
+clear
+
+if [[ $1 = "menu" ]]; then
+ if [[ $EUID -ne 0 ]]; then
+ echo "This script should be run as root, or by someone in the root group. Some commands will not work for you." 1>&2
+ echo ""
+ fi
+ menu
+elif [[ $1 = "--help" || $1 = "-h" ]]; then
+ echo "usage:"
+ echo "$0 - will print some basic system infos"
+ echo "$0 menu - will show you menu"
+else
+ horner
+ echo ""
+ echo "Specify --help or -h to get help."
+ fi
diff --git a/app-misc/rogentoslive-tools/files/1.0/vga-cmd-parser b/app-misc/rogentoslive-tools/files/1.0/vga-cmd-parser
new file mode 100644
index 00000000..1e443171
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/vga-cmd-parser
@@ -0,0 +1,53 @@
+#!/usr/bin/python
+# Copyright 2008 Fabio Erculiani, Sabayon Linux Chief Architect
+# parses vga= parameters from cmdline given by isolinux and returns the right resolution
+# Shut up!
+
+res_map = {
+ "0x385": ("640x400",24),
+ "0x312": ("640x480",24),
+ "0x315": ("800x600",24),
+ "0x318": ("1024x768",24),
+ "0x31b": ("1280x1024",24),
+ "0x330": ("640x400",16),
+ "0x33E": ("640x400",24),
+ "0x331": ("640x480",16),
+ "0x33F": ("640x480",24),
+ "0x332": ("800x600",16),
+ "0x340": ("800x600",24),
+ "0x333": ("1024x768",16),
+ "0x341": ("1024x768",24),
+ "0x334": ("1152x864",16),
+ "0x342": ("1152x864",24),
+ "0x335": ("1280x960",16),
+ "0x343": ("1280x960",24),
+ "0x336": ("1280x1024",16),
+ "0x344": ("1280x1024",24),
+ "0x337": ("1400x1050",16),
+ "0x345": ("1400x1050",24),
+ "0x338": ("1600x1200",16),
+ "0x346": ("1600x1200",24),
+ "0x339": ("1792x1344",16),
+ "0x347": ("1792x1344",24),
+ "0x33A": ("1856x1392",16),
+ "0x348": ("1856x1392",24),
+ "0x33B": ("1920x1440",16),
+ "0x349": ("1920x1440",24),
+ "0x33C": ("2048x1536",16),
+ "0x34A": ("2048x1536",24)
+}
+
+f = open("/proc/cmdline")
+cmdline = f.readline().strip().split()
+cmdline.reverse()
+for item in cmdline:
+ if item.startswith("vga="):
+ item_split = item.split("=")
+ if len(item_split) == 2:
+ data = item_split[1]
+ try:
+ if res_map.get(data) != None:
+ print res_map[data][0],res_map[data][1]
+ break
+ except TypeError:
+ pass
diff --git a/app-misc/rogentoslive-tools/files/1.0/x-setup-configuration b/app-misc/rogentoslive-tools/files/1.0/x-setup-configuration
new file mode 100644
index 00000000..57f1688f
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/x-setup-configuration
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+# get livecd functions
+source /sbin/livecd-functions.sh
+source /sbin/rogentos-functions.sh
+
+runtime_linking_proprietary_drivers() {
+ if [ -d "/lib/nvidia" ] || [ -d "/lib/fglrx" ]; then
+ current_arch=$(uname -m)
+ if [ "$current_arch" == "x86_64" ]; then
+ ld_arch="elf_x86_64"
+ elif [ "$current_arch" == "i686" ]; then
+ ld_arch="elf_i386"
+ fi
+ lspci_vga=$(lspci | grep ' VGA ')
+ mount -t tmpfs none /lib/modules/$(uname -r)/video
+ if [ -n "`echo $lspci_vga | grep -i nvidia`" ]; then
+ ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o
+ depmod -a &> /dev/null
+ elif [ -n "`echo $lspci_vga | grep -i ati`" ]; then
+ ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o
+ depmod -a &> /dev/null
+ elif [ -n "`echo $lspci_vga | grep -i unknown`" ]; then
+ ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o
+ ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o
+ depmod -a &> /dev/null
+ elif [ -z "$lspci_vga" ]; then
+ ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o
+ ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o
+ depmod -a &> /dev/null
+ fi
+ fi
+}
+
+buggy_fglrx_xv_fixup_code() {
+ # This is a workaround for xv being broken
+ # on fglrx <12.2, disable Xv in xorg.conf.d
+ local workaround_file=/usr/share/rogentoslive-tools/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf
+ if [ -f "${workaround_file}" ]; then
+ is_fglrx=$(/bin/lsmod | grep ^fglrx)
+ if [ -n "${is_fglrx}" ]; then
+ cp "${workaround_file}" /usr/share/X11/xorg.conf.d
+ fi
+ fi
+}
+
+# create seed
+rm -f /etc/x-setup-configuration-running
+touch /etc/x-setup-configuration-running
+
+# Prepare Video Cards Proprietary Drivers
+if sabayon_is_live; then
+ runtime_linking_proprietary_drivers
+fi
+/sbin/gpu-configuration &> /dev/null
+
+# buggy_fglrx_xv_fixup_code
+
+# delete seed
+rm -f /etc/x-setup-configuration-running
diff --git a/app-misc/rogentoslive-tools/files/1.0/x-setup-init.d b/app-misc/rogentoslive-tools/files/1.0/x-setup-init.d
new file mode 100755
index 00000000..5b94ec94
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/x-setup-init.d
@@ -0,0 +1,68 @@
+#!/sbin/runscript
+# Copyright 2009-2012 Fabio Erculiani - Sabayon Linux
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after mtab
+ before hostname
+ before xdm
+}
+
+gpus_same() {
+ # $1 and $2: output lines from "lspci"
+ local id1 id2 # [xxxx:]xx:xx.x
+ local dev1 dev2 # vendor and device: xxxx:xxxx
+ id1=$(echo "$1" | awk '/ VGA / { print $1 }')
+ id2=$(echo "$2" | awk '/ VGA / { print $1 }')
+ if [ -z "$id1" ] || [ -z "$id2" ]; then
+ return 1
+ fi
+ dev1=$(lspci -s "$id1" -n | awk '{ print $3 }')
+ dev2=$(lspci -s "$id2" -n | awk '{ print $3 }')
+ [ "$dev1" = "$dev2" ]
+}
+
+start() {
+ . /sbin/rogentos-functions.sh
+ local do_redetect
+ do_redetect=$(cat /proc/cmdline | grep "gpudetect")
+
+ if sabayon_is_live; then
+ ebegin "Configuring GPU Hardware Acceleration and Input devices"
+ start-stop-daemon --start --background --pidfile /var/run/x-setup.pid --make-pidfile --exec /usr/sbin/x-setup-configuration
+ eend 0
+ else
+ if [ -e /first_time_run ] || [ ! -e /etc/gpu-detector.conf ] \
+ || [ -n "$do_redetect" ] || [ ! -f /etc/X11/xorg.conf ]; then
+ ebegin "Configuring GPU Hardware Acceleration and Input devices for the first time"
+ # store config file
+ lspci | grep ' VGA ' > /etc/gpu-detector.conf
+ /usr/sbin/x-setup-configuration
+ eend 0
+ return
+ fi
+
+ local lspci_vga stored_vga
+ local infostr_run="Configuring GPU Hardware Acceleration and Input devices"
+ local infostr_skip="Skipping GPU Hardware Acceleration and Input devices configuration"
+ lspci_vga=$(lspci | grep ' VGA ')
+ stored_vga=$(cat /etc/gpu-detector.conf)
+
+ if [ "$lspci_vga" != "$stored_vga" ] ; then
+ # Strings are different, let's do the more "heavy" and accurate comparison.
+ if gpus_same "$lspci_vga" "$stored_vga"; then
+ # this may happen after vendor changes its name etc. and PCI ID file is updated
+ ebegin "${infostr_skip}, only updating GPU information file"
+ else
+ ebegin "$infostr_run"
+ /usr/sbin/x-setup-configuration &> /dev/null
+ fi
+
+ echo "$lspci_vga" > /etc/gpu-detector.conf
+ eend 0
+ return
+ fi
+
+ einfo "$infostr_skip"
+ fi
+}
diff --git a/app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf b/app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf
new file mode 100644
index 00000000..54478aa9
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf
@@ -0,0 +1,4 @@
+Section "Extensions"
+ # This should be hopefully fixed in ati-drivers-12.2
+ Option "XVideo" "Disable"
+EndSection
diff --git a/app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-synaptics.conf b/app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-synaptics.conf
new file mode 100644
index 00000000..245b2458
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-synaptics.conf
@@ -0,0 +1,58 @@
+Section "InputClass"
+ Identifier "touchpad catchall"
+ Driver "synaptics"
+ MatchIsTouchpad "on"
+ MatchDevicePath "/dev/input/event*"
+
+ # No longer needed, see bug 1922#12
+ # Option "SHMConfig" "1"
+ # More harm than good? see bug 1922#12
+ # Option "MaxTapMove" "2000"
+ Option "VertEdgeScroll" "1"
+ Option "VertTwoFingerScroll" "1"
+ Option "HorizTwoFingerScroll" "1"
+ Option "CircularScrolling" "0"
+ Option "TapButton1" "1"
+ Option "TapButton2" "2"
+ Option "TapButton3" "3"
+
+EndSection
+
+# Apple MacBook Touchpad
+Section "InputClass"
+ Identifier "touchpad catchall"
+ Driver "synaptics"
+ MatchIsTouchpad "on"
+ MatchDevicePath "/dev/input/event*"
+ MatchProduct "bcm5974"
+ Option "ClickFinger1" "1"
+ Option "ClickFinger2" "3"
+ Option "ClickFinger3" "2"
+ Option "HorizEdgeScroll" "0"
+ Option "VertEdgeScroll" "0"
+ Option "VertEdgeScroll" "1"
+ Option "VertTwoFingerScroll" "1"
+ Option "HorizTwoFingerScroll" "1"
+ Option "HorizScrollDelta" "0"
+ Option "VertScrollDelta" "40"
+ Option "PressureMotionMinZ" "10"
+ Option "FingerLow" "16"
+ Option "FingerHigh" "80"
+ Option "FingerPress" "256"
+ Option "PalmDetect" "1"
+ Option "PalmMinWidth" "10"
+ Option "PalmMinZ" "200"
+ Option "MinSpeed" "0.8"
+ Option "MaxSpeed" "1.2"
+ Option "AccelFactor" "0.10"
+ Option "MaxTapMove" "25"
+ Option "MaxTapTime" "223"
+ Option "MaxDoubleTapTime" "200"
+ Option "TapButton1" "0"
+ Option "TapButton2" "0"
+ Option "TapButton3" "0"
+ Option "RTCornerButton" "0"
+ Option "RBCornerButton" "0"
+ Option "LTCornerButton" "0"
+ Option "LBCornerButton" "0"
+EndSection
diff --git a/app-misc/rogentoslive-tools/files/1.0/xorg.conf.rogentos b/app-misc/rogentoslive-tools/files/1.0/xorg.conf.rogentos
new file mode 100644
index 00000000..bc6135c3
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/1.0/xorg.conf.rogentos
@@ -0,0 +1,100 @@
+Section "Module"
+ SubSection "extmod"
+ Option "omit xfree86-dga"
+ EndSubSection
+ Load "i2c"
+ Load "ddc"
+ Load "vbe"
+# Load "dri"
+EndSection
+
+
+Section "ServerFlags"
+ Option "AllowMouseOpenFail" "true"
+EndSection
+
+# **********************************************************************
+# Monitor section
+# **********************************************************************
+
+# Any number of monitor sections may be present
+
+Section "Monitor"
+ Identifier "Generic Monitor"
+ VertRefresh 43 - 60
+ HorizSync 28 - 80
+EndSection
+
+# **********************************************************************
+# Graphics device section
+# **********************************************************************
+
+# Any number of graphics device sections may be present
+
+Section "Device"
+ Identifier "VESA"
+ Driver "vesa" # do not remove vesa
+ #Option "RenderAccel" "on"
+ #Option "XAANoOffscreenPixmaps"
+ #Option "BusType" "PCI"
+ #Option "ColorTiling" "on"
+ #Option "EnablePageFlip" "on"
+ Option "UseEvents" "True"
+EndSection
+
+
+# **********************************************************************
+# Screen sections.
+# **********************************************************************
+
+Section "Screen"
+
+# The Identifier, Device and Monitor lines must be present
+
+ Identifier "Screen 1"
+ Device "VESA"
+ Monitor "Generic Monitor"
+ #Option "AddARGBGLXVisuals" "true"
+
+# The favoured Depth and/or Bpp may be specified here
+
+ DefaultDepth 24
+
+ SubSection "Display"
+ Depth 8
+ ViewPort 0 0
+ #Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+
+ SubSection "Display"
+ Depth 16
+ ViewPort 0 0
+ #Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+
+ SubSection "Display"
+ Depth 24
+ ViewPort 0 0
+ #Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+
+
+EndSection
+
+
+Section "ServerLayout"
+# The Identifier line must be present
+
+ Identifier "Main Layout"
+ Screen 0 "Screen 1"
+
+EndSection
+
+Section "DRI"
+ Mode 0666
+EndSection
+
+Section "Extensions"
+ #Option "Composite" "Enable"
+EndSection
+
diff --git a/app-misc/rogentoslive-tools/files/2/bashlogin b/app-misc/rogentoslive-tools/files/2/bashlogin
new file mode 100644
index 00000000..34689189
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/bashlogin
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+cat /etc/motd 2>/dev/null
+cd /root
+[[ -e .bash_profile ]] && source .bash_profile
+exec -l /bin/bash -i
diff --git a/app-misc/rogentoslive-tools/files/2/cdeject b/app-misc/rogentoslive-tools/files/2/cdeject
new file mode 100644
index 00000000..302a3415
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/cdeject
@@ -0,0 +1,11 @@
+#!/sbin/runscript
+
+description="Eject LiveCD/DVD at live system shutdown/reboot"
+
+depend() {
+ after *
+}
+
+start() {
+ /usr/libexec/cdeject.sh
+}
diff --git a/app-misc/rogentoslive-tools/files/2/cdeject.service b/app-misc/rogentoslive-tools/files/2/cdeject.service
new file mode 100644
index 00000000..96f44242
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/cdeject.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Eject CD/DVD before power off or reboot
+DefaultDependencies=no
+After=shutdown.target
+Before=final.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=/usr/libexec/cdeject.sh
+
+[Install]
+WantedBy=multi-user.target \ No newline at end of file
diff --git a/app-misc/rogentoslive-tools/files/2/cdeject.sh b/app-misc/rogentoslive-tools/files/2/cdeject.sh
new file mode 100644
index 00000000..ae75ae84
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/cdeject.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+is_live=$(cat /proc/cmdline | grep cdroot)
+
+if [ -n "${is_live}" ]; then
+ cdrom_dev=$(cat /proc/mounts | grep " /mnt/cdrom " | cut -d" " -f 1)
+ # check if /mnt/cdrom device is a cdrom device
+ if [ "${cdrom_dev}" = /dev/sr* ] || [ "${cdrom_dev}" = /dev/cdrom* ]; then
+ eject -mp "${cdrom_dev}" &> /dev/null
+ fi
+fi
+
diff --git a/app-misc/rogentoslive-tools/files/2/installer-gui b/app-misc/rogentoslive-tools/files/2/installer-gui
new file mode 100644
index 00000000..5300726d
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/installer-gui
@@ -0,0 +1,15 @@
+#!/sbin/runscript
+# Copyright 2004-2013 Sabayon
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ before xdm
+ after rogentoslive
+ need dbus
+}
+
+start() {
+ ebegin "Configuring the installer"
+ /usr/libexec/installer-gui.sh
+ eend $?
+}
diff --git a/app-misc/rogentoslive-tools/files/2/installer-gui.service b/app-misc/rogentoslive-tools/files/2/installer-gui.service
new file mode 100644
index 00000000..963245ca
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/installer-gui.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Sabayon installer setup
+Before=display-manager.service
+After=rogentoslive.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=/usr/libexec/installer-gui.sh
+
+[Install]
+WantedBy=multi-user.target \ No newline at end of file
diff --git a/app-misc/rogentoslive-tools/files/2/installer-gui.sh b/app-misc/rogentoslive-tools/files/2/installer-gui.sh
new file mode 100644
index 00000000..7636678d
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/installer-gui.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+. /sbin/rogentos-functions.sh
+
+if rogentos_is_gui_install; then
+ rogentos_setup_autologin
+ rogentos_setup_gui_installer
+fi
diff --git a/app-misc/rogentoslive-tools/files/2/installer-text b/app-misc/rogentoslive-tools/files/2/installer-text
new file mode 100644
index 00000000..faada208
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/installer-text
@@ -0,0 +1,13 @@
+#!/sbin/runscript
+# Copyright 2004-2013 Sabayon Linux
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after *
+}
+
+start() {
+ ebegin "Configuring the text installer"
+ /usr/libexec/installer-text.sh
+ eend $?
+}
diff --git a/app-misc/rogentoslive-tools/files/2/installer-text.service b/app-misc/rogentoslive-tools/files/2/installer-text.service
new file mode 100644
index 00000000..be11d2b7
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/installer-text.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Sabayon text installer setup
+After=rogentoslive.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=/usr/libexec/installer-text.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/app-misc/rogentoslive-tools/files/2/installer-text.sh b/app-misc/rogentoslive-tools/files/2/installer-text.sh
new file mode 100644
index 00000000..8bb1262b
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/installer-text.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+. /sbin/rogentos-functions.sh
+
+if rogentos_is_text_install; then
+ rogentos_setup_text_installer
+fi
diff --git a/app-misc/rogentoslive-tools/files/2/livecd-functions.sh b/app-misc/rogentoslive-tools/files/2/livecd-functions.sh
new file mode 100644
index 00000000..5e0c4600
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/livecd-functions.sh
@@ -0,0 +1,635 @@
+#!/bin/bash
+
+# Global Variables:
+# CDBOOT -- is booting off CD
+# LIVECD_CONSOLE -- console that is specified on commandline
+# -- (ttyS0, etc) Only defined if passed to kernel
+# LIVECD_CONSOLE_BAUD -- console baudrate specified
+# LIVECD_CONSOLE_PARITY -- console parity specified
+# LIVECD_CONSOLE_DATABITS -- console databits specified
+
+[[ ${RC_GOT_FUNCTIONS} != "yes" ]] && \
+ [[ -e /etc/init.d/functions.sh ]] && \
+ source /etc/init.d/functions.sh
+
+# emulating einfo since it's not always available from functions.sh
+# FIXME: fix functions.sh
+einfo() {
+ [[ -x "/lib/rc/bin/einfo" ]] && /lib/rc/bin/einfo "${1}"\
+ || echo "* ${1}"
+}
+
+livecd_parse_opt() {
+ case "$1" in
+ *\=*)
+ echo "$1" | cut -f2 -d=
+ ;;
+ esac
+}
+
+livecd_check_root() {
+ if [ "$(whoami)" != "root" ]
+ then
+ echo "ERROR: must be root to continue"
+ return 1
+ fi
+}
+
+livecd_get_cmdline() {
+ echo "0" > /proc/sys/kernel/printk
+ CMDLINE=$(cat /proc/cmdline)
+ export CMDLINE
+}
+
+no_gl() {
+# einfo "If you have a card that you know is supported by either the ATI or"
+# einfo "NVIDIA binary drivers, please file a bug with the output of lspci"
+# einfo "on http://bugs.gentoo.org so we can resolve this."
+ GLTYPE=xorg-x11
+}
+
+ati_gl() {
+ einfo "ATI card detected."
+ if [ -e /usr/lib/xorg/modules/drivers/fglrx_drv.so ] \
+ || [ -e /usr/lib/modules/drivers/fglrx_drv.so ]
+ then
+ GLTYPE=ati
+ else
+ GLTYPE=xorg-x11
+ fi
+}
+
+nv_gl() {
+ einfo "NVIDIA card detected."
+ if [ -e /usr/lib/xorg/modules/drivers/nvidia_drv.so ] \
+ || [ -e /usr/lib/modules/drivers/nvidia_drv.so ]
+ then
+ GLTYPE=nvidia
+ else
+ GLTYPE=xorg-x11
+ fi
+}
+
+nv_no_gl() {
+ einfo "NVIDIA card detected."
+ echo
+ if [ -e /usr/lib/xorg/modules/drivers/nvidia_drv.so ] \
+ || [ -e /usr/lib/modules/drivers/nvidia_drv.so ]
+ then
+ einfo "This card is not supported by the latest version of the NVIDIA"
+ einfo "binary drivers. Switching to the X server's driver instead."
+ fi
+ GLTYPE=xorg-x11
+ sed -i 's/nvidia/nv/' /etc/X11/xorg.conf
+}
+
+get_video_cards() {
+ [ -x /sbin/lspci ] && VIDEO_CARDS="$(/sbin/lspci | grep ' VGA ')"
+ [ -x /usr/sbin/lspci ] && VIDEO_CARDS="$(/usr/sbin/lspci | grep ' VGA ')"
+ #NUM_CARDS="$(echo ${VIDEO_CARDS} | wc -l)"
+ #if [ ${NUM_CARDS} -eq 1 ] # Disabled to support NVIDIA SLI devices
+ #then
+ NVIDIA=$(echo ${VIDEO_CARDS} | grep -i "nVidia Corporation")
+ ATI=$(echo ${VIDEO_CARDS} | grep -i "ATI Technologies")
+ if [ -n "${NVIDIA}" ]
+ then
+ # Always set NVIDIA OpenGL, since it's stupid doing the contrary because:
+ # there's no X.Org free driver that supports OpenGL through MESA
+ nv_gl
+ elif [ -n "${ATI}" ]
+ then
+ ATI_CARD=$(echo ${ATI} | awk 'BEGIN {RS=" "} /(R|RV|RS|M)[0-9]+/ {print $1}')
+ if [ $(echo ${ATI_CARD} | grep S) ]
+ then
+ ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dS -f2)
+ elif [ $(echo ${ATI_CARD} | grep V) ]
+ then
+ ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dV -f2)
+ elif [ $(echo ${ATI_CARD} | grep M) ]
+ then
+ # ATI Technologies Inc. M52 [ ATI Mobility Radeon X1300 ]
+ ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dM -f2)
+ else
+ ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dR -f2)
+ fi
+
+ if [ -n "${ATI_CARD_OUT}" ] && [ ${ATI_CARD_OUT} -ge 300 ]
+ then
+ ati_gl
+ elif [ -n "${ATI_CARD_OUT}" ] && [ -n "`echo ${ATI_CARD} | grep M`" ]
+ then
+ # this is an ATI Mxx card
+ ati_gl
+ # >8.29.6 does not support R200 anymore
+ elif [ -n "${ATI_CARD_OUT}" ] && [ ${ATI_CARD_OUT} -ge 200 ]
+ then
+ no_gl
+ else
+ # set ATI OpenGL anyway
+ ati_gl
+ fi
+ else
+ no_gl
+ fi
+ #fi
+}
+
+livecd_config_wireless() {
+ cd /tmp/setup.opts
+ [ -x /usr/sbin/iwconfig ] && iwconfig=/usr/sbin/iwconfig
+ [ -x /sbin/iwconfig ] && iwconfig=/sbin/iwconfig
+ dialog --title "SSID" --inputbox "Please enter your SSID, or leave blank for selecting the nearest open network" 20 50 2> ${iface}.SSID
+ SSID=$(tail -n 1 ${iface}.SSID)
+ if [ -n "${SSID}" ]
+ then
+ dialog --title "WEP (Part 1)" --menu "Does your network use encryption?" 20 60 7 1 "Yes" 2 "No" 2> ${iface}.WEP
+ WEP=$(tail -n 1 ${iface}.WEP)
+ case ${WEP} in
+ 1)
+ dialog --title "WEP (Part 2)" --menu "Are you entering your WEP key in HEX or ASCII?" 20 60 7 1 "HEX" 2 "ASCII" 2> ${iface}.WEPTYPE
+ WEP_TYPE=$(tail -n 1 ${iface}.WEPTYPE)
+ case ${WEP_TYPE} in
+ 1)
+ dialog --title "WEP (Part 3)" --inputbox "Please enter your WEP key in the form of XXXX-XXXX-XX for 64-bit or XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XX for 128-bit" 20 50 2> ${iface}.WEPKEY
+ WEP_KEY=$(tail -n 1 ${iface}.WEPKEY)
+ if [ -n "${WEP_KEY}" ]
+ then
+ ${iwconfig} ${iface} essid "${SSID}"
+ ${iwconfig} ${iface} key "${WEP_KEY}"
+ fi
+ ;;
+ 2)
+ dialog --title "WEP (Part 3)" --inputbox "Please enter your WEP key in ASCII form. This should be 5 or 13 characters for either 64-bit or 128-bit encryption, repectively" 20 50 2> ${iface}.WEPKEY
+ WEP_KEY=$(tail -n 1 ${iface}.WEPKEY)
+ if [ -n "${WEP_KEY}" ]
+ then
+ ${iwconfig} ${iface} essid "${SSID}"
+ ${iwconfig} ${iface} key "s:${WEP_KEY}"
+ fi
+ ;;
+ esac
+ ;;
+ 2)
+ ${iwconfig} ${iface} essid "${SSID}"
+ ${iwconfig} ${iface} key off
+ ;;
+ esac
+ fi
+}
+
+livecd_write_wireless_conf() {
+ cd /tmp/setup.opts
+ SSID=$(tail -n 1 ${iface}.SSID)
+ if [ -n "${SSID}" ]
+ then
+ echo "" >> /etc/conf.d/net
+ echo "# This wireless configuration file was built by net-setup" > /etc/conf.d/net
+ WEP=$(tail -n 1 ${iface}.WEPTYPE)
+ case ${WEP} in
+ 1)
+ WEP_TYPE=$(tail -n 1 ${iface}.WEPTYPE)
+ if [ -n "${WEP_TYPE}" ]
+ then
+ WEP_KEY=$(tail -n 1 ${iface}.WEPKEY)
+ if [ -n "${WEP_KEY}" ]
+ then
+ SSID_TRANS=$(echo ${SSID//[![:word:]]/_})
+ case ${WEP_TYPE} in
+ 1)
+ echo "key_${SSID_TRANS}=\"${WEP_KEY} enc open\"" >> /etc/conf.d/net
+ ;;
+ 2)
+ echo "key_${SSID_TRANS}=\"s:${WEP_KEY} enc open\"" >> /etc/conf.d/net
+ ;;
+ esac
+ fi
+ fi
+ ;;
+ 2)
+ :
+ ;;
+ esac
+ echo "preferred_aps=( \"${SSID}\" )" >> /etc/conf.d/net
+ echo "associate_order=\"forcepreferredonly\"" >> /etc/conf.d/net
+ fi
+}
+
+livecd_config_ip() {
+ cd /tmp/setup.opts
+ dialog --title "TCP/IP setup" --menu "You can use DHCP to automatically configure a network interface or you can specify an IP and related settings manually. Choose one option:" 20 60 7 1 "Use DHCP to auto-detect my network settings" 2 "Specify an IP address manually" 2> ${iface}.DHCP
+ DHCP=$(tail -n 1 ${iface}.DHCP)
+ case ${DHCP} in
+ 1)
+ /sbin/dhclient -q -r -nw ${iface} &
+ ;;
+ 2)
+ dialog --title "IP address" --inputbox "Please enter an IP address for ${iface}:" 20 50 "192.168.1.1" 2> ${iface}.IP
+ IP=$(tail -n 1 ${iface}.IP)
+ BC_TEMP=$(echo $IP|cut -d . -f 1).$(echo $IP|cut -d . -f 2).$(echo $IP|cut -d . -f 3).255
+ dialog --title "Broadcast address" --inputbox "Please enter a Broadcast address for ${iface}:" 20 50 "${BC_TEMP}" 2> ${iface}.BC
+ BROADCAST=$(tail -n 1 ${iface}.BC)
+ dialog --title "Network mask" --inputbox "Please enter a Network Mask for ${iface}:" 20 50 "255.255.255.0" 2> ${iface}.NM
+ NETMASK=$(tail -n 1 ${iface}.NM)
+ dialog --title "Gateway" --inputbox "Please enter a Gateway for ${iface} (hit enter for none:)" 20 50 2> ${iface}.GW
+ GATEWAY=$(tail -n 1 ${iface}.GW)
+ dialog --title "DNS server" --inputbox "Please enter a name server to use (hit enter for none:)" 20 50 2> ${iface}.DNS
+ DNS=$(tail -n 1 ${iface}.DNS)
+ /sbin/ifconfig ${iface} ${IP} broadcast ${BROADCAST} netmask ${NETMASK}
+ if [ -n "${GATEWAY}" ]
+ then
+ /sbin/route add default gw ${GATEWAY} dev ${iface} netmask 0.0.0.0 metric 1
+ fi
+ if [ -n "${DNS}" ]
+ then
+ dialog --title "DNS Search Suffix" --inputbox "Please enter any domains which you would like to search on DNS queries (hit enter for none:)" 20 50 2> ${iface}.SUFFIX
+ SUFFIX=$(tail -n 1 ${iface}.SUFFIX)
+ echo "nameserver ${DNS}" > /etc/resolv.conf
+ if [ -n "${SUFFIX}" ]
+ then
+ echo "search ${SUFFIX}" >> /etc/resolv.conf
+ fi
+ fi
+ ;;
+ esac
+}
+
+livecd_write_net_conf() {
+ cd /tmp/setup.opts
+ echo "# Sabayon Linux static network configuration tool" > /etc/conf.d/net
+ DHCP=$(tail -n 1 ${iface}.DHCP)
+ case ${DHCP} in
+ 1)
+ echo "config_${iface}=\"dhcp\"" >> /etc/conf.d/net
+ echo "dhcp_${iface}=\"nosendhost\"" >> /etc/conf.d/net
+ ;;
+ 2)
+ IP=$(tail -n 1 ${iface}.IP)
+ BROADCAST=$(tail -n 1 ${iface}.BC)
+ NETMASK=$(tail -n 1 ${iface}.NM)
+ GATEWAY=$(tail -n 1 ${iface}.GW)
+ DNS="$(tail -n 1 ${iface}.DNS)"
+ DOMAIN="$(tail -n 1 ${iface}.SUFFIX)"
+ if [ -n "${IP}" -a -n "${BROADCAST}" -a -n "${NETMASK}" ]
+ then
+ echo "config_${iface}=\"${IP} netmask ${NETMASK} broadcast ${BROADCAST}\"" >> /etc/conf.d/net
+ if [ -n "${GATEWAY}" ]
+ then
+ echo "routes_${iface}=\"default via ${GATEWAY}\"" >> /etc/conf.d/net
+ fi
+ if [ -n "${DNS}" ]
+ then
+ echo "dns_servers_${iface}=\"${DNS}\"" >> /etc/conf.d/net
+ fi
+ if [ -n "${DOMAIN}" ]
+ then
+ echo "dns_search_${iface}=\"${DOMAIN}\"" >> /etc/conf.d/net
+ fi
+ fi
+ ;;
+ esac
+}
+
+get_ifmac() {
+ local iface=$1
+
+ # Example: 00:01:6f:e1:7a:06
+ cat /sys/class/net/${iface}/address
+}
+
+
+get_ifdriver() {
+ local iface=$1
+
+ # Example: ../../../bus/pci/drivers/forcedeth (wanted: forcedeth)
+ local if_driver=$(readlink /sys/class/net/${iface}/device/driver)
+ basename ${if_driver}
+}
+
+get_ifbus() {
+ local iface=$1
+
+ # Example: ../../../bus/pci (wanted: pci)
+ # Example: ../../../../bus/pci (wanted: pci)
+ # Example: ../../../../../../bus/usb (wanted: usb)
+ local if_bus=$(readlink /sys/class/net/${iface}/device/bus)
+ basename ${if_bus}
+}
+
+livecd_rev_string() {
+ # See Sabayon #2522, cannot use /usr/bin/rev because
+ # /usr might not be mounted
+ local copy=${1}
+ len=${#copy}
+ for((i=$len-1;i>=0;i--)); do rev="$rev${copy:$i:1}"; done
+ echo ${rev}
+}
+
+get_ifproduct() {
+ local iface=$1
+ local bus=$(get_ifbus ${iface})
+ local if_pciaddr
+ local if_devname
+ local if_usbpath
+ local if_usbmanufacturer
+ local if_usbproduct
+
+ if [[ ${bus} == "pci" ]]
+ then
+ # Example: ../../../devices/pci0000:00/0000:00:0a.0 (wanted: 0000:00:0a.0)
+ # Example: ../../../devices/pci0000:00/0000:00:09.0/0000:01:07.0 (wanted: 0000:01:07.0)
+ if_pciaddr=$(readlink /sys/class/net/${iface}/device)
+ if_pciaddr=$(basename ${if_pciaddr})
+
+ # Example: 00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3)
+ # (wanted: nVidia Corporation CK804 Ethernet Controller)
+ if_devname=$(lspci -s ${if_pciaddr})
+ if_devname=${if_devname#*: }
+ if_devname=${if_devname%(rev *)}
+ fi
+
+ if [[ ${bus} == "usb" ]]
+ then
+ if_usbpath=$(readlink /sys/class/net/${iface}/device)
+ if_usbpath=/sys/class/net/${iface}/$(dirname ${if_usbpath})
+ if_usbmanufacturer=$(< ${if_usbpath}/manufacturer)
+ if_usbproduct=$(< ${if_usbpath}/product)
+
+ [[ -n ${if_usbmanufacturer} ]] && if_devname="${if_usbmanufacturer} "
+ [[ -n ${if_usbproduct} ]] && if_devname="${if_devname}${if_usbproduct}"
+ fi
+
+ if [[ ${bus} == "ieee1394" ]]
+ then
+ if_devname="IEEE1394 (FireWire) Network Adapter";
+ fi
+
+ echo ${if_devname}
+}
+
+get_ifdesc() {
+ local iface=$1
+ desc=$(get_ifproduct ${iface})
+ if [[ -n ${desc} ]]
+ then
+ echo $desc
+ return;
+ fi
+
+ desc=$(get_ifdriver ${iface})
+ if [[ -n ${desc} ]]
+ then
+ echo $desc
+ return;
+ fi
+
+ desc=$(get_ifmac ${iface})
+ if [[ -n ${desc} ]]
+ then
+ echo $desc
+ return;
+ fi
+
+ echo "Unknown"
+}
+
+show_ifmenu() {
+ local old_ifs="${IFS}"
+ local opts
+ IFS=""
+ for ifname in $(/sbin/ifconfig -a | grep "^[^ ]"); do
+ ifname="${ifname%% *}"
+ [[ ${ifname} == "lo" ]] && continue
+ opts="${opts} '${ifname}' '$(get_ifdesc ${ifname})'"
+ done
+ IFS="${old_ifs}"
+
+ eval dialog --menu \"Please select the interface that you wish to configure from the list below:\" 0 0 0 $opts 2>iface
+ [[ "$?" == "1" ]] && exit
+
+ iface=$(< iface)
+}
+
+show_ifconfirm() {
+ local iface=$1
+ local if_mac=$(get_ifmac ${iface})
+ local if_driver=$(get_ifdriver ${iface})
+ local if_bus=$(get_ifbus ${iface})
+ local if_product=$(get_ifproduct ${iface})
+
+ local text="Details for network interface ${iface} are shown below.\n\nInterface name: ${iface}\n"
+ [[ -n ${if_product} ]] && text="${text}Device: ${if_product}\n"
+ [[ -n ${if_mac} ]] && text="${text}MAC address: ${if_mac}\n"
+ [[ -n ${if_driver} ]] && text="${text}Driver: ${if_driver}\n"
+ [[ -n ${if_bus} ]] && text="${text}Bus type: ${if_bus}\n"
+ text="${text}\nIs this the interface that you wish to configure?"
+
+ if ! dialog --title "Interface details" --yesno "${text}" 15 70
+ then
+ result="no"
+ else
+ result="yes"
+ fi
+}
+
+livecd_console_settings() {
+ # scan for a valid baud rate
+ case "$1" in
+ 300*)
+ LIVECD_CONSOLE_BAUD=300
+ ;;
+ 600*)
+ LIVECD_CONSOLE_BAUD=600
+ ;;
+ 1200*)
+ LIVECD_CONSOLE_BAUD=1200
+ ;;
+ 2400*)
+ LIVECD_CONSOLE_BAUD=2400
+ ;;
+ 4800*)
+ LIVECD_CONSOLE_BAUD=4800
+ ;;
+ 9600*)
+ LIVECD_CONSOLE_BAUD=9600
+ ;;
+ 14400*)
+ LIVECD_CONSOLE_BAUD=14400
+ ;;
+ 19200*)
+ LIVECD_CONSOLE_BAUD=19200
+ ;;
+ 28800*)
+ LIVECD_CONSOLE_BAUD=28800
+ ;;
+ 38400*)
+ LIVECD_CONSOLE_BAUD=38400
+ ;;
+ 57600*)
+ LIVECD_CONSOLE_BAUD=57600
+ ;;
+ 115200*)
+ LIVECD_CONSOLE_BAUD=115200
+ ;;
+ esac
+ if [ "${LIVECD_CONSOLE_BAUD}" = "" ]
+ then
+ # If it's a virtual console, set baud to 38400, if it's a serial
+ # console, set it to 9600 (by default anyhow)
+ case ${LIVECD_CONSOLE} in
+ tty[0-9])
+ LIVECD_CONSOLE_BAUD=38400
+ ;;
+ *)
+ LIVECD_CONSOLE_BAUD=9600
+ ;;
+ esac
+ fi
+ export LIVECD_CONSOLE_BAUD
+
+ # scan for a valid parity
+ # If the second to last byte is a [n,e,o] set parity
+ local parity
+ parity=$(livecd_rev_string $1 | cut -b 2-2)
+ case "$parity" in
+ [neo])
+ LIVECD_CONSOLE_PARITY=$parity
+ ;;
+ esac
+ export LIVECD_CONSOLE_PARITY
+
+ # scan for databits
+ # Only set databits if second to last character is parity
+ if [ "${LIVECD_CONSOLE_PARITY}" != "" ]
+ then
+ LIVECD_CONSOLE_DATABITS=$(livecd_rev_string $1 | cut -b 1)
+ fi
+ export LIVECD_CONSOLE_DATABITS
+ return 0
+}
+
+livecd_read_commandline() {
+ livecd_get_cmdline || return 1
+
+ for x in ${CMDLINE}
+ do
+ case "${x}" in
+ cdroot)
+ CDBOOT="yes"
+ RC_NO_UMOUNTS="^(/|/dev|/dev/pts|/lib/rcscripts/init.d|/proc|/proc/.*|/sys|/mnt/livecd|/newroot)$"
+ export CDBOOT RC_NO_UMOUNTS
+ ;;
+ cdroot\=*)
+ CDBOOT="yes"
+ RC_NO_UMOUNTS="^(/|/dev|/dev/pts|/lib/rcscripts/init.d|/proc|/proc/.*|/sys|/mnt/livecd|/newroot)$"
+ export CDBOOT RC_NO_UMOUNTS
+ ;;
+ console\=*)
+ local live_console
+ live_console=$(livecd_parse_opt "${x}")
+
+ # Parse the console line. No options specified if
+ # no comma
+ LIVECD_CONSOLE=$(echo ${live_console} | cut -f1 -d,)
+ if [ "${LIVECD_CONSOLE}" = "" ]
+ then
+ # no options specified
+ LIVECD_CONSOLE=${live_console}
+ else
+ # there are options, we need to parse them
+ local livecd_console_opts
+ livecd_console_opts=$(echo ${live_console} | cut -f2 -d,)
+ livecd_console_settings ${livecd_console_opts}
+ fi
+ export LIVECD_CONSOLE
+ ;;
+ esac
+ done
+ return 0
+}
+
+livecd_fix_inittab() {
+ if [ "${CDBOOT}" = "" ]
+ then
+ return 1
+ fi
+
+ # Create a backup
+ cp -f /etc/inittab /etc/inittab.old
+
+ # Comment out current getty settings
+ sed -i -e '/^c[0-9]/ s/^/#/' /etc/inittab
+ sed -i -e '/^s[01]/ s/^/#/' /etc/inittab
+
+ # SPARC & HPPA console magic
+ if [ "${HOSTTYPE}" = "sparc" -o "${HOSTTYPE}" = "hppa" -o "${HOSTTYPE}" = "ppc64" ]
+ then
+ # Mount openprom tree for user debugging purposes
+ if [ "${HOSTTYPE}" = "sparc" ]
+ then
+ mount -t openpromfs none /proc/openprom
+ fi
+
+ # SPARC serial port A, HPPA mux / serial
+ if [ -c "/dev/ttyS0" ]
+ then
+ LIVECD_CONSOLE_BAUD=$(stty -F /dev/ttyS0 speed)
+ echo "s0:12345:respawn:/sbin/agetty -nl /bin/bashlogin ${LIVECD_CONSOLE_BAUD} ttyS0 vt100" >> /etc/inittab
+ fi
+ # HPPA software PDC console (K-models)
+ if [ "${LIVECD_CONSOLE}" = "ttyB0" ]
+ then
+ mknod /dev/ttyB0 c 11 0
+ LIVECD_CONSOLE_BAUD=$(stty -F /dev/ttyB0 speed)
+ echo "b0:12345:respawn:/sbin/agetty -nl /bin/bashlogin ${LIVECD_CONSOLE_BAUD} ttyB0 vt100" >> /etc/inittab
+ fi
+ # FB / STI console
+ if [ -c "/dev/vc/1" -o -c "/dev/tts/1" -o -c "/dev/tty2" ]
+ then
+ MODEL_NAME=$(cat /proc/cpuinfo |grep "model name"|sed 's/.*: //')
+ if [ "${MODEL_NAME}" = "UML" ]
+ then
+ for x in 0 1 2 3 4 5 6
+ do
+ echo "c${x}:12345:respawn:/sbin/mingetty --noclear --autologin root tty${x}" >> /etc/inittab
+ done
+ else
+ for x in 1 2 3 4 5 6
+ do
+ echo "c${x}:12345:respawn:/sbin/mingetty --noclear --autologin root tty${x}" >> /etc/inittab
+ done
+ fi
+ fi
+ if [ -c "/dev/hvc0" ]
+ then
+ einfo "Adding hvc console to inittab"
+ echo "s0:12345:respawn:/sbin/agetty -nl /bin/bashlogin 9600 hvc0 vt320" >> /etc/inittab
+ fi
+
+
+ # The rest...
+ else
+ for x in 1 2 3 4 5 6
+ do
+ echo "c${x}:12345:respawn:/sbin/agetty -nl /bin/bashlogin 38400 tty${x} linux" >> /etc/inittab
+ done
+ fi
+
+ # EFI-based machines should automatically hook up their console lines
+ if dmesg | grep -q '^Adding console on'
+ then
+ dmesg | grep '^Adding console on' | while read x; do
+ line=`echo "$x" | cut -d' ' -f4`
+ id=e`echo "$line" | grep -o '.\{1,3\}$'`
+ [ "${line}" = "${LIVECD_CONSOLE}" ] && continue # already setup above
+ case "$x" in
+ *options\ \'[0-9]*) speed=`echo "$x" | sed "s/.*options '//; s/[^0-9].*//"` ;;
+ *) speed=9600 ;; # choose a default, only matters if it is serial
+ esac
+ echo "$id:12345:respawn:/sbin/agetty -nl /bin/bashlogin ${speed} ${line} vt100" >> /etc/inittab
+ done
+ fi
+
+ # force reread of inittab
+ kill -HUP 1
+ return 0
+}
diff --git a/app-misc/rogentoslive-tools/files/2/livespawn b/app-misc/rogentoslive-tools/files/2/livespawn
new file mode 100644
index 00000000..44d7257e
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/livespawn
@@ -0,0 +1,10 @@
+#!/usr/bin/python
+import sys, os, subprocess
+args = sys.argv[1:]
+if not args: raise SystemExit(1)
+
+pid = os.fork()
+if pid == 0:
+ p = subprocess.Popen(args)
+ rc = p.wait()
+ raise SystemExit(rc)
diff --git a/app-misc/rogentoslive-tools/files/2/logscript.sh b/app-misc/rogentoslive-tools/files/2/logscript.sh
new file mode 100644
index 00000000..78381915
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/logscript.sh
@@ -0,0 +1,111 @@
+#!/bin/sh
+#requires the following
+# free, hostname, grep, cut, awk, uname
+
+HOSTNAME=`hostname -s`
+IP_ADDRS=`ifconfig | grep 'inet addr' | grep -v '255.0.0.0' | cut -f2 -d':' | awk '{print $1}'`
+IP_ADDRS=`echo $IP_ADDRS | sed 's/\n//g'`
+
+#memory
+MEMORY=`free | grep Mem | awk '{print $2}'`
+
+#cpu info
+CPUS=`cat /proc/cpuinfo | grep processor | wc -l | awk '{print $1}'`
+CPU_MHZ=`cat /proc/cpuinfo | grep MHz | tail -n1 | awk '{print $4}'`
+CPU_TYPE=`cat /proc/cpuinfo | grep vendor_id | tail -n 1 | awk '{print $3}'`
+CPU_TYPE2=`uname -m`
+CPU_TYPE3=`uname -p`
+
+OS_NAME=`uname -s`
+OS_OS=`uname -o`
+OS_KERNEL=`uname -r`
+OS_RELEASE=`cat /etc/rogentos-release`
+OS_EDITION=`cat /etc/rogentos-edition`
+ESELECT_KERNEL=`eselect --no-color kernel list`
+ESELECT_OPENGL=`eselect --no-color opengl list`
+ESELECT_JAVA=`eselect --no-color java-vm list`
+ESELECT_JAVAP=`eselect --no-color java-nsplugin list`
+
+EQUO=`equo --version`
+PORTAGE=`emerge --version`
+
+UPTIME=`uptime`
+MEM=`free -t -m`
+SPACE=`df -TH`
+
+PCIINFO=`lspci | cut -f3 -d':'`
+#Another way to do it
+#PCIINFO=`lspci | cut -f3 -d':'`
+
+LSUSB=`lsusb`
+LSMOD=`lsmod`
+#print it out
+echo "$HOSTNAME"
+echo "--------------------------------------------------------------------"
+echo "Hostname : $HOSTNAME"
+echo "Host Address : $IP_ADDRS"
+echo "Main Memory : $MEMORY"
+echo "Number of CPUs : $CPUS"
+echo "CPU Type : $CPU_TYPE2 $CPU_TYPE3 $CPU_MHZ MHz"
+echo "OS Release : $OS_RELEASE"
+echo "OS Edition : $OS_EDITION"
+echo "Kernel Name : $OS_NAME $OS_OS"
+echo "Kernel Version : $OS_KERNEL"
+echo "Uptime : $UPTIME"
+echo "--------------------------------------------------------------------"
+echo
+echo "Entropy Version"
+echo "$EQUO"
+echo
+echo "Portage Version"
+echo "$PORTAGE"
+echo "--------------------------------------------------------------------"
+echo
+echo "Kernel List"
+echo "$ESELECT_KERNEL"
+echo "Your Kernel Should Be Set To:"
+echo "$OS_KERNEL"
+echo "Use eselect kernel set #"
+echo "--------------------------------------------------------------------"
+echo
+echo "OpenGL List"
+echo "$ESELECT_OPENGL"
+echo "The above should be set to your video card, see lspci"
+echo "Use eselect opengl set #"
+echo "--------------------------------------------------------------------"
+echo
+echo "Java VM List"
+echo "$ESELECT_JAVA"
+echo "Use java-config --set-system-vm #"
+echo "--------------------------------------------------------------------"
+echo
+echo "Java-nsplugin List"
+echo "$ESELECT_JAVAP"
+echo "Use eselect java-nsplugin set #"
+echo "--------------------------------------------------------------------"
+echo
+echo "Devices - lspci"
+echo "--------------------------------------------------------------------"
+echo "$PCIINFO"
+echo "--------------------------------------------------------------------"
+echo
+echo "Devices - lsmod"
+echo "--------------------------------------------------------------------"
+echo "$LSMOD"
+echo "--------------------------------------------------------------------"
+echo
+echo "Devices - lsusb"
+echo "--------------------------------------------------------------------"
+echo "$LSUSB"
+echo "--------------------------------------------------------------------"
+echo
+echo "Memory"
+echo "--------------------------------------------------------------------"
+echo "$MEM"
+echo "--------------------------------------------------------------------"
+echo
+echo "Disk Space"
+echo "--------------------------------------------------------------------"
+echo "$SPACE"
+echo "--------------------------------------------------------------------"
+echo
diff --git a/app-misc/rogentoslive-tools/files/2/net-setup b/app-misc/rogentoslive-tools/files/2/net-setup
new file mode 100644
index 00000000..e84de48b
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/net-setup
@@ -0,0 +1,65 @@
+#!/bin/bash
+# Copyright 1999-2005 Gentoo Foundation
+# Copyright 2006-2008 Fabio Erculiani
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo/src/livecd-tools/net-setup,v 1.19 2006/05/30 20:20:11 wolf31o2 Exp $
+
+if [ -f /sbin/livecd-functions.sh ]
+then
+ source /sbin/livecd-functions.sh
+else
+ echo "ERROR: /sbin/livecd-functions.sh could not be loaded!"
+ exit 1
+fi
+
+if [ ! -x $(which dialog) ]
+then
+ echo "ERROR: The dialog utility is required for net-setup. Exiting!"
+ exit 1
+fi
+
+livecd_check_root || exit 1
+
+# Hide any potential error messages from the readlink/dirname/etc calls below
+exec 2>/dev/null
+
+if [ -z "${1}" ]
+then
+ show_ifmenu
+ echo $iface
+else
+ iface="${1}"
+fi
+
+[ ! -d /tmp/setup.opts ] && mkdir /tmp/setup.opts
+cd /tmp/setup.opts
+
+while true; do
+ show_ifconfirm $iface
+ [[ $result == "yes" ]] && break
+ show_ifmenu
+done
+
+# Show stderr again
+exec 2>/dev/stderr
+
+dialog --title "Network setup" --menu "This script is designed to setup both wired and wireless network settings. All questions below apply to the ${iface} interface only. Choose one option:" 20 60 7 1 "My network is wireless" 2 "My network is wired" 2> ${iface}.WIRED_WIRELESS
+WIRED_WIRELESS=$(tail -n 1 ${iface}.WIRED_WIRELESS)
+case ${WIRED_WIRELESS} in
+ 1)
+ livecd_config_wireless
+ livecd_config_ip
+ livecd_write_wireless_conf
+ ;;
+ 2)
+ livecd_config_ip
+ ;;
+ *)
+ exit 0
+ ;;
+esac
+livecd_write_net_conf
+
+echo "Type \"ifconfig\" to make sure the interface was configured correctly."
+
+# vim: ts=4
diff --git a/app-misc/rogentoslive-tools/files/2/rogentos-functions.sh b/app-misc/rogentoslive-tools/files/2/rogentos-functions.sh
new file mode 100644
index 00000000..d5584715
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/rogentos-functions.sh
@@ -0,0 +1,284 @@
+#!/bin/bash
+
+GDM_FILE="/usr/share/gdm/defaults.conf"
+CUSTOM_GDM_FILE="/etc/gdm/custom.conf"
+KDM_FILE="/usr/share/config/kdm/kdmrc"
+LXDM_FILE="/etc/lxdm/lxdm.conf"
+LIGHTDM_FILE="/etc/lightdm/lightdm.conf"
+OEM_FILE="/etc/oemlive.sh"
+OEM_FILE_NEW="/etc/oem/liveboot.sh"
+LIVE_USER_GROUPS="audio bumblebee cdrom cdrw clamav console entropy games \
+kvm lp lpadmin messagebus plugdev polkituser portage pulse pulse-access pulse-rt \
+scanner usb users uucp vboxguest vboxusers video wheel"
+LIVE_USER=${ROGENTOS_USER:-rogentosuser}
+
+rogentos_setup_autologin() {
+ # GDM - GNOME
+ if [ -f "${GDM_FILE}" ]; then
+ sed -i "s/^AutomaticLoginEnable=.*/AutomaticLoginEnable=true/" ${GDM_FILE}
+ sed -i "s/^AutomaticLogin=.*/AutomaticLogin=${LIVE_USER}/" ${GDM_FILE}
+
+ sed -i "s/^TimedLoginEnable=.*/TimedLoginEnable=true/" ${GDM_FILE}
+ sed -i "s/^TimedLogin=.*/TimedLogin=${LIVE_USER}/" ${GDM_FILE}
+ sed -i "s/^TimedLoginDelay=.*/TimedLoginDelay=0/" ${GDM_FILE}
+
+ elif [ -f "${CUSTOM_GDM_FILE}" ]; then
+ # FIXME: if this is called multiple times, it generates duplicated entries
+ sed -i "s:\[daemon\]:\[daemon\]\nAutomaticLoginEnable=true\nAutomaticLogin=${LIVE_USER}\nTimedLoginEnable=true\nTimedLogin=${LIVE_USER}\nTimedLoginDelay=0:" \
+ "${CUSTOM_GDM_FILE}"
+ # change other entries there
+ sed -i "s/^TimedLogin=.*/TimedLogin=${LIVE_USER}/" "${CUSTOM_GDM_FILE}"
+ sed -i "s/^AutomaticLogin=.*/AutomaticLogin=${LIVE_USER}/" "${CUSTOM_GDM_FILE}"
+ fi
+
+ # KDM - KDE
+ if [ -f "$KDM_FILE" ]; then
+ sed -i "s/AutoLoginEnable=.*/AutoLoginEnable=true/" $KDM_FILE
+ sed -i "s/AutoLoginUser=.*/AutoLoginUser=${LIVE_USER}/" $KDM_FILE
+ sed -i "s/AutoLoginDelay=.*/AutoLoginDelay=0/" $KDM_FILE
+ sed -i "s/AutoLoginAgain=.*/AutoLoginAgain=true/" $KDM_FILE
+
+ sed -i "s/AllowRootLogin=.*/AllowRootLogin=true/" $KDM_FILE
+ sed -i "s/AllowNullPasswd=.*/AllowNullPasswd=true/" $KDM_FILE
+ sed -i "s/AllowShutdown=.*/AllowShutdown=All/" $KDM_FILE
+
+ sed -i "/^#.*AutoLoginEnable=/ s/^#//" $KDM_FILE
+ sed -i "/^#.*AutoLoginUser=/ s/^#//" $KDM_FILE
+ sed -i "/^#.*AutoLoginDelay=/ s/^#//" $KDM_FILE
+ sed -i "/^#.*AutoLoginAgain=/ s/^#//" $KDM_FILE
+
+ sed -i "/^#AllowRootLogin=/ s/^#//" $KDM_FILE
+ sed -i "/^#AllowNullPasswd=/ s/^#//" $KDM_FILE
+ sed -i "/^#AllowShutdown=/ s/^#//" $KDM_FILE
+ fi
+
+ # LXDM
+ if [ -f "$LXDM_FILE" ]; then
+ sed -i "s/autologin=.*/autologin=${LIVE_USER}/" $LXDM_FILE
+ sed -i "/^#.*autologin=/ s/^#//" $LXDM_FILE
+ fi
+
+ # LightDM
+ if [ -f "$LIGHTDM_FILE" ]; then
+ sed -i "s/autologin-user=.*/autologin-user=${LIVE_USER}/" $LIGHTDM_FILE
+ sed -i "/^#.*autologin-user=/ s/^#//" $LIGHTDM_FILE
+ fi
+
+ # Setup correct login session
+ rogentos_is_normal_boot && rogentos_fixup_gnome_autologin_session
+}
+
+rogentos_disable_autologin() {
+ # GDM - GNOME
+ if [ -f "${GDM_FILE}" ]; then
+ sed -i "s/^AutomaticLoginEnable=.*/AutomaticLoginEnable=false/" ${GDM_FILE}
+ fi
+
+ # KDM - KDE
+ KDM_FILE="/usr/share/config/kdm/kdmrc"
+ if [ -f "$KDM_FILE" ]; then
+ sed -i "s/AutoLoginEnable=.*/AutoLoginEnable=false/" $KDM_FILE
+ fi
+
+ # LXDM
+ if [ -f "$LXDM_FILE" ]; then
+ sed -i "s/^autologin=.*/autologin=/" $LXDM_FILE
+ fi
+
+ # LightDM
+ if [ -f "$LIGHTDM_FILE" ]; then
+ sed -i "s/^autologin-user=.*/#autologin-user=/" $LIGHTDM_FILE
+ fi
+}
+
+rogentos_setup_live_user() {
+ local live_user="${1}"
+ local live_uid="${2}"
+ if [ -z "${live_user}" ]; then
+ live_user="${LIVE_USER}"
+ fi
+ if [ -n "${live_uid}" ]; then
+ live_uid="-u ${live_uid}"
+ fi
+ id ${live_user} &> /dev/null
+ if [ "${?}" != "0" ]; then
+ local live_groups=""
+ local avail_groups=$(cat /etc/group | cut -d":" -f 1 | xargs echo)
+ for a_group in ${avail_groups}; do
+ for p_group in ${LIVE_USER_GROUPS}; do
+ if [ "${p_group}" = "${a_group}" ]; then
+ if [ -z "${live_groups}" ]; then
+ live_groups="${p_group}"
+ else
+ live_groups="${live_groups},${p_group}"
+ fi
+ fi
+ done
+ done
+ # then setup live user, that is missing
+ useradd -d "/home/${live_user}" -g root -G ${live_groups} -c "rogentosuser" \
+ -m -N -p "" -s /bin/bash ${live_uid} "${live_user}"
+ return 0
+ fi
+ return 1
+}
+
+rogentos_setup_motd() {
+ echo -e "\n\tWelcome to `cat /etc/rogentos-edition`\n\t`uname -p`\n\t`uname -o` `uname -r`\n" > /etc/motd
+}
+
+rogentos_setup_vt_autologin() {
+ if openrc_running; then
+ . /sbin/livecd-functions.sh
+ export CDBOOT=1
+ livecd_fix_inittab
+ elif systemd_running; then
+ cp /usr/lib/systemd/system/getty@.service \
+ /etc/systemd/system/autologin@.service
+ sed -i "/^ExecStart=/ s:/sbin/agetty:/sbin/agetty --autologin root:g" \
+ /usr/lib/systemd/system/getty@.service
+ sed -i "/^ExecStart=/ s:--noclear::g" \
+ /usr/lib/systemd/system/getty@.service
+ systemctl daemon-reload
+ systemctl restart getty@tty1
+ fi
+}
+
+rogentos_setup_oem_livecd() {
+ if [ -x "${OEM_LIVE_NEW}" ]; then
+ ${OEM_FILE_NEW} || return 1
+ elif [ -x "${OEM_LIVE}" ]; then
+ ${OEM_FILE} || return 1
+ fi
+ return 0
+}
+
+rogentos_is_live() {
+ local cmdl=$(cat /proc/cmdline | grep cdroot)
+ if [ -n "${cmdl}" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+rogentos_setup_gui_installer() {
+ # Configure Fluxbox
+ local dmrc_file="/home/${LIVE_USER}/.dmrc"
+ local flux_dir="/home/${LIVE_USER}/.fluxbox"
+ local flux_startup_file="${flux_dir}/startup"
+ if [ ! -d "${flux_dir}" ]; then
+ mkdir "${flux_dir}" && chown "${LIVE_USER}" "${flux_dir}"
+ fi
+ echo "[Desktop]" > "${dmrc_file}"
+ echo "Session=fluxbox" >> "${dmrc_file}"
+ chown rogentosuser "${dmrc_file}"
+ sed -i "/installer --fullscreen/ s/^# //" "${flux_startup_file}"
+ if [ -x "/usr/libexec/gdm-set-default-session" ]; then
+ # oh my fucking glorious god, this
+ # is AccountsService bullshit
+ # cross fingers
+ /usr/libexec/gdm-set-default-session fluxbox
+ fi
+ if [ -x "/usr/libexec/gdm-set-session" ]; then
+ # GDM 3.6 support
+ /usr/libexec/gdm-set-session rogentosuser fluxbox
+ fi
+}
+
+# This function reads /etc/skel/.dmrc and properly
+# set the Session= value inside AccountsService.
+# Blame the idiots who broke de-facto standards
+# and created this fugly thing called AccountsService
+rogentos_fixup_gnome_autologin_session() {
+ local cur_session=
+
+ if [ -f "/etc/skel/.dmrc" ]; then
+ cur_session=$(cat /etc/skel/.dmrc | grep ^Session | cut -d"=" -f 2)
+ fi
+ if [ -z "${cur_session}" ]; then
+ return 0
+ fi
+
+ local sess_file="/usr/share/xsessions/${cur_session}.desktop"
+ if [ ! -f "${sess_file}" ]; then
+ return 0
+ fi
+
+ if [ -x "/usr/libexec/gdm-set-default-session" ]; then
+ # this edits /etc/gdm/custom.conf adding [daemon]\nDefaultSession=${cur_session}
+ /usr/libexec/gdm-set-default-session "${cur_session}"
+ fi
+
+ if [ -x "/usr/libexec/gdm-set-session" ]; then
+ # GDM 3.6 support
+ local users_in_users=$(cat /etc/group | grep "^users" | awk -F':' '{ print $4 }' | sed "s:,: :g")
+ for usr in ${users_in_users}; do
+ /usr/libexec/gdm-set-session "${usr}" "${cur_session}"
+ done
+ fi
+}
+
+rogentos_setup_text_installer() {
+ if openrc_running; then
+ # switch to verbose mode
+ splash_manager -c set -t default -m v &> /dev/null
+ reset
+ chvt 1
+ clear
+ fi
+ rogentos_setup_text_installer_motd
+}
+
+rogentos_setup_text_installer_motd() {
+ echo "Welcome to RogentOS Linux Text installation." >> /etc/motd
+ echo "to run the installation type: installer <and PRESS ENTER>" >> /etc/motd
+}
+
+rogentos_is_text_install() {
+ local _is_install=$(cat /proc/cmdline | grep installer-text)
+ if [ -n "${_is_install}" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+rogentos_is_gui_install() {
+ local _is_install=$(cat /proc/cmdline | grep installer-gui)
+ if [ -n "${_is_install}" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+rogentos_is_live_install() {
+ ( rogentos_is_text_install || rogentos_is_gui_install ) && return 0
+ return 1
+}
+
+rogentos_is_mce() {
+ local _is_mce=$(cat /proc/cmdline | grep sabayonmce)
+ if [ -n "${_is_mce}" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+rogentos_is_normal_boot() {
+ if ! rogentos_is_mce && ! rogentos_is_live_install; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+systemd_running() {
+ test -d /run/systemd/system
+}
+
+openrc_running() {
+ test -e /run/openrc/softlevel
+}
diff --git a/app-misc/rogentoslive-tools/files/2/rogentos-live-check b/app-misc/rogentoslive-tools/files/2/rogentos-live-check
new file mode 100644
index 00000000..5ad3d509
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/rogentos-live-check
@@ -0,0 +1,27 @@
+#!/bin/sh
+#
+# rogentos_livechk.sh
+#
+# Checks the integrity of a LiveCD/DVD by passing the
+# contents of the image through a md5sum (to be compared
+# with an documented value elsewhere).
+#
+
+if ( ! isoinfo -d -i /dev/cdrom >>/dev/null 2>/dev/null ); then
+ echo "CDROM/DVD image not found!"
+ exit 1
+fi
+
+echo -e "Checking image integrity, please allow several minutes...\n"
+echo "You can check for errors by running 'tail /var/log/messages'"
+echo "in another console window. If you encounter multiple device"
+echo "errors with you cdrom, this probably indicates the test is failing."
+echo "You may type 'Ctrl-c' to abort the check."
+
+BLOCK_SIZE=`isoinfo -d -i /dev/cdrom | grep "Logical block size is" | cut -d: -f2 | sed 's/^[ ]//g'`
+VOL_SIZE=`isoinfo -d -i /dev/cdrom | grep "Volume size is" | cut -d: -f2 | sed 's/^[ ]//g'`
+dd if=/dev/cdrom bs=$BLOCK_SIZE count=$VOL_SIZE conv=notrunc,noerror | md5sum
+
+echo "Compare the above value with the value supplied in"
+echo "the release notes for this version at:"
+echo "http://www.rogentos.org/"
diff --git a/app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader b/app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader
new file mode 100644
index 00000000..8b0cf007
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+SABAYON_LOADER="/usr/bin/xdg-open"
+SABAYON_URL=${SABAYON_URL:-http://www.rogentos.org?install_welcome=1}
+
+# load Sabayon URL
+[[ -x "${SABAYON_LOADER}" ]] && ${SABAYON_LOADER} ${SABAYON_URL} &
+
+# remove myself from autostart
+rm ~/.config/autostart/rogentos-welcome-loader.desktop -f
diff --git a/app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader.desktop b/app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader.desktop
new file mode 100644
index 00000000..15679628
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=rogentos-loader
+Exec=rogentos-welcome-loader
+Icon=system-run
+Comment=Sabayon Linux post-install Welcome Screen
+Terminal=false
diff --git a/app-misc/rogentoslive-tools/files/2/rogentoslive b/app-misc/rogentoslive-tools/files/2/rogentoslive
new file mode 100644
index 00000000..ee1c5541
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/rogentoslive
@@ -0,0 +1,14 @@
+#!/sbin/runscript
+# Copyright 2004-2013 Sabayon
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after x-setup
+ before xdm
+}
+
+start() {
+ ebegin "Preparing Live system..."
+ /usr/libexec/rogentoslive.sh
+ eend $?
+}
diff --git a/app-misc/rogentoslive-tools/files/2/rogentoslive.service b/app-misc/rogentoslive-tools/files/2/rogentoslive.service
new file mode 100644
index 00000000..92b8455e
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/rogentoslive.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Sabayon live system setup
+Before=display-manager.service getty.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=/usr/libexec/rogentoslive.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/app-misc/rogentoslive-tools/files/2/rogentoslive.sh b/app-misc/rogentoslive-tools/files/2/rogentoslive.sh
new file mode 100644
index 00000000..3b5def3d
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/rogentoslive.sh
@@ -0,0 +1,183 @@
+#!/bin/bash
+
+. /sbin/rogentos-functions.sh
+
+CMDLINE=$(cat /proc/cmdline 2> /dev/null)
+
+setup_password() {
+ local cmdline_autoscramble_exist=$(echo ${CMDLINE} | grep autoscramble)
+ if [ -n "${cmdline_autoscramble_exist}" ]; then
+ echo "Autoscrambling root and live user passwords"
+ echo root:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1
+ echo ${LIVE_USER}:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1
+ fi
+}
+
+setup_x() {
+ if systemd_running; then
+ [ -x /sbin/gpu-configuration ] && /sbin/gpu-configuration
+ else
+ while [ -e "/etc/x-setup-configuration-running" ]; do
+ sleep 1
+ done
+ fi
+}
+
+setup_settingsd() {
+ if [ -e /usr/share/eselect/modules/settingsd.eselect ]; then
+ if systemd_running; then
+ eselect settingsd set systemd > /dev/null
+ elif openrc_running; then
+ eselect settingsd set openrc > /dev/null
+ fi
+ fi
+}
+
+setup_desktop() {
+ # create LIVE_USER if it does not exist
+ rogentos_setup_live_user "${LIVE_USER}" "1000"
+ if [ "${?}" = "1" ]; then
+ # if user is already available, then setup skel
+ # Copy ${LIVE_USER} directory
+ rm -rf /home/${LIVE_USER}
+ cp /etc/skel /home/${LIVE_USER} -Rp
+ chown ${LIVE_USER}:users /home/${LIVE_USER} -R
+ fi
+
+ local liveinst_desktop="/usr/share/applications/liveinst.desktop"
+ local liveinst_desktop_name="$(basename ${liveinst_desktop})"
+ if [ -f "${liveinst_desktop}" ]; then
+ [[ -d "/home/${LIVE_USER}/Desktop" ]] || \
+ mkdir -p "/home/${LIVE_USER}/Desktop"
+ cp "${liveinst_desktop}" "/home/${LIVE_USER}/Desktop"
+ chown ${LIVE_USER}:users "/home/${LIVE_USER}/Desktop" -R
+ chmod +x "/home/${LIVE_USER}/Desktop/${liveinst_desktop_name}"
+ rm -f /etc/skel/Desktop/Anaconda*.desktop \
+ /home/${LIVE_USER}/Desktop/Anaconda*.desktop
+ fi
+
+ # Disable memory eating services
+ rm -f /etc/xdg/autostart/hplip-systray.desktop \
+ /etc/xdg/autostart/beagle-search-autostart.desktop \
+ /etc/xdg/autostart/tracker*.desktop \
+ /etc/xdg/autostart/magneto.desktop \
+ /etc/xdg/autostart/beagled-autostart.desktop \
+ /usr/share/autostart/magneto.desktop \
+ /usr/share/autostart/nepomukserver.desktop
+
+ # Remove broken entries in /etc/mtab
+ if [ ! -L /etc/mtab ]; then
+ sed -i '/.*newroot.*/d' /etc/mtab
+ fi
+
+ # create /overlay, this way df -h won't bitch
+ [[ -d "/overlay" ]] || mkdir /overlay
+
+ return 0
+}
+
+setup_keymap() {
+ local keymap_toset=
+ local keymap_toset_model=
+
+ for word in ${CMDLINE}; do
+ case ${word} in
+ console-setup/layoutcode=*)
+ keymap_toset="${word/*=}"
+ ;;
+ console-setup/modelcode=*)
+ keymap_toset_model="-${word/*=}"
+ ;;
+ KEYMAP=*)
+ keymap_toset="${word/*=}"
+ ;;
+ keymap=*)
+ keymap_toset="${word/*=}"
+ ;;
+ vconsole.keymap=*)
+ keymap_toset="${word/*=}"
+ ;;
+ vconsole.keymap.model=*)
+ keymap_toset_model="-${word/*=}"
+ ;;
+ esac
+ done
+
+ if [ -n "${keymap_toset}" ]; then
+ aggregated_keymap="${keymap_toset}${keymap_toset_model}"
+ /sbin/keyboard-setup-2 "${aggregated_keymap}" all &> /dev/null
+ if [ "${?}" = "0" ]; then
+ openrc_running && /etc/init.d/keymaps restart --nodeps
+ # systemd not needed here, this script runs before vconsole-setup
+ fi
+ fi
+}
+
+setup_locale() {
+ for word in ${CMDLINE}; do
+ case ${word} in
+ locale=*)
+ lang_toset="${word/*=}"
+ ;;
+ LANG=*)
+ lang_toset="${word/*=}"
+ ;;
+ lang=*)
+ lang_toset="${word/*=}"
+ ;;
+ esac
+ done
+ if [ -n "${lang_toset}" ]; then
+ files=(
+ "/etc/env.d/02locale"
+ "/etc/locale.conf"
+ )
+ for path in "${files[@]}"; do
+ if [ -e "$path" ]; then
+ sed -i "s/^LC_ALL=.*/LC_ALL=${lang_toset}.UTF-8/g" \
+ "${path}"
+ sed -i "s/^LANG=.*/LANG=${lang_toset}.UTF-8/g" "${path}"
+ sed -i "s/^LANGUAGE=.*/LANGUAGE=${lang_toset}.UTF-8/g" \
+ "${path}"
+ else
+ echo "LC_ALL=${lang_toset}.UTF-8" > "${path}"
+ echo "LANG=${lang_toset}.UTF-8" >> "${path}"
+ echo "LANGUAGE=${lang_toset}.UTF-8" >> "${path}"
+ fi
+ done
+
+ sed -i "s/^export LC_ALL=.*/export LC_ALL=${lang_toset}.UTF-8/g" \
+ "/etc/profile.env"
+ sed -i "s/^export LANG=.*/export LANG=${lang_toset}.UTF-8/g" \
+ "/etc/profile.env"
+ sed -i "s/^export LANGUAGE=.*/export LANGUAGE=${lang_toset}.UTF-8/g" \
+ "/etc/profile.env"
+
+ fi
+}
+
+
+main() {
+ . /sbin/rogentos-functions.sh
+
+ # Perform configuration only in live mode
+ if ! rogentos_is_live; then
+ echo "Skipping Live system configuration"
+ return 0
+ fi
+
+ setup_settingsd
+ setup_desktop
+ setup_password
+ setup_keymap
+ setup_x
+ # MOVED HERE TO AVOID RACE CONDITIONS ON WRITING
+ # /etc/profile.env variables
+ setup_locale
+ rogentos_setup_autologin
+ rogentos_setup_motd
+ rogentos_setup_vt_autologin
+ rogentos_setup_oem_livecd
+}
+
+main
diff --git a/app-misc/rogentoslive-tools/files/2/sabutil b/app-misc/rogentoslive-tools/files/2/sabutil
new file mode 100644
index 00000000..1787c59d
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/sabutil
@@ -0,0 +1,667 @@
+#!/bin/bash
+
+# Initial version by wolfden.
+# Later changes by Enlik <poczta-sn at gazeta.pl>.
+
+# last change: 9.03.2012
+# most important changes to last version:
+# - abort if non root where needs root permissions
+# - fix fdisk -l pasting
+# - support for xorg.conf.d
+# - reorder options and add rcupdate_pastebin
+
+USER=$(whoami)
+HOMEDIR=${HOME:-/tmp}
+
+function menu
+{
+ local selection=""
+ until [[ "$selection" = "0" ]] ; do
+ echo "Current Operating System:"
+ cat /etc/rogentos-release
+ echo ""
+ echo "Current Edition:"
+ cat /etc/rogentos-edition
+ echo
+ echo "Pick a choice from menu below:"
+
+ echo ""
+ echo "1 - Backup & edit xorg.conf and xorg.conf.d"
+ echo "2 - Restore xorg.conf and xorg.conf.d from backup"
+ echo "3 - Regenerate Sabayon xorg.conf"
+ echo "4 - Backup & edit grub.cfg"
+ echo "5 - Restore grub.cfg from backup"
+ echo "----------------------------------------"
+ echo "View and AutoPaste:"
+ echo " "
+ echo "01 - Pastebin Xorg configuration files"
+ echo "02 - Pastebin Xorg.0.log"
+ echo "03 - Pastebin ~/.xsession-errors"
+ echo "04 - Pastebin grub.cfg (bootmanager settings)"
+ echo "05 - Pastebin /var/log/dmesg"
+ echo "06 - Pastebin system and hardware info"
+ echo "07 - Pastebin fdisk -l (list the partition tables)"
+ echo "08 - Pastebin rc-update show (show enabled services and the runlevels)"
+ echo "09 - Pastebin rc.log"
+ echo "10 - Pastebin /var/log/messages"
+ echo "11 - Pastebin kdm.log"
+ echo ""
+ echo "0 - Exit"
+ echo ""
+ echo -n "Enter selection: "
+ read selection
+ echo ""
+
+ case $selection in
+ 1 ) xorg_backup ; press_enter ; xorg_edit; press_enter ;;
+ 2 ) xorg_restore ; press_enter ;;
+ 3 ) xorg_regen ; press_enter ;;
+ 4 ) grub_backup ; press_enter ; nano -w /boot/grub/grub.cfg; press_enter ;;
+ 5 ) grub_restore ; press_enter ;;
+ 01 ) xorg_pastebin ; press_enter ;;
+ 02 ) xorg0log_pastebin ; press_enter ;;
+ 03 ) xsessionerrors_pastebin ; press_enter ;;
+ 04 ) grub_pastebin ; press_enter ;;
+ 05 ) dmesg_pastebin ; press_enter ;;
+ 06 ) system_pastebin ; press_enter ;;
+ 07 ) fdisk_pastebin ; press_enter ;;
+ 08 ) rcupdate_pastebin ; press_enter ;;
+ 09 ) rclog_pastebin ; press_enter ;;
+ 10 ) messages_pastebin ; press_enter ;;
+ 11 ) kdm_pastebin ; press_enter ;;
+
+ 0 ) ;;
+ * ) echo "Please be sensible - choose a number that exists in the menu"; press_enter
+ esac
+ done
+
+}
+
+function press_enter
+{
+ echo ""
+ echo -n "Press Enter to continue"
+ read
+ clear
+}
+
+function is_root
+{
+ if [[ $USER != "root" ]]; then
+ echo "You need to be root to do this." >&2
+ return 1
+ fi
+ return 0
+}
+
+function xorg_regen
+{
+ is_root || return
+
+ if [[ ! -f "/etc/X11/xorg.conf.rogentos" ]]; then
+ cat > /etc/X11/xorg.conf.rogentos <<EOF
+Section "Module"
+ SubSection "extmod"
+ Option "omit xfree86-dga"
+ EndSubSection
+ Load "i2c"
+ Load "ddc"
+ Load "synaptics"
+ Load "vbe"
+# Load "dri"
+EndSection
+
+
+Section "ServerFlags"
+ Option "AllowMouseOpenFail" "true"
+EndSection
+
+Section "InputDevice"
+ Identifier "Synaptics1"
+ Driver "synaptics"
+ Option "SendCoreEvents" "true"
+ Option "Device" "/dev/psaux"
+ Option "Protocol" "auto-dev"
+ Option "HorizScrollDelta" "0"
+ Option "SHMConfig" "on"
+ # For ALPS/MacBook TouchPads
+ #Option "MaxSpeed" "0.7"
+ #Option "MinSpeed" "0.18"
+ #Option "AccelFactor" "0.08"
+ #Option "TopEdge" "120"
+ #Option "LeftEdge" "120"
+ #Option "BottomEdge" "830"
+ #Option "RightEdge" "650"
+ #Option "FingerLow" "25"
+ #Option "FingerHigh" "30"
+ # MacBook touchpad
+ #Option "MaxTapTime" "180"
+ #Option "MaxTapMove" "220"
+ #Option "MaxDoubleTapTime" "180"
+ #Option "VertScrollDelta" "20"
+ #Option "HorizScrollDelta" "50"
+ #Option "TapButton2" "3"
+ #Option "TapButton3" "2"
+ #Option "VertTwoFingerScroll" "1"
+
+ # Do you keep moving the mouse while typing? Try this trick.
+ #synclient TouchpadOff=1 disable your synaptics touchpad
+ #synclient TouchpadOff=0 enable your synaptics touchpad
+EndSection
+
+
+# **********************************************************************
+# Monitor section
+# **********************************************************************
+
+# Any number of monitor sections may be present
+
+Section "Monitor"
+ Identifier "Generic Monitor"
+ VertRefresh 43 - 60
+ HorizSync 28 - 80
+EndSection
+
+# **********************************************************************
+# Graphics device section
+# **********************************************************************
+
+# Any number of graphics device sections may be present
+
+Section "Device"
+ Identifier "VESA"
+ Driver "vesa" # do not remove vesa
+ #Option "RenderAccel" "on"
+ #Option "XAANoOffscreenPixmaps"
+ #Option "BusType" "PCI"
+ #Option "ColorTiling" "on"
+ #Option "EnablePageFlip" "on"
+ # UseEvents is causing segmentation faults with
+ # NVIDIA 6xxx, 7xxx and >=275.xx.xx drivers
+ #Option "UseEvents" "True"
+EndSection
+
+
+# **********************************************************************
+# Screen sections.
+# **********************************************************************
+
+Section "Screen"
+
+# The Identifier, Device and Monitor lines must be present
+
+ Identifier "Screen 1"
+ Device "VESA"
+ Monitor "Generic Monitor"
+ #Option "AddARGBGLXVisuals" "true"
+
+# The favoured Depth and/or Bpp may be specified here
+
+ DefaultDepth 24
+
+ SubSection "Display"
+ Depth 8
+ ViewPort 0 0
+ #Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+
+ SubSection "Display"
+ Depth 16
+ ViewPort 0 0
+ #Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+
+ SubSection "Display"
+ Depth 24
+ ViewPort 0 0
+ #Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+
+
+EndSection
+
+
+Section "ServerLayout"
+# The Identifier line must be present
+
+ Identifier "Main Layout"
+ Screen 0 "Screen 1"
+ InputDevice "Mouse1" "CorePointer"
+ #InputDevice "Synaptics1" "SendCoreEvents"
+
+EndSection
+
+Section "DRI"
+ Mode 0666
+EndSection
+
+Section "Extensions"
+ #Option "Composite" "Enable"
+EndSection
+EOF
+ fi
+
+ mv -f /etc/X11/xorg.conf /etc/X11/xorg.conf.old
+ /usr/sbin/x-setup-configuration
+
+ echo "Note: you may want to look to /etc/X11/xorg.conf.d (if it exists), too."
+}
+
+function xorg_backup
+{
+ is_root || return
+
+ if [[ -f /etc/X11/xorg.conf.BKUP ]]; then
+ echo "/etc/X11/xorg.conf.BKUP already exists, so new backup wasn't made - aborting."
+ echo "Now off we go to edit the file...."
+ return
+ elif [[ -e /etc/X11/xorg.conf.d.BKUP ]]; then
+ echo "/etc/X11/xorg.conf.d.BKUP backup already exists, so new backup wasn't made - aborting."
+ return
+ fi
+
+ # Delete backup file. If there's no xorg.conf, no stale xorg.conf.BKUP will be kept.
+ # So xorg_restore will not made new (unexpected) xorg.conf from xorg.conf.BKUP.
+ rm -f /etc/X11/xorg.conf.BKUP
+ if [[ -f /etc/X11/xorg.conf ]]; then
+ echo "Making backup of xorg.conf as /etc/X11/xorg.conf.BKUP"
+ cp /etc/X11/xorg.conf /etc/X11/xorg.conf.BKUP
+ else
+ echo "There's no /etc/X11/xorg.conf so it couldn't be backed up."
+ fi
+
+ if [[ -e /etc/X11/xorg.conf.d ]]; then
+ echo "Making backup of /etc/X11/xorg.conf.d/*"
+ if [[ ! -d /etc/X11/xorg.conf.d ]]; then
+ echo "!!!"
+ echo "/etc/X11/xorg.conf.d is not a directory!"
+ return
+ fi
+ mkdir -p /etc/X11/xorg.conf.d.BKUP
+ rm -f /etc/X11/xorg.conf.d.BKUP/* # dotfiles and subdirectories (who keeps them there?!) are left untouched
+ cp /etc/X11/xorg.conf.d/* /etc/X11/xorg.conf.d.BKUP/ # and not copied (that's fine)
+ echo "/etc/X11/xorg.conf.d/* files are backed up in /etc/X11/xorg.conf.d.BKUP/"
+ else
+ echo "There's no /etc/X11/xorg.conf.d (directory) so it couldn't be backed up."
+ fi
+
+ echo ""
+ echo "INTEL graphics users please read the url below before proceding"
+ echo ""
+ echo "http://gentoo-wiki.com/HOWTO_Intel_Onboard_Graphics_Notebooks_Native_Resolution"
+}
+
+function xorg_restore
+{
+ is_root || return
+
+ echo "Are you sure? This will replace your /etc/X11/xorg.conf and /etc/X11/xorg.conf.d/*.conf."
+ echo "[Y/n]"
+ local reply
+ read reply
+ if [[ $reply != "" && $reply != "y" && $reply != "Y" ]]; then
+ echo "OK, aborting."
+ return
+ fi
+
+ if [[ -f /etc/X11/xorg.conf.BKUP ]]; then
+ echo "xorg.conf backup (/etc/X11/xorg.conf.BKUP) exists, whew!"
+ cp /etc/X11/xorg.conf.BKUP /etc/X11/xorg.conf
+ echo ""
+ echo "The original xorg.conf has been restored"
+ else
+ echo "UH OH!! The backup /etc/X11/xorg.conf.BKUP hasn't been made."
+ echo "If you think you need the file, don't panic, you can copy it from the Live DVD/CD."
+ fi
+
+ echo ""
+
+ if [[ -d /etc/X11/xorg.conf.d.BKUP ]] \
+ && (shopt -s nullglob; f=(/etc/X11/xorg.conf.d.BKUP/*.conf); [[ ${#f[*]} -ne 0 ]] )
+ then
+ echo "The backup /etc/X11/xorg.conf.d.BKUP (directory) exists and contails .conf files."
+ mkdir -p /etc/X11/xorg.conf.d
+ # similar notes as for xorg_backup, but files like .disabled are not removed
+ rm -f /etc/X11/xorg.conf.d/*.conf
+ cp /etc/X11/xorg.conf.d.BKUP/* /etc/X11/xorg.conf.d/
+ echo "Your settings are now restored to /etc/X11/xorg.conf.d/."
+ fi
+}
+
+function grub_backup
+{
+ is_root || return
+
+ echo "Note: to modify GRUB configuration, you should edit /etc/default/grub"
+ echo " or a file in /etc/grub.d and then run grub-mkconfig -o /boot/grub/grub.cfg"
+ echo " (/boot/grub/grub.cfg shouldn't be edited by hand)."
+ echo ""
+
+ if [[ -f /boot/grub/grub.cfg.BKUP ]]; then
+ echo "grub.cfg backup already exists, so the new one wasn't made."
+ echo "Now off we go to edit the file...."
+ else
+ echo "Making backup of grub.cfg as /boot/grub/grub.cfg.BKUP"
+ cp /boot/grub/grub.cfg /boot/grub/grub.cfg.BKUP
+ echo ""
+ fi
+}
+
+function grub_restore
+{
+ is_root || return
+
+ echo "Are you sure? This will replace your /boot/grub/grub.cfg."
+ echo "[Y/n]"
+ local reply
+ read reply
+ if [[ $reply != "" && $reply != "y" && $reply != "Y" ]]; then
+ echo "OK, aborting."
+ return
+ fi
+
+ if [[ -f /boot/grub/grub.cfg.BKUP ]]
+ then
+ echo "grub.cfg backup (/boot/grub/grub.cfg.BKUP) exists, whew!"
+ cp /boot/grub/grub.cfg.BKUP /boot/grub/grub.cfg
+ echo ""
+ echo "The original grub.cfg has been restored"
+ else
+ echo "UH OH!! The backup script /boot/grub/grub.cfg.BKUP hasn't been made."
+ echo "Don't panic, you can use the Sabayon installer to repair GRUB."
+ fi
+}
+
+function horner
+{
+
+# Quick system info gatherer written for Sabayon GNU/Linux
+#(http://rogentoslinux.org)
+# Copyright 2008 Richard Edward Horner
+# Last modified 2008-11-26
+# Please send all comments, suggestions, bugs and patches to (rich AT
+#richhorner DOT com)
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+HOSTNAME=`hostname`
+RELEASE=`cat /etc/rogentos-release`
+CPU=`uname -p`
+KERNEL=`uname -r`
+KERN_ARCH=`uname -m`
+DISK=`df -lT --exclude-type=tmpfs --exclude-type=rootfs | awk 'BEGIN { total = 0; used = 0 } { if (NR > 1) { total += $3; used += $4 } } END { printf "%.1f/%.1fGB", used / 1000000, total / 1000000 }'`
+MEMORY=`cat /proc/meminfo | awk '{ if ($1 == "MemTotal:") { memtot = $2/1000 } else if ($1 == "MemFree:") { memfree = $2/1000 } } END { printf "%d/%dM", memfree, memtot }'`
+DAYS=`cat /proc/uptime | awk '{ printf "%.1f", $1/86400 }'`
+PROCS=`ps aux | awk 'END { print NR - 2 }'`
+RENDERER=`glxinfo | awk -F : '{ if ($1 == "OpenGL renderer string") print $2 }'`
+
+echo "Sysinfo for '$HOSTNAME': $RELEASE with $KERN_ARCH kernel $KERNEL
+on $CPU, HD: $DISK, MEM: $MEMORY, Renderer: $RENDERER, $PROCS procs,
+up $DAYS days"
+
+}
+
+# echo -e "\a[pastebunz debug ON]" >&2;
+# function pastebunz { sed 's/^/[pb] '/ | less; }
+
+# pastebunz seems to have some limit on max pasted lines, so this would be handy...
+function files_pastebin_linelimit
+{
+ # args: limit file_to_pastebin [file_to_pastebin] ...
+ # example: file_pastebin_linelimit 30 file1 "file name2" file3
+ # first arg: 0 means no limit
+ # By Enlik <sn at ubucentrum.net>
+ local TMPFILE=~/newbietmp
+ local LINESLIMIT
+ local LLIMIT_H
+
+ if [[ $# -le 1 ]]; then
+ echo "Error: no files to paste (in files_pastebin_linelimit)." >&2
+ return 2
+ fi
+
+ let LINESLIMIT=$1
+ shift
+ # If there is a limit of lines, we need to make space for file name and blank
+ # lines to be pasted. Otherwise we have as much space as we want.
+ if [[ $LINESLIMIT -eq 0 ]]; then
+ LLIMIT_H="+1"
+ else
+ LLIMIT_H=$(( LINESLIMIT - 3 ))
+ fi
+
+ >"$TMPFILE" || {
+ echo "Oh no! I can't create temporary file... Aborting." >&2
+ return 3
+ }
+
+ for file in "$@"; do
+ echo " --- file: $file ---"
+ echo " "
+ if [[ -r $file ]]; then
+ # This tail guarantees that LAST file name is visible (unless the limit is really small, <= 2 lines)
+ # (previous one(s) can be wiped by tail due to limit of lines).
+ # The file name is always visible if there's only one specified
+ # as argument (unless the limit value is really small, as above).
+ # All file names are always visible if there's no limit
+ # of lines, or the limit is big enough.
+ cat "$file" 2>&1 | tail -n $LLIMIT_H
+ elif [[ -e $file ]]; then
+ echo "THIS FILE COULDN'T BE READ."
+ else
+ echo "THIS FILE DOESN'T EXIST."
+ fi
+ echo " "
+ done >> "$TMPFILE"
+ if [[ $LINESLIMIT -eq 0 ]]; then
+ cat "$TMPFILE" | pastebunz
+ else
+ tail -n $LINESLIMIT "$TMPFILE" | pastebunz
+ fi
+ echo "** Please see the link above! **"
+
+ rm "$TMPFILE"
+ return 0
+}
+
+function files_pastebin
+{
+ files_pastebin_linelimit 0 "$@"
+}
+
+function system_pastebin
+{
+ echo -n "Please wait, it is going to take a while..."
+ local PASTE_TMP=/tmp/sabutil-tmp
+
+ >"$PASTE_TMP" || {
+ echo "Oh no! I can't create temporary file... Aborting."
+ return 1
+ }
+
+ echo "
+ sh /sbin/logscript.sh
+ " >> "$PASTE_TMP"
+ sh "/sbin/logscript.sh" >> "$PASTE_TMP"
+
+ cat "$PASTE_TMP"
+ cat "$PASTE_TMP" | pastebunz
+ echo "*** Please see the link above. ***"
+ rm "$PASTE_TMP"
+}
+
+function xorg0log_pastebin
+{
+ tail -n 150 /var/log/Xorg.0.log
+ files_pastebin_linelimit 150 /var/log/Xorg.0.log
+}
+
+function xsessionerrors_pastebin
+{
+ cat "$HOMEDIR/.xsession-errors" | tail -n 10
+ files_pastebin_linelimit 150 "$HOMEDIR/.xsession-errors"
+ if [[ $USER = "root" ]]; then
+ echo
+ echo "Notice: root's .xsession-errors file has been pasted."
+ echo "To get .xsession-errors from your regular account on which"
+ echo "you are logged using GDM, KDM or so (which is probably what you want),"
+ echo "run this script as that user, not root, or pastebin .xsession-errors"
+ echo "from YOUR home directory manually."
+ echo
+ fi
+}
+
+function dmesg_pastebin
+{
+ cat /var/log/dmesg
+ files_pastebin_linelimit 150 /var/log/dmesg
+}
+
+function grub_pastebin
+{
+ cat /boot/grub/grub.cfg
+ files_pastebin /boot/grub/grub.cfg
+}
+
+function fdisk_pastebin
+{
+ is_root || return # fdisk -l
+
+ local PASTE_TMP=/tmp/sabutil-tmp
+
+ >"$PASTE_TMP" || {
+ echo "Oh no! I can't create temporary file... Aborting."
+ return 1
+ }
+
+ (
+ echo "
+ fdisk -l
+ ";
+ fdisk -l;
+ ) > "$PASTE_TMP"
+
+ cat "$PASTE_TMP"
+ cat "$PASTE_TMP" | pastebunz
+ echo "*** Please see the link above. ***"
+ rm "$PASTE_TMP"
+}
+
+function messages_pastebin
+{
+ tail -n 150 /var/log/messages
+ files_pastebin_linelimit 150 /var/log/messages
+}
+
+function kdm_pastebin
+{
+ cat /var/log/kdm.log
+ files_pastebin_linelimit 150 /var/log/kdm.log
+}
+
+function rclog_pastebin
+{
+ if [[ -f /var/log/rc.log ]]; then
+ cat /var/log/rc.log | tail -n 10
+ files_pastebin_linelimit 150 /var/log/rc.log
+ else
+ echo "You Don't Have rc.log enabled in your /etc/rc.log"
+ echo " To enable, edit /etc/rc.log change NO to YES for rc_logger= "
+ echo ""
+ fi
+}
+
+function rcupdate_pastebin
+{
+ local PASTE_TMP=/tmp/sabutil-tmp
+
+ >"$PASTE_TMP" || {
+ echo "Oh no! I can't create temporary file... Aborting."
+ return 1
+ }
+
+ (
+ echo "
+ rc-update show
+ ";
+ rc-update show
+ ) > "$PASTE_TMP"
+
+ cat "$PASTE_TMP"
+ cat "$PASTE_TMP" | pastebunz
+ echo "*** Please see the link above. ***"
+ rm "$PASTE_TMP"
+}
+
+function xorg_pastebin
+{
+ echo "These files will be pasted (don't worry if any of them don't exist):"
+ ls -l /etc/X11/xorg.conf /etc/X11/xorg.conf.d/*
+ files_pastebin /etc/X11/xorg.conf.d/* /etc/X11/xorg.conf
+}
+
+function xorg_edit
+{
+ is_root &> /dev/null || echo "You are not root. You will only be able to view files."
+
+ local xorgfiles=() file
+ if (shopt -s nullglob; f=(/etc/X11/xorg.conf.d/*.conf); [[ ${#f[*]} -ne 0 ]] ); then
+ xorgfiles=( /etc/X11/xorg.conf.d/* ) # let's put all non-dot files; warning for non-conf is below
+ fi
+
+ if [[ -f /etc/X11/xorg.conf ]]; then
+ xorgfiles+=( /etc/X11/xorg.conf )
+ fi
+
+ if [[ ${#xorgfiles[*]} -eq 0 ]]; then
+ echo "I can't find any Xorg configuration files."
+ echo "There's no /etc/X11/xorg.conf or .conf files in /etc/X11/xorg.conf.d/ directory."
+ echo "Xorg uses autodected settings."
+ else
+ echo "These files affect your Xorg configuration."
+ echo "See http://fedoraproject.org/wiki/Input_device_configuration#xorg.conf.d for more informations."
+ echo "Select a file to edit or type q and press Enter to quit."
+ select file in "${xorgfiles[@]}"; do
+ if [[ -n $file ]]; then
+ # Not sure about files that don't start with a number and a hyphen - are they used?
+ if [[ ${file##*.} != "conf" ]]; then
+ echo "Warning: this file has no .conf suffix and thus will be ignored by Xorg."
+ press_enter
+ fi
+ nano -w "$file"
+ echo "Select a file to edit or type q and press Enter to quit."
+ elif [[ $REPLY = "q" || $REPLY = "Q" ]]; then
+ break
+ fi
+ done
+ fi
+}
+
+clear
+
+if [[ $1 = "menu" ]]; then
+ if [[ $EUID -ne 0 ]]; then
+ echo "This script should be run as root, or by someone in the root group. Some commands will not work for you." 1>&2
+ echo ""
+ fi
+ menu
+elif [[ $1 = "--help" || $1 = "-h" ]]; then
+ echo "usage:"
+ echo "$0 - will print some basic system infos"
+ echo "$0 menu - will show you menu"
+else
+ horner
+ echo ""
+ echo "Specify --help or -h to get help."
+ fi
diff --git a/app-misc/rogentoslive-tools/files/2/vga-cmd-parser b/app-misc/rogentoslive-tools/files/2/vga-cmd-parser
new file mode 100644
index 00000000..1e443171
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/vga-cmd-parser
@@ -0,0 +1,53 @@
+#!/usr/bin/python
+# Copyright 2008 Fabio Erculiani, Sabayon Linux Chief Architect
+# parses vga= parameters from cmdline given by isolinux and returns the right resolution
+# Shut up!
+
+res_map = {
+ "0x385": ("640x400",24),
+ "0x312": ("640x480",24),
+ "0x315": ("800x600",24),
+ "0x318": ("1024x768",24),
+ "0x31b": ("1280x1024",24),
+ "0x330": ("640x400",16),
+ "0x33E": ("640x400",24),
+ "0x331": ("640x480",16),
+ "0x33F": ("640x480",24),
+ "0x332": ("800x600",16),
+ "0x340": ("800x600",24),
+ "0x333": ("1024x768",16),
+ "0x341": ("1024x768",24),
+ "0x334": ("1152x864",16),
+ "0x342": ("1152x864",24),
+ "0x335": ("1280x960",16),
+ "0x343": ("1280x960",24),
+ "0x336": ("1280x1024",16),
+ "0x344": ("1280x1024",24),
+ "0x337": ("1400x1050",16),
+ "0x345": ("1400x1050",24),
+ "0x338": ("1600x1200",16),
+ "0x346": ("1600x1200",24),
+ "0x339": ("1792x1344",16),
+ "0x347": ("1792x1344",24),
+ "0x33A": ("1856x1392",16),
+ "0x348": ("1856x1392",24),
+ "0x33B": ("1920x1440",16),
+ "0x349": ("1920x1440",24),
+ "0x33C": ("2048x1536",16),
+ "0x34A": ("2048x1536",24)
+}
+
+f = open("/proc/cmdline")
+cmdline = f.readline().strip().split()
+cmdline.reverse()
+for item in cmdline:
+ if item.startswith("vga="):
+ item_split = item.split("=")
+ if len(item_split) == 2:
+ data = item_split[1]
+ try:
+ if res_map.get(data) != None:
+ print res_map[data][0],res_map[data][1]
+ break
+ except TypeError:
+ pass
diff --git a/app-misc/rogentoslive-tools/files/2/x-setup-configuration b/app-misc/rogentoslive-tools/files/2/x-setup-configuration
new file mode 100644
index 00000000..b8747097
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/x-setup-configuration
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+# get livecd functions
+source /sbin/livecd-functions.sh
+source /sbin/rogentos-functions.sh
+
+runtime_linking_proprietary_drivers() {
+ if [ -d "/lib/nvidia" ] || [ -d "/lib/fglrx" ]; then
+ current_arch=$(uname -m)
+ if [ "$current_arch" == "x86_64" ]; then
+ ld_arch="elf_x86_64"
+ elif [ "$current_arch" == "i686" ]; then
+ ld_arch="elf_i386"
+ fi
+ lspci_vga=$(lspci | grep ' VGA ')
+ mount -t tmpfs none /lib/modules/$(uname -r)/video
+ if [ -n "`echo $lspci_vga | grep -i nvidia`" ]; then
+ ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o
+ depmod -a &> /dev/null
+ elif [ -n "`echo $lspci_vga | grep -i ati`" ]; then
+ ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o
+ depmod -a &> /dev/null
+ elif [ -n "`echo $lspci_vga | grep -i unknown`" ]; then
+ ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o
+ ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o
+ depmod -a &> /dev/null
+ elif [ -z "$lspci_vga" ]; then
+ ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o
+ ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o
+ depmod -a &> /dev/null
+ fi
+ fi
+}
+
+# create seed
+rm -f /etc/x-setup-configuration-running
+touch /etc/x-setup-configuration-running
+
+# Prepare Video Cards Proprietary Drivers
+if rogentos_is_live; then
+ runtime_linking_proprietary_drivers
+fi
+/sbin/gpu-configuration &> /dev/null
+
+# delete seed
+rm -f /etc/x-setup-configuration-running
diff --git a/app-misc/rogentoslive-tools/files/2/x-setup-init.d b/app-misc/rogentoslive-tools/files/2/x-setup-init.d
new file mode 100644
index 00000000..0c486c06
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/x-setup-init.d
@@ -0,0 +1,26 @@
+#!/sbin/runscript
+# Copyright 2009-2013 Sabayon
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after mtab
+ before hostname
+ before xdm
+}
+
+
+
+start() {
+ . /sbin/rogentos-functions.sh
+
+ ebegin "Configuring GPUs and input devices"
+ if rogentos_is_live; then
+ start-stop-daemon --start --background --pidfile /var/run/x-setup.pid \
+ --make-pidfile --exec /usr/sbin/x-setup-configuration
+ eend 0
+ return 0
+ fi
+
+ /usr/libexec/x-setup.sh > /dev/null
+ eend ${?}
+}
diff --git a/app-misc/rogentoslive-tools/files/2/x-setup.service b/app-misc/rogentoslive-tools/files/2/x-setup.service
new file mode 100644
index 00000000..58ffa4af
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/x-setup.service
@@ -0,0 +1,14 @@
+# This unit is meant to run only after install.
+
+[Unit]
+Description=GPUs and input devices setup
+ConditionKernelCommandLine=!cdroot
+Before=display-manager.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=/usr/libexec/x-setup.sh
+
+[Install]
+WantedBy=multi-user.target \ No newline at end of file
diff --git a/app-misc/rogentoslive-tools/files/2/x-setup.sh b/app-misc/rogentoslive-tools/files/2/x-setup.sh
new file mode 100644
index 00000000..4463a66b
--- /dev/null
+++ b/app-misc/rogentoslive-tools/files/2/x-setup.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+. /sbin/rogentos-functions.sh
+
+REDETECT=$(cat /proc/cmdline | grep "gpudetect")
+
+gpus_same() {
+ # $1 and $2: output lines from "lspci"
+ local id1 id2 # [xxxx:]xx:xx.x
+ local dev1 dev2 # vendor and device: xxxx:xxxx
+ id1=$(echo "$1" | awk '/ VGA / { print $1 }')
+ id2=$(echo "$2" | awk '/ VGA / { print $1 }')
+ if [ -z "$id1" ] || [ -z "$id2" ]; then
+ return 1
+ fi
+ dev1=$(lspci -s "$id1" -n | awk '{ print $3 }')
+ dev2=$(lspci -s "$id2" -n | awk '{ print $3 }')
+ [ "$dev1" = "$dev2" ]
+}
+
+
+if [ -e /first_time_run ] || [ ! -e /etc/gpu-detector.conf ] \
+ || [ -n "${REDETECT}" ]; then
+ echo "Configuring GPUs and input devices for the first time"
+ lspci | grep ' VGA ' > /etc/gpu-detector.conf
+ /usr/sbin/x-setup-configuration
+ exit 0
+fi
+
+infostr_run="Configuring GPUs and input devices"
+infostr_skip="Skipping GPUs and input devices configuration"
+lspci_vga=$(lspci | grep ' VGA ')
+stored_vga=$(cat /etc/gpu-detector.conf)
+
+if [ "${lspci_vga}" != "${stored_vga}" ]; then
+ # Strings are different, let's do the more "heavy" and accurate comparison.
+ if gpus_same "${lspci_vga}" "${stored_vga}"; then
+ # this may happen after vendor changes its name etc.
+ # and PCI ID file is updated
+ echo "${infostr_skip}, only updating GPU information file"
+ else
+ echo "${infostr_run}"
+ /usr/sbin/x-setup-configuration
+ fi
+ echo "${lspci_vga}" > /etc/gpu-detector.conf
+ exit 0
+fi
+
+echo "${infostr_skip}"
diff --git a/app-misc/rogentoslive-tools/rogentoslive-tools-1.0-r1.ebuild b/app-misc/rogentoslive-tools/rogentoslive-tools-1.0-r1.ebuild
new file mode 100644
index 00000000..fe0faad2
--- /dev/null
+++ b/app-misc/rogentoslive-tools/rogentoslive-tools-1.0-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 2004-2012 Sabayon
+# Copyright 2012 Rogentos
+# Distributed under the terms of the GNU General Public License v2
+# Original Authors Sabayon Team
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+
+inherit eutils
+
+DESCRIPTION="Rogentos Live tools for autoconfiguration of the system"
+HOMEPAGE="http://www.rogentos.ro/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="!app-misc/livecd-tools
+ !app-misc/sabayonlive-tools
+ app-admin/eselect-opengl
+ dev-util/dialog
+ sys-apps/gawk
+ sys-apps/pciutils
+ >=sys-apps/keyboard-configuration-helpers-2.6"
+
+src_unpack() {
+ cd "${WORKDIR}"
+ cp "${FILESDIR}"/${PV}/*-functions.sh . -p
+ cp "${FILESDIR}"/${PV}/net-setup . -p
+ cp "${FILESDIR}"/${PV}/x-setup-init.d . -p
+ cp "${FILESDIR}"/${PV}/installer-gui . -p
+ cp "${FILESDIR}"/${PV}/installer-text . -p
+ cp "${FILESDIR}"/${PV}/x-setup-configuration . -p
+ cp "${FILESDIR}"/${PV}/bashlogin . -p
+ cp "${FILESDIR}"/${PV}/opengl-activator . -p
+ cp "${FILESDIR}"/${PV}/rogentoslive . -p
+ cp "${FILESDIR}"/${PV}/vga-cmd-parser . -p
+ cp "${FILESDIR}"/${PV}/logscript.sh . -p
+ cp "${FILESDIR}"/${PV}/sabutil . -p
+ cp "${FILESDIR}"/${PV}/livespawn . -p
+ cp "${FILESDIR}"/${PV}/cdeject . -p
+ cp "${FILESDIR}"/${PV}/xorg.conf.rogentos . -p
+}
+
+src_install() {
+
+ cd "${WORKDIR}"
+
+ dosbin x-setup-configuration
+ newinitd x-setup-init.d x-setup
+
+ dosbin net-setup
+ into /
+ dosbin *-functions.sh
+ dosbin logscript.sh
+ dobin bashlogin
+ dobin vga-cmd-parser
+ exeinto /usr/bin
+ doexe opengl-activator
+ doexe livespawn
+ doexe sabutil
+
+ dodir /etc/rogentos
+ insinto /etc/rogentos
+
+ insinto /etc/X11
+ doins xorg.conf.rogentos
+
+ dodir /usr/share/X11/xorg.conf.d
+ insinto /usr/share/X11/xorg.conf.d
+ doins "${FILESDIR}/${PV}/xorg.conf.d/90-synaptics.conf"
+
+ dodir /usr/share/rogentoslive-tools/xorg.conf.d
+ insinto /usr/share/rogentoslive-tools/xorg.conf.d
+ # fglrx <12.2 Xv workaround, enabled at runtime
+ doins "${FILESDIR}/${PV}/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf"
+
+ newinitd rogentoslive rogentoslive
+ newinitd installer-gui installer-gui
+ newinitd installer-text installer-text
+ newinitd cdeject cdeject
+
+}
diff --git a/app-misc/rogentoslive-tools/rogentoslive-tools-2.ebuild b/app-misc/rogentoslive-tools/rogentoslive-tools-2.ebuild
new file mode 100644
index 00000000..88361edb
--- /dev/null
+++ b/app-misc/rogentoslive-tools/rogentoslive-tools-2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2004-2013 Sabayon
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils systemd
+
+DESCRIPTION="Sabayon Live tools for autoconfiguration of the system"
+HOMEPAGE="http://rogentos.ro/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="!app-misc/livecd-tools
+ app-admin/eselect-opengl
+ dev-util/dialog
+ sys-apps/gawk
+ sys-apps/pciutils
+ >=sys-apps/keyboard-configuration-helpers-2.6
+ sys-apps/sed"
+
+S="${WORKDIR}"
+
+src_unpack() { :; }
+
+src_install() {
+ local dir="${FILESDIR}/${PV}"
+
+ exeinto /usr/libexec
+ doexe "${dir}/installer-text.sh"
+ doexe "${dir}/installer-gui.sh"
+ doexe "${dir}/rogentoslive.sh"
+ doexe "${dir}/x-setup.sh"
+ doexe "${dir}/cdeject.sh"
+
+ dosbin "${dir}/x-setup-configuration"
+ newinitd "${dir}/x-setup-init.d" x-setup
+
+ dosbin "${dir}/net-setup"
+ into /
+ dosbin "${dir}/"*-functions.sh
+ dosbin "${dir}/logscript.sh"
+ dobin "${dir}/bashlogin"
+ dobin "${dir}/vga-cmd-parser"
+
+ exeinto /usr/bin
+ doexe "${dir}/livespawn"
+ doexe "${dir}/sabutil"
+ doexe "${dir}/rogentos-live-check"
+ doexe "${dir}/rogentos-welcome-loader"
+
+ dodir /etc/rogentos
+ insinto /etc/rogentos
+ doins "${dir}/rogentos-welcome-loader.desktop"
+
+ dodir /usr/share/rogentoslive-tools/xorg.conf.d
+ insinto /usr/share/rogentoslive-tools/xorg.conf.d
+
+ doinitd "${dir}/rogentoslive"
+ systemd_dounit "${dir}/rogentoslive.service"
+ systemd_dounit "${dir}/x-setup.service"
+
+ doinitd "${dir}/installer-gui"
+ systemd_dounit "${dir}/installer-gui.service"
+
+ doinitd "${dir}/installer-text"
+ systemd_dounit "${dir}/installer-text.service"
+
+ doinitd "${dir}/cdeject"
+ systemd_dounit "${dir}/cdeject.service"
+}