Skip to content

Latest commit

 

History

History
175 lines (135 loc) · 4.68 KB

File metadata and controls

175 lines (135 loc) · 4.68 KB

projectM Debian Packaging Plan

Goal

Get projectM 4.x into Debian (and therefore Ubuntu, downstream distros).

Current Status

  • Debian has projectm 3.1.12-4
  • Upstream has 4.1.6
  • Major API break (C++ → C), SONAME bump required

Phase 1: New Dependency (projectm-eval)

Status: IN PROGRESS

projectm-eval is a NEW package required by projectM 4.x.

Steps:

  1. Prepare debian/ packaging files
  2. Test build locally
  3. Fix upstream DESTDIR bug (PR #17)
  4. Merge PR and tag v1.0.6
  5. Update packaging for v1.0.6 (remove patch)
  6. File ITP (Intent To Package) bug
  7. Find sponsor or work with Debian Multimedia Team
  8. Upload to unstable

ITP Bug Template:

Package: wnpp
Severity: wishlist
Owner: [your-email]

* Package name    : projectm-eval
  Version         : 1.0.6
  Upstream Author : projectM Team <https://github.com/projectM-visualizer>
* URL             : https://github.com/projectM-visualizer/projectm-eval
* License         : MIT
  Programming Lang: C
  Description     : Expression evaluation library for projectM presets

projectm-eval is a fast expression evaluation library designed for use
with projectM. It parses and compiles per-frame and per-pixel equations
used in Milkdrop visualization presets.

This is a new dependency required for projectM 4.x.

Phase 2: Presets Package (NEW)

Status: NOT STARTED

projectM 4.x no longer bundles presets. Need separate package.

Steps:

  1. Clone presets-cream-of-the-crop repo
  2. Create debian/ packaging (arch: all, just data files)
  3. Test build
  4. File ITP bug
  5. Upload to unstable

Package Details:


Phase 3: Main Library Update (projectm 4.x)

Status: PACKAGING PREPARED

Steps:

  1. Prepare debian/ packaging files
  2. Test build locally
  3. Wait for projectm-eval in archive
  4. Wait for projectm-presets in archive (or make Recommends)
  5. Upload to EXPERIMENTAL first (SONAME bump)
  6. File transition bug with Release Team
  7. Coordinate reverse dependency updates
  8. Move to unstable after transition approved

Binary Packages:

  • libprojectm4 (replaces libprojectm3)
  • libprojectm-dev
  • libprojectm-playlist4 (NEW)
  • libprojectm-playlist-dev (NEW)

Reverse Dependencies to Update:

  • qmmp-plugin-projectm (needs v4 API port)

Phase 4: Frontend Applications (Optional)

Status: NOT STARTED

The standalone apps (projectm-jack, projectm-pulseaudio, projectm-sdl) are now in separate repos.

Options:

  1. Package frontend-sdl2 as projectm-sdl (replacement)
  2. Leave frontends unpackaged (users build from source)
  3. Package all frontends separately

Repos:


Working with Debian

Option A: Debian Multimedia Team (Recommended)

The team already maintains projectm 3.x. Email them:

Option B: Debian Mentors

  1. Create account on mentors.debian.net
  2. Upload source packages there
  3. File RFS (Request For Sponsor) bugs
  4. Wait for DD to review and upload

Option C: Become a Debian Maintainer

  1. Package gets into Debian
  2. Get sponsored uploads
  3. Apply for DM status after track record
  4. Eventually can upload yourself

Files Prepared

/home/cyber/dev/pm/debian-packaging/
├── PLAN.md                      # This file
├── TRANSITION-NOTES.md          # Technical details
├── projectm-debian/             # Current 3.x packaging (reference)
├── projectm-eval-debian/        # NEW: projectm-eval packaging
│   └── debian/
│       ├── control
│       ├── rules
│       ├── changelog
│       ├── copyright
│       ├── watch
│       ├── gbp.conf
│       ├── source/format
│       └── patches/             # Can remove after v1.0.6
└── projectm-v4-debian/          # UPDATED: projectm 4.x packaging
    └── debian/
        ├── control
        ├── rules
        ├── changelog
        ├── copyright
        ├── watch
        ├── gbp.conf
        ├── source/format
        ├── libprojectm4.install
        ├── libprojectm-dev.install
        ├── libprojectm-playlist4.install
        └── libprojectm-playlist-dev.install

Next Actions

  1. Update projectm-eval packaging for v1.0.6 (remove DESTDIR patch)
  2. Draft email to Debian Multimedia Team
  3. Package projectm-presets
  4. File ITP bugs (after team contact)