diff --git a/build-release.sh b/build-release.sh index 939ef626b..b3fedd992 100755 --- a/build-release.sh +++ b/build-release.sh @@ -55,13 +55,13 @@ for build_name in "${!builds[@]}"; do # Create release archive tar_name="pulse-v${VERSION}-${build_name}.tar.gz" - # Create staging directory - simplified structure with embedded frontend + # Create staging directory with bin/ structure (matches what community script expects) staging_dir="$BUILD_DIR/pulse-staging" rm -rf "$staging_dir" - mkdir -p "$staging_dir" + mkdir -p "$staging_dir/bin" - # Copy files - no frontend needed as it's embedded - cp "$BUILD_DIR/pulse-$build_name" "$staging_dir/pulse" + # Copy files to match universal archive structure + cp "$BUILD_DIR/pulse-$build_name" "$staging_dir/bin/pulse" cp README.md LICENSE install.sh "$staging_dir/" echo "$VERSION" > "$staging_dir/VERSION" diff --git a/install.sh b/install.sh index 4a6d3166f..1d01bb741 100755 --- a/install.sh +++ b/install.sh @@ -197,12 +197,12 @@ download_pulse() { mkdir -p "$TEMP_EXTRACT" tar -xzf pulse.tar.gz -C "$TEMP_EXTRACT" - # Copy Pulse binary (frontend is now embedded) - # TODO: Simplify this in v5 - for now handle both structures for compatibility - if [[ -f "$TEMP_EXTRACT/pulse" ]]; then - cp "$TEMP_EXTRACT/pulse" "$INSTALL_DIR/pulse" - elif [[ -f "$TEMP_EXTRACT/bin/pulse" ]]; then + # Copy Pulse binary from bin/ directory (standard structure as of v4.3.1) + if [[ -f "$TEMP_EXTRACT/bin/pulse" ]]; then cp "$TEMP_EXTRACT/bin/pulse" "$INSTALL_DIR/pulse" + elif [[ -f "$TEMP_EXTRACT/pulse" ]]; then + # Fallback for old archives (pre-v4.3.1) + cp "$TEMP_EXTRACT/pulse" "$INSTALL_DIR/pulse" else print_error "Pulse binary not found in archive" exit 1