Skip to content

Use Debain 13 "trixie"#211

Merged
moseshll merged 2 commits intomainfrom
trixie
Feb 9, 2026
Merged

Use Debain 13 "trixie"#211
moseshll merged 2 commits intomainfrom
trixie

Conversation

@moseshll
Copy link
Copy Markdown
Collaborator

@moseshll moseshll commented Feb 4, 2026

Part one:

Use Debian 13 image

  • Remove unused apt and CPAN dependencies
  • Consolidate apt packages
  • Move some dependencies from cpanm to apt

Part two:

The jumping-off point for this "pre-refactor" is the abandoned UUID::Tiny module and the question of why the core CRMS module is responsible for things like UUIDs (and Dates, Pluralization, Number Formatting...).

One of the reasons CRMS is so bloated is: it is one of the only objects the Template Toolkit templates have access to. As a result, all manner of utility routines and glue have accreted there. It's an uber controller/presenter/helper class in one gargantuan package.

The plan will be to incrementally migrate utilities into lib/CRMS and get them fully tested, and ultimately provide a utility singleton to all the various page templates the same way we provide a CRMS object. TT templates can call procedural routines, but not in a very nice way. There's no such thing as "just" loading a module and calling new, or a procedural sub.

This commit is to be a placeholder showing how to do some of the next refactoring steps without affecting the behavior of the current system. I'm providing a uuid method from the new classes so we can give the old one the heave-ho and get rid of UUID::Tiny in the near future.

- Remove unused apt and CPAN dependencies
- Consolidate apt packages
- Move some dependencies from cpanm to apt
…:Tiny` module and the

question of why the core `CRMS` module is responsible for things like UUIDs
(and Dates, Pluralization, Number Formatting...).

One of the reasons CRMS is so bloated is: it is the only object the Template Toolkit templates
have access to. As a result, all manner of utility routines and glue have accreted there.
The plan will be to incrementally migrate utilities into `lib/CRMS` and get them fully
tested, and ultimately provide a `utility` singleton to all the various page templates
the same way we provide a `CRMS` object. TT templates can call procedural routines, but not
in a very nice way. There's no such thing as "just" loading a module and calling `new`, or calling
a procedural `sub`.

This commit is to be a placeholder showing how to do some of the next refactoring steps without
affecting the behavior of the current system.
Comment thread t/CRMS.t
@moseshll moseshll requested review from aelkiss and kron-spar February 4, 2026 22:09
Copy link
Copy Markdown
Member

@aelkiss aelkiss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This all looks fine to me as a precursor to moving more things into CRMS::Utility. We can consider more when more moves into it and when the templates start using it (that is, might there be opportunities for template-specific presenter-type classes that bring in some of this functionality?)

@moseshll moseshll merged commit c1e7aca into main Feb 9, 2026
1 check passed
@moseshll moseshll deleted the trixie branch February 9, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants