diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-03-09 01:07:53 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-03-09 01:07:53 +0000 |
commit | 4464bf26d93bdcc80e0b1330fe9c9caef26b34fc (patch) | |
tree | 62f9e9438bf700cf277191db5d7c3a641bc972dc /x11-misc/sddm | |
parent | 8edd4a48a39640822abe6ddb7b2a1d5b2da4ea70 (diff) |
gentoo auto-resync : 09:03:2024 - 01:07:53
Diffstat (limited to 'x11-misc/sddm')
25 files changed, 57 insertions, 1005 deletions
diff --git a/x11-misc/sddm/Manifest b/x11-misc/sddm/Manifest index 6e46eba39772..7310aa859947 100644 --- a/x11-misc/sddm/Manifest +++ b/x11-misc/sddm/Manifest @@ -1,32 +1,14 @@ -AUX pam-1.4-substack.patch 1126 BLAKE2B 61bcfc324b603ed4d9c23ede30f2d6215acdd043c6385c6230f95748b79e9746206525bbfba873272ef2559b605123c727c41de17cd713b31ce706a3cead9798 SHA512 0f08eb5c7904cfee570329bb42621bcbeba6e700e667dcaf956d3359792f7938c6fe4a9a3a56a471b5eb512adde0ce7b92cdaca9108a1cc9307e839c1ee3339a -AUX sddm-0.18.0-sddmconfdir.patch 1894 BLAKE2B aef497f08bd11c4fa4fdfe584b73b69192b875fde9050dbb39d6a0b1924759fedd5c50ed4fa54316f5cc9bb25c667c96eaaabce60d2acd826a4fb0bda2bb7495 SHA512 ebfb026ffca4f450005ecdc64c816720b0714ffcec7c03316148c7835919f01bb47c4c6e5041fcdbb271b70b38de99d74d959fd94b6c30b415159035b0d2b784 AUX sddm-0.18.1-Xsession.patch 503 BLAKE2B 2fdb001df7440a82cf60558bf10fd4f89b51c1ca0b2b36487cadcfcccce856546aeb5f8c6e8a814abd923b448972ea6141188820c094ec5d4ec582dbdcb0d283 SHA512 3235947b3cc7a9cc3fc8199b6083e7dd18ce95e973e4b7a0e28384ad536bcf0a74df5dd7fc13c9eca8cb8a6f8e813d94d1ca7a4df60397d95423990a126c32b2 -AUX sddm-0.18.1-cve-2020-28049.patch 3286 BLAKE2B 2782c0f01aaf4c108934311359afa139a8b72884a9a3824e1c9226a088ae4c73f7f56e92e6b61b7e0f0a40733acd2f1b25823a62570017ec2f0f24cef0190304 SHA512 cb4840dce22e76ee1bd912c81c590f5333c3c6e679dfca70555ec82dbe64579297bf2fa4ac94c4beda75724f4db28c8178357a4d0392d432e7928b6b1576dcf9 -AUX sddm-0.18.1-drop-wayland-suffix.patch 1163 BLAKE2B 94bb56d1156d97a67251440f79d633ec18bbdb06c77e6340676003d55a735bb7e56a2f9c203ef34a6997ed5768ffc80536dc7cdee839de3f065c987d5e20eb46 SHA512 7eefe6092a6653b0764d0bd0cf0464515f0a6e659603ab0dcc8f8ff28b0c3dac4ef4bd794877c1390819f1d542193391848a1b5c3727d6b2c1e8098e45e106bc -AUX sddm-0.18.1-fix-qt-5.15.7.patch 1174 BLAKE2B 792b147ced79aafec0a6e78e9a8818e11fda15e519c127e04fa897e269b6fdba1cab2840853af95fc1354a0c5c0c1de7781c81a63790d796b819a9eb9ac2bd32 SHA512 0e8108cf06cd6c3435093aae594f75a166185ce9c729554c325cb21b0d62c3d15a3af3e0f49dbd13d321c9acd94bfb4a3bcaef2a0e1d2f07bbc49b0d76f439bb -AUX sddm-0.18.1-honor-PAM-supplemental-groups-v2.patch 6561 BLAKE2B 33919c3913fae2eb1e7277647a38567c70ee0fd4ca5c93de6d7597d6c216c9c1802e79a5f281821f8eac4a99d73d2fa8712471b2dff8ed50ec17004ae7d8b67a SHA512 4d2bbdb301e54aaa8673b8765ee2e63d105e8dd2199f636a523b2ef46a6123e8b5194fa778390d4ba8ac3b6970cb4fb3bafc9ee8e20335fbf9284517ea5d36c5 -AUX sddm-0.18.1-nvidia-glitches-vt-switch.patch 1429 BLAKE2B f5eaa4a68f7d0d048246257d331c5d2a813b264bea9e3b743fa08da32940b1d0be6cd9817d97f17f49003d1c4bd1c7e948e0ac72cac61ddf365f274246ff252c SHA512 2eab01dfe04efcfcc3223b9b890d3c430c708109dfd19f368ee9fa74f4d769173a2210d96247e14de6dfc1d956e6d3738494bd7d228f3dd40eac35c9193a6687 -AUX sddm-0.18.1-only-reuse-online-sessions.patch 1201 BLAKE2B cf1947f88fa1223c78bfd5c7d37884e7b9b80349f531d4593a0d1a59f4dfe2ed068abe5f2f0fe53b3d112826230ac9c481ce1db38661ece2ee93b1d0aeadba94 SHA512 62975ad657e46a6dc0157bcf749df1e165cd9f65fefa794d674aa7c2dc84e978d1e98bd2c5dad19a30a3e258d65155c9b93e89e12d32aaf80d0ba8b1e5cc594f -AUX sddm-0.18.1-qt-5.15.2.patch 865 BLAKE2B 1198a2a7b9cd0b46648eddd3eddca444d502c01baf7fd686bd52489acefa8bb3cc53e20b1d8f154aec56f88f53b653c605f8b4905cd7bb445c37ad7bdd091369 SHA512 aae777ca15df43d7c5bfb7f15e2ede4632d598e05d565338880f644e0e8ed9f00e83c33128a85db8db01d4a22cf85ee4dd6fd2c66196c7093afcc9d5c18bade2 -AUX sddm-0.18.1-respect-user-flags.patch 774 BLAKE2B 050d261762b872a475ce9f250b464e539e278c4c87ad90767b7a9e8dc8f4785671ff3c5989b3785979b3a59ce805bb5b2ee90b01da0dca831a48aecaddc94280 SHA512 8df7f3b804594d46439e4c93a01a035e71d8e8a53c95193eaff03403970d0010878e70f0f7c8c965545360a948c2cab994e5ce29e011f8f41bc232107402fe78 -AUX sddm-0.18.1-revert-honor-PAM-supplemental-groups.patch 3616 BLAKE2B 71a4c6f592214160ff993e86582bf5f550be204193668f5bab7786db88ae9a1a09ee268beb3e3157c1b033e765053ba415f3d291f299b09606aa566c9c197370 SHA512 b33b26517173262194bdc98e63b84fbb1f03005abc3c079332dd9b275167d8ddc680ba5c2a9968be5c54963b64f291aab65ad9f04b9f3f69299d030753cd90f5 -AUX sddm-0.20.0-dbus-policy-in-usr.patch 1681 BLAKE2B 4a184784d74696adc7317aca60e4410b2b732b45c2926ee269f8915ed15dd64b192e7a514947b82437a3e63058b8102055fa674c265f67abe6172bf2dfb4fd2e SHA512 c470a99ad3e9c4f18f646e9ea30929e11b8392e960a5a1da981c3aeb38218533fdad1ef0deb6c0e332aeff3bfc41e89906eefe46d4ecf42cf91cddc699672d38 -AUX sddm-0.20.0-disable-etc-debian-check.patch 1037 BLAKE2B da37f7e7025e0c02f892a08bfca27a1e970e517a2b0fdd5bf45dae903215f6523747f076164868d60faf693ca0676b15e4e052496d3ae57c73ba01152ff7d3ba SHA512 d4fe05d49d067a708231494d8b48ee316b007c6c903be0c125d528492789b07d892b149c87f370263eec4372d11e1ff8ca3cafe855b83f65dec4709998b40514 -AUX sddm-0.20.0-fix-use-development-sessions.patch 3399 BLAKE2B c5a1297a673fab4e198f0c5045cb1e362451b3c12f92e2d11168eb68d60cb33367d24c664d4d49503fa6bde7a4a8be9a23fc227f15835d34963dd05ddf27f737 SHA512 1f9402be49ab5b8937e7b15162dd077c2a09be112b4bd80ad302a865e981138a071b45d36d8080f333075f03ad74451024b8a08bde1902029a5b62ac44172504 -AUX sddm-0.20.0-greeter-platform-detection.patch 934 BLAKE2B 07e2c811a2dee9ebc94fd59ef1acde7860d9fb70ab0399d566d804341cc8c45b2542c2d957bc8b8c9ab11e4ee0849e9b4d1056eb114ed61fe57b246a09296363 SHA512 028146ad14d028fe9031388cf41c693f65cfc9d640aabb410835b0ef441094c5bb85914668e8514270b8267767a2de4b5e964e874a6b7e49264dd57d2adbf8f4 -AUX sddm-0.20.0-no-default-pam_systemd-module.patch 1487 BLAKE2B e4a270d2c0cb140e6195bb93aa9e15538737585ded1a30db2986d00e21a8a74d0bf6732c2bb3d47ddb7636ca75f44f5be64ff1f5b435a28ab585bd614223a307 SHA512 c598d4ff4ce5b7b88b5e5224d09a8aa336c929e2889eacb6eb76caac719adb112ecc11202f40cba9246a1ad2b0e039f8de6ab378d755126e8598598286171b1f -AUX sddm-0.20.0-no-qtvirtualkeyboard-on-wayland.patch 1382 BLAKE2B 86515c2c24b720d957c6849901bb707d26f5ce3155577d58723d8ef32aa4af24b8c7c46e77b1d7169fb0b3f2260f33dad09ccceb2a50c042d872241bbcca2050 SHA512 a17fb242973dde688978c5ceb927f9a67bb99a516dea21268a04a7287dc066f323acde1b0411b21bb68b04d63cfbd85b23ec7a0790fb5190698dfe483741bafa AUX sddm-0.20.0-respect-user-flags.patch 348 BLAKE2B 228f9011992b113afc8a32ef2fdb17d2ca3e3d158718b0bdf8d0638de5b432e830fb9baf83d1b9deea5ee3b2a01e61fecf1ebb81621e7b58df3d7905697a8099 SHA512 e347b6ef36a37751a18affc2f098b55772c8782f5c4826094d1841425f85e29c18e988b47e2252317907804f9b135642367c7e992934aff93edaa58ca67f7dd5 -AUX sddm-0.20.0-sddm.pam-use-substack.patch 1173 BLAKE2B 2d4fee0a0f3bc61a0873d4927ff8c3189d77371929448dadccc35a43a114c2be64dd0822825a45708904ff5c70ab7896e9a7cf54931d14f4f48ab79d5dc36d75 SHA512 bfe00511a17e7bd0e0c9c51f65082f9feda38237cba64f36cdb31570adb56ded9d380f7e3b133ed1c3f7bde4d9341f2a5ac9627cd9c72300532b8d84b5cf0dc8 AUX sddm-0.21.0-Xsession.patch 1089 BLAKE2B de3d71465429f6e8d59c36c90203deb584ea94d44588908a39a39bceda1e414ab8dc96b56011c86872b3eb0b11191574394c62b9f17279311e3bcb8859147ab1 SHA512 df41fcf973fd3bc97380a89b4388037ada3b99715544abc0361813dfca681d60ef80c5e621ed63d0a010cb01fc540f3184db930b38a48c066b29918f7045d634 -AUX sddm-0.21.0-disable-etc-debian-check.patch 1084 BLAKE2B 4ab6e9f8a251e5cdac811e5f043907b75898ec7d42d577a8528ac27768422b1f75c68124f2cd7e5d2bdbaad3f56a89657b7774c7b78ce8bdf43a2d39a6505733 SHA512 ac65e5546326723c42a52dfb8ffc9ccf8214056432900beb84d2242ee2f357f54ae52578ed7e73b921b1ff735beddfa2152a204aec76efe007ce2415f8b8f797 -AUX sddm-0.21.0-no-default-pam_systemd-module.patch 1537 BLAKE2B b8e2f4fb4e970b5ccbd42dde8d9f8d136f5358cbbf27fc96a6d6f6b5c61a41f944217d54e90f511b91ab0a6e3a3faca6ed05f6d041b096578612a5d9d4be8c32 SHA512 c6f642981f341fb63fa210b5a99ed4f9f174ea649bb7b8cd57ccb14fd6a5c301e58d3f79012db09a3ad1dc0ab49c08ac50cda9b09a0f16be59d850060cd212ea AUX sddm.logrotate 59 BLAKE2B 6f4c0b92559640c78190df2074f439aabf69604e706f562a29b527036b8ae0a40b7f143be927adba5c129c256cc0e9c29e19e78dd5dfccd36fe94ed4b2de9adb SHA512 3145b0a022810c85102594550955bf6d61d5e0aba7d26ad28a220eee1e03ef80b0c5783cf9123bb35950b719cd4cecf5573870063ce53bd88dd4ddc23857f199 -AUX sddm.tmpfiles 31 BLAKE2B 51d22f1d6e25aed3df726c0c315e83193bf28b5e9cafb681b648e6788ad8e9ddd8610ef5c305627373e32465ac104b33d71c333153217f8f8f560ace9ddca45a SHA512 bb5ecdcc6cfcc6b1056a7b10b8a6f323a3e12ea5496a26d80f199a275402fd99ed0fa810fad6687407605964f980784c24082686e177063113a358e1d4220136 +DIST sddm-0.18.1-patchset.tar.xz 7860 BLAKE2B b79738c58f19ebac24dd790ba7613d85ae78bc0c5161d35249e13ddbac3acefff2753b8d92fa47a73a607b3105310ea5d05e1a5a170068030fe28420ffee88b1 SHA512 30ca961f065188d570b1498f9eea5aeafb31ab53b7e9ce41e98e26cba12f8c16a245fffb25ea4d84c6fb9037a24523cd41acc9a8b140a1420282435c9497d9b4 DIST sddm-0.18.1.tar.xz 3402972 BLAKE2B 99ab43d374e9a3d318f692a6d496d8a6d68927af3c8e8fc2208d7355ec90649a14758b39f5733dd32f942ed569de88085576d4f5f8666f4f97079e0fb6dcb99e SHA512 ff0637600cda2f4da1f643f047f8ee822bd9651ae4ccbb614b9804175c97360ada7af93e07a7b63832f014ef6e7d1b5380ab2b8959f8024ea520fa5ff17efd60 +DIST sddm-0.20.0-patchset.tar.xz 4024 BLAKE2B cb138568a158fb1070c3f4ed4182867973abef257e7b551a373a5d17adf19c15474cff27a3662de9fa674da218e9b04374802d0f1813569ce2966257903ac791 SHA512 fe07102ac4e41cc9e212f795405db8e4dac342c1dde2ec3b47002aaf251fc6a7641af4226f4729ef3325f070a77d6448602fffe7b5ff775b9dbfb57db9004d3c DIST sddm-0.20.0.tar.gz 3552722 BLAKE2B 8086c9555d5ce1598db3279353de077d51adbcc5222a929750e8558a1bcdad395a411f90608bffdc6e1ca7e7ac2b8325e25cf04cbf8476698d787ce7e60c2105 SHA512 0f64b405f1451873a01a2210530feb6f4cbbdea17be9d039c105088963a48322968db7b60c0d20ac5d97c8ec2a19e5130f0a74c0f9de58c61453d8ce8bb6272a +DIST sddm-0.21.0-pam.tar.xz 676 BLAKE2B 06a79f74a5833eca9877df4be8639311382d13061b21aa3627e6c4b07725878ded62221fca943440bacc143f6be2a23b2e0a2124012ff2c9fac82e1eded11144 SHA512 6d91eef2434346f7707122454522cf19f104994ac95d562417f6060a92b4e6c9792bebcccabac8290479200b4ba02fc4d92c6098c435c7ceda796d619d8913c2 DIST sddm-0.21.0.tar.gz 3557266 BLAKE2B 849cb8b06b9510e5366ea28ef322c242db7d5a77d94c0a5a727f468209880a717055ad8b0c2f5a857852202a4d6bc1f68281fe0e0ab3c6a32327b5a4219af3a0 SHA512 2e8e460e7f318f20a406dcbb1a9fa1dc78b6a5b8d888bfbbaae22b9c642dbc49cf2ac682b4ea9ed847bbafa9bdc361ba08795e59cad970088b370caaaa70f458 -EBUILD sddm-0.18.1-r8.ebuild 3785 BLAKE2B 67841c22d92be3f9b9ba08ace09e4df1131f6e3046c66f88d3e08891c9be3ef0a54bdbf3e2b3cb8c9d9f41c9dc44bfa40509f0e228c632aaf7165e47eee6dffd SHA512 4c365000455c2790e04d1aefd31741a66b5b7d7bc53f2a5d96fb4aacf40881e26c0d647a90ba70f62d35c3e7ad9742f49126f7c92cf0acb02848fde9d46a4117 -EBUILD sddm-0.20.0-r1.ebuild 3660 BLAKE2B 0006a727bbb71c72c860003e2585e9b0fe3871757c6e852c2312db1b0e8227f236fb5e3bfe7c9cf314ff14c0e3329182906ed430c27097b37ba16d1449d5167a SHA512 817b3ee80f132652610677d45d91c1e8d016b80d2d4830312180805d7948ac41d59b0c30b76b1980cceaeb3736d8ab612ee803595502b60d35ef2b18104cbc1d -EBUILD sddm-0.21.0.ebuild 3696 BLAKE2B aca56d23207ddcc434bc4bfae19cd099329ffdc3a8df4af27172cc67c2e4de808b5fd3f131c35a9a22fe9e07c97ee341327a8830901e63e7997bd06f5b5860e0 SHA512 1a6db269404208d705695681243bd6de5c42c2078b628e7c70b88df64cabc7519255c2560ef12948867dba0cf9d4393c707097f0af7cbdce0c85732e63e535d4 +EBUILD sddm-0.18.1-r8.ebuild 4014 BLAKE2B 9905d591d59827c1097c9cafa56f399d1f9099fa7a69fb3c9966d797355d2c03ed647d69e9309c369a820cfc15345e2cb4d98596507c4c1b9ffaf4c45101938b SHA512 2015d988c8b12066e7ee9e410b151a5677a8ea2663840ae04162db132ceca79f7699026bd2d8ac198996ece2499d8fb4071af0e708900525104b3c294adb5379 +EBUILD sddm-0.20.0-r1.ebuild 3905 BLAKE2B 8153eecfbdce35cfc474b04c2aeb1b1df9dcf37222772584e804d41668876c0c2086a4aa0c8f528b175f8fe714086aea862de53e15bfac311a471472b8991144 SHA512 8ec2a367f260f486823146928bf4f4d173aacd775f9b301aca93b491d25ca7837c5c79787276a49f98cc71ef7600e815603f895ca3a0976bcefa57acc8649cb8 +EBUILD sddm-0.21.0.ebuild 4027 BLAKE2B 98af9e50876089634412f4345fedf8e4e933e70d1370866f48102c961d55909675821d11e4d12865c4fcee7071f1995bfaeff33f00ef73465493285e9560def7 SHA512 03098d05fee9e7d55fa3c3ea31d9b613c1d88c5b6324759c5842ce39167c9c57f5d32e60fa1c92becb64b5d791be3dff32c6bd2f68a50f55a044307e5c1720db MISC metadata.xml 722 BLAKE2B fc34c0b25b7f3e6ab876c99a30f475dc90cc4b319f497a2ba4bd2beac1dc1189d3d9611999c0c3b078254db23c4c9b2ef0416da41e706c1a1db96d5bbec28177 SHA512 c1fa48632080e295272df6e7ceb7c0a1ad64a41155c7d53d91728f072cb7abf618e7bf4d5cced2ca0b198bbbf5ed1e72c5bfc9ea9d590064e5f5494747d32b0d diff --git a/x11-misc/sddm/files/pam-1.4-substack.patch b/x11-misc/sddm/files/pam-1.4-substack.patch deleted file mode 100644 index b0467b268228..000000000000 --- a/x11-misc/sddm/files/pam-1.4-substack.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- sddm-0.18.1/services/sddm-autologin.pam.bak 2020-06-19 22:27:57.305580696 +0200 -+++ sddm-0.18.1/services/sddm-autologin.pam 2020-06-19 22:30:50.513583973 +0200 -@@ -1,6 +1,5 @@ - #%PAM-1.0 - auth required pam_env.so --auth required pam_tally.so file=/var/log/faillog onerr=succeed - auth required pam_shells.so - auth required pam_nologin.so - auth required pam_permit.so ---- sddm-0.18.1/services/sddm.pam.bak 2020-06-19 22:27:26.721580117 +0200 -+++ sddm-0.18.1/services/sddm.pam 2020-06-19 22:27:48.729580533 +0200 -@@ -1,15 +1,15 @@ - #%PAM-1.0 - --auth include system-login -+auth substack system-login - -auth optional pam_gnome_keyring.so - -auth optional pam_kwallet5.so - --account include system-login -+account substack system-login - --password include system-login -+password substack system-login - -password optional pam_gnome_keyring.so use_authtok - - session optional pam_keyinit.so force revoke --session include system-login -+session substack system-login - -session optional pam_gnome_keyring.so auto_start - -session optional pam_kwallet5.so auto_start
\ No newline at end of file diff --git a/x11-misc/sddm/files/sddm-0.18.0-sddmconfdir.patch b/x11-misc/sddm/files/sddm-0.18.0-sddmconfdir.patch deleted file mode 100644 index 9d8f2b545a1e..000000000000 --- a/x11-misc/sddm/files/sddm-0.18.0-sddmconfdir.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 300078995ae82495cf09a0646a07e0214f0ae030 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com> -Date: Sat, 21 Jul 2018 22:41:29 +0200 -Subject: [PATCH] Change location of sddm.conf.d to DATAROOTDIR - -/usr/lib is not a location that should be hardcoded - depending on -distribution and architecture this can be different. So far, SDDM -does not use this path unless the above conditions happen to make -it coincide with the install location of its Qml modules. - -DATAROOTDIR is defined as: Read-only architecture-independent data. -This seems to be a better fit for a system SDDM default config dir. ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8500c65..5150b7d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -184,7 +184,7 @@ set(WAYLAND_SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/wayland-session" - - set(CONFIG_FILE "${CMAKE_INSTALL_FULL_SYSCONFDIR}/sddm.conf" CACHE PATH "Path of the sddm config file") - set(CONFIG_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/sddm.conf.d" CACHE PATH "Path of the sddm config directory") --set(SYSTEM_CONFIG_DIR "${CMAKE_INSTALL_PREFIX}/lib/sddm/sddm.conf.d" CACHE PATH "Path of the system sddm config directory") -+set(SYSTEM_CONFIG_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}/sddm/sddm.conf.d" CACHE PATH "Path of the system sddm config directory") - set(LOG_FILE "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/sddm.log" CACHE PATH "Path of the sddm log file") - set(DBUS_CONFIG_FILENAME "org.freedesktop.DisplayManager.conf" CACHE STRING "Name of the sddm config file") - set(COMPONENTS_TRANSLATION_DIR "${DATA_INSTALL_DIR}/translations" CACHE PATH "Components translations directory") --- -2.18.0 - diff --git a/x11-misc/sddm/files/sddm-0.18.1-cve-2020-28049.patch b/x11-misc/sddm/files/sddm-0.18.1-cve-2020-28049.patch deleted file mode 100644 index 8209c0739dc6..000000000000 --- a/x11-misc/sddm/files/sddm-0.18.1-cve-2020-28049.patch +++ /dev/null @@ -1,94 +0,0 @@ -From be202f533ab98a684c6a007e8d5b4357846bc222 Mon Sep 17 00:00:00 2001 -From: Fabian Vogt <fabian@ritter-vogt.de> -Date: Tue, 6 Oct 2020 21:21:38 +0200 -Subject: [PATCH] Fix X not having access control on startup - -If the auth file is empty, X allows any local application (= any user on the -system) to connect. This is currently the case until X wrote the display -number to sddm and sddm used that to write the entry into the file. -To work around this chicken-and-egg problem, make use of the fact that X -doesn't actually look at the display number in the passed auth file and just -use :0 unconditionally. Also make sure that writing the entry was actually -successful. - -CVE-2020-28049 ---- - src/daemon/XorgDisplayServer.cpp | 25 ++++++++++++++++++++----- - src/daemon/XorgDisplayServer.h | 2 +- - 2 files changed, 21 insertions(+), 6 deletions(-) - -diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp -index d04f6344..df685b2d 100644 ---- a/src/daemon/XorgDisplayServer.cpp -+++ b/src/daemon/XorgDisplayServer.cpp -@@ -88,7 +88,7 @@ namespace SDDM { - return m_cookie; - } - -- void XorgDisplayServer::addCookie(const QString &file) { -+ bool XorgDisplayServer::addCookie(const QString &file) { - // log message - qDebug() << "Adding cookie to" << file; - -@@ -104,13 +104,13 @@ namespace SDDM { - - // check file - if (!fp) -- return; -+ return false; - fprintf(fp, "remove %s\n", qPrintable(m_display)); - fprintf(fp, "add %s . %s\n", qPrintable(m_display), qPrintable(m_cookie)); - fprintf(fp, "exit\n"); - - // close pipe -- pclose(fp); -+ return pclose(fp) == 0; - } - - bool XorgDisplayServer::start() { -@@ -127,6 +127,15 @@ namespace SDDM { - // log message - qDebug() << "Display server starting..."; - -+ // generate auth file. -+ // For the X server's copy, the display number doesn't matter. -+ // An empty file would result in no access control! -+ m_display = QStringLiteral(":0"); -+ if(!addCookie(m_authPath)) { -+ qCritical() << "Failed to write xauth file"; -+ return false; -+ } -+ - if (daemonApp->testing()) { - QStringList args; - QDir x11socketDir(QStringLiteral("/tmp/.X11-unix")); -@@ -217,8 +226,14 @@ namespace SDDM { - emit started(); - } - -- // generate auth file -- addCookie(m_authPath); -+ // The file is also used by the greeter, which does care about the -+ // display number. Write the proper entry, if it's different. -+ if(m_display != QStringLiteral(":0")) { -+ if(!addCookie(m_authPath)) { -+ qCritical() << "Failed to write xauth file"; -+ return false; -+ } -+ } - changeOwner(m_authPath); - - // set flag -diff --git a/src/daemon/XorgDisplayServer.h b/src/daemon/XorgDisplayServer.h -index d2bdf6d4..e97a0b53 100644 ---- a/src/daemon/XorgDisplayServer.h -+++ b/src/daemon/XorgDisplayServer.h -@@ -40,7 +40,7 @@ namespace SDDM { - - const QString &cookie() const; - -- void addCookie(const QString &file); -+ bool addCookie(const QString &file); - - public slots: - bool start(); diff --git a/x11-misc/sddm/files/sddm-0.18.1-drop-wayland-suffix.patch b/x11-misc/sddm/files/sddm-0.18.1-drop-wayland-suffix.patch deleted file mode 100644 index 70efa284803f..000000000000 --- a/x11-misc/sddm/files/sddm-0.18.1-drop-wayland-suffix.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 9a440ba5917ff93c6a78726380c6267d91c13f19 Mon Sep 17 00:00:00 2001 -From: Alex <alex.shaw.as@gmail.com> -Date: Mon, 30 Sep 2019 16:50:16 -0400 -Subject: [PATCH] Prevent duplicate session name. - -Several desktop sessions (e.g. KDE Plasma) already include the string " (Wayland)" in the session name. When this happens, the session name displayed to the user is "Plasma (Wayland) (Wayland)". This change makes it so that only "Plasma (Wayland)" will be displayed. - -(cherry picked from commit f9a0648ff3f841b68a07c139c3540b9e75bfd279) ---- - src/common/Session.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/common/Session.cpp b/src/common/Session.cpp -index aa4dad3..923ecd4 100644 ---- a/src/common/Session.cpp -+++ b/src/common/Session.cpp -@@ -169,7 +169,7 @@ namespace SDDM { - - if (line.startsWith(QLatin1String("Name="))) { - if (type == WaylandSession) -- m_displayName = QObject::tr("%1 (Wayland)").arg(line.mid(5)); -+ m_displayName = QObject::tr("%1").arg(line.mid(5)); - else - m_displayName = line.mid(5); - } --- -2.38.1 - diff --git a/x11-misc/sddm/files/sddm-0.18.1-fix-qt-5.15.7.patch b/x11-misc/sddm/files/sddm-0.18.1-fix-qt-5.15.7.patch deleted file mode 100644 index 65e9b8573356..000000000000 --- a/x11-misc/sddm/files/sddm-0.18.1-fix-qt-5.15.7.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 5fe712d0e73c6263647bf306f40fbac94a52f4a6 Mon Sep 17 00:00:00 2001 -From: Harald Sitter <sitter@kde.org> -Date: Mon, 24 Oct 2022 13:15:48 +0200 -Subject: disable automatic portal launching - -in Qt6 (and the KDE patch collection for Qt 5) genericunixservices will -internally attempt to probe the portal tech early on in the app life -cycle. this causes the protal system to launch app and then crash -because we aren't actually providing a fully functional session. instead -opt out of this altogether - -(cherry picked from commit fc24321541f6f65b7d1aac89cd82336ffd53e1a0) ---- - src/greeter/GreeterApp.cpp | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp -index 4e117a7..a491f4d 100644 ---- a/src/greeter/GreeterApp.cpp -+++ b/src/greeter/GreeterApp.cpp -@@ -318,6 +318,9 @@ int main(int argc, char **argv) - QSurfaceFormat::setDefaultFormat(format); - } - -+ // Qt internally may load the xdg portal system early on, prevent this, we do not have a functional session running. -+ qputenv("QT_NO_XDG_DESKTOP_PORTAL", "1"); -+ - QGuiApplication app(argc, argv); - - QCommandLineParser parser; --- -2.38.1 - diff --git a/x11-misc/sddm/files/sddm-0.18.1-honor-PAM-supplemental-groups-v2.patch b/x11-misc/sddm/files/sddm-0.18.1-honor-PAM-supplemental-groups-v2.patch deleted file mode 100644 index f4ce7ae7ad73..000000000000 --- a/x11-misc/sddm/files/sddm-0.18.1-honor-PAM-supplemental-groups-v2.patch +++ /dev/null @@ -1,182 +0,0 @@ -From 75e6e00d9e1ecf25e3a9c8332530a1e40d737cdb Mon Sep 17 00:00:00 2001 -From: "J. Konrad Tegtmeier-Rottach" <jktr@0x16.de> -Date: Thu, 9 May 2019 03:06:48 +0200 -Subject: [PATCH] Honor PAM's supplemental groups (v2) (#834, #1159) - -This moves the supplemental group initialization step from -UserSession.cpp to the Backend system, so that the Pam Backend can -inject additional supplemental groups via modules like pam_group.so. - -pam_setcred(3) assumes that it operates on an already initialized -supplemental group list. However, PamBackend calls -pam_setcred(PAM_ESTABLISH_CRED) earlier, at the start -PamBackend::openSession, so a pam_setcred(PAM_REINITIALIZE_CRED) call -must be issued to repeat the injection of PAM's supplemental groups. ---- - src/helper/Backend.cpp | 5 +++++ - src/helper/Backend.h | 3 +++ - src/helper/HelperApp.cpp | 4 ++++ - src/helper/HelperApp.h | 1 + - src/helper/UserSession.cpp | 13 ++++++++----- - src/helper/backend/PamBackend.cpp | 18 ++++++++++++++++++ - src/helper/backend/PamBackend.h | 2 ++ - 7 files changed, 41 insertions(+), 5 deletions(-) - -diff --git a/src/helper/Backend.cpp b/src/helper/Backend.cpp -index d6bb4d0a..35ae2bdf 100644 ---- a/src/helper/Backend.cpp -+++ b/src/helper/Backend.cpp -@@ -29,6 +29,7 @@ - #include <QtCore/QProcessEnvironment> - - #include <pwd.h> -+#include <grp.h> - - namespace SDDM { - Backend::Backend(HelperApp* parent) -@@ -79,4 +80,8 @@ namespace SDDM { - bool Backend::closeSession() { - return true; - } -+ -+ bool Backend::setupSupplementalGroups(struct passwd *pw) { -+ return !initgroups(pw->pw_name, pw->pw_gid); -+ } - } -diff --git a/src/helper/Backend.h b/src/helper/Backend.h -index b790e001..3caf1592 100644 ---- a/src/helper/Backend.h -+++ b/src/helper/Backend.h -@@ -22,6 +22,7 @@ - #define BACKEND_H - - #include <QtCore/QObject> -+#include <pwd.h> - - namespace SDDM { - class HelperApp; -@@ -38,6 +39,8 @@ namespace SDDM { - void setAutologin(bool on = true); - void setGreeter(bool on = true); - -+ virtual bool setupSupplementalGroups(struct passwd *pw); -+ - public slots: - virtual bool start(const QString &user = QString()) = 0; - virtual bool authenticate() = 0; -diff --git a/src/helper/HelperApp.cpp b/src/helper/HelperApp.cpp -index cad93bd8..d0891d75 100644 ---- a/src/helper/HelperApp.cpp -+++ b/src/helper/HelperApp.cpp -@@ -253,6 +253,10 @@ namespace SDDM { - return m_session; - } - -+ Backend *HelperApp::backend() { -+ return m_backend; -+ } -+ - const QString& HelperApp::user() const { - return m_user; - } -diff --git a/src/helper/HelperApp.h b/src/helper/HelperApp.h -index 3742df12..cb5959a7 100644 ---- a/src/helper/HelperApp.h -+++ b/src/helper/HelperApp.h -@@ -39,6 +39,7 @@ namespace SDDM { - virtual ~HelperApp(); - - UserSession *session(); -+ Backend *backend(); - const QString &user() const; - const QString &cookie() const; - -diff --git a/src/helper/UserSession.cpp b/src/helper/UserSession.cpp -index f71fd358..62fd4d70 100644 ---- a/src/helper/UserSession.cpp -+++ b/src/helper/UserSession.cpp -@@ -19,6 +19,7 @@ - * - */ - -+#include "Backend.h" - #include "Configuration.h" - #include "UserSession.h" - #include "HelperApp.h" -@@ -129,7 +130,8 @@ namespace SDDM { - #endif - - // switch user -- const QByteArray username = qobject_cast<HelperApp*>(parent())->user().toLocal8Bit(); -+ HelperApp* app = qobject_cast<HelperApp*>(parent()); -+ const QByteArray username = app->user().toLocal8Bit(); - struct passwd pw; - struct passwd *rpw; - long bufsize = sysconf(_SC_GETPW_R_SIZE_MAX); -@@ -146,12 +148,13 @@ namespace SDDM { - qCritical() << "getpwnam_r(" << username << ") failed with error: " << strerror(err); - exit(Auth::HELPER_OTHER_ERROR); - } -- if (setgid(pw.pw_gid) != 0) { -- qCritical() << "setgid(" << pw.pw_gid << ") failed for user: " << username; -+ -+ if (!app->backend()->setupSupplementalGroups(&pw)) { -+ qCritical() << "failed to set up supplemental groups for user: " << username; - exit(Auth::HELPER_OTHER_ERROR); - } -- if (initgroups(pw.pw_name, pw.pw_gid) != 0) { -- qCritical() << "initgroups(" << pw.pw_name << ", " << pw.pw_gid << ") failed for user: " << username; -+ if (setgid(pw.pw_gid) != 0) { -+ qCritical() << "setgid(" << pw.pw_gid << ") failed for user: " << username; - exit(Auth::HELPER_OTHER_ERROR); - } - if (setuid(pw.pw_uid) != 0) { -diff --git a/src/helper/backend/PamBackend.cpp b/src/helper/backend/PamBackend.cpp -index f86d77d6..cccfa258 100644 ---- a/src/helper/backend/PamBackend.cpp -+++ b/src/helper/backend/PamBackend.cpp -@@ -289,6 +289,24 @@ namespace SDDM { - return QString::fromLocal8Bit((const char*) m_pam->getItem(PAM_USER)); - } - -+ bool PamBackend::setupSupplementalGroups(struct passwd *pw) { -+ if (!Backend::setupSupplementalGroups(pw)) -+ return false; -+ -+ // pam_setcred(3) may inject additional groups into the user's -+ // list of supplemental groups, and assumes that the user's -+ // supplemental groups have already been initialized before -+ // its invocation. Since pam_setcred was already called at the -+ // start of openSession, we need to repeat this step here as -+ // the user's groups have only just now been initialized. -+ -+ if (!m_pam->setCred(PAM_REINITIALIZE_CRED)) { -+ m_app->error(m_pam->errorString(), Auth::ERROR_AUTHENTICATION); -+ return false; -+ } -+ return true; -+ } -+ - int PamBackend::converse(int n, const struct pam_message **msg, struct pam_response **resp) { - qDebug() << "[PAM] Conversation with" << n << "messages"; - -diff --git a/src/helper/backend/PamBackend.h b/src/helper/backend/PamBackend.h -index 4c8b4b35..5b079099 100644 ---- a/src/helper/backend/PamBackend.h -+++ b/src/helper/backend/PamBackend.h -@@ -28,6 +28,7 @@ - #include <QtCore/QObject> - - #include <security/pam_appl.h> -+#include <pwd.h> - - namespace SDDM { - class PamHandle; -@@ -61,6 +62,7 @@ namespace SDDM { - explicit PamBackend(HelperApp *parent); - virtual ~PamBackend(); - int converse(int n, const struct pam_message **msg, struct pam_response **resp); -+ virtual bool setupSupplementalGroups(struct passwd *pw); - - public slots: - virtual bool start(const QString &user = QString()); diff --git a/x11-misc/sddm/files/sddm-0.18.1-nvidia-glitches-vt-switch.patch b/x11-misc/sddm/files/sddm-0.18.1-nvidia-glitches-vt-switch.patch deleted file mode 100644 index ab2fc18cbcbf..000000000000 --- a/x11-misc/sddm/files/sddm-0.18.1-nvidia-glitches-vt-switch.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 76c11653522453efcf86f6f2f53bca1a497ea350 Mon Sep 17 00:00:00 2001 -From: David Edmundson <kde@davidedmundson.co.uk> -Date: Thu, 28 Mar 2019 11:43:37 +0000 -Subject: Enable QSurfaceFormat::ResetNotification on new Qt - -This fixes graphical glitches on nvidia after VT switching. - -It's opt-in as it requires code paths to handle glGetError differently. -The version comparison is because my early implementations missed a code -path. This was fixed in 5.12.2, but we may as well play safe - -(cherry picked from commit cd4e1fa21e1ab7178fa5d2ef858f3271575fd315) ---- - src/greeter/GreeterApp.cpp | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp -index d47998e..4e117a7 100644 ---- a/src/greeter/GreeterApp.cpp -+++ b/src/greeter/GreeterApp.cpp -@@ -40,6 +40,9 @@ - #include <QDebug> - #include <QTimer> - #include <QTranslator> -+#include <QLibraryInfo> -+#include <QVersionNumber> -+#include <QSurfaceFormat> - - #include <iostream> - -@@ -309,6 +312,12 @@ int main(int argc, char **argv) - qDebug() << "High-DPI autoscaling not Enabled"; - } - -+ if (QLibraryInfo::version() >= QVersionNumber(5, 13, 0)) { -+ auto format(QSurfaceFormat::defaultFormat()); -+ format.setOption(QSurfaceFormat::ResetNotification); -+ QSurfaceFormat::setDefaultFormat(format); -+ } -+ - QGuiApplication app(argc, argv); - - QCommandLineParser parser; --- -2.38.1 - diff --git a/x11-misc/sddm/files/sddm-0.18.1-only-reuse-online-sessions.patch b/x11-misc/sddm/files/sddm-0.18.1-only-reuse-online-sessions.patch deleted file mode 100644 index b3ea90ff768c..000000000000 --- a/x11-misc/sddm/files/sddm-0.18.1-only-reuse-online-sessions.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f131270ff3ae6e6b4e2dc965cd05b46e194b48c1 Mon Sep 17 00:00:00 2001 -From: Fabian Vogt <fabian@ritter-vogt.de> -Date: Tue, 31 Jul 2018 16:51:13 +0200 -Subject: [PATCH] Session reuse: Only consider "online" sessions - -Otherwise it might switch to already dead sessions ("closing" or "lingering"). ---- - src/daemon/Display.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/daemon/Display.cpp b/src/daemon/Display.cpp -index 86e597e..ec442b0 100644 ---- a/src/daemon/Display.cpp -+++ b/src/daemon/Display.cpp -@@ -290,8 +290,8 @@ namespace SDDM { - foreach(const SessionInfo &s, reply.value()) { - if (s.userName == user) { - OrgFreedesktopLogin1SessionInterface session(Logind::serviceName(), s.sessionPath.path(), QDBusConnection::systemBus()); -- if (session.service() == QLatin1String("sddm")) { -- m_reuseSessionId = s.sessionId; -+ if (session.service() == QLatin1String("sddm") && session.state() == QLatin1String("online")) { -+ m_reuseSessionId = s.sessionId; - break; - } - } --- -2.18.0 diff --git a/x11-misc/sddm/files/sddm-0.18.1-qt-5.15.2.patch b/x11-misc/sddm/files/sddm-0.18.1-qt-5.15.2.patch deleted file mode 100644 index 7179d14e4c1e..000000000000 --- a/x11-misc/sddm/files/sddm-0.18.1-qt-5.15.2.patch +++ /dev/null @@ -1,23 +0,0 @@ -From e93bf95c54ad8c2a1604f8d7be05339164b19308 Mon Sep 17 00:00:00 2001 -From: "aacid@kde.org" <aacid@kde.org> -Date: Thu, 12 Nov 2020 23:42:48 +0100 -Subject: [PATCH] Fix compilation once QTBUG-88431 gets fixed - -And also comes closes to Qt6 compatibility ---- - src/daemon/XorgDisplayServer.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp -index 5f93a1b3..d5f29a94 100644 ---- a/src/daemon/XorgDisplayServer.cpp -+++ b/src/daemon/XorgDisplayServer.cpp -@@ -65,7 +65,7 @@ namespace SDDM { - // create a random hexadecimal number - const char *digits = "0123456789abcdef"; - for (int i = 0; i < 32; ++i) -- m_cookie[i] = digits[dis(gen)]; -+ m_cookie[i] = QLatin1Char(digits[dis(gen)]); - } - - XorgDisplayServer::~XorgDisplayServer() { diff --git a/x11-misc/sddm/files/sddm-0.18.1-respect-user-flags.patch b/x11-misc/sddm/files/sddm-0.18.1-respect-user-flags.patch deleted file mode 100644 index 6801fa799ead..000000000000 --- a/x11-misc/sddm/files/sddm-0.18.1-respect-user-flags.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/CMakeLists.txt 2020-10-12 13:03:39.000000000 +0200 -+++ b/CMakeLists.txt 2020-10-12 23:40:04.480687143 +0200 -@@ -41,22 +41,6 @@ - # Definitions - add_definitions(-Wall -std=c++11 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_FOREACH) - --# Default build type --if(NOT CMAKE_BUILD_TYPE) -- set(CMAKE_BUILD_TYPE Release) --endif() -- --# Handle build type --if(CMAKE_BUILD_TYPE MATCHES [Dd]ebug) -- message(STATUS "Debug build") -- add_definitions(-DDEBUG) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0") --else() -- message(STATUS "Release build") -- add_definitions(-DNDEBUG) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") --endif() -- - # Default absolute paths - if(NOT DEFINED CMAKE_INSTALL_SYSCONFDIR) - set(CMAKE_INSTALL_SYSCONFDIR "/etc") diff --git a/x11-misc/sddm/files/sddm-0.18.1-revert-honor-PAM-supplemental-groups.patch b/x11-misc/sddm/files/sddm-0.18.1-revert-honor-PAM-supplemental-groups.patch deleted file mode 100644 index f14ff7670c88..000000000000 --- a/x11-misc/sddm/files/sddm-0.18.1-revert-honor-PAM-supplemental-groups.patch +++ /dev/null @@ -1,87 +0,0 @@ -From d3953e88a94ec25a87d3c5136517b3d1009cb1fd Mon Sep 17 00:00:00 2001 -From: "J. Konrad Tegtmeier-Rottach" <jktr@0x16.de> -Date: Wed, 8 May 2019 18:58:53 +0200 -Subject: [PATCH] Revert "Honor PAM's ambient supplemental groups. (#834)" - -This reverts commit 1bc813d08b8130e458a6550ec47fb2bfbe6de080, which -misuses PAM and leads to pulling in all of root's supplemental groups -during session initialization instead of only adding PAM's extra -groups. The problem was masked due to the root user not having any -supplemental groups in some common contexts, like running sddm from a -systemd unit. ---- - src/helper/UserSession.cpp | 57 -------------------------------------- - 1 file changed, 57 deletions(-) - -diff --git a/src/helper/UserSession.cpp b/src/helper/UserSession.cpp -index b3aec356..f71fd358 100644 ---- a/src/helper/UserSession.cpp -+++ b/src/helper/UserSession.cpp -@@ -150,67 +150,10 @@ namespace SDDM { - qCritical() << "setgid(" << pw.pw_gid << ") failed for user: " << username; - exit(Auth::HELPER_OTHER_ERROR); - } -- --#ifdef USE_PAM -- -- // fetch ambient groups from PAM's environment; -- // these are set by modules such as pam_groups.so -- int n_pam_groups = getgroups(0, NULL); -- gid_t *pam_groups = NULL; -- if (n_pam_groups > 0) { -- pam_groups = new gid_t[n_pam_groups]; -- if ((n_pam_groups = getgroups(n_pam_groups, pam_groups)) == -1) { -- qCritical() << "getgroups() failed to fetch supplemental" -- << "PAM groups for user:" << username; -- exit(Auth::HELPER_OTHER_ERROR); -- } -- } else { -- n_pam_groups = 0; -- } -- -- // fetch session's user's groups -- int n_user_groups = 0; -- gid_t *user_groups = NULL; -- if (-1 == getgrouplist(username.constData(), pw.pw_gid, -- NULL, &n_user_groups)) { -- user_groups = new gid_t[n_user_groups]; -- if ((n_user_groups = getgrouplist(username.constData(), -- pw.pw_gid, user_groups, -- &n_user_groups)) == -1 ) { -- qCritical() << "getgrouplist(" << username << ", " << pw.pw_gid -- << ") failed"; -- exit(Auth::HELPER_OTHER_ERROR); -- } -- } -- -- // set groups to concatenation of PAM's ambient -- // groups and the session's user's groups -- int n_groups = n_pam_groups + n_user_groups; -- if (n_groups > 0) { -- gid_t *groups = new gid_t[n_groups]; -- memcpy(groups, pam_groups, (n_pam_groups * sizeof(gid_t))); -- memcpy((groups + n_pam_groups), user_groups, -- (n_user_groups * sizeof(gid_t))); -- -- // setgroups(2) handles duplicate groups -- if (setgroups(n_groups, groups) != 0) { -- qCritical() << "setgroups() failed for user: " << username; -- exit (Auth::HELPER_OTHER_ERROR); -- } -- delete[] groups; -- } -- delete[] pam_groups; -- delete[] user_groups; -- --#else -- - if (initgroups(pw.pw_name, pw.pw_gid) != 0) { - qCritical() << "initgroups(" << pw.pw_name << ", " << pw.pw_gid << ") failed for user: " << username; - exit(Auth::HELPER_OTHER_ERROR); - } -- --#endif /* USE_PAM */ -- - if (setuid(pw.pw_uid) != 0) { - qCritical() << "setuid(" << pw.pw_uid << ") failed for user: " << username; - exit(Auth::HELPER_OTHER_ERROR); diff --git a/x11-misc/sddm/files/sddm-0.20.0-dbus-policy-in-usr.patch b/x11-misc/sddm/files/sddm-0.20.0-dbus-policy-in-usr.patch deleted file mode 100644 index 8926b8400430..000000000000 --- a/x11-misc/sddm/files/sddm-0.20.0-dbus-policy-in-usr.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 0823810ed1683e6dcb7d687795764e11ddb6ff8a Mon Sep 17 00:00:00 2001 -From: Gioele Barabucci <gioele@svario.it> -Date: Sun, 16 Jul 2023 11:51:08 +0200 -Subject: [PATCH] CMakeLists.txt: Install dbus policy in /usr/share, not /etc - -From https://bugs.debian.org/1006631: - -> dbus supports policy files in both `/usr/share/dbus-1/system.d` and -> `/etc/dbus-1/systemd`. [The] recently released dbus 1.14.0, officially -> deprecates installing packages' default policies into `/etc/dbus-1/systemd`, -> instead reserving it for the sysadmin. This is the same idea as the -> difference between `/usr/lib/udev/rules.d` and `/etc/udev/rules.d`. ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 72c4086bb..44956e52d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -181,7 +181,7 @@ endif() - - # Set constants - set(DATA_INSTALL_DIR "${CMAKE_INSTALL_FULL_DATADIR}/sddm" CACHE PATH "System application data install directory") --set(DBUS_CONFIG_DIR "${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d" CACHE PATH "DBus config files directory") -+set(DBUS_CONFIG_DIR "${CMAKE_INSTALL_FULL_DATADIR}/dbus-1/system.d" CACHE PATH "DBus config files directory") - set(STATE_DIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/sddm" CACHE PATH "State directory") - set(RUNTIME_DIR "${RUNTIME_DIR_DEFAULT}" CACHE PATH "Runtime data storage directory") - set(QML_INSTALL_DIR "${QT_IMPORTS_DIR}" CACHE PATH "QML component installation directory") diff --git a/x11-misc/sddm/files/sddm-0.20.0-disable-etc-debian-check.patch b/x11-misc/sddm/files/sddm-0.20.0-disable-etc-debian-check.patch deleted file mode 100644 index b851c852cc9b..000000000000 --- a/x11-misc/sddm/files/sddm-0.20.0-disable-etc-debian-check.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 20adb0eb3462e79ec76f93f2a622b99956145424 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Tue, 13 Oct 2020 01:04:44 +0200 -Subject: [PATCH] Disable /etc/debian_version check - -Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> ---- - services/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/services/CMakeLists.txt b/services/CMakeLists.txt -index 5032f33..afa5fd5 100644 ---- a/services/CMakeLists.txt -+++ b/services/CMakeLists.txt -@@ -11,7 +11,7 @@ else() - endif() - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sddm-greeter.pam.in" "${CMAKE_CURRENT_BINARY_DIR}/sddm-greeter.pam") - --if(EXISTS "/etc/debian_version") -+if(0) - install(FILES debian.sddm-autologin.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-autologin) - install(FILES debian.sddm-greeter.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-greeter) - install(FILES debian.sddm.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm) --- -2.39.1 - diff --git a/x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch b/x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch deleted file mode 100644 index 3213828181ca..000000000000 --- a/x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 5b702ae986464fe6dbc8557d4b2da725ac1ed175 Mon Sep 17 00:00:00 2001 -From: Fabian Vogt <fvogt@suse.de> -Date: Mon, 26 Jun 2023 09:52:05 +0200 -Subject: [PATCH] Session: Parse .desktop files manually again - -Using QSettings::IniFormat doesn't quite work. Implement a custom parser -for those files to handle them according to the specification. - -Fixes #1745 ---- - src/common/Session.cpp | 52 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 51 insertions(+), 1 deletion(-) - -diff --git a/src/common/Session.cpp b/src/common/Session.cpp -index 4bb2142ca..5eec64859 100644 ---- a/src/common/Session.cpp -+++ b/src/common/Session.cpp -@@ -34,6 +34,56 @@ - const QString s_entryExtention = QStringLiteral(".desktop"); - - namespace SDDM { -+ // QSettings::IniFormat can't be used to read .desktop files due to different -+ // syntax of values (escape sequences, quoting, automatic QStringList detection). -+ // So implement yet another .desktop file parser. -+ class DesktopFileFormat { -+ static bool readFunc(QIODevice &device, QSettings::SettingsMap &map) -+ { -+ QString currentSectionName; -+ while(!device.atEnd()) -+ { -+ // Iterate each line, remove line terminators -+ const auto line = device.readLine().replace("\r", "").replace("\n", ""); -+ if(line.isEmpty() || line.startsWith('#')) -+ continue; // Ignore empty lines and comments -+ -+ if(line.startsWith('[')) // Section header -+ { -+ // Remove [ and ]. -+ currentSectionName = QString::fromUtf8(line.mid(1, line.length() - 2)); -+ } -+ else if(int equalsPos = line.indexOf('='); equalsPos > 0) // Key=Value -+ { -+ const auto key = QString::fromUtf8(line.left(equalsPos)); -+ -+ // Read the value, handle escape sequences -+ auto valueBytes = line.mid(equalsPos + 1); -+ valueBytes.replace("\\s", " ").replace("\\n", "\n"); -+ valueBytes.replace("\\t", "\t").replace("\\r", "\r"); -+ valueBytes.replace("\\\\", "\\"); -+ -+ auto value = QString::fromUtf8(valueBytes); -+ map.insert(currentSectionName + QLatin1Char('/') + key, value); -+ } -+ } -+ -+ return true; -+ } -+ public: -+ // Register the .desktop file format if necessary, return its id. -+ static QSettings::Format format() -+ { -+ static QSettings::Format s_format = QSettings::InvalidFormat; -+ if (s_format == QSettings::InvalidFormat) -+ s_format = QSettings::registerFormat(QStringLiteral("desktop"), -+ DesktopFileFormat::readFunc, nullptr, -+ Qt::CaseSensitive); -+ -+ return s_format; -+ } -+ }; -+ - Session::Session() - : m_valid(false) - , m_type(UnknownSession) -@@ -169,7 +219,7 @@ namespace SDDM { - if (!file.isOpen()) - return; - -- QSettings settings(m_fileName, QSettings::IniFormat); -+ QSettings settings(m_fileName, DesktopFileFormat::format()); - #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) - settings.setIniCodec("UTF-8"); - #endif diff --git a/x11-misc/sddm/files/sddm-0.20.0-greeter-platform-detection.patch b/x11-misc/sddm/files/sddm-0.20.0-greeter-platform-detection.patch deleted file mode 100644 index 57d138875bea..000000000000 --- a/x11-misc/sddm/files/sddm-0.20.0-greeter-platform-detection.patch +++ /dev/null @@ -1,24 +0,0 @@ -From e27b70957505dc7b986ab2fa68219af546c63344 Mon Sep 17 00:00:00 2001 -From: Fabian Vogt <fabian@ritter-vogt.de> -Date: Fri, 30 Jun 2023 09:42:58 +0200 -Subject: [PATCH] greeter: Look at WAYLAND_DISPLAY for platform detection - -When running sddm-greeter manually in a wayland session, it otherwise -misdetects that as xcb. ---- - src/greeter/GreeterApp.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp -index c2978d67e..4e4f65301 100644 ---- a/src/greeter/GreeterApp.cpp -+++ b/src/greeter/GreeterApp.cpp -@@ -319,7 +319,7 @@ int main(int argc, char **argv) - platform = QString::fromUtf8(qgetenv("QT_QPA_PLATFORM")); - } - if (platform.isEmpty()) { -- platform = QStringLiteral("xcb"); -+ platform = qEnvironmentVariableIsSet("WAYLAND_DISPLAY") ? QStringLiteral("wayland") : QStringLiteral("xcb"); - } - - // Install message handler diff --git a/x11-misc/sddm/files/sddm-0.20.0-no-default-pam_systemd-module.patch b/x11-misc/sddm/files/sddm-0.20.0-no-default-pam_systemd-module.patch deleted file mode 100644 index 2ad739a86761..000000000000 --- a/x11-misc/sddm/files/sddm-0.20.0-no-default-pam_systemd-module.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 02a13d11dac72699e7580c538c152a7b5e0eb056 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Tue, 13 Oct 2020 01:10:00 +0200 -Subject: Don't add pam_systemd.so to pam.d/sddm-greeter in case of NO_SYSTEMD - ---- - services/CMakeLists.txt | 7 +++++-- - services/sddm-greeter.pam.in | 2 +- - 2 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/services/CMakeLists.txt b/services/CMakeLists.txt -index 3d12eec..2ff13a8 100644 ---- a/services/CMakeLists.txt -+++ b/services/CMakeLists.txt -@@ -4,10 +4,13 @@ if(SYSTEMD_FOUND) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sddm.service" DESTINATION "${SYSTEMD_SYSTEM_UNIT_DIR}") - endif() - -+set(LOGIND_PAM_MODULE "session optional") - if(USE_ELOGIND) -- set(LOGIND_PAM_MODULE "pam_elogind.so") -+ set(LOGIND_PAM_MODULE "${LOGIND_PAM_MODULE} pam_elogind.so") -+elseif(NOT NO_SYSTEMD) -+ set(LOGIND_PAM_MODULE "${LOGIND_PAM_MODULE} pam_systemd.so") - else() -- set(LOGIND_PAM_MODULE "pam_systemd.so") -+ set(LOGIND_PAM_MODULE "") - endif() - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sddm-greeter.pam.in" "${CMAKE_CURRENT_BINARY_DIR}/sddm-greeter.pam") - -diff --git a/services/sddm-greeter.pam.in b/services/sddm-greeter.pam.in -index d41792d..35dcfd5 100644 ---- a/services/sddm-greeter.pam.in -+++ b/services/sddm-greeter.pam.in -@@ -14,4 +14,4 @@ password required pam_deny.so - - # Setup session - session required pam_unix.so --session optional @LOGIND_PAM_MODULE@ -+@LOGIND_PAM_MODULE@ --- -2.35.1 - diff --git a/x11-misc/sddm/files/sddm-0.20.0-no-qtvirtualkeyboard-on-wayland.patch b/x11-misc/sddm/files/sddm-0.20.0-no-qtvirtualkeyboard-on-wayland.patch deleted file mode 100644 index 0081f3d4e8a3..000000000000 --- a/x11-misc/sddm/files/sddm-0.20.0-no-qtvirtualkeyboard-on-wayland.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 07631f2ef00a52d883d0fd47ff7d1e1a6bc6358f Mon Sep 17 00:00:00 2001 -From: Fabian Vogt <fabian@ritter-vogt.de> -Date: Fri, 30 Jun 2023 09:44:37 +0200 -Subject: [PATCH] Ignore InputMethod=qtvirtualkeyboard on wayland - -Using QT_IM_MODULE=qtvirtualkeyboard in wayland client applications is not -supported by Qt, but is sddm's builtin default. Avoid setting that. ---- - src/greeter/GreeterApp.cpp | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp -index 4e4f65301..01613cc66 100644 ---- a/src/greeter/GreeterApp.cpp -+++ b/src/greeter/GreeterApp.cpp -@@ -351,8 +351,14 @@ int main(int argc, char **argv) - qputenv("KDE_DEBUG", "1"); - - // Qt IM module -- if (!SDDM::mainConfig.InputMethod.get().isEmpty()) -- qputenv("QT_IM_MODULE", SDDM::mainConfig.InputMethod.get().toLocal8Bit().constData()); -+ QString inputMethod = SDDM::mainConfig.InputMethod.get(); -+ // Using qtvirtualkeyboard as IM on wayland doesn't really work, -+ // it has to be done by the compositor instead. -+ if (platform.startsWith(QStringLiteral("wayland")) && inputMethod == QStringLiteral("qtvirtualkeyboard")) -+ inputMethod = QString{}; -+ -+ if (!inputMethod.isEmpty()) -+ qputenv("QT_IM_MODULE", inputMethod.toLocal8Bit()); - - QGuiApplication app(argc, argv); - SDDM::SignalHandler s; diff --git a/x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch b/x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch deleted file mode 100644 index 6267adc7dda8..000000000000 --- a/x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 9cbeb07664f4bd4273c2b62a522a864f6d4f27ae Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Sat, 4 Feb 2023 13:31:36 +0100 -Subject: [PATCH] sddm.pam: Change to substack for system-login - -Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> ---- - services/sddm.pam | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/services/sddm.pam b/services/sddm.pam -index df11003..0a073f4 100644 ---- a/services/sddm.pam -+++ b/services/sddm.pam -@@ -1,15 +1,15 @@ - #%PAM-1.0 - --auth include system-login -+auth substack system-login - -auth optional pam_gnome_keyring.so - -auth optional pam_kwallet5.so - --account include system-login -+account substack system-login - --password include system-login -+password substack system-login - -password optional pam_gnome_keyring.so use_authtok - - session optional pam_keyinit.so force revoke --session include system-login -+session substack system-login - -session optional pam_gnome_keyring.so auto_start - -session optional pam_kwallet5.so auto_start --- -2.39.1 - diff --git a/x11-misc/sddm/files/sddm-0.21.0-disable-etc-debian-check.patch b/x11-misc/sddm/files/sddm-0.21.0-disable-etc-debian-check.patch deleted file mode 100644 index b0a13259991b..000000000000 --- a/x11-misc/sddm/files/sddm-0.21.0-disable-etc-debian-check.patch +++ /dev/null @@ -1,26 +0,0 @@ -From cef0ad9776d9349e85020b529d20dcc88113015a Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Tue, 13 Oct 2020 01:04:44 +0200 -Subject: [PATCH 4/5] Disable /etc/debian_version check - -Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> ---- - services/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/services/CMakeLists.txt b/services/CMakeLists.txt -index 5158e87..441e46a 100644 ---- a/services/CMakeLists.txt -+++ b/services/CMakeLists.txt -@@ -20,7 +20,7 @@ endif() - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sddm-greeter.pam.in" "${CMAKE_CURRENT_BINARY_DIR}/sddm-greeter.pam") - - if(INSTALL_PAM_CONFIGURATION) -- if(EXISTS "/etc/debian_version") -+ if(0) - install(FILES debian.sddm-autologin.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-autologin) - install(FILES debian.sddm-greeter.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-greeter) - install(FILES debian.sddm.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm) --- -2.43.0 - diff --git a/x11-misc/sddm/files/sddm-0.21.0-no-default-pam_systemd-module.patch b/x11-misc/sddm/files/sddm-0.21.0-no-default-pam_systemd-module.patch deleted file mode 100644 index 4a213d853d16..000000000000 --- a/x11-misc/sddm/files/sddm-0.21.0-no-default-pam_systemd-module.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 6f618b6862d625796c13677ff265bae21b44e029 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Tue, 13 Oct 2020 01:10:00 +0200 -Subject: [PATCH 5/5] Don't add pam_systemd.so to pam.d/sddm-greeter in case of - NO_SYSTEMD - ---- - services/CMakeLists.txt | 7 +++++-- - services/sddm-greeter.pam.in | 2 +- - 2 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/services/CMakeLists.txt b/services/CMakeLists.txt -index 441e46a..8e70fb1 100644 ---- a/services/CMakeLists.txt -+++ b/services/CMakeLists.txt -@@ -12,10 +12,13 @@ if(DEFINED SYSTEMD_TMPFILES_DIR) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sddm-tmpfiles.conf" DESTINATION "${SYSTEMD_TMPFILES_DIR}" RENAME sddm.conf) - endif() - -+set(LOGIND_PAM_MODULE "session optional") - if(USE_ELOGIND) -- set(LOGIND_PAM_MODULE "pam_elogind.so") -+ set(LOGIND_PAM_MODULE "${LOGIND_PAM_MODULE} pam_elogind.so") -+elseif(NOT NO_SYSTEMD) -+ set(LOGIND_PAM_MODULE "${LOGIND_PAM_MODULE} pam_systemd.so") - else() -- set(LOGIND_PAM_MODULE "pam_systemd.so") -+ set(LOGIND_PAM_MODULE "") - endif() - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sddm-greeter.pam.in" "${CMAKE_CURRENT_BINARY_DIR}/sddm-greeter.pam") - -diff --git a/services/sddm-greeter.pam.in b/services/sddm-greeter.pam.in -index d41792d..35dcfd5 100644 ---- a/services/sddm-greeter.pam.in -+++ b/services/sddm-greeter.pam.in -@@ -14,4 +14,4 @@ password required pam_deny.so - - # Setup session - session required pam_unix.so --session optional @LOGIND_PAM_MODULE@ -+@LOGIND_PAM_MODULE@ --- -2.43.0 - diff --git a/x11-misc/sddm/files/sddm.tmpfiles b/x11-misc/sddm/files/sddm.tmpfiles deleted file mode 100644 index 300d646138c1..000000000000 --- a/x11-misc/sddm/files/sddm.tmpfiles +++ /dev/null @@ -1 +0,0 @@ -d /var/lib/sddm 0755 sddm sddm diff --git a/x11-misc/sddm/sddm-0.18.1-r8.ebuild b/x11-misc/sddm/sddm-0.18.1-r8.ebuild index 6464035cf707..0f35ab30d4eb 100644 --- a/x11-misc/sddm/sddm-0.18.1-r8.ebuild +++ b/x11-misc/sddm/sddm-0.18.1-r8.ebuild @@ -1,13 +1,15 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 +PATCHSET="${P}-patchset" inherit cmake linux-info systemd tmpfiles DESCRIPTION="Simple Desktop Display Manager" HOMEPAGE="https://github.com/sddm/sddm" -SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz + https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz" LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain" SLOT="0" @@ -47,22 +49,22 @@ BDEPEND=" " PATCHES=( - "${FILESDIR}/${P}-respect-user-flags.patch" - "${FILESDIR}/${P}-Xsession.patch" # bug 611210 - "${FILESDIR}/${PN}-0.18.0-sddmconfdir.patch" + "${WORKDIR}/${PATCHSET}/${P}-respect-user-flags.patch" + "${WORKDIR}/${PATCHSET}/${P}-Xsession.patch" # bug 611210 + "${WORKDIR}/${PATCHSET}/${PN}-0.18.0-sddmconfdir.patch" # fix for groups: https://github.com/sddm/sddm/issues/1159 - "${FILESDIR}/${P}-revert-honor-PAM-supplemental-groups.patch" - "${FILESDIR}/${P}-honor-PAM-supplemental-groups-v2.patch" + "${WORKDIR}/${PATCHSET}/${P}-revert-honor-PAM-supplemental-groups.patch" + "${WORKDIR}/${PATCHSET}/${P}-honor-PAM-supplemental-groups-v2.patch" # fix for ReuseSession=true - "${FILESDIR}/${P}-only-reuse-online-sessions.patch" + "${WORKDIR}/${PATCHSET}/${P}-only-reuse-online-sessions.patch" # TODO: fix properly - "${FILESDIR}/pam-1.4-substack.patch" + "${WORKDIR}/${PATCHSET}/pam-1.4-substack.patch" # upstream git develop branch: - "${FILESDIR}/${P}-qt-5.15.2.patch" - "${FILESDIR}/${P}-cve-2020-28049.patch" # bug 753104 - "${FILESDIR}/${P}-nvidia-glitches-vt-switch.patch" - "${FILESDIR}/${P}-drop-wayland-suffix.patch" - "${FILESDIR}/${P}-fix-qt-5.15.7.patch" # KDE-bug 458865 + "${WORKDIR}/${PATCHSET}/${P}-qt-5.15.2.patch" + "${WORKDIR}/${PATCHSET}/${P}-cve-2020-28049.patch" # bug 753104 + "${WORKDIR}/${PATCHSET}/${P}-nvidia-glitches-vt-switch.patch" + "${WORKDIR}/${PATCHSET}/${P}-drop-wayland-suffix.patch" + "${WORKDIR}/${PATCHSET}/${P}-fix-qt-5.15.7.patch" # KDE-bug 458865 ) pkg_setup() { @@ -93,7 +95,7 @@ src_configure() { src_install() { cmake_src_install - newtmpfiles "${FILESDIR}/${PN}.tmpfiles" "${PN}.conf" + newtmpfiles "${WORKDIR}/${PATCHSET}/${PN}.tmpfiles" "${PN}.conf" # Create a default.conf as upstream dropped /etc/sddm.conf w/o replacement local confd="/usr/share/sddm/sddm.conf.d" diff --git a/x11-misc/sddm/sddm-0.20.0-r1.ebuild b/x11-misc/sddm/sddm-0.20.0-r1.ebuild index 570aa9f84fdf..813a5d7bf9e0 100644 --- a/x11-misc/sddm/sddm-0.20.0-r1.ebuild +++ b/x11-misc/sddm/sddm-0.20.0-r1.ebuild @@ -1,8 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 +PATCHSET="${P}-patchset" if [[ ${PV} == *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" @@ -16,6 +17,7 @@ inherit cmake linux-info optfeature systemd tmpfiles DESCRIPTION="Simple Desktop Display Manager" HOMEPAGE="https://github.com/sddm/sddm" +SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz" LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain" SLOT="0" @@ -57,14 +59,14 @@ PATCHES=( # Downstream patches "${FILESDIR}/${P}-respect-user-flags.patch" "${FILESDIR}/${PN}-0.18.1-Xsession.patch" # bug 611210 - "${FILESDIR}/${P}-sddm.pam-use-substack.patch" # bug 728550 - "${FILESDIR}/${P}-disable-etc-debian-check.patch" - "${FILESDIR}/${P}-no-default-pam_systemd-module.patch" # bug 669980 + "${WORKDIR}/${PATCHSET}/${P}-sddm.pam-use-substack.patch" # bug 728550 + "${WORKDIR}/${PATCHSET}/${P}-disable-etc-debian-check.patch" + "${WORKDIR}/${PATCHSET}/${P}-no-default-pam_systemd-module.patch" # bug 669980 # git master - "${FILESDIR}/${P}-fix-use-development-sessions.patch" - "${FILESDIR}/${P}-greeter-platform-detection.patch" - "${FILESDIR}/${P}-no-qtvirtualkeyboard-on-wayland.patch" - "${FILESDIR}/${P}-dbus-policy-in-usr.patch" + "${WORKDIR}/${PATCHSET}/${P}-fix-use-development-sessions.patch" + "${WORKDIR}/${PATCHSET}/${P}-greeter-platform-detection.patch" + "${WORKDIR}/${PATCHSET}/${P}-no-qtvirtualkeyboard-on-wayland.patch" + "${WORKDIR}/${PATCHSET}/${P}-dbus-policy-in-usr.patch" ) pkg_setup() { @@ -72,6 +74,11 @@ pkg_setup() { use kernel_linux && linux-info_pkg_setup } +src_unpack() { + [[ ${PV} == *9999* ]] && git-r3_src_unpack + default +} + src_prepare() { touch 01gentoo.conf || die diff --git a/x11-misc/sddm/sddm-0.21.0.ebuild b/x11-misc/sddm/sddm-0.21.0.ebuild index a81703972d7f..6aeaf469501a 100644 --- a/x11-misc/sddm/sddm-0.21.0.ebuild +++ b/x11-misc/sddm/sddm-0.21.0.ebuild @@ -3,6 +3,7 @@ EAPI=8 +PAM_TAR="${PN}-0.21.0-pam" if [[ ${PV} == *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" @@ -12,10 +13,11 @@ else fi QTMIN=5.15.12 -inherit cmake linux-info optfeature systemd tmpfiles +inherit cmake linux-info optfeature pam systemd tmpfiles DESCRIPTION="Simple Desktop Display Manager" HOMEPAGE="https://github.com/sddm/sddm" +SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PAM_TAR}.tar.xz" LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain" SLOT="0" @@ -57,9 +59,6 @@ PATCHES=( # Downstream patches "${FILESDIR}/${PN}-0.20.0-respect-user-flags.patch" "${FILESDIR}/${P}-Xsession.patch" # bug 611210 - "${FILESDIR}/${PN}-0.20.0-sddm.pam-use-substack.patch" # bug 728550 - "${FILESDIR}/${P}-disable-etc-debian-check.patch" - "${FILESDIR}/${P}-no-default-pam_systemd-module.patch" # bug 669980 ) pkg_setup() { @@ -67,6 +66,11 @@ pkg_setup() { use kernel_linux && linux-info_pkg_setup } +src_unpack() { + [[ ${PV} == *9999* ]] && git-r3_src_unpack + default +} + src_prepare() { touch 01gentoo.conf || die @@ -82,13 +86,19 @@ EOF sed -e "/^find_package/s/ Test//" -i CMakeLists.txt || die cmake_comment_add_subdirectory test fi + + if use systemd; then + sed -e "/pam_elogind.so/s/elogind/systemd/" \ + -i "${WORKDIR}"/${PAM_TAR}/${PN}-greeter.pam || die + fi } src_configure() { local mycmakeargs=( -DBUILD_MAN_PAGES=ON - -DBUILD_WITH_QT6=OFF # default theme (and others) not yet compatible + -DBUILD_WITH_QT6=OFF # default theme (and others) not yet compatible -DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf" + -DINSTALL_PAM_CONFIGURATION=OFF -DRUNTIME_DIR=/run/sddm -DSYSTEMD_TMPFILES_DIR="/usr/lib/tmpfiles.d" -DNO_SYSTEMD=$(usex !systemd) @@ -108,6 +118,10 @@ src_install() { insinto /etc/logrotate.d newins "${FILESDIR}/sddm.logrotate" sddm fi + + newpamd "${WORKDIR}"/${PAM_TAR}/${PN}.pam ${PN} + newpamd "${WORKDIR}"/${PAM_TAR}/${PN}-autologin.pam ${PN}-autologin + newpamd "${WORKDIR}"/${PAM_TAR}/${PN}-greeter.pam ${PN}-greeter } pkg_postinst() { |