Bug 159844 - [PATCH] databases/postgresql90-client: fix build
[PATCH] databases/postgresql90-client: fix build
Status: Closed FIXED
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s)
Latest
Any Any
: Normal Affects Only Me
Assigned To: Eygene Ryabinkin
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-08-17 18:50 UTC by cvs-src
Modified: 2011-09-25 23:53 UTC (History)
0 users

See Also:


Attachments
file.diff (736 bytes, patch)
2011-08-17 18:50 UTC, cvs-src
no flags Details | Diff
trigger-159844-bug.diff.txt (2.55 KB, text/plain)
2011-09-11 21:39 UTC, cvs-src
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description cvs-src 2011-08-17 18:50:02 UTC
Since 9.0 PostgreSQL guys use docbook for building all the 
documentation, including man-pages. They ever listed all the 
dependencies needed on FreeBSD to make it build. See [1]. But because 
our postgresql-client ports didn't include needed dependencies, their 
build are broken.

Please see this message for detailed descriptions and build logs:
http://lists.freebsd.org/pipermail/freebsd-ports/2011-August/069274.html

[1] http://www.postgresql.org/docs/9.0/static/docguide-toolsets.html

Attached patch is for databases/postgresql90-client. The same fix should be applied for databases/postgresql91-client to make it build.

changes:
- add dependencies on textproc/openjade, textproc/libxslt, textproc/docbook-420,
  textproc/docbook-xml
- bump portrevisions

Fix: Patch attached with submission follows:
Comment 1 cvs-src 2011-08-17 19:03:13 UTC
The subject should read:
[PATCH] databases/postgresql90-client: fix build

-- 
Regards,
Ruslan
Comment 2 Mark Linimon freebsd_committer 2011-08-17 22:25:29 UTC
Responsible Changed
From-To: freebsd-ports-bugs->girgen

Fix synopsis and assign.
Comment 3 Eygene Ryabinkin freebsd_committer 2011-09-09 15:36:23 UTC
Responsible Changed
From-To: girgen->rea

Will handle this.
Comment 4 Eygene Ryabinkin freebsd_committer 2011-09-11 20:04:59 UTC
Ruslan, I am a bit confused with this problem:

 - I have Tinderbox build logs for pustgresql-client 9.0
   that show no breakage:
     http://gpf.codelabs.ru/tb-logs/mine-9/postgresql-client-9.0.4_1.log

 - if I do 'make patch' inside the port's sources and cd to
   doc/src/sgml/man1, I see a handful of manual pages; since the
   patch files/patch-doc-Makefile changes the default target from
   'html' to 'man', no HTML will be generated at all;

 - there is a dependency for 'man' target inside doc/src/sgml that
   would create 'man-stamp' file if its dependencies
   (stylesheet-man.xsl and postgres.sgml) are modified after this
   file, but 'man-stamp' exists inside the distribution tarball and is
   younger than its dependencies:
{{{
$ ls -l man-stamp stylesheet-man.xsl postgres.sgml
-rw-r--r--  1 root  wheel     0 15 ÁÐÒ 07:24 man-stamp
-rw-r--r--  1 root  wheel  7732 15 ÁÐÒ 07:15 postgres.sgml
-rw-r--r--  1 root  wheel  6437 15 ÁÐÒ 07:15 stylesheet-man.xsl
}}}


I see no signs of the failed build logs in either this PR or at
  http://lists.freebsd.org/pipermail/freebsd-ports/2011-August/069274.html
so, please, show the build logs of the failed postgresql-client port:
may be there is some issue with the timestamps or other breakage
I can't deduce from my Tinderbox and systems that use PostgreSQL.

Thanks!
-- 
Eygene Ryabinkin                                        ,,,^..^,,,
[ Life's unfair - but root password helps!           | codelabs.ru ]
[ 82FE 06BC D497 C0DE 49EC  4FF0 16AF 9EAE 8152 ECFB | freebsd.org ]
Comment 5 Eygene Ryabinkin freebsd_committer 2011-09-11 20:07:13 UTC
State Changed
From-To: open->feedback

Waiting for Ruslan's comments.  Other's comments are welcome too ;))
Comment 6 cvs-src 2011-09-11 21:06:01 UTC
Eygene Ryabinkin wrote on 11.09.2011 23:04:
> Ruslan, I am a bit confused with this problem:
>
>   - I have Tinderbox build logs for pustgresql-client 9.0
>     that show no breakage:
>       http://gpf.codelabs.ru/tb-logs/mine-9/postgresql-client-9.0.4_1.log

