tree db189fcda37670b4e0d043eb6f406c62eb4a9a9f
parent e65b36ac823b198150b60c777593a8ac7060b04a
author Benoit Tellier <btellier@linagora.com> 1626863923 +0700
committer Tellier Benoit <btellier@linagora.com> 1626937259 +0700

[RELEASE] Drop HUPA section from download page

Some ASF bot complains about it: The links for the hupa artifacts are missing the /hupa/ subdirectory segment.

```
It looks like it needs extra registry with INFRA, which is likely not something
that would happen given the soon to come retirement of Apache HUPA.
```

Despite the files being on https://archive.apache.org/dist/james/hupa/0.0.2/
they are not exported through the Apache mirrors.

CF https://www.apache.org/dyn/closer.lua/james/0.0.2/hupa-parent-0.0.2-source-release.zip

```
The requested file or directory is not on the mirrors.

The object is in not in our archive https://archive.apache.org/dist/
```
