To enable dark mode in cockpit we need to update the ref since both cockpit and the image-builder frontend have been updated to PF6. The old ref was still from before cockpit was migrated to PF6 and so the incorrect classes were being added.
111 lines
3.3 KiB
Makefile
111 lines
3.3 KiB
Makefile
PACKAGE_NAME = cockpit-image-builder
|
|
INSTALL_DIR_BASE = /share/cockpit/
|
|
INSTALL_DIR = $(INSTALL_DIR_BASE)$(PACKAGE_NAME)
|
|
APPSTREAMFILE=org.image-builder.$(PACKAGE_NAME).metainfo.xml
|
|
|
|
VERSION := $(shell (cd "$(SRCDIR)" && grep "^Version:" cockpit/$(PACKAGE_NAME).spec | sed 's/[^[:digit:]]*\([[:digit:]]\+\).*/\1/'))
|
|
COMMIT = $(shell (cd "$(SRCDIR)" && git rev-parse HEAD))
|
|
|
|
# TODO: figure out a strategy for keeping this updated
|
|
COCKPIT_REPO_COMMIT = a70142a7a6f9c4e78e71f3c4ec738b6db2fbb04f
|
|
COCKPIT_REPO_URL = https://github.com/cockpit-project/cockpit.git
|
|
COCKPIT_REPO_TREE = '$(strip $(COCKPIT_REPO_COMMIT))^{tree}'
|
|
|
|
# checkout common files from Cockpit repository required to build this project;
|
|
# this has no API stability guarantee, so check out a stable tag when you start
|
|
# a new project, use the latest release, and update it from time to time
|
|
COCKPIT_REPO_FILES = \
|
|
pkg/lib \
|
|
$(NULL)
|
|
|
|
help:
|
|
@cat Makefile
|
|
|
|
#
|
|
# Install target for specfile
|
|
#
|
|
|
|
.PHONY: install
|
|
install:
|
|
$(MAKE) cockpit/install
|
|
|
|
#
|
|
# Cockpit related targets
|
|
#
|
|
|
|
.PHONY: cockpit/clean
|
|
cockpit/clean:
|
|
rm -f cockpit/public/*.css
|
|
rm -f cockpit/public/*.js
|
|
|
|
.PHONY: cockpit/install
|
|
cockpit/install:
|
|
mkdir -p $(DESTDIR)$(PREFIX)$(INSTALL_DIR)
|
|
cp -a cockpit/public/* $(DESTDIR)$(PREFIX)$(INSTALL_DIR)
|
|
mkdir -p $(DESTDIR)$(PREFIX)/share/metainfo
|
|
msgfmt --xml -d po \
|
|
--template cockpit/public/$(APPSTREAMFILE) \
|
|
-o $(DESTDIR)$(PREFIX)/share/metainfo/$(APPSTREAMFILE)
|
|
|
|
.PHONY: cockpit/devel-uninstall
|
|
cockpit/devel-uninstall: PREFIX=~/.local
|
|
cockpit/devel-uninstall:
|
|
rm -rf $(PREFIX)$(INSTALL_DIR)
|
|
|
|
.PHONY: cockpit/devel-install
|
|
cockpit/devel-install: PREFIX=~/.local
|
|
cockpit/devel-install:
|
|
PREFIX="~/.local"
|
|
mkdir -p $(PREFIX)$(INSTALL_DIR_BASE)
|
|
ln -s $(shell pwd)/cockpit/public $(PREFIX)$(INSTALL_DIR)
|
|
|
|
.PHONY: cockpit/download
|
|
cockpit/download: Makefile
|
|
@git rev-list --quiet --objects $(COCKPIT_REPO_TREE) -- 2>/dev/null || \
|
|
git fetch --no-tags --no-write-fetch-head --depth=1 $(COCKPIT_REPO_URL) $(COCKPIT_REPO_COMMIT)
|
|
git archive $(COCKPIT_REPO_TREE) -- $(COCKPIT_REPO_FILES) | tar x
|
|
|
|
.PHONY: cockpit/build
|
|
cockpit/build: cockpit/download
|
|
npm run build:cockpit
|
|
|
|
.PHONY: cockpit/devel
|
|
cockpit/devel: cockpit/devel-uninstall cockpit/build cockpit/devel-install
|
|
|
|
#
|
|
# Building packages
|
|
#
|
|
|
|
RPM_SPEC=cockpit/$(PACKAGE_NAME).spec
|
|
NODE_MODULES_TEST=package-lock.json
|
|
TARFILE=$(PACKAGE_NAME)-$(VERSION).tar.gz
|
|
|
|
$(RPM_SPEC): $(RPM_SPEC) $(NODE_MODULES_TEST)
|
|
provides=$$(npm ls --omit dev --package-lock-only --depth=Infinity | grep -Eo '[^[:space:]]+@[^[:space:]]+' | sort -u | sed 's/^/Provides: bundled(npm(/; s/\(.*\)@/\1)) = /'); \
|
|
awk -v p="$$provides" '{gsub(/%{VERSION}/, "$(VERSION)"); $(SUB_NODE_ENV) gsub(/%{NPM_PROVIDES}/, p)}1' $< > $@
|
|
|
|
$(TARFILE): export NODE_ENV ?= production
|
|
$(TARFILE): cockpit/build
|
|
touch -r package.json package-lock.json
|
|
touch cockpit/public/*
|
|
tar czf $(TARFILE) --transform 's,^,$(PACKAGE_NAME)/,' \
|
|
--exclude node_modules \
|
|
$$(git ls-files) $(RPM_SPEC) $(NODE_MODULES_TEST) cockpit/public/ cockpit/README.md
|
|
realpath $(TARFILE)
|
|
|
|
dist: $(TARFILE)
|
|
@ls -1 $(TARFILE)
|
|
|
|
.PHONY: srpm
|
|
srpm: $(TARFILE)
|
|
rpmbuild -bs \
|
|
--define "_sourcedir `pwd`" \
|
|
--define "_topdir $(CURDIR)/rpmbuild" \
|
|
$(RPM_SPEC)
|
|
|
|
.PHONY: rpm
|
|
rpm: $(TARFILE)
|
|
rpmbuild -bb \
|
|
--define "_sourcedir `pwd`" \
|
|
--define "_topdir $(CURDIR)/rpmbuild" \
|
|
$(RPM_SPEC)
|