office-gobmx/sysui/CustomTarget_rpm.mk
Stephan Bergmann 52b3b38f14 Adapt to RPM 4.20
...which builds the spec file's code in a dedicated directory now, see
<https://github.com/rpm-software-management/rpm/issues/2078> "RFE: introduce an
rpm-controlled per-build directory to builds", and no longer in the directory
from which rpm is invoked.  So invent some libo_start_dir parameter to
communicate that directory into the rpm build.

Change-Id: I28268837caafe3b892f76e936dfa747fe13fb9bd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173779
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
2024-09-22 22:26:18 +02:00

60 lines
2.3 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
include $(SRCDIR)/sysui/productlist.mk
rpm_WORKDIR := $(gb_CustomTarget_workdir)/sysui/rpm
rpm_SRCDIR := $(SRCDIR)/sysui/desktop
RPMDISTROS := freedesktop
define rpm_register_target
$(call gb_CustomTarget_get_target,sysui/rpm): $(rpm_WORKDIR)/$(1)/$(1)$(PKGVERSIONSHORT)-$(2)-menus-$(PKGVERSION)-$(LIBO_VERSION_PATCH).noarch.rpm
$(rpm_WORKDIR)/$(1)-desktop-integration.tar.gz: $(rpm_WORKDIR)/$(1)/$(1)$(PKGVERSIONSHORT)-$(2)-menus-$(PKGVERSION)-$(LIBO_VERSION_PATCH).noarch.rpm
$(rpm_WORKDIR)/$(1)/$(1)$(PKGVERSIONSHORT)-$(2)-menus-$(PKGVERSION)-$(LIBO_VERSION_PATCH).noarch.rpm : \
$(rpm_SRCDIR)/$(2)/$(2)-menus.spec \
$(gb_CustomTarget_workdir)/sysui/share/$(1)/create_tree.sh \
| $(rpm_WORKDIR)/$(1)/.dir
$(call gb_Helper_print_on_error,\
$(RPM) -bb $$< \
--buildroot $(rpm_WORKDIR)/$(1)/$(2) \
--define "_builddir $(gb_CustomTarget_workdir)/sysui/share/$(1)" \
--define "_rpmdir $(rpm_WORKDIR)/$(1)" \
--define "_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm" \
--define "productname $(PRODUCTNAME.$(1))" \
--define "pkgprefix $(1)$(PKGVERSIONSHORT)" \
--define "unixfilename $(UNIXFILENAME.$(1))" \
--define "productversion $(PRODUCTVERSION)" \
--define "iconprefix $(UNIXFILENAME.$(1))" \
--define "version $(PKGVERSION)" \
--define "release $(LIBO_VERSION_PATCH)" \
--define "__debug_install_post %nil" \
--define "libo_start_dir $(gb_CustomTarget_workdir)/sysui/share/$(1)" \
, $$@.log \
)
endef
$(eval $(call gb_CustomTarget_CustomTarget,sysui/rpm))
$(foreach product,$(PRODUCTLIST),\
$(foreach distro,$(RPMDISTROS),\
$(eval $(call rpm_register_target,$(product),$(distro)))))
$(eval $(call gb_CustomTarget_register_targets,sysui/rpm,\
$(foreach product,$(PRODUCTLIST),\
$(product)-desktop-integration.tar.gz) \
))
$(rpm_WORKDIR)/%-desktop-integration.tar.gz:
fakeroot $(GNUTAR) -C $(rpm_WORKDIR)/$* -cf - $(foreach distro,$(RPMDISTROS),$*$(PKGVERSIONSHORT)-$(distro)-menus-$(PKGVERSION)-$(LIBO_VERSION_PATCH).noarch.rpm) | gzip > $@
# vim: set noet sw=4 ts=4: