Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Dec 2003 03:45:12 +0900 (JST)
From:      Hiroki Sato <hrs@FreeBSD.org>
To:        sergei@FreeBSD.org
Cc:        freebsd-ports@FreeBSD.org
Subject:   Re: xmlcatmgr & docproj broken?
Message-ID:  <20031230.034512.64801373.hrs@eos.ocn.ne.jp>
In-Reply-To: <20031229174252.GC719@chetwood.ru>
References:  <200312291610.LAA13349885@shell.TheWorld.com> <20031230.013349.35008002.hrs@eos.ocn.ne.jp> <20031229174252.GC719@chetwood.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
----Security_Multipart(Tue_Dec_30_03:45:12_2003_396)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Sergei Kolobov <sergei@freebsd.org> wrote
  in <20031229174252.GC719@chetwood.ru>:

sergei> I have seen similar problems in the past (i.e. before my recent commit
sergei> to upgrade xmlcatmgr to 1.2) where ${PREFIX}/share/xml/catalog existed,
sergei> but it wasn't a true XML catalog (i.e. created in pre-xmlcatmgr era).
sergei> In those cases, running portupgrade -fR docbook-* to force
sergei> rebuilding/reinstalling docbook ports and all dependencies helped. 
sergei> YMMV, though.
sergei> 
sergei> >  I think the cause is that while "add CATALOG" in the post-install
sergei> >  target uses ${RELDIR}/catalog, in pkg-plist
sergei> >  ${PREFIX}/share/sgml/${RELDIR}(%%DTDDIR%%) is used.  It is probably
sergei> >  a bug in the port skeleton, but removing a line
sergei> >  CATALOG "docbook/dsssl/modular/catalog" in
sergei> >  /usr/local/share/sgml/catalog.ports manually, you can avoid such a problem.
sergei> 
sergei> I cannot see any problem in the port's skeleton.
sergei> 
sergei> >  Kuriyama-san, could you please fix %%DTDDIR%%?  The pathnames 
sergei> >  should be consistent.
sergei> 
sergei> Please explain.

 This problem has nothing to do with xmlcatmgr itself.  When you deinstall
 the port, the CATALOG line is not removed.  This is because the port's Makefile
 adds 'CATALOG "${RELDIR}"' during the post-install target,
 but 'CATALOG "${PREFIX}/share/sgml/${RELDIR}"' when the port is
 deinstalled (in pkg-plist).  This inconsistent behavior
 makes the installation just after deinstallation fail; adding
 'CATALOG "${RELDIR}"' is rejected since the line already exists.

 BTW, when you use the package, the adding/removing CATALOG line always use
 'CATALOG "${PREFIX}/share/sgml/${RELDIR}"', so the problem does not appear.

 Probably a fix, something like the attached patch, is needed.
 At least, I could reproduce the problem using "make install; make deinstall;
 make install" in textproc/dsssl-docbook-modular.

-- 
| Hiroki SATO

Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/textproc/dsssl-docbook-modular/Makefile,v
retrieving revision 1.53
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.53 Makefile
--- Makefile	13 Nov 2003 12:54:52 -0000	1.53
+++ Makefile	29 Dec 2003 18:21:11 -0000
@@ -27,7 +27,7 @@
 INSTDIR=	${PREFIX}/share/sgml/${RELDIR}
 XMLCATMGR=	${LOCALBASE}/bin/xmlcatmgr
 CATALOG_PORTS_SGML=	${PREFIX}/share/sgml/catalog.ports
-PLIST_SUB=	XMLCATMGR=${XMLCATMGR} DTDDIR=${INSTDIR} \
+PLIST_SUB=	XMLCATMGR=${XMLCATMGR} DTDDIR=${RELDIR} \
 		CATALOG_PORTS_SGML=${CATALOG_PORTS_SGML}
 
 do-build:

----Security_Multipart(Tue_Dec_30_03:45:12_2003_396)--
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQA/8HY4TyzT2CeTzy0RAgwNAJ9r4U3pO16QBudCAW17jqAnQ+AW/ACgzi7U
lhbwYTl021c7XLfvnDU6L+I=
=Ofji
-----END PGP SIGNATURE-----

----Security_Multipart(Tue_Dec_30_03:45:12_2003_396)----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031230.034512.64801373.hrs>