Skip to content

Commit 5496058

Browse files
committed
ci(linux): Fiabilise la création et l'installation du paquet DEB
Le script de post-installation () généré provoquait un échec de l'installation du paquet ( error 1) sur les systèmes Debian/Ubuntu. **Problème :** L'erreur était causée par l'exécution de la commande sur le répertoire , qui n'est pas un thème d'icônes standard. **Solution :** 1. **Chemin d'icône corrigé** : L'icône de l'application est maintenant installée dans le répertoire standardisé . 2. **Suppression des scripts** : Les scripts et ont été supprimés. En plaçant l'icône et le fichier dans leurs chemins standards, déclenche automatiquement les mises à jour nécessaires (cache d'icônes, base de données des applications). Ce changement rend le processus de packaging plus simple, plus robuste et plus conforme aux standards Debian.
1 parent aa3646c commit 5496058

File tree

1 file changed

+9
-38
lines changed

1 file changed

+9
-38
lines changed

.github/workflows/build-release.yml

Lines changed: 9 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -81,17 +81,20 @@ jobs:
8181
8282
- name: Create Linux package structure
8383
run: |
84+
# Create standard package directories
8485
mkdir -p package/usr/bin
8586
mkdir -p package/usr/share/applications
86-
mkdir -p package/usr/share/pixmaps
87+
# Use standard Freedesktop icon theme path (assuming a 48x48 icon)
88+
mkdir -p package/usr/share/icons/hicolor/48x48/apps
8789
mkdir -p package/DEBIAN
8890
8991
# Copy binary
9092
cp src/filefind package/usr/bin/
9193
chmod +x package/usr/bin/filefind
9294
93-
# Copy icon
94-
cp src/filefind.ico package/usr/share/pixmaps/filefind.png
95+
# Copy icon to the correct theme directory
96+
# Note: Renaming .ico to .png is not ideal. A proper conversion should be part of the build.
97+
cp src/filefind.ico package/usr/share/icons/hicolor/48x48/apps/filefind.png
9598
9699
# Create desktop file
97100
cat > package/usr/share/applications/filefind.desktop << EOF
@@ -126,40 +129,8 @@ jobs:
126129
Homepage: https://github.com/NDXDeveloper/FileFind
127130
EOF
128131
129-
- name: Create DEB postinst script
130-
run: |
131-
cat > package/DEBIAN/postinst << 'EOF'
132-
#!/bin/bash
133-
set -e
134-
135-
# Update desktop database
136-
if command -v update-desktop-database >/dev/null 2>&1; then
137-
update-desktop-database -q /usr/share/applications
138-
fi
139-
140-
# Update icon cache
141-
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
142-
gtk-update-icon-cache -q /usr/share/pixmaps
143-
fi
144-
145-
exit 0
146-
EOF
147-
chmod +x package/DEBIAN/postinst
148-
149-
- name: Create DEB prerm script
150-
run: |
151-
cat > package/DEBIAN/prerm << 'EOF'
152-
#!/bin/bash
153-
set -e
154-
155-
# Remove desktop database entries
156-
if command -v update-desktop-database >/dev/null 2>&1; then
157-
update-desktop-database -q /usr/share/applications
158-
fi
159-
160-
exit 0
161-
EOF
162-
chmod +x package/DEBIAN/prerm
132+
# The postinst and prerm scripts are removed as they are no longer needed.
133+
# dpkg triggers will handle icon cache and desktop database updates automatically.
163134

164135
- name: Build DEB package
165136
run: |
@@ -448,7 +419,7 @@ jobs:
448419
steps:
449420
- name: Notify build status
450421
run: |
451-
if [[ "${{ needs.build-linux.result }}" == "success" ]] && [[ "${{ needs.build-linux.result }}" == "success" ]]; then
422+
if [[ "${{ needs.build-linux.result }}" == "success" ]] && [[ "${{ needs.build-windows.result }}" == "success" ]]; then
452423
echo "✅ All builds completed successfully!"
453424
echo "Version: ${{ needs.build-linux.outputs.version }}"
454425
else

0 commit comments

Comments
 (0)