Eygene, i'm terribly sorry about that, but i'm not able to reproduce 
that on 7.4 (with 9.0 and 9.1 pgsql versions), nor on 8.2 anymore. 
Something changed in that cruel world. I also tested postgresql9x-server 
in both 7.4 and 8.2 to make sure i'm not confused it with -client part - 
but they builds fine too anywhere.

There is still low probability, that this particular build breakages 
were triggered by fixed databases/postgresql-plpython build, but it's 
doubtful.

Please close this pr for now, i'll reopen it if i would be able 
reproduce this in future. Sorry again.

-- 
Regards,
Ruslan

Tinderboxing kills... the drives.
Comment 7 cvs-src 2011-09-11 21:39:44 UTC
Eygene Ryabinkin wrote on 11.09.2011 23:04:
> Ruslan, I am a bit confused with this problem:
>
>   - I have Tinderbox build logs for pustgresql-client 9.0
>     that show no breakage:
>       http://gpf.codelabs.ru/tb-logs/mine-9/postgresql-client-9.0.4_1.log

Ok, here is how to reproduce:

a) remove all the previously builded postgresql packages
b) apply changes from ports/159843 (partial patch attached will do the job)
c) try to build postgresql-plpython with pgsql 9.0 on FreeBSD 7.4

It will complain about missing perl dependency for postgresql90-client. 
After you add perl dependency, it will complains about all this docbook 
stuff. Looks like broken logic somewhere in postgresql90-server 
Makefile, but i'm not see any easy solutions besides of adding this 
missing deps. And i don't see anything in my patch, that would 
explicitly trigger this.

http://happy-nation.by.ru/ports/tb/159844/postgresql-client-9.0.4_1.log

-- 
Regards,
Ruslan

Tinderboxing kills... the drives.
Comment 8 Eygene Ryabinkin freebsd_committer 2011-09-11 21:44:31 UTC
Mon, Sep 12, 2011 at 12:06:01AM +0400, Ruslan Mahmatkhanov wrote:
> Eygene, i'm terribly sorry about that, but i'm not able to reproduce
> that on 7.4 (with 9.0 and 9.1 pgsql versions), nor on 8.2 anymore.
> Something changed in that cruel world.


I wonder what ;))

> There is still low probability, that this particular build breakages
> were triggered by fixed databases/postgresql-plpython build, but
> it's doubtful.


Since plpython's fix touches only configure script in the place
where the threaded Python error is produces, I doubt it too.

> Please close this pr for now, i'll reopen it if i would be able
> reproduce this in future. Sorry again.


No problems, I'll close this PR.  One hint: it is always good
to keep the logs of the failed stuff, just to keep trace of
what is going on.

Thanks!
-- 
Eygene Ryabinkin                                        ,,,^..^,,,
[ Life's unfair - but root password helps!           | codelabs.ru ]
[ 82FE 06BC D497 C0DE 49EC  4FF0 16AF 9EAE 8152 ECFB | freebsd.org ]
Comment 9 Eygene Ryabinkin freebsd_committer 2011-09-11 21:44:34 UTC
State Changed
From-To: feedback->closed

Closed, because Ruslan and I can no longer reproduce the issue.
Comment 10 Eygene Ryabinkin freebsd_committer 2011-09-11 22:09:14 UTC
State Changed
From-To: closed->open

Ruslan found the way to reproduce the problem.
Comment 11 Eygene Ryabinkin freebsd_committer 2011-09-11 22:22:51 UTC
Mon, Sep 12, 2011 at 12:39:44AM +0400, Ruslan Mahmatkhanov wrote:
> a) remove all the previously builded postgresql packages
> b) apply changes from ports/159843 (partial patch attached will do the job)
> c) try to build postgresql-plpython with pgsql 9.0 on FreeBSD 7.4
> 
> It will complain about missing perl dependency for
> postgresql90-client. After you add perl dependency, it will
> complains about all this docbook stuff. Looks like broken logic
> somewhere in postgresql90-server Makefile, but i'm not see any easy
> solutions besides of adding this missing deps. And i don't see
> anything in my patch, that would explicitly trigger this.
> 
> http://happy-nation.by.ru/ports/tb/159844/postgresql-client-9.0.4_1.log


OK, I see the problem: Makefile in doc/src/sgml has the following
stance:
{{{
version.sgml: $(top_srcdir)/configure
        { \
          echo "<!entity version \"$(VERSION)\">"; \
          echo "<!entity majorversion \"$(MAJORVERSION)\">"; \
        } > $@
}}}
so version.sgml depends on the configure that you're patching.
I'll try to weed out the dependencies on the configure's timestamp
from the doc/ Makefiles.

Stay tuned ;))
-- 
Eygene Ryabinkin                                        ,,,^..^,,,
[ Life's unfair - but root password helps!           | codelabs.ru ]
[ 82FE 06BC D497 C0DE 49EC  4FF0 16AF 9EAE 8152 ECFB | freebsd.org ]
Comment 12 cvs-src 2011-09-11 22:27:01 UTC
Eygene Ryabinkin wrote on 12.09.2011 01:22:
> Mon, Sep 12, 2011 at 12:39:44AM +0400, Ruslan Mahmatkhanov wrote:
>> a) remove all the previously builded postgresql packages
>> b) apply changes from ports/159843 (partial patch attached will do the job)
>> c) try to build postgresql-plpython with pgsql 9.0 on FreeBSD 7.4
>>
>> It will complain about missing perl dependency for
>> postgresql90-client. After you add perl dependency, it will
>> complains about all this docbook stuff. Looks like broken logic
>> somewhere in postgresql90-server Makefile, but i'm not see any easy
>> solutions besides of adding this missing deps. And i don't see
>> anything in my patch, that would explicitly trigger this.
>>
>> http://happy-nation.by.ru/ports/tb/159844/postgresql-client-9.0.4_1.log
>
> OK, I see the problem: Makefile in doc/src/sgml has the following
> stance:
> {{{
> version.sgml: $(top_srcdir)/configure
>          { \
>            echo "<!entity version \"$(VERSION)\">"; \
>            echo "<!entity majorversion \"$(MAJORVERSION)\">"; \
>          }>  $@
> }}}
> so version.sgml depends on the configure that you're patching.
> I'll try to weed out the dependencies on the configure's timestamp
> from the doc/ Makefiles.
>
> Stay tuned ;))

Nice, please note that postgresql91-server is affected too.

-- 
Regards,
Ruslan

Tinderboxing kills... the drives.
Comment 13 dfilter freebsd_committer 2011-09-25 23:20:42 UTC
rea         2011-09-25 22:20:28 UTC

  FreeBSD ports repository

  Added files:
    databases/postgresql90-server/files 
                                        patch-doc-src-sgml-Makefile 
    databases/postgresql91-server/files 
                                        patch-doc-src-sgml-Makefile 
  Log:
  Don't rebuild manual pages if configure was changed
  
  Sometimes patches for PostgreSQL touch its configure script.  And the
  logics inside current Makefiles for the documentation makes the manual
  pages (and other stuff) to be dependent of the timestamp of the
  top-level configure file.  This triggers the rebuild of the manual
  pages, but since some additional XML-related tools are needed, this
  rebuild can fail.
  
  PR: 159844
  Approved by: maintainer timeout (1 month)
  Feature safe: yes
  
  Revision  Changes    Path
  1.1       +17 -0     ports/databases/postgresql90-server/files/patch-doc-src-sgml-Makefile (new)
  1.1       +17 -0     ports/databases/postgresql91-server/files/patch-doc-src-sgml-Makefile (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 14 Eygene Ryabinkin freebsd_committer 2011-09-25 23:53:19 UTC
State Changed
From-To: open->closed

Committed, thanks!