Skip to content

Distribute CLI via APT (Debian/Ubuntu) #124

Description

@cardmagic

Summary

Add APT distribution for the classifier CLI to make installation easier for Debian/Ubuntu users.

Background

Currently users must install via RubyGems (gem install classifier), which requires Ruby environment setup. A Debian package would provide a simpler installation path.

Tasks

  • Create Debian package (classifier_2.2.0_all.deb)
  • Set up PPA or package repository
  • Submit to Debian/Ubuntu official repositories (long-term)

Options

  1. Launchpad PPA - Create Personal Package Archive for easy add-apt-repository installation
  2. Custom APT repository - Host on rubyclassifier.com or GitHub Pages
  3. Official Debian repo - Submit to Debian (requires maintainer, long process)

Package Structure

classifier_2.2.0_all.deb
├── DEBIAN/
│   ├── control
│   ├── postinst
│   └── prerm
└── usr/
    ├── bin/
    │   └── classifier
    └── share/
        └── doc/classifier/
            └── copyright

Example control file

Package: classifier
Version: 2.2.0
Section: text
Priority: optional
Architecture: all
Depends: ruby (>= 3.1), ruby-dev
Maintainer: Lucas Carlson <lucas@rufy.com>
Homepage: https://rubyclassifier.com
Description: Text classification with Bayesian and LSI algorithms
 A Ruby library for text classification featuring Naive Bayes,
 LSI (Latent Semantic Indexing), and more.

Installation (Goal)

# PPA approach
sudo add-apt-repository ppa:cardmagic/classifier
sudo apt-get update
sudo apt-get install classifier

# Custom repo approach
echo "deb https://rubyclassifier.com/apt stable main" | sudo tee /etc/apt/sources.list.d/classifier.list
curl -fsSL https://rubyclassifier.com/apt/KEY.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install classifier

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions