mirror of
https://github.com/pentoo/pentoo-overlay
synced 2026-05-05 11:00:48 +02:00
gdm: forked without systemd. It requires pambase-20120417 unstable
This commit is contained in:
parent
0cfae47a34
commit
9357d88567
38 changed files with 2185 additions and 1 deletions
38
gnome-base/gdm/Manifest
Normal file
38
gnome-base/gdm/Manifest
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
AUX 3.4.1/gdm 319 SHA256 57021a48618c55cd480427d5ada4354c220a1e0ad0804ebda80c564eefd38b1d SHA512 4bbf59e4b574e18377c4117432148b94bdd64a528bf0d458d4760ca59bce1c578c34ce84273d7d932cd586df442af0c21751b4cdafab5edddc7e9bcf56bbe070 WHIRLPOOL 5c66dc7cf423cf43965c7a27251cb05a502d28bae213b2d96d04f53273a00b61e855db207a2bd7d79a728d863676e3eb507a2582892a7efd914c8f3a1ef4c687
|
||||
AUX 3.4.1/gdm-autologin 414 SHA256 5117c25a1061762b4fce93152e3a78ed1c4591ec5f94470e083d613ef3b32150 SHA512 d06c11052f6f91635b6844e79855eca18159626a6bd9a946d3d0808db4c00eb65474673135e8ace69ad362276b836b4bb977ad3c8d8c618f85e07dc431810255 WHIRLPOOL 9ad673664fdc057f7baf33333fee72e925e1de68d9c51d992cea78b03c950833e48b8cb104f0357c1fb17abce7ed0134a8fc24d4fc23ab11cb567f5b630a9def
|
||||
AUX 3.4.1/gdm-fingerprint 511 SHA256 3bff94f262fa009a6c21788424385abcfe3c8ecba985d00d8ca3ba4f30d86db7 SHA512 cbdd4449a408b6c076c5c3ecb2617e4cbc182b8ea8738dbecdb9161965efccfcccfdcdae30d895c192db066f96bf305555eacbd95b1d4bb4b974d82bf95cb92f WHIRLPOOL 7d2ef0808ffed889a7bb69ad577f57c0ff18ea4a8f1ae1dc5a6d0999062ad3237a7c77af0e054939c1ff1e513a260a961daf4e907702d677c2bf8d73deb13d80
|
||||
AUX 3.4.1/gdm-password 319 SHA256 57021a48618c55cd480427d5ada4354c220a1e0ad0804ebda80c564eefd38b1d SHA512 4bbf59e4b574e18377c4117432148b94bdd64a528bf0d458d4760ca59bce1c578c34ce84273d7d932cd586df442af0c21751b4cdafab5edddc7e9bcf56bbe070 WHIRLPOOL 5c66dc7cf423cf43965c7a27251cb05a502d28bae213b2d96d04f53273a00b61e855db207a2bd7d79a728d863676e3eb507a2582892a7efd914c8f3a1ef4c687
|
||||
AUX 3.4.1/gdm-smartcard 618 SHA256 6965339bb299862b99413f780f282feeb88856a4d0a3232aabbc1b7728a8d18f SHA512 7f9eb071822fa9c5706eb28b91561dda19f5e5d2a3ea8c3f27a88d3585703b09ca6f4f6cb91089685bc50ebb12ec4f47288b92c98d42cc02bc66ab6e2acd3e30 WHIRLPOOL f3ddd173d2a9d5221ce86de5c2f5b9b7ebff5534ca9c16703e22c7da74d0871ef423995e16a58c6da571445a10939ea87f6d2d518c0465cc1db1d65e88710b52
|
||||
AUX 3.4.1/gdm-welcome 455 SHA256 8638df6a4e80b1c1797208f964cbd1aa33cf799181c2a9b65b79d7809102f771 SHA512 243796ea51c07884a9311a4f29919de688fc8ecd21b2246ce90b2dd5fcf347e9ebad87cf17f323b2e53fb907bbb78db13a47437e3a843bd1fe4d8b1617128a53 WHIRLPOOL 24827c3d068206a1b9b4d5ca64a9d67e71a9a9fbda0f84a23c63f8fd19e155a020150f9e94e7578406ae368d4d1f0230608c98f5a66e9540335c01b37ef3ec65
|
||||
AUX 3.4.1/gdm.service 202 SHA256 21b105f56bc90178e05806583e3be5e74857c02ec6443318669f9ab6f947bb79 SHA512 9e9ecca31504da1115519d590c25d474333a483dab9343043f0906b45cadbf7f947354227841be7a33577815653dd6a4d7e24a4e2f36e58ff760a82fc433aec6 WHIRLPOOL 54dd6ceba3d46129b0201fb35983f4ab846cff77ae4cb49bde9c11d78587c2389bae34676136921fdcb2280af3b1e30d7f58899a394341930dea681194cbb1a4
|
||||
AUX 49-keychain 181 SHA256 d73e07847bfa6ac69938aa309f5c137d4c36248cedf9834db1315ba1b2b87140 SHA512 72b9a7d0a9dc17c4f51795b665a1a8db035a3423b35769fa68c8c471e76d9ab698d1841c3e354efdafe6167e8358b018028268d7a17d0750bdcc55cbfe481290 WHIRLPOOL 4ab8099ea4f66e2935a930ea9d8ab9202732689206ee2b57eb3946692622bb4cd56f5429d40a28b7d2beaf1c2261610462f96a7362fcae2e5548da23396a2a61
|
||||
AUX 49-keychain-r1 193 SHA256 32e0b028eb6d1189fc82d72ef62661de78c491bcfa099e7ac652d6b4daa1598d SHA512 32a6d72de9b6b7bfbac0a563fc8710576419e6d989fe48da294b92b197722059ee0e46672d5df2833cd1a7dacf5ae4ebc31b12b605416fd25a0924c35e505d21 WHIRLPOOL dd8f9249e2f1c1c60131e1c030bfa4a8c251cfba083d55847273ac906bbfb27576ac29e4039c70269592667024b8a4871060139717796eed0edd3a341edbc4e0
|
||||
AUX 50-ssh-agent 243 SHA256 f0790148b975ef1e7a37ffe8f5d90f943746f0a3bcf9d7fad8500219e2114042 SHA512 b955253fcb58ccd2cb7d0c30eba01f240821a1ee12751975407dbd3331d54460c75654c5d1931b6245b03ce7966d660cdd627c2b6f0f41aceeed97173d9e3195 WHIRLPOOL 7c93297c37ca66ebf34dc1515e2033c75af80a43f1ac69ebb842256927b2719c42117f661a79a673f079e0974cefd73affd9e376189488905238506eccee1753
|
||||
AUX 50-ssh-agent-r1 255 SHA256 bd91721bdccb7b1eb403c368caa6e9b84dcd75ddf89946db329ec42f9a8e7a8b SHA512 85c8eca948646508ecc52a30a15b94c626196037ab65b4d797df472df34c714aacf800261902febda5b7bc051bff29efc9fff474a0c029838881b7f8704b13ba WHIRLPOOL d4dc95afb4ef97e2a6365df27cbf8b2a3533d63471b52d5e54fc52247638701eea65fda0f339fa184919c1f8b386cff32e444e8a856bf1741aad23dd24b808de
|
||||
AUX gdm-2.13.0.1-selinux-remove-attr.patch 908 SHA256 40074297200e3424a1baeb483d7fc50d9846a0c74ce46d72845090647d28d14b SHA512 d50cd2f1f2700c7feb9c7e887497581c8bd3d57760032974ef7cc361784de0a8998629aa8f993e60cd0027bf182187115c14b0b710954d15e58463ccb37e3d9d WHIRLPOOL 65cc7d5c8a52884d35882c7246ec323fcbc1f9c33d3aef8c289fed1cba40e39785c532f7326d423c39e329995e80099382569ecff6803da30c7e8571afea8bd7
|
||||
AUX gdm-2.20.10-custom-session.patch 1105 SHA256 58d09e131375f993e46088078993953ea2fedc87ed9deafbfa35eb7f4e731e67 SHA512 6d127ed622372ad5e8eca88abf3ffd374b0b6afff33a77ad62bca7f8f4a3582ff9237e35217048da62249b2e2313267b281aab2fb5cd5593b188ace421c7f754 WHIRLPOOL 94f99868c9db380beda18bd6b283bdd35a87c9769c14c99138fd3fa2fd060b18591e5e80fe0e6387085ad77801ad384611a9c5076740f49da84d05a94cab519f
|
||||
AUX gdm-2.20.10-desktop-session-dmrc-autologin.patch 873 SHA256 57f8e88acaf45b0cb84d80bb672dddf8e71a5152e9bff8216ff76d15b1e7dfcf SHA512 0dc69cf2e2ea41b4e200d681885263b596a053670a0d02b0035c4765a78e41cf776c16ce985aedd60ab76a5f5342d2cb08f1c7b401f588780e23169ca2fb9b61 WHIRLPOOL 5db6ce48d43c707ec1eaa1190e1ff46e0dd75be4633e135838647c9d6ecbf61ed3e3b5c07244b98dd51f07beb559e8a37d2b70da92d190ba45cc428c49f4223f
|
||||
AUX gdm-2.20.10-gdmsetup-24hr-combo.patch 1108 SHA256 558de681677fd631619dd90aba2b3fe99e783d051d706c536b85268eae40f19c SHA512 916ef335a7cb7121eb4c6446a85c36a6892830ae8fd3f3668e0c43b67f731830c1604046865b842d4850effcf8d1179b73b85db7420464bbda16885ff40a6751 WHIRLPOOL 3e8600a80f74b214e685aef2c0f293e61873ad04eb82060de03f5bd12a344916ab7f38fb852377ca36b87daf1b884025e3389822edd87e0239cd745fd2eb4f70
|
||||
AUX gdm-2.20.10-xinitrc-ssh-agent.patch 704 SHA256 59b0150159776a200c6041290f672f367b4a56f8adc5218d74a271a376c7cfe1 SHA512 c54fa3a3ec762290138e28b6b52f95ca765c7e279f6c3538f90e2df61dc6f7d45bc970a0f6f1a543c87404e8e094fd889a2ec6d3cd7ae0f651a5643fef1c725a WHIRLPOOL 646aa42795546b5131e56996fc38a4b49c963e4e85c76e410dd7f75b4945aade7b13d3f4200db1e57f656c78ae0c5684778f3f244c6a515571ffd1a3c8e1dc56
|
||||
AUX gdm-2.20.2-gksu.patch 544 SHA256 3c7dabba9904d1ae382989099e03938c47eb2ce882f50d8fae9164a573bddb4d SHA512 6fcb5681a47f9bb0aa248e9c0dba27ccc7820ac56e8d1bb4621652a8bd759981899d24c08bd0546a1c4937c664e5d82e101da9900938198a9a0d1a9349891877 WHIRLPOOL 655d16026cf3dfe3a5e7c0007c7e80fa996b5afe6f5704a5326e40540b049c348caa70b7c4e681e5bbeafc28160142be0abb73015905e42a202a9a5f322fe06a
|
||||
AUX gdm-2.20.9-parallel-make.patch 1499 SHA256 c8d04d1cae1c2bac16bf3f41fd481eacf5f4a3962f661996f93da39d4161bb0d SHA512 3ba30cdc5c9c665dc1000923d7fe61b2a4bf1ea9b5e8b88d07ed30e4ae28afa529894177e57fb032ec37b0a8ecc426a5f6acc4a6d2b1a973abf0ace50b17a8f3 WHIRLPOOL 7bf3163f549d498ded4f36a0a7f38b48819a676c0ac314286f920ee25e056a128c843b1df683edc2ceb3e8e947ca420f3fea1eb1d43519b2147aa5d262851c06
|
||||
AUX gdm-2.32.0-automagic-libxklavier-support.patch 2069 SHA256 91fdd46ab5ad1b4071cb798499ddd98bee47c67961906d1db0ee47cd4919fac5 SHA512 81628b88ae7c773e8965ab5b6ffe8aa40c6fa59e0389bfbebf69c3af66e79e8850d6b762d515ff2ab1993ded29fec23cbc3b69513f32575c3bbfbfe8c95551b5 WHIRLPOOL 9f12d3c3290545c3cbde6582e5bea216c94d5a88cfa153cbabf08475e9b3ca4683262479fa56baf0ce0102f8cca898d69f38c4550251f570b6ba92e29d9d991c
|
||||
AUX gdm-2.32.0-custom-session.patch 1317 SHA256 3f79b0355225669dd791527a50d5bd0f7ceca850a8eab7bb32f52d609b10eed6 SHA512 625eb4e98f5f753e20c8bace386a465483e079bd866c0cd309194f04af21b48b6c8f3405feb23fb2a93181824ad3f6f6d75c7b049c13532386be28dbcc53cf50 WHIRLPOOL 2014140c9793592fb51c1bc115da1390a9dd74cd2e07ef8fba70feba1e51971035968d2defda6f3be2150e3a983613c1b456a08f642b15dee4f122135cda06d0
|
||||
AUX gdm-2.32.0-fix-daemonize-regression.patch 4048 SHA256 e95e1ebfcfe2c896130e4925fa6f23911bcfe4db27e2a6788229538c6bb2a59d SHA512 4b2e894096dcffb14fabcd4d7e8909bace087edb00077db0041d579311e1515e34ba88c416c2f933312f94cc6e376253970e5ab7751be2fa499719928f58b895 WHIRLPOOL ef70bdf111fd0cafe2d33889dfdbfaa70ea769c10d89e2319bdefa592f3290c4b3645a278f9ff10848c8fc2e6d0b895430078f453faeed9330d88072345fa393
|
||||
AUX gdm-2.32.0-fix-vt-problems.patch 6156 SHA256 12da81b8085d76ce3099f1af0ec588c07c3f020f341f825683f4855c9303731e SHA512 cc31f51c3eaa51b9ceac21c66a61e5d59b1c07e7dc2166fe4c3abfc4eccbdd4b43605c0e936d003aaf337de599d1dcbc00726c9d63d4f682636b02e111237d63 WHIRLPOOL f0bec91b5decdb784d79d3d101acfeb5adfa794da938e49f3e84d0a78134e968fcd1ed6d13d3f9889055c5afb0f5db2257d20f2af33098f2ea7cf0acf889e458
|
||||
AUX gdm-2.32.0-selinux-remove-attr.patch 851 SHA256 ad13d4b1253dca7d5ac362bcce9f5861c2830a3df32e5370a5a0d975c32ec258 SHA512 9dfd2a4076d8a379558bb2077ea3f1096056ca02753b4a23917924773f0c485ab1dd40a716b14be100e6f7a5d4fe6a9fadc5ce02c696db37055f8df5b0b7638e WHIRLPOOL db29685959f09d66261fa47b926b4eadc24d91ef3b63e295bca73c1520bc7bf513939dbd60cfbd143ba03cefcce2559498f756928c7e7f2652960ba9ef54daee
|
||||
AUX gdm-2.32.0-xinitrc-ssh-agent.patch 863 SHA256 71231d08baf41ee7b91c33c3d8a731c078d1d29328e09223efb1f579bacdaffe SHA512 3d7e841c018044ab1fd9804ad57ae75ece0ed2f9a9731023e90a1b25099bff5375c73ac842e353b38328f95f5baf59b84e4859a54f47176da0443aed6b58e3b3 WHIRLPOOL 56302e13dd104ae7f19dabc443403c25ef7a69428934e3d8ce0432442845dfd03854576a2b426b307954f9fc17e7ef846992a210054c7cc0e744450a7e5743a4
|
||||
AUX gdm-3.2.1.1-custom-session.patch 1317 SHA256 75bd1bdc0d396fee71ff41c2657f922a4c8e290c891cc72f47647ab832d0c285 SHA512 474f839febcebd86449e21ecd7557b599889af7b070b305afcd3c008164de2fc2d42749a4f06e7e405e27671da49a32291468b2940d1d15f05cb1088fb7f42f9 WHIRLPOOL 2310fd849c3a87eab5e78b482f74fb4b97a93b49bc4ecd60197054eadaaad35a6bc73500c246368c031e4646c3effd555233fe5a0cf17e99d81ab4b62e7215e4
|
||||
AUX gdm-3.2.1.1-disable-accessibility.patch 1637 SHA256 60ef48cf07dab78c3f09e5e57cd9138398cfe1d5de4b17408d3c08da58239932 SHA512 7f1794e0560ab8fed659537e829734837cc83a9228e184247ec83446746e9cdc2cbff968c3dfb5c4a7e1c95c3ec7773383d6d9e5f713b3062ede4060b1551a9d WHIRLPOOL af978790c9d86aa096ee0355a848165f51bb9bd75fc8a36232ce00cc7cc14583e3532c222ba46bc5c7e1f753afdf5f1b2a54056c0ed6807dc402e62f0725b6c3
|
||||
AUX gdm-3.2.1.1-pam-fix-1.patch 5032 SHA256 3109179ed53fac5b6cd0465b5d940421d95cb303942a641e7d388f621a15ce81 SHA512 77d2ed965ab875f29bbf84b0e39f1f31c01f4b24268a245c330ec94bb3f7bdb433cb67c38ee299f7f7e1fef6336330b9a61de3ff1896f292acf4915955250223 WHIRLPOOL 4bd25d9604ff464b15a9ada9e578c301adf5c5adb30bb23724debcccfc3884369781fd5d4c8afb7b039e2a1fd33d8bf7b738027c911f06402dd791dbb51fbc2f
|
||||
AUX gdm-3.2.1.1-pam-fix-2.patch 1127 SHA256 6a8857ec7a748ca17a2e3ae99df79f1bd59d501b23d60a44761b92fda490ae02 SHA512 804f3d982f6a88c086729b758d1e3ce227306ca29ac468314165d2e20a3067c31547db6cbcc8ad53bbb62cffb808771849ec437388d6932ad518c2ad6cb88a14 WHIRLPOOL b625c9611fb2ee47fc2301802f4e2284da34784ceefcf5b7a16e09335eac7fd8940b57df99975a185dc6e7a0bfaaf35b4e18a330a7d8cdc18ac6de6647869e51
|
||||
AUX gdm-3.3.92.1-disable-accessibility.patch 779 SHA256 a32bddeb5e57086df41b9db433152ae290a405d23c39f0ff497d61544f343528 SHA512 c735d9e9e34ed89d49623ca327da9667b3d17473bf8c77dc5fd59ee409d92f0eca0c9dd534673283dee0dbc0316a48b3c7f8f648393fa3add49c7a8e1e5e0ff1 WHIRLPOOL 564d708047fc81f092cd695f5a8cbf2017e9568afdb32996738256d0616e68dc80448a363619a9681a54e12239e25bcf5f1df4a07d47654edb371fab4a98462d
|
||||
AUX gdm-3.4.1-dconf-0.13.patch 647 SHA256 4a6a4266e624ed89ba2267ff16e7d026e5129a8329cb336d91ac844cfd17d9d9 SHA512 8a8e052df1dfb41b6c999453cf6db81e0f76a85a519e848ae1a009b1bc150e8be42ca65f81699f37e5faa8b13064f1c3907ea92d4c1139987efb877177a05cb4 WHIRLPOOL 373da58b9f66869eb5491b004cbec67b351d9b28a3732e04cd80e1c7add0230f8c93597075ea54f4679dd973f82b3d424e41da8a5e20fee6ec4323911ae818e3
|
||||
AUX gdm-3.4.1-plymouth.patch 10434 SHA256 22de460e0b1b659299f0afc8cd3a0e23e7da7b12a63e8317a43cb88b3342f718 SHA512 83f4e853d251fbc5f1ba4cc61eda4fd0cae1cd2f018d06f052f1dc8da75207ee413907fe7aef153b65493c95893070bb1f3fe90efa58d10f839a7c01152f8a95 WHIRLPOOL 9a1579e834ea1d63e8eb02b94501de477c09212cb73bc3439ae80ff97257621f0bda0da509a83e8419c32e8616e467264ee14a0cdec8f6bd89e8c90561e5469e
|
||||
AUX gdm-3.4.1-save-root-window.patch 5010 SHA256 1472af09a3ca0ac1657130e1104e36c11dbd31a67f7600c9bde41d969b919b65 SHA512 f699f5fd345283813558c4637bbb19c6bec8857d785ab11b2752d02d4b0ac9bf67b682b7afbf252e8eaa81943f7d68b320ab65d0206afea825c0a5841dfb7fca WHIRLPOOL fbd6d27f92d60bb060e4b06f2a95ce88561a4b1dcd4a3c2d70a9485c8371599458bfe4b1ce8c9d92f7929d1fa0b61c934a936e079f81a5a9042aca08f8a7a683
|
||||
AUX gdm-3.6.0-fix-daemonize-regression.patch 6639 SHA256 6ff6eeba681dc73ae77058ba6ad1ecb292af843189a83071b96b1d84fbe887e9 SHA512 5de1e38b447e1dce933b004951366c701707a35c990fa35c84959753b32326e93be7fde073abc51e5bf439b5fd4277adce5f3ab190a7aac3d65211d84411f06a WHIRLPOOL f6a5db38a750d47375f69088765dd9e653dc4a70750a542e660ce7c876cc30f61e05e332250e5daf0f9d50c512791eac18cc69585c42aa5decb206b2ee7b361d
|
||||
AUX gdm-3.6.0-selinux-automagic.patch 909 SHA256 9b1a3c5913e53f30641dc1177d396060c81abcfff6d8e9acc738e4d19e396580 SHA512 68a6fa710862bde6479b9e35f66d5b65c5cf90df462d8f318ad06ad04fd2106376915250d8b09a6ca0716fab78aedc619e41de6f2c93e57449442a7613fe575b WHIRLPOOL a5ca1901f52be902cb6896759a3ce92f2298782d80ca6c6a023a3fd7a6cea8884f93af7cbc85788fd24166f4bf5da1c357b2056d3d6141fb5540273b9dd63a5a
|
||||
AUX gdm-3.6.2-gdm-slave.xml-unicode.patch 792 SHA256 4e53f08356b9fbc0669bfe15df848d92b845244604a329ed4cfe753c94691990 SHA512 4f856ffeb3e9b720be24fdb2f231a3245b4fea2a503cfc74b5ebbf77418ae6c6cf377568f53da053efe42304e0bad9add2dc5d7a0571ed3152fb0ad0c16a9019 WHIRLPOOL 59fbab49f7420236a2a3a34f5b700b2b6306235d6f60b383886cdbd01f05153dc2c06a102c0baad8ed350ffdcaad7a1ba448abb2ac6d77a7e759c541f63f3b14
|
||||
DIST gdm-3.4.1.tar.xz 1615612 SHA256 6292968dff5fc89877b5e1aaa3c7d1484dd3ed2d4f388e935841d053439be665 SHA512 0c3692a6008d8576319dc9d40411f36e0d04481809b342a84a88407b0d342cc234db01b21103a8e87fbbe0703d280e86444f0923e8df02f0642c59fe5c95ffed WHIRLPOOL 315d07e510303330e0e530c901ff9ac078254ebc9c2c406e573819672854073721736770caf63d31892c230beb9dcd5220985b0a53a464400a8154277ce97f23
|
||||
DIST gdm-gentoo-2012.09.25.tar.xz 1448 SHA256 f5978e4309e5486be41fec437a6e538dbfca3451757f3282a557941c4e70700d SHA512 c9d1a4699c34ce8708a4e7eed1b38d66ead507a4a2a6b45f2ef6254d54b46c755c9195db0593d6aa6785a8986e2ef5235592071c0cae8c1c8963951ecdb7c079 WHIRLPOOL c0efd131977b0036431b9edd6932025247323f198dc1bd7195efb55d31fd6b106ebdf391944b0009cf7a3261e99160fa6041a26348fe020badf26d0785f5dcc8
|
||||
EBUILD gdm-3.4.1-r3.ebuild 8645 SHA256 74686355a86af1c9cd9b2c99e544cd36fea93c416a16c51c9e00e2405d1446e3 SHA512 cb30a703f606b279932aaa004d753cc1dbb641fb82bbaef320f89433897241bf3589f7580f03a35e03f04e940c297b3f9509fc08872e1b6c88268d8d072b3dbc WHIRLPOOL d13003622168bde1cbca190cb21443e8a57383d79163a5d9bf3e22bfb389fc43dd2c69c2925b7a1167cdbc543f5e1906a3bf96a9b10490e7a9befa777564a4b5
|
||||
12
gnome-base/gdm/files/3.4.1/gdm
Normal file
12
gnome-base/gdm/files/3.4.1/gdm
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
#%PAM-1.0
|
||||
auth optional pam_env.so
|
||||
auth include system-login
|
||||
auth required pam_nologin.so
|
||||
|
||||
account include system-login
|
||||
|
||||
password include system-login
|
||||
|
||||
session include system-auth
|
||||
#Systemd=-session optional pam_systemd.so
|
||||
#Keyring=session optional pam_gnome_keyring.so auto_start
|
||||
11
gnome-base/gdm/files/3.4.1/gdm-autologin
Normal file
11
gnome-base/gdm/files/3.4.1/gdm-autologin
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#%PAM-1.0
|
||||
auth optional pam_env.so
|
||||
auth required pam_nologin.so
|
||||
auth required pam_permit.so
|
||||
account include system-login
|
||||
password include system-login
|
||||
session include system-auth
|
||||
#Systemd=-session optional pam_systemd.so
|
||||
# For the keyring to unlock with autologin, you need to set an empty
|
||||
# password on the keyring.
|
||||
#Keyring=session optional pam_gnome_keyring.so auto_start
|
||||
15
gnome-base/gdm/files/3.4.1/gdm-fingerprint
Normal file
15
gnome-base/gdm/files/3.4.1/gdm-fingerprint
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
#%PAM-1.0
|
||||
# Note: no pam_gnome_keyring.so support since the login password is not used
|
||||
auth optional pam_env.so
|
||||
auth required pam_tally2.so onerr=succeed
|
||||
auth required pam_shells.so
|
||||
auth required pam_nologin.so
|
||||
auth required pam_fprintd.so
|
||||
auth optional pam_permit.so
|
||||
|
||||
account include system-login
|
||||
|
||||
password required pam_deny.so
|
||||
|
||||
session include system-auth
|
||||
#Systemd=-session optional pam_systemd.so
|
||||
12
gnome-base/gdm/files/3.4.1/gdm-password
Normal file
12
gnome-base/gdm/files/3.4.1/gdm-password
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
#%PAM-1.0
|
||||
auth optional pam_env.so
|
||||
auth include system-login
|
||||
auth required pam_nologin.so
|
||||
|
||||
account include system-login
|
||||
|
||||
password include system-login
|
||||
|
||||
session include system-auth
|
||||
#Systemd=-session optional pam_systemd.so
|
||||
#Keyring=session optional pam_gnome_keyring.so auto_start
|
||||
16
gnome-base/gdm/files/3.4.1/gdm-smartcard
Normal file
16
gnome-base/gdm/files/3.4.1/gdm-smartcard
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#%PAM-1.0
|
||||
auth optional pam_env.so
|
||||
auth required pam_tally2.so onerr=succeed
|
||||
auth required pam_shells.so
|
||||
auth required pam_nologin.so
|
||||
auth [success=done ignore=ignore default=die] pam_pkcs11.so wait_for_card card_only
|
||||
auth optional pam_permit.so
|
||||
|
||||
account include system-login
|
||||
|
||||
password optional pam_pkcs11.so
|
||||
password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
|
||||
password optional pam_permit.so
|
||||
|
||||
session include system-auth
|
||||
#Systemd=-session optional pam_systemd.so
|
||||
11
gnome-base/gdm/files/3.4.1/gdm-welcome
Normal file
11
gnome-base/gdm/files/3.4.1/gdm-welcome
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#%PAM-1.0
|
||||
auth required pam_env.so
|
||||
# Allows greeter to list ldap users; bug #430740
|
||||
#LDAP=-auth sufficient pam_ldap.so try_first_pass ignore_authinfo_unavail
|
||||
auth required pam_permit.so
|
||||
account required pam_nologin.so
|
||||
account include system-services
|
||||
password include system-services
|
||||
session required pam_loginuid.so
|
||||
session optional pam_keyinit.so force revoke
|
||||
session include system-services
|
||||
11
gnome-base/gdm/files/3.4.1/gdm.service
Normal file
11
gnome-base/gdm/files/3.4.1/gdm.service
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
[Unit]
|
||||
Description=GNOME Display Manager
|
||||
After=systemd-user-sessions.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/gdm --nodaemon
|
||||
Type=dbus
|
||||
BusName=org.gnome.DisplayManager
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical.target
|
||||
9
gnome-base/gdm/files/49-keychain
Normal file
9
gnome-base/gdm/files/49-keychain
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
# source keychain variables
|
||||
|
||||
keychain="`which keychain`"
|
||||
if [ -n "$keychain" ] && [ -x "$keychain" ] && [ -f "$HOME/.bash_profile" ]
|
||||
then
|
||||
. "${HOME}/.bash_profile"
|
||||
fi
|
||||
9
gnome-base/gdm/files/49-keychain-r1
Normal file
9
gnome-base/gdm/files/49-keychain-r1
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
# source keychain variables
|
||||
|
||||
keychain="`which keychain 2>/dev/null`"
|
||||
if [ -n "$keychain" ] && [ -x "$keychain" ] && [ -f "$HOME/.bash_profile" ]
|
||||
then
|
||||
. "${HOME}/.bash_profile"
|
||||
fi
|
||||
10
gnome-base/gdm/files/50-ssh-agent
Normal file
10
gnome-base/gdm/files/50-ssh-agent
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
# add ssh-agent if found
|
||||
|
||||
sshagent="`which ssh-agent`"
|
||||
if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
|
||||
command="$sshagent -- $command"
|
||||
elif [ -z "$sshagent" ] ; then
|
||||
echo "$0: ssh-agent not found!"
|
||||
fi
|
||||
10
gnome-base/gdm/files/50-ssh-agent-r1
Normal file
10
gnome-base/gdm/files/50-ssh-agent-r1
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
# add ssh-agent if found
|
||||
|
||||
sshagent="`which ssh-agent 2>/dev/null`"
|
||||
if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
|
||||
command="$sshagent -- $command"
|
||||
elif [ -z "$sshagent" ] ; then
|
||||
echo "$0: ssh-agent not found!"
|
||||
fi
|
||||
24
gnome-base/gdm/files/gdm-2.13.0.1-selinux-remove-attr.patch
Normal file
24
gnome-base/gdm/files/gdm-2.13.0.1-selinux-remove-attr.patch
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
diff --exclude-from=/home/dang/.diffrc -u -ruN gdm-2.13.0.1.orig/configure gdm-2.13.0.1/configure
|
||||
--- gdm-2.13.0.1.orig/configure 2005-11-14 17:34:33.000000000 -0500
|
||||
+++ gdm-2.13.0.1/configure 2005-11-18 14:59:31.000000000 -0500
|
||||
@@ -31700,7 +31700,7 @@
|
||||
#define HAVE_SELINUX 1
|
||||
_ACEOF
|
||||
|
||||
- EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux -lattr"
|
||||
+ EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux"
|
||||
fi
|
||||
|
||||
#
|
||||
diff --exclude-from=/home/dang/.diffrc -u -ruN gdm-2.13.0.1.orig/configure.ac gdm-2.13.0.1/configure.ac
|
||||
--- gdm-2.13.0.1.orig/configure.ac 2005-11-14 17:13:40.000000000 -0500
|
||||
+++ gdm-2.13.0.1/configure.ac 2005-11-18 14:59:23.000000000 -0500
|
||||
@@ -750,7 +750,7 @@
|
||||
AC_CHECK_LIB(selinux,setexeccon,/bin/true)
|
||||
AC_CHECK_LIB(selinux,is_selinux_enabled,/bin/true)
|
||||
AC_DEFINE(HAVE_SELINUX)
|
||||
- EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux -lattr"
|
||||
+ EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux"
|
||||
fi
|
||||
|
||||
#
|
||||
42
gnome-base/gdm/files/gdm-2.20.10-custom-session.patch
Normal file
42
gnome-base/gdm/files/gdm-2.20.10-custom-session.patch
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
fix custom sessions (see bug #216984, work done by Gilles, I'm just committing)
|
||||
|
||||
config/Xsession.in | 18 +++++++++---------
|
||||
1 file changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
Index: b/config/Xsession.in
|
||||
===================================================================
|
||||
--- a/config/Xsession.in
|
||||
+++ b/config/Xsession.in
|
||||
@@ -177,15 +177,6 @@ if [ -n "$GDM_LANG" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
-# run all system xinitrc shell scripts.
|
||||
-if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
||||
- for i in /etc/X11/xinit/xinitrc.d/* ; do
|
||||
- if [ -x "$i" ]; then
|
||||
- . "$i"
|
||||
- fi
|
||||
- done
|
||||
-fi
|
||||
-
|
||||
if [ "x$command" = "xcustom" ] ; then
|
||||
if [ -x "$HOME/.xsession" ]; then
|
||||
command="$HOME/.xsession"
|
||||
@@ -213,6 +204,15 @@ if [ "x$command" = "xdefault" ] ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
+# run all system xinitrc shell scripts.
|
||||
+if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
||||
+ for i in /etc/X11/xinit/xinitrc.d/* ; do
|
||||
+ if [ -x "$i" ]; then
|
||||
+ . "$i"
|
||||
+ fi
|
||||
+ done
|
||||
+fi
|
||||
+
|
||||
# add ssh-agent if found
|
||||
sshagent="`gdmwhich ssh-agent`"
|
||||
if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
Author: Fabio Erculiani <lxnay@sabayonlinux.org>
|
||||
Date: Fri, 08 Aug 2009 09:19 +0000
|
||||
Subject: Fix DESTOP_SESSION when dmrc is empty and autologin enabled.
|
||||
|
||||
---
|
||||
daemon/slave.c | 8 ++++----
|
||||
1 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/daemon/slave.c b/daemon/slave.c
|
||||
index b52774d..ced9567 100644
|
||||
--- a/daemon/slave.c
|
||||
+++ b/daemon/slave.c
|
||||
@@ -4638,10 +4638,6 @@ gdm_slave_session_start (void)
|
||||
language = g_strdup (usrlang);
|
||||
}
|
||||
|
||||
- tmp = gdm_strip_extension (session, ".desktop");
|
||||
- g_free (session);
|
||||
- session = tmp;
|
||||
-
|
||||
if (ve_string_empty (session)) {
|
||||
g_free (session);
|
||||
session = find_a_session ();
|
||||
@@ -4651,6 +4647,10 @@ gdm_slave_session_start (void)
|
||||
}
|
||||
}
|
||||
|
||||
+ tmp = gdm_strip_extension (session, ".desktop");
|
||||
+ g_free (session);
|
||||
+ session = tmp;
|
||||
+
|
||||
if G_LIKELY (ve_string_empty (language)) {
|
||||
g_free (language);
|
||||
language = NULL;
|
||||
22
gnome-base/gdm/files/gdm-2.20.10-gdmsetup-24hr-combo.patch
Normal file
22
gnome-base/gdm/files/gdm-2.20.10-gdmsetup-24hr-combo.patch
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#
|
||||
# Ubuntu: https://bugs.edge.launchpad.net/ubuntu/+source/gdm/+bug/256283
|
||||
# Description: Fix 24 hour combo box in gdmsetup
|
||||
#
|
||||
Index: gdm-2.20.10/gui/gdmsetup.c
|
||||
===================================================================
|
||||
--- gdm-2.20.10.orig/gui/gdmsetup.c 2009-04-03 14:17:35.000000000 +1100
|
||||
+++ gdm-2.20.10/gui/gdmsetup.c 2009-04-03 14:17:45.000000000 +1100
|
||||
@@ -1529,11 +1529,11 @@
|
||||
val = gdm_config_get_string ((gchar *)key);
|
||||
|
||||
if (new_val) {
|
||||
- if (strcmp (_(new_val), _("auto"))) {
|
||||
+ if (strcmp (_(new_val), _("auto")) == 0) {
|
||||
if (strcasecmp (ve_sure_string (val), "auto") != 0)
|
||||
gdm_setup_config_set_string (key, "auto");
|
||||
}
|
||||
- else if (strcmp (_(new_val), _("yes"))) {
|
||||
+ else if (strcmp (_(new_val), _("yes")) == 0) {
|
||||
if (strcasecmp (ve_sure_string (val), "true") != 0 &&
|
||||
strcasecmp (ve_sure_string (val), "yes") != 0)
|
||||
gdm_setup_config_set_string (key, "true");
|
||||
26
gnome-base/gdm/files/gdm-2.20.10-xinitrc-ssh-agent.patch
Normal file
26
gnome-base/gdm/files/gdm-2.20.10-xinitrc-ssh-agent.patch
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
ssh-agent really needs to be handled by xinitrc like other agents.
|
||||
Gentoo bug: 220603
|
||||
|
||||
config/Xsession.in | 8 --------
|
||||
1 file changed, 8 deletions(-)
|
||||
|
||||
Index: b/config/Xsession.in
|
||||
===================================================================
|
||||
--- a/config/Xsession.in
|
||||
+++ b/config/Xsession.in
|
||||
@@ -213,14 +213,6 @@ if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
||||
done
|
||||
fi
|
||||
|
||||
-# add ssh-agent if found
|
||||
-sshagent="`gdmwhich ssh-agent`"
|
||||
-if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
|
||||
- command="$sshagent -- $command"
|
||||
-elif [ -z "$sshagent" ] ; then
|
||||
- echo "$0: ssh-agent not found!"
|
||||
-fi
|
||||
-
|
||||
echo "$0: Setup done, will execute: $command"
|
||||
|
||||
eval exec $command
|
||||
12
gnome-base/gdm/files/gdm-2.20.2-gksu.patch
Normal file
12
gnome-base/gdm/files/gdm-2.20.2-gksu.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN gdm-2.20.2.orig/gui/gdmsetup.desktop.in.in gdm-2.20.2/gui/gdmsetup.desktop.in.in
|
||||
--- gdm-2.20.2.orig/gui/gdmsetup.desktop.in.in 2007-11-26 18:11:04.000000000 -0500
|
||||
+++ gdm-2.20.2/gui/gdmsetup.desktop.in.in 2007-11-29 11:40:38.000000000 -0500
|
||||
@@ -3,7 +3,7 @@ Encoding=UTF-8
|
||||
_Name=Login Window
|
||||
_Comment=Configure GDM login window appearance and behavior
|
||||
TryExec=@sbindir@/gdmsetup
|
||||
-Exec=@sbindir@/gdmsetup
|
||||
+Exec=gksu @sbindir@/gdmsetup
|
||||
Icon=gdmsetup
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
42
gnome-base/gdm/files/gdm-2.20.9-parallel-make.patch
Normal file
42
gnome-base/gdm/files/gdm-2.20.9-parallel-make.patch
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
--- a/gui/Makefile.am 2009-01-04 16:51:19.000000000 +0100
|
||||
+++ b/gui/Makefile.am 2009-01-04 16:52:10.000000000 +0100
|
||||
@@ -263,7 +263,7 @@
|
||||
Gladedir = $(datadir)/gdm
|
||||
Glade_DATA = gdmsetup.glade gdmchooser.glade gdmphotosetup.glade
|
||||
|
||||
-install-data-local:
|
||||
+install-data-hook:
|
||||
-test -z "$(DESTDIR)$(bindir)/gdmXnest" || rm -f $(DESTDIR)$(bindir)/gdmXnest
|
||||
$(LN_S) -f gdmXnestchooser $(DESTDIR)$(bindir)/gdmXnest
|
||||
|
||||
--- a/gui/Makefile.in 2009-01-04 16:51:39.000000000 +0100
|
||||
+++ b/gui/Makefile.in 2009-01-04 16:52:52.000000000 +0100
|
||||
@@ -1222,7 +1225,9 @@
|
||||
info-am:
|
||||
|
||||
install-data-am: install-GladeDATA install-SettingsDATA \
|
||||
- install-SystemDATA install-data-local
|
||||
+ install-SystemDATA
|
||||
+ @$(NORMAL_INSTALL)
|
||||
+ $(MAKE) $(AM_MAKEFLAGS) install-data-hook
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
@@ -1275,7 +1280,7 @@
|
||||
html-am info info-am install install-GladeDATA \
|
||||
install-SettingsDATA install-SystemDATA install-am \
|
||||
install-binPROGRAMS install-data install-data-am \
|
||||
- install-data-local install-dvi install-dvi-am install-exec \
|
||||
+ install-data-hook install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-libexecPROGRAMS install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
@@ -1295,7 +1300,7 @@
|
||||
|
||||
@INTLTOOL_DESKTOP_RULE@
|
||||
|
||||
-install-data-local:
|
||||
+install-data-hook:
|
||||
-test -z "$(DESTDIR)$(bindir)/gdmXnest" || rm -f $(DESTDIR)$(bindir)/gdmXnest
|
||||
$(LN_S) -f gdmXnestchooser $(DESTDIR)$(bindir)/gdmXnest
|
||||
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
From 481fe43b653b443ecfa8d4f3aa88d734d17cccd5 Mon Sep 17 00:00:00 2001
|
||||
From: Gilles Dartiguelongue <eva@gentoo.org>
|
||||
Date: Tue, 2 Nov 2010 23:21:27 +0100
|
||||
Subject: [PATCH 6/6] fix libxklavier automagic support
|
||||
|
||||
libxklavier support is optional, make that fact explicit.
|
||||
---
|
||||
configure.ac | 28 +++++++++++++++++++---------
|
||||
1 files changed, 19 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 71d0247..10dbb72 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -129,17 +129,26 @@ SIMPLE_GREETER_LIBS="$SIMPLE_GREETER_LIBS -lm"
|
||||
AC_SUBST(SIMPLE_GREETER_CFLAGS)
|
||||
AC_SUBST(SIMPLE_GREETER_LIBS)
|
||||
|
||||
-PKG_CHECK_MODULES(LIBXKLAVIER,
|
||||
- libxklavier >= $LIBXKLAVIER_REQUIRED_VERSION,
|
||||
- have_libxklavier=yes,
|
||||
- have_libxklavier=no)
|
||||
-if test "x$have_libxklavier" = "xyes" ; then
|
||||
- AC_DEFINE(HAVE_LIBXKLAVIER, [], [Define if we have libxklavier])
|
||||
+AC_ARG_ENABLE([libxklavier],
|
||||
+ AS_HELP_STRING([--enable-libxklavier],
|
||||
+ [Enable libxklavier support @<:@default=yes@:>@]),
|
||||
+ enable_libxklavier=$enableval,
|
||||
+ enable_libxklavier=yes)
|
||||
+have_libxklavier=no
|
||||
+if test "x$enable_libxklavier" = "xyes"; then
|
||||
+ PKG_CHECK_MODULES(LIBXKLAVIER,
|
||||
+ libxklavier >= $LIBXKLAVIER_REQUIRED_VERSION,
|
||||
+ have_libxklavier=yes,
|
||||
+ have_libxklavier=no)
|
||||
+ if test "x$have_libxklavier" = "xyes" ; then
|
||||
+ AC_DEFINE(HAVE_LIBXKLAVIER, [], [Define if we have libxklavier])
|
||||
+ fi
|
||||
+ AC_SUBST(HAVE_LIBXKLAVIER)
|
||||
+ AC_SUBST(LIBXKLAVIER_CFLAGS)
|
||||
+ AC_SUBST(LIBXKLAVIER_LIBS)
|
||||
fi
|
||||
+
|
||||
AM_CONDITIONAL(HAVE_LIBXKLAVIER, test x$have_libxklavier = xyes)
|
||||
-AC_SUBST(HAVE_LIBXKLAVIER)
|
||||
-AC_SUBST(LIBXKLAVIER_CFLAGS)
|
||||
-AC_SUBST(LIBXKLAVIER_LIBS)
|
||||
|
||||
PKG_CHECK_MODULES(SIMPLE_CHOOSER,
|
||||
dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
|
||||
@@ -1467,5 +1476,6 @@ echo \
|
||||
SELinux support: ${with_selinux}
|
||||
ConsoleKit support: ${use_console_kit}
|
||||
UPower support: ${have_upower}
|
||||
+ Libxklavier support: ${have_libxklavier}
|
||||
Build with RBAC: ${msg_rbac_shutdown}
|
||||
"
|
||||
--
|
||||
1.7.3.1
|
||||
|
||||
51
gnome-base/gdm/files/gdm-2.32.0-custom-session.patch
Normal file
51
gnome-base/gdm/files/gdm-2.32.0-custom-session.patch
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
From 2dc0d268c7cc5d6133a9594adcd67dc543288b8f Mon Sep 17 00:00:00 2001
|
||||
From: Gilles Dartiguelongue <eva@gentoo.org>
|
||||
Date: Tue, 2 Nov 2010 23:19:07 +0100
|
||||
Subject: [PATCH 4/6] make custom session work
|
||||
|
||||
Gentoo bug: #216984
|
||||
|
||||
fix custom sessions not doing sourcing in the proper order.
|
||||
---
|
||||
data/Xsession.in | 18 +++++++++---------
|
||||
1 files changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/data/Xsession.in b/data/Xsession.in
|
||||
index b2d98f2..0da187d 100755
|
||||
--- a/data/Xsession.in
|
||||
+++ b/data/Xsession.in
|
||||
@@ -153,15 +153,6 @@ if [ -n "$GDM_LANG" ]; then
|
||||
export LANG
|
||||
fi
|
||||
|
||||
-# run all system xinitrc shell scripts.
|
||||
-if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
||||
- for i in /etc/X11/xinit/xinitrc.d/* ; do
|
||||
- if [ -x "$i" -a ! -d "$i" ]; then
|
||||
- . "$i"
|
||||
- fi
|
||||
- done
|
||||
-fi
|
||||
-
|
||||
if [ "x$command" = "xcustom" ] ; then
|
||||
if [ -x "$HOME/.xsession" ]; then
|
||||
command="$HOME/.xsession"
|
||||
@@ -189,6 +180,15 @@ if [ "x$command" = "xdefault" ] ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
+# run all system xinitrc shell scripts.
|
||||
+if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
||||
+ for i in /etc/X11/xinit/xinitrc.d/* ; do
|
||||
+ if [ -x "$i" ]; then
|
||||
+ . "$i"
|
||||
+ fi
|
||||
+ done
|
||||
+fi
|
||||
+
|
||||
# add ssh-agent if found
|
||||
sshagent="`gdmwhich ssh-agent`"
|
||||
if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
|
||||
--
|
||||
1.7.3.1
|
||||
|
||||
126
gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch
Normal file
126
gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
From 7f5104b242e6b36e6143183b14582d362763ff2a Mon Sep 17 00:00:00 2001
|
||||
From: Gilles Dartiguelongue <eva@gentoo.org>
|
||||
Date: Tue, 2 Nov 2010 23:16:51 +0100
|
||||
Subject: [PATCH 2/6] daemonize so that the boot process can continue
|
||||
|
||||
Gentoo bug: #236701
|
||||
|
||||
Originally from: Dan Nicholson <dbn.lists@gmail.com>
|
||||
|
||||
Fork gdm-binary, except when -nodaemon is used
|
||||
|
||||
gdm-binary now forks and the parent terminates, except when the
|
||||
-nodaemon or --nodaemon options are used. This provides compatibility
|
||||
with xdm. Fixes bug #550170.
|
||||
|
||||
---
|
||||
daemon/main.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 files changed, 64 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/daemon/main.c b/daemon/main.c
|
||||
index 5b8d66b..191b6e3 100644
|
||||
--- a/daemon/main.c
|
||||
+++ b/daemon/main.c
|
||||
@@ -513,6 +513,56 @@ is_debug_set (void)
|
||||
return debug;
|
||||
}
|
||||
|
||||
+static void
|
||||
+dup_dev_null (int fd, int flags)
|
||||
+{
|
||||
+ int nullfd;
|
||||
+ int dupfd;
|
||||
+
|
||||
+ VE_IGNORE_EINTR (nullfd = open ("/dev/null", flags));
|
||||
+ if (G_UNLIKELY (nullfd < 0)) {
|
||||
+ gdm_fail (_("Cannot open /dev/null: %s!"),
|
||||
+ strerror (errno));
|
||||
+ exit (EXIT_FAILURE);
|
||||
+ }
|
||||
+
|
||||
+ VE_IGNORE_EINTR (dupfd = dup2 (nullfd, fd));
|
||||
+ if (G_UNLIKELY (dupfd < 0)) {
|
||||
+ gdm_fail (_("Cannot duplicate /dev/null: %s!"),
|
||||
+ strerror (errno));
|
||||
+ exit (EXIT_FAILURE);
|
||||
+ }
|
||||
+
|
||||
+ VE_IGNORE_EINTR (close (nullfd));
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+daemonify (void)
|
||||
+{
|
||||
+ pid_t pid;
|
||||
+
|
||||
+ pid = fork ();
|
||||
+
|
||||
+ /* terminate the parent */
|
||||
+ if (pid > 0)
|
||||
+ exit (EXIT_SUCCESS);
|
||||
+
|
||||
+ if (G_UNLIKELY (pid < 0)) {
|
||||
+ gdm_fail (_("fork () failed: %s!"), strerror (errno));
|
||||
+ exit (EXIT_FAILURE);
|
||||
+ }
|
||||
+
|
||||
+ if (G_UNLIKELY (setsid () < 0)) {
|
||||
+ gdm_fail (_("setsid () failed: %s!"), strerror (errno));
|
||||
+ exit (EXIT_FAILURE);
|
||||
+ }
|
||||
+
|
||||
+ /* reopen stdin, stdout, stderr with /dev/null */
|
||||
+ dup_dev_null (STDIN_FILENO, O_RDONLY);
|
||||
+ dup_dev_null (STDOUT_FILENO, O_RDWR);
|
||||
+ dup_dev_null (STDERR_FILENO, O_RDWR);
|
||||
+}
|
||||
+
|
||||
int
|
||||
main (int argc,
|
||||
char **argv)
|
||||
@@ -523,14 +573,17 @@ main (int argc,
|
||||
DBusGConnection *connection;
|
||||
GError *error;
|
||||
int ret;
|
||||
+ int i;
|
||||
gboolean res;
|
||||
gboolean xdmcp_enabled;
|
||||
GdmSignalHandler *signal_handler;
|
||||
static gboolean do_timed_exit = FALSE;
|
||||
static gboolean print_version = FALSE;
|
||||
static gboolean fatal_warnings = FALSE;
|
||||
+ static gboolean no_daemon = FALSE;
|
||||
static GOptionEntry entries [] = {
|
||||
{ "fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &fatal_warnings, N_("Make all warnings fatal"), NULL },
|
||||
+ { "nodaemon", 0, 0, G_OPTION_ARG_NONE, &no_daemon, N_("Do not fork into the background"), NULL },
|
||||
{ "timed-exit", 0, 0, G_OPTION_ARG_NONE, &do_timed_exit, N_("Exit after a time (for debugging)"), NULL },
|
||||
{ "version", 0, 0, G_OPTION_ARG_NONE, &print_version, N_("Print GDM version"), NULL },
|
||||
|
||||
@@ -547,6 +600,14 @@ main (int argc,
|
||||
|
||||
g_type_init ();
|
||||
|
||||
+ /* preprocess the arguments to support the xdm style
|
||||
+ * -nodaemon option
|
||||
+ */
|
||||
+ for (i = 0; i < argc; i++) {
|
||||
+ if (strcmp (argv[i], "-nodaemon") == 0)
|
||||
+ argv[i] = "--nodaemon";
|
||||
+ }
|
||||
+
|
||||
context = g_option_context_new (_("GNOME Display Manager"));
|
||||
g_option_context_add_main_entries (context, entries, NULL);
|
||||
g_option_context_set_ignore_unknown_options (context, TRUE);
|
||||
@@ -617,6 +678,9 @@ main (int argc,
|
||||
exit (-1);
|
||||
}
|
||||
|
||||
+ if (no_daemon == FALSE)
|
||||
+ daemonify ();
|
||||
+
|
||||
/* pid file */
|
||||
delete_pid ();
|
||||
write_pid ();
|
||||
--
|
||||
1.7.3.1
|
||||
|
||||
195
gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch
Normal file
195
gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch
Normal file
|
|
@ -0,0 +1,195 @@
|
|||
From 64002e623fea54ab10040206d164c5fdee4a43d2 Mon Sep 17 00:00:00 2001
|
||||
From: Nirbheek Chauhan <nirbheek@gentoo.org>
|
||||
Date: Fri, 15 Apr 2011 22:13:44 +0530
|
||||
Subject: [PATCH] Fix VT grab race with getty causing X to grab the wrong VT
|
||||
|
||||
On bootup, if X is spawned without any args, it'll take up the first unused VT.
|
||||
If GDM starts up before gettys are spawned, X takes up VT1 or VT2 depending on
|
||||
the init system and bootsplash.
|
||||
|
||||
This is problematic because afterwards getty will come up underneath X, and
|
||||
cause keyboard problems and eventually crash X.
|
||||
|
||||
So we read /etc/inittab, check for open VTs, compare the two values, and take
|
||||
the conservative one.
|
||||
---
|
||||
configure.ac | 4 ++
|
||||
daemon/Makefile.am | 1 +
|
||||
daemon/gdm-server.c | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
3 files changed, 110 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ca0f8bb..b9e7462 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -302,6 +302,10 @@ AC_CHECK_TYPE(socklen_t,,
|
||||
AC_CHECK_HEADERS(sys/sockio.h)
|
||||
AC_CHECK_FUNCS([setresuid setenv unsetenv clearenv])
|
||||
|
||||
+dnl Needed for querying the kernel for free VTs
|
||||
+AC_CHECK_HEADERS(sys/vt.h)
|
||||
+AC_CHECK_HEADERS(sys/ioctl.h)
|
||||
+
|
||||
dnl checks needed for Darwin compatibility to linux **environ.
|
||||
AC_CHECK_HEADERS(crt_externs.h)
|
||||
AC_CHECK_FUNCS(_NSGetEnviron)
|
||||
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
|
||||
index da18835..c1b6bda 100644
|
||||
--- a/daemon/Makefile.am
|
||||
+++ b/daemon/Makefile.am
|
||||
@@ -14,6 +14,7 @@ AM_CPPFLAGS = \
|
||||
-DLIBEXECDIR=\"$(libexecdir)\" \
|
||||
-DLOGDIR=\"$(logdir)\" \
|
||||
-DSBINDIR=\"$(sbindir)\" \
|
||||
+ -DSYSCONFDIR=\""$(sysconfdir)"\" \
|
||||
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
|
||||
-DGDM_XAUTH_DIR=\"$(GDM_XAUTH_DIR)\" \
|
||||
-DGDM_SCREENSHOT_DIR=\"$(GDM_SCREENSHOT_DIR)\" \
|
||||
diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
|
||||
index 339f3cc..29d16dc 100644
|
||||
--- a/daemon/gdm-server.c
|
||||
+++ b/daemon/gdm-server.c
|
||||
@@ -26,6 +26,8 @@
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
+#include <sys/ioctl.h>
|
||||
+#include <sys/vt.h>
|
||||
#include <sys/wait.h>
|
||||
#include <errno.h>
|
||||
#include <ctype.h>
|
||||
@@ -42,6 +44,7 @@
|
||||
#include <glib/gi18n.h>
|
||||
#include <glib/gstdio.h>
|
||||
#include <glib-object.h>
|
||||
+#include <gio/gio.h>
|
||||
|
||||
#include <X11/Xlib.h> /* for Display */
|
||||
|
||||
@@ -54,6 +57,8 @@ extern char **environ;
|
||||
|
||||
#define GDM_SERVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_SERVER, GdmServerPrivate))
|
||||
|
||||
+#define INITTAB SYSCONFDIR"/inittab"
|
||||
+
|
||||
/* These are the servstat values, also used as server
|
||||
* process exit codes */
|
||||
#define SERVER_TIMEOUT 2 /* Server didn't start */
|
||||
@@ -674,6 +679,105 @@ gdm_server_spawn (GdmServer *server,
|
||||
}
|
||||
|
||||
/**
|
||||
+ * Parse the inittab file used by getty to spawn VTs to find unused ttys
|
||||
+ */
|
||||
+static int
|
||||
+get_free_vt_from_inittab ()
|
||||
+{
|
||||
+ GFile *gfile;
|
||||
+ GFileInputStream *contents;
|
||||
+ GDataInputStream *dstream;
|
||||
+ GRegex *getty;
|
||||
+ GMatchInfo *tty_match = NULL;
|
||||
+ GSList *tty_list = NULL;
|
||||
+ GError *error = NULL;
|
||||
+ gchar *temp = NULL;
|
||||
+ int vtno = 0;
|
||||
+
|
||||
+ gfile = g_file_new_for_path (INITTAB);
|
||||
+ contents = g_file_read (gfile, NULL, &error);
|
||||
+ g_object_unref (gfile);
|
||||
+ if (!contents) {
|
||||
+ if (error) {
|
||||
+ g_debug ("Unable to open file %s", INITTAB);
|
||||
+ g_error_free (error);
|
||||
+ }
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ dstream = g_data_input_stream_new (G_INPUT_STREAM (contents));
|
||||
+ getty = g_regex_new ("^c[0-9]+:.+getty.+tty([0-9]+)", 0, 0, NULL);
|
||||
+ g_object_unref (contents);
|
||||
+
|
||||
+ while (1) {
|
||||
+ temp = g_data_input_stream_read_line (dstream, NULL, NULL, &error);
|
||||
+ if (!temp)
|
||||
+ break;
|
||||
+ if (!g_regex_match (getty, temp, 0, &tty_match))
|
||||
+ continue;
|
||||
+ g_free (temp);
|
||||
+ temp = g_match_info_fetch (tty_match, 1);
|
||||
+ if (!temp)
|
||||
+ continue;
|
||||
+ tty_list = g_slist_insert_sorted (tty_list, temp, (GCompareFunc)g_strcmp0);
|
||||
+ g_match_info_free (tty_match);
|
||||
+ }
|
||||
+
|
||||
+ if (error) {
|
||||
+ g_debug ("Unable to read line from %s", INITTAB);
|
||||
+ g_error_free (error);
|
||||
+ goto free;
|
||||
+ }
|
||||
+
|
||||
+ /* Ignore holes in vt allocation, just take the last one */
|
||||
+ temp = g_slist_last (tty_list)->data;
|
||||
+ if (temp)
|
||||
+ vtno = (int) g_ascii_strtoull (temp, NULL, 10) + 1;
|
||||
+
|
||||
+free:
|
||||
+ g_object_unref (dstream);
|
||||
+ g_regex_unref (getty);
|
||||
+ g_slist_free_full (tty_list, g_free);
|
||||
+ g_free (error);
|
||||
+out:
|
||||
+ return vtno;
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * Query the VT_* kernel ioctls to find an empty tty
|
||||
+ */
|
||||
+static int
|
||||
+get_free_vt_from_kernel()
|
||||
+{
|
||||
+ int fd, vtno = 0;
|
||||
+
|
||||
+ fd = open ("/dev/tty0", O_WRONLY, 0);
|
||||
+ if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) || (vtno == -1)) {
|
||||
+ vtno = 0;
|
||||
+ g_debug ("Unable to find a free vt, falling back to Xorg autodetect");
|
||||
+ }
|
||||
+ return vtno;
|
||||
+}
|
||||
+
|
||||
+static gchar*
|
||||
+get_free_vt ()
|
||||
+{
|
||||
+ int inittab_vtno, kernel_vtno;
|
||||
+ gchar* vt = NULL;
|
||||
+
|
||||
+ inittab_vtno = get_free_vt_from_inittab();
|
||||
+ if (inittab_vtno > 0)
|
||||
+ g_debug ("Inittab says vt%i is free\n", inittab_vtno);
|
||||
+ kernel_vtno = get_free_vt_from_kernel();
|
||||
+ if (kernel_vtno > 0)
|
||||
+ g_debug ("Kernel says vt%i is free\n", kernel_vtno);
|
||||
+ /* Select the greater of the two because getty will use the others */
|
||||
+ if (kernel_vtno != 0 && inittab_vtno != 0)
|
||||
+ vt = g_strdup_printf ("vt%i", kernel_vtno > inittab_vtno ? kernel_vtno : inittab_vtno);
|
||||
+ return vt;
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
* gdm_server_start:
|
||||
* @disp: Pointer to a GdmDisplay structure
|
||||
*
|
||||
@@ -686,7 +790,7 @@ gdm_server_start (GdmServer *server)
|
||||
gboolean res;
|
||||
|
||||
/* fork X server process */
|
||||
- res = gdm_server_spawn (server, NULL);
|
||||
+ res = gdm_server_spawn (server, get_free_vt());
|
||||
|
||||
return res;
|
||||
}
|
||||
--
|
||||
1.7.3.4
|
||||
|
||||
27
gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch
Normal file
27
gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
From 41badd6d2ca652a875fec3eea420ae876023076d Mon Sep 17 00:00:00 2001
|
||||
From: Gilles Dartiguelongue <eva@gentoo.org>
|
||||
Date: Tue, 2 Nov 2010 23:15:54 +0100
|
||||
Subject: [PATCH 1/6] remove unneeded linker directive for selinux
|
||||
|
||||
Gentoo bug: #41022
|
||||
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ed07dce..71d0247 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -873,7 +873,7 @@ if test "x$with_selinux" = "xyes" ; then
|
||||
AC_CHECK_LIB(selinux,setexeccon,/bin/true)
|
||||
AC_CHECK_LIB(selinux,is_selinux_enabled,/bin/true)
|
||||
AC_DEFINE(HAVE_SELINUX, 1, [Define if have selinux])
|
||||
- EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux -lattr"
|
||||
+ EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux"
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
--
|
||||
1.7.3.1
|
||||
|
||||
32
gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch
Normal file
32
gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
From 1cb1841da3a8fedc1671637e2828d5e361af21fa Mon Sep 17 00:00:00 2001
|
||||
From: Gilles Dartiguelongue <eva@gentoo.org>
|
||||
Date: Tue, 2 Nov 2010 23:19:31 +0100
|
||||
Subject: [PATCH 5/6] ssh-agent handling must be done at xinitrc.d
|
||||
|
||||
Gentoo bug: #220603
|
||||
---
|
||||
data/Xsession.in | 8 --------
|
||||
1 files changed, 0 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/data/Xsession.in b/data/Xsession.in
|
||||
index 0da187d..aa49b90 100755
|
||||
--- a/data/Xsession.in
|
||||
+++ b/data/Xsession.in
|
||||
@@ -189,14 +189,6 @@ if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
||||
done
|
||||
fi
|
||||
|
||||
-# add ssh-agent if found
|
||||
-sshagent="`gdmwhich ssh-agent`"
|
||||
-if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
|
||||
- command="$sshagent -- $command"
|
||||
-elif [ -z "$sshagent" ] ; then
|
||||
- echo "$0: ssh-agent not found!"
|
||||
-fi
|
||||
-
|
||||
echo "$0: Setup done, will execute: $command"
|
||||
|
||||
eval exec $command
|
||||
--
|
||||
1.7.3.1
|
||||
|
||||
51
gnome-base/gdm/files/gdm-3.2.1.1-custom-session.patch
Normal file
51
gnome-base/gdm/files/gdm-3.2.1.1-custom-session.patch
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
From b96c19976b6876648fd91949f78f06cf5d269b18 Mon Sep 17 00:00:00 2001
|
||||
From: Gilles Dartiguelongue <eva@gentoo.org>
|
||||
Date: Tue, 2 Nov 2010 23:19:07 +0100
|
||||
Subject: [PATCH] make custom session work
|
||||
|
||||
Gentoo bug: #216984
|
||||
|
||||
fix custom sessions not doing sourcing in the proper order.
|
||||
---
|
||||
data/Xsession.in | 18 +++++++++---------
|
||||
1 files changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/data/Xsession.in b/data/Xsession.in
|
||||
index 118518c..201be92 100755
|
||||
--- a/data/Xsession.in
|
||||
+++ b/data/Xsession.in
|
||||
@@ -155,15 +155,6 @@ fi
|
||||
|
||||
xhost +si:localuser:`id -un` || :
|
||||
|
||||
-# run all system xinitrc shell scripts.
|
||||
-if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
||||
- for i in /etc/X11/xinit/xinitrc.d/* ; do
|
||||
- if [ -x "$i" -a ! -d "$i" ]; then
|
||||
- . "$i"
|
||||
- fi
|
||||
- done
|
||||
-fi
|
||||
-
|
||||
if [ "x$command" = "xcustom" ] ; then
|
||||
if [ -x "$HOME/.xsession" ]; then
|
||||
command="$HOME/.xsession"
|
||||
@@ -191,6 +182,15 @@ if [ "x$command" = "xdefault" ] ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
+# run all system xinitrc shell scripts.
|
||||
+if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
||||
+ for i in /etc/X11/xinit/xinitrc.d/* ; do
|
||||
+ if [ -x "$i" -a ! -d "$i" ]; then
|
||||
+ . "$i"
|
||||
+ fi
|
||||
+ done
|
||||
+fi
|
||||
+
|
||||
# add ssh-agent if found
|
||||
sshagent="`gdmwhich ssh-agent`"
|
||||
if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
|
||||
--
|
||||
1.7.7
|
||||
|
||||
65
gnome-base/gdm/files/gdm-3.2.1.1-disable-accessibility.patch
Normal file
65
gnome-base/gdm/files/gdm-3.2.1.1-disable-accessibility.patch
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
From 91bd106c72362e51fbfa6966bc71dd0bb12d479d Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Rostovtsev <tetromino@gmail.com>
|
||||
Date: Wed, 14 Sep 2011 22:09:56 -0400
|
||||
Subject: [PATCH] Disable a11y in gconf and gsettings defaults
|
||||
|
||||
---
|
||||
data/00-upstream-settings | 6 +++---
|
||||
data/session-setup.entries | 4 ++--
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/data/00-upstream-settings b/data/00-upstream-settings
|
||||
index 1511b7b..87410cb 100644
|
||||
--- a/data/00-upstream-settings
|
||||
+++ b/data/00-upstream-settings
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
|
||||
[org/gnome/desktop/a11y/keyboard]
|
||||
-enable=true
|
||||
+enable=false
|
||||
|
||||
[org/gnome/desktop/background]
|
||||
show-desktop-icons=false
|
||||
@@ -16,7 +16,7 @@ show-desktop-icons=false
|
||||
exec='/bin/true'
|
||||
|
||||
[org/gnome/desktop/interface]
|
||||
-toolkit-accessibility=true
|
||||
+toolkit-accessibility=false
|
||||
|
||||
[org/gnome/desktop/lockdown]
|
||||
disable-application-handlers=true
|
||||
@@ -35,7 +35,7 @@ session-name='gdm-shell'
|
||||
event-sounds=true
|
||||
|
||||
[org/gnome/settings-daemon/plugins/a11y-keyboard]
|
||||
-active=true
|
||||
+active=false
|
||||
|
||||
[org/gnome/settings-daemon/plugins/a11y-settings]
|
||||
active=false
|
||||
diff --git a/data/session-setup.entries b/data/session-setup.entries
|
||||
index b84e16f..a47d761 100644
|
||||
--- a/data/session-setup.entries
|
||||
+++ b/data/session-setup.entries
|
||||
@@ -406,14 +406,14 @@
|
||||
<entry>
|
||||
<key>/desktop/gnome/interface/accessibility</key>
|
||||
<value>
|
||||
- <bool>true</bool>
|
||||
+ <bool>false</bool>
|
||||
</value>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<key>/desktop/gnome/accessibility/keyboard/enable</key>
|
||||
<value>
|
||||
- <bool>true</bool>
|
||||
+ <bool>false</bool>
|
||||
</value>
|
||||
</entry>
|
||||
|
||||
--
|
||||
1.7.7
|
||||
|
||||
126
gnome-base/gdm/files/gdm-3.2.1.1-pam-fix-1.patch
Normal file
126
gnome-base/gdm/files/gdm-3.2.1.1-pam-fix-1.patch
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
From 9c354795892b8c5fd661a35653991a88fabc76bf Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Mon, 24 Oct 2011 16:39:45 -0400
|
||||
Subject: [PATCH] daemon: Don't emit session-exited when non-authenticated
|
||||
worker fails
|
||||
|
||||
Sometimes PAM modules are finicky and don't die when you tell them to.
|
||||
Instead they fail some seconds later.
|
||||
|
||||
If a user successfully logs in with one stack and another stack is
|
||||
being troublesome, then we'll get notified about it finishing up
|
||||
after the user is already logged in.
|
||||
|
||||
When that happens, we erroneously assume the stack finishing is the
|
||||
stack the user's session is running on and then proceed to log the
|
||||
user out.
|
||||
|
||||
This commit makes us be a little more careful about our bookkeeping
|
||||
so we can ignore failures from slow PAM modules.
|
||||
---
|
||||
daemon/gdm-session-direct.c | 23 ++++++++++++++---------
|
||||
1 files changed, 14 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/daemon/gdm-session-direct.c b/daemon/gdm-session-direct.c
|
||||
index e178985..bb2bff8 100644
|
||||
--- a/daemon/gdm-session-direct.c
|
||||
+++ b/daemon/gdm-session-direct.c
|
||||
@@ -91,10 +91,11 @@ struct _GdmSessionDirectPrivate
|
||||
|
||||
GHashTable *conversations;
|
||||
|
||||
+ GdmSessionConversation *session_conversation;
|
||||
+
|
||||
GList *pending_connections;
|
||||
|
||||
GPid session_pid;
|
||||
- guint32 is_running : 1;
|
||||
|
||||
/* object lifetime scope */
|
||||
char *id;
|
||||
@@ -1073,7 +1074,7 @@ gdm_session_direct_handle_session_started (GdmSessionDirect *session,
|
||||
pid);
|
||||
|
||||
session->priv->session_pid = pid;
|
||||
- session->priv->is_running = TRUE;
|
||||
+ session->priv->session_conversation = conversation;
|
||||
|
||||
_gdm_session_session_started (GDM_SESSION (session), conversation->service_name, pid);
|
||||
|
||||
@@ -1129,7 +1130,7 @@ gdm_session_direct_handle_session_exited (GdmSessionDirect *session,
|
||||
g_debug ("GdmSessionDirect: Emitting 'session-exited' signal with exit code '%d'",
|
||||
code);
|
||||
|
||||
- session->priv->is_running = FALSE;
|
||||
+ session->priv->session_conversation = NULL;
|
||||
_gdm_session_session_exited (GDM_SESSION (session), code);
|
||||
|
||||
return DBUS_HANDLER_RESULT_HANDLED;
|
||||
@@ -1158,7 +1159,7 @@ gdm_session_direct_handle_session_died (GdmSessionDirect *session,
|
||||
g_debug ("GdmSessionDirect: Emitting 'session-died' signal with signal number '%d'",
|
||||
code);
|
||||
|
||||
- session->priv->is_running = FALSE;
|
||||
+ session->priv->session_conversation = NULL;
|
||||
_gdm_session_session_died (GDM_SESSION (session), code);
|
||||
|
||||
return DBUS_HANDLER_RESULT_HANDLED;
|
||||
@@ -1790,7 +1791,7 @@ worker_exited (GdmSessionWorkerJob *job,
|
||||
g_debug ("GdmSessionDirect: Worker job exited: %d", code);
|
||||
|
||||
g_object_ref (conversation->job);
|
||||
- if (conversation->session->priv->is_running) {
|
||||
+ if (conversation->session->priv->session_conversation == conversation) {
|
||||
_gdm_session_session_exited (GDM_SESSION (conversation->session), code);
|
||||
}
|
||||
|
||||
@@ -1819,7 +1820,7 @@ worker_died (GdmSessionWorkerJob *job,
|
||||
g_debug ("GdmSessionDirect: Worker job died: %d", signum);
|
||||
|
||||
g_object_ref (conversation->job);
|
||||
- if (conversation->session->priv->is_running) {
|
||||
+ if (conversation->session->priv->session_conversation == conversation) {
|
||||
_gdm_session_session_died (GDM_SESSION (conversation->session), signum);
|
||||
}
|
||||
|
||||
@@ -2442,6 +2443,10 @@ stop_all_other_conversations (GdmSessionDirect *session,
|
||||
g_strdup (conversation_to_keep->service_name),
|
||||
conversation_to_keep);
|
||||
}
|
||||
+
|
||||
+ if (session->priv->session_conversation != conversation_to_keep) {
|
||||
+ session->priv->session_conversation = NULL;
|
||||
+ }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2456,7 +2461,7 @@ gdm_session_direct_start_session (GdmSession *session,
|
||||
char *program;
|
||||
|
||||
g_return_if_fail (session != NULL);
|
||||
- g_return_if_fail (impl->priv->is_running == FALSE);
|
||||
+ g_return_if_fail (impl->priv->session_conversation == NULL);
|
||||
|
||||
conversation = find_conversation_by_name (impl, service_name);
|
||||
|
||||
@@ -2504,7 +2509,7 @@ gdm_session_direct_close (GdmSession *session)
|
||||
|
||||
g_debug ("GdmSessionDirect: Closing session");
|
||||
|
||||
- if (impl->priv->is_running) {
|
||||
+ if (impl->priv->session_conversation != NULL) {
|
||||
gdm_session_record_logout (impl->priv->session_pid,
|
||||
impl->priv->selected_user,
|
||||
impl->priv->display_hostname,
|
||||
@@ -2540,7 +2545,7 @@ gdm_session_direct_close (GdmSession *session)
|
||||
g_hash_table_remove_all (impl->priv->environment);
|
||||
|
||||
impl->priv->session_pid = -1;
|
||||
- impl->priv->is_running = FALSE;
|
||||
+ impl->priv->session_conversation = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
1.7.8.1
|
||||
|
||||
27
gnome-base/gdm/files/gdm-3.2.1.1-pam-fix-2.patch
Normal file
27
gnome-base/gdm/files/gdm-3.2.1.1-pam-fix-2.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
From 9c874ee6f595906faf59f891f20492530888804b Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Mon, 24 Oct 2011 16:45:46 -0400
|
||||
Subject: [PATCH] worker: don't block SIGTERM
|
||||
|
||||
If the slave tells us to go away, we should go away,
|
||||
not wait a PAM module decides to let us get back to the
|
||||
main loop.
|
||||
---
|
||||
daemon/session-worker-main.c | 1 -
|
||||
1 files changed, 0 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/daemon/session-worker-main.c b/daemon/session-worker-main.c
|
||||
index 9d40b8d..42fcd52 100644
|
||||
--- a/daemon/session-worker-main.c
|
||||
+++ b/daemon/session-worker-main.c
|
||||
@@ -188,7 +188,6 @@ main (int argc,
|
||||
gdm_signal_handler_set_fatal_func (signal_handler,
|
||||
(GDestroyNotify)g_main_loop_quit,
|
||||
main_loop);
|
||||
- gdm_signal_handler_add (signal_handler, SIGTERM, signal_cb, NULL);
|
||||
gdm_signal_handler_add (signal_handler, SIGINT, signal_cb, NULL);
|
||||
gdm_signal_handler_add (signal_handler, SIGILL, signal_cb, NULL);
|
||||
gdm_signal_handler_add (signal_handler, SIGBUS, signal_cb, NULL);
|
||||
--
|
||||
1.7.8.1
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
diff -Naur gdm-3.3.92.1//data/00-upstream-settings gdm-3.3.92.1.new//data/00-upstream-settings
|
||||
--- gdm-3.3.92.1//data/00-upstream-settings 2012-02-08 04:50:32.000000000 +0530
|
||||
+++ gdm-3.3.92.1.new//data/00-upstream-settings 2012-03-25 14:24:01.387842352 +0530
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
|
||||
[org/gnome/desktop/a11y/keyboard]
|
||||
-enable=true
|
||||
+enable=false
|
||||
|
||||
[org/gnome/desktop/background]
|
||||
show-desktop-icons=false
|
||||
@@ -16,7 +16,7 @@
|
||||
exec='/bin/true'
|
||||
|
||||
[org/gnome/desktop/interface]
|
||||
-toolkit-accessibility=true
|
||||
+toolkit-accessibility=false
|
||||
|
||||
[org/gnome/desktop/lockdown]
|
||||
disable-application-handlers=true
|
||||
@@ -35,7 +35,7 @@
|
||||
event-sounds=true
|
||||
|
||||
[org/gnome/settings-daemon/plugins/a11y-keyboard]
|
||||
-active=true
|
||||
+active=false
|
||||
|
||||
[org/gnome/settings-daemon/plugins/a11y-settings]
|
||||
active=false
|
||||
24
gnome-base/gdm/files/gdm-3.4.1-dconf-0.13.patch
Normal file
24
gnome-base/gdm/files/gdm-3.4.1-dconf-0.13.patch
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
From c0ad2d5b85b063bd7cb5dd2153f0755f4ebe3efb Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Clasen <mclasen@redhat.com>
|
||||
Date: Thu, 19 Jul 2012 08:23:29 -0400
|
||||
Subject: [PATCH] Update the syntax of the dconf profile file
|
||||
|
||||
We were using a deprecated syntax which stopped working in
|
||||
dconf 0.13.4 - without warning :-(. See
|
||||
http://live.gnome.org/dconf/SystemAdministrators
|
||||
---
|
||||
data/dconf-profile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/data/dconf-profile b/data/dconf-profile
|
||||
index d5a90e5..68deb5a 100644
|
||||
--- a/data/dconf-profile
|
||||
+++ b/data/dconf-profile
|
||||
@@ -1,2 +1,2 @@
|
||||
-user
|
||||
-gdm
|
||||
+user-db:user
|
||||
+systemd-db:gdm
|
||||
--
|
||||
1.7.12
|
||||
|
||||
338
gnome-base/gdm/files/gdm-3.4.1-plymouth.patch
Normal file
338
gnome-base/gdm/files/gdm-3.4.1-plymouth.patch
Normal file
|
|
@ -0,0 +1,338 @@
|
|||
From c56fbb65277e8a17db5e0939f0b02e41c4ec784c Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 27 Nov 2009 18:52:54 -0500
|
||||
Subject: [PATCH] daemon: enable smooth transition between plymouth and X
|
||||
|
||||
This commit adds optional support for interacting with plymouth
|
||||
from gdm. This feature can be enabled by passing --with-plymouth
|
||||
to configure.
|
||||
|
||||
Hopefully, this will enable the various distributions that use
|
||||
plymouth to drop a patch.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=572173
|
||||
---
|
||||
configure.ac | 32 +++++++++++++
|
||||
daemon/gdm-server.c | 60 +++++++++++++++++++++++++
|
||||
daemon/gdm-server.h | 3 +
|
||||
daemon/gdm-simple-slave.c | 106 ++++++++++++++++++++++++++++++++++++++++++++-
|
||||
4 files changed, 200 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 35e6e04..81ea23e 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -264,6 +264,10 @@ AC_ARG_WITH(systemd,
|
||||
AS_HELP_STRING([--with-systemd],
|
||||
[Add systemd support @<:@default=auto@:>@]),
|
||||
[with_systemd=$withval], [with_systemd=auto])
|
||||
+AC_ARG_WITH(plymouth,
|
||||
+ AS_HELP_STRING([--with-plymouth],
|
||||
+ [Add plymouth support @<:@default=auto@:>@]),
|
||||
+ [with_plymouth=$withval], [with_plymouth=auto])
|
||||
|
||||
AC_ARG_WITH(at-spi-registryd-directory,
|
||||
AS_HELP_STRING([--with-at-spi-registryd-directory],
|
||||
@@ -952,6 +956,33 @@ AC_SUBST(SYSTEMD_X_SERVER)
|
||||
AC_DEFINE_UNQUOTED(SYSTEMD_X_SERVER,"$SYSTEMD_X_SERVER",[Path to systemd X server wrapper])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
+dnl - Check for plymouth support
|
||||
+dnl ---------------------------------------------------------------------------
|
||||
+PKG_CHECK_MODULES(PLYMOUTH,
|
||||
+ [ply-boot-client],
|
||||
+ [have_plymouth=yes], [have_plymouth=no])
|
||||
+
|
||||
+if test "x$with_plymouth" = "xauto" ; then
|
||||
+ if test x$have_plymouth = xno ; then
|
||||
+ use_plymouth=no
|
||||
+ else
|
||||
+ use_plymouth=yes
|
||||
+ fi
|
||||
+else
|
||||
+ use_plymouth="$with_plymouth"
|
||||
+fi
|
||||
+
|
||||
+if test "x$use_plymouth" != "xno" ; then
|
||||
+ if test "x$have_plymouth" = "xno"; then
|
||||
+ AC_MSG_ERROR([Plymouth support explicitly required, but plymouth not found])
|
||||
+ fi
|
||||
+
|
||||
+ AC_DEFINE(WITH_PLYMOUTH, 1, [Define to enable plymouth support])
|
||||
+fi
|
||||
+AC_SUBST(PLYMOUTH_CFLAGS)
|
||||
+AC_SUBST(PLYMOUTH_LIBS)
|
||||
+
|
||||
+dnl ---------------------------------------------------------------------------
|
||||
dnl - Check for D-Bus
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
@@ -1537,6 +1568,7 @@ echo \
|
||||
SELinux support: ${with_selinux}
|
||||
ConsoleKit support: ${use_console_kit}
|
||||
systemd support: ${use_systemd}
|
||||
+ plymouth support: ${use_plymouth}
|
||||
UPower support: ${have_upower}
|
||||
Build with RBAC: ${msg_rbac_shutdown}
|
||||
"
|
||||
diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
|
||||
index d0d8ff9..6f2a939 100644
|
||||
--- a/daemon/gdm-server.c
|
||||
+++ b/daemon/gdm-server.c
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <pwd.h>
|
||||
#include <grp.h>
|
||||
#include <signal.h>
|
||||
+#include <sys/ioctl.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
#ifdef HAVE_SYS_PRCTL_H
|
||||
@@ -42,6 +43,10 @@
|
||||
#include <systemd/sd-daemon.h>
|
||||
#endif
|
||||
|
||||
+#ifdef WITH_PLYMOUTH
|
||||
+#include <linux/vt.h>
|
||||
+#endif
|
||||
+
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include <glib/gstdio.h>
|
||||
@@ -751,6 +756,61 @@ gdm_server_spawn (GdmServer *server,
|
||||
return ret;
|
||||
}
|
||||
|
||||
+#ifdef WITH_PLYMOUTH
|
||||
+static int
|
||||
+get_active_vt (void)
|
||||
+{
|
||||
+ int console_fd;
|
||||
+ struct vt_stat console_state = { 0 };
|
||||
+
|
||||
+ console_fd = open ("/dev/tty0", O_RDONLY | O_NOCTTY);
|
||||
+
|
||||
+ if (console_fd < 0) {
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ if (ioctl (console_fd, VT_GETSTATE, &console_state) < 0) {
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+out:
|
||||
+ if (console_fd >= 0) {
|
||||
+ close (console_fd);
|
||||
+ }
|
||||
+
|
||||
+ return console_state.v_active;
|
||||
+}
|
||||
+
|
||||
+static char *
|
||||
+get_active_vt_as_string (void)
|
||||
+{
|
||||
+ int vt;
|
||||
+
|
||||
+ vt = get_active_vt ();
|
||||
+
|
||||
+ if (vt <= 0) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ return g_strdup_printf ("vt%d", vt);
|
||||
+}
|
||||
+
|
||||
+gboolean
|
||||
+gdm_server_start_on_active_vt (GdmServer *server)
|
||||
+{
|
||||
+ gboolean res;
|
||||
+ char *vt;
|
||||
+
|
||||
+ g_free (server->priv->command);
|
||||
+ server->priv->command = g_strdup (X_SERVER " -background none -logverbose 7");
|
||||
+ vt = get_active_vt_as_string ();
|
||||
+ res = gdm_server_spawn (server, vt);
|
||||
+ g_free (vt);
|
||||
+
|
||||
+ return res;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/**
|
||||
* gdm_server_start:
|
||||
* @disp: Pointer to a GdmDisplay structure
|
||||
diff --git a/daemon/gdm-server.h b/daemon/gdm-server.h
|
||||
index b53d68e..827f7fa 100644
|
||||
--- a/daemon/gdm-server.h
|
||||
+++ b/daemon/gdm-server.h
|
||||
@@ -57,6 +57,9 @@ GdmServer * gdm_server_new (const char *display_id,
|
||||
const char *seat_id,
|
||||
const char *auth_file);
|
||||
gboolean gdm_server_start (GdmServer *server);
|
||||
+#ifdef HAVE_PLYMOUTH
|
||||
+gboolean gdm_server_start_on_active_vt (GdmServer *server);
|
||||
+#endif
|
||||
gboolean gdm_server_stop (GdmServer *server);
|
||||
char * gdm_server_get_display_device (GdmServer *server);
|
||||
|
||||
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
|
||||
index fc8649c..7c709a6 100644
|
||||
--- a/daemon/gdm-simple-slave.c
|
||||
+++ b/daemon/gdm-simple-slave.c
|
||||
@@ -93,6 +93,9 @@ struct GdmSimpleSlavePrivate
|
||||
#ifdef HAVE_LOGINDEVPERM
|
||||
gboolean use_logindevperm;
|
||||
#endif
|
||||
+#ifdef WITH_PLYMOUTH
|
||||
+ guint plymouth_is_running : 1;
|
||||
+#endif
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -1204,6 +1207,74 @@ on_start_session_later (GdmGreeterServer *session,
|
||||
slave->priv->start_session_when_ready = FALSE;
|
||||
}
|
||||
|
||||
+#ifdef WITH_PLYMOUTH
|
||||
+static gboolean
|
||||
+plymouth_is_running (void)
|
||||
+{
|
||||
+ int status;
|
||||
+ gboolean res;
|
||||
+ GError *error;
|
||||
+
|
||||
+ error = NULL;
|
||||
+ res = g_spawn_command_line_sync ("/bin/plymouth --ping",
|
||||
+ NULL, NULL, &status, &error);
|
||||
+ if (! res) {
|
||||
+ g_debug ("Could not ping plymouth: %s", error->message);
|
||||
+ g_error_free (error);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ return WIFEXITED (status) && WEXITSTATUS (status) == 0;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+plymouth_prepare_for_transition (GdmSimpleSlave *slave)
|
||||
+{
|
||||
+ gboolean res;
|
||||
+ GError *error;
|
||||
+
|
||||
+ error = NULL;
|
||||
+ res = g_spawn_command_line_sync ("/bin/plymouth deactivate",
|
||||
+ NULL, NULL, NULL, &error);
|
||||
+ if (! res) {
|
||||
+ g_warning ("Could not deactivate plymouth: %s", error->message);
|
||||
+ g_error_free (error);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+plymouth_quit_with_transition (GdmSimpleSlave *slave)
|
||||
+{
|
||||
+ gboolean res;
|
||||
+ GError *error;
|
||||
+
|
||||
+ error = NULL;
|
||||
+ res = g_spawn_command_line_sync ("/bin/plymouth quit --retain-splash",
|
||||
+ NULL, NULL, NULL, &error);
|
||||
+ if (! res) {
|
||||
+ g_warning ("Could not quit plymouth: %s", error->message);
|
||||
+ g_error_free (error);
|
||||
+ }
|
||||
+ slave->priv->plymouth_is_running = FALSE;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+plymouth_quit_without_transition (GdmSimpleSlave *slave)
|
||||
+{
|
||||
+ gboolean res;
|
||||
+ GError *error;
|
||||
+
|
||||
+ error = NULL;
|
||||
+ res = g_spawn_command_line_sync ("/bin/plymouth quit",
|
||||
+ NULL, NULL, NULL, &error);
|
||||
+ if (! res) {
|
||||
+ g_warning ("Could not quit plymouth: %s", error->message);
|
||||
+ g_error_free (error);
|
||||
+ }
|
||||
+ slave->priv->plymouth_is_running = FALSE;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static void
|
||||
setup_server (GdmSimpleSlave *slave)
|
||||
{
|
||||
@@ -1223,6 +1294,12 @@ setup_server (GdmSimpleSlave *slave)
|
||||
*/
|
||||
gdm_slave_save_root_windows (GDM_SLAVE (slave));
|
||||
|
||||
+#ifdef WITH_PLYMOUTH
|
||||
+ /* Plymouth is waiting for the go-ahead to exit */
|
||||
+ if (slave->priv->plymouth_is_running) {
|
||||
+ plymouth_quit_with_transition (slave);
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1426,6 +1503,12 @@ on_server_exited (GdmServer *server,
|
||||
g_debug ("GdmSimpleSlave: server exited with code %d\n", exit_code);
|
||||
|
||||
gdm_slave_stopped (GDM_SLAVE (slave));
|
||||
+
|
||||
+#ifdef WITH_PLYMOUTH
|
||||
+ if (slave->priv->plymouth_is_running) {
|
||||
+ plymouth_quit_without_transition (slave);
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1438,6 +1521,12 @@ on_server_died (GdmServer *server,
|
||||
g_strsignal (signal_number));
|
||||
|
||||
gdm_slave_stopped (GDM_SLAVE (slave));
|
||||
+
|
||||
+#ifdef WITH_PLYMOUTH
|
||||
+ if (slave->priv->plymouth_is_running) {
|
||||
+ plymouth_quit_without_transition (slave);
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -1484,7 +1573,17 @@ gdm_simple_slave_run (GdmSimpleSlave *slave)
|
||||
G_CALLBACK (on_server_ready),
|
||||
slave);
|
||||
|
||||
- res = gdm_server_start (slave->priv->server);
|
||||
+#ifdef WITH_PLYMOUTH
|
||||
+ slave->priv->plymouth_is_running = plymouth_is_running ();
|
||||
+
|
||||
+ if (slave->priv->plymouth_is_running) {
|
||||
+ plymouth_prepare_for_transition (slave);
|
||||
+ res = gdm_server_start_on_active_vt (slave->priv->server);
|
||||
+ } else
|
||||
+#endif
|
||||
+ {
|
||||
+ res = gdm_server_start (slave->priv->server);
|
||||
+ }
|
||||
if (! res) {
|
||||
g_warning (_("Could not start the X "
|
||||
"server (your graphical environment) "
|
||||
@@ -1494,6 +1593,11 @@ gdm_simple_slave_run (GdmSimpleSlave *slave)
|
||||
"In the meantime this display will be "
|
||||
"disabled. Please restart GDM when "
|
||||
"the problem is corrected."));
|
||||
+#ifdef WITH_PLYMOUTH
|
||||
+ if (slave->priv->plymouth_is_running) {
|
||||
+ plymouth_quit_without_transition (slave);
|
||||
+ }
|
||||
+#endif
|
||||
exit (1);
|
||||
}
|
||||
|
||||
--
|
||||
1.7.8.6
|
||||
|
||||
141
gnome-base/gdm/files/gdm-3.4.1-save-root-window.patch
Normal file
141
gnome-base/gdm/files/gdm-3.4.1-save-root-window.patch
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
From c93d98b646a9a4fce3052260a1f08808d62d7155 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 27 Nov 2009 18:27:53 -0500
|
||||
Subject: [PATCH] daemon: save root window to pixmap at _XROOTPMAP_ID
|
||||
|
||||
This combined with starting the X server with
|
||||
-background none will give distros using plymouth
|
||||
(or potentially other boot splashes) a a nice fade
|
||||
transition when g-s-d starts.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=572173
|
||||
---
|
||||
daemon/gdm-simple-slave.c | 8 +++++
|
||||
daemon/gdm-slave.c | 72 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
daemon/gdm-slave.h | 1 +
|
||||
3 files changed, 81 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
|
||||
index 9d1347a..fc8649c 100644
|
||||
--- a/daemon/gdm-simple-slave.c
|
||||
+++ b/daemon/gdm-simple-slave.c
|
||||
@@ -1215,6 +1215,14 @@ setup_server (GdmSimpleSlave *slave)
|
||||
|
||||
/* Set the initial keyboard layout to something reasonable */
|
||||
gdm_slave_set_initial_keyboard_layout (GDM_SLAVE (slave));
|
||||
+ /* The root window has a background that may be useful
|
||||
+ * to cross fade or transition from when setting the
|
||||
+ * login screen background. We read it here, and stuff
|
||||
+ * it into the standard _XROOTPMAP_ID root window property,
|
||||
+ * so gnome-settings-daemon can get at it.
|
||||
+ */
|
||||
+ gdm_slave_save_root_windows (GDM_SLAVE (slave));
|
||||
+
|
||||
}
|
||||
|
||||
static void
|
||||
diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c
|
||||
index a5ce62f..53633c0 100644
|
||||
--- a/daemon/gdm-slave.c
|
||||
+++ b/daemon/gdm-slave.c
|
||||
@@ -43,6 +43,7 @@
|
||||
#include <dbus/dbus-glib-lowlevel.h>
|
||||
|
||||
#include <X11/Xlib.h> /* for Display */
|
||||
+#include <X11/Xatom.h> /* for XA_PIXMAP */
|
||||
#include <X11/cursorfont.h> /* for watch cursor */
|
||||
#include <X11/extensions/Xrandr.h>
|
||||
#include <X11/Xatom.h>
|
||||
@@ -364,6 +365,77 @@ gdm_slave_run_script (GdmSlave *slave,
|
||||
return ret;
|
||||
}
|
||||
|
||||
+static void
|
||||
+gdm_slave_save_root_window_of_screen (GdmSlave *slave,
|
||||
+ Atom id_atom,
|
||||
+ int screen_number)
|
||||
+{
|
||||
+ Window root_window;
|
||||
+ GC gc;
|
||||
+ XGCValues values;
|
||||
+ Pixmap pixmap;
|
||||
+ int width, height, depth;
|
||||
+
|
||||
+ root_window = RootWindow (slave->priv->server_display,
|
||||
+ screen_number);
|
||||
+
|
||||
+ width = DisplayWidth (slave->priv->server_display, screen_number);
|
||||
+ height = DisplayHeight (slave->priv->server_display, screen_number);
|
||||
+ depth = DefaultDepth (slave->priv->server_display, screen_number);
|
||||
+ pixmap = XCreatePixmap (slave->priv->server_display,
|
||||
+ root_window,
|
||||
+ width, height, depth);
|
||||
+
|
||||
+ values.function = GXcopy;
|
||||
+ values.plane_mask = AllPlanes;
|
||||
+ values.fill_style = FillSolid;
|
||||
+ values.subwindow_mode = IncludeInferiors;
|
||||
+
|
||||
+ gc = XCreateGC (slave->priv->server_display,
|
||||
+ root_window,
|
||||
+ GCFunction | GCPlaneMask | GCFillStyle | GCSubwindowMode,
|
||||
+ &values);
|
||||
+
|
||||
+ if (XCopyArea (slave->priv->server_display,
|
||||
+ root_window, pixmap, gc, 0, 0,
|
||||
+ width, height, 0, 0)) {
|
||||
+
|
||||
+ long pixmap_as_long;
|
||||
+
|
||||
+ pixmap_as_long = (long) pixmap;
|
||||
+
|
||||
+ XChangeProperty (slave->priv->server_display,
|
||||
+ root_window, id_atom, XA_PIXMAP,
|
||||
+ 32, PropModeReplace, (guchar *) &pixmap_as_long,
|
||||
+ 1);
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ XFreeGC (slave->priv->server_display, gc);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+gdm_slave_save_root_windows (GdmSlave *slave)
|
||||
+{
|
||||
+ int i, number_of_screens;
|
||||
+ Atom atom;
|
||||
+
|
||||
+ number_of_screens = ScreenCount (slave->priv->server_display);
|
||||
+
|
||||
+ atom = XInternAtom (slave->priv->server_display,
|
||||
+ "_XROOTPMAP_ID", False);
|
||||
+
|
||||
+ if (atom == 0) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < number_of_screens; i++) {
|
||||
+ gdm_slave_save_root_window_of_screen (slave, atom, i);
|
||||
+ }
|
||||
+
|
||||
+ XSync (slave->priv->server_display, False);
|
||||
+}
|
||||
+
|
||||
void
|
||||
gdm_slave_set_initial_keyboard_layout (GdmSlave *slave)
|
||||
{
|
||||
diff --git a/daemon/gdm-slave.h b/daemon/gdm-slave.h
|
||||
index 7af20ed..aaaa8f2 100644
|
||||
--- a/daemon/gdm-slave.h
|
||||
+++ b/daemon/gdm-slave.h
|
||||
@@ -78,6 +78,7 @@ void gdm_slave_set_initial_keyboard_layout (GdmSlave *slave);
|
||||
void gdm_slave_set_initial_cursor_position (GdmSlave *slave);
|
||||
|
||||
void gdm_slave_set_busy_cursor (GdmSlave *slave);
|
||||
+void gdm_slave_save_root_windows (GdmSlave *slave);
|
||||
gboolean gdm_slave_run_script (GdmSlave *slave,
|
||||
const char *dir,
|
||||
const char *username);
|
||||
--
|
||||
1.7.8.6
|
||||
|
||||
192
gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch
Normal file
192
gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
From 722d31dc8823090b651b103f0194b6380f2d458e Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Rostovtsev <tetromino@gentoo.org>
|
||||
Date: Tue, 25 Sep 2012 22:30:29 -0400
|
||||
Subject: [PATCH] daemonize so that the boot process can continue
|
||||
|
||||
Gentoo bug: #236701
|
||||
|
||||
Based on original patch by Dan Nicholson <dbn.lists@gmail.com> and
|
||||
Gilles Dartiguelongue <eva@gentoo.org>.
|
||||
|
||||
Fork gdm-binary, except when -nodaemon is used
|
||||
|
||||
Makes the gdm main binary fork and daemonize unless the -nodaemon or
|
||||
--nodaemon options are used. Provides compatibility with xdm. Fixes
|
||||
bug #550170.
|
||||
|
||||
In daemonized mode, start a new process group, and kill it in our signal
|
||||
handlers, so that killing gdm kills its spawned processes, and so that
|
||||
"/etc/init.d/xdm stop" actually works.
|
||||
---
|
||||
configure.ac | 4 ++++
|
||||
daemon/Makefile.am | 1 +
|
||||
daemon/main.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 65 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 61a43d6..a851ba5 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -99,6 +99,10 @@ PKG_CHECK_MODULES(DAEMON,
|
||||
AC_SUBST(DAEMON_CFLAGS)
|
||||
AC_SUBST(DAEMON_LIBS)
|
||||
|
||||
+PKG_CHECK_MODULES(LIBDAEMON, libdaemon)
|
||||
+AC_SUBST(LIBDAEMON_CFLAGS)
|
||||
+AC_SUBST(LIBDAEMON_LIBS)
|
||||
+
|
||||
GLIB_GSETTINGS
|
||||
|
||||
PKG_CHECK_MODULES(NSS,
|
||||
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
|
||||
index bb84765..cf89b47 100644
|
||||
--- a/daemon/Makefile.am
|
||||
+++ b/daemon/Makefile.am
|
||||
@@ -380,6 +380,7 @@ gdm_binary_LDADD = \
|
||||
$(top_builddir)/common/libgdmcommon.la \
|
||||
$(XLIB_LIBS) \
|
||||
$(DAEMON_LIBS) \
|
||||
+ $(LIBDAEMON_LIBS) \
|
||||
$(XDMCP_LIBS) \
|
||||
$(LIBWRAP_LIBS) \
|
||||
$(SYSTEMD_LIBS) \
|
||||
diff --git a/daemon/main.c b/daemon/main.c
|
||||
index 3b8572c..c2fe4fe 100644
|
||||
--- a/daemon/main.c
|
||||
+++ b/daemon/main.c
|
||||
@@ -34,6 +34,8 @@
|
||||
#include <locale.h>
|
||||
#include <signal.h>
|
||||
|
||||
+#include <libdaemon/dfork.h>
|
||||
+
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include <glib/gstdio.h>
|
||||
@@ -336,16 +338,26 @@ signal_cb (int signo,
|
||||
gpointer data)
|
||||
{
|
||||
int ret;
|
||||
+ static gboolean ignore_signals = FALSE;
|
||||
|
||||
g_debug ("Got callback for signal %d", signo);
|
||||
|
||||
ret = TRUE;
|
||||
|
||||
+ /* don't commit suicide before killing everyone in our process group */
|
||||
+ if (ignore_signals)
|
||||
+ return ret;
|
||||
+
|
||||
switch (signo) {
|
||||
case SIGFPE:
|
||||
case SIGPIPE:
|
||||
/* let the fatal signals interrupt us */
|
||||
g_debug ("Caught signal %d, shutting down abnormally.", signo);
|
||||
+ /* if we daemonized, kill all the processes we spawned */
|
||||
+ ignore_signals = TRUE;
|
||||
+ kill (-getpid (), signo);
|
||||
+ ignore_signals = FALSE;
|
||||
+
|
||||
ret = FALSE;
|
||||
|
||||
break;
|
||||
@@ -354,6 +366,11 @@ signal_cb (int signo,
|
||||
case SIGTERM:
|
||||
/* let the fatal signals interrupt us */
|
||||
g_debug ("Caught signal %d, shutting down normally.", signo);
|
||||
+ /* if we daemonized, kill all the processes we spawned */
|
||||
+ ignore_signals = TRUE;
|
||||
+ kill (-getpid (), signo);
|
||||
+ ignore_signals = FALSE;
|
||||
+
|
||||
ret = FALSE;
|
||||
|
||||
break;
|
||||
@@ -418,13 +435,16 @@ main (int argc,
|
||||
GOptionContext *context;
|
||||
GError *error;
|
||||
int ret;
|
||||
+ int i;
|
||||
gboolean res;
|
||||
GdmSignalHandler *signal_handler;
|
||||
static gboolean do_timed_exit = FALSE;
|
||||
static gboolean print_version = FALSE;
|
||||
static gboolean fatal_warnings = FALSE;
|
||||
+ static gboolean no_daemon = FALSE;
|
||||
static GOptionEntry entries [] = {
|
||||
{ "fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &fatal_warnings, N_("Make all warnings fatal"), NULL },
|
||||
+ { "nodaemon", 0, 0, G_OPTION_ARG_NONE, &no_daemon, N_("Do not fork into the background"), NULL },
|
||||
{ "timed-exit", 0, 0, G_OPTION_ARG_NONE, &do_timed_exit, N_("Exit after a time (for debugging)"), NULL },
|
||||
{ "version", 0, 0, G_OPTION_ARG_NONE, &print_version, N_("Print GDM version"), NULL },
|
||||
|
||||
@@ -439,6 +459,14 @@ main (int argc,
|
||||
|
||||
g_type_init ();
|
||||
|
||||
+ /* preprocess the arguments to support the xdm style
|
||||
+ * -nodaemon option
|
||||
+ */
|
||||
+ for (i = 0; i < argc; i++) {
|
||||
+ if (strcmp (argv[i], "-nodaemon") == 0)
|
||||
+ argv[i] = "--nodaemon";
|
||||
+ }
|
||||
+
|
||||
context = g_option_context_new (_("GNOME Display Manager"));
|
||||
g_option_context_add_main_entries (context, entries, NULL);
|
||||
g_option_context_set_ignore_unknown_options (context, TRUE);
|
||||
@@ -465,6 +493,33 @@ main (int argc,
|
||||
g_log_set_always_fatal (fatal_mask);
|
||||
}
|
||||
|
||||
+ if (!no_daemon) {
|
||||
+ pid_t pid;
|
||||
+ if (daemon_retval_init () < 0) {
|
||||
+ g_warning ("Failed to create pipe");
|
||||
+ exit (-1);
|
||||
+ }
|
||||
+ if ((pid = daemon_fork ()) < 0) {
|
||||
+ /* Fork failed */
|
||||
+ daemon_retval_done ();
|
||||
+ exit (1);
|
||||
+ } else if (pid) {
|
||||
+ /* Parent process: wait 20s for daemon_retval_send() in the daemon process */
|
||||
+ if ((ret = daemon_retval_wait (20)) < 0) {
|
||||
+ g_warning ("Timed out waiting for daemon process: %s", strerror(errno));
|
||||
+ exit (255);
|
||||
+ } else if (ret > 0) {
|
||||
+ g_warning ("Daemon process returned error code %d", ret);
|
||||
+ exit (ret);
|
||||
+ }
|
||||
+ exit (0);
|
||||
+ }
|
||||
+ /* Daemon process */
|
||||
+ daemon_close_all (-1);
|
||||
+ /* Start a new process group so that killing the daemon will kill the processes that it spawned */
|
||||
+ setsid ();
|
||||
+ }
|
||||
+
|
||||
gdm_log_init ();
|
||||
|
||||
settings = gdm_settings_new ();
|
||||
@@ -519,6 +574,9 @@ main (int argc,
|
||||
g_timeout_add_seconds (30, (GSourceFunc) timed_exit_cb, main_loop);
|
||||
}
|
||||
|
||||
+ if (!no_daemon)
|
||||
+ daemon_retval_send (0);
|
||||
+
|
||||
g_main_loop_run (main_loop);
|
||||
|
||||
g_debug ("GDM finished, cleaning up...");
|
||||
@@ -535,6 +593,8 @@ main (int argc,
|
||||
ret = 0;
|
||||
|
||||
out:
|
||||
+ if (!no_daemon)
|
||||
+ daemon_retval_send (ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
--
|
||||
1.7.12
|
||||
|
||||
31
gnome-base/gdm/files/gdm-3.6.0-selinux-automagic.patch
Normal file
31
gnome-base/gdm/files/gdm-3.6.0-selinux-automagic.patch
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
From 8f9bf7b053fc7a6c2e5b33fc43c168ba7250cb98 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Rostovtsev <tetromino@gentoo.org>
|
||||
Date: Tue, 25 Sep 2012 17:38:37 -0400
|
||||
Subject: [PATCH] configure: Make selinux check non-automagic
|
||||
|
||||
---
|
||||
configure.ac | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 80a1fd4..61a43d6 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -142,9 +142,13 @@ AC_SUBST(UPOWER)
|
||||
AC_SUBST(UPOWER_CFLAGS)
|
||||
AC_SUBST(UPOWER_LIBS)
|
||||
|
||||
+AC_ARG_WITH(selinux,
|
||||
+ AS_HELP_STRING([--with-selinux],
|
||||
+ [Add SELinux support]))
|
||||
+
|
||||
PKG_CHECK_MODULES(LIBSELINUX, libselinux, have_selinux=yes, have_selinux=no)
|
||||
|
||||
-if test "x$have_selinux" = "xyes" ; then
|
||||
+if test "x$have_selinux" = "xyes" && test "x$with_selinux" != "xno" ; then
|
||||
AC_DEFINE(HAVE_SELINUX, 1, [Define if have selinux])
|
||||
fi
|
||||
AC_SUBST(LIBSELINUX_CFLAGS)
|
||||
--
|
||||
1.7.12
|
||||
|
||||
27
gnome-base/gdm/files/gdm-3.6.2-gdm-slave.xml-unicode.patch
Normal file
27
gnome-base/gdm/files/gdm-3.6.2-gdm-slave.xml-unicode.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
From 72fd8c8da02b47403992945a61d2514d6ee78cf4 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Rostovtsev <tetromino@gentoo.org>
|
||||
Date: Fri, 28 Dec 2012 18:50:37 -0500
|
||||
Subject: [PATCH] daemon: remove spurious unicode characters from dbus
|
||||
introspection file
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=690842
|
||||
---
|
||||
daemon/gdm-slave.xml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/daemon/gdm-slave.xml b/daemon/gdm-slave.xml
|
||||
index 547c44e..d055252 100644
|
||||
--- a/daemon/gdm-slave.xml
|
||||
+++ b/daemon/gdm-slave.xml
|
||||
@@ -14,6 +14,6 @@
|
||||
<arg name="address" type="s" direction="out" />
|
||||
</method>
|
||||
|
||||
- <property name="session_id" type="s" access="read"/>•
|
||||
- </interface>•
|
||||
+ <property name="session_id" type="s" access="read"/>
|
||||
+ </interface>
|
||||
</node>
|
||||
--
|
||||
1.8.0.2
|
||||
|
||||
275
gnome-base/gdm/gdm-3.4.1-r3.ebuild
Normal file
275
gnome-base/gdm/gdm-3.4.1-r3.ebuild
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-3.4.1-r3.ebuild,v 1.2 2012/12/26 21:45:01 eva Exp $
|
||||
|
||||
EAPI="4"
|
||||
GNOME2_LA_PUNT="yes"
|
||||
|
||||
inherit autotools eutils gnome2 pam user
|
||||
|
||||
G_PV="2012.09.25"
|
||||
G_P="gdm-gentoo-${G_PV}"
|
||||
DESCRIPTION="GNOME Display Manager"
|
||||
HOMEPAGE="https://live.gnome.org/GDM"
|
||||
SRC_URI="${SRC_URI}
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${G_P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
IUSE="accessibility audit +consolekit +fallback fprint +gnome-shell +introspection ipv6 ldap plymouth selinux smartcard tcpd test xinerama +xklavier"
|
||||
KEYWORDS="~amd64 ~sh ~x86"
|
||||
|
||||
# NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686
|
||||
# nspr used by smartcard extension
|
||||
# dconf, dbus and g-s-d are needed at install time for dconf update
|
||||
COMMON_DEPEND="
|
||||
>=dev-libs/dbus-glib-0.74
|
||||
>=dev-libs/glib-2.29.3:2
|
||||
>=x11-libs/gtk+-2.91.1:3
|
||||
>=x11-libs/pango-1.3
|
||||
dev-libs/nspr
|
||||
>=dev-libs/nss-3.11.1
|
||||
>=media-libs/fontconfig-2.5.0
|
||||
>=media-libs/libcanberra-0.4[gtk3]
|
||||
>=x11-misc/xdg-utils-1.0.2-r3
|
||||
>=sys-power/upower-0.9
|
||||
>=sys-apps/accountsservice-0.6.12
|
||||
|
||||
>=gnome-base/dconf-0.11.6
|
||||
>=gnome-base/gnome-settings-daemon-3.1.4
|
||||
gnome-base/gsettings-desktop-schemas
|
||||
sys-apps/dbus
|
||||
|
||||
app-text/iso-codes
|
||||
|
||||
x11-base/xorg-server
|
||||
x11-libs/libXi
|
||||
x11-libs/libXau
|
||||
x11-libs/libX11
|
||||
x11-libs/libXdmcp
|
||||
x11-libs/libXext
|
||||
x11-libs/libXft
|
||||
x11-libs/libXrandr
|
||||
x11-apps/sessreg
|
||||
|
||||
virtual/pam
|
||||
sys-auth/pambase[consolekit?]
|
||||
|
||||
accessibility? ( x11-libs/libXevie )
|
||||
audit? ( sys-process/audit )
|
||||
consolekit? ( sys-auth/consolekit[pam] )
|
||||
introspection? ( >=dev-libs/gobject-introspection-0.9.12 )
|
||||
plymouth? ( sys-boot/plymouth )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
xklavier? ( >=x11-libs/libxklavier-4 )"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
test? ( >=dev-libs/check-0.9.4 )
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
app-text/docbook-xml-dtd:4.1.2
|
||||
sys-devel/gettext
|
||||
x11-proto/inputproto
|
||||
x11-proto/randrproto
|
||||
>=dev-util/intltool-0.40.0
|
||||
>=app-text/scrollkeeper-0.1.4
|
||||
>=app-text/gnome-doc-utils-0.3.2
|
||||
virtual/pkgconfig"
|
||||
# XXX: These deps are from session and desktop files in data/ directory
|
||||
# at-spi:1 is needed for at-spi-registryd (spawned by simple-chooser)
|
||||
# fprintd is used via dbus by gdm-fingerprint-extension
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
>=gnome-base/gnome-session-2.91.92
|
||||
x11-apps/xhost
|
||||
x11-themes/gnome-icon-theme-symbolic
|
||||
|
||||
accessibility? (
|
||||
app-accessibility/gnome-mag
|
||||
app-accessibility/gok
|
||||
app-accessibility/orca
|
||||
gnome-extra/at-spi:1 )
|
||||
consolekit? ( gnome-extra/polkit-gnome )
|
||||
fallback? ( x11-wm/metacity )
|
||||
fprint? (
|
||||
sys-auth/fprintd
|
||||
sys-auth/pam_fprint )
|
||||
gnome-shell? ( >=gnome-base/gnome-shell-3.1.90 )
|
||||
!gnome-shell? ( x11-wm/metacity )
|
||||
smartcard? (
|
||||
app-crypt/coolkey
|
||||
sys-auth/pam_pkcs11 )
|
||||
|
||||
!gnome-extra/fast-user-switch-applet"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup gdm
|
||||
enewgroup video # Just in case it hasn't been created yet
|
||||
enewuser gdm -1 -1 /var/lib/gdm gdm,video
|
||||
|
||||
# For compatibility with certain versions of nvidia-drivers, etc., need to
|
||||
# ensure that gdm user is in the video group
|
||||
if ! egetent group video | grep -q gdm; then
|
||||
# FIXME XXX: is this at all portable, ldap-safe, etc.?
|
||||
# XXX: egetent does not have a 1-argument form, so we can't use it to
|
||||
# get the list of gdm's groups
|
||||
local g=$(groups gdm)
|
||||
elog "Adding user gdm to video group"
|
||||
usermod -G video,${g// /,} gdm || die "Adding user gdm to video group failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# remove unneeded linker directive for selinux, bug #41022
|
||||
epatch "${FILESDIR}/${PN}-2.32.0-selinux-remove-attr.patch"
|
||||
|
||||
# daemonize so that the boot process can continue, bug #236701
|
||||
epatch "${FILESDIR}/${PN}-2.32.0-fix-daemonize-regression.patch"
|
||||
|
||||
# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
|
||||
epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
|
||||
|
||||
# make custom session work, bug #216984
|
||||
epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch"
|
||||
|
||||
# ssh-agent handling must be done at xinitrc.d, bug #220603
|
||||
epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch"
|
||||
|
||||
# fix libxklavier automagic support
|
||||
epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch"
|
||||
|
||||
# plymouth support (in next release)
|
||||
epatch "${FILESDIR}/${P}-save-root-window.patch"
|
||||
epatch "${FILESDIR}/${P}-plymouth.patch"
|
||||
|
||||
# dconf-0.13.x compatibility (next release)
|
||||
epatch "${FILESDIR}/${P}-dconf-0.13.patch"
|
||||
|
||||
# don't load accessibility support at runtime when USE=-accessibility
|
||||
use accessibility || epatch "${FILESDIR}/${PN}-3.3.92.1-disable-accessibility.patch"
|
||||
|
||||
# make gdm-fallback session the default if USE=-gnome-shell
|
||||
if ! use gnome-shell; then
|
||||
sed -e "s:'gdm-shell':'gdm-fallback':" \
|
||||
-i data/00-upstream-settings || die "sed failed"
|
||||
fi
|
||||
|
||||
mkdir -p "${S}"/m4
|
||||
eautoreconf
|
||||
|
||||
gnome2_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
DOCS="AUTHORS ChangeLog NEWS README TODO"
|
||||
|
||||
# PAM is the only auth scheme supported
|
||||
# even though configure lists shadow and crypt
|
||||
# they don't have any corresponding code.
|
||||
# --with-at-spi-registryd-directory= needs to be passed explicitly because
|
||||
# of https://bugzilla.gnome.org/show_bug.cgi?id=607643#c4
|
||||
G2CONF="${G2CONF}
|
||||
--disable-static
|
||||
--localstatedir=${EPREFIX}/var
|
||||
--with-xdmcp=yes
|
||||
--enable-authentication-scheme=pam
|
||||
--with-pam-prefix=${EPREFIX}/etc
|
||||
--with-at-spi-registryd-directory=${EPREFIX}/usr/libexec
|
||||
$(use_with accessibility xevie)
|
||||
$(use_with audit libaudit)
|
||||
$(use_enable ipv6)
|
||||
$(use_enable xklavier libxklavier)
|
||||
$(use_with consolekit console-kit)
|
||||
$(use_with plymouth)
|
||||
$(use_with selinux)
|
||||
$(use_with tcpd tcp-wrappers)
|
||||
$(use_with xinerama)"
|
||||
gnome2_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
gnome2_src_install
|
||||
|
||||
# gdm-binary should be gdm to work with our init (#5598)
|
||||
rm -f "${ED}/usr/sbin/gdm"
|
||||
ln -sfn /usr/sbin/gdm-binary "${ED}/usr/sbin/gdm"
|
||||
# our x11's scripts point to /usr/bin/gdm
|
||||
ln -sfn /usr/sbin/gdm-binary "${ED}/usr/bin/gdm"
|
||||
|
||||
# log, etc.
|
||||
keepdir /var/log/gdm
|
||||
|
||||
# install XDG_DATA_DIRS gdm changes
|
||||
echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm
|
||||
doenvd 99xdg-gdm
|
||||
|
||||
# pam.d/gdm is no longer needed, and can block pam-1.1.6, #435042
|
||||
rm -v "${ED}etc/pam.d/gdm" || die
|
||||
|
||||
cd "${WORKDIR}/${G_P}"
|
||||
local LDAP
|
||||
use ldap && LDAP=yes
|
||||
emake LDAP=${LDAP} EPREFIX="${EPREFIX}" \
|
||||
SYSTEMD_UNITDIR="$(systemd_get_unitdir)" DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_pkg_postinst
|
||||
|
||||
dbus-launch dconf update || die "'dconf update' failed"
|
||||
|
||||
ewarn
|
||||
ewarn "This is an EXPERIMENTAL release, please bear with its bugs and"
|
||||
ewarn "visit us on #gentoo-desktop if you have problems."
|
||||
ewarn
|
||||
|
||||
elog "To make GDM start at boot, edit /etc/conf.d/xdm"
|
||||
elog "and then execute 'rc-update add xdm default'."
|
||||
elog "If you already have GDM running, you will need to restart it."
|
||||
|
||||
elog
|
||||
elog "GDM ignores most non-localization environment variables. If you"
|
||||
elog "need GDM to launch gnome-session with a particular environment,"
|
||||
elog "you need to use pam_env.so in /etc/pam.d/gdm-welcome; see"
|
||||
elog "the pam_env man page for more information."
|
||||
elog
|
||||
|
||||
if has_version sys-auth/pambase[gnome-keyring]; then
|
||||
elog "For passwordless login to unlock your keyring, you need to set an"
|
||||
elog "empty password on your keyring. Use app-crypt/seahorse for that."
|
||||
else
|
||||
elog "To unlock your keyring on login, install sys-auth/pambase"
|
||||
elog "with USE=gnome-keyring"
|
||||
fi
|
||||
|
||||
if [[ -f "/etc/X11/gdm/gdm.conf" ]]; then
|
||||
elog "You had /etc/X11/gdm/gdm.conf which is the old configuration"
|
||||
elog "file. It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16"
|
||||
mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16
|
||||
fi
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=513579
|
||||
# Lennart says this problem is fixed, but users are still reporting problems
|
||||
# XXX: Do we want this elog?
|
||||
# if has_version "media-libs/libcanberra[pulseaudio]" ; then
|
||||
# elog
|
||||
# elog "You have media-libs/libcanberra with the pulseaudio USE flag"
|
||||
# elog "enabled. GDM will start a pulseaudio process to play sounds. This"
|
||||
# elog "process should automatically terminate when a user logs into a"
|
||||
# elog "desktop session. If GDM's pulseaudio fails to terminate and"
|
||||
# elog "causes problems for users' audio, you can prevent GDM from"
|
||||
# elog "starting pulseaudio by editing /var/lib/gdm/.pulse/client.conf"
|
||||
# elog "so it contains the following two lines:"
|
||||
# elog
|
||||
# elog "autospawn = no"
|
||||
# elog "daemon-binary = /bin/true"
|
||||
# fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_pkg_postrm
|
||||
|
||||
if rc-config list default | grep -q xdm; then
|
||||
elog "To remove GDM from startup please execute"
|
||||
elog "'rc-update del xdm default'"
|
||||
fi
|
||||
}
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
~gnome-extra/nemo-1.1.2
|
||||
~x11-wm/muffin-1.1.2
|
||||
|
||||
=gnome-base/gdm-3.4.1-r1
|
||||
~gnome-base/gdm-3.4.1
|
||||
|
||||
~app-accessibility/at-spi2-core-2.4.2
|
||||
~app-accessibility/caribou-0.4.4
|
||||
|
|
|
|||
Loading…
Reference in a new issue