Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Jan 2002 06:10:02 -0800 (PST)
From:      SASAKI Katuhiro <sahiro@crest.ocn.ne.jp>
To:        freebsd-ports@FreeBSD.org
Subject:   Re: ports/31037: NEW PORT: Krusader
Message-ID:  <200201241410.g0OEA2r12230@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/31037; it has been noted by GNATS.

From: SASAKI Katuhiro <sahiro@crest.ocn.ne.jp>
To: freebsd-gnats-submit@FreeBSD.org, ddavid_3@yahoo.com
Cc:  
Subject: Re: ports/31037: NEW PORT: Krusader
Date: Thu, 24 Jan 2002 23:05:14 +0900

 Hi.
 
 Below is a skeleton for newest krusader (Ver 1.00).
 David, if you don't want to become the MAINTAINER of this port 
 (You specified ports@FreeBSD.org as MAINTAINER.), I will 
 overwrite MAINTAINER with my address. If you are interested in 
 to maintain this port, you can set your mail addrese to 
 MAINTAINER.
 Please tell which do you want.
 
 Thank you.
 
 
 # This is a shell archive.  Save it in a file, remove anything before
 # this line, and then unpack it by entering "sh file".  Note, it may
 # create directories; files and directories will be owned by you and
 # have default permissions.
 #
 # This archive contains:
 #
 #	krusader/
 #	krusader/distinfo
 #	krusader/Makefile
 #	krusader/pkg-comment
 #	krusader/pkg-descr
 #	krusader/pkg-plist
 #	krusader/files
 #	krusader/files/patch-krusader::krusader.cpp
 #	krusader/files/patch-krusader::VFS::krarchandler.cpp
 #
 echo c - krusader/
 mkdir -p krusader/ > /dev/null 2>&1
 echo x - krusader/distinfo
 sed 's/^X//' >krusader/distinfo << 'END-of-krusader/distinfo'
 XMD5 (krusader-1.00.tar.gz) = 4a1ba0678fff8e5f9b3c96287a8da22b
 END-of-krusader/distinfo
 echo x - krusader/Makefile
 sed 's/^X//' >krusader/Makefile << 'END-of-krusader/Makefile'
 X# New ports collection makefile for:	krusader
 X# Date created:		4 October 2001
 X# Whom:			David <ddavid_3@yahoo.com>
 X#
 X# $FreeBSD$
 X#
 X
 XPORTNAME=	krusader
 XPORTVERSION=	1.00
 XCATEGORIES=	x11-fm kde
 XMASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 XMASTER_SITE_SUBDIR=krusader
 X
 XMAINTAINER=	ports@FreeBSD.org
 X
 XBUILD_DEPENDS=	autoconf213:${PORTSDIR}/devel/autoconf213 \
 X		automake14:${PORTSDIR}/devel/automake14
 X
 XUSE_KDELIBS_VER=2
 XGNU_CONFIGURE=	yes
 XUSE_GMAKE=	yes
 X
 X_NO_KDE_OBJPRELINK=yes
 X_NO_KDE_FINAL=	yes
 X
 X.include "${.CURDIR}/../../x11/kde2/Makefile.kde"
 X
 X.include <bsd.port.pre.mk>
 X
 X.if defined(WITH_ARCHIVERS)
 XRUN_DEPENDS+=	zip:${PORTSDIR}/archivers/zip \
 X		unzip:${PORTSDIR}/archivers/unzip \
 X		rar:${PORTSDIR}/archivers/rar \
 X		unrar:${PORTSDIR}/archivers/unrar \
 X		unace:${PORTSDIR}/archivers/unace \
 X		unarj:${PORTSDIR}/archivers/unarj \
 X		rpm:${PORTSDIR}/archivers/rpm
 X.if !exists(/usr/bin/bzip2)
 XRUN_DEPENDS+=	bzip2:${PORTSDIR}/archivers/bzip2
 X.endif
 X.endif
 X
 X.if !defined(WITH_ARCHIVERS)
 Xpre-everything::
 X	@${ECHO}
 X	@${ECHO} "If you would like to use more archivers that this"
 X	@${ECHO} "program supports, press CTRL-C right now and define"
 X	@${ECHO} "WITH_ARCHIVERS (make WITH_ARCHIVERS=yes install)"
 X	@${ECHO}
 X.endif
 X
 Xpost-patch:
 X	@${PERL} -pi -e 's|LIBQT="-l\$$qtlib.*||' \
 X		${WRKSRC}/admin/acinclude.m4.in
 X
 Xpre-configure:
 X	${MKDIR} ${WRKSRC}/auto-bin
 X.for AC in autoconf autoheader
 X	${LN} -sf ${LOCALBASE}/bin/${AC}213 ${WRKSRC}/auto-bin/${AC}
 X.endfor
 X.for AM in automake aclocal
 X	${LN} -sf ${LOCALBASE}/bin/${AM}14 ${WRKSRC}/auto-bin/${AM}
 X.endfor
 X	cd ${WRKSRC} && env PATH=${WRKSRC}/auto-bin:$$PATH \
 X		${GMAKE} -f admin/Makefile.common cvs
 X
 X.include <bsd.port.post.mk>
 END-of-krusader/Makefile
 echo x - krusader/pkg-comment
 sed 's/^X//' >krusader/pkg-comment << 'END-of-krusader/pkg-comment'
 XA File Manager for KDE2
 END-of-krusader/pkg-comment
 echo x - krusader/pkg-descr
 sed 's/^X//' >krusader/pkg-descr << 'END-of-krusader/pkg-descr'
 XKrusader is a File Manager for KDE 2.x, patterned after
 Xold-school managers like Midnight Commander and Norton 
 XCommander. It features basically all your file-management
 Xneeds, plus extensive archive handling, supporting many 
 Xarchive formats, mounted filesystems support, ftp, and
 Xmuch much more.
 X
 XIt is (almost) completely customizable, very user friendly,
 Xfast, and damn good looking :-)
 X
 XWWW: http://krusader.sourceforge.net
 X
 XDavid
 Xddavid_3@yahoo.com
 END-of-krusader/pkg-descr
 echo x - krusader/pkg-plist
 sed 's/^X//' >krusader/pkg-plist << 'END-of-krusader/pkg-plist'
 Xbin/krusader
 Xshare/applnk/Applications/krusader.desktop
 Xshare/apps/krusader/about.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_addbookmark.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_arc_pack.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_arc_test.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_arc_unpack.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_bookman.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_bookmark.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_calc.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_compare.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_comparedirs.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_ftp_connect.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_ftp_disconnect.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_ftp_new.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_fullview.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_hwinfo.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_invert.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_mountman.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_properties.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_select.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_selectall.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_terminal.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_treeview.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_unselect.png
 Xshare/apps/krusader/icons/hicolor/16x16/actions/kr_unselectall.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_addbookmark.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_arc_pack.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_arc_test.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_arc_unpack.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_bookman.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_bookmark.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_calc.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_compare.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_comparedirs.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_ftp_connect.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_ftp_disconnect.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_ftp_new.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_fullview.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_hwinfo.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_invert.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_mountman.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_properties.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_select.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_selectall.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_terminal.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_treeview.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_unselect.png
 Xshare/apps/krusader/icons/hicolor/22x22/actions/kr_unselectall.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_addbookmark.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_arc_pack.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_arc_test.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_arc_unpack.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_bookman.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_bookmark.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_calc.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_compare.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_comparedirs.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_ftp_connect.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_ftp_disconnect.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_ftp_new.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_fullview.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_hwinfo.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_invert.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_mountman.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_properties.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_select.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_selectall.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_terminal.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_treeview.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_unselect.png
 Xshare/apps/krusader/icons/hicolor/32x32/actions/kr_unselectall.png
 Xshare/apps/krusader/konfig_small.jpg
 Xshare/apps/krusader/krusaderui.rc
 Xshare/doc/HTML/en/krusader/bookmanadd.png
 Xshare/doc/HTML/en/krusader/bookmanedit.png
 Xshare/doc/HTML/en/krusader/bookmanuse.png
 Xshare/doc/HTML/en/krusader/cmdline.png
 Xshare/doc/HTML/en/krusader/commands.sgml
 Xshare/doc/HTML/en/krusader/common
 Xshare/doc/HTML/en/krusader/credits.sgml
 Xshare/doc/HTML/en/krusader/faq.sgml
 Xshare/doc/HTML/en/krusader/fnkeys.png
 Xshare/doc/HTML/en/krusader/index.cache.bz2
 Xshare/doc/HTML/en/krusader/index.docbook
 Xshare/doc/HTML/en/krusader/installation.sgml
 Xshare/doc/HTML/en/krusader/introduction.sgml
 Xshare/doc/HTML/en/krusader/kgadvanced.png
 Xshare/doc/HTML/en/krusader/kgarchives.png
 Xshare/doc/HTML/en/krusader/kggeneral.png
 Xshare/doc/HTML/en/krusader/kglookfeel.png
 Xshare/doc/HTML/en/krusader/kgstartup.png
 Xshare/doc/HTML/en/krusader/konfigurator.sgml
 Xshare/doc/HTML/en/krusader/krusader-tools.sgml
 Xshare/doc/HTML/en/krusader/krusader1.png
 Xshare/doc/HTML/en/krusader/listpanel.png
 Xshare/doc/HTML/en/krusader/mainwindow.png
 Xshare/doc/HTML/en/krusader/mountman.png
 Xshare/doc/HTML/en/krusader/remoteman.png
 Xshare/doc/HTML/en/krusader/search_advanced.png
 Xshare/doc/HTML/en/krusader/search_general.png
 Xshare/doc/HTML/en/krusader/terminalEmu.png
 Xshare/doc/HTML/en/krusader/toolbar.png
 Xshare/doc/HTML/en/krusader/using-krusader.sgml
 Xshare/icons/hicolor/16x16/apps/krusader.png
 Xshare/icons/hicolor/32x32/apps/krusader.png
 Xshare/locale/cs/LC_MESSAGES/krusader.mo
 Xshare/locale/de/LC_MESSAGES/krusader.mo
 Xshare/locale/dk/LC_MESSAGES/krusader.mo
 Xshare/locale/pl/LC_MESSAGES/krusader.mo
 Xshare/locale/sv/LC_MESSAGES/krusader.mo
 Xshare/mimelnk/application/x-ace.desktop
 X@unexec /bin/rmdir %D/share/mimelnk/application 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/mimelnk 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/locale/sv/LC_MESSAGES 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/locale/sv 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/locale/pl/LC_MESSAGES 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/locale/pl 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/locale/dk/LC_MESSAGES 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/locale/dk 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/locale/de/LC_MESSAGES 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/locale/de 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/locale/cs/LC_MESSAGES 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/locale/cs 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/locale 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/icons/hicolor/32x32/apps 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/icons/hicolor/32x32 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/icons/hicolor/16x16/apps 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/icons/hicolor/16x16 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/icons/hicolor 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/icons 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/doc/HTML/en/krusader 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/doc/HTML/en 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/doc/HTML 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/apps/krusader/icons/hicolor/32x32/actions 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/apps/krusader/icons/hicolor/32x32 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/apps/krusader/icons/hicolor/22x22/actions 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/apps/krusader/icons/hicolor/22x22 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/apps/krusader/icons/hicolor/16x16/actions 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/apps/krusader/icons/hicolor/16x16 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/apps/krusader/icons/hicolor 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/apps/krusader/icons 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/apps/krusader 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/apps 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/applnk/Applications 2>/dev/null || /usr/bin/true
 X@unexec /bin/rmdir %D/share/applnk 2>/dev/null || /usr/bin/true
 END-of-krusader/pkg-plist
 echo c - krusader/files
 mkdir -p krusader/files > /dev/null 2>&1
 echo x - krusader/files/patch-krusader::krusader.cpp
 sed 's/^X//' >krusader/files/patch-krusader::krusader.cpp << 'END-of-krusader/files/patch-krusader::krusader.cpp'
 X--- krusader/krusader.cpp.orig	Tue Jan  1 23:47:10 2002
 X+++ krusader/krusader.cpp	Thu Jan 24 17:38:20 2002
 X@@ -550,7 +550,7 @@
 X   // first, a diff program: kdiff
 X   skip = false;
 X   if (!skip) {
 X-    proc << "which kdiff >/dev/null 2>&1";
 X+    proc << "which kdiff";
 X     if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 ) {
 X       tools.append("DIFF"); tools.append("kdiff");
 X       skip = true;
 X@@ -558,7 +558,7 @@
 X   }
 X   if (!skip) {
 X     proc.clearArguments();
 X-    proc << "which xxdiff >/dev/null 2>&1";
 X+    proc << "which xxdiff";
 X     if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 ) {
 X       tools.append("DIFF"); tools.append("xxdiff");
 X       skip = true;
 X@@ -569,7 +569,7 @@
 X   skip = false;
 X   if (!skip) {
 X     proc.clearArguments();
 X-    proc << "which kmail >/dev/null 2>&1";
 X+    proc << "which kmail";
 X     if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 ) {
 X       tools.append("MAIL"); tools.append("kmail");
 X       skip = true;
 END-of-krusader/files/patch-krusader::krusader.cpp
 echo x - krusader/files/patch-krusader::VFS::krarchandler.cpp
 sed 's/^X//' >krusader/files/patch-krusader::VFS::krarchandler.cpp << 'END-of-krusader/files/patch-krusader::VFS::krarchandler.cpp'
 X--- krusader/VFS/krarchandler.cpp.orig	Mon Dec 17 06:58:21 2001
 X+++ krusader/VFS/krarchandler.cpp	Thu Jan 24 17:43:01 2002
 X@@ -45,57 +45,57 @@
 X 
 X   // we will simply try to find the packers here..
 X   KShellProcess proc;
 X-  proc << "which tar >/dev/null 2>&1";
 X+  proc << "which tar";
 X   if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 )
 X     packers.append("tar");
 X 
 X   proc.clearArguments();
 X-  proc << "which gzip >/dev/null 2>&1";
 X+  proc << "which gzip";
 X   if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 )
 X     packers.append("gzip");
 X 
 X   proc.clearArguments();
 X-  proc << "which bzip2 >/dev/null 2>&1";
 X+  proc << "which bzip2";
 X   if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 )
 X     packers.append("bzip2");
 X 
 X   proc.clearArguments();
 X-  proc << "which unzip >/dev/null 2>&1";
 X+  proc << "which unzip";
 X   if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 )
 X     packers.append("unzip");
 X 
 X   proc.clearArguments();
 X-  proc << "which zip >/dev/null 2>&1" ;
 X+  proc << "which zip" ;
 X   if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 )
 X     packers.append("zip");
 X 
 X   proc.clearArguments();
 X-  proc << "which rpm >/dev/null 2>&1";
 X+  proc << "which rpm";
 X   if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 )
 X     packers.append("rpm");
 X 
 X   proc.clearArguments();
 X-  proc << "which cpio >/dev/null 2>&1";
 X+  proc << "which cpio";
 X   if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 )
 X     packers.append("cpio");
 X 
 X   proc.clearArguments();
 X-  proc << "which unrar >/dev/null 2>&1";
 X+  proc << "which unrar";
 X   if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 )
 X     packers.append("unrar");
 X 
 X   proc.clearArguments();
 X-  proc << "which rar >/dev/null 2>&1";
 X+  proc << "which rar";
 X   if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 )
 X     packers.append("rar");
 X 
 X   proc.clearArguments();
 X-  proc << "which unarj >/dev/null 2>&1";
 X+  proc << "which unarj";
 X   if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 )
 X     packers.append("unarj");
 X 
 X   proc.clearArguments();
 X-  proc << "which unace >/dev/null 2>&1";
 X+  proc << "which unace";
 X   if( proc.start(KProcess::Block) && proc.normalExit() && proc.exitStatus()==0 )
 X     packers.append("unace");
 X 
 END-of-krusader/files/patch-krusader::VFS::krarchandler.cpp
 exit
 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




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