Opened 12 years ago

Closed 12 years ago

#31656 closed defect (fixed)

docbook-dsssl @1.79 main catalog not installed

Reported by: fgp (Florian G. Pflug) Owned by: decibel (Jim Nasby)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc: drkp (Dan Ports)
Port: docbook-dsssl

Description

The main catalog, i.e. /opt/local/share/dsssl/docbook-dsssl/catalog, is not installed. The catalog files in the various subdirectories are there, though.

To fix this, the file probably just need to be added to the xinstall invocation under "everything else", though I didn't check.

Unfortunately, the main catalog *doesn't* just include the various catalog files in the subdirectories, but instead references the files in the subdirectories directly. Thus, docbook-dsssl is pretty much unuseable without the main catalog file.

Attachments (2)

Portfile (2.7 KB) - added by fgp (Florian G. Pflug) 12 years ago.
Enhanced Portfile. Installs the main catalog and also adds it to /etc/sgml/catalog
macports.docbook-dsssl.diff (3.3 KB) - added by fgp (Florian G. Pflug) 12 years ago.
Portfile patch. See comments for details

Download all attachments as: .zip

Change History (8)

comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: main catalog missing removed
Owner: changed from macports-tickets@… to decibel@…

Changed 12 years ago by fgp (Florian G. Pflug)

Attachment: Portfile added

Enhanced Portfile. Installs the main catalog and also adds it to /etc/sgml/catalog

comment:2 Changed 12 years ago by fgp (Florian G. Pflug)

I've now updated the Portfile to install the main catalog. While doing so, I also added a post-activation hook which adds the catalog to /etc/sgml/catalog using xmlcatmgr. (funnily enough, xmlcatmgr also supports SGML catalogs. See the "-s" switch). The hooks were shamelessly stolen from docbook-xml-4.2's Portfile, and adapted to use xmlcatmgr in SGML mode. To keep the post-activation hooks as similar as possible, I've also renamed instdir to install_dir and made it *include* the prefix. Seems more sensible that way anyway.

My grand plan is of course to get docbook SGML processing to work out-of-the-box with macports. Towards that end, I've also created a port for docbook-sgml-4.2 (macports currently only includes the xml version). I'll add that to trac soon.

With these modifications to the docbook-dssl port and the new docbook-sgml-4.2 port, two issues remain before docbook SGML processing has a chance to work. First, the iso8879 port needs to be modified to also add its catalog to /etc/sgml/catalog. And second, openjade needs to be taught to actually use the information in /etc/sgml/catalog. Currently, it only looks for a master catalog in /share/sgml/catalog, I think. My plan is first to submit a patch for iso8879's Portfiles, and then to see what can be done about openjade.

Changed 12 years ago by fgp (Florian G. Pflug)

Attachment: macports.docbook-dsssl.diff added

Portfile patch. See comments for details

comment:3 Changed 12 years ago by fgp (Florian G. Pflug)

I've now cleaned up my modifications a bit, and attached a unified diff instead of the full file. I didn't update the full file version, so please disregard the "Portfile" attachment from now on, and only look at "macports.docbook-dsssl.diff".

Here's a summary of the changes in that diff

  • Make bin/collateindex.pl executable, i.e. set the permissions to 755 not 644
  • Install package catalog (to share/dsssl/docbook-dsssl/catalog). This file was previously omitted by the destroot rules.
  • Install VERSION file into share/dsssl/docbook-dsssl, not into the docs folder. This file is part of the code, and is referenced by html/version.dsl.
  • Register the package catalog (share/dsssl/docbook-dsssl/catalog) with the root catalog (etc/sgml/catalog) upon activation. (And unregister upon deactivate).

I'll submit a Portfile patch for openjade shortly which will make it use the root catalog in etc/sgml/catalog by adding a reference to that catalog to share/sgml/catalog (which is openjade's default catalog, per configure option)

comment:4 Changed 12 years ago by fgp (Florian G. Pflug)

Here's the patch for openjade's Portfile which makes it actually use the catalog in etc/sgml/catalog: https://trac.macports.org/ticket/31676

comment:5 Changed 12 years ago by drkp (Dan Ports)

Cc: dports@… added

Cc Me!

comment:6 Changed 12 years ago by drkp (Dan Ports)

Resolution: fixed
Status: newclosed

Thanks, committed in r86416 (maintainer timeout). Added a revbump, and removed the check for the flat registry.

Note: See TracTickets for help on using tickets.