mirror of
				https://github.com/kunkundi/crossdesk.git
				synced 2025-10-26 20:25:34 +08:00 
			
		
		
		
	[fix] fix linux x86_64 package script no Size information issue
This commit is contained in:
		| @@ -1,16 +1,18 @@ | |||||||
| #!/bin/bash | #!/bin/bash | ||||||
| set -e | set -e | ||||||
|  |  | ||||||
|  | PKG_NAME="crossdesk" | ||||||
| APP_NAME="CrossDesk" | APP_NAME="CrossDesk" | ||||||
|  |  | ||||||
| APP_VERSION="$1" | APP_VERSION="$1" | ||||||
| ARCHITECTURE="amd64" | ARCHITECTURE="amd64" | ||||||
| MAINTAINER="Junkun Di <junkun.di@hotmail.com>" | MAINTAINER="Junkun Di <junkun.di@hotmail.com>" | ||||||
| DESCRIPTION="A simple cross-platform remote desktop client." | DESCRIPTION="A simple cross-platform remote desktop client." | ||||||
|  |  | ||||||
| DEB_DIR="$APP_NAME-$APP_VERSION" | DEB_DIR="${PKG_NAME}-${APP_VERSION}" | ||||||
| DEBIAN_DIR="$DEB_DIR/DEBIAN" | DEBIAN_DIR="$DEB_DIR/DEBIAN" | ||||||
| BIN_DIR="$DEB_DIR/usr/local/bin" | BIN_DIR="$DEB_DIR/usr/bin" | ||||||
| CERT_SRC_DIR="$DEB_DIR/opt/$APP_NAME/certs" | CERT_SRC_DIR="$DEB_DIR/opt/$PKG_NAME/certs" | ||||||
| ICON_BASE_DIR="$DEB_DIR/usr/share/icons/hicolor" | ICON_BASE_DIR="$DEB_DIR/usr/share/icons/hicolor" | ||||||
| DESKTOP_DIR="$DEB_DIR/usr/share/applications" | DESKTOP_DIR="$DEB_DIR/usr/share/applications" | ||||||
|  |  | ||||||
| @@ -18,19 +20,21 @@ rm -rf "$DEB_DIR" | |||||||
|  |  | ||||||
| mkdir -p "$DEBIAN_DIR" "$BIN_DIR" "$CERT_SRC_DIR" "$DESKTOP_DIR" | mkdir -p "$DEBIAN_DIR" "$BIN_DIR" "$CERT_SRC_DIR" "$DESKTOP_DIR" | ||||||
|  |  | ||||||
| cp build/linux/x86_64/release/crossdesk "$BIN_DIR" | cp build/linux/x86_64/release/crossdesk "$BIN_DIR/$PKG_NAME" | ||||||
|  | chmod +x "$BIN_DIR/$PKG_NAME" | ||||||
|  |  | ||||||
|  | ln -s "$PKG_NAME" "$BIN_DIR/$APP_NAME" | ||||||
|  |  | ||||||
| cp certs/crossdesk.cn_root.crt "$CERT_SRC_DIR/crossdesk.cn_root.crt" | cp certs/crossdesk.cn_root.crt "$CERT_SRC_DIR/crossdesk.cn_root.crt" | ||||||
|  |  | ||||||
| for size in 16 24 32 48 64 96 128 256; do | for size in 16 24 32 48 64 96 128 256; do | ||||||
|     mkdir -p "$ICON_BASE_DIR/${size}x${size}/apps" |     mkdir -p "$ICON_BASE_DIR/${size}x${size}/apps" | ||||||
|     cp "icons/linux/crossdesk_${size}x${size}.png" \ |     cp "icons/linux/crossdesk_${size}x${size}.png" \ | ||||||
|        "$ICON_BASE_DIR/${size}x${size}/apps/crossdesk.png" |        "$ICON_BASE_DIR/${size}x${size}/apps/${PKG_NAME}.png" | ||||||
| done | done | ||||||
|  |  | ||||||
| chmod +x "$BIN_DIR/crossdesk" |  | ||||||
|  |  | ||||||
| cat > "$DEBIAN_DIR/control" << EOF | cat > "$DEBIAN_DIR/control" << EOF | ||||||
| Package: $APP_NAME | Package: $PKG_NAME | ||||||
| Version: $APP_VERSION | Version: $APP_VERSION | ||||||
| Architecture: $ARCHITECTURE | Architecture: $ARCHITECTURE | ||||||
| Maintainer: $MAINTAINER | Maintainer: $MAINTAINER | ||||||
| @@ -43,13 +47,13 @@ Priority: optional | |||||||
| Section: utils | Section: utils | ||||||
| EOF | EOF | ||||||
|  |  | ||||||
| cat > "$DESKTOP_DIR/$APP_NAME.desktop" << EOF | cat > "$DESKTOP_DIR/$PKG_NAME.desktop" << EOF | ||||||
| [Desktop Entry] | [Desktop Entry] | ||||||
| Version=$APP_VERSION | Version=$APP_VERSION | ||||||
| Name=$APP_NAME | Name=$APP_NAME | ||||||
| Comment=$DESCRIPTION | Comment=$DESCRIPTION | ||||||
| Exec=/usr/local/bin/crossdesk | Exec=/usr/bin/$PKG_NAME | ||||||
| Icon=crossdesk | Icon=$PKG_NAME | ||||||
| Terminal=false | Terminal=false | ||||||
| Type=Application | Type=Application | ||||||
| Categories=Utility; | Categories=Utility; | ||||||
| @@ -57,62 +61,59 @@ EOF | |||||||
|  |  | ||||||
| cat > "$DEBIAN_DIR/postrm" << EOF | cat > "$DEBIAN_DIR/postrm" << EOF | ||||||
| #!/bin/bash | #!/bin/bash | ||||||
| # post-removal script for $APP_NAME |  | ||||||
|  |  | ||||||
| set -e | set -e | ||||||
|  |  | ||||||
| if [ "\$1" = "remove" ] || [ "\$1" = "purge" ]; then | if [ "\$1" = "remove" ] || [ "\$1" = "purge" ]; then | ||||||
|     rm -f /usr/local/bin/crossdesk |     rm -f /usr/bin/$PKG_NAME || true | ||||||
|     rm -f /usr/share/applications/$APP_NAME.desktop |     rm -f /usr/bin/$APP_NAME || true | ||||||
|     rm -rf /opt/$APP_NAME |     rm -f /usr/share/applications/$PKG_NAME.desktop || true | ||||||
|  |     rm -rf /opt/$PKG_NAME/certs || true | ||||||
|     for size in 16 24 32 48 64 96 128 256; do |     for size in 16 24 32 48 64 96 128 256; do | ||||||
|         rm -f /usr/share/icons/hicolor/\${size}x\${size}/apps/crossdesk.png |         rm -f /usr/share/icons/hicolor/\${size}x\${size}/apps/$PKG_NAME.png || true | ||||||
|     done |     done | ||||||
| fi | fi | ||||||
|  |  | ||||||
| exit 0 | exit 0 | ||||||
| EOF | EOF | ||||||
|  |  | ||||||
| chmod +x "$DEBIAN_DIR/postrm" | chmod +x "$DEBIAN_DIR/postrm" | ||||||
|  |  | ||||||
| cat > "$DEBIAN_DIR/postinst" << 'EOF' | cat > "$DEBIAN_DIR/postinst" << 'EOF' | ||||||
| #!/bin/bash | #!/bin/bash | ||||||
| set -e | set -e | ||||||
|  |  | ||||||
| CERT_SRC="/opt/CrossDesk/certs" | CERT_SRC="/opt/crossdesk/certs" | ||||||
| CERT_FILE="crossdesk.cn_root.crt" | CERT_FILE="crossdesk.cn_root.crt" | ||||||
|  |  | ||||||
| for user_home in /home/*; do | for user_home in /home/*; do | ||||||
|     [ -d "$user_home" ] || continue |     [ -d "$user_home" ] || continue | ||||||
|     username=$(basename "$user_home") |     username=$(basename "$user_home") | ||||||
|     config_dir="$user_home/.config/CrossDesk/certs" |     config_dir="$user_home/.config/crossdesk/certs" | ||||||
|     target="$config_dir/$CERT_FILE" |     target="$config_dir/$CERT_FILE" | ||||||
|  |  | ||||||
|     if [ ! -f "$target" ]; then |     if [ ! -f "$target" ]; then | ||||||
|         mkdir -p "$config_dir" |         mkdir -p "$config_dir" || true | ||||||
|         cp "$CERT_SRC/$CERT_FILE" "$target" |         cp "$CERT_SRC/$CERT_FILE" "$target" || true | ||||||
|         chown -R "$username:$username" "$user_home/.config/CrossDesk" |         chown -R "$username:$username" "$user_home/.config/crossdesk" || true | ||||||
|         echo "✔ Installed cert for $username at $target" |         echo "✔ Installed cert for $username at $target" | ||||||
|     fi |     fi | ||||||
| done | done | ||||||
|  |  | ||||||
| if [ -d "/root" ]; then | if [ -d "/root" ]; then | ||||||
|     config_dir="/root/.config/CrossDesk/certs" |     config_dir="/root/.config/crossdesk/certs" | ||||||
|     mkdir -p "$config_dir" |     mkdir -p "$config_dir" || true | ||||||
|     cp "$CERT_SRC/$CERT_FILE" "$config_dir/$CERT_FILE" |     cp "$CERT_SRC/$CERT_FILE" "$config_dir/$CERT_FILE" || true | ||||||
|     chown -R root:root /root/.config/CrossDesk |     chown -R root:root /root/.config/crossdesk || true | ||||||
| fi | fi | ||||||
|  |  | ||||||
| exit 0 | exit 0 | ||||||
| EOF | EOF | ||||||
|  |  | ||||||
| chmod +x "$DEBIAN_DIR/postinst" | chmod +x "$DEBIAN_DIR/postinst" | ||||||
|  |  | ||||||
| dpkg-deb --build "$DEB_DIR" | dpkg-deb --build "$DEB_DIR" | ||||||
|  |  | ||||||
| OUTPUT_FILE="crossdesk-linux-x86_64-$APP_VERSION.deb" | OUTPUT_FILE="${PKG_NAME}-${APP_VERSION}-${ARCHITECTURE}.deb" | ||||||
| mv "$DEB_DIR.deb" "$OUTPUT_FILE" | mv "$DEB_DIR.deb" "$OUTPUT_FILE" | ||||||
|  |  | ||||||
| rm -rf "$DEB_DIR" | rm -rf "$DEB_DIR" | ||||||
|  |  | ||||||
| echo "Deb package for $OUTPUT_FILE created successfully." | echo "✅ Deb package created: $OUTPUT_FILE" | ||||||
		Reference in New Issue
	
	Block a user