[PATCH v2] Fix make install for systemd systems

Make install now will install firewalld and systemctl service. Also, it will create base file structure to run kimchi (what was being created at rpm spec). Changes: v2: Use macros to determine systemd directory Do not use root permissions on make install script (like rebooting systemctl) --- Makefile.am | 50 +++++++++++++++++++++++++++---------------- configure.ac | 9 ++++++++ contrib/kimchi.spec.fedora.in | 16 -------------- contrib/kimchi.spec.suse.in | 18 ---------------- 4 files changed, 41 insertions(+), 52 deletions(-) diff --git a/Makefile.am b/Makefile.am index 91a0fa2..46b0b5b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,27 +115,41 @@ ChangeLog: fi install-data-local: - @if test -d /usr/lib/systemd/system/ ; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -d /etc/systemd/system; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /etc/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - else \ - $(INSTALL_DATA) contrib/kimchid.sysvinit /etc/init.d/kimchid; \ - chmod +x /etc/init.d/kimchid; \ - fi + @if test -d $(systemdsystemunitdir) ; then \ + mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ + $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + else \ + mkdir -p $(DESTDIR)/etc/init.d/ \ + $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \ + chmod +x $(DESTDIR)/etc/init.d/kimchid; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} + touch $(DESTDIR)/var/lib/kimchi/objectstore + mkdir -p $(DESTDIR)/var/log/kimchi/ + touch $(DESTDIR)/var/log/kimchi/kimchi-access.log + touch $(DESTDIR)/var/log/kimchi/kimchi-error.log + mkdir -p $(DESTDIR)/etc/kimchi/ + touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf uninstall-local: - @if test -f /usr/lib/systemd/system/kimchid.service; then \ - $(RM) /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -f /etc/systemd/system/kimchid.service; then \ - $(RM) /etc/systemd/system/kimchid.service; \ + @if test -f $(systemdsystemunitdir)/kimchid.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ elif test -f /etc/init.d/kimchid; then \ - $(RM) /etc/init.d/kimchid; \ - fi - + $(RM) $(DESTDIR)/etc/init.d/kimchid; \ + $(RM) $(DESTDIR)/etc/init/kimchi.conf; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + $(RM) -rf $(DESTDIR)/var/lib/kimchi + $(RM) -rf $(DESTDIR)/var/log/kimchi + $(RM) -rf $(DESTDIR)/etc/kimchi + $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + VERSION: @if test -d .git; then \ git describe --abbrev=0 > $@; \ diff --git a/configure.ac b/configure.ac index f5091b8..0261b5f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,15 @@ else AC_SUBST([ENABLE_SAMPLE], [False]) fi +# check for systemd +PKG_PROG_PKG_CONFIG +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi + AC_ARG_WITH( [spice-html5], [AS_HELP_STRING([--with-spice-html5], diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in index 30f8417..dc5533a 100644 --- a/contrib/kimchi.spec.fedora.in +++ b/contrib/kimchi.spec.fedora.in @@ -85,22 +85,6 @@ make DESTDIR=%{buildroot} install %if 0%{?with_systemd} -# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_sharedstatedir}/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_sharedstatedir}/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the systemd scripts -install -Dm 0644 contrib/kimchid.service.fedora %{buildroot}%{_unitdir}/kimchid.service -install -Dm 0640 src/firewalld.xml %{buildroot}%{_prefix}/lib/firewalld/services/kimchid.xml %endif %if 0%{?rhel} == 6 diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in index bf85661..5681a60 100644 --- a/contrib/kimchi.spec.suse.in +++ b/contrib/kimchi.spec.suse.in @@ -54,24 +54,6 @@ make rm -rf %{buildroot} make DESTDIR=%{buildroot} install -# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_var}/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_var}/lib/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ - -# create nginx configuration -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid - %post chkconfig kimchid on -- 2.1.0

On 03/06/2015 10:39, Ramon Medeiros wrote:
Make install now will install firewalld and systemctl service. Also, it will create base file structure to run kimchi (what was being created at rpm spec).
Changes:
v2: Use macros to determine systemd directory Do not use root permissions on make install script (like rebooting systemctl) --- Makefile.am | 50 +++++++++++++++++++++++++++---------------- configure.ac | 9 ++++++++ contrib/kimchi.spec.fedora.in | 16 -------------- contrib/kimchi.spec.suse.in | 18 ---------------- 4 files changed, 41 insertions(+), 52 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 91a0fa2..46b0b5b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,27 +115,41 @@ ChangeLog: fi
install-data-local: - @if test -d /usr/lib/systemd/system/ ; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -d /etc/systemd/system; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /etc/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - else \ - $(INSTALL_DATA) contrib/kimchid.sysvinit /etc/init.d/kimchid; \ - chmod +x /etc/init.d/kimchid; \ - fi + @if test -d $(systemdsystemunitdir) ; then \ + mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ + $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + else \ + mkdir -p $(DESTDIR)/etc/init.d/ \ + $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \ + chmod +x $(DESTDIR)/etc/init.d/kimchid; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \
+ mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} + touch $(DESTDIR)/var/lib/kimchi/objectstore + mkdir -p $(DESTDIR)/var/log/kimchi/ + touch $(DESTDIR)/var/log/kimchi/kimchi-access.log + touch $(DESTDIR)/var/log/kimchi/kimchi-error.log + mkdir -p $(DESTDIR)/etc/kimchi/ + touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
You don't need to create the above directories/files as they will be created on demand on server start up.
uninstall-local: - @if test -f /usr/lib/systemd/system/kimchid.service; then \ - $(RM) /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -f /etc/systemd/system/kimchid.service; then \ - $(RM) /etc/systemd/system/kimchid.service; \ + @if test -f $(systemdsystemunitdir)/kimchid.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ elif test -f /etc/init.d/kimchid; then \ - $(RM) /etc/init.d/kimchid; \ - fi - + $(RM) $(DESTDIR)/etc/init.d/kimchid; \ + $(RM) $(DESTDIR)/etc/init/kimchi.conf; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + $(RM) -rf $(DESTDIR)/var/lib/kimchi + $(RM) -rf $(DESTDIR)/var/log/kimchi + $(RM) -rf $(DESTDIR)/etc/kimchi + $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + VERSION: @if test -d .git; then \ git describe --abbrev=0 > $@; \ diff --git a/configure.ac b/configure.ac index f5091b8..0261b5f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,15 @@ else AC_SUBST([ENABLE_SAMPLE], [False]) fi
+# check for systemd +PKG_PROG_PKG_CONFIG +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +
So the user will need to pass that information during the build? Don't we have other way to discover it automatically?
AC_ARG_WITH( [spice-html5], [AS_HELP_STRING([--with-spice-html5], diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in index 30f8417..dc5533a 100644 --- a/contrib/kimchi.spec.fedora.in +++ b/contrib/kimchi.spec.fedora.in @@ -85,22 +85,6 @@ make DESTDIR=%{buildroot} install
%if 0%{?with_systemd}
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_sharedstatedir}/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_sharedstatedir}/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the systemd scripts -install -Dm 0644 contrib/kimchid.service.fedora %{buildroot}%{_unitdir}/kimchid.service -install -Dm 0640 src/firewalld.xml %{buildroot}%{_prefix}/lib/firewalld/services/kimchid.xml %endif
%if 0%{?rhel} == 6 diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in index bf85661..5681a60 100644 --- a/contrib/kimchi.spec.suse.in +++ b/contrib/kimchi.spec.suse.in @@ -54,24 +54,6 @@ make rm -rf %{buildroot} make DESTDIR=%{buildroot} install
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_var}/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_var}/lib/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ - -# create nginx configuration -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid - %post chkconfig kimchid on

On 06/05/2015 09:55 AM, Aline Manera wrote:
On 03/06/2015 10:39, Ramon Medeiros wrote:
Make install now will install firewalld and systemctl service. Also, it will create base file structure to run kimchi (what was being created at rpm spec).
Changes:
v2: Use macros to determine systemd directory Do not use root permissions on make install script (like rebooting systemctl) --- Makefile.am | 50 +++++++++++++++++++++++++++---------------- configure.ac | 9 ++++++++ contrib/kimchi.spec.fedora.in | 16 -------------- contrib/kimchi.spec.suse.in | 18 ---------------- 4 files changed, 41 insertions(+), 52 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 91a0fa2..46b0b5b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,27 +115,41 @@ ChangeLog: fi
install-data-local: - @if test -d /usr/lib/systemd/system/ ; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -d /etc/systemd/system; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /etc/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - else \ - $(INSTALL_DATA) contrib/kimchid.sysvinit /etc/init.d/kimchid; \ - chmod +x /etc/init.d/kimchid; \ - fi + @if test -d $(systemdsystemunitdir) ; then \ + mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ + $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + else \ + mkdir -p $(DESTDIR)/etc/init.d/ \ + $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \ + chmod +x $(DESTDIR)/etc/init.d/kimchid; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \
+ mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} + touch $(DESTDIR)/var/lib/kimchi/objectstore + mkdir -p $(DESTDIR)/var/log/kimchi/ + touch $(DESTDIR)/var/log/kimchi/kimchi-access.log + touch $(DESTDIR)/var/log/kimchi/kimchi-error.log + mkdir -p $(DESTDIR)/etc/kimchi/ + touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
You don't need to create the above directories/files as they will be created on demand on server start up.
which files you are saying? These files are not created on startup: mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} touch $(DESTDIR)/var/lib/kimchi/objectstore mkdir -p $(DESTDIR)/var/log/kimchi/
uninstall-local: - @if test -f /usr/lib/systemd/system/kimchid.service; then \ - $(RM) /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -f /etc/systemd/system/kimchid.service; then \ - $(RM) /etc/systemd/system/kimchid.service; \ + @if test -f $(systemdsystemunitdir)/kimchid.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ elif test -f /etc/init.d/kimchid; then \ - $(RM) /etc/init.d/kimchid; \ - fi - + $(RM) $(DESTDIR)/etc/init.d/kimchid; \ + $(RM) $(DESTDIR)/etc/init/kimchi.conf; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + $(RM) -rf $(DESTDIR)/var/lib/kimchi + $(RM) -rf $(DESTDIR)/var/log/kimchi + $(RM) -rf $(DESTDIR)/etc/kimchi + $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + VERSION: @if test -d .git; then \ git describe --abbrev=0 > $@; \ diff --git a/configure.ac b/configure.ac index f5091b8..0261b5f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,15 @@ else AC_SUBST([ENABLE_SAMPLE], [False]) fi
+# check for systemd +PKG_PROG_PKG_CONFIG +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +
So the user will need to pass that information during the build? Don't we have other way to discover it automatically?
No, the user will not need to pass it. Please, try to use it in your system. After running ./autogen --system, you will see the variable systemdsystemunitdir at Makefile
AC_ARG_WITH( [spice-html5], [AS_HELP_STRING([--with-spice-html5], diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in index 30f8417..dc5533a 100644 --- a/contrib/kimchi.spec.fedora.in +++ b/contrib/kimchi.spec.fedora.in @@ -85,22 +85,6 @@ make DESTDIR=%{buildroot} install
%if 0%{?with_systemd}
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_sharedstatedir}/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_sharedstatedir}/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the systemd scripts -install -Dm 0644 contrib/kimchid.service.fedora %{buildroot}%{_unitdir}/kimchid.service -install -Dm 0640 src/firewalld.xml %{buildroot}%{_prefix}/lib/firewalld/services/kimchid.xml %endif
%if 0%{?rhel} == 6 diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in index bf85661..5681a60 100644 --- a/contrib/kimchi.spec.suse.in +++ b/contrib/kimchi.spec.suse.in @@ -54,24 +54,6 @@ make rm -rf %{buildroot} make DESTDIR=%{buildroot} install
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_var}/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_var}/lib/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ - -# create nginx configuration -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid - %post chkconfig kimchid on
-- Ramon Nunes Medeiros Kimchi Developer Linux Technology Center Brazil IBM Systems & Technology Group Phone : +55 19 2132 7878 ramonn@br.ibm.com

On 05/06/2015 11:32, Ramon Medeiros wrote:
On 06/05/2015 09:55 AM, Aline Manera wrote:
On 03/06/2015 10:39, Ramon Medeiros wrote:
Make install now will install firewalld and systemctl service. Also, it will create base file structure to run kimchi (what was being created at rpm spec).
Changes:
v2: Use macros to determine systemd directory Do not use root permissions on make install script (like rebooting systemctl) --- Makefile.am | 50 +++++++++++++++++++++++++++---------------- configure.ac | 9 ++++++++ contrib/kimchi.spec.fedora.in | 16 -------------- contrib/kimchi.spec.suse.in | 18 ---------------- 4 files changed, 41 insertions(+), 52 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 91a0fa2..46b0b5b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,27 +115,41 @@ ChangeLog: fi
install-data-local: - @if test -d /usr/lib/systemd/system/ ; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -d /etc/systemd/system; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /etc/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - else \ - $(INSTALL_DATA) contrib/kimchid.sysvinit /etc/init.d/kimchid; \ - chmod +x /etc/init.d/kimchid; \ - fi + @if test -d $(systemdsystemunitdir) ; then \ + mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ + $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + else \ + mkdir -p $(DESTDIR)/etc/init.d/ \ + $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \ + chmod +x $(DESTDIR)/etc/init.d/kimchid; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \
+ mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} + touch $(DESTDIR)/var/lib/kimchi/objectstore + mkdir -p $(DESTDIR)/var/log/kimchi/ + touch $(DESTDIR)/var/log/kimchi/kimchi-access.log + touch $(DESTDIR)/var/log/kimchi/kimchi-error.log + mkdir -p $(DESTDIR)/etc/kimchi/ + touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
You don't need to create the above directories/files as they will be created on demand on server start up.
which files you are saying? These files are not created on startup: mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} touch $(DESTDIR)/var/lib/kimchi/objectstore mkdir -p $(DESTDIR)/var/log/kimchi/
Yes, there are. Otherwise, the user would not be able to start the server from a "make install" installation.
uninstall-local: - @if test -f /usr/lib/systemd/system/kimchid.service; then \ - $(RM) /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -f /etc/systemd/system/kimchid.service; then \ - $(RM) /etc/systemd/system/kimchid.service; \ + @if test -f $(systemdsystemunitdir)/kimchid.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ elif test -f /etc/init.d/kimchid; then \ - $(RM) /etc/init.d/kimchid; \ - fi - + $(RM) $(DESTDIR)/etc/init.d/kimchid; \ + $(RM) $(DESTDIR)/etc/init/kimchi.conf; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + $(RM) -rf $(DESTDIR)/var/lib/kimchi + $(RM) -rf $(DESTDIR)/var/log/kimchi + $(RM) -rf $(DESTDIR)/etc/kimchi + $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + VERSION: @if test -d .git; then \ git describe --abbrev=0 > $@; \ diff --git a/configure.ac b/configure.ac index f5091b8..0261b5f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,15 @@ else AC_SUBST([ENABLE_SAMPLE], [False]) fi
+# check for systemd +PKG_PROG_PKG_CONFIG +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +
So the user will need to pass that information during the build? Don't we have other way to discover it automatically?
No, the user will not need to pass it. Please, try to use it in your system. After running ./autogen --system, you will see the variable systemdsystemunitdir at Makefile
OK. I'll try it.
AC_ARG_WITH( [spice-html5], [AS_HELP_STRING([--with-spice-html5], diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in index 30f8417..dc5533a 100644 --- a/contrib/kimchi.spec.fedora.in +++ b/contrib/kimchi.spec.fedora.in @@ -85,22 +85,6 @@ make DESTDIR=%{buildroot} install
%if 0%{?with_systemd}
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_sharedstatedir}/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_sharedstatedir}/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the systemd scripts -install -Dm 0644 contrib/kimchid.service.fedora %{buildroot}%{_unitdir}/kimchid.service -install -Dm 0640 src/firewalld.xml %{buildroot}%{_prefix}/lib/firewalld/services/kimchid.xml %endif
%if 0%{?rhel} == 6 diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in index bf85661..5681a60 100644 --- a/contrib/kimchi.spec.suse.in +++ b/contrib/kimchi.spec.suse.in @@ -54,24 +54,6 @@ make rm -rf %{buildroot} make DESTDIR=%{buildroot} install
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_var}/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_var}/lib/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ - -# create nginx configuration -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid - %post chkconfig kimchid on

On 06/05/2015 11:35 AM, Aline Manera wrote:
On 05/06/2015 11:32, Ramon Medeiros wrote:
On 06/05/2015 09:55 AM, Aline Manera wrote:
On 03/06/2015 10:39, Ramon Medeiros wrote:
Make install now will install firewalld and systemctl service. Also, it will create base file structure to run kimchi (what was being created at rpm spec).
Changes:
v2: Use macros to determine systemd directory Do not use root permissions on make install script (like rebooting systemctl) --- Makefile.am | 50 +++++++++++++++++++++++++++---------------- configure.ac | 9 ++++++++ contrib/kimchi.spec.fedora.in | 16 -------------- contrib/kimchi.spec.suse.in | 18 ---------------- 4 files changed, 41 insertions(+), 52 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 91a0fa2..46b0b5b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,27 +115,41 @@ ChangeLog: fi
install-data-local: - @if test -d /usr/lib/systemd/system/ ; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -d /etc/systemd/system; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /etc/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - else \ - $(INSTALL_DATA) contrib/kimchid.sysvinit /etc/init.d/kimchid; \ - chmod +x /etc/init.d/kimchid; \ - fi + @if test -d $(systemdsystemunitdir) ; then \ + mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ + $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + else \ + mkdir -p $(DESTDIR)/etc/init.d/ \ + $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \ + chmod +x $(DESTDIR)/etc/init.d/kimchid; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \
+ mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} + touch $(DESTDIR)/var/lib/kimchi/objectstore + mkdir -p $(DESTDIR)/var/log/kimchi/ + touch $(DESTDIR)/var/log/kimchi/kimchi-access.log + touch $(DESTDIR)/var/log/kimchi/kimchi-error.log + mkdir -p $(DESTDIR)/etc/kimchi/ + touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
You don't need to create the above directories/files as they will be created on demand on server start up.
which files you are saying? These files are not created on startup: mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} touch $(DESTDIR)/var/lib/kimchi/objectstore mkdir -p $(DESTDIR)/var/log/kimchi/
Yes, there are. Otherwise, the user would not be able to start the server from a "make install" installation.
Just tested it and kimchi is creating them. So, we are not going to create it on make install, but, when creating for rpm, we will create this structure on spec file, like it was before?
uninstall-local: - @if test -f /usr/lib/systemd/system/kimchid.service; then \ - $(RM) /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -f /etc/systemd/system/kimchid.service; then \ - $(RM) /etc/systemd/system/kimchid.service; \ + @if test -f $(systemdsystemunitdir)/kimchid.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ elif test -f /etc/init.d/kimchid; then \ - $(RM) /etc/init.d/kimchid; \ - fi - + $(RM) $(DESTDIR)/etc/init.d/kimchid; \ + $(RM) $(DESTDIR)/etc/init/kimchi.conf; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + $(RM) -rf $(DESTDIR)/var/lib/kimchi + $(RM) -rf $(DESTDIR)/var/log/kimchi + $(RM) -rf $(DESTDIR)/etc/kimchi + $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + VERSION: @if test -d .git; then \ git describe --abbrev=0 > $@; \ diff --git a/configure.ac b/configure.ac index f5091b8..0261b5f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,15 @@ else AC_SUBST([ENABLE_SAMPLE], [False]) fi
+# check for systemd +PKG_PROG_PKG_CONFIG +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +
So the user will need to pass that information during the build? Don't we have other way to discover it automatically?
No, the user will not need to pass it. Please, try to use it in your system. After running ./autogen --system, you will see the variable systemdsystemunitdir at Makefile
OK. I'll try it.
AC_ARG_WITH( [spice-html5], [AS_HELP_STRING([--with-spice-html5], diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in index 30f8417..dc5533a 100644 --- a/contrib/kimchi.spec.fedora.in +++ b/contrib/kimchi.spec.fedora.in @@ -85,22 +85,6 @@ make DESTDIR=%{buildroot} install
%if 0%{?with_systemd}
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_sharedstatedir}/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_sharedstatedir}/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the systemd scripts -install -Dm 0644 contrib/kimchid.service.fedora %{buildroot}%{_unitdir}/kimchid.service -install -Dm 0640 src/firewalld.xml %{buildroot}%{_prefix}/lib/firewalld/services/kimchid.xml %endif
%if 0%{?rhel} == 6 diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in index bf85661..5681a60 100644 --- a/contrib/kimchi.spec.suse.in +++ b/contrib/kimchi.spec.suse.in @@ -54,24 +54,6 @@ make rm -rf %{buildroot} make DESTDIR=%{buildroot} install
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_var}/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_var}/lib/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ - -# create nginx configuration -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid - %post chkconfig kimchid on
-- Ramon Nunes Medeiros Kimchi Developer Linux Technology Center Brazil IBM Systems & Technology Group Phone : +55 19 2132 7878 ramonn@br.ibm.com

