Mailing List Archive

Spamassassin 3.4.4 on centos7
Hello

Late to the party but I'm seeing Failed dependencies-

rpm -ivh spamassassin-3.4.4-1.el7.centos.x86_64.rpm
error: Failed dependencies:
perl(BSD::Resource) is needed by spamassassin-3.4.4-1.el7.centos.x86_64
perl(Net::CIDR::Lite) is needed by spamassassin-3.4.4-1.el7.centos.x86_64
[root@potassium src]# perl -v

This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi
(with 38 registered patches, see perl -V for more detail)

--
Best regards,
Niamh mailto:niamh@fullbore.co.uk
Re: Spamassassin 3.4.4 on centos7 [ In reply to ]
Use

yum local install spamassassin-3.4.4-1.el7.centos.x86_64.rpm

That will pull in the dependencies for you.

> On 09 Dec 2020, at 13:01, Niamh Holding <niamh@fullbore.co.uk> wrote:
>
> rpm -ivh spamassassin-3.4.4-1.el7.centos.x86_64.rpm
Re: Spamassassin 3.4.4 on centos7 [ In reply to ]
Niamh Holding skrev den 2020-12-09 12:01:
> Hello
>
> Late to the party but I'm seeing Failed dependencies-
>
> rpm -ivh spamassassin-3.4.4-1.el7.centos.x86_64.rpm
> error: Failed dependencies:
> perl(BSD::Resource) is needed by
> spamassassin-3.4.4-1.el7.centos.x86_64
> perl(Net::CIDR::Lite) is needed by
> spamassassin-3.4.4-1.el7.centos.x86_64
> [root@potassium src]# perl -v
>
> This is perl 5, version 16, subversion 3 (v5.16.3) built for
> x86_64-linux-thread-multi
> (with 38 registered patches, see perl -V for more detail)

thanks for reporting, but this should be added to centos bug tracker
since its a centos problem, not a spamassassin problem to solve, this 2
modules is only optional
Re: Spamassassin 3.4.4 on centos7 [ In reply to ]
> On 09 Dec 2020, at 21:13, Benny Pedersen <me@junc.eu> wrote:
>
> thanks for reporting, but this should be added to centos bug tracker since its a centos problem, not a spamassassin problem to solve, this 2 modules is only optional

There is no bug here to be reported, those packages do exist in CentOS7

# yum whatprovides "perl(BSD::Resource)"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirror.liquidtelecom.com
* epel: fedora.is.co.za
* extras: centos.mirror.liquidtelecom.com
* updates: centos.mirror.liquidtelecom.com
perl-BSD-Resource-1.29.07-1.el7.x86_64 : BSD process resource limit and priority functions
Repo : epel
Matched from:
Provides : perl(BSD::Resource) = 1.2907

yum whatprovides "perl(Net::CIDR::Lite)"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirror.liquidtelecom.com
* epel: fedora.is.co.za
* extras: centos.mirror.liquidtelecom.com
* updates: centos.mirror.liquidtelecom.com
perl-Net-CIDR-Lite-0.21-11.el7.noarch : Perl extension for merging IPv4 or IPv6 CIDR addresses
Repo : epel
Matched from:
Provides : perl(Net::CIDR::Lite) = 0.21
Re: [SA-Users] Re: Spamassassin 3.4.4 on centos7 [ In reply to ]
On Thu, Dec 10, 2020 at 08:18:15AM +0200, Andrew Colin Kissa wrote:
>
> There is no bug here to be reported, those packages do exist in CentOS7

No bug but a correction. The named packages are not provided by CentOS
but rather EPEL.

yum --enablerepo=extras install epel-release

will enable EPEL on the box and then the required deps should be
available when you go to install the SpamAssassin rpm.

--
Ask the young. They know everything.

-- Joseph Joubert (1754-1824), French moralist and essayist
Re: Spamassassin 3.4.4 on centos7 [ In reply to ]
Andrew Colin Kissa skrev den 2020-12-10 07:18:

> There is no bug here to be reported, those packages do exist in CentOS7
>
> yum whatprovides "perl(BSD::Resource)"
> yum whatprovides "perl(Net::CIDR::Lite)"

maintainer on centos could force install them as hard dependice, but as
i say its optional modules to install, so no bug as you say
Re: Spamassassin 3.4.4 on centos7 [ In reply to ]
On 10 Dec 2020, at 1:18, Andrew Colin Kissa wrote:

>> On 09 Dec 2020, at 21:13, Benny Pedersen <me@junc.eu> wrote:
>>
>> thanks for reporting, but this should be added to centos bug tracker since its a centos problem, not a spamassassin problem to solve, this 2 modules is only optional
>
> There is no bug here to be reported, those packages do exist in CentOS7

It is a bug in packaging because those are in fact *optional* dependencies, which SA can use if present. Without them, some features just don't work, gracefully.

The SA project does not maintain RPM files (or other packaged versions of SA) or bundle non-SA modules.

