3410964
commit 3410964
10 files changed
+377 -27
Showing 10 changed files+377-27
▼.github/workflows/ci.yml
+21-1
| @@ -145,6 +145,14 @@ jobs: | ||
145 | 145 | - name: Build Tauri app |
146 | 146 | run: npm run tauri build |
147 | 147 | |
148 | + - name: Install Ruby and fpm for RPM conversion | |
149 | + run: | | |
150 | + sudo apt-get install -y ruby ruby-dev | |
151 | + gem install fpm | |
152 | + | |
153 | + - name: Build RPM package | |
154 | + run: ./scripts/build-rpm.sh | |
155 | + | |
148 | 156 | - name: Upload DEB artifact |
149 | 157 | uses: actions/upload-artifact@v4 |
150 | 158 | if: github.event_name == 'pull_request' |
| @@ -252,9 +260,20 @@ jobs: | ||
252 | 260 | - name: Install dependencies |
253 | 261 | run: npm install |
254 | 262 | |
263 | + - name: Build frontend | |
264 | + run: npm run build | |
265 | + | |
255 | 266 | - name: Build Tauri app |
256 | 267 | run: npm run tauri build |
257 | 268 | |
269 | + - name: Install Ruby and fpm for RPM conversion | |
270 | + run: | | |
271 | + sudo apt-get install -y ruby ruby-dev | |
272 | + gem install fpm | |
273 | + | |
274 | + - name: Build RPM package | |
275 | + run: ./scripts/build-rpm.sh | |
276 | + | |
258 | 277 | - name: Test binary exists |
259 | 278 | run: | |
260 | 279 | echo "Verifying binary..." |
| @@ -266,8 +285,9 @@ jobs: | ||
266 | 285 | echo "Checking bundle outputs..." |
267 | 286 | ls -la src-tauri/target/release/bundle/ |
268 | 287 | [ -d "src-tauri/target/release/bundle/deb" ] && echo "DEB: OK" |
269 | - [ -d "src-tauri/target/release/bundle/appimage" ] && echo "AppImage: OK" | |
270 | 288 | [ -d "src-tauri/target/release/bundle/rpm" ] && echo "RPM: OK" |
289 | + [ -f "src-tauri/target/release/bundle/deb/"*.deb ] && echo "DEB package: OK" | |
290 | + [ -f "src-tauri/target/release/bundle/rpm/"*.rpm ] && echo "RPM package: OK" | |
271 | 291 | |
272 | 292 | - name: Verify desktop file template |
273 | 293 | run: | |
274 | 294 | |
▼.github/workflows/release.yml
+46-7
| @@ -51,6 +51,9 @@ jobs: | ||
51 | 51 | - name: Install npm dependencies |
52 | 52 | run: npm install |
53 | 53 | |
54 | + - name: Build frontend | |
55 | + run: npm run build | |
56 | + | |
54 | 57 | - name: Build Tauri application |
55 | 58 | uses: tauri-apps/tauri-action@v0 |
56 | 59 | env: |
| @@ -70,6 +73,11 @@ jobs: | ||
70 | 73 | sudo apt install ./linuxy_*.deb |
71 | 74 | ``` |
72 | 75 | |
76 | + ### RHEL/Fedora/OpenSUSE | |
77 | + ```bash | |
78 | + sudo dnf install ./linuxy-*.rpm | |
79 | + ``` | |
80 | + | |
73 | 81 | ### Arch Linux (AUR) |
74 | 82 | ```bash |
75 | 83 | yay -S linuxy |
| @@ -81,6 +89,14 @@ jobs: | ||
81 | 89 | prerelease: false |
82 | 90 | includeDebug: false |
83 | 91 | |
92 | + - name: Install Ruby and fpm for RPM conversion | |
93 | + run: | | |
94 | + sudo apt-get install -y ruby ruby-dev | |
95 | + gem install fpm | |
96 | + | |
97 | + - name: Build RPM package | |
98 | + run: ./scripts/build-rpm.sh | |
99 | + | |
84 | 100 | - name: Extract version |
85 | 101 | id: get_version |
86 | 102 | run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT |
| @@ -91,13 +107,6 @@ jobs: | ||
91 | 107 | files: src-tauri/target/release/bundle/deb/*.deb |
92 | 108 | draft: true |
93 | 109 | |
94 | - - name: Upload AppImage to release | |
95 | - uses: softprops/action-gh-release@v1 | |
96 | - if: hashFiles('src-tauri/target/release/bundle/appimage/*.AppImage') != '' | |
97 | - with: | |
98 | - files: src-tauri/target/release/bundle/appimage/*.AppImage | |
99 | - draft: true | |
100 | - | |
101 | 110 | - name: Upload RPM to release |
102 | 111 | uses: softprops/action-gh-release@v1 |
103 | 112 | if: hashFiles('src-tauri/target/release/bundle/rpm/*.rpm') != '' |
| @@ -105,6 +114,36 @@ jobs: | ||
105 | 114 | files: src-tauri/target/release/bundle/rpm/*.rpm |
106 | 115 | draft: true |
107 | 116 | |
117 | + publish-aur: | |
118 | + name: Publish AUR Package | |
119 | + runs-on: ubuntu-latest | |
120 | + needs: build-release | |
121 | + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | |
122 | + | |
123 | + steps: | |
124 | + - name: Checkout repository | |
125 | + uses: actions/checkout@v4 | |
126 | + | |
127 | + - name: Extract version | |
128 | + id: get_version | |
129 | + run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT | |
130 | + | |
131 | + - name: Update PKGBUILD version | |
132 | + run: | | |
133 | + sed -i "s/pkgver=.*/pkgver=${{ steps.get_version.outputs.VERSION }}/" packaging/aur/PKGBUILD | |
134 | + sed -i "s|source = linuxy-.*|source = linuxy-${{ steps.get_version.outputs.VERSION }}.tar.gz::https://github.com/swadhinbiswas/linuxy/archive/refs/tags/v${{ steps.get_version.outputs.VERSION }}.tar.gz|" packaging/aur/.SRCINFO | |
135 | + | |
136 | + - name: Publish to AUR | |
137 | + uses: KSXGitHub/[email protected] | |
138 | + with: | |
139 | + pkgname: linuxy | |
140 | + pkgbuild: packaging/aur/PKGBUILD | |
141 | + commit_username: ${{ secrets.AUR_USERNAME }} | |
142 | + commit_email: ${{ secrets.AUR_EMAIL }} | |
143 | + ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} | |
144 | + commit_message: "chore: update to version ${{ steps.get_version.outputs.VERSION }}" | |
145 | + ssh_keyscan_types: rsa,ed25519 | |
146 | + | |
108 | 147 | notify: |
109 | 148 | name: Notify Release |
110 | 149 | runs-on: ubuntu-latest |
111 | 150 | |
▼packaging/README.md
+124-0
| @@ -0,0 +1,124 @@ | ||
1 | +# Linuxy Packaging | |
2 | + | |
3 | +This directory contains packaging files for distributing Linuxy across different Linux distributions. | |
4 | + | |
5 | +## Package Formats | |
6 | + | |
7 | +### DEB (Debian/Ubuntu) | |
8 | +Built automatically by Tauri. Supports: | |
9 | +- Debian 10+ | |
10 | +- Ubuntu 20.04+ | |
11 | +- Linux Mint | |
12 | +- Pop!_OS | |
13 | +- Other Debian-based distributions | |
14 | + | |
15 | +**Installation:** | |
16 | +```bash | |
17 | +sudo apt install ./linuxy_*.deb | |
18 | +``` | |
19 | + | |
20 | +### RPM (RHEL/Fedora/OpenSUSE) | |
21 | +Converted from DEB using `fpm`. Supports: | |
22 | +- Fedora 35+ | |
23 | +- RHEL 8+ | |
24 | +- CentOS 8+ | |
25 | +- OpenSUSE Tumbleweed | |
26 | +- Other RPM-based distributions | |
27 | + | |
28 | +**Installation:** | |
29 | +```bash | |
30 | +# Fedora/RHEL | |
31 | +sudo dnf install ./linuxy-*.rpm | |
32 | + | |
33 | +# OpenSUSE | |
34 | +sudo zypper install ./linuxy-*.rpm | |
35 | +``` | |
36 | + | |
37 | +### AUR (Arch Linux) | |
38 | +Community-maintained package for Arch-based distributions. | |
39 | + | |
40 | +**Installation:** | |
41 | +```bash | |
42 | +# Using yay | |
43 | +yay -S linuxy | |
44 | + | |
45 | +# Using paru | |
46 | +paru -S linuxy | |
47 | + | |
48 | +# Manual build | |
49 | +git clone https://aur.archlinux.org/linuxy.git | |
50 | +cd linuxy | |
51 | +makepkg -si | |
52 | +``` | |
53 | + | |
54 | +## Building Packages Locally | |
55 | + | |
56 | +### Prerequisites | |
57 | + | |
58 | +```bash | |
59 | +# Debian/Ubuntu | |
60 | +sudo apt install -y libwebkit2gtk-4.0-dev build-essential libssl-dev \ | |
61 | + libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev \ | |
62 | + ruby ruby-dev | |
63 | + | |
64 | +# Arch Linux | |
65 | +sudo pacman -S webkit2gtk base-devel openssl gtk3 \ | |
66 | + libappindicator-gtk3 librsvg libxdo ruby | |
67 | + | |
68 | +# Fedora | |
69 | +sudo dnf install -y webkit2gtk3-devel openssl-devel gtk3-devel \ | |
70 | + libappindicator-gtk3-devel librsvg2-devel ruby ruby-dev | |
71 | +``` | |
72 | + | |
73 | +### Build Commands | |
74 | + | |
75 | +```bash | |
76 | +# Install Node.js dependencies | |
77 | +npm install | |
78 | + | |
79 | +# Build DEB package (and frontend) | |
80 | +npm run tauri build | |
81 | + | |
82 | +# Build RPM package (requires fpm) | |
83 | +./scripts/build-rpm.sh | |
84 | +``` | |
85 | + | |
86 | +## AUR Package Maintenance | |
87 | + | |
88 | +The AUR package files are located in `packaging/aur/`: | |
89 | + | |
90 | +- `PKGBUILD` - Build script for AUR | |
91 | +- `.SRCINFO` - Package metadata | |
92 | +- `linuxy.install` - Install/upgrade hooks | |
93 | + | |
94 | +To update the AUR package version: | |
95 | + | |
96 | +1. Update `pkgver` in `PKGBUILD` | |
97 | +2. Update source URL with new version | |
98 | +3. Regenerate `.SRCINFO`: | |
99 | + ```bash | |
100 | + cd packaging/aur | |
101 | + makepkg --printsrcinfo > .SRCINFO | |
102 | + ``` | |
103 | + | |
104 | +4. Push to AUR: | |
105 | + ```bash | |
106 | + git clone ssh://[email protected]/linuxy.git | |
107 | + cp PKGBUILD .SRCINFO linuxy.install linuxy/ | |
108 | + cd linuxy | |
109 | + git add . | |
110 | + git commit -m "Update to version X.Y.Z" | |
111 | + git push | |
112 | + ``` | |
113 | + | |
114 | +## Release Checklist | |
115 | + | |
116 | +- [ ] Update version in `package.json` | |
117 | +- [ ] Update version in `src-tauri/Cargo.toml` | |
118 | +- [ ] Update `CHANGELOG.md` | |
119 | +- [ ] Create git tag: `git tag -a vX.Y.Z -m "Release vX.Y.Z"` | |
120 | +- [ ] Push tag: `git push origin vX.Y.Z` | |
121 | +- [ ] GitHub Actions will build and publish: | |
122 | + - DEB package (GitHub Releases) | |
123 | + - RPM package (GitHub Releases) | |
124 | + - AUR package (AUR repository) | |
0 | 125 | |
▼packaging/aur/.SRCINFO
+20-0
| @@ -0,0 +1,20 @@ | ||
1 | +pkgbase = linuxy | |
2 | + pkgdesc = One-click Linux Application Manager with Firejail sandboxing | |
3 | + pkgver = 1.0.0 | |
4 | + pkgrel = 1 | |
5 | + url = https://github.com/swadhinbiswas/linuxy | |
6 | + arch = x86_64 | |
7 | + license = MIT | |
8 | + depends = firejail | |
9 | + depends = xdg-utils | |
10 | + depends = webkit2gtk | |
11 | + depends = gtk3 | |
12 | + depends = libappindicator-gtk3 | |
13 | + depends = libxdo | |
14 | + makedepends = cargo | |
15 | + makedepends = nodejs | |
16 | + makedepends = npm | |
17 | + source = linuxy-1.0.0.tar.gz::https://github.com/swadhinbiswas/linuxy/archive/refs/tags/v1.0.0.tar.gz | |
18 | + sha256sums = SKIP | |
19 | + | |
20 | +pkgname = linuxy | |
0 | 21 | |
▼packaging/aur/PKGBUILD
+34-13
| @@ -1,24 +1,45 @@ | ||
1 | -# Maintainer: You <[email protected]> | |
1 | +# Maintainer: Swadhin Biswas <[email protected]> | |
2 | +# AUR Package for Linuxy - One-click Linux Application Manager | |
3 | + | |
2 | 4 | pkgname=linuxy |
3 | -pkgver=0.1.0 | |
5 | +pkgver=1.0.0 | |
4 | 6 | pkgrel=1 |
5 | -pkgdesc="A centralized AppImage manager and installer" | |
7 | +pkgdesc="One-click Linux Application Manager with Firejail sandboxing" | |
6 | 8 | arch=('x86_64') |
7 | -url="https://github.com/yourusername/linuxy" | |
9 | +url="https://github.com/swadhinbiswas/linuxy" | |
8 | 10 | license=('MIT') |
9 | -depends=('webkit2gtk' 'gtk3' 'cairo' 'pango' 'glib2' 'openssl' 'appimagetool') | |
10 | -makedepends=('cargo' 'npm' 'nodejs') | |
11 | -source=("$pkgname-$pkgver.tar.gz::https://github.com/yourusername/linuxy/archive/refs/tags/v$pkgver.tar.gz") | |
11 | +depends=('firejail' 'xdg-utils' 'webkit2gtk' 'gtk3' 'libappindicator-gtk3' 'libxdo') | |
12 | +makedepends=('cargo' 'nodejs' 'npm') | |
13 | +install=linuxy.install | |
14 | +source=("$pkgname-$pkgver.tar.gz::https://github.com/swadhinbiswas/$pkgname/archive/refs/tags/v$pkgver.tar.gz") | |
12 | 15 | sha256sums=('SKIP') |
13 | 16 | |
17 | +prepare() { | |
18 | + cd "$srcdir/$pkgname-$pkgver" | |
19 | + npm install | |
20 | +} | |
21 | + | |
14 | 22 | build() { |
15 | - cd "$pkgname-$pkgver" | |
16 | - npm install | |
17 | - npm run build | |
18 | - cargo build --release | |
23 | + cd "$srcdir/$pkgname-$pkgver" | |
24 | + npm run build | |
25 | + cd src-tauri | |
26 | + cargo build --release | |
19 | 27 | } |
20 | 28 | |
21 | 29 | package() { |
22 | - cd "$pkgname-$pkgver" | |
23 | - install -Dm755 "src-tauri/target/release/linuxy" "$pkgdir/usr/bin/linuxy" | |
30 | + cd "$srcdir/$pkgname-$pkgver" | |
31 | + | |
32 | + # Install binary | |
33 | + install -Dm755 "src-tauri/target/release/linuxy" "$pkgdir/usr/bin/linuxy" | |
34 | + | |
35 | + # Install desktop file | |
36 | + install -Dm644 "src-tauri/debian/desktop-template.desktop" "$pkgdir/usr/share/applications/linuxy.desktop" | |
37 | + | |
38 | + # Install icons | |
39 | + install -Dm644 "src-tauri/icons/32x32.png" "$pkgdir/usr/share/icons/hicolor/32x32/apps/linuxy.png" | |
40 | + install -Dm644 "src-tauri/icons/128x128.png" "$pkgdir/usr/share/icons/hicolor/128x128/apps/linuxy.png" | |
41 | + install -Dm644 "src-tauri/icons/[email protected]" "$pkgdir/usr/share/icons/hicolor/256x256@2/apps/linuxy.png" | |
42 | + | |
43 | + # Install license | |
44 | + install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" | |
24 | 45 | } |
25 | 46 | |
▼packaging/aur/linuxy.install
+35-0
| @@ -0,0 +1,35 @@ | ||
1 | +#!/bin/bash | |
2 | + | |
3 | +# Post-install script for Linuxy | |
4 | +post_install() { | |
5 | + # Update desktop database | |
6 | + if command -v update-desktop-database &> /dev/null; then | |
7 | + update-desktop-database /usr/share/applications 2>/dev/null || true | |
8 | + fi | |
9 | + | |
10 | + # Update icon cache | |
11 | + if command -v gtk-update-icon-cache &> /dev/null; then | |
12 | + for size in 32x32 128x128 256x256; do | |
13 | + gtk-update-icon-cache -f -t /usr/share/icons/hicolor/$size 2>/dev/null || true | |
14 | + done | |
15 | + fi | |
16 | +} | |
17 | + | |
18 | +# Post-remove script | |
19 | +post_remove() { | |
20 | + # Update desktop database | |
21 | + if command -v update-desktop-database &> /dev/null; then | |
22 | + update-desktop-database /usr/share/applications 2>/dev/null || true | |
23 | + fi | |
24 | + | |
25 | + # Update icon cache | |
26 | + if command -v gtk-update-icon-cache &> /dev/null; then | |
27 | + for size in 32x32 128x128 256x256; do | |
28 | + gtk-update-icon-cache -f -t /usr/share/icons/hicolor/$size 2>/dev/null || true | |
29 | + done | |
30 | + fi | |
31 | +} | |
32 | + | |
33 | +post_upgrade() { | |
34 | + post_install | |
35 | +} | |
0 | 36 | |
▼scripts/build-rpm.sh
+57-0
| @@ -0,0 +1,57 @@ | ||
1 | +#!/bin/bash | |
2 | +# Build RPM package from DEB for Linuxy | |
3 | +# Requires: fpm (gem install fpm) | |
4 | + | |
5 | +set -e | |
6 | + | |
7 | +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | |
8 | +PROJECT_ROOT="$(dirname "$SCRIPT_DIR")" | |
9 | +TAURI_TARGET="$PROJECT_ROOT/src-tauri/target" | |
10 | + | |
11 | +echo "=== Building RPM from DEB package ===" | |
12 | + | |
13 | +# Check if fpm is installed | |
14 | +if ! command -v fpm &> /dev/null; then | |
15 | + echo "Warning: fpm is not installed. Skipping RPM build." | |
16 | + echo "To build RPM, install fpm with: gem install fpm" | |
17 | + echo "Or on Arch Linux: sudo pacman -S ruby base-devel && gem install fpm" | |
18 | + exit 0 | |
19 | +fi | |
20 | + | |
21 | +# Find the latest DEB package | |
22 | +DEB_PACKAGE=$(ls -t "$TAURI_TARGET/release/bundle/deb/"*.deb 2>/dev/null | head -n1) | |
23 | + | |
24 | +if [ -z "$DEB_PACKAGE" ]; then | |
25 | + echo "Error: No DEB package found. Run 'npm run tauri build' first." | |
26 | + exit 1 | |
27 | +fi | |
28 | + | |
29 | +echo "Found DEB package: $DEB_PACKAGE" | |
30 | + | |
31 | +# Create RPM output directory | |
32 | +RPM_OUTPUT="$TAURI_TARGET/release/bundle/rpm" | |
33 | +mkdir -p "$RPM_OUTPUT" | |
34 | + | |
35 | +# Extract version from DEB filename | |
36 | +VERSION=$(basename "$DEB_PACKAGE" | sed 's/linuxy_\([0-9.]*\)_amd64.deb/\1/') | |
37 | +echo "Version: $VERSION" | |
38 | + | |
39 | +# Convert DEB to RPM using fpm | |
40 | +echo "Converting DEB to RPM..." | |
41 | +fpm --input-type deb \ | |
42 | + --output-type rpm \ | |
43 | + --name linuxy \ | |
44 | + --version "$VERSION" \ | |
45 | + --architecture x86_64 \ | |
46 | + --url "https://github.com/swadhinbiswas/linuxy" \ | |
47 | + --description "One-click Linux Application Manager with Firejail sandboxing" \ | |
48 | + --maintainer "Swadhin Biswas" \ | |
49 | + --license MIT \ | |
50 | + --depends firejail \ | |
51 | + --depends xdg-utils \ | |
52 | + --package "$RPM_OUTPUT/linuxy-${VERSION}-1.x86_64.rpm" \ | |
53 | + "$DEB_PACKAGE" | |
54 | + | |
55 | +echo "=== RPM build complete ===" | |
56 | +echo "RPM package: $RPM_OUTPUT/linuxy-${VERSION}-1.x86_64.rpm" | |
57 | +ls -la "$RPM_OUTPUT/"*.rpm | |
0 | 58 | |
▼scripts/update-aur.sh
+34-0
| @@ -0,0 +1,34 @@ | ||
1 | +#!/bin/bash | |
2 | +# Helper script to update AUR package version | |
3 | +# Usage: ./scripts/update-aur.sh 1.0.0 | |
4 | + | |
5 | +set -e | |
6 | + | |
7 | +if [ -z "$1" ]; then | |
8 | + echo "Usage: $0 <version>" | |
9 | + echo "Example: $0 1.0.0" | |
10 | + exit 1 | |
11 | +fi | |
12 | + | |
13 | +VERSION="$1" | |
14 | +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | |
15 | +AUR_DIR="$(dirname "$SCRIPT_DIR")/packaging/aur" | |
16 | + | |
17 | +echo "Updating AUR package to version $VERSION..." | |
18 | + | |
19 | +# Update PKGBUILD | |
20 | +sed -i "s/^pkgver=.*/pkgver=$VERSION/" "$AUR_DIR/PKGBUILD" | |
21 | +sed -i "s|linuxy-.*\.tar.gz::|linuxy-$VERSION.tar.gz::|" "$AUR_DIR/PKGBUILD" | |
22 | +sed -i "s|refs/tags/v.*|refs/tags/v$VERSION.tar.gz|" "$AUR_DIR/PKGBUILD" | |
23 | + | |
24 | +# Update .SRCINFO | |
25 | +sed -i "s/^ pkgver = .*/ pkgver = $VERSION/" "$AUR_DIR/.SRCINFO" | |
26 | +sed -i "s|linuxy-.*\.tar.gz::|linuxy-$VERSION.tar.gz::|" "$AUR_DIR/.SRCINFO" | |
27 | +sed -i "s|refs/tags/v.*|refs/tags/v$VERSION.tar.gz|" "$AUR_DIR/.SRCINFO" | |
28 | + | |
29 | +echo "✓ Updated PKGBUILD and .SRCINFO" | |
30 | +echo "" | |
31 | +echo "Next steps:" | |
32 | +echo "1. Review changes: git diff packaging/aur/" | |
33 | +echo "2. Update .SRCINFO checksums: cd packaging/aur && makepkg --printsrcinfo > .SRCINFO" | |
34 | +echo "3. Commit and push to AUR" | |
0 | 35 | |
▼src-tauri/debian/desktop-template.desktop
+2-2
| @@ -1,10 +1,10 @@ | ||
1 | 1 | [Desktop Entry] |
2 | 2 | Type=Application |
3 | 3 | Name=Linuxy |
4 | -Comment=One-click AppImage Manager for Linux - Open Source | |
4 | +Comment=One-click Linux Application Manager - Open Source | |
5 | 5 | Exec=linuxy %U |
6 | 6 | Icon=linuxy |
7 | 7 | Categories=Utility;System; |
8 | -Keywords=AppImage;Manager;Linux; | |
8 | +Keywords=Application;Manager;Linux; | |
9 | 9 | StartupNotify=true |
10 | 10 | StartupWMClass=linuxy |
11 | 11 | |
▼src-tauri/tauri.conf.json
+4-4
| @@ -36,7 +36,7 @@ | ||
36 | 36 | "icons/icon.ico" |
37 | 37 | ], |
38 | 38 | "identifier": "com.linuxy.app", |
39 | - "longDescription": "Linuxy is a modern AppImage manager with one-click installation, Firejail sandboxing, optional delta updates, and secure desktop integration.", | |
39 | + "longDescription": "Linuxy is a modern Linux application manager with one-click installation, Firejail sandboxing, optional delta updates, and secure desktop integration.", | |
40 | 40 | "macOS": { |
41 | 41 | "entitlements": null, |
42 | 42 | "exceptionDomain": "", |
| @@ -45,12 +45,12 @@ | ||
45 | 45 | "signingIdentity": null |
46 | 46 | }, |
47 | 47 | "resources": [], |
48 | - "shortDescription": "One-click AppImage Manager for Linux", | |
49 | - "targets": "all", | |
48 | + "shortDescription": "One-click Linux Application Manager", | |
49 | + "targets": ["deb"], | |
50 | 50 | "windows": { "certificateThumbprint": null, "digestAlgorithm": "sha256", "timestampUrl": "" } |
51 | 51 | }, |
52 | 52 | "security": { |
53 | - "csp": "default-src 'self'; img-src 'self' asset: data: https://appimage.github.io https://avatars.githubusercontent.com; style-src 'self' 'unsafe-inline'; connect-src 'self' https://appimage.github.io https://api.github.com https://avatars.githubusercontent.com; object-src 'none'; frame-src 'none'; base-uri 'self'; form-action 'none'" | |
53 | + "csp": "default-src 'self'; img-src 'self' asset: data: https://avatars.githubusercontent.com; style-src 'self' 'unsafe-inline'; connect-src 'self' https://api.github.com https://avatars.githubusercontent.com; object-src 'none'; frame-src 'none'; base-uri 'self'; form-action 'none'" | |
54 | 54 | }, |
55 | 55 | "windows": [ |
56 | 56 | { |
57 | 57 | |