Skip to content

Conversation

@tiesjan
Copy link
Contributor

@tiesjan tiesjan commented Nov 6, 2025

The cd-discid has been deprecated 3 weeks ago. However, without it I'm unable to get the abcde formula to work:

[ERROR] abcde: cd-discid is not in your path.
[INFO] Define the full path to the executable if it exists on your system.

The original website is indeed down and no changes have been made over the past 9 years, but the package works well for me on Sequoia and Tahoe. I took the liberty of forking the repository for maintenance. I've also released a new version with unreleased changes. Therefore, I'd like to propose the following changes:

  • Update homepage to GitHub repository
  • Update download URL to git reference for version 1.4
  • Remove redundant patch, which is already applied to version 1.4
  • Remove deprecation

Note: made cd-discid a dependency of abcde in #253372 to ensure it always works.


  • Have you followed the guidelines for contributing?
  • Have you ensured that your commits follow the commit style guide?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

@github-actions github-actions bot added the automerge-skip `brew pr-automerge` will skip this pull request label Nov 6, 2025
@tiesjan tiesjan mentioned this pull request Nov 6, 2025
6 tasks
@daeho-ro daeho-ro changed the title Fix cd-discid formula cd-discid: fix formula Nov 7, 2025
Comment on lines -37 to -38
# Last commit was 9 years ago, upstream site is gone
deprecate! date: "2025-10-16", because: :unmaintained
Copy link
Member

Choose a reason for hiding this comment

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

I think you should host your own tap

@chenrui333 chenrui333 added the maintainer feedback Additional maintainers' opinions may be needed label Nov 7, 2025
@chenrui333
Copy link
Member

some formula stats

image

@tiesjan
Copy link
Contributor Author

tiesjan commented Nov 7, 2025

Thanks for looking at this, @chenrui333! If this were a standalone package, I would be fine hosting it myself. However, I see the problem is a bit broader. Namely, that it should a dependency of the abcde formula. See the follow-up PR mentioned in the descriptiopn for that.

For context: the cd-discid command looks at the table of contents of an audio CD, then generates a set of integers that represent the sector offsets for each audio track on the CD. These integers provide both a "fingerprint" for searching databases such as Musicbrainz to prefill CD information, and at what sectors abcde can find the tracks on the disc to extract. It's one of those commands following the UNIX philosophy: it does one thing good. With audio CD specification not having changed in decades, it still works perfectly fine after 9 years since last activity.

The abcde formula provides nothing but a Bash script that guides the entire CD extracting process. Configuring it is done by specifying environment variables in ~/.abcde.conf (example). It uses the command in the CDDISCID env var to generate the sector offsets mentioned above. AFAICT, cd-discid formula is the only one that provides this. Removing it would break the abcde formula.

Here is some proof on why I believe it should be a dependency of abcde:

  • A vanilla run of abcde outputs the following error:
    [ERROR] abcde: cd-discid is not in your path.
    [INFO] Define the full path to the executable if it exists on your system.
    
  • Overriding the environment variable to CDDISCID="" to "disable it" (if even possible), results in the following output and halts the execution:
    Executing customizable pre-read function... done.
    Getting CD track info... Volume Audio CD on disk4 unmounted
    [INFO] The disc does not contain any tracks. Giving up...
    
  • The source code of abcde by default includes cd-discid as a dependency in the Debian package. Debian keeps this dependency, as can be seen for Trixie. Of course, Debian is not Homebrew, but the previous two points show there's no way to use the abcde formula without this dependency.

I'd like to ask you to reconsider this PR and the follow-up PR, as it would properly fix both formulas. I've double checked that the patch has indeed been applied to the source code pulled in. Lastly, making it a proper dependency should also give it more usage stats, if this is an important metric to the maintainers. Thanks!

@SMillerDev
Copy link
Member

I'd say abcde isn't super popular either.

@tiesjan
Copy link
Contributor Author

tiesjan commented Nov 7, 2025

I'd say abcde isn't super popular either.

Thanks for your reply! Probably because not many people still own CDs and want to archive them. If it still works after all these years, and I've thoroughly tested that it does, does the popularity really matter that much? To me, this sounds like deviating the discussion from solving the actual packaging problem (the tools themselves are not broken) being fixed with my PRs.

- Update homepage to GitHub repository
- Update download URL to git reference for version 1.4
- Remove deprecation
@tiesjan tiesjan force-pushed the tiesjan/fix-cd-discid branch from 80bce0f to f8d9aeb Compare November 7, 2025 13:17
@github-actions github-actions bot removed the automerge-skip `brew pr-automerge` will skip this pull request label Nov 7, 2025
@tiesjan

This comment was marked as outdated.

The new repository has version 1.5 released, so the patch for version
1.4 is no longer necessary.

This allows for proper support and adding the `cd-discid` as dependency
to the formula `abcde`.
@github-actions github-actions bot added the automerge-skip `brew pr-automerge` will skip this pull request label Nov 23, 2025
@tiesjan
Copy link
Contributor Author

tiesjan commented Nov 23, 2025

@chenrui333 @SMillerDev Two weeks ago I asked the original maintainer whether version 1.5 could be released. Didn't get a response and, looking at years of (public) inactivity on their profile, there will likely not be one.

I took the liberty of forking the library, created a tag for the unreleased changes and will keep maintaining it where necessary. The benefit is that the 1.4 patch can still be removed and it can be added as a maintained, required dependency to the abcde formula in #253372.

Could you please have one more look? Thanks a lot! 🙏🏻

class CdDiscid < Formula
desc "Read CD and get CDDB discid information"
homepage "https://linukz.org/cd-discid.shtml"
homepage "https://github.com/tiesjan/cd-discid"
Copy link
Member

Choose a reason for hiding this comment

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

We don't really want to change sources of an existing formula. I think you should host this new version in your own tap.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Alright, thanks for your feedback. Probably not too big of a deal to set it up for this one. Already halfway there. 👍🏻

I'm curious: where does that leave the abcde formula? As I've mentioned, this cd-discid formula is a hard dependency of abcde (even though not specified in the formula) and that program will no longer be working in any way once cd-discid has been removed. The abcde README.md (line 289) mentions this too. Should that one be deprecated and hosted in my own tap too?

Copy link
Member

Choose a reason for hiding this comment

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

I think, since it's missing a critical component, that's probably the best way.

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

Labels

automerge-skip `brew pr-automerge` will skip this pull request homepage maintainer feedback Additional maintainers' opinions may be needed repo-location-update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants