From 300414098b0e8af5bcd33433041d0dbe50dfb5c8 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Thu, 21 May 2026 18:55:38 +0300 Subject: [PATCH] Initial commit --- .gitignore | 3 +++ check-version.sh | 15 +++++++++++++++ pkg.info | 27 ++++++++++++++++++++++++++ source-files/dconf-update.bpmhook | 4 ++++ source-files/dconf-update.sh | 9 +++++++++ source.sh | 32 +++++++++++++++++++++++++++++++ 6 files changed, 90 insertions(+) create mode 100644 .gitignore create mode 100644 check-version.sh create mode 100644 pkg.info create mode 100644 source-files/dconf-update.bpmhook create mode 100644 source-files/dconf-update.sh create mode 100644 source.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9d96df7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Ignore BPM archives and signatures +*.bpm +*.bpm.sig diff --git a/check-version.sh b/check-version.sh new file mode 100644 index 0000000..0d5d911 --- /dev/null +++ b/check-version.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Gitlab repository +REPO="GNOME/dconf" + +# Replace slash with URL encoded representation +REPO=$(echo "$REPO" | sed 's|/|%2F|g') + +# Get tag name using Gitlab Rest API +TAG_NAME=$(curl -s -L https://gitlab.gnome.org/api/v4/projects/"$REPO"/releases/permalink/latest | jq -r '.tag_name') + +# Trim 'v' character in TAG_NAME variable +VERSION=$(echo "$TAG_NAME" | tr -d 'v') + +echo "$VERSION" diff --git a/pkg.info b/pkg.info new file mode 100644 index 0000000..fdd696b --- /dev/null +++ b/pkg.info @@ -0,0 +1,27 @@ +name: dconf +description: Configuration database system +version: 0.49.0 +revision: 1 +url: https://wiki.gnome.org/Projects/dconf +license: LGPL2.1-or-later +maintainers: + - enumdev@enumerated.dev +architecture: any +type: source +depends: + - bash + - gcc-libs + - glib + - glibc +make_depends: + - bash-completion + - dbus + - gtk-doc + - meson + - python3 + - vala +downloads: + - url: https://download.gnome.org/sources/dconf/${BPM_PKG_VERSION%.*}/dconf-${BPM_PKG_VERSION}.tar.xz + extract_to: ${BPM_SOURCE} + extract_strip_components: 1 + checksum: 16a47e49a58156dbb96578e1708325299e4c19eea9be128d5bd12fd0963d6c36 diff --git a/source-files/dconf-update.bpmhook b/source-files/dconf-update.bpmhook new file mode 100644 index 0000000..b67f430 --- /dev/null +++ b/source-files/dconf-update.bpmhook @@ -0,0 +1,4 @@ +trigger_actions: ["install", "upgrade", "remove"] +targets: ["etc/dconf/db/*.d/"] +run: "/var/lib/bpm/hooks/dconf-update.sh" +pass_targets: true diff --git a/source-files/dconf-update.sh b/source-files/dconf-update.sh new file mode 100644 index 0000000..61d48a5 --- /dev/null +++ b/source-files/dconf-update.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +while read -r d; do + if [[ ! -d $d ]]; then + rm -f "${d%.d/}" + fi +done + +dconf update diff --git a/source.sh b/source.sh new file mode 100644 index 0000000..5990034 --- /dev/null +++ b/source.sh @@ -0,0 +1,32 @@ +# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package +# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE +# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT + +# The build function is executed in the source directory +# This function is used to compile the source code +build() { + meson setup build --prefix=/usr -Dgtk_doc=true + meson compile -C build +} + +# The check function is executed in the source directory +# This function is used to run tests to verify the package has been compiled correctly +check() { + meson test -C build --print-errorlogs +} + +# The package function is executed in the source directory +# This function is used to move the compiled files into the output directory +package() { + meson install -C build --destdir="$BPM_OUTPUT" + + # Remove systemd files + rm -rf "$BPM_OUTPUT"/usr/lib/systemd + + # Install bpm hook + install -Dm755 "$BPM_WORKDIR"/dconf-update.sh "$BPM_OUTPUT"/var/lib/bpm/hook-scripts/dconf-update.sh + install -Dm644 "$BPM_WORKDIR"/dconf-update.bpmhook "$BPM_OUTPUT"/var/lib/bpm/hooks/dconf-update.bpmhook + + # Install package license + install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/dconf/COPYING +}