Bug 193484

Summary: [stage] textproc/refdb: Update port
Product: Ports & Packages Reporter: O. Hartmann <ohartmann>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: Closed FIXED    
Severity: Affects Many People CC: emaste, marino, ohartman
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
gzipp'ed file
none
stagin patch and initial fixes.
none
Fixes minor issues/remnants none

Description O. Hartmann 2014-09-09 11:36:19 UTC
Attached, you'll find a diff against old and new port subtree

textproc/refdb

for updating the port textproc/refdb.

The patchset includes the following patches/fixes:

- update to version 1.0.2
- update for proper staging
- fix readline issue in FreeBSD > 9.X
- provide a proper rc.d script which meets FreeBSD policy requirements
- 

The patchfile also includes a huge patchfile against the lates SVN at Sourceforge which contains various fixes for issues with FreeBSD, including updates to readline issues in the older version 0.9.9_3. Also available are some patches for PHP web interface as well as patches for bib2ris, which is important for people working with LaTeX (most in scientific field seem to need this, it is broken in all prior versions < 1.0.2 of RefDB!).

The port will be updated with a proper and smaller patchset as soon as upstream is providing the new refdb/1.0.3.tar.gz tarball.
Comment 1 John Marino freebsd_committer freebsd_triage 2014-09-09 12:09:56 UTC
*** Bug 144203 has been marked as a duplicate of this bug. ***
Comment 2 John Marino freebsd_committer freebsd_triage 2014-09-09 12:10:25 UTC
Where's the attachment?
Comment 3 O. Hartmann 2014-09-09 12:22:04 UTC
Created attachment 147106 [details]
gzipp'ed file

Patch. Seems the system filters .gz files?
Comment 4 John Marino freebsd_committer freebsd_triage 2014-09-09 12:24:46 UTC
nobody wants gzipped files. 

We want a plain-text patch.  Bugzilla has a 1Mb per file limit on attachments.  There's no reason to gzip such a small file.
Comment 5 John Marino freebsd_committer freebsd_triage 2014-09-09 12:29:15 UTC
To be clear, can you replace the gzipped file with a plain-text version? One reason is that it allows us ti review the patch using bugzilla's diff viewer, which is handy on windows-based machines.
Comment 6 O. Hartmann 2014-09-09 12:41:54 UTC
The original file is 5Mb. To be clear.
Comment 7 John Marino freebsd_committer freebsd_triage 2014-09-09 12:47:20 UTC
(In reply to ohartman from comment #7)
> The original file is 5Mb. To be clear.

what!?

(In reply to ohartman from comment #0)
> The patchfile also includes a huge patchfile against the lates SVN at
> Sourceforge which contains various fixes for issues with FreeBSD, including
> updates to readline issues in the older version 0.9.9_3. Also available are
> some patches for PHP web interface as well as patches for bib2ris, which is
> important for people working with LaTeX (most in scientific field seem to
> need this, it is broken in all prior versions < 1.0.2 of RefDB!).

oh geez.

There is no way we're sticking a 5Mb patch file in ports.  that's absurd.  Why can't you just patch the current port to support staging?  nobody is asking you to update the port.  We only want it staged or gone.

Stage it and you can have all the time you want to update it.  There will not be a clock on you anymore.
Comment 8 John Marino freebsd_committer freebsd_triage 2014-09-09 12:48:13 UTC
an alternative solution: roll your own tarball and host it yourself.
Comment 9 John Marino freebsd_committer freebsd_triage 2014-09-09 12:51:11 UTC
a second alternative to convert the port to use GITHUB as the master site and download a specific tagged commit.
Comment 10 O. Hartmann 2014-09-09 14:30:57 UTC
Created attachment 147113 [details]
stagin patch and initial fixes.
Comment 11 John Marino freebsd_committer freebsd_triage 2014-09-09 14:39:21 UTC
The fPIC lines (e.g "CFLAGS+=-fPIC") look suspicious.
It's almost never unconditionally added and usually not necessary for amd64 either (vendor configure script / makefile normally takes care of it)

The post-install commands shouldn't be masked either.

But this is definitely in-line with what I was expecting.
Comment 12 John Marino freebsd_committer freebsd_triage 2014-09-10 12:20:56 UTC
(In reply to John Marino from comment #11)
> The fPIC lines (e.g "CFLAGS+=-fPIC") look suspicious.
> It's almost never unconditionally added and usually not necessary for amd64
> either (vendor configure script / makefile normally takes care of it)
> 
> The post-install commands shouldn't be masked either.
> 
> But this is definitely in-line with what I was expecting.


That was an indirect request for new submission and an explanation for -fPIC which is most likely wrong.  It's not rhetorical.  This port is now one of only 3 remaining unstaged ports.  I was hoping I could commit a fix...
Comment 13 O. Hartmann 2014-09-10 12:41:12 UTC
Created attachment 147163 [details]
Fixes minor issues/remnants

Fixes initial STAGE issues and a long standing issue with the proper rc.d script.
Comment 14 John Marino freebsd_committer freebsd_triage 2014-09-10 12:47:57 UTC
Thanks, this visually looks good.  And it builds/works for you?  Did you test it with "make check-plist" and "make stage-qa" ?
Comment 15 John Marino freebsd_committer freebsd_triage 2014-09-10 14:07:58 UTC
No, it wasn't tested.  I'm having severe troubles with this, and I'm not even using poudriere.

Ignoring that the diff didn't apply out of the box (files/patch-scripts-refdb.in already exists), there are other issues with build dependencies.

for documentation building, *at least* the following are required as build dependencies:

textproc/libxslt
textproc/docbook-xsl
textproc/fop

It is still failing in the document building phase though, so I must be missing something.

Do you have access to poudriere?
Comment 16 John Marino freebsd_committer freebsd_triage 2014-09-10 14:26:01 UTC
this can't be right:

 	@${ECHO_MSG} "   Then, for MySQL older than 4.1, run:"
 	@${ECHO_MSG} ""
-	@${ECHO_MSG} "   mysql -u root refdb < ${PREFIX}/share/refdb/sql/refdb.dump.mysql"
+	@${ECHO_MSG} "   mysql -u root refdb < ${STAGEDIR}${PREFIX}/share/refdb/sql/refdb.dump.mysql"
 	@${ECHO_MSG} ""
 	@${ECHO_MSG} "   For MySQL 4.1 and later, run:"
 	@${ECHO_MSG} ""
-	@${ECHO_MSG} "   mysql -u root refdb < ${PREFIX}/share/refdb/sql/refdb.dump.mysql41"
+	@${ECHO_MSG} "   mysql -u root refdb < ${STAGEDIR}${PREFIX}/share/refdb/sql/refdb.dump.mysql41"


The STAGEDIR only exists during building and a package user wouldn't even see that.  It's not possible that instructions referencing STAGEDIR are correct.  Did you get overzealous in a find/replace task?
Comment 17 John Marino freebsd_committer freebsd_triage 2014-09-10 14:31:53 UTC
I also think your CATMANAGER logic could be faulty.  you are referencing catalog.ports in the STAGEDIR which obviously will never exist and after you modify it, it will get deleted.  So that option probably doesn't do what you think it will.  I can remove the option for now.

I already fixed the echo messages, but I still can't build the docs.
Comment 18 John Marino freebsd_committer freebsd_triage 2014-09-10 16:15:59 UTC
Okay, I have removed the building of refdb-manual.pdf for now (which also eliminates the need for fop).  We'll go with just html documentation for the time being.

(It broke on the pdf building)
Comment 19 John Marino freebsd_committer freebsd_triage 2014-09-10 17:46:47 UTC
This port is seriously irritating the hell out of me.  When I build it with documentation (without pdf), it rebuild the html documents over and over forever.
Comment 20 John Marino freebsd_committer freebsd_triage 2014-09-10 18:48:58 UTC
Okay I got past that (finally) but as expected, your unconditional -m64 flag busts i386 according to redports.
Comment 21 commit-hook freebsd_committer freebsd_triage 2014-09-10 18:58:16 UTC
A commit references this bug:

Author: marino
Date: Wed Sep 10 18:57:31 UTC 2014
New revision: 367879
URL: http://svnweb.freebsd.org/changeset/ports/367879

Log:
  Stage textproc/refdb

  PR:		193484
  Submitted by:	ohartman (zedat.fu-berlin.de)
  Too much TLC:	marino

Changes:
  head/textproc/refdb/Makefile
  head/textproc/refdb/files/patch-doc_Makefile.in
  head/textproc/refdb/files/refdbd.in
  head/textproc/refdb/pkg-plist
Comment 22 John Marino freebsd_committer freebsd_triage 2014-09-10 19:02:48 UTC
I spent an absurd amount of time on this.  The submission was subpar, tbh.  In the future, I'm going to require proof via poudriere logs that the port has been reasonably tested.  This wasn't, and under normal circumstances I would have pushed it back for rework.

Anyway, it's done, it's staged, it's building on all redports platforms.  closing PR.