-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gui-libs/greetd: login daemon for wayland + gtk greeter #16223
Conversation
Pull Request assignmentSubmitter: @epsilon-0 acct-group/greetd: @gentoo/proxy-maint (new package) Linked bugsNo bugs to link found. If your pull request references any of the Gentoo bug reports, please add appropriate GLEP 66 tags to the commit message and request reassignment. New packagesThis Pull Request appears to be introducing new packages only. Due to limited manpower, adding new packages is considered low priority. This does not mean that your Pull Request will not receive any attention, however, it might take quite some time for it to be reviewed. In the meantime, your new ebuild might find a home in the GURU project repository: the ebuild repository maintained collaboratively by Gentoo users. GURU offers your ebuild a place to be reviewed and improved by other Gentoo users, while making it easy for Gentoo users to install it and enjoy the software it adds. In order to force reassignment and/or bug reference scan, please append Docs: Code of Conduct ● Copyright policy (expl.) ● Devmanual ● GitHub PRs ● Proxy-maint guide |
@flappyports this an interesting wayland only display and login manager. |
Pull request CI reportReport generated at: 2020-06-13 15:52 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
Pull request CI reportReport generated at: 2020-06-13 21:38 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
Pull request CI reportReport generated at: 2020-06-30 01:58 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
@epsilon-0 as this is a rust ebuild... I would recommend pinging one of those folks. |
Good idea! |
gui-libs/greetd/greetd-0.6.1.ebuild
Outdated
SRC_URI="https://git.sr.ht/~kennylevinsen/greetd/archive/${PV}.tar.gz -> ${P}.tar.gz | ||
$(cargo_crate_uris ${CRATES}) | ||
" | ||
RESTRICT="mirror" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RESTRICT="mirror"
is mostly for overlays.
remove it, we allow and encourage crate mirroring.
like 80% of those crates already on the mirrors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
gui-libs/greetd/greetd-0.6.1.ebuild
Outdated
LICENSE="Apache-2.0 BSD Boost-1.0 GPL-3 MIT Unlicense" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~x86" | ||
IUSE="man" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you have man turned off here by default, but have turned on in other package.
be consistent, turn it on by default.
scdoc is cheap dependency with no weird revdeps (not sphinx lol), so it's going to be ok.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
DEPEND=" | ||
acct-user/greetd | ||
sys-auth/pambase | ||
" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you'll likely need pam dependency here.
pam-sys
crate is a binding crate and links to system .so
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use this rdepcheck.sh
for example rdepcheck.sh greetd
(once it's installed)
it will tell if it links to pam.
#!/bin/bash
qlist -e ${1} \
| xargs --no-run-if-empty scanelf -L -n -q -F '%n #F' \
| tr , '\n' \
| xargs --no-run-if-empty readlink -f \
| uniq \
| xargs --no-run-if-empty qfile -CS \
| sort -u
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done! added sys-libs/pam
gui-libs/greetd/greetd-0.6.1.ebuild
Outdated
dobin target/release/{agreety,fakegreet,greetd} | ||
|
||
insinto /etc/greetd | ||
insopts -m0644 -o greetd -g greetd |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
export INSOPTIONS=-m0644
is the default.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also I read upstream docs and they recommend configuration owned by daemon.
this is bad practice.
it has to be readable by user.
configuration should be owned by root
, period, unless something weird going on.
I think you should just use defaults, it will be readable by that user. but owned by root.
read
http://michael.orlitzky.com/articles/configuration_should_be_owned_and_writable_only_by_root.xhtml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed the users/group in the config file install.
Its not needed afaik.
|
||
if use man; then | ||
doman agreety.1 greetd.1 greetd.5 greetd-ipc.7 | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use man && doman agreety.1 greetd.1 greetd.5 greetd-ipc.7
?
up to you, just a nit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like verbosity so I'll keep this 😸
} | ||
|
||
pkg_postint() { | ||
optfeature "eye-candy gtk based greeter" gui-apps/gtkgreet |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
eutils.eclass
and optfeature
should be avoided if possible. just print post-inst message.
optfeature is generally needed if you have a lot of optional deps.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also added tuigreet so I'll keep this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if you add a user you need to open a pull request to
https://github.com/gentoo/api-gentoo-org/blob/master/files/uid-gid.txt
and have it merged before or at the same time this package is merged.
look for closed PRs as an example.
$(cargo_crate_uris ${CRATES})" | ||
S="${WORKDIR}/${PN}-${COMMIT}" | ||
|
||
RESTRICT="mirror" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto, remove restrict.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
DESCRIPTION="TUI greeter for greetd login manager" | ||
HOMEPAGE="https://github.com/apognu/tuigreet" | ||
|
||
COMMIT="034f44155e35a9c0d131f50c57a7436bff97b42a" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how do you know that this commit is 0.1.0 ?
if author tags 0.0.1, it will be older that this ebuild.
version it it 0.0.0_pre2020xxxx
rust follows semantic versioning, this will guarantee that anything author tags will be newer.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Author had made a release 0.1.0
but removed it afterwards (for some trivial bug issues).
I've changed it to 0_pre20200702
(there was a small commit today.
SLOT="0" | ||
KEYWORDS="~amd64" | ||
|
||
DEPEND="gui-libs/greetd" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it really depend?
I think it uses IPC to communicate, hence RDEPEND
only.
unless it's used for tests, in that case move behind test?
condition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved to RDEPEND
virtual/pkgconfig | ||
man? ( app-text/scdoc ) | ||
" | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gtk based, but does not depend on gtk?
sounds fishy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oooof, had totally forgotten to add them.
Added now 😸
Signed-off-by: Aisha Tammy <gentoo@aisha.cc>
Signed-off-by: Aisha Tammy <gentoo@aisha.cc>
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Aisha Tammy <gentoo@aisha.cc>
Create PR - gentoo/api-gentoo-org#287 |
Pull request CI reportReport generated at: 2020-07-02 12:38 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
IUSE="+layershell +man" | ||
|
||
DEPEND=" | ||
dev-libs/json-c |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing subslot op :=
you can see if you need subslot deps by running eshowkw json-c
you see, it has 3 subslots currently. if a new one introduced or user installs 0/5 instead of 0/4 you'd likely need a rebuild.
Keywords for dev-libs/json-c:
| | u |
| a a p s a r | n |
| m r h p p s l i i m m | e u s | r
| d a m p p c a x 3 p a s 6 i | a s l | e
| 6 r 6 p p 6 r 8 9 h 6 c 8 p | p e o | p
| 4 m 4 a c 4 c 6 0 a 4 v k s | i d t | o
-----------+-----------------------------+---------+-------
0.12 | + + + + + + + + + ~ ~ o o ~ | 5 o 0/2 | gentoo
-----------+-----------------------------+---------+-------
0.13.1-r1 | + + + + + + + + + ~ ~ ~ o ~ | 6 o 0/4 | gentoo
-----------+-----------------------------+---------+-------
[I]0.14-r3 | + + + + + + + + + ~ ~ o o ~ | 7 o 0/5 | gentoo
9999 | o o o o o o o o o o o o o o | 7 o | gentoo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like I had a cursory glance in the slots, forgot to check subslots 😿
Would be nice if pkgcheck scan
could tell this !
In any case, I've fixed it.
DEPEND=" | ||
dev-libs/json-c | ||
gui-libs/gtk-layer-shell | ||
x11-libs/gtk+:3= |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
don't need =
here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
|
||
DEPEND=" | ||
dev-libs/json-c | ||
gui-libs/gtk-layer-shell |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
btw, gtk-layer-shell missing gtk dep as well lol.
it should depend on x11-libs/gtk+:3[wayland]
not your package, just sayin.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lol
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Aisha Tammy <gentoo@aisha.cc>
Package-Manager: Portage-2.3.101, Repoman-2.3.22 Signed-off-by: Aisha Tammy <gentoo@aisha.cc>
Pull request CI reportReport generated at: 2020-07-02 20:43 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
PR: #16223 Package-Manager: Portage-2.3.103, Repoman-2.3.23 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
PR: #16223 Package-Manager: Portage-2.3.103, Repoman-2.3.23 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
PR: #16223 Package-Manager: Portage-2.3.103, Repoman-2.3.23 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
I've committed couple keywords and fixes I've discovered while build testing. |
OMG, I totally forgot, sorry about this one.
I didn't even know this was supposed to be done. Thanks a lot btw. |
Package-Manager: Portage-2.3.101, Repoman-2.3.22 Signed-off-by: Aisha Tammy <gentoo@aisha.cc> Closes: gentoo#16223 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
PR: gentoo#16223 Package-Manager: Portage-2.3.103, Repoman-2.3.23 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
PR: gentoo#16223 Package-Manager: Portage-2.3.103, Repoman-2.3.23 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
PR: gentoo#16223 Package-Manager: Portage-2.3.103, Repoman-2.3.23 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
This is the first wayland only greeter where you don't need to run the display manager on X11 and still get a GUI.
Its a bit rough around the edges, so needs some small manual configurations after installation.
Security features include privilege separation using an unprivileged dedicated daemon runner and only needing access to video group for displaying gui.
Overall I think this is an essential addition for a wayland only desktop environment.
Upstream: https://git.sr.ht/~kennylevinsen/greetd