Opened 2 years ago

Closed 2 years ago

#66441 closed defect (worksforme)

Bogofilter missing, broken links, 404

Reported by: Rezzy-dev (Rezzy) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.8.0
Keywords: Cc:
Port: bogofilter

Description

The bogofilter package is no longer available at any of the currently used hosts:

--->  Attempting to fetch bogofilter-1.2.5_1.darwin_14.x86_64.tbz2 from http://packages.macports.org/bogofilter
--->  Attempting to fetch bogofilter-1.2.5_1.darwin_14.x86_64.tbz2 from http://jog.id.packages.macports.org/macports/packages/bogofilter
--->  Attempting to fetch bogofilter-1.2.5_1.darwin_14.x86_64.tbz2 from http://pek.cn.packages.macports.org/macports/packages/bogofilter

All the hosts lead to a 404 (file missing) for this dependency package.

This breaks the claws-mail package (and I'm guessing some others that rely on it as a dependency).

The bogofilter package is available here:

https://sourceforge.net/projects/bogofilter/files/bogofilter-stable/bogofilter-1.2.5.tar.xz/download

Manually downloading and moving the package to "/opt/local/var/macports/distfiles/bogofilter/", and then running "sudo port install claws-mail" or "sudo port install bogofilter" again provides a temporary fix for users to circumvent the missing/broken package and be able to complete the installation.

But the download links need to be fixed/updated in the package manager to repair this issue.

Change History (10)

comment:1 Changed 2 years ago by jmroot (Joshua Root)

Port: claws-mail removed
Priority: HighNormal

There are no binaries of bogofilter available for license reasons. That doesn't prevent installation because MacPorts will simply fall back to building from source. What is the actual error you are getting when you try to install? Can you attach the log?

comment:2 Changed 2 years ago by Rezzy-dev (Rezzy)

It's not a matter of binaries -- the source code, the tarball, is unavailable on all three hosts (they're all throwing a 'file not found', a 404 on the server), and so the build fails because bogofilter is set as a dependency to claws-mail, and its tarball can't be downloaded, so there's nothing to compile. The links to the bogofilter source need to be updated in the package manager.

comment:4 Changed 2 years ago by jmroot (Joshua Root)

Everything on packages.macports.org is binary archives. Fetching the source works fine:

% sudo port -v checksum bogofilter
Password:
--->  Fetching distfiles for bogofilter
--->  bogofilter-1.2.5.tar.xz does not exist in /opt/local/var/macports/distfiles/bogofilter
--->  Attempting to fetch bogofilter-1.2.5.tar.xz from https://distfiles.macports.org/bogofilter
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  782k  100  782k    0     0  6192k      0 --:--:-- --:--:-- --:--:-- 6310k
--->  Verifying checksums for bogofilter
--->  Checksumming bogofilter-1.2.5.tar.xz

comment:5 Changed 2 years ago by Rezzy-dev (Rezzy)

So the above tarball links are to a binary archive?

MacPorts didn't fall back to downloading and installing from the source. When I tried to install claws-mail, it simply failed at installing the bogofilter dependency because it was unable to download the binary package from those 3 URLs, and aborted the whole installation as a result.

So this is an oversight/bug in the claws-mail package setup, or inside MacPorts 2.8.0?

I was able to circumvent it by manually downloading that package from the above sourceforge URL and placing it where the installation was looking for it. So the claws-mail installation definitely failed because the bogofilter binary package couldn't be downloaded. It looks like that fallback to building from source you're mentioning here didn't happen with this package for some reason.

comment:6 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

We cannot know what happened if you don't attach the main.log file.

Unless you tell it not to, MacPorts first tries to download a precompiled binary archive/package. As you've discovered, these are unavailable for bogofilter. If that fails, MacPorts then (unless you tell it not to) tries to download the source code distfile and build from that.

comment:7 Changed 2 years ago by Rezzy-dev (Rezzy)

If that fails, MacPorts then (unless you tell it not to) tries to download the source code distfile and build from that.

