isc-bind-esv Repository - "yum update" doing undesirable things!

Matthew Richardson matthew-l at itconsult.co.uk
Mon May 27 09:27:16 UTC 2019


Dear Michal,

>> You also comented about using "--without scl" with SRPMs.  Does this give
>> the previous behaviour?
>
>Yes, it results in "classic" packages being built that do not comprise a
>Software Collection and thus may conflict with stock OS packages, mess
>with other software's dependencies on the same machine etc.

Thank you for your most helpful advice.  On Centos 7, I have easily managed
to build the non-scl packages using the following method starting with a
default Centos 7 (I was using Linode) logged in as root:-

>yum install epel-release 
>yum update
>yum groupinstall "Development Tools"
>yum install openssl-devel libcap-devel libidn-devel libxml2-devel krb5-devel docbook-style-xsl libxslt GeoIP-devel perl-Net-DNS-Nameserver python-ply fstrm-devel wget protobuf-devel json-devel protobuf-c-devel json-c-devel yum-utils
> - and reboot
>
># not sure if necessary
>systemctl stop firewalld.service
>
>cd /etc/yum.repos.d/
>wget https://copr.fedorainfracloud.org/coprs/isc/bind-esv/repo/epel-7/isc-bind-esv-epel-7.repo
>
>cd /root
>
>yumdownloader --source isc-bind-bind
>
>rpmbuild --rebuild --define 'dist .el7' --without scl isc-bind-bind-9.11.7-1.1.el7.src.rpm

However, my luck is not quite as good with Centos 6 where my method is
similar:-

>yum install wget
>wget http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/e/epel-release-6-8.noarch.rpm
>yum localinstall epel-release-6-8.noarch.rpm
>yum update
>yum groupinstall "Development Tools"
>yum install openssl-devel libcap-devel libidn-devel libxml2-devel krb5-devel docbook-style-xsl libxslt GeoIP-devel perl-Net-DNS-Nameserver python-argparse python-ply protobuf-devel protobuf-c-devel json-c-devel yum-utils
> - and reboot
>
># not sure if necessary
>service iptables stop
>service ip6tables stop
>
>cd /etc/yum.repos.d/
>wget https://copr.fedorainfracloud.org/coprs/isc/bind-esv/repo/epel-6/isc-bind-esv-epel-6.repo
>
>cd /root
>
>yumdownloader --source isc-bind-bind
>
>rpmbuild --rebuild --define 'dist .el6' --without scl isc-bind-bind-9.11.7-1.1.el6.src.rpm

but the rpmbuild fails due to a couple of missing dependencies:-

>[root at li1523-85 ~]# rpmbuild --rebuild --define 'dist .el6' --without scl isc-bind-bind-9.11.7-1.1.el6.src.rpm
>Installing isc-bind-bind-9.11.7-1.1.el6.src.rpm
>warning: user mockbuild does not exist - using root
>warning: group mock does not exist - using root
>warning: user mockbuild does not exist - using root
>warning: group mock does not exist - using root
>warning: user mockbuild does not exist - using root
>warning: group mock does not exist - using root
>warning: user mockbuild does not exist - using root
>warning: group mock does not exist - using root
>warning: user mockbuild does not exist - using root
>warning: group mock does not exist - using root
>warning: user mockbuild does not exist - using root
>warning: group mock does not exist - using root
>error: Failed build dependencies:
>        fstrm-devel is needed by isc-bind-9.11.7-1.1.el6.x86_64
>        protobuf-c-compiler is needed by isc-bind-9.11.7-1.1.el6.x86_64

Thus far, I have failed on Centos 6 to identify how or where to install
these two depedencies, for which I would ideally like a package rather than
compiling from source.  I have tried (what I thought was obvious) of
installing the current Centos 6 Copr packages on the build machine, but
that did not assist.

Any guidance would be much appreciated.

With many thanks.

Best wishes,
Matthew

 ------
>From: Micha? K?pie? <michal at isc.org>
>To: Matthew Richardson <matthew-l at itconsult.co.uk>
>Cc: bind-users at lists.isc.org
>Date: Mon, 13 May 2019 15:03:48 +0200
>Subject: Re: isc-bind-esv Repository - "yum update" doing undesirable things!

>Matthew,
>
>> The tools (dig etc) are used both manually and by a number of scripts.
>> Following the upgrade without enabling SCL, dig (for example) was the
>> previous version which came from the previous Copr package.  Is there any
>> official/recommended method for updating server to make the new tools the
>> default?
>
>The tricky part here is that the whole idea of Software Collections is
>not to influence the base system underneath.  For shell use, the way to
>go would be to remove the old isc-bind-utils package and put the
>following line e.g. in your .bash_profile file:
>
>    source scl_source enable isc-bind
>
>If you want the Software Collection to be available for all users by
>default, you can put the above line in a file placed in /etc/profile.d,
>as hinted by Red Hat [1] (caveats apply).
>
>However, that still does not solve the issue of non-interactive scripts
>as Software Collections requires specific environment variables to be
>set that are not be set by default e.g. by the cron daemon.  You can
>either put the above "source scl_source..." line in your scripts or try
>using one of the methods listed in the official Software Collections
>docs [2].  I am unable to say which solution would work best for you
>because it really varies on a case-by-case basis.
>
>> You also comented about using "--without scl" with SRPMs.  Does this give
>> the previous behaviour?
>
>Yes, it results in "classic" packages being built that do not comprise a
>Software Collection and thus may conflict with stock OS packages, mess
>with other software's dependencies on the same machine etc.
>
>> Also, what is the correct location from which to
>> download the SRPMs?
>
>Since Copr places the SRPM for each package in the same directory as the
>binary RPMs produced from it, once you add a Copr repository to your yum
>configuration, you can do e.g. this:
>
>    $ yumdownloader --source isc-bind-bind
>
>Hope this helps,
>
>[1]: https://access.redhat.com/solutions/527703
>
>[2]: https://www.softwarecollections.org/en/docs/guide/#sect-Enabling_the_Software_Collection



More information about the bind-users mailing list