On 05/06/2015 17:53, Ramon Medeiros wrote:
On 06/05/2015 11:35 AM, Aline Manera wrote:
On 05/06/2015 11:32, Ramon Medeiros wrote:
On 06/05/2015 09:55 AM, Aline Manera wrote:
On 03/06/2015 10:39, Ramon Medeiros wrote:
Make install now will install firewalld and systemctl service. Also, it will create base file structure to run kimchi (what was being created at rpm spec).
Changes:
v2: Use macros to determine systemd directory Do not use root permissions on make install script (like rebooting systemctl) --- Makefile.am | 50 +++++++++++++++++++++++++++---------------- configure.ac | 9 ++++++++ contrib/kimchi.spec.fedora.in | 16 -------------- contrib/kimchi.spec.suse.in | 18 ---------------- 4 files changed, 41 insertions(+), 52 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 91a0fa2..46b0b5b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,27 +115,41 @@ ChangeLog: fi
install-data-local: - @if test -d /usr/lib/systemd/system/ ; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -d /etc/systemd/system; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /etc/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - else \ - $(INSTALL_DATA) contrib/kimchid.sysvinit /etc/init.d/kimchid; \ - chmod +x /etc/init.d/kimchid; \ - fi + @if test -d $(systemdsystemunitdir) ; then \ + mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ + $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + else \ + mkdir -p $(DESTDIR)/etc/init.d/ \ + $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \ + chmod +x $(DESTDIR)/etc/init.d/kimchid; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \
+ mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} + touch $(DESTDIR)/var/lib/kimchi/objectstore + mkdir -p $(DESTDIR)/var/log/kimchi/ + touch $(DESTDIR)/var/log/kimchi/kimchi-access.log + touch $(DESTDIR)/var/log/kimchi/kimchi-error.log + mkdir -p $(DESTDIR)/etc/kimchi/ + touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
You don't need to create the above directories/files as they will be created on demand on server start up.
which files you are saying? These files are not created on startup: mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} touch $(DESTDIR)/var/lib/kimchi/objectstore mkdir -p $(DESTDIR)/var/log/kimchi/
Yes, there are. Otherwise, the user would not be able to start the server from a "make install" installation.
Just tested it and kimchi is creating them. So, we are not going to create it on make install, but, when creating for rpm, we will create this structure on spec file, like it was before?
Yes.
uninstall-local: - @if test -f /usr/lib/systemd/system/kimchid.service; then \ - $(RM) /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -f /etc/systemd/system/kimchid.service; then \ - $(RM) /etc/systemd/system/kimchid.service; \ + @if test -f $(systemdsystemunitdir)/kimchid.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ elif test -f /etc/init.d/kimchid; then \ - $(RM) /etc/init.d/kimchid; \ - fi - + $(RM) $(DESTDIR)/etc/init.d/kimchid; \ + $(RM) $(DESTDIR)/etc/init/kimchi.conf; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + $(RM) -rf $(DESTDIR)/var/lib/kimchi + $(RM) -rf $(DESTDIR)/var/log/kimchi + $(RM) -rf $(DESTDIR)/etc/kimchi + $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + VERSION: @if test -d .git; then \ git describe --abbrev=0 > $@; \ diff --git a/configure.ac b/configure.ac index f5091b8..0261b5f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,15 @@ else AC_SUBST([ENABLE_SAMPLE], [False]) fi
+# check for systemd +PKG_PROG_PKG_CONFIG +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +
So the user will need to pass that information during the build? Don't we have other way to discover it automatically?
No, the user will not need to pass it. Please, try to use it in your system. After running ./autogen --system, you will see the variable systemdsystemunitdir at Makefile
OK. I'll try it.
AC_ARG_WITH( [spice-html5], [AS_HELP_STRING([--with-spice-html5], diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in index 30f8417..dc5533a 100644 --- a/contrib/kimchi.spec.fedora.in +++ b/contrib/kimchi.spec.fedora.in @@ -85,22 +85,6 @@ make DESTDIR=%{buildroot} install
%if 0%{?with_systemd}
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_sharedstatedir}/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_sharedstatedir}/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the systemd scripts -install -Dm 0644 contrib/kimchid.service.fedora %{buildroot}%{_unitdir}/kimchid.service -install -Dm 0640 src/firewalld.xml %{buildroot}%{_prefix}/lib/firewalld/services/kimchid.xml %endif
%if 0%{?rhel} == 6 diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in index bf85661..5681a60 100644 --- a/contrib/kimchi.spec.suse.in +++ b/contrib/kimchi.spec.suse.in @@ -54,24 +54,6 @@ make rm -rf %{buildroot} make DESTDIR=%{buildroot} install
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_var}/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_var}/lib/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ - -# create nginx configuration -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid - %post chkconfig kimchid on

On 06/05/2015 09:55 AM, Aline Manera wrote:
On 03/06/2015 10:39, Ramon Medeiros wrote:
Make install now will install firewalld and systemctl service. Also, it will create base file structure to run kimchi (what was being created at rpm spec).
Changes:
v2: Use macros to determine systemd directory Do not use root permissions on make install script (like rebooting systemctl) --- Makefile.am | 50 +++++++++++++++++++++++++++---------------- configure.ac | 9 ++++++++ contrib/kimchi.spec.fedora.in | 16 -------------- contrib/kimchi.spec.suse.in | 18 ---------------- 4 files changed, 41 insertions(+), 52 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 91a0fa2..46b0b5b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,27 +115,41 @@ ChangeLog: fi
install-data-local: - @if test -d /usr/lib/systemd/system/ ; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -d /etc/systemd/system; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /etc/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - else \ - $(INSTALL_DATA) contrib/kimchid.sysvinit /etc/init.d/kimchid; \ - chmod +x /etc/init.d/kimchid; \ - fi + @if test -d $(systemdsystemunitdir) ; then \ + mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ + $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + else \ + mkdir -p $(DESTDIR)/etc/init.d/ \ + $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \ + chmod +x $(DESTDIR)/etc/init.d/kimchid; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \
+ mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} + touch $(DESTDIR)/var/lib/kimchi/objectstore + mkdir -p $(DESTDIR)/var/log/kimchi/ + touch $(DESTDIR)/var/log/kimchi/kimchi-access.log + touch $(DESTDIR)/var/log/kimchi/kimchi-error.log + mkdir -p $(DESTDIR)/etc/kimchi/ + touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
You don't need to create the above directories/files as they will be created on demand on server start up.
Hi Aline, after installing kimchi without creating those files, i got an error at make check: make[3]: Entering directory '/home/ramonn/GitTrees/KIMCHI/tests' /bin/mkdir -p ../data/screenshots ./run_tests.sh Loading YumUpdate features. Loaded plugins: fastestmirror, ibm-repository, langpacks libvirt: Storage Driver error : cannot open path '/var/lib/kimchi/isos': No such file or directory Fatal: Unable to craete storage pool ISO. Please, check the configuration in /home/ramonn/GitTrees/KIMCHI/src/template.conf to ensure it has a valid storage pool. Details: cannot open path '/var/lib/kimchi/isos': No such file or directory Seems that not all dirs are being created on the startup
uninstall-local: - @if test -f /usr/lib/systemd/system/kimchid.service; then \ - $(RM) /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -f /etc/systemd/system/kimchid.service; then \ - $(RM) /etc/systemd/system/kimchid.service; \ + @if test -f $(systemdsystemunitdir)/kimchid.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ elif test -f /etc/init.d/kimchid; then \ - $(RM) /etc/init.d/kimchid; \ - fi - + $(RM) $(DESTDIR)/etc/init.d/kimchid; \ + $(RM) $(DESTDIR)/etc/init/kimchi.conf; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + $(RM) -rf $(DESTDIR)/var/lib/kimchi + $(RM) -rf $(DESTDIR)/var/log/kimchi + $(RM) -rf $(DESTDIR)/etc/kimchi + $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + VERSION: @if test -d .git; then \ git describe --abbrev=0 > $@; \ diff --git a/configure.ac b/configure.ac index f5091b8..0261b5f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,15 @@ else AC_SUBST([ENABLE_SAMPLE], [False]) fi
+# check for systemd +PKG_PROG_PKG_CONFIG +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +
So the user will need to pass that information during the build? Don't we have other way to discover it automatically?
AC_ARG_WITH( [spice-html5], [AS_HELP_STRING([--with-spice-html5], diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in index 30f8417..dc5533a 100644 --- a/contrib/kimchi.spec.fedora.in +++ b/contrib/kimchi.spec.fedora.in @@ -85,22 +85,6 @@ make DESTDIR=%{buildroot} install
%if 0%{?with_systemd}
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_sharedstatedir}/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_sharedstatedir}/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the systemd scripts -install -Dm 0644 contrib/kimchid.service.fedora %{buildroot}%{_unitdir}/kimchid.service -install -Dm 0640 src/firewalld.xml %{buildroot}%{_prefix}/lib/firewalld/services/kimchid.xml %endif
%if 0%{?rhel} == 6 diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in index bf85661..5681a60 100644 --- a/contrib/kimchi.spec.suse.in +++ b/contrib/kimchi.spec.suse.in @@ -54,24 +54,6 @@ make rm -rf %{buildroot} make DESTDIR=%{buildroot} install
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_var}/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_var}/lib/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ - -# create nginx configuration -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid - %post chkconfig kimchid on
-- Ramon Nunes Medeiros Kimchi Developer Linux Technology Center Brazil IBM Systems & Technology Group Phone : +55 19 2132 7878 ramonn@br.ibm.com