This didn't happen. MacPorts didn't proceed to try to build the bogofilter dependency from the source. Instead the claws-mail installation failed on each occasion, with the error message that the expected binary package is missing (that it's an HTML file). I'm using the default, stable 2.8.0 build of MacPorts for OS 10.10 'out of the box', with no extra configuration. (I've just installed it.) So every user who tries to install claws-mail will experience this.

My guess is that the installer perhaps didn't proceed to building bogofilter from the source because the 404 page was downloaded instead of the binary package, and the hash on that didn't match the expected file (obviously), so it aborted the installation.

We cannot know what happened if you don't attach the main.log file.

I didn't save the log, because it was my first time trying to install something through MacPorts. The next package I installed, zim, installed with all its dependencies without issue. Attempting to install claws-mail again, I encountered the same problem. Only after manually downloading and moving the binary package to the installer's expected location was the installation able to complete.

comment:8 in reply to:  7 Changed 2 years ago by jmroot (Joshua Root)

Replying to Rezzy-dev:

MacPorts didn't proceed to try to build the bogofilter dependency from the source. Instead the claws-mail installation failed on each occasion, with the error message that the expected binary package is missing (that it's an HTML file).

If you got a checksum mismatch and a message saying, "The non-matching file appears to be HTML," that relates to the source tarball, not a binary package. It would also have pointed you to the MisbehavingServers wiki page, which lists several ways that can happen. One of them is indeed that a mirror serves a 404 page with a 200 response code. We could remove a misbehaving mirror from the list, but we would need to know which of the many mirrors it was.

So every user who tries to install claws-mail will experience this.

Possibly every user who gets the download from the same mirror that you got it from.

comment:9 Changed 2 years ago by Rezzy-dev (Rezzy)

So my first statement/assessment was correct, then. Those 3 broken links are to the source package -- I've just checked the contents of the tarball, and it's source, not binary.

The port is broken because the source tarball is missing from the MacPorts mirrors for bogofilter.

And I believe the mirror that served the HTML page as a download is: ​http://packages.macports.org/

If you check the contents (code) of the page, you'll see all it is serving is a non-standard (non-Apache) HTML file with the numbers 404 in it.

comment:10 Changed 2 years ago by jmroot (Joshua Root)

Resolution: worksforme
Status: newclosed

No, I stand by everything I said previously in this ticket. The source archive (bogofilter-1.2.5.tar.xz) does not come from packages.macports.org and there is no attempt to download it from there. MacPorts first attempts to download the binary archive (bogofilter-1.2.5_1.darwin_14.x86_64.tbz2) from packages.macports.org and a couple of its mirrors, and when that fails, it downloads the source instead, from distfiles.macports.org, its mirrors, or one of the many sourceforge mirrors (chosen based on ping time.) This is what that looks like (actual output from running this on my machine):

% sudo port install bogofilter    
--->  Computing dependencies for bogofilter
--->  Fetching archive for bogofilter
--->  Attempting to fetch bogofilter-1.2.5_1.darwin_21.x86_64.tbz2 from file:///opt/local/var/macports/packages/bogofilter
--->  Attempting to fetch bogofilter-1.2.5_1.darwin_21.x86_64.tbz2 from https://packages.macports.org/bogofilter
--->  Attempting to fetch bogofilter-1.2.5_1.darwin_21.x86_64.tbz2 from https://kmq.jp.packages.macports.org/bogofilter
--->  Fetching distfiles for bogofilter
--->  Attempting to fetch bogofilter-1.2.5.tar.xz from https://distfiles.macports.org/bogofilter
--->  Verifying checksums for bogofilter
--->  Extracting bogofilter
--->  Applying patches to bogofilter
--->  Configuring bogofilter
--->  Building bogofilter                                
--->  Staging bogofilter into destroot                   
--->  Installing bogofilter @1.2.5_1
--->  Activating bogofilter @1.2.5_1
--->  Cleaning bogofilter

If packages.macports.org were serving a 200 response for files it doesn't have, an error would be happening before the distfile is downloaded for every port that lacks binaries, and it is not.

We're not going to get any further here unless you can get your problem to happen again and provide the terminal output and log. Feel free to reopen if and when you are able to do so.

Note: See TracTickets for help on using tickets.