mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-31 08:52:49 -05:00
Compare commits
14 Commits
98769ecd88
...
0dbd59b223
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0dbd59b223 | ||
|
|
b2066c60d1 | ||
|
|
8d7ae324ff | ||
|
|
c0d3c4f875 | ||
|
|
27a771648a | ||
|
|
86affc7304 | ||
|
|
d939b99628 | ||
|
|
1fcf777f3d | ||
|
|
7a8e23faa9 | ||
|
|
73a4dd3321 | ||
|
|
13ce873a69 | ||
|
|
406dc64aba | ||
|
|
af5d6a2015 | ||
|
|
61c6f509ae |
73
.github/workflows/release.yml
vendored
73
.github/workflows/release.yml
vendored
@@ -3,7 +3,7 @@ name: Release
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- 'v*'
|
- "v*"
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@@ -128,48 +128,48 @@ jobs:
|
|||||||
core/completion.zsh
|
core/completion.zsh
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
update-versions:
|
# update-versions:
|
||||||
runs-on: ubuntu-latest
|
# runs-on: ubuntu-latest
|
||||||
needs: build-core
|
# needs: build-core
|
||||||
steps:
|
# steps:
|
||||||
- name: Create GitHub App token
|
# - name: Create GitHub App token
|
||||||
id: app_token
|
# id: app_token
|
||||||
uses: actions/create-github-app-token@v1
|
# uses: actions/create-github-app-token@v1
|
||||||
with:
|
# with:
|
||||||
app-id: ${{ secrets.APP_ID }}
|
# app-id: ${{ secrets.APP_ID }}
|
||||||
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
# private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
- name: Checkout
|
# - name: Checkout
|
||||||
uses: actions/checkout@v4
|
# uses: actions/checkout@v4
|
||||||
with:
|
# with:
|
||||||
token: ${{ steps.app_token.outputs.token }}
|
# token: ${{ steps.app_token.outputs.token }}
|
||||||
fetch-depth: 0
|
# fetch-depth: 0
|
||||||
|
|
||||||
- name: Update VERSION
|
# - name: Update VERSION
|
||||||
env:
|
# env:
|
||||||
GH_TOKEN: ${{ steps.app_token.outputs.token }}
|
# GH_TOKEN: ${{ steps.app_token.outputs.token }}
|
||||||
run: |
|
# run: |
|
||||||
set -euo pipefail
|
# set -euo pipefail
|
||||||
git config user.name "dms-ci[bot]"
|
# git config user.name "dms-ci[bot]"
|
||||||
git config user.email "dms-ci[bot]@users.noreply.github.com"
|
# git config user.email "dms-ci[bot]@users.noreply.github.com"
|
||||||
|
|
||||||
version="${GITHUB_REF#refs/tags/}"
|
# version="${GITHUB_REF#refs/tags/}"
|
||||||
echo "Updating to version: $version"
|
# echo "Updating to version: $version"
|
||||||
echo "${version}" > quickshell/VERSION
|
# echo "${version}" > quickshell/VERSION
|
||||||
git add quickshell/VERSION
|
# git add quickshell/VERSION
|
||||||
|
|
||||||
if ! git diff --cached --quiet; then
|
# if ! git diff --cached --quiet; then
|
||||||
git commit -m "chore: bump version to $version"
|
# git commit -m "chore: bump version to $version"
|
||||||
git pull --rebase origin master
|
# git pull --rebase origin master
|
||||||
git push https://x-access-token:${GH_TOKEN}@github.com/${{ github.repository }}.git HEAD:master
|
# git push https://x-access-token:${GH_TOKEN}@github.com/${{ github.repository }}.git HEAD:master
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
git tag -f "${version}"
|
# git tag -f "${version}"
|
||||||
git push -f https://x-access-token:${GH_TOKEN}@github.com/${{ github.repository }}.git "${version}"
|
# git push -f https://x-access-token:${GH_TOKEN}@github.com/${{ github.repository }}.git "${version}"
|
||||||
|
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
needs: [build-core, update-versions]
|
needs: [build-core] #, update-versions]
|
||||||
env:
|
env:
|
||||||
TAG: ${{ github.ref_name }}
|
TAG: ${{ github.ref_name }}
|
||||||
steps:
|
steps:
|
||||||
@@ -273,6 +273,9 @@ jobs:
|
|||||||
# Copy root LICENSE and CONTRIBUTING.md to quickshell/ for packaging
|
# Copy root LICENSE and CONTRIBUTING.md to quickshell/ for packaging
|
||||||
cp LICENSE CONTRIBUTING.md quickshell/
|
cp LICENSE CONTRIBUTING.md quickshell/
|
||||||
|
|
||||||
|
# Copy root assets directory to quickshell for systemd service and desktop file
|
||||||
|
cp -r assets quickshell/
|
||||||
|
|
||||||
# Tar the CONTENTS of quickshell/, not the directory itself
|
# Tar the CONTENTS of quickshell/, not the directory itself
|
||||||
(cd quickshell && tar --exclude='.git' \
|
(cd quickshell && tar --exclude='.git' \
|
||||||
--exclude='.github' \
|
--exclude='.github' \
|
||||||
|
|||||||
14
.github/workflows/run-ppa.yml
vendored
14
.github/workflows/run-ppa.yml
vendored
@@ -130,6 +130,12 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
PACKAGES="${{ steps.packages.outputs.packages }}"
|
PACKAGES="${{ steps.packages.outputs.packages }}"
|
||||||
|
|
||||||
|
# Export to ensure it's available to subprocesses
|
||||||
|
if [ -n "$REBUILD_RELEASE" ]; then
|
||||||
|
export REBUILD_RELEASE
|
||||||
|
echo "✓ Using rebuild release number: ppa$REBUILD_RELEASE"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "$PACKAGES" == "all" ]]; then
|
if [[ "$PACKAGES" == "all" ]]; then
|
||||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
echo "Uploading dms to PPA..."
|
echo "Uploading dms to PPA..."
|
||||||
@@ -137,25 +143,25 @@ jobs:
|
|||||||
echo "🔄 Using rebuild release number: ppa$REBUILD_RELEASE"
|
echo "🔄 Using rebuild release number: ppa$REBUILD_RELEASE"
|
||||||
fi
|
fi
|
||||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
bash distro/scripts/ppa-upload.sh "distro/ubuntu/dms" dms questing
|
REBUILD_RELEASE="$REBUILD_RELEASE" bash distro/scripts/ppa-upload.sh "distro/ubuntu/dms" dms questing
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
echo "Uploading dms-git to PPA..."
|
echo "Uploading dms-git to PPA..."
|
||||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
bash distro/scripts/ppa-upload.sh "distro/ubuntu/dms-git" dms-git questing
|
REBUILD_RELEASE="$REBUILD_RELEASE" bash distro/scripts/ppa-upload.sh "distro/ubuntu/dms-git" dms-git questing
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
echo "Uploading dms-greeter to PPA..."
|
echo "Uploading dms-greeter to PPA..."
|
||||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
bash distro/scripts/ppa-upload.sh "distro/ubuntu/dms-greeter" danklinux questing
|
REBUILD_RELEASE="$REBUILD_RELEASE" bash distro/scripts/ppa-upload.sh "distro/ubuntu/dms-greeter" danklinux questing
|
||||||
else
|
else
|
||||||
PPA_NAME="$PACKAGES"
|
PPA_NAME="$PACKAGES"
|
||||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
echo "Uploading $PACKAGES to PPA..."
|
echo "Uploading $PACKAGES to PPA..."
|
||||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
bash distro/scripts/ppa-upload.sh "distro/ubuntu/$PACKAGES" "$PPA_NAME" questing
|
REBUILD_RELEASE="$REBUILD_RELEASE" bash distro/scripts/ppa-upload.sh "distro/ubuntu/$PACKAGES" "$PPA_NAME" questing
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Summary
|
- name: Summary
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
dms-git (0.6.2+git2419.993f14a3) nightly; urgency=medium
|
dms-git (1.0.0+git2419.993f14a3) nightly; urgency=medium
|
||||||
|
|
||||||
|
* Major stable release v1.0.0
|
||||||
* widgets: make dank icon picker a popup
|
* widgets: make dank icon picker a popup
|
||||||
* Previous updates included in build
|
* Previous updates included in build
|
||||||
|
|
||||||
|
|||||||
@@ -3,19 +3,19 @@
|
|||||||
<service name="download_url">
|
<service name="download_url">
|
||||||
<param name="protocol">https</param>
|
<param name="protocol">https</param>
|
||||||
<param name="host">github.com</param>
|
<param name="host">github.com</param>
|
||||||
<param name="path">/AvengeMedia/DankMaterialShell/archive/refs/tags/v0.6.2.tar.gz</param>
|
<param name="path">/AvengeMedia/DankMaterialShell/archive/refs/tags/v1.0.0.tar.gz</param>
|
||||||
<param name="filename">dms-source.tar.gz</param>
|
<param name="filename">dms-source.tar.gz</param>
|
||||||
</service>
|
</service>
|
||||||
<!-- Download amd64 binary -->
|
<!-- Download amd64 binary -->
|
||||||
<service name="download_url">
|
<service name="download_url">
|
||||||
<param name="protocol">https</param>
|
<param name="protocol">https</param>
|
||||||
<param name="host">github.com</param>
|
<param name="host">github.com</param>
|
||||||
<param name="path">/AvengeMedia/DankMaterialShell/releases/download/v0.6.2/dms-distropkg-amd64.gz</param>
|
<param name="path">/AvengeMedia/DankMaterialShell/releases/download/v1.0.0/dms-distropkg-amd64.gz</param>
|
||||||
</service>
|
</service>
|
||||||
<!-- Download arm64 binary -->
|
<!-- Download arm64 binary -->
|
||||||
<service name="download_url">
|
<service name="download_url">
|
||||||
<param name="protocol">https</param>
|
<param name="protocol">https</param>
|
||||||
<param name="host">github.com</param>
|
<param name="host">github.com</param>
|
||||||
<param name="path">/AvengeMedia/DankMaterialShell/releases/download/v0.6.2/dms-distropkg-arm64.gz</param>
|
<param name="path">/AvengeMedia/DankMaterialShell/releases/download/v1.0.0/dms-distropkg-arm64.gz</param>
|
||||||
</service>
|
</service>
|
||||||
</services>
|
</services>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
dms (0.6.2) stable; urgency=medium
|
dms (1.0.0) stable; urgency=medium
|
||||||
|
|
||||||
* Update to v0.6.2 release
|
* Update to v1.0.0 release
|
||||||
|
* Major stable release
|
||||||
* Fix binary download paths for OBS builds
|
* Fix binary download paths for OBS builds
|
||||||
* Native format: removed revisions
|
* Native format: removed revisions
|
||||||
|
|
||||||
|
|||||||
@@ -42,8 +42,10 @@ override_dh_auto_build:
|
|||||||
elif [ -f dms-source.tar.gz ]; then \
|
elif [ -f dms-source.tar.gz ]; then \
|
||||||
tar -xzf dms-source.tar.gz; \
|
tar -xzf dms-source.tar.gz; \
|
||||||
fi; \
|
fi; \
|
||||||
if [ ! -d DankMaterialShell-$(UPSTREAM_VERSION) ] && [ -d DankMaterialShell-0.6.2 ]; then \
|
SOURCE_DIR=$$(find . -maxdepth 1 -type d -name "DankMaterialShell-*" ! -name "DankMaterialShell-$(UPSTREAM_VERSION)" | head -n1); \
|
||||||
mv DankMaterialShell-0.6.2 DankMaterialShell-$(UPSTREAM_VERSION); \
|
if [ -n "$$SOURCE_DIR" ] && [ "$$SOURCE_DIR" != "./DankMaterialShell-$(UPSTREAM_VERSION)" ]; then \
|
||||||
|
echo "Renaming $$SOURCE_DIR to DankMaterialShell-$(UPSTREAM_VERSION)"; \
|
||||||
|
mv "$$SOURCE_DIR" DankMaterialShell-$(UPSTREAM_VERSION); \
|
||||||
fi; \
|
fi; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -53,8 +55,12 @@ override_dh_auto_install:
|
|||||||
|
|
||||||
mkdir -p debian/dms/usr/share/quickshell/dms debian/dms/usr/lib/systemd/user
|
mkdir -p debian/dms/usr/share/quickshell/dms debian/dms/usr/lib/systemd/user
|
||||||
# Handle directory name mismatch again for install step if needed
|
# Handle directory name mismatch again for install step if needed
|
||||||
if [ ! -d DankMaterialShell-$(UPSTREAM_VERSION) ] && [ -d DankMaterialShell-0.6.2 ]; then \
|
if [ ! -d DankMaterialShell-$(UPSTREAM_VERSION) ]; then \
|
||||||
mv DankMaterialShell-0.6.2 DankMaterialShell-$(UPSTREAM_VERSION); \
|
SOURCE_DIR=$$(find . -maxdepth 1 -type d -name "DankMaterialShell-*" | head -n1); \
|
||||||
|
if [ -n "$$SOURCE_DIR" ]; then \
|
||||||
|
echo "Renaming $$SOURCE_DIR to DankMaterialShell-$(UPSTREAM_VERSION) for install"; \
|
||||||
|
mv "$$SOURCE_DIR" DankMaterialShell-$(UPSTREAM_VERSION); \
|
||||||
|
fi; \
|
||||||
fi
|
fi
|
||||||
if [ -d DankMaterialShell-$(UPSTREAM_VERSION) ]; then \
|
if [ -d DankMaterialShell-$(UPSTREAM_VERSION) ]; then \
|
||||||
cp -r DankMaterialShell-$(UPSTREAM_VERSION)/quickshell/* debian/dms/usr/share/quickshell/dms/; \
|
cp -r DankMaterialShell-$(UPSTREAM_VERSION)/quickshell/* debian/dms/usr/share/quickshell/dms/; \
|
||||||
|
|||||||
@@ -12,14 +12,6 @@ in
|
|||||||
qmlPath = "${dmsPkgs.dms-shell}/share/quickshell/dms";
|
qmlPath = "${dmsPkgs.dms-shell}/share/quickshell/dms";
|
||||||
|
|
||||||
packages = [
|
packages = [
|
||||||
pkgs.material-symbols
|
|
||||||
pkgs.inter
|
|
||||||
pkgs.fira-code
|
|
||||||
|
|
||||||
pkgs.ddcutil
|
|
||||||
pkgs.libsForQt5.qt5ct
|
|
||||||
pkgs.kdePackages.qt6ct
|
|
||||||
|
|
||||||
dmsPkgs.dms-shell
|
dmsPkgs.dms-shell
|
||||||
]
|
]
|
||||||
++ lib.optional cfg.enableSystemMonitoring dmsPkgs.dgop
|
++ lib.optional cfg.enableSystemMonitoring dmsPkgs.dgop
|
||||||
@@ -31,8 +23,6 @@ in
|
|||||||
pkgs.glib
|
pkgs.glib
|
||||||
pkgs.networkmanager
|
pkgs.networkmanager
|
||||||
]
|
]
|
||||||
++ lib.optional cfg.enableBrightnessControl pkgs.brightnessctl
|
|
||||||
++ lib.optional cfg.enableColorPicker pkgs.hyprpicker
|
|
||||||
++ lib.optional cfg.enableDynamicTheming pkgs.matugen
|
++ lib.optional cfg.enableDynamicTheming pkgs.matugen
|
||||||
++ lib.optional cfg.enableAudioWavelength pkgs.cava
|
++ lib.optional cfg.enableAudioWavelength pkgs.cava
|
||||||
++ lib.optional cfg.enableCalendarEvents pkgs.khal
|
++ lib.optional cfg.enableCalendarEvents pkgs.khal
|
||||||
|
|||||||
@@ -40,5 +40,8 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = [ cfg.quickshell.package ] ++ common.packages;
|
environment.systemPackages = [ cfg.quickshell.package ] ++ common.packages;
|
||||||
|
|
||||||
|
services.power-profiles-daemon.enable = lib.mkDefault true;
|
||||||
|
services.accounts-daemon.enable = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,11 +5,21 @@
|
|||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib) types;
|
inherit (lib) types;
|
||||||
|
path = [
|
||||||
|
"programs"
|
||||||
|
"dankMaterialShell"
|
||||||
|
];
|
||||||
|
|
||||||
|
builtInRemovedMsg = "This is now built-in in DMS and doesn't need additional dependencies.";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
(lib.mkRemovedOptionModule (path ++ [ "enableBrightnessControl" ]) builtInRemovedMsg)
|
||||||
|
(lib.mkRemovedOptionModule (path ++ [ "enableColorPicker" ]) builtInRemovedMsg)
|
||||||
|
];
|
||||||
|
|
||||||
options.programs.dankMaterialShell = {
|
options.programs.dankMaterialShell = {
|
||||||
enable = lib.mkEnableOption "DankMaterialShell";
|
enable = lib.mkEnableOption "DankMaterialShell";
|
||||||
|
|
||||||
systemd = {
|
systemd = {
|
||||||
enable = lib.mkEnableOption "DankMaterialShell systemd startup";
|
enable = lib.mkEnableOption "DankMaterialShell systemd startup";
|
||||||
restartIfChanged = lib.mkOption {
|
restartIfChanged = lib.mkOption {
|
||||||
@@ -33,16 +43,6 @@ in
|
|||||||
default = true;
|
default = true;
|
||||||
description = "Add needed dependencies to use the VPN widget";
|
description = "Add needed dependencies to use the VPN widget";
|
||||||
};
|
};
|
||||||
enableBrightnessControl = lib.mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
description = "Add needed dependencies to have brightness/backlight support";
|
|
||||||
};
|
|
||||||
enableColorPicker = lib.mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
description = "Add needed dependencies to have color picking support";
|
|
||||||
};
|
|
||||||
enableDynamicTheming = lib.mkOption {
|
enableDynamicTheming = lib.mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
%global debug_package %{nil}
|
%global debug_package %{nil}
|
||||||
|
|
||||||
Name: dms
|
Name: dms
|
||||||
Version: 0.6.2
|
Version: 1.0.0
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: DankMaterialShell - Material 3 inspired shell for Wayland compositors
|
Summary: DankMaterialShell - Material 3 inspired shell for Wayland compositors
|
||||||
|
|
||||||
|
|||||||
228
distro/scripts/copr-upload.sh
Executable file
228
distro/scripts/copr-upload.sh
Executable file
@@ -0,0 +1,228 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Build SRPM locally with correct tarball and upload to Copr
|
||||||
|
# Usage: ./create-upload-copr.sh VERSION [RELEASE]
|
||||||
|
# Example: ./create-upload-copr.sh 1.0.0 4
|
||||||
|
|
||||||
|
VERSION="${1:-1.0.0}"
|
||||||
|
RELEASE="${2:-1}"
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||||
|
|
||||||
|
echo "Building DMS v${VERSION}-${RELEASE} SRPM for Copr..."
|
||||||
|
|
||||||
|
# Setup build directories
|
||||||
|
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
||||||
|
cd ~/rpmbuild/SOURCES
|
||||||
|
|
||||||
|
# Create the corrected QML tarball locally
|
||||||
|
echo "Creating QML tarball with assets..."
|
||||||
|
TEMP_DIR=$(mktemp -d)
|
||||||
|
cd "$REPO_ROOT"
|
||||||
|
|
||||||
|
# Copy quickshell contents to temp
|
||||||
|
cp -r quickshell/* "$TEMP_DIR/"
|
||||||
|
|
||||||
|
# Copy root LICENSE and CONTRIBUTING.md
|
||||||
|
cp LICENSE CONTRIBUTING.md "$TEMP_DIR/"
|
||||||
|
|
||||||
|
# Copy root assets directory (this is what was missing!)
|
||||||
|
cp -r assets "$TEMP_DIR/"
|
||||||
|
|
||||||
|
# Create tarball
|
||||||
|
cd "$TEMP_DIR"
|
||||||
|
tar --exclude='.git' \
|
||||||
|
--exclude='.github' \
|
||||||
|
--exclude='*.tar.gz' \
|
||||||
|
-czf ~/rpmbuild/SOURCES/dms-qml.tar.gz .
|
||||||
|
|
||||||
|
cd ~/rpmbuild/SOURCES
|
||||||
|
echo "Created dms-qml.tar.gz with md5sum: $(md5sum dms-qml.tar.gz | awk '{print $1}')"
|
||||||
|
rm -rf "$TEMP_DIR"
|
||||||
|
|
||||||
|
# Generate spec file
|
||||||
|
echo "Generating spec file..."
|
||||||
|
CHANGELOG_DATE="$(date '+%a %b %d %Y')"
|
||||||
|
|
||||||
|
cat > ~/rpmbuild/SPECS/dms.spec <<'SPECEOF'
|
||||||
|
# Spec for DMS stable releases - Built locally
|
||||||
|
|
||||||
|
%global debug_package %{nil}
|
||||||
|
%global version VERSION_PLACEHOLDER
|
||||||
|
%global pkg_summary DankMaterialShell - Material 3 inspired shell for Wayland compositors
|
||||||
|
|
||||||
|
Name: dms
|
||||||
|
Version: %{version}
|
||||||
|
Release: RELEASE_PLACEHOLDER%{?dist}
|
||||||
|
Summary: %{pkg_summary}
|
||||||
|
|
||||||
|
License: MIT
|
||||||
|
URL: https://github.com/AvengeMedia/DankMaterialShell
|
||||||
|
|
||||||
|
Source0: dms-qml.tar.gz
|
||||||
|
|
||||||
|
BuildRequires: gzip
|
||||||
|
BuildRequires: wget
|
||||||
|
BuildRequires: systemd-rpm-macros
|
||||||
|
|
||||||
|
Requires: (quickshell or quickshell-git)
|
||||||
|
Requires: accountsservice
|
||||||
|
Requires: dms-cli = %{version}-%{release}
|
||||||
|
Requires: dgop
|
||||||
|
|
||||||
|
Recommends: cava
|
||||||
|
Recommends: cliphist
|
||||||
|
Recommends: danksearch
|
||||||
|
Recommends: matugen
|
||||||
|
Recommends: wl-clipboard
|
||||||
|
Recommends: NetworkManager
|
||||||
|
Recommends: qt6-qtmultimedia
|
||||||
|
Suggests: qt6ct
|
||||||
|
|
||||||
|
%description
|
||||||
|
DankMaterialShell (DMS) is a modern Wayland desktop shell built with Quickshell
|
||||||
|
and optimized for the niri and hyprland compositors. Features notifications,
|
||||||
|
app launcher, wallpaper customization, and fully customizable with plugins.
|
||||||
|
|
||||||
|
Includes auto-theming for GTK/Qt apps with matugen, 20+ customizable widgets,
|
||||||
|
process monitoring, notification center, clipboard history, dock, control center,
|
||||||
|
lock screen, and comprehensive plugin system.
|
||||||
|
|
||||||
|
%package -n dms-cli
|
||||||
|
Summary: DankMaterialShell CLI tool
|
||||||
|
License: MIT
|
||||||
|
URL: https://github.com/AvengeMedia/DankMaterialShell
|
||||||
|
|
||||||
|
%description -n dms-cli
|
||||||
|
Command-line interface for DankMaterialShell configuration and management.
|
||||||
|
Provides native DBus bindings, NetworkManager integration, and system utilities.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -c -n dms-qml
|
||||||
|
|
||||||
|
# Download architecture-specific binaries during build
|
||||||
|
case "%{_arch}" in
|
||||||
|
x86_64)
|
||||||
|
ARCH_SUFFIX="amd64"
|
||||||
|
;;
|
||||||
|
aarch64)
|
||||||
|
ARCH_SUFFIX="arm64"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unsupported architecture: %{_arch}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
wget -O %{_builddir}/dms-cli.gz "https://github.com/AvengeMedia/DankMaterialShell/releases/download/v%{version}/dms-distropkg-${ARCH_SUFFIX}.gz" || {
|
||||||
|
echo "Failed to download dms-cli for architecture %{_arch}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
gunzip -c %{_builddir}/dms-cli.gz > %{_builddir}/dms-cli
|
||||||
|
chmod +x %{_builddir}/dms-cli
|
||||||
|
|
||||||
|
%build
|
||||||
|
|
||||||
|
%install
|
||||||
|
install -Dm755 %{_builddir}/dms-cli %{buildroot}%{_bindir}/dms
|
||||||
|
|
||||||
|
install -d %{buildroot}%{_datadir}/bash-completion/completions
|
||||||
|
install -d %{buildroot}%{_datadir}/zsh/site-functions
|
||||||
|
install -d %{buildroot}%{_datadir}/fish/vendor_completions.d
|
||||||
|
%{_builddir}/dms-cli completion bash > %{buildroot}%{_datadir}/bash-completion/completions/dms || :
|
||||||
|
%{_builddir}/dms-cli completion zsh > %{buildroot}%{_datadir}/zsh/site-functions/_dms || :
|
||||||
|
%{_builddir}/dms-cli completion fish > %{buildroot}%{_datadir}/fish/vendor_completions.d/dms.fish || :
|
||||||
|
|
||||||
|
install -Dm644 assets/systemd/dms.service %{buildroot}%{_userunitdir}/dms.service
|
||||||
|
|
||||||
|
install -Dm644 assets/dms-open.desktop %{buildroot}%{_datadir}/applications/dms-open.desktop
|
||||||
|
install -Dm644 assets/danklogo.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/danklogo.svg
|
||||||
|
|
||||||
|
install -dm755 %{buildroot}%{_datadir}/quickshell/dms
|
||||||
|
cp -r %{_builddir}/dms-qml/* %{buildroot}%{_datadir}/quickshell/dms/
|
||||||
|
|
||||||
|
rm -rf %{buildroot}%{_datadir}/quickshell/dms/.git*
|
||||||
|
rm -f %{buildroot}%{_datadir}/quickshell/dms/.gitignore
|
||||||
|
rm -rf %{buildroot}%{_datadir}/quickshell/dms/.github
|
||||||
|
rm -rf %{buildroot}%{_datadir}/quickshell/dms/distro
|
||||||
|
|
||||||
|
echo "%{version}" > %{buildroot}%{_datadir}/quickshell/dms/VERSION
|
||||||
|
|
||||||
|
%posttrans
|
||||||
|
if [ -d "%{_sysconfdir}/xdg/quickshell/dms" ]; then
|
||||||
|
rmdir "%{_sysconfdir}/xdg/quickshell/dms" 2>/dev/null || true
|
||||||
|
rmdir "%{_sysconfdir}/xdg/quickshell" 2>/dev/null || true
|
||||||
|
rmdir "%{_sysconfdir}/xdg" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
# Signal running DMS instances to reload
|
||||||
|
pkill -USR1 -x dms >/dev/null 2>&1 || :
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license LICENSE
|
||||||
|
%doc README.md CONTRIBUTING.md
|
||||||
|
%{_datadir}/quickshell/dms/
|
||||||
|
%{_userunitdir}/dms.service
|
||||||
|
%{_datadir}/applications/dms-open.desktop
|
||||||
|
%{_datadir}/icons/hicolor/scalable/apps/danklogo.svg
|
||||||
|
|
||||||
|
%files -n dms-cli
|
||||||
|
%{_bindir}/dms
|
||||||
|
%{_datadir}/bash-completion/completions/dms
|
||||||
|
%{_datadir}/zsh/site-functions/_dms
|
||||||
|
%{_datadir}/fish/vendor_completions.d/dms.fish
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* CHANGELOG_DATE_PLACEHOLDER AvengeMedia <contact@avengemedia.com> - VERSION_PLACEHOLDER-1
|
||||||
|
- Stable release VERSION_PLACEHOLDER
|
||||||
|
- Built locally with corrected tarball
|
||||||
|
SPECEOF
|
||||||
|
|
||||||
|
sed -i "s/VERSION_PLACEHOLDER/${VERSION}/g" ~/rpmbuild/SPECS/dms.spec
|
||||||
|
sed -i "s/RELEASE_PLACEHOLDER/${RELEASE}/g" ~/rpmbuild/SPECS/dms.spec
|
||||||
|
sed -i "s/CHANGELOG_DATE_PLACEHOLDER/${CHANGELOG_DATE}/g" ~/rpmbuild/SPECS/dms.spec
|
||||||
|
|
||||||
|
# Build SRPM
|
||||||
|
echo "Building SRPM..."
|
||||||
|
cd ~/rpmbuild/SPECS
|
||||||
|
rpmbuild -bs dms.spec
|
||||||
|
|
||||||
|
SRPM=$(ls ~/rpmbuild/SRPMS/dms-${VERSION}-*.src.rpm | tail -n 1)
|
||||||
|
if [ ! -f "$SRPM" ]; then
|
||||||
|
echo "Error: SRPM not found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "SRPM built successfully: $SRPM"
|
||||||
|
|
||||||
|
# Check if copr-cli is installed
|
||||||
|
if ! command -v copr-cli &> /dev/null; then
|
||||||
|
echo ""
|
||||||
|
echo "copr-cli is not installed. Install it with:"
|
||||||
|
echo " pip install copr-cli"
|
||||||
|
echo ""
|
||||||
|
echo "Then configure it with your Copr API token in ~/.config/copr"
|
||||||
|
echo ""
|
||||||
|
echo "SRPM is ready at: $SRPM"
|
||||||
|
echo "Upload manually with: copr-cli build avengemedia/dms $SRPM"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Upload to Copr
|
||||||
|
echo ""
|
||||||
|
echo "Uploading to Copr..."
|
||||||
|
if copr-cli build avengemedia/dms "$SRPM" --nowait; then
|
||||||
|
echo ""
|
||||||
|
echo "Build submitted successfully! Check status at:"
|
||||||
|
echo "https://copr.fedorainfracloud.org/coprs/avengemedia/dms/builds/"
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo "Copr upload failed. You can manually upload the SRPM:"
|
||||||
|
echo " copr-cli build avengemedia/dms $SRPM"
|
||||||
|
echo ""
|
||||||
|
echo "Or upload via web interface:"
|
||||||
|
echo " https://copr.fedorainfracloud.org/coprs/avengemedia/dms/builds/"
|
||||||
|
echo ""
|
||||||
|
echo "SRPM location: $SRPM"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
@@ -672,7 +672,20 @@ if [[ "$UPLOAD_DEBIAN" == true ]] && [[ "$SOURCE_FORMAT" == *"native"* ]] && [[
|
|||||||
if [[ "$IS_MANUAL" == true ]]; then
|
if [[ "$IS_MANUAL" == true ]]; then
|
||||||
echo "==> Detected rebuild of same base version $CHANGELOG_BASE, incrementing version"
|
echo "==> Detected rebuild of same base version $CHANGELOG_BASE, incrementing version"
|
||||||
|
|
||||||
if [[ "$CHANGELOG_VERSION" =~ ^([0-9.]+)\+git$ ]]; then
|
# If REBUILD_RELEASE is set, use that number directly
|
||||||
|
if [[ -n "${REBUILD_RELEASE:-}" ]]; then
|
||||||
|
if [[ "$CHANGELOG_VERSION" =~ ^([0-9.]+)\+git([0-9]+)(\.[a-f0-9]+)?$ ]]; then
|
||||||
|
BASE_VERSION="${BASH_REMATCH[1]}"
|
||||||
|
GIT_NUM="${BASH_REMATCH[2]}"
|
||||||
|
GIT_HASH="${BASH_REMATCH[3]}"
|
||||||
|
NEW_VERSION="${BASE_VERSION}+git${GIT_NUM}${GIT_HASH}ppa${REBUILD_RELEASE}"
|
||||||
|
echo " Using REBUILD_RELEASE=$REBUILD_RELEASE: $CHANGELOG_VERSION -> $NEW_VERSION"
|
||||||
|
else
|
||||||
|
BASE_VERSION=$(echo "$CHANGELOG_VERSION" | sed 's/ppa[0-9]*$//')
|
||||||
|
NEW_VERSION="${BASE_VERSION}ppa${REBUILD_RELEASE}"
|
||||||
|
echo " Using REBUILD_RELEASE=$REBUILD_RELEASE: $CHANGELOG_VERSION -> $NEW_VERSION"
|
||||||
|
fi
|
||||||
|
elif [[ "$CHANGELOG_VERSION" =~ ^([0-9.]+)\+git$ ]]; then
|
||||||
BASE_VERSION="${BASH_REMATCH[1]}"
|
BASE_VERSION="${BASH_REMATCH[1]}"
|
||||||
NEW_VERSION="${BASE_VERSION}+gitppa1"
|
NEW_VERSION="${BASE_VERSION}+gitppa1"
|
||||||
echo " Adding PPA number: $CHANGELOG_VERSION -> $NEW_VERSION"
|
echo " Adding PPA number: $CHANGELOG_VERSION -> $NEW_VERSION"
|
||||||
@@ -704,12 +717,28 @@ if [[ "$UPLOAD_DEBIAN" == true ]] && [[ "$SOURCE_FORMAT" == *"native"* ]] && [[
|
|||||||
fi
|
fi
|
||||||
elif [[ "$CHANGELOG_VERSION" =~ ^([0-9.]+)(-([0-9]+))?$ ]]; then
|
elif [[ "$CHANGELOG_VERSION" =~ ^([0-9.]+)(-([0-9]+))?$ ]]; then
|
||||||
BASE_VERSION="${BASH_REMATCH[1]}"
|
BASE_VERSION="${BASH_REMATCH[1]}"
|
||||||
|
# Check if old DSC has ppa suffix even if changelog doesn't
|
||||||
|
if [[ "$OLD_DSC_VERSION" =~ ppa([0-9]+)$ ]]; then
|
||||||
|
OLD_PPA_NUM="${BASH_REMATCH[1]}"
|
||||||
|
NEW_PPA_NUM=$((OLD_PPA_NUM + 1))
|
||||||
|
NEW_VERSION="${BASE_VERSION}ppa${NEW_PPA_NUM}"
|
||||||
|
echo " Incrementing PPA number from old DSC: $OLD_DSC_VERSION -> $NEW_VERSION"
|
||||||
|
else
|
||||||
NEW_VERSION="${BASE_VERSION}ppa1"
|
NEW_VERSION="${BASE_VERSION}ppa1"
|
||||||
echo " Warning: Native format cannot have Debian revision, converting to PPA format: $CHANGELOG_VERSION -> $NEW_VERSION"
|
echo " Adding PPA number: $CHANGELOG_VERSION -> $NEW_VERSION"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Check if old DSC has ppa suffix for unknown formats
|
||||||
|
if [[ "$OLD_DSC_VERSION" =~ ppa([0-9]+)$ ]]; then
|
||||||
|
OLD_PPA_NUM="${BASH_REMATCH[1]}"
|
||||||
|
NEW_PPA_NUM=$((OLD_PPA_NUM + 1))
|
||||||
|
NEW_VERSION="${CHANGELOG_VERSION}ppa${NEW_PPA_NUM}"
|
||||||
|
echo " Incrementing PPA number from old DSC: $OLD_DSC_VERSION -> $NEW_VERSION"
|
||||||
else
|
else
|
||||||
NEW_VERSION="${CHANGELOG_VERSION}ppa1"
|
NEW_VERSION="${CHANGELOG_VERSION}ppa1"
|
||||||
echo " Warning: Could not parse version format, appending ppa1: $CHANGELOG_VERSION -> $NEW_VERSION"
|
echo " Warning: Could not parse version format, appending ppa1: $CHANGELOG_VERSION -> $NEW_VERSION"
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -z "$SOURCE_DIR" ]] || [[ ! -d "$SOURCE_DIR" ]] || [[ ! -d "$SOURCE_DIR/debian" ]]; then
|
if [[ -z "$SOURCE_DIR" ]] || [[ ! -d "$SOURCE_DIR" ]] || [[ ! -d "$SOURCE_DIR/debian" ]]; then
|
||||||
echo " Error: Source directory with debian/ not found for version increment"
|
echo " Error: Source directory with debian/ not found for version increment"
|
||||||
@@ -763,7 +792,15 @@ if [[ "$UPLOAD_DEBIAN" == true ]] && [[ "$SOURCE_FORMAT" == *"native"* ]] && [[
|
|||||||
echo " Renaming $EXTRACTED to $EXPECTED_SOURCE_DIR"
|
echo " Renaming $EXTRACTED to $EXPECTED_SOURCE_DIR"
|
||||||
mv "$EXTRACTED" "$EXPECTED_SOURCE_DIR"
|
mv "$EXTRACTED" "$EXPECTED_SOURCE_DIR"
|
||||||
rm -f "$WORK_DIR/dms-source.tar.gz"
|
rm -f "$WORK_DIR/dms-source.tar.gz"
|
||||||
tar --sort=name --mtime='2000-01-01 00:00:00' --owner=0 --group=0 -czf "$WORK_DIR/dms-source.tar.gz" "$EXPECTED_SOURCE_DIR"
|
if ! tar --sort=name --mtime='2000-01-01 00:00:00' --owner=0 --group=0 -czf "$WORK_DIR/dms-source.tar.gz" "$EXPECTED_SOURCE_DIR"; then
|
||||||
|
echo " Error: Failed to create dms-source.tar.gz"
|
||||||
|
ls -lah "$EXPECTED_SOURCE_DIR" | head -20
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ ! -f "$WORK_DIR/dms-source.tar.gz" ]]; then
|
||||||
|
echo " Error: dms-source.tar.gz was not created"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
ROOT_DIR=$(tar -tf "$WORK_DIR/dms-source.tar.gz" | head -1 | cut -d/ -f1)
|
ROOT_DIR=$(tar -tf "$WORK_DIR/dms-source.tar.gz" | head -1 | cut -d/ -f1)
|
||||||
if [[ "$ROOT_DIR" != "$EXPECTED_SOURCE_DIR" ]]; then
|
if [[ "$ROOT_DIR" != "$EXPECTED_SOURCE_DIR" ]]; then
|
||||||
echo " Error: Recreated tarball has wrong root directory: $ROOT_DIR (expected $EXPECTED_SOURCE_DIR)"
|
echo " Error: Recreated tarball has wrong root directory: $ROOT_DIR (expected $EXPECTED_SOURCE_DIR)"
|
||||||
@@ -839,11 +876,7 @@ if [[ "$UPLOAD_DEBIAN" == true ]] && [[ "$SOURCE_FORMAT" == *"native"* ]] && [[
|
|||||||
tar --sort=name --mtime='2000-01-01 00:00:00' --owner=0 --group=0 -czf "$WORK_DIR/$COMBINED_TARBALL" "$TARBALL_BASE"
|
tar --sort=name --mtime='2000-01-01 00:00:00' --owner=0 --group=0 -czf "$WORK_DIR/$COMBINED_TARBALL" "$TARBALL_BASE"
|
||||||
cd "$REPO_ROOT"
|
cd "$REPO_ROOT"
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
echo "==> Detected same version. Not a manual run, skipping Debian version increment."
|
|
||||||
echo "✅ No changes needed for Debian. Exiting."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
TARBALL_SIZE=$(stat -c%s "$WORK_DIR/$COMBINED_TARBALL" 2>/dev/null || stat -f%z "$WORK_DIR/$COMBINED_TARBALL" 2>/dev/null)
|
TARBALL_SIZE=$(stat -c%s "$WORK_DIR/$COMBINED_TARBALL" 2>/dev/null || stat -f%z "$WORK_DIR/$COMBINED_TARBALL" 2>/dev/null)
|
||||||
TARBALL_MD5=$(md5sum "$WORK_DIR/$COMBINED_TARBALL" | cut -d' ' -f1)
|
TARBALL_MD5=$(md5sum "$WORK_DIR/$COMBINED_TARBALL" | cut -d' ' -f1)
|
||||||
|
|
||||||
@@ -884,15 +917,40 @@ Files:
|
|||||||
$TARBALL_MD5 $TARBALL_SIZE $COMBINED_TARBALL
|
$TARBALL_MD5 $TARBALL_SIZE $COMBINED_TARBALL
|
||||||
EOF
|
EOF
|
||||||
echo " - Updated changelog and recreated tarball with version $NEW_VERSION"
|
echo " - Updated changelog and recreated tarball with version $NEW_VERSION"
|
||||||
|
else
|
||||||
|
echo "==> Detected same version. Not a manual run, skipping Debian version increment."
|
||||||
|
echo "✅ No changes needed for Debian. Exiting."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Ensure we're in WORK_DIR and it exists
|
||||||
|
if [[ ! -d "$WORK_DIR" ]]; then
|
||||||
|
echo "ERROR: WORK_DIR does not exist: $WORK_DIR"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$WORK_DIR" || {
|
||||||
|
echo "ERROR: Cannot cd to WORK_DIR: $WORK_DIR"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
find . -maxdepth 1 -type f \( -name "*.dsc" -o -name "*.spec" \) -exec grep -l "^<<<<<<< " {} \; 2>/dev/null | while read -r conflicted_file; do
|
find . -maxdepth 1 -type f \( -name "*.dsc" -o -name "*.spec" \) -exec grep -l "^<<<<<<< " {} \; 2>/dev/null | while read -r conflicted_file; do
|
||||||
echo " Removing conflicted text file: $conflicted_file"
|
echo " Removing conflicted text file: $conflicted_file"
|
||||||
rm -f "$conflicted_file"
|
rm -f "$conflicted_file"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Ensure we're STILL in WORK_DIR before running osc commands
|
||||||
|
cd "$WORK_DIR" || {
|
||||||
|
echo "ERROR: Cannot cd to WORK_DIR: $WORK_DIR"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
echo "DEBUG: Current directory: $(pwd)"
|
||||||
|
echo "DEBUG: WORK_DIR=$WORK_DIR"
|
||||||
|
echo "DEBUG: Files in directory:"
|
||||||
|
ls -la 2>&1 | head -20
|
||||||
|
|
||||||
echo "==> Staging changes"
|
echo "==> Staging changes"
|
||||||
echo "Files to upload:"
|
echo "Files to upload:"
|
||||||
if [[ "$UPLOAD_DEBIAN" == true ]] && [[ "$UPLOAD_OPENSUSE" == true ]]; then
|
if [[ "$UPLOAD_DEBIAN" == true ]] && [[ "$UPLOAD_OPENSUSE" == true ]]; then
|
||||||
|
|||||||
@@ -50,9 +50,15 @@ fi
|
|||||||
# Get absolute path
|
# Get absolute path
|
||||||
PACKAGE_DIR=$(cd "$PACKAGE_DIR" && pwd)
|
PACKAGE_DIR=$(cd "$PACKAGE_DIR" && pwd)
|
||||||
PACKAGE_NAME=$(basename "$PACKAGE_DIR")
|
PACKAGE_NAME=$(basename "$PACKAGE_DIR")
|
||||||
|
PACKAGE_PARENT=$(dirname "$PACKAGE_DIR")
|
||||||
|
|
||||||
|
# Create temporary working directory (like OBS)
|
||||||
|
TEMP_WORK_DIR=$(mktemp -d -t ppa_build_work_XXXXXX)
|
||||||
|
trap "rm -rf '$TEMP_WORK_DIR'" EXIT
|
||||||
|
|
||||||
info "Building source package for: $PACKAGE_NAME"
|
info "Building source package for: $PACKAGE_NAME"
|
||||||
info "Package directory: $PACKAGE_DIR"
|
info "Package directory: $PACKAGE_DIR"
|
||||||
|
info "Working directory: $TEMP_WORK_DIR"
|
||||||
info "Target Ubuntu series: $UBUNTU_SERIES"
|
info "Target Ubuntu series: $UBUNTU_SERIES"
|
||||||
|
|
||||||
# Check for required files
|
# Check for required files
|
||||||
@@ -119,8 +125,13 @@ elif [[ -z "${GITHUB_ACTIONS:-}" ]] && [[ -z "${CI:-}" ]]; then
|
|||||||
echo "==> Local/manual run detected (not in CI)"
|
echo "==> Local/manual run detected (not in CI)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Copy package to temp working directory
|
||||||
|
info "Copying package to working directory..."
|
||||||
|
cp -r "$PACKAGE_DIR" "$TEMP_WORK_DIR/"
|
||||||
|
WORK_PACKAGE_DIR="$TEMP_WORK_DIR/$PACKAGE_NAME"
|
||||||
|
|
||||||
# Detect package type and update version automatically
|
# Detect package type and update version automatically
|
||||||
cd "$PACKAGE_DIR"
|
cd "$WORK_PACKAGE_DIR"
|
||||||
|
|
||||||
# Function to get latest tag from GitHub
|
# Function to get latest tag from GitHub
|
||||||
get_latest_tag() {
|
get_latest_tag() {
|
||||||
@@ -283,6 +294,12 @@ if [ "$IS_GIT_PACKAGE" = true ] && [ -n "$GIT_REPO" ]; then
|
|||||||
# Check if we're rebuilding the same commit (increment PPA number if so)
|
# Check if we're rebuilding the same commit (increment PPA number if so)
|
||||||
BASE_VERSION="${UPSTREAM_VERSION}+git${GIT_COMMIT_COUNT}.${GIT_COMMIT_HASH}"
|
BASE_VERSION="${UPSTREAM_VERSION}+git${GIT_COMMIT_COUNT}.${GIT_COMMIT_HASH}"
|
||||||
CURRENT_VERSION=$(dpkg-parsechangelog -S Version 2>/dev/null || echo "")
|
CURRENT_VERSION=$(dpkg-parsechangelog -S Version 2>/dev/null || echo "")
|
||||||
|
|
||||||
|
# Use REBUILD_RELEASE if provided, otherwise auto-increment
|
||||||
|
if [[ -n "${REBUILD_RELEASE:-}" ]]; then
|
||||||
|
PPA_NUM=$REBUILD_RELEASE
|
||||||
|
info "Using REBUILD_RELEASE=$REBUILD_RELEASE for PPA number"
|
||||||
|
else
|
||||||
PPA_NUM=1
|
PPA_NUM=1
|
||||||
|
|
||||||
# If current version matches the base version, increment PPA number
|
# If current version matches the base version, increment PPA number
|
||||||
@@ -300,6 +317,7 @@ if [ "$IS_GIT_PACKAGE" = true ] && [ -n "$GIT_REPO" ]; then
|
|||||||
else
|
else
|
||||||
info "New commit or first build, using PPA number $PPA_NUM"
|
info "New commit or first build, using PPA number $PPA_NUM"
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
NEW_VERSION="${BASE_VERSION}ppa${PPA_NUM}"
|
NEW_VERSION="${BASE_VERSION}ppa${PPA_NUM}"
|
||||||
|
|
||||||
@@ -429,16 +447,23 @@ elif [ -n "$GIT_REPO" ]; then
|
|||||||
|
|
||||||
# Get current version to check if we need to increment PPA number
|
# Get current version to check if we need to increment PPA number
|
||||||
CURRENT_VERSION=$(dpkg-parsechangelog -S Version 2>/dev/null || echo "")
|
CURRENT_VERSION=$(dpkg-parsechangelog -S Version 2>/dev/null || echo "")
|
||||||
|
|
||||||
|
# Use REBUILD_RELEASE if provided, otherwise auto-increment
|
||||||
|
if [[ -n "${REBUILD_RELEASE:-}" ]]; then
|
||||||
|
PPA_NUM=$REBUILD_RELEASE
|
||||||
|
info "Using REBUILD_RELEASE=$REBUILD_RELEASE for PPA number"
|
||||||
|
else
|
||||||
PPA_NUM=1
|
PPA_NUM=1
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "$SOURCE_FORMAT" == *"native"* ]]; then
|
if [[ "$SOURCE_FORMAT" == *"native"* ]]; then
|
||||||
# Native format: 0.2.1ppa1 (no dash, no revision)
|
# Native format: 0.2.1ppa1 (no dash, no revision)
|
||||||
BASE_VERSION="${LATEST_TAG}"
|
BASE_VERSION="${LATEST_TAG}"
|
||||||
# Check if we're rebuilding the same version (increment PPA number if so)
|
# Check if we're rebuilding the same version (increment PPA number if so)
|
||||||
if [[ "$CURRENT_VERSION" =~ ^${LATEST_TAG}ppa([0-9]+)$ ]]; then
|
if [[ -z "${REBUILD_RELEASE:-}" ]] && [[ "$CURRENT_VERSION" =~ ^${LATEST_TAG}ppa([0-9]+)$ ]]; then
|
||||||
PPA_NUM=$((BASH_REMATCH[1] + 1))
|
PPA_NUM=$((BASH_REMATCH[1] + 1))
|
||||||
info "Detected rebuild of same version (current: $CURRENT_VERSION), incrementing PPA number to $PPA_NUM"
|
info "Detected rebuild of same version (current: $CURRENT_VERSION), incrementing PPA number to $PPA_NUM"
|
||||||
else
|
elif [[ -z "${REBUILD_RELEASE:-}" ]]; then
|
||||||
info "New version or first build, using PPA number $PPA_NUM"
|
info "New version or first build, using PPA number $PPA_NUM"
|
||||||
fi
|
fi
|
||||||
NEW_VERSION="${BASE_VERSION}ppa${PPA_NUM}"
|
NEW_VERSION="${BASE_VERSION}ppa${PPA_NUM}"
|
||||||
@@ -447,7 +472,7 @@ elif [ -n "$GIT_REPO" ]; then
|
|||||||
BASE_VERSION="${LATEST_TAG}-1"
|
BASE_VERSION="${LATEST_TAG}-1"
|
||||||
# Check if we're rebuilding the same version (increment PPA number if so)
|
# Check if we're rebuilding the same version (increment PPA number if so)
|
||||||
ESCAPED_BASE=$(echo "$BASE_VERSION" | sed 's/\./\\./g' | sed 's/-/\\-/g')
|
ESCAPED_BASE=$(echo "$BASE_VERSION" | sed 's/\./\\./g' | sed 's/-/\\-/g')
|
||||||
if [[ "$CURRENT_VERSION" =~ ^${ESCAPED_BASE}ppa([0-9]+)$ ]]; then
|
if [[ -z "${REBUILD_RELEASE:-}" ]] && [[ "$CURRENT_VERSION" =~ ^${ESCAPED_BASE}ppa([0-9]+)$ ]]; then
|
||||||
PPA_NUM=$((BASH_REMATCH[1] + 1))
|
PPA_NUM=$((BASH_REMATCH[1] + 1))
|
||||||
if [[ "$IS_MANUAL" == true ]]; then
|
if [[ "$IS_MANUAL" == true ]]; then
|
||||||
info "Detected rebuild of same version (current: $CURRENT_VERSION), incrementing PPA number to $PPA_NUM"
|
info "Detected rebuild of same version (current: $CURRENT_VERSION), incrementing PPA number to $PPA_NUM"
|
||||||
@@ -456,7 +481,7 @@ elif [ -n "$GIT_REPO" ]; then
|
|||||||
success "No changes needed (version matches)."
|
success "No changes needed (version matches)."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
else
|
elif [[ -z "${REBUILD_RELEASE:-}" ]]; then
|
||||||
info "New version or first build, using PPA number $PPA_NUM"
|
info "New version or first build, using PPA number $PPA_NUM"
|
||||||
fi
|
fi
|
||||||
NEW_VERSION="${BASE_VERSION}ppa${PPA_NUM}"
|
NEW_VERSION="${BASE_VERSION}ppa${PPA_NUM}"
|
||||||
@@ -575,10 +600,12 @@ info "Building source package..."
|
|||||||
echo
|
echo
|
||||||
|
|
||||||
# Determine if we need to include orig tarball (-sa) or just debian changes (-sd)
|
# Determine if we need to include orig tarball (-sa) or just debian changes (-sd)
|
||||||
# Check if .orig.tar.xz already exists in parent directory (previous build)
|
# Check if .orig.tar.xz already exists in real parent directory (previous build)
|
||||||
ORIG_TARBALL="${PACKAGE_NAME}_${VERSION%.ppa*}.orig.tar.xz"
|
ORIG_TARBALL="${PACKAGE_NAME}_${VERSION%.ppa*}.orig.tar.xz"
|
||||||
if [ -f "../$ORIG_TARBALL" ]; then
|
if [ -f "$PACKAGE_PARENT/$ORIG_TARBALL" ]; then
|
||||||
info "Found existing orig tarball, using -sd (debian changes only)"
|
info "Found existing orig tarball in $PACKAGE_PARENT, using -sd (debian changes only)"
|
||||||
|
# Copy it to temp parent so debuild can find it
|
||||||
|
cp "$PACKAGE_PARENT/$ORIG_TARBALL" "$TEMP_WORK_DIR/"
|
||||||
DEBUILD_SOURCE_FLAG="-sd"
|
DEBUILD_SOURCE_FLAG="-sd"
|
||||||
else
|
else
|
||||||
info "No existing orig tarball found, using -sa (include original source)"
|
info "No existing orig tarball found, using -sa (include original source)"
|
||||||
@@ -592,15 +619,19 @@ if yes | DEBIAN_FRONTEND=noninteractive debuild -S $DEBUILD_SOURCE_FLAG -d; then
|
|||||||
echo
|
echo
|
||||||
success "Source package built successfully!"
|
success "Source package built successfully!"
|
||||||
|
|
||||||
|
# Copy build artifacts back to parent directory
|
||||||
|
info "Copying build artifacts to $PACKAGE_PARENT..."
|
||||||
|
cp -v "$TEMP_WORK_DIR"/${SOURCE_NAME}_${CHANGELOG_VERSION}* "$PACKAGE_PARENT/" 2>/dev/null || true
|
||||||
|
|
||||||
# List generated files
|
# List generated files
|
||||||
info "Generated files in $(dirname "$PACKAGE_DIR"):"
|
info "Generated files in $PACKAGE_PARENT:"
|
||||||
ls -lh "$(dirname "$PACKAGE_DIR")"/${SOURCE_NAME}_${CHANGELOG_VERSION}* 2>/dev/null || true
|
ls -lh "$PACKAGE_PARENT"/${SOURCE_NAME}_${CHANGELOG_VERSION}* 2>/dev/null || true
|
||||||
|
|
||||||
# Show what to do next
|
# Show what to do next
|
||||||
echo
|
echo
|
||||||
info "Next steps:"
|
info "Next steps:"
|
||||||
echo " 1. Review the source package:"
|
echo " 1. Review the source package:"
|
||||||
echo " cd $(dirname "$PACKAGE_DIR")"
|
echo " cd $PACKAGE_PARENT"
|
||||||
echo " ls -lh ${SOURCE_NAME}_${CHANGELOG_VERSION}*"
|
echo " ls -lh ${SOURCE_NAME}_${CHANGELOG_VERSION}*"
|
||||||
echo
|
echo
|
||||||
echo " 2. Upload to PPA (stable):"
|
echo " 2. Upload to PPA (stable):"
|
||||||
@@ -610,7 +641,7 @@ if yes | DEBIAN_FRONTEND=noninteractive debuild -S $DEBUILD_SOURCE_FLAG -d; then
|
|||||||
echo " dput ppa:avengemedia/dms-git ${SOURCE_NAME}_${CHANGELOG_VERSION}_source.changes"
|
echo " dput ppa:avengemedia/dms-git ${SOURCE_NAME}_${CHANGELOG_VERSION}_source.changes"
|
||||||
echo
|
echo
|
||||||
echo " 4. Or use the upload script:"
|
echo " 4. Or use the upload script:"
|
||||||
echo " ./upload-ppa.sh $(dirname "$PACKAGE_DIR")/${SOURCE_NAME}_${CHANGELOG_VERSION}_source.changes dms"
|
echo " ./upload-ppa.sh $PACKAGE_PARENT/${SOURCE_NAME}_${CHANGELOG_VERSION}_source.changes dms"
|
||||||
|
|
||||||
else
|
else
|
||||||
error "Source package build failed!"
|
error "Source package build failed!"
|
||||||
|
|||||||
@@ -150,7 +150,38 @@ fi
|
|||||||
info "Uploading to Launchpad..."
|
info "Uploading to Launchpad..."
|
||||||
echo
|
echo
|
||||||
|
|
||||||
if dput "ppa:avengemedia/$PPA_NAME" "$CHANGES_FILE"; then
|
UPLOAD_SUCCESS=false
|
||||||
|
|
||||||
|
if [ "$UPLOAD_METHOD" = "dput" ]; then
|
||||||
|
if dput "ppa:avengemedia/$PPA_NAME" "$CHANGES_FILE"; then
|
||||||
|
UPLOAD_SUCCESS=true
|
||||||
|
fi
|
||||||
|
elif [ "$UPLOAD_METHOD" = "lftp" ]; then
|
||||||
|
# Use lftp to upload to Launchpad PPA
|
||||||
|
CHANGES_DIR=$(dirname "$CHANGES_FILE")
|
||||||
|
CHANGES_BASENAME=$(basename "$CHANGES_FILE")
|
||||||
|
|
||||||
|
# Extract files to upload from .changes file
|
||||||
|
FILES_TO_UPLOAD=("$CHANGES_BASENAME")
|
||||||
|
while IFS= read -r line; do
|
||||||
|
if [[ "$line" =~ ^\ [a-f0-9]+\ [0-9]+\ [^\ ]+\ [^\ ]+\ (.+)$ ]]; then
|
||||||
|
FILES_TO_UPLOAD+=("${BASH_REMATCH[1]}")
|
||||||
|
fi
|
||||||
|
done < "$CHANGES_FILE"
|
||||||
|
|
||||||
|
# Build lftp command to upload all files
|
||||||
|
LFTP_COMMANDS="set ftp:ssl-allow no; open ftp://ppa.launchpad.net; user anonymous ''; cd ~avengemedia/ubuntu/$PPA_NAME/;"
|
||||||
|
for file in "${FILES_TO_UPLOAD[@]}"; do
|
||||||
|
LFTP_COMMANDS="$LFTP_COMMANDS put '$CHANGES_DIR/$file';"
|
||||||
|
done
|
||||||
|
LFTP_COMMANDS="$LFTP_COMMANDS bye"
|
||||||
|
|
||||||
|
if echo "$LFTP_COMMANDS" | lftp; then
|
||||||
|
UPLOAD_SUCCESS=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$UPLOAD_SUCCESS" = true ]; then
|
||||||
echo
|
echo
|
||||||
success "Upload successful!"
|
success "Upload successful!"
|
||||||
echo
|
echo
|
||||||
@@ -166,7 +197,6 @@ if dput "ppa:avengemedia/$PPA_NAME" "$CHANGES_FILE"; then
|
|||||||
echo " sudo add-apt-repository ppa:avengemedia/$PPA_NAME"
|
echo " sudo add-apt-repository ppa:avengemedia/$PPA_NAME"
|
||||||
echo " sudo apt update"
|
echo " sudo apt update"
|
||||||
echo " sudo apt install $PACKAGE_NAME"
|
echo " sudo apt install $PACKAGE_NAME"
|
||||||
|
|
||||||
else
|
else
|
||||||
error "Upload failed!"
|
error "Upload failed!"
|
||||||
echo
|
echo
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
dms (0.6.2ppa3) questing; urgency=medium
|
dms (1.0.0ppa4) questing; urgency=medium
|
||||||
|
|
||||||
* Rebuild for packaging fixes (ppa3)
|
* Rebuild for packaging fixes (ppa4)
|
||||||
|
|
||||||
-- Avenge Media <AvengeMedia.US@gmail.com> Sun, 23 Nov 2025 00:40:41 -0500
|
-- Avenge Media <AvengeMedia.US@gmail.com> Wed, 10 Dec 2025 12:56:23 -0500
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
dms_0.6.2ppa3_source.buildinfo x11 optional
|
dms_1.0.0ppa4_source.buildinfo x11 optional
|
||||||
|
|||||||
@@ -29,25 +29,22 @@ override_dh_auto_build:
|
|||||||
# Extract source tarball for QML files
|
# Extract source tarball for QML files
|
||||||
tar -xzf dms-source.tar.gz
|
tar -xzf dms-source.tar.gz
|
||||||
# Find the extracted directory (it might have various names)
|
# Find the extracted directory (it might have various names)
|
||||||
# and create a symlink to expected name for consistent install
|
# and rename it to the expected BASE_VERSION name for consistent install
|
||||||
SOURCE_DIR=$$(find . -maxdepth 1 -type d -name "DankMaterialShell*" | head -n1); \
|
SOURCE_DIR=$$(find . -maxdepth 1 -type d -name "DankMaterialShell-*" ! -name "DankMaterialShell-$(BASE_VERSION)" | head -n1); \
|
||||||
if [ -n "$$SOURCE_DIR" ]; then \
|
if [ -n "$$SOURCE_DIR" ] && [ "$$SOURCE_DIR" != "./DankMaterialShell-$(BASE_VERSION)" ]; then \
|
||||||
ln -sf $$SOURCE_DIR DankMaterialShell-$(BASE_VERSION); \
|
echo "Renaming $$SOURCE_DIR to DankMaterialShell-$(BASE_VERSION)"; \
|
||||||
|
mv "$$SOURCE_DIR" DankMaterialShell-$(BASE_VERSION); \
|
||||||
|
elif [ ! -d "DankMaterialShell-$(BASE_VERSION)" ]; then \
|
||||||
|
echo "ERROR: No DankMaterialShell directory found after extraction!"; \
|
||||||
|
ls -la; \
|
||||||
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
override_dh_auto_install:
|
override_dh_auto_install:
|
||||||
# Install binary
|
# Install binary
|
||||||
install -Dm755 dms debian/dms/usr/bin/dms
|
install -Dm755 dms debian/dms/usr/bin/dms
|
||||||
|
|
||||||
# Install QML files from source tarball
|
# Install systemd user service (before copying everything else)
|
||||||
mkdir -p debian/dms/usr/share/quickshell/dms
|
|
||||||
cp -r DankMaterialShell-$(BASE_VERSION)/* debian/dms/usr/share/quickshell/dms/
|
|
||||||
|
|
||||||
# Remove unnecessary directories
|
|
||||||
rm -rf debian/dms/usr/share/quickshell/dms/core
|
|
||||||
rm -rf debian/dms/usr/share/quickshell/dms/distro
|
|
||||||
|
|
||||||
# Install systemd user service
|
|
||||||
install -Dm644 DankMaterialShell-$(BASE_VERSION)/assets/systemd/dms.service \
|
install -Dm644 DankMaterialShell-$(BASE_VERSION)/assets/systemd/dms.service \
|
||||||
debian/dms/usr/lib/systemd/user/dms.service
|
debian/dms/usr/lib/systemd/user/dms.service
|
||||||
|
|
||||||
@@ -57,6 +54,15 @@ override_dh_auto_install:
|
|||||||
install -Dm644 DankMaterialShell-$(BASE_VERSION)/assets/danklogo.svg \
|
install -Dm644 DankMaterialShell-$(BASE_VERSION)/assets/danklogo.svg \
|
||||||
debian/dms/usr/share/icons/hicolor/scalable/apps/danklogo.svg
|
debian/dms/usr/share/icons/hicolor/scalable/apps/danklogo.svg
|
||||||
|
|
||||||
|
# Install QML files from source tarball
|
||||||
|
mkdir -p debian/dms/usr/share/quickshell/dms
|
||||||
|
cp -r DankMaterialShell-$(BASE_VERSION)/* debian/dms/usr/share/quickshell/dms/
|
||||||
|
|
||||||
|
# Remove unnecessary directories
|
||||||
|
rm -rf debian/dms/usr/share/quickshell/dms/core
|
||||||
|
rm -rf debian/dms/usr/share/quickshell/dms/distro
|
||||||
|
rm -rf debian/dms/usr/share/quickshell/dms/assets
|
||||||
|
|
||||||
# Create VERSION file for Quickshell (stable release format)
|
# Create VERSION file for Quickshell (stable release format)
|
||||||
echo "$(BASE_VERSION)" > debian/dms/usr/share/quickshell/dms/VERSION
|
echo "$(BASE_VERSION)" > debian/dms/usr/share/quickshell/dms/VERSION
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
The Dark Knight
|
Spicy Miso
|
||||||
@@ -1 +1 @@
|
|||||||
v0.6.2
|
v1.2-unstable
|
||||||
|
|||||||
@@ -3554,7 +3554,7 @@
|
|||||||
{
|
{
|
||||||
"term": "No Active Players",
|
"term": "No Active Players",
|
||||||
"context": "No Active Players",
|
"context": "No Active Players",
|
||||||
"reference": "Modules/DankDash/MediaPlayerTab.qml:308",
|
"reference": "Modules/DankDash/MediaPlayerTab.qml:315",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -5300,7 +5300,7 @@
|
|||||||
{
|
{
|
||||||
"term": "Switch User",
|
"term": "Switch User",
|
||||||
"context": "Switch User",
|
"context": "Switch User",
|
||||||
"reference": "Modules/Greetd/GreeterContent.qml:662",
|
"reference": "Modules/Greetd/GreeterContent.qml:666",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1926,7 +1926,7 @@
|
|||||||
"None": "Nulla"
|
"None": "Nulla"
|
||||||
},
|
},
|
||||||
"Normal Font": {
|
"Normal Font": {
|
||||||
"Normal Font": "Carattere Normale"
|
"Normal Font": "Font Normale"
|
||||||
},
|
},
|
||||||
"Normal Priority": {
|
"Normal Priority": {
|
||||||
"Normal Priority": "Priorità Normale"
|
"Normal Priority": "Priorità Normale"
|
||||||
@@ -2481,7 +2481,7 @@
|
|||||||
"Select driver...": "Seleziona un driver..."
|
"Select driver...": "Seleziona un driver..."
|
||||||
},
|
},
|
||||||
"Select font weight for UI text": {
|
"Select font weight for UI text": {
|
||||||
"Select font weight for UI text": "Seleziona lo spessore del carattere per il testo dell'interfaccia utente"
|
"Select font weight for UI text": "Seleziona lo spessore del font per il testo dell'interfaccia utente"
|
||||||
},
|
},
|
||||||
"Select monitor to configure wallpaper": {
|
"Select monitor to configure wallpaper": {
|
||||||
"Select monitor to configure wallpaper": "Selezionare il monitor per configurare lo sconto"
|
"Select monitor to configure wallpaper": "Selezionare il monitor per configurare lo sconto"
|
||||||
@@ -2493,7 +2493,7 @@
|
|||||||
"Select system sound theme": "Seleziona tema suoni di sistema"
|
"Select system sound theme": "Seleziona tema suoni di sistema"
|
||||||
},
|
},
|
||||||
"Select the font family for UI text": {
|
"Select the font family for UI text": {
|
||||||
"Select the font family for UI text": "Seleziona la famiglia di caratteri per il testo dell'interfaccia utente"
|
"Select the font family for UI text": "Seleziona la famiglia di font per il testo dell'interfaccia utente"
|
||||||
},
|
},
|
||||||
"Select the palette algorithm used for wallpaper-based colors": {
|
"Select the palette algorithm used for wallpaper-based colors": {
|
||||||
"Select the palette algorithm used for wallpaper-based colors": "Seleziona l'algoritmo tavolozza usato per i colori basati sullo sfondo"
|
"Select the palette algorithm used for wallpaper-based colors": "Seleziona l'algoritmo tavolozza usato per i colori basati sullo sfondo"
|
||||||
@@ -2946,7 +2946,7 @@
|
|||||||
"Typography": "Tipografia"
|
"Typography": "Tipografia"
|
||||||
},
|
},
|
||||||
"Typography & Motion": {
|
"Typography & Motion": {
|
||||||
"Typography & Motion": "Tipografia e Movimento"
|
"Typography & Motion": "Tipografia e Animazioni"
|
||||||
},
|
},
|
||||||
"Unavailable": {
|
"Unavailable": {
|
||||||
"Unavailable": "Non disponibile"
|
"Unavailable": "Non disponibile"
|
||||||
|
|||||||
Reference in New Issue
Block a user