Bug 163709

Summary: [patch] Fix make package for net-mgmt/collectd
Product: Ports & Packages Reporter: Enji Cooper <ngie>
Component: Individual Port(s)Assignee: Pawel Pekala <pawel>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Enji Cooper freebsd_committer freebsd_triage 2011-12-30 02:20:10 UTC
make package for collectd fails today with the latest version as follows because of some incorrect assumptions in the sed 'hacks' employed in the Makefile...

tar: etc/collectd.conf.sample: Cannot stat: No such file or directory
tar: libdata/pkgconfig/libcollectdclient.pc: Cannot stat: No such file or directory

Here were the options used in building the package:

# This file is auto-generated by 'make config'.
# No user-servicable parts inside!
# Options for collectd-4.10.4_1
_OPTIONS_READ=collectd-4.10.4_1
WITHOUT_CGI=true
WITHOUT_BIND=true
WITHOUT_DEBUG=true
WITHOUT_APACHE=true
WITHOUT_APCUPS=true
WITHOUT_CURL=true
WITHOUT_CURL_JSON=true
WITHOUT_CURL_XML=true
WITHOUT_DBI=true
WITHOUT_DISK=true
WITHOUT_GCRYPT=true
WITHOUT_NUTUPS=true
WITH_INTERFACE=true
WITHOUT_MBMON=true
WITHOUT_MEMCACHED=true
WITHOUT_MYSQL=true
WITHOUT_NGINX=true
WITHOUT_OPENVPN=true
WITHOUT_PDNS=true
WITHOUT_PGSQL=true
WITH_PING=true
WITHOUT_PYTHON=true
WITHOUT_SNMP=true
WITHOUT_TOKYOTYRANT=true
WITHOUT_XMMS=true
WITH_RRDTOOL=true
WITH_RRDCACHED=true

Fix: Patch attached with submission follows:
How-To-Repeat: sh
cd /usr/ports/net-mgmt/collectd
cat > /var/db/ports/collectd/options <<EOF
# This file is auto-generated by 'make config'.
# No user-servicable parts inside!
# Options for collectd-4.10.4_1
_OPTIONS_READ=collectd-4.10.4_1
WITHOUT_CGI=true
WITHOUT_BIND=true
WITHOUT_DEBUG=true
WITHOUT_APACHE=true
WITHOUT_APCUPS=true
WITHOUT_CURL=true
WITHOUT_CURL_JSON=true
WITHOUT_CURL_XML=true
WITHOUT_DBI=true
WITHOUT_DISK=true
WITHOUT_GCRYPT=true
WITHOUT_NUTUPS=true
WITH_INTERFACE=true
WITHOUT_MBMON=true
WITHOUT_MEMCACHED=true
WITHOUT_MYSQL=true
WITHOUT_NGINX=true
WITHOUT_OPENVPN=true
WITHOUT_PDNS=true
WITHOUT_PGSQL=true
WITH_PING=true
WITHOUT_PYTHON=true
WITHOUT_SNMP=true
WITHOUT_TOKYOTYRANT=true
WITHOUT_XMMS=true
WITH_RRDTOOL=true
WITH_RRDCACHED=true
EOF
make clean deinstall package
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2011-12-30 02:20:18 UTC
Maintainer of net-mgmt/collectd,

Please note that PR ports/163709 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/163709

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2011-12-30 02:20:20 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 Krzysztof 2012-01-03 10:47:39 UTC
Hello,

On Fri, Dec 30, 2011 at 02:20:18AM +0000, Edwin Groothuis wrote:
> Maintainer of net-mgmt/collectd,
> 
> Please note that PR ports/163709 has just been submitted.
> 
> If it contains a patch for an upgrade, an enhancement or a bug fix
> you agree on, reply to this email stating that you approve the patch
> and a committer will take care of it.
> 
> The full text of the PR can be found at:
>     http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/163709
> 

