From 7f1096e0bee2c78d4b6a772346021d6cce2816c2 Mon Sep 17 00:00:00 2001 From: ungleich team Date: Tue, 9 Apr 2019 19:06:36 +0000 Subject: [PATCH] Update for Jinguk --- .gitignore | 3 + README.md | 31 +++++++ SPECS/guacamole-server.spec | 3 +- SPECS/guacamole-web.spec | 168 ++++++++++++++++++++++++++++++++++++ 4 files changed, 204 insertions(+), 1 deletion(-) create mode 100644 README.md create mode 100644 SPECS/guacamole-web.spec diff --git a/.gitignore b/.gitignore index 4ac0d94..efc973c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ SOURCES/guacamole-server-1.0.0.tar.gz logfile +RPMS/x86_64/ +SRPMS/ +BUILD/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..aac20e0 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +## Prep/notes 2019-04-09 + +* install rpmdevtools + +## building + +getting the source + +spectool -g -R SPECS/guacamole-server.spec + +Getting additional files + + +Building the thing + +rpmbuild -ba SPECS/guacamole-server.spec + + +## Open todos + +RPMs for + +- guacamole-1.0.0.war +- guacamole-auth-totp-1.0.0.tar.gz +- guacamole-auth-ldap-1.0.0.tar.gz +- guacamole-auth-jdbc-1.0.0.tar.gz + +this includes: + +- one or more spec files +- dependency on tomcat (step 2) diff --git a/SPECS/guacamole-server.spec b/SPECS/guacamole-server.spec index 3437c4b..d5e2309 100644 --- a/SPECS/guacamole-server.spec +++ b/SPECS/guacamole-server.spec @@ -3,7 +3,8 @@ # Can be rebuilt with FFmpeg/H264 support enabled by passing "--with=ffmpeg" to # mock/rpmbuild; or by globally setting these variable: -#global _with_ffmpeg 1 +# Fails with unpackaged files due to logic below - needs to be enabled -- 2019-04-09, Nico Schottelius +%global _with_ffmpeg 1 Name: guacamole-server Version: 1.0.0 diff --git a/SPECS/guacamole-web.spec b/SPECS/guacamole-web.spec new file mode 100644 index 0000000..818b4d7 --- /dev/null +++ b/SPECS/guacamole-web.spec @@ -0,0 +1,168 @@ +Name: guacamole +Version: 1.0.0 +Release: 1%{?dist} +Epoch: 1 +Summary: Web components from the Guacamole proxy +License: MPLv1.1 or GPLv2+ +URL: http://guac-dev.org/ + +Source0: http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/%{version}/binary/%{name}-%{version}.war + +%description +Guacamole Java webfrontend lalala + +%package -n guacamole +Summary: The main java guacamole war + +JINGUK: fixme here --maybe tomcat? +Summary: Proxy daemon for Guacamole +Requires(pre): shadow-utils +Requires: libguac%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +%if 0%{?fedora} || 0%{?rhel} >= 7 +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%endif + + +%prep +%autosetup + +%build +export CFLAGS="%{optflags} -Wno-error=deprecated-declarations" +autoreconf -vif +%configure \ + --disable-silent-rules \ + --disable-static + +%make_build +cd doc/ +doxygen Doxyfile + +%install +%make_install +cp the war to the right location + +find %{buildroot} -type f -name "*.la" -delete +cp -fr doc/doxygen-output/html . +%if 0%{?rhel} == 6 +rm -f html/installdox +%endif + +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +install -p -m 644 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/sysconfig/guacd +mkdir -p %{buildroot}%{_sharedstatedir}/guacd + +%if 0%{?fedora} || 0%{?rhel} >= 7 + +# Systemd unit files +mkdir -p %{buildroot}%{_unitdir} +install -p -m 644 -D %{SOURCE2} %{buildroot}%{_unitdir}/guacd.service + +%else + +# Initscripts +mkdir -p %{buildroot}%{_initrddir} +install -p -m 755 -D %{SOURCE3} %{buildroot}%{_initrddir}/guacd + +%endif + +%pre -n guacd +getent group %username >/dev/null || groupadd -r %username &>/dev/null || : +getent passwd %username >/dev/null || useradd -r -s /sbin/nologin \ + -d %{_sharedstatedir}/guacd -M -c 'Guacamole proxy daemon' -g %username %username &>/dev/null || : +exit 0 + +%if 0%{?fedora} || 0%{?rhel} >= 7 + +%post -n guacd +%systemd_post guacd.service + +%preun -n guacd +%systemd_preun guacd.service + +%postun -n guacd +%systemd_postun_with_restart guacd.service + +%endif + +%if 0%{?rhel} == 6 + +%post -n guacd +/sbin/chkconfig --add guacd + +%preun -n guacd +if [ "$1" = 0 ]; then + /sbin/service guacd stop >/dev/null 2>&1 || : + /sbin/chkconfig --del guacd +fi + +%postun -n guacd +if [ "$1" -ge "1" ]; then + /sbin/service guacd condrestart >/dev/null 2>&1 || : +fi + +%endif + +%ldconfig_scriptlets -n libguac + +%ldconfig_scriptlets -n libguac-client-rdp + +%ldconfig_scriptlets -n libguac-client-ssh + +%ldconfig_scriptlets -n libguac-client-vnc + +%ldconfig_scriptlets -n libguac-client-telnet + +%files -n libguac +%license LICENSE +%doc README CONTRIBUTING +%{_libdir}/libguac.so.* + +%files -n libguac-devel +%doc html +%{_includedir}/* +%{_libdir}/libguac.so + +# The libguac source code dlopen's these plugins, and they are named without +# the version in the shared object; i.e. "libguac-client-$(PROTOCOL).so". + +%files -n libguac-client-rdp +%{_libdir}/libguac-client-rdp.so +%{_libdir}/libguac-client-rdp.so.* +%{_libdir}/freerdp/*.so + +%files -n libguac-client-ssh +%{_libdir}/libguac-client-ssh.so +%{_libdir}/libguac-client-ssh.so.* + +%files -n libguac-client-vnc +%{_libdir}/libguac-client-vnc.so +%{_libdir}/libguac-client-vnc.so.* + +%files -n libguac-client-telnet +%{_libdir}/libguac-client-telnet.so +%{_libdir}/libguac-client-telnet.so.* + +%files -n guacd +%config(noreplace) %{_sysconfdir}/sysconfig/guacd +%{_bindir}/guaclog +%{?_with_ffmpeg: +%{_bindir}/guacenc +%{_mandir}/man1/guacenc.1.* +} +%{_mandir}/man1/guaclog.1.* +%{_mandir}/man5/guacd.conf.5.* +%{_mandir}/man8/guacd.8.* +%{_sbindir}/guacd +%if 0%{?fedora} || 0%{?rhel} >= 7 +%{_unitdir}/guacd.service +%else +%{_initrddir}/guacd +%endif +%attr(750,%{username},%{username}) %{_sharedstatedir}/guacd + +%changelog +* Sat Jan 26 2019 Simone Caronni - 1.0.0-1 +- Update to version 1.0.0.