On 08/06/2015 10:47, Ramon Medeiros wrote:
On 06/05/2015 09:55 AM, Aline Manera wrote:
On 03/06/2015 10:39, Ramon Medeiros wrote:
Make install now will install firewalld and systemctl service. Also, it will create base file structure to run kimchi (what was being created at rpm spec).
Changes:
v2: Use macros to determine systemd directory Do not use root permissions on make install script (like rebooting systemctl) --- Makefile.am | 50 +++++++++++++++++++++++++++---------------- configure.ac | 9 ++++++++ contrib/kimchi.spec.fedora.in | 16 -------------- contrib/kimchi.spec.suse.in | 18 ---------------- 4 files changed, 41 insertions(+), 52 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 91a0fa2..46b0b5b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,27 +115,41 @@ ChangeLog: fi
install-data-local: - @if test -d /usr/lib/systemd/system/ ; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -d /etc/systemd/system; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /etc/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - else \ - $(INSTALL_DATA) contrib/kimchid.sysvinit /etc/init.d/kimchid; \ - chmod +x /etc/init.d/kimchid; \ - fi + @if test -d $(systemdsystemunitdir) ; then \ + mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ + $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + else \ + mkdir -p $(DESTDIR)/etc/init.d/ \ + $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \ + chmod +x $(DESTDIR)/etc/init.d/kimchid; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \
+ mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} + touch $(DESTDIR)/var/lib/kimchi/objectstore + mkdir -p $(DESTDIR)/var/log/kimchi/ + touch $(DESTDIR)/var/log/kimchi/kimchi-access.log + touch $(DESTDIR)/var/log/kimchi/kimchi-error.log + mkdir -p $(DESTDIR)/etc/kimchi/ + touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
You don't need to create the above directories/files as they will be created on demand on server start up.
Hi Aline,
after installing kimchi without creating those files, i got an error at make check:
make[3]: Entering directory '/home/ramonn/GitTrees/KIMCHI/tests' /bin/mkdir -p ../data/screenshots ./run_tests.sh Loading YumUpdate features. Loaded plugins: fastestmirror, ibm-repository, langpacks libvirt: Storage Driver error : cannot open path '/var/lib/kimchi/isos': No such file or directory Fatal: Unable to craete storage pool ISO. Please, check the configuration in /home/ramonn/GitTrees/KIMCHI/src/template.conf to ensure it has a valid storage pool. Details: cannot open path '/var/lib/kimchi/isos': No such file or directory
When were this directory created before?
Seems that not all dirs are being created on the startup
uninstall-local: - @if test -f /usr/lib/systemd/system/kimchid.service; then \ - $(RM) /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -f /etc/systemd/system/kimchid.service; then \ - $(RM) /etc/systemd/system/kimchid.service; \ + @if test -f $(systemdsystemunitdir)/kimchid.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ elif test -f /etc/init.d/kimchid; then \ - $(RM) /etc/init.d/kimchid; \ - fi - + $(RM) $(DESTDIR)/etc/init.d/kimchid; \ + $(RM) $(DESTDIR)/etc/init/kimchi.conf; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + $(RM) -rf $(DESTDIR)/var/lib/kimchi + $(RM) -rf $(DESTDIR)/var/log/kimchi + $(RM) -rf $(DESTDIR)/etc/kimchi + $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + VERSION: @if test -d .git; then \ git describe --abbrev=0 > $@; \ diff --git a/configure.ac b/configure.ac index f5091b8..0261b5f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,15 @@ else AC_SUBST([ENABLE_SAMPLE], [False]) fi
+# check for systemd +PKG_PROG_PKG_CONFIG +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +
So the user will need to pass that information during the build? Don't we have other way to discover it automatically?
AC_ARG_WITH( [spice-html5], [AS_HELP_STRING([--with-spice-html5], diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in index 30f8417..dc5533a 100644 --- a/contrib/kimchi.spec.fedora.in +++ b/contrib/kimchi.spec.fedora.in @@ -85,22 +85,6 @@ make DESTDIR=%{buildroot} install
%if 0%{?with_systemd}
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_sharedstatedir}/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_sharedstatedir}/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the systemd scripts -install -Dm 0644 contrib/kimchid.service.fedora %{buildroot}%{_unitdir}/kimchid.service -install -Dm 0640 src/firewalld.xml %{buildroot}%{_prefix}/lib/firewalld/services/kimchid.xml %endif
%if 0%{?rhel} == 6 diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in index bf85661..5681a60 100644 --- a/contrib/kimchi.spec.suse.in +++ b/contrib/kimchi.spec.suse.in @@ -54,24 +54,6 @@ make rm -rf %{buildroot} make DESTDIR=%{buildroot} install
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_var}/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_var}/lib/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ - -# create nginx configuration -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid - %post chkconfig kimchid on

On 06/09/2015 11:26 AM, Aline Manera wrote:
On 08/06/2015 10:47, Ramon Medeiros wrote:
On 06/05/2015 09:55 AM, Aline Manera wrote:
On 03/06/2015 10:39, Ramon Medeiros wrote:
Make install now will install firewalld and systemctl service. Also, it will create base file structure to run kimchi (what was being created at rpm spec).
Changes:
v2: Use macros to determine systemd directory Do not use root permissions on make install script (like rebooting systemctl) --- Makefile.am | 50 +++++++++++++++++++++++++++---------------- configure.ac | 9 ++++++++ contrib/kimchi.spec.fedora.in | 16 -------------- contrib/kimchi.spec.suse.in | 18 ---------------- 4 files changed, 41 insertions(+), 52 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 91a0fa2..46b0b5b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,27 +115,41 @@ ChangeLog: fi
install-data-local: - @if test -d /usr/lib/systemd/system/ ; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -d /etc/systemd/system; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /etc/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - else \ - $(INSTALL_DATA) contrib/kimchid.sysvinit /etc/init.d/kimchid; \ - chmod +x /etc/init.d/kimchid; \ - fi + @if test -d $(systemdsystemunitdir) ; then \ + mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ + $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + else \ + mkdir -p $(DESTDIR)/etc/init.d/ \ + $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \ + chmod +x $(DESTDIR)/etc/init.d/kimchid; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \
+ mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} + touch $(DESTDIR)/var/lib/kimchi/objectstore + mkdir -p $(DESTDIR)/var/log/kimchi/ + touch $(DESTDIR)/var/log/kimchi/kimchi-access.log + touch $(DESTDIR)/var/log/kimchi/kimchi-error.log + mkdir -p $(DESTDIR)/etc/kimchi/ + touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
You don't need to create the above directories/files as they will be created on demand on server start up.
Hi Aline,
after installing kimchi without creating those files, i got an error at make check:
make[3]: Entering directory '/home/ramonn/GitTrees/KIMCHI/tests' /bin/mkdir -p ../data/screenshots ./run_tests.sh Loading YumUpdate features. Loaded plugins: fastestmirror, ibm-repository, langpacks libvirt: Storage Driver error : cannot open path '/var/lib/kimchi/isos': No such file or directory Fatal: Unable to craete storage pool ISO. Please, check the configuration in /home/ramonn/GitTrees/KIMCHI/src/template.conf to ensure it has a valid storage pool. Details: cannot open path '/var/lib/kimchi/isos': No such file or directory
When were this directory created before?
It was being created on rpm spec.
Seems that not all dirs are being created on the startup
uninstall-local: - @if test -f /usr/lib/systemd/system/kimchid.service; then \ - $(RM) /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -f /etc/systemd/system/kimchid.service; then \ - $(RM) /etc/systemd/system/kimchid.service; \ + @if test -f $(systemdsystemunitdir)/kimchid.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ elif test -f /etc/init.d/kimchid; then \ - $(RM) /etc/init.d/kimchid; \ - fi - + $(RM) $(DESTDIR)/etc/init.d/kimchid; \ + $(RM) $(DESTDIR)/etc/init/kimchi.conf; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + $(RM) -rf $(DESTDIR)/var/lib/kimchi + $(RM) -rf $(DESTDIR)/var/log/kimchi + $(RM) -rf $(DESTDIR)/etc/kimchi + $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + VERSION: @if test -d .git; then \ git describe --abbrev=0 > $@; \ diff --git a/configure.ac b/configure.ac index f5091b8..0261b5f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,15 @@ else AC_SUBST([ENABLE_SAMPLE], [False]) fi
+# check for systemd +PKG_PROG_PKG_CONFIG +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +
So the user will need to pass that information during the build? Don't we have other way to discover it automatically?
AC_ARG_WITH( [spice-html5], [AS_HELP_STRING([--with-spice-html5], diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in index 30f8417..dc5533a 100644 --- a/contrib/kimchi.spec.fedora.in +++ b/contrib/kimchi.spec.fedora.in @@ -85,22 +85,6 @@ make DESTDIR=%{buildroot} install
%if 0%{?with_systemd}
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_sharedstatedir}/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_sharedstatedir}/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the systemd scripts -install -Dm 0644 contrib/kimchid.service.fedora %{buildroot}%{_unitdir}/kimchid.service -install -Dm 0640 src/firewalld.xml %{buildroot}%{_prefix}/lib/firewalld/services/kimchid.xml %endif
%if 0%{?rhel} == 6 diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in index bf85661..5681a60 100644 --- a/contrib/kimchi.spec.suse.in +++ b/contrib/kimchi.spec.suse.in @@ -54,24 +54,6 @@ make rm -rf %{buildroot} make DESTDIR=%{buildroot} install
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_var}/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_var}/lib/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ - -# create nginx configuration -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid - %post chkconfig kimchid on
-- Ramon Nunes Medeiros Kimchi Developer Linux Technology Center Brazil IBM Systems & Technology Group Phone : +55 19 2132 7878 ramonn@br.ibm.com

