Subject: xpkgwedge: problem in removing symbolic links
To: None <tech-pkg@NetBSD.org>
From: Kouichirou Hiratsuka <hira@po6.nsk.ne.jp>
List: tech-pkg
Date: 08/26/2005 04:10:41
Hello,
When I remove all of packages in my machine, the symbolic links
which were created by xpkgwedge are left under /usr/pkg/bin.
With X11_TYPE=xorg, xpkgwedge does not depend on xorg-clients.
Therefore, if xorg-clients was removed before xpkgwedge, the
following test of xpkgwedge's DEINSTALL will be failed.
DEINSTALL)
${ECHO_N} "Removing font program symlinks..."
for prog in ${FONT_PROGS}; do
if [ -h ${PKG_PREFIX}/bin/$prog -a \
${PKG_PREFIX} != ${X11BASE} ]; then
${RM} -f ${PKG_PREFIX}/bin/$prog
fi
done
${ECHO} "done."
;;
In case of X11_TYPE=xorg or X11_TYPE=XFree86, should xpkgwedge
depend on ${X11_TYPE}-clients?
At least, -h is better to check for existence of the symbolic
links, I think.
best regards.
--
Kouichirou Hiratsuka
hira@po6.nsk.ne.jp
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/pkgtools/xpkgwedge/Makefile,v
retrieving revision 1.58
diff -u -r1.58 Makefile
--- Makefile 14 Jun 2005 20:12:51 -0000 1.58
+++ Makefile 25 Aug 2005 18:55:10 -0000
@@ -51,6 +51,7 @@
.if defined(X11_TYPE) && !empty(X11_TYPE:Mxorg) || \
defined(X11_TYPE) && !empty(X11_TYPE:MXFree86)
+DEPENDS+= ${X11_TYPE}-clients-*:../../x11/${X11_TYPE}-clients
X11TYPEFLAGS?= -L${X11BASE}/lib ${COMPILER_RPATH_FLAG}${X11BASE}/lib
SUBST_CLASSES= fix
SUBST_STAGE.fix= post-patch
Index: DEINSTALL
===================================================================
RCS file: /cvsroot/pkgsrc/pkgtools/xpkgwedge/DEINSTALL,v
retrieving revision 1.9
diff -u -r1.9 DEINSTALL
--- DEINSTALL 30 Apr 2004 19:44:21 -0000 1.9
+++ DEINSTALL 25 Aug 2005 18:55:10 -0000
@@ -12,7 +12,7 @@
VIEW-DEINSTALL)
${ECHO_N} "Removing font program symlinks from view..."
for prog in ${FONT_PROGS}; do
- if [ -f ${PKG_PREFIX}/bin/$prog -a \
+ if [ -h ${PKG_PREFIX}/bin/$prog -a \
${PKG_PREFIX} != ${X11BASE} ]; then
${RM} -f ${PKG_PREFIX}/bin/$prog
fi
@@ -41,7 +41,7 @@
DEINSTALL)
${ECHO_N} "Removing font program symlinks..."
for prog in ${FONT_PROGS}; do
- if [ -f ${PKG_PREFIX}/bin/$prog -a \
+ if [ -h ${PKG_PREFIX}/bin/$prog -a \
${PKG_PREFIX} != ${X11BASE} ]; then
${RM} -f ${PKG_PREFIX}/bin/$prog
fi