Skip to content

Conversation

@HelgiSaga
Copy link

Fixes #xyz

Main Issue: #xyz

PIP: #xyz

Motivation

Modifications

Verifying this change

  • Make sure that the change passes the CI checks.

(Please pick either of the following options)

This change is a trivial rework / code cleanup without any test coverage.

(or)

This change is already covered by existing tests, such as (please describe tests).

(or)

This change added tests and can be verified as follows:

(example:)

  • Added integration tests for end-to-end deployment with large payloads (10MB)
  • Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

  • Dependencies (add or upgrade a dependency)
  • The public API
  • The schema
  • The default values of configurations
  • The threading model
  • The binary protocol
  • The REST endpoints
  • The admin CLI options
  • The metrics
  • Anything that affects deployment

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

Matching PR in forked repository

PR in forked repository:

HelgiSaga and others added 16 commits November 8, 2025 18:02
- Add docker/deb/test/Dockerfile for automated deb package testing
  * Tests package installation and file structure
  * Verifies systemd service files creation
  * Checks user and permissions setup
  * Validates executable scripts and commands
  * Tests package dependencies installation

- Add docker/deb/test/README.md with usage instructions
  * Build and run instructions
  * Test coverage documentation
  * Notes on systemd requirements

- Fix debian/rules: correct dh_installsystemd usage for multiple services
  * Properly install all 6 service files:
    - apache-pulsar.service (broker)
    - apache-pulsar-bookie.service (BookKeeper)
    - apache-pulsar-proxy.service (Proxy)
    - apache-pulsar-functions-worker.service (Functions Worker)
    - apache-pulsar-websocket.service (WebSocket)
    - apache-pulsar-autorecovery.service (Autorecovery)
  * Fix service file paths in dh_installsystemd commands

This commit improves package quality assurance by providing automated
testing infrastructure for the deb package before deployment.
…tomatically

    via dh_installsystemd. Additional services (bookie, proxy, functions-worker,
    websocket, autorecovery) are installed as examples in
    /usr/share/apache-pulsar/examples/systemd/ for manual activation
  * Updated debian/control: changed Java dependency to support both Java 21 and 17
    (openjdk-21-jre-headless | openjdk-17-jre-headless) for compatibility with
    Debian Trixie and older versions
  * Fixed debian/rules: added override_dh_installdeb and override_dh_builddeb
    to ensure postinst script is properly packaged. The script creates system
    user apache-pulsar, sets directory permissions, and creates log directory
  * Updated debian/install: added installation of additional systemd service files
    as examples in /usr/share/apache-pulsar/examples/systemd/
  * Updated debian/README: documented current package structure, maintainer scripts
    handling, and systemd services installation approach
… LF for

    proper execution in Linux containers. Added automatic line ending conversion
    for all scripts in debian/tmp/pulsar/bin directory
  * Fixed debian/rules: added symlink resolution fix for pulsar-admin and
    pulsar-client scripts. Scripts now correctly resolve PULSAR_HOME when called
    from /usr/bin symlinks using the same method as pulsar-shell
  * Fixed debian/rules: added pulsar-admin-common.sh to copied files list.
    This file is required by pulsar-admin and pulsar-client commands
  * Fixed debian/source/format: changed from 3.0 (quilt) to 3.0 (native) and
    created debian/patches directory structure for proper source package format
  * Updated .gitattributes: added rule for all debian/** files to use LF line
    endings, preventing Windows line ending issues in Linux builds
  * Fixed docker/deb/test/Dockerfile: improved command testing with proper error
    handling. Commands no longer cause test script to exit on expected errors
    (exit code 1 for usage display)
  * Updated docker/deb/test/Dockerfile: added comprehensive standalone Pulsar
    startup test. Test verifies HTTP API, broker port, and pulsar-admin
    functionality with real running instance
  * Updated docker/deb/test/Dockerfile: added curl dependency for HTTP API testing
    and improved Java version detection in test output
    The pulsar script now correctly resolves PULSAR_HOME when called from
    /usr/bin symlink, fixing ClassNotFoundException errors for PulsarVersionStarter
    and PulsarStandaloneStarter classes
  * Fixed debian/rules: corrected configuration files installation structure.
    Configuration files are now copied directly to /etc/apache-pulsar/ instead
    of /etc/apache-pulsar/conf/ subdirectory, ensuring proper symlink resolution
    from /usr/lib/apache-pulsar/conf to /etc/apache-pulsar
  * Fixed debian/rules: changed conf directory handling in override_dh_auto_install.
    Configuration files are now moved directly to debian/tmp/etc/apache-pulsar/
    (not in a conf subdirectory) and copied manually in override_dh_install
    before dh_install to avoid nested directory structure
  * Updated debian/install: removed configuration files from dh_install mapping.
    Files are now copied directly in override_dh_install to ensure correct
    directory structure without nested paths
  * Updated debian/not-installed: added etc/apache-pulsar/** pattern to indicate
    that configuration files are installed manually in override_dh_install,
    preventing dh_missing errors during package build
  * Fixed debian/rules: added comprehensive verification of configuration files
    installation, including checks for standalone.conf and symlink correctness
@github-actions
Copy link

@HelgiSaga Please add the following content to your PR description and select a checkbox:

- [ ] `doc` <!-- Your PR contains doc changes -->
- [ ] `doc-required` <!-- Your PR changes impact docs and you will update later -->
- [ ] `doc-not-needed` <!-- Your PR changes do not impact docs -->
- [ ] `doc-complete` <!-- Docs have been already added -->

@HelgiSaga HelgiSaga closed this Jan 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant