Spec URL: https://github.com/remilauzier/rudo/blob/main/rust-rudo.spec SRPM URL: https://github.com/remilauzier/rudo/releases/download/0.4.0/rust-rudo-0.4.0-1.fc34.src.rpm Description: Rudo use pam to give privilege access to a authorized user and send log to journald to keep trace of it Fedora Account System Username:
If you need any modification of the .spec or something else you can contact me.
- The LICENSE file must be installed with %license in %files %files -n %{crate} %doc README.md %license LICENSE %{_bindir}/rudo %endif […] %files devel %doc README.md %license LICENSE %{cargo_registry}/%{crate}-%{version_no_tilde}/ - The configuration files are not installed? You need to BuildRequires: pam-devel and install the pam file conf/rudo to %{buildroot}%{_sysconfdir}/pam.d/rudo %config(noreplace) %{_sysconfdir}/pam.d/rudo A default configuration file should probably be installed with wheel permission enabled. If this is auto generated at startup, I'd still recommend to add %ghost directive so the file is taken care of when uninstalling. %ghost %{_sysconfdir}/rudo.conf - You should set suid in %files: %attr(4755,root,root) %{_bindir}/rudo - The documentation for the config file is not very clear. Consider writing a man page.
Thanks for the help! I am not sure i have fully understand where i should have put the lines after the BuildRequires: pam. I hope i put them in the right place. I have made a default configuration for rudo but will have to change it soon to have multiple option per user. I will try to make a man page after that and put comment in the file if yaml permit it. For now i have try to make a copr repository but failed. https://copr.fedorainfracloud.org/coprs/remilauzier/rudo Pam-sys has update but i have to wait for pam-client to follow since it doesn't compile for now. Thanks again for your time!
- You can do: %generate_buildrequires %cargo_generate_buildrequires echo "pam-devel" - You need to open review requests for you dependencies too. Also you may need to patch some Cargo.toml to build the packages. For example, in your pam-sys build you have: No matching package to install: 'crate(bindgen/default) = 0.53.2' But Fedora is at rust-bindgen 0.56.0. So you need to use 'rust2rpm -p' to patch the Cargo.toml.
Thanks! Pam-sys has been update today but for now i must wait for pam-client to adapt to it. I will update pam-sys in my copr and open a review for it and the others dependency.
Hi! I manage to put review for all dependency of rudo and to compile them in my copr. https://copr.fedorainfracloud.org/coprs/remilauzier/rudo/ For now i manage to compile rudo but the config file appear to install as directory even if it is a file in the final rpm. Thanks for your time.
Hi! i manage to get the config file to install as file. i just have a problem with the man page. i must convert markdown to man page but i don't know how to do it. Thanks for your time!
Sent you a PR. Use go-md2man as indicated in the commit log.
Thanks for the help! i got the package to compile and the man page to install. Can confirm that everything work on my end.
- /etc → %{_sysconfdir} - Use install -p to keep timestamps - Why are you doing this: cp conf/rudo ~/ cp conf/rudo.conf ~/ cp man/rudo.1 ~/ cp man/rudo.conf.5 ~/ instead of just installing them from their current location? mkdir -p %{buildroot}%{_sysconfdir} mkdir -p %{buildroot}%{_sysconfdir}/pam.d/ mkdir -p %{buildroot}%{_mandir}/man1 mkdir -p %{buildroot}%{_mandir}/man5 install -pm 0640 cp conf/rudo.conf %{buildroot}%{_sysconfdir}/rudo.conf install -pm 0644 conf/rudo %{buildroot}%{_sysconfdir}/pam.d/rudo install -pm 0644 man/rudo.1 %{buildroot}%{_mandir}/man1/rudo.1 install -pm 0644 man/rudo.conf.5 %{buildroot}%{_mandir}/man5/rudo.conf.5 - This is not needed anymore: echo "pam-devel" echo "systemd-devel" pam-devel is implied by the rust-pam-sys dep and systemd-devel by the rust-libsystemd-sys dep - License ok - Latest version packaged - Builds in mock - No rpmlint errors - Conforms to Packaging Guidelines
Done! Not sure if i should put some requires to systemd-libs for journald support? https://download.copr.fedorainfracloud.org/results/remilauzier/rudo/fedora-34-x86_64/02121437-rust-rudo/rust-rudo.spec
I don't think this is necessary. Package approved. You still need to find a sponsor.
Sponsored.
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-rudo