I've checked this patch in my tinderbox and everything passed without
errors. I have one doubt about postinstall:
now there is checking of collectd.conf file which is copied from
collectd.conf.sample.

Your patch turns away this condition: copy collectd.conf to
collectd.conf.sample. Is this correct? For me it makes no sense at all
:-(((

Thanks a lot.

Greetings,
-- 
Krzysztof Stryjek
UNIX administrator/Juniper Networks Specialist
email: wtp (at) bsdserwis (dot) com
Comment 4 Jason Helfman freebsd_committer freebsd_triage 2012-01-04 07:53:59 UTC
On Tue, Jan 03, 2012 at 10:50:13AM +0000, Krzysztof Stryjek thus spake:
> I've checked this patch in my tinderbox and everything passed without
> errors.

Insert humble opinion:

To truly validate this as a package installation, I would argue that not
only does it need to pass in tinderbox, but it also would also need to be
added as a dependency of another package to test its' packaging validation.
I don't see that collectd is required by anything, though. I've seen too
many packages not pass this test.

-jgh
Comment 5 Pawel Pekala freebsd_committer freebsd_triage 2012-01-08 15:27:32 UTC
Responsible Changed
From-To: freebsd-ports-bugs->pawel

I'll take it.
Comment 6 Pawel Pekala freebsd_committer freebsd_triage 2012-01-08 17:46:42 UTC
>I've checked this patch in my tinderbox and everything passed without
>errors.

Those errors are showing only on live systems, tinderbox is "ideal
environment" test and not always accurate. The problem arises when on
live system autotools are installed, port uses them during build and
overwrites earlier modified files, that is configure and Makefile.in.

I`ve prepared patches that I want to commit to fix this issues if
maintainer has no objections. collectd5 port seems to need fixing too.

Here's what this patches do:
- remove files/patch-configure, configure will be recreated at build
  time so this is not needed anymore
- I don't like config collectd.conf.sample file is installed, it's
  name can be different depending if there is already collectd.conf on
  live system or not - this can break on port upgrade when there is
  user modified version of collectd.conf on the system, modify
  src/Makefile.am to always install this config to collectd.conf.sample
- generate configure and Makefile files using autotools at build time
- remove small part of configure.in which breaks automake process when
  libgcrypt is not installed

Patches:
http://people.freebsd.org/~pawel/collectd.diff
http://people.freebsd.org/~pawel/collectd5.diff

--=20
pozdrawiam / with regards
Pawe=B3 P=EAkala
Comment 7 Enji Cooper freebsd_committer freebsd_triage 2012-01-08 18:35:20 UTC
On Jan 8, 2012, at 9:46 AM, Pawel Pekala <pawel@FreeBSD.org> wrote:

>> I've checked this patch in my tinderbox and everything passed without
>> errors.
>=20
> Those errors are showing only on live systems, tinderbox is "ideal
> environment" test and not always accurate. The problem arises when on
> live system autotools are installed, port uses them during build and
> overwrites earlier modified files, that is configure and Makefile.in.
>=20
> I`ve prepared patches that I want to commit to fix this issues if
> maintainer has no objections. collectd5 port seems to need fixing too.
>=20
> Here's what this patches do:
> - remove files/patch-configure, configure will be recreated at build
>  time so this is not needed anymore
> - I don't like config collectd.conf.sample file is installed, it's
>  name can be different depending if there is already collectd.conf on
>  live system or not - this can break on port upgrade when there is
>  user modified version of collectd.conf on the system, modify
>  src/Makefile.am to always install this config to collectd.conf.sample
> - generate configure and Makefile files using autotools at build time
> - remove small part of configure.in which breaks automake process when
>  libgcrypt is not installed
>=20
> Patches:
> http://people.freebsd.org/~pawel/collectd.diff
> http://people.freebsd.org/~pawel/collectd5.diff

The proposed patches look good from a review perspective. I'll need to test t=
hem out on a live system.
Thanks!
-Garrett=
Comment 8 Krzysztof 2012-01-08 21:54:39 UTC
Hello,

On Sun, Jan 08, 2012 at 06:46:42PM +0100, Pawel Pekala wrote:
> >I've checked this patch in my tinderbox and everything passed without
> >errors.
> 
> Those errors are showing only on live systems, tinderbox is "ideal
> environment" test and not always accurate. The problem arises when on
> live system autotools are installed, port uses them during build and
> overwrites earlier modified files, that is configure and Makefile.in.
> 
> I`ve prepared patches that I want to commit to fix this issues if
> maintainer has no objections. collectd5 port seems to need fixing too.
> 
> Here's what this patches do:
> - remove files/patch-configure, configure will be recreated at build
>   time so this is not needed anymore
> - I don't like config collectd.conf.sample file is installed, it's
>   name can be different depending if there is already collectd.conf on
>   live system or not - this can break on port upgrade when there is
>   user modified version of collectd.conf on the system, modify
>   src/Makefile.am to always install this config to collectd.conf.sample
> - generate configure and Makefile files using autotools at build time
> - remove small part of configure.in which breaks automake process when
>   libgcrypt is not installed
> 
> Patches:
> http://people.freebsd.org/~pawel/collectd.diff
> http://people.freebsd.org/~pawel/collectd5.diff
> 
> -- 
> pozdrawiam / with regards
> Pawe³ Pêkala
> 
Yes, pathes looks good :) I accept them. Thanks a lot for your help.
Yes, I've found that sometime tinderbox is not enough. Last commit (my
PR) resolved some bugs, when collectd/collectd5 is compiled only with
some options (not all of them). But it seems that I've not found all
errors.

Greetings,
-- 
Krzysztof Stryjek
UNIX administrator/Juniper Networks Specialist
email: ports (at) bsdserwis (dot) com
Comment 9 dfilter service freebsd_committer freebsd_triage 2012-01-09 21:13:57 UTC
pawel       2012-01-09 21:13:48 UTC

  FreeBSD ports repository

  Modified files:
    net-mgmt/collectd    Makefile 
    net-mgmt/collectd/files patch-configure.in 
    net-mgmt/collectd5   Makefile 
    net-mgmt/collectd5/files patch-configure.in 
  Added files:
    net-mgmt/collectd/files patch-src__Makefile.am 
    net-mgmt/collectd5/files patch-src__Makefile.am 
  Removed files:
    net-mgmt/collectd/files patch-configure 
    net-mgmt/collectd5/files patch-configure 
  Log:
  - Use autotools at build time, they are used when installed on system anyway
    (this eliminates packaging errors seen only on live systems while
     tinderbox builds are fine)
  - Fix installation of collectd.conf.sample, patch src/Makefile.am to always
    install it with same name
  - Remove libgcrypt version check from configure.in, it breaks automake
    process when libgcrypt is not installed
  - Don't patch configure script, it's created on build phase now
  
  PR:             ports/163709
  Reported by:    Garrett Cooper <yaneurabeya@gmail.com>
  Approved by:    maintainer
  
  Revision  Changes    Path
  1.36      +2 -5      ports/net-mgmt/collectd/Makefile
  1.2       +0 -20     ports/net-mgmt/collectd/files/patch-configure (dead)
  1.2       +14 -4     ports/net-mgmt/collectd/files/patch-configure.in
  1.1       +16 -0     ports/net-mgmt/collectd/files/patch-src__Makefile.am (new)
  1.37      +2 -5      ports/net-mgmt/collectd5/Makefile
  1.2       +0 -20     ports/net-mgmt/collectd5/files/patch-configure (dead)
  1.2       +13 -3     ports/net-mgmt/collectd5/files/patch-configure.in
  1.1       +16 -0     ports/net-mgmt/collectd5/files/patch-src__Makefile.am (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 10 Pawel Pekala freebsd_committer freebsd_triage 2012-01-09 21:14:19 UTC
State Changed
From-To: feedback->closed

Committed. Thanks!