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>