Thread: building an RPM of the rssh source.
Brought to you by:
xystrus
From: Chris B. <chr...@gm...> - 2012-12-03 18:02:21
|
All, It may be of some interest to anyone trying to roll their own RPM of this application: to build an RPM of rssh follow the following steps (this was completed on a CENTOS 6.3 server with the development workstation package set) assuming running as root. extract the tar.gz file. (into ~/ is fine) mkdir -p /root/rpmbuild/SOURCES cp the tar.gz file into the above directory (not extracted) cd into your extracted directory. edit the rssh.spec file for the following line: Replace: %config(noreplace) ${_sysconfdir}/rssh.conf with: %config(noreplace) ${_sysconfdir}/rssh.conf.default then type rpmbuild -bb rssh.spec your new RPMs will now be found in: /root/rpmbuild/RPMS/<arch>/ Hope this is of some assistance to someone....... Chris |
From: Chris B. <chr...@gm...> - 2012-12-04 18:23:47
|
All, having been suitably and correctly chastised off list for the poor practice I displayed in my previous post, Here is an improved approach. Approach run on CENTOS 6.3 as a NON ROOT user. rpmbuild will not build directly from the SPEC file included in the tar.gz file :-( The issue appears to be wholly limited to the handling of the RSSH.conf file. The spec file needs to be patched to work correctly, the below is the recommended patch: $ diff -u BUILD/rssh-2.3.4/rssh.spec SPECS/rssh.spec --- BUILD/rssh-2.3.4/rssh.spec 2012-12-03 18:08:34.245272000 -0500 +++ SPECS/rssh.spec 2012-12-03 18:08:22.560241000 -0500 @@ -32,11 +32,13 @@ %install %{__rm} -rf %{buildroot} %makeinstall +%{__mv} %{buildroot}/%{_sysconfdir}/rssh.conf.default %{buildroot}/%{_sysconfdir}/rssh.conf %files %defattr(644, root, root, 0755) %doc AUTHORS ChangeLog CHROOT COPYING README SECURITY TODO conf_convert.sh mkchroot.sh %doc %{_mandir}/man?/* +%doc rssh.conf.default %config(noreplace) %{_sysconfdir}/rssh.conf %attr(755, root, root) %{_bindir}/rssh %attr(4755, root, root) %{_libexecdir}/rssh_chroot_helper either replace the spec file within the tar.gz file with the patched version and run rpmbuild -ta (or tb) <updated tar.gz file> or place an unmodified version of the tar.gz file within ~/rpmbuild/SOURCES and run rpmbuild -bb (or ba if you want an SRPM) <patched spec file> Commentary on issues with my previous instructions: (Thanks to Nico Kade-Garcia) Not good. This leaves a "noreplace" configuration file of rssh.conf.default, which is completely useless. This change also stores a copy of the default rssh.conf file in /usr/share/doc, which is reasonable. Regards Chris |
From: Derek M. <co...@pi...> - 2012-12-04 22:42:53
|
On Tue, Dec 04, 2012 at 06:23:38PM +0000, Chris Bull wrote: > having been suitably and correctly chastised off list for the poor > practice I displayed in my previous post, On the subject of chastisement... It's generally considered bad netiquette to post HTML to mailing lists. I personally don't care, but there are a variety of perfectly valid reasons why some people do. FYI. > Approach run on CENTOS 6.3 as a NON ROOT user. rpmbuild will not > build directly from the SPEC file included in the tar.gz file :-( Note that I no longer build RPMs, and the spec file was mainly for my benefit. You'll notice there's a make target for it also, in Makefile.am. But if you look at it you'll quickly realize that it won't work for anyone but me, as it signs the RPM with my private key. The reason I don't build RPMs is because all of the major distros now include rssh in their various repositories: $ egrep "ID|RELEASE" /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=10.04 $ apt-cache search rssh clusterssh - administer multiple ssh or rsh shells simultaneously rssh - Restricted shell allowing scp, sftp, cvs, svn, rsync or rdist Fedora has one too (though it may require you to enable one of their "alternative" repositories, I can't speak to that, don't have a fedora install handy at work), and I believe RHEL 6 and later do as well, etc... YMMV based on your particular distro. So point is, for what it's worth, maintenance of the spec file is discontinued. For the most part you should rely on what your vendor packages. Though it is worth noting that most of those have taken the rsync v3 patch, which I never will. -- Derek D. Martin http://www.pizzashack.org/ GPG Key ID: 0x81CFE75D |