> # yum whatprovides "perl(BSD::Resource)"
> Loaded plugins: fastestmirror
> Loading mirror speeds from cached hostfile
> * base: centos.mirror.liquidtelecom.com
> * epel: fedora.is.co.za
> * extras: centos.mirror.liquidtelecom.com
> * updates: centos.mirror.liquidtelecom.com
> perl-BSD-Resource-1.29.07-1.el7.x86_64 : BSD process resource limit and priority functions
> Repo : epel

So, whoever constructed the RPM being used by the OP should be more clearly documenting the dependency on packages that are in the EPEL repo, NOT in the core CentOS 7 repos.



--
Bill Cole
bill@scconsult.com or billcole@apache.org
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Not Currently Available For Hire
Re: Spamassassin 3.4.4 on centos7 [ In reply to ]
Niamh Holding wrote on 10/12/20 12:01 am:
> rpm -ivh spamassassin-3.4.4-1.el7.centos.x86_64.rpm
> error: Failed dependencies:
> perl(BSD::Resource) is needed by spamassassin-3.4.4-1.el7.centos.x86_64
> perl(Net::CIDR::Lite) is needed by spamassassin-3.4.4-1.el7.centos.x86_64

1. The CentOS 7 repository does not contain spamassassin-3.4.4-1, nor does a
search on rpmfind show any el7 build for that version of SpamAssassin. If you
got this rpm from an unofficial source who perhaps built it from the source
rpm for Spamassassin 3.4.4 in the Fedora repo, talk to whoever did that about
how they built the package and how they install it on CentOS.

2. Using the rpm command to install a local rpm file does not automatically
install dependencies from a repo. Always use yum (or dnf in newer CentOS or in
Fedora) instead of the now old rpm program.

3. Those packages listed in the error message are available for CentOS 7 in
the EPEL repo. Often packages that are built from a source rpm that was
written for Fedora will depend on packages that are not in the main CentOS
repo but have been ported to EPEL. It is a good idea when trying to port a
package from Fedora to CentOS to install the EPEL repo so yum will also look
there for dependencies. That and using yum instead of rpm command would have
solved this particular dependency error.

4. See point 1. Even if you try suggestions based on 2 and 3, there is no
guarantee that the spamassassin-3.4.4-1.el7.centos.x86_64.rpm you have was
properly built.
Re: Spamassassin 3.4.4 on centos7 [ In reply to ]
On Fri, 2020-12-11 at 12:45 +1300, Sidney Markowitz wrote:
> 2. Using the rpm command to install a local rpm file does not
> automatically install dependencies from a repo. Always use yum (or dnf
> in newer CentOS or in Fedora) instead of the now old rpm program.
>
Minor correction: the rpm program is not 'old' or outmoded. It does what
it has always done: installs the contents of an .rpm file without any
attempt to resolve dependencies. Apart from having the ability to
contain an optional dependency list and to list its contents and package
descriptions, rpm does exactly the same job as zip or tar.

Using the dependency list in an rpm archive to pull in any other rpm
archives that an rpm archive depends on is the job of yum or dnf, which
use the dependency list on the requested archive(s) to search the rpm
repository for any other rpm archives that the one(s) you requested
depend on.

What has changed is that yum has been replaced by dnf in more recent
releases of Fedora, RHEL and CentOS. yum and dnf do the same job:
resolve dependencies and then install the requested rpm archive(s)
*along with* any other .rpm files that the ones you requested depend on.

Bottom line: always use dnf or yum to install, erase, or update rpm
packages held in a Redhat or third party repository. Only use rpm itself
to install freestanding rpm archives which are not distributed as part
of an rpm repository.

Martin
Re: Spamassassin 3.4.4 on centos7 [ In reply to ]
Hello Sidney,

Thursday, December 10, 2020, 11:45:34 PM, you wrote:

SM> If you got this rpm from an unofficial source who perhaps built it from the source rpm for Spamassassin 3.4.4 in the Fedora repo, talk to whoever did that about how they built the package and how they install it on CentOS.

John Hardin who's on this list, hence the question here.
http://www.impsec.org/~jhardin/antispam/centos7/

--
Best regards,
Niamh mailto:niamh@fullbore.co.uk
Re: Spamassassin 3.4.4 on centos7 [ In reply to ]
Niamh Holding wrote on 11/12/20 11:10 pm:
>
> Hello Sidney,
>
> Thursday, December 10, 2020, 11:45:34 PM, you wrote:
>
> SM> If you got this rpm from an unofficial source who perhaps built it from the source rpm for Spamassassin 3.4.4 in the Fedora repo, talk to whoever did that about how they built the package and how they install it on CentOS.
>
> John Hardin who's on this list, hence the question here.
> http://www.impsec.org/~jhardin/antispam/centos7/
>

Ok, he knows what he is doing, so it should be properly built, just requiring
EPEL to be installed.

It is easy to end up with a dependency on a package that is in EPEL when you
are playing with source rpms that were originally built for Fedora and build
them on CentOS.


To summarise what to do about it. (The -y option just causes yum to not ask
some confirmations that you would have to answer y to, I include it because
I'm lazy).

1. Install EPEL using the commands

sudo yum -y install epel-release
sudo yum -y update

2. Install the rpm package using the command

sudo yum -y install spamassassin-3.4.4-1.el7.centos.x86_64.rpm

Regards,

Sidney