Bug 1529716 - Pull request: Massive set of spec improvements
Summary: Pull request: Massive set of spec improvements
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: net-snmp
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Josef Ridky
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-12-29 15:23 UTC by Tomasz Kłoczko
Modified: 2019-05-28 19:27 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-05-28 19:27:21 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Tomasz Kłoczko 2017-12-29 15:23:15 UTC
Pull request https://src.fedoraproject.org/rpms/net-snmp/pull-request/2

Copy of the %changelog entry:

* Thu Dec 28 2017 Tomasz Kłoczko <kloczek> - 1:5.7.3-29
- removed Group fields (https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections)
- remove all legacy hacks for Fedora older than 25
- remove chkconfig, initscripts and coreutils from Requires (no longer needed)
- remove man pages .gz suffixes in %%files (it breaks building the package
  with not compresses man pages or compresses using another compression
  methods)
- removed no longer needed init scripts
- removed no longer needed pie patch as generating PIE code is now part default cc1
  spec in (/usr/lib/rpm/redhat/redhat-hardened-cc1)
- add use %%autosetup in %%prep
- fixed openssl patch (it has been patching files created by use patch -b)
- added Detect-if-mysql-has-my_load_defaults patch based on
  https://sf.net/p/net-snmp/code/ci/cb268b66ee49a123ee which allows building net-snmp
  against MySQL 5.7
- removed %%clean section (no longer needed)
- added use more macros in %%install and %%files
- remove %%global netsnmp_check (use rpmbuild --nocheck if you want to disable
  execute %%check)
- removed PORTING from %%doc (not relevant for net-snmp Linux binary distribution)
- moved README.mib2c to perl %%doc
- removed %%{_datadir}/snmp from perl subpackage (it is ownd by libs)
- %%doc python/README instead README to python subpackage
- use --with-python-modules configure option and add fix_pythoninstall patch instead
  hacks in %%build and %%install build and install python module
- removed elfutils-devel, rpm-devel, elfutils-libelf-devel,
  openssl-devel, lm_sensors-devel and perl-devel from devel subpackage
  Requires as none of the net-snmp header files is used any headers from
  those packages
- chrath hack no longer needed
- do not patch COPYRIGHT and REAME to utf8 using icong and just use patch (because be
  informed when such fix is not needed when patch will reject)
- removed redundant --sysconfdir=%%{_sysconfdir} from %%configure options
- removed add -D_RPM_4_4_COMPAT to CFLAGS (detection _RPM_4_4_COMPAT
  define is needed is in configure.d/config_os_libs1) as now it only only
  generated on compile output a lot of warnings about redefine this define
- removed install net-snmp-tmpfs.conf as now snmpd and snmptrapd are no longer creates
  pid files
- simplify not fire testing/fulltests/default/T200snmpv2cwalkall_simple on some archs
- explicite disable libwrap (add --without-libwrap to configure option)
- added mysql %%bcond by default disabled
- remove --with-ldflags="-Wl,-z,relro -Wl,-z,now" from configure options as -z,relro is now
  part of the %__global_ldflags and -z,now is part of the defalt linking options
  (/usr/lib/rpm/redhat/redhat-hardened-ld)
- added -Wl,--as-needed to LDFLAGS instead use --enable-as-needed
- added net-snmp-config.in_no_ldflags_in_--libs patch which removes LDFLAGS from
  net-snmp-config [--libs,--external-libs,--agent-libs,--external-agent-libs] and adds
  passing ldflags to Extension() python fulction as extra_link_args
- remove perl(:MODULE_COMPAT_%(eval "`%%{__perl} -V:version`"; echo $version)) from agent-libs
  Requires as now libperl library automatically has SOANME dependency

Comment 1 Tomasz Kłoczko 2018-01-13 17:59:52 UTC
I'm requesting package maintainer to respond.
It is two weeks since this ticket is open.

Comment 2 Josef Ridky 2018-02-01 13:46:13 UTC
Some of spec file changes accepted. I am not going to implement others, especially these, that aren't accepted by upstream.

Build: https://koji.fedoraproject.org/koji/buildinfo?buildID=1022927

Comment 3 Tomasz Kłoczko 2018-02-01 16:12:39 UTC
Really sorry but what about other changes?

net-snmp-config -libs propagates gives too many libraries which are not part of the net-snmp.
Man pages should not have .gz suffixes in %files.
--sysconfdir=%{_sysconfdir} line is not needed.
Dependencies in devel are wrong.
Other things?
About what kind of upstream you are talking about?
I've added the only MySQL patch which is from upstream and I see that you added this patch.

Comment 4 Tomasz Kłoczko 2018-02-01 16:22:56 UTC
About man pages suffix look on: https://fedoraproject.org/wiki/Packaging:Guidelines#Manpages

Comment 5 Tomasz Kłoczko 2018-02-01 16:23:50 UTC
I'm reopening this ticket as still few things needs to be fixed

Comment 7 Tomasz Kłoczko 2018-02-01 17:32:16 UTC
https://sourceforge.net/p/net-snmp/bugs/2826/

Comment 8 Tomasz Kłoczko 2018-02-01 18:21:36 UTC
About pie patch:
https://fedoraproject.org/wiki/Packaging:Guidelines#PIE

Comment 9 Wes Hardaker 2018-02-02 22:01:17 UTC
FYI, closed and acted on two of the upstream bugs listed above, but commented (and questioned) the other.

I sent a note to Jan as well.  I haven't heard from him for a while (but he's normally more responsive than you're indicating).

Comment 10 Tomasz Kłoczko 2018-02-02 22:10:40 UTC
FYI 2 out 3 patches from my PR just have been accepted and will be included in upcoming 5.8 release.
I'm sure that 3rd net-snmp-config patch will be accepted as well shortly (just posted in ticket additional explanation).

Patches already accepted:
https://sourceforge.net/p/net-snmp/bugs/2826/
https://sourceforge.net/p/net-snmp/bugs/2824/

Comment 11 Josef Ridky 2018-02-05 13:18:19 UTC
I am not going to make a mix of 5.7.4 and 5.8 version of net-snmp for Fedora rawhide especially, when there isn't any business reason for that or filled bug from users, that have some problem with 5.7.4. 

So your patches, that are accepted for 5.8 will be part of 5.8 only, unless it will solve some issue reported against 5.7.4 version.

Comment 12 Tomasz Kłoczko 2018-02-05 17:26:59 UTC
You already have done this.
Most od of the patches are from next version of net-snmp.

Those patches are not about changing anything crucial in net-snmp.
They are fixing small issues.
As long as they've been accepted you have guarantee that it will be not necessary to update them on next release.
Fist you've refused include some patches which are not part of the upstream than now you are doing something completely opposite.

Comment 13 Josef Ridky 2018-02-06 07:19:23 UTC
You obviously don't understand, what I have written.
Upstream accepted your patches. Congrats for that. But stable version of 5.8 haven't been released yet. So for me, these patches are part of devel version of net-snmp and devel versions aren't suitable for Fedora for various reasons. 
So after net-snmp upstream release final version of net-snmp-5.8, I will make rebase and your patches, that don't change anything crucial, will be part of Fedora.

I don't think, that is necessary to accept all patches, that will be part of next package release, especially, if they don't fix anything important or bring solution of unresolved issue.

I would be glad, if you stop pushing me to accept changes, that are not necessary to have in this version of package, due they don't solve anything important.

Other things mentioned in this BZ will be tested and resolved soon.

Comment 14 Tomasz Kłoczko 2018-02-06 12:04:37 UTC
I'm not sure am I talking with someone who is just trying to bounce back some patches just "because I can" or you are or able to understand that those patches are about minor fixes which allow improve net-snmp.spec build procedure now without waiting for 5.8 new release.
If you will drop pie patch which is no longer needed it will be possible to use %autosetu and when 5.8 will be released all that will be necessary to do will be just dropping some Patch<num> lines.

I have no idea what kind of criteria you've been using to say "these patches are part of devel version of net-snmp and devel versions aren't suitable for Fedora for various reasons" as they are fixing nothing in net-snmp code per se but in autoconf build infrastructure.

And again: it is many more fixes which you can find in my PR which are have nothing to do with those patches.

You mention that my changes not necessary .. OK, what about devel package Requires?

Requires: elfutils-devel, rpm-devel, elfutils-libelf-devel, openssl-devel
%ifnarch s390 s390x ppc64le
Requires: lm_sensors-devel
%endif
# pull perl development libraries, net-snmp agent libraries may link to them
Requires: perl-devel%{?_isa}

Can you show why those Requires are needed? (except openssl-devel)
Don't you see that these are not required for net-snmp-devel but they are just carbon copy of net-snmp BuidRequires?
Check all net-snmp-devel header files. If for example zabbix binaries will be built does any of those devel packages needs to be installed?
Did you ever try to build any other package which has net-snmp-devel in BuildRequires without those devel packages installed?

Comment 15 Josef Ridky 2018-02-06 14:19:16 UTC
I am not sure, what you didn't understand before and I am not interested to know it anyway.

So I repeat it to you once again.
You are not responsible for this package. I have some valid reasons to have it as it is now and none of your posts will change my opinion about it.

All necessary changes for 5.8 will be done, when 5.8 release and only important fixes will be backported to older versions.

If you don't agree, it's your choice and then, I am not able to help you with it but you have to accept my decision in this case.

Comment 16 Tomasz Kłoczko 2018-02-06 15:09:02 UTC
May I ask about this "valid reason"?

Comment 17 Wes Hardaker 2018-02-07 01:37:28 UTC
FYI, the patches accepted upstream have been applied to all the Net-SNMP active branches, not just the 5.8 branch.

The patch to net-snmp-config is unlikely to be accepted, however, as it is not a backwards compatible change and breaks compilation on other OSes even though it may be fine on linux.  net-snmp-config --netsnmp-libs should be used instead of --libs rather than applying the proposed patch.

Comment 18 Tomasz Kłoczko 2018-02-07 01:47:55 UTC
Sorry to say this but you are wrong about net-snmp-config.
Really try to, for example, build any other project like zabbix which is not using net-snmp-config script.
Linking is more or less the same on other OSes as on any other OS which is using ELF.
Another thing is that Fedora rpm packages are not about building anything on the other OSes.

My question was not about patches.
You ignored a lot of other things. One of those things is static Requires devel. Another one is using *gz suffixes in %files %{_mandir} entries, and few other things as well.
You left more than half of all changes without comments.

Comment 19 Fedora End Of Life 2018-02-20 15:22:57 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 28 development cycle.
Changing version to '28'.

Comment 20 Ben Cotton 2019-05-02 22:07:48 UTC
This message is a reminder that Fedora 28 is nearing its end of life.
On 2019-May-28 Fedora will stop maintaining and issuing updates for
Fedora 28. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora 'version' of '28'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 28 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 21 Ben Cotton 2019-05-28 19:27:21 UTC
Fedora 28 changed to end-of-life (EOL) status on 2019-05-28. Fedora 28 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.