Rebuild webpack during RPM build
This is necessary to comply with Fedora's packaging policy: https://docs.fedoraproject.org/en-US/packaging-guidelines/JavaScript/ Include the node cache in the source rpm, unpack it into the main source dir, and force a webpack rebuild in `%build`.
This commit is contained in:
parent
4ca75f143c
commit
9574611768
3 changed files with 18 additions and 5 deletions
4
Makefile
4
Makefile
|
|
@ -100,7 +100,7 @@ $(NODE_CACHE): $(NODE_MODULES_TEST)
|
||||||
|
|
||||||
node-cache: $(NODE_CACHE)
|
node-cache: $(NODE_CACHE)
|
||||||
|
|
||||||
srpm: $(TARFILE) cockpit-$(PACKAGE_NAME).spec
|
srpm: $(TARFILE) $(NODE_CACHE) cockpit-$(PACKAGE_NAME).spec
|
||||||
rpmbuild -bs \
|
rpmbuild -bs \
|
||||||
--define "_sourcedir `pwd`" \
|
--define "_sourcedir `pwd`" \
|
||||||
--define "_srcrpmdir `pwd`" \
|
--define "_srcrpmdir `pwd`" \
|
||||||
|
|
@ -108,7 +108,7 @@ srpm: $(TARFILE) cockpit-$(PACKAGE_NAME).spec
|
||||||
|
|
||||||
rpm: $(RPMFILE)
|
rpm: $(RPMFILE)
|
||||||
|
|
||||||
$(RPMFILE): $(TARFILE) cockpit-$(PACKAGE_NAME).spec
|
$(RPMFILE): $(TARFILE) $(NODE_CACHE) cockpit-$(PACKAGE_NAME).spec
|
||||||
mkdir -p "`pwd`/output"
|
mkdir -p "`pwd`/output"
|
||||||
mkdir -p "`pwd`/rpmbuild"
|
mkdir -p "`pwd`/rpmbuild"
|
||||||
rpmbuild -bb \
|
rpmbuild -bb \
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,10 @@ Release: 1%{?dist}
|
||||||
Summary: Cockpit Starter Kit Example Module
|
Summary: Cockpit Starter Kit Example Module
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
|
|
||||||
Source: cockpit-starter-kit-%{version}.tar.xz
|
Source0: https://github.com/cockpit-project/starter-kit/releases/download/%{version}/cockpit-starter-kit-%{version}.tar.xz
|
||||||
|
Source1: https://github.com/cockpit-project/starter-kit/releases/download/%{version}/cockpit-starter-kit-node-%{version}.tar.xz
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
BuildRequires: nodejs
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: libappstream-glib
|
BuildRequires: libappstream-glib
|
||||||
|
|
||||||
|
|
@ -17,7 +19,13 @@ Requires: cockpit-system
|
||||||
Cockpit Starter Kit Example Module
|
Cockpit Starter Kit Example Module
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -n cockpit-starter-kit
|
%setup -q -n cockpit-starter-kit
|
||||||
|
%setup -q -a 1 -n cockpit-starter-kit
|
||||||
|
|
||||||
|
%build
|
||||||
|
# ignore pre-built webpack in release tarball and rebuild it
|
||||||
|
rm -rf dist
|
||||||
|
NODE_ENV=production make
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install
|
%make_install
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,12 @@
|
||||||
|
|
||||||
specfile_path: cockpit-starter-kit.spec
|
specfile_path: cockpit-starter-kit.spec
|
||||||
actions:
|
actions:
|
||||||
post-upstream-clone: make cockpit-starter-kit.spec
|
post-upstream-clone:
|
||||||
|
post-upstream-clone:
|
||||||
|
- make cockpit-starter-kit.spec
|
||||||
|
# replace Source1 manually, as create-archive: can't handle multiple tarballs
|
||||||
|
- make node-cache
|
||||||
|
- sh -c 'sed -i "/^Source1:/ s/https:.*/$(ls *-node*.tar.xz)/" cockpit-*.spec'
|
||||||
# build in development mode; production mode uses too much memory for limited
|
# build in development mode; production mode uses too much memory for limited
|
||||||
# sandcastle containers; also reduce memory consumption of webpack
|
# sandcastle containers; also reduce memory consumption of webpack
|
||||||
# https://github.com/packit/sandcastle/pull/92
|
# https://github.com/packit/sandcastle/pull/92
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue