buildroot:cockpit
Table of Contents
cockpit
A systemd web based user interface for Linux servers
| runtime dependencies | libkrb5 (Libraries/Networking) |
|---|---|
| glib-networking (Libraries/Networking) | |
| libssh (Libraries/Crypto) | |
| openssl (Libraries/Crypto) | |
| json-glib (Libraries/JSON/XML) | |
| libpwquality (Libraries/Other) | |
| kexec (Debugging, profiling and benchmark) | |
| perl-json-tiny (Interpreter languages and scripting/Perl libraries/modules) | |
| accountsservice | |
| perl-locale-po | |
| make dependencies | git (Development tools) |
| perl-json-tiny (Interpreter languages and scripting/Perl libraries/modules) | |
| glib-networking (Libraries/Networking) | |
| libkrb5 (Libraries/Networking) | |
| json-glib (Libraries/JSON/XML) | |
| libssh (Libraries/Crypto) | |
| accountsservice | |
| perl-locale-po | |
| npm | |
| gtk-doc | |
| intltool | |
| gendesk | |
| libgsystem | |
| networkmanager | |
| pcp | |
| xmlto | |
| libjson-glib-dev | |
| libpam-dev | |
| libkrb5-dev | |
| libpolkit-agent-1-dev | |
| libssh-dev | |
| gobject-introspection |
Pré requis
apt install gtk-doc intltool libgsystem networkmanager pcp xmlto libjson-glib-dev libpam-dev libkrb5-dev libpolkit-agent-1-dev libssh-dev gobject-introspection
Recette
mkdir /data/buildroot/package/cockpit
cat > /data/buildroot/package/cockpit/Config.in<< 'EOF'
config BR2_PACKAGE_COCKPIT
bool "cockpit"
depends on BR2_PACKAGE_LIBKRB5
depends on BR2_PACKAGE_LIBSSH
depends on BR2_PACKAGE_ACCOUNTSSERVICE
depends on BR2_PACKAGE_PERL_JSON_TINY
depends on BR2_PACKAGE_PERL_LOCALE_PO
depends on BR2_PACKAGE_JSON_GLIB
depends on BR2_PACKAGE_GLIB_NETWORKING
depends on BR2_PACKAGE_LIBPWQUALITY
depends on BR2_PACKAGE_OPENSSL
depends on BR2_PACKAGE_KEXEC
help
REST API, command line tool and OpenStack integration plugin for LXC.
EOF
cat > /data/buildroot/package/cockpit/cockpit.mk<< 'EOF'
#############################################################
#
# cockpit
#
#############################################################
COCKPIT_VERSION = 264.1
COCKPIT_SOURCE = cockpit-$(COCKPIT_VERSION).tar.xz
COCKPIT_SITE = https://github.com/cockpit-project/cockpit/releases/download/$(COCKPIT_VERSION)
COCKPIT_DEPENDENCIES = libkrb5 libssh accountsservice perl-json-tiny perl-locale-po json-glib glib-networking libpwquality openssl kexec
COCKPIT_BIN_ARCH_EXCLUDE = /usr/lib
define COCKPIT_CONFIGURE_CMDS
cd $(@D)/ && \
wget https://raw.githubusercontent.com/archlinux/svntogit-community/packages/cockpit/trunk/cockpit-ws.sysuser.conf && \
wget https://raw.githubusercontent.com/archlinux/svntogit-community/packages/cockpit/trunk/cockpit-wsinstance.sysuser.conf && \
wget https://raw.githubusercontent.com/archlinux/svntogit-community/packages/cockpit/trunk/cockpit.pam && \
sed -r '/^cmd_make_package_lock_json\b/ a exit 0' -i tools/node-modules
endef
define COCKPIT_BUILD_CMDS
cd $(@D)/ && \
PKG_CONFIG_PATH="$(STAGING_DIR)/lib/pkgconfig/" ./configure \
--prefix=/usr \
--sbindir=/usr/bin \
--libexecdir=/usr/lib/cockpit/ \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-dependency-tracking \
--disable-silent-rules \
--disable-pcp \
--disable-doc \
--with-cockpit-user=cockpit-ws \
--with-cockpit-ws-instance-user=cockpit-wsinstance && \
make all
endef
define COCKPIT_INSTALL_TARGET_CMDS
cd $(@D)/ && \
make DESTDIR="$(TARGET_DIR)" install
rm -rf "$(TARGET_DIR)"/usr/{src,lib/firewalld}
install -Dm644 "$(@D)"/cockpit.pam "$(TARGET_DIR)"/etc/pam.d/cockpit
install -Dm644 "$(@D)"/cockpit-ws.sysuser.conf "$(TARGET_DIR)"/usr/lib/sysusers.d/cockpit-ws.conf
install -Dm644 "$(@D)"/cockpit-wsinstance.sysuser.conf "$(TARGET_DIR)"/usr/lib/sysusers.d/cockpit-wsinstance.conf
echo "z /usr/lib/cockpit/cockpit-session - - cockpit-wsinstance -" >> "$(TARGET_DIR)"/usr/lib/tmpfiles.d/cockpit-tempfiles.conf
#install -Dm644 cockpit.desktop "$(TARGET_DIR)"/usr/share/applications/org.cockpit_project.CockpitClient.desktop
# remove unused plugins
rm -rf "$(TARGET_DIR)"/usr/share/cockpit/{selinux,playground,sosreport} \
"$(TARGET_DIR)"/usr/share/metainfo/org.cockpit-project.cockpit-{selinux,sosreport}.metainfo.xml
endef
define COCKPIT_USERS
cockpit-wsinstance -1 cockpit-wsinstance -1 = - - - cockpit wsinstance
endef
$(eval $(generic-package))
EOF
sed -i '/menu "Custom packages"/a source "package/cockpit/Config.in"' /data/buildroot/package/Config.in
buildroot/cockpit.txt · Last modified: 2025/02/19 10:59 by 127.0.0.1
