Files
ccextractor/packaging
Carlos Fernandez 4ab6c83c27 chore: Bump version to 0.96.4
Update version numbers across all packaging and build files for the
0.96.4 release.

Changes in 0.96.4:
- New: Persistent CEA-708 decoder context
- New: OCR character blacklist options
- New: OCR line-split option
- Fix: 32-bit build failures (i686, armv7l)
- Fix: Legacy argument compatibility (-1, -2, -12, --sc, --svc)
- Fix: Prevent heap buffer overflow in Teletext (security)
- Fix: Lazy OCR initialization

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 10:17:56 +01:00
..
2026-01-01 10:17:56 +01:00
2026-01-01 10:17:56 +01:00

CCExtractor Packaging

This directory contains packaging configurations for Windows package managers.

Windows Package Manager (winget)

Initial Setup (One-time)

  1. Calculate MSI hash for the current release:

    certutil -hashfile CCExtractor.0.96.1.msi SHA256
    
  2. Update the manifest files in winget/ with the SHA256 hash

  3. Fork microsoft/winget-pkgs to the CCExtractor organization:

  4. Submit initial manifest via PR:

    • Clone your fork
    • Create directory: manifests/c/CCExtractor/CCExtractor/0.96.1/
    • Copy the three YAML files from winget/
    • Submit PR to microsoft/winget-pkgs
  5. Create GitHub token for automation:

    • Go to GitHub Settings > Developer settings > Personal access tokens > Tokens (classic)
    • Create token with public_repo scope
    • Add as secret WINGET_TOKEN in CCExtractor/ccextractor repository

Automated Updates

After the initial submission is merged, the publish_winget.yml workflow will automatically submit PRs for new releases.

Chocolatey

Initial Setup (One-time)

  1. Create Chocolatey account:

  2. Get API key:

  3. Add secret:

    • Add CHOCOLATEY_API_KEY secret to CCExtractor/ccextractor repository

Package Structure

chocolatey/
├── ccextractor.nuspec      # Package metadata
└── tools/
    ├── chocolateyInstall.ps1    # Installation script
    └── chocolateyUninstall.ps1  # Uninstallation script

Manual Testing

cd packaging/chocolatey

# Update version and checksum in files first, then:
choco pack ccextractor.nuspec

# Test locally
choco install ccextractor --source="'.'" --yes --force

# Verify
ccextractor --version

Automated Updates

The publish_chocolatey.yml workflow automatically:

  1. Downloads the MSI from the release
  2. Calculates the SHA256 checksum
  3. Updates the nuspec and install script
  4. Builds and tests the package
  5. Pushes to Chocolatey

Note: Chocolatey packages go through moderation before being publicly available.

Workflow Triggers

Both workflows trigger on:

  • Release published: Automatic publishing when a new release is created
  • Manual dispatch: Can be triggered manually with a specific tag

Secrets Required

Secret Purpose
WINGET_TOKEN GitHub PAT with public_repo scope for winget PRs
CHOCOLATEY_API_KEY Chocolatey API key for package uploads