On 09/06/2015 12:04, Ramon Medeiros wrote:
On 06/09/2015 11:26 AM, Aline Manera wrote:
On 08/06/2015 10:47, Ramon Medeiros wrote:
On 06/05/2015 09:55 AM, Aline Manera wrote:
On 03/06/2015 10:39, Ramon Medeiros wrote:
Make install now will install firewalld and systemctl service. Also, it will create base file structure to run kimchi (what was being created at rpm spec).
Changes:
v2: Use macros to determine systemd directory Do not use root permissions on make install script (like rebooting systemctl) --- Makefile.am | 50 +++++++++++++++++++++++++++---------------- configure.ac | 9 ++++++++ contrib/kimchi.spec.fedora.in | 16 -------------- contrib/kimchi.spec.suse.in | 18 ---------------- 4 files changed, 41 insertions(+), 52 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 91a0fa2..46b0b5b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,27 +115,41 @@ ChangeLog: fi
install-data-local: - @if test -d /usr/lib/systemd/system/ ; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -d /etc/systemd/system; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /etc/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - else \ - $(INSTALL_DATA) contrib/kimchid.sysvinit /etc/init.d/kimchid; \ - chmod +x /etc/init.d/kimchid; \ - fi + @if test -d $(systemdsystemunitdir) ; then \ + mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ + $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + else \ + mkdir -p $(DESTDIR)/etc/init.d/ \ + $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \ + chmod +x $(DESTDIR)/etc/init.d/kimchid; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \
+ mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} + touch $(DESTDIR)/var/lib/kimchi/objectstore + mkdir -p $(DESTDIR)/var/log/kimchi/ + touch $(DESTDIR)/var/log/kimchi/kimchi-access.log + touch $(DESTDIR)/var/log/kimchi/kimchi-error.log + mkdir -p $(DESTDIR)/etc/kimchi/ + touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
You don't need to create the above directories/files as they will be created on demand on server start up.
Hi Aline,
after installing kimchi without creating those files, i got an error at make check:
make[3]: Entering directory '/home/ramonn/GitTrees/KIMCHI/tests' /bin/mkdir -p ../data/screenshots ./run_tests.sh Loading YumUpdate features. Loaded plugins: fastestmirror, ibm-repository, langpacks libvirt: Storage Driver error : cannot open path '/var/lib/kimchi/isos': No such file or directory Fatal: Unable to craete storage pool ISO. Please, check the configuration in /home/ramonn/GitTrees/KIMCHI/src/template.conf to ensure it has a valid storage pool. Details: cannot open path '/var/lib/kimchi/isos': No such file or directory
When were this directory created before?
It was being created on rpm spec.
We added the directory creation to spec file to avoid leftovers while removing the rpm package. So even though the directories are created there, they were created on server start up. Said that, you should have no issues in removing the directories creation from the 'make install'
Seems that not all dirs are being created on the startup
uninstall-local: - @if test -f /usr/lib/systemd/system/kimchid.service; then \ - $(RM) /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -f /etc/systemd/system/kimchid.service; then \ - $(RM) /etc/systemd/system/kimchid.service; \ + @if test -f $(systemdsystemunitdir)/kimchid.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ elif test -f /etc/init.d/kimchid; then \ - $(RM) /etc/init.d/kimchid; \ - fi - + $(RM) $(DESTDIR)/etc/init.d/kimchid; \ + $(RM) $(DESTDIR)/etc/init/kimchi.conf; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + $(RM) -rf $(DESTDIR)/var/lib/kimchi + $(RM) -rf $(DESTDIR)/var/log/kimchi + $(RM) -rf $(DESTDIR)/etc/kimchi + $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + VERSION: @if test -d .git; then \ git describe --abbrev=0 > $@; \ diff --git a/configure.ac b/configure.ac index f5091b8..0261b5f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,15 @@ else AC_SUBST([ENABLE_SAMPLE], [False]) fi
+# check for systemd +PKG_PROG_PKG_CONFIG +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +
So the user will need to pass that information during the build? Don't we have other way to discover it automatically?
AC_ARG_WITH( [spice-html5], [AS_HELP_STRING([--with-spice-html5], diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in index 30f8417..dc5533a 100644 --- a/contrib/kimchi.spec.fedora.in +++ b/contrib/kimchi.spec.fedora.in @@ -85,22 +85,6 @@ make DESTDIR=%{buildroot} install
%if 0%{?with_systemd}
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_sharedstatedir}/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_sharedstatedir}/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the systemd scripts -install -Dm 0644 contrib/kimchid.service.fedora %{buildroot}%{_unitdir}/kimchid.service -install -Dm 0640 src/firewalld.xml %{buildroot}%{_prefix}/lib/firewalld/services/kimchid.xml %endif
%if 0%{?rhel} == 6 diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in index bf85661..5681a60 100644 --- a/contrib/kimchi.spec.suse.in +++ b/contrib/kimchi.spec.suse.in @@ -54,24 +54,6 @@ make rm -rf %{buildroot} make DESTDIR=%{buildroot} install
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_var}/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_var}/lib/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ - -# create nginx configuration -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid - %post chkconfig kimchid on

On 06/09/2015 12:07 PM, Aline Manera wrote:
On 09/06/2015 12:04, Ramon Medeiros wrote:
On 06/09/2015 11:26 AM, Aline Manera wrote:
On 08/06/2015 10:47, Ramon Medeiros wrote:
On 06/05/2015 09:55 AM, Aline Manera wrote:
On 03/06/2015 10:39, Ramon Medeiros wrote:
Make install now will install firewalld and systemctl service. Also, it will create base file structure to run kimchi (what was being created at rpm spec).
Changes:
v2: Use macros to determine systemd directory Do not use root permissions on make install script (like rebooting systemctl) --- Makefile.am | 50 +++++++++++++++++++++++++++---------------- configure.ac | 9 ++++++++ contrib/kimchi.spec.fedora.in | 16 -------------- contrib/kimchi.spec.suse.in | 18 ---------------- 4 files changed, 41 insertions(+), 52 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 91a0fa2..46b0b5b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,27 +115,41 @@ ChangeLog: fi
install-data-local: - @if test -d /usr/lib/systemd/system/ ; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -d /etc/systemd/system; then \ - $(INSTALL_DATA) contrib/kimchid.service.fedora /etc/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - else \ - $(INSTALL_DATA) contrib/kimchid.sysvinit /etc/init.d/kimchid; \ - chmod +x /etc/init.d/kimchid; \ - fi + @if test -d $(systemdsystemunitdir) ; then \ + mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ + $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + else \ + mkdir -p $(DESTDIR)/etc/init.d/ \ + $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \ + chmod +x $(DESTDIR)/etc/init.d/kimchid; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \
+ mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} + touch $(DESTDIR)/var/lib/kimchi/objectstore + mkdir -p $(DESTDIR)/var/log/kimchi/ + touch $(DESTDIR)/var/log/kimchi/kimchi-access.log + touch $(DESTDIR)/var/log/kimchi/kimchi-error.log + mkdir -p $(DESTDIR)/etc/kimchi/ + touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
You don't need to create the above directories/files as they will be created on demand on server start up.
Hi Aline,
after installing kimchi without creating those files, i got an error at make check:
make[3]: Entering directory '/home/ramonn/GitTrees/KIMCHI/tests' /bin/mkdir -p ../data/screenshots ./run_tests.sh Loading YumUpdate features. Loaded plugins: fastestmirror, ibm-repository, langpacks libvirt: Storage Driver error : cannot open path '/var/lib/kimchi/isos': No such file or directory Fatal: Unable to craete storage pool ISO. Please, check the configuration in /home/ramonn/GitTrees/KIMCHI/src/template.conf to ensure it has a valid storage pool. Details: cannot open path '/var/lib/kimchi/isos': No such file or directory
When were this directory created before?
It was being created on rpm spec.
We added the directory creation to spec file to avoid leftovers while removing the rpm package. So even though the directories are created there, they were created on server start up. Said that, you should have no issues in removing the directories creation from the 'make install'
It was right if i had installed by rpm, but in this test, i installed by make install (and then, no directory was created). To avoid leftovers by removing the rpm, the files need to be at the BUILDROOT of the rpm, that's what the make install was doing. So if we remove the file structure creation on spec and put it on make install, no leftovers will be there, and, all the structure will be present if the system is installed by make install. NOTE: This patch is not covering upstart installation. I'm discussing with Frederic about Makefile macros to make it.
Seems that not all dirs are being created on the startup
uninstall-local: - @if test -f /usr/lib/systemd/system/kimchid.service; then \ - $(RM) /usr/lib/systemd/system/kimchid.service; \ - systemctl daemon-reload; \ - elif test -f /etc/systemd/system/kimchid.service; then \ - $(RM) /etc/systemd/system/kimchid.service; \ + @if test -f $(systemdsystemunitdir)/kimchid.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ elif test -f /etc/init.d/kimchid; then \ - $(RM) /etc/init.d/kimchid; \ - fi - + $(RM) $(DESTDIR)/etc/init.d/kimchid; \ + $(RM) $(DESTDIR)/etc/init/kimchi.conf; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + $(RM) -rf $(DESTDIR)/var/lib/kimchi + $(RM) -rf $(DESTDIR)/var/log/kimchi + $(RM) -rf $(DESTDIR)/etc/kimchi + $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + VERSION: @if test -d .git; then \ git describe --abbrev=0 > $@; \ diff --git a/configure.ac b/configure.ac index f5091b8..0261b5f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,15 @@ else AC_SUBST([ENABLE_SAMPLE], [False]) fi
+# check for systemd +PKG_PROG_PKG_CONFIG +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +
So the user will need to pass that information during the build? Don't we have other way to discover it automatically?
AC_ARG_WITH( [spice-html5], [AS_HELP_STRING([--with-spice-html5], diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in index 30f8417..dc5533a 100644 --- a/contrib/kimchi.spec.fedora.in +++ b/contrib/kimchi.spec.fedora.in @@ -85,22 +85,6 @@ make DESTDIR=%{buildroot} install
%if 0%{?with_systemd}
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_sharedstatedir}/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_sharedstatedir}/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the systemd scripts -install -Dm 0644 contrib/kimchid.service.fedora %{buildroot}%{_unitdir}/kimchid.service -install -Dm 0640 src/firewalld.xml %{buildroot}%{_prefix}/lib/firewalld/services/kimchid.xml %endif
%if 0%{?rhel} == 6 diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in index bf85661..5681a60 100644 --- a/contrib/kimchi.spec.suse.in +++ b/contrib/kimchi.spec.suse.in @@ -54,24 +54,6 @@ make rm -rf %{buildroot} make DESTDIR=%{buildroot} install
-# create /var/lib/kimchi structure -mkdir -p %{buildroot}/%{_var}/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} -touch %{buildroot}/%{_var}/lib/kimchi/objectstore - -# create /var/log/kimchi structure -mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/ -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log -touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log - -# create /etc/kimchi structure -mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/ - -# create nginx configuration -touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf - -# Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid - %post chkconfig kimchid on
-- Ramon Nunes Medeiros Kimchi Developer Linux Technology Center Brazil IBM Systems & Technology Group Phone : +55 19 2132 7878 ramonn@br.ibm.com
participants (2)
-
Aline Manera
-
Ramon Medeiros