# Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # net-www/arcims-4.0.1.ebuild, Brett Simpson (simpsonb@hillsboroughcounty.org) At="arcims" S="${WORKDIR}/ArcIMS" DESCRIPTION="ArcIMS provides the foundation for distributing high-end geographic information systems and mapping services via the Internet." HOMEPAGE="http://www.esri.com/software/arcims/index.html" SRC_URI="" LICENSE="esri" KEYWORDS="x86 -ppc -sparc -alpha -mips -hppa -arm" DEPEND="unzip" RDEPEND="sys-libs/lib-compat net-www/tomcat net-www/mod_jk net-www/apache >=dev-java/sun-jdk-1.4.1* xfree mozilla" pkg_setup() { if ! groupmod arcims ; then groupadd -g 6500 arcims || die "problem adding group tomcat, gid 6500" fi if ! id arcims; then useradd -u 6500 -g arcims -s /bin/bash -d /home/arcims -c "Arcims" arcims || die "problem adding user arcims, uid 6500" fi # check if we have all needed files for i in \ arcims.init \ arcims.conf \ arcims.env do [[ ! -r "${FILESDIR}/${i}" ]] && die "${FILESDIR}/${i} missing" done einfo "Processing files. This may take a while." } src_unpack() { #ArcIMS Spatial Server log file analyzer - aimslogs.pl (version 1.0) is 707 #ArcIMS 4.0.1 Metadata Service Patch is 734 #Update to ArcXML Programmer's Reference Guide WebHelp version is 392 #FontInfo Utility for UNIX and Linux is 455 #ArcIMS Spatial Server log file analyzer - aimslogs.pl (version 1.0) is 774 #Arcims service ACL editor is 450 #AXL2AXL Converter Utility for ArcIMS 4.0.1 is 714" DISTFILES="${ROOT}/usr/portage/distfiles" for i in \ 707 734 392 455 774 450 714 do wget -nc -nv -P${DISTFILES} "http://support.esri.com/index.cfm?fa=downloads.patchesServicePacks.downloadPatch&FileID=${i}" done for i in \ 02tar.Z 03tar.Z \ 04tar.Z 05tar.Z \ 06tar.Z 07tar.Z do if [ ! -f ${DISTDIR}/${At}/${i} ] ; then die "Please copy the contents of the ArcIMS directory from the Arcims 4.0.1 cdrom into ${DISTDIR}/arcims" else cp ${DISTDIR}/arcims/${i} . tar xzpf ${i} fi done } src_install () { ARCIMS_HOME="/opt/ArcIMS" dodir ${ARCIMS_HOME} cp -Rdp \ ${WORKDIR}/ArcIMS* \ ${D}/opt #Patches for i in \ qfe-ims-401-cq187290_linux.tar.Z \ qfe-ims-401-cq190164_linux.tar.Z do cd ${D}/opt/ArcIMS tar xzpf ${DISTFILES}/${i} done #axl converter cd ${D}/opt/ArcIMS tar xpf ${DISTFILES}/axl2axl_linux.tar #Extra mkdir ${D}/opt/ArcIMS/extra for i in \ aimslogs.tar aclEditor.tar do cd ${D}/opt/ArcIMS/extra tar xpf ${DISTFILES}/${i} done #AXLupdate mkdir -p ${D}/opt/ArcIMS/Documentation/ArcXML_Guide/Support_files/elements cd ${D}/opt/ArcIMS/Documentation/ArcXML_Guide/Support_files/elements tar xpf ${DISTFILES}/axlupdate.tar #Fontutil cd ${D}/opt/ArcIMS/bin tar xpf ${DISTFILES}/FontInfo401_linux.tar cp ${FILESDIR}/arcims.env ${T}/25arcims insinto /etc/env.d doins ${T}/25arcims || die cp ${FILESDIR}/arcims.init ${T}/arcims exeinto /etc/init.d doexe ${T}/arcims || die cp ${FILESDIR}/arcims.conf ${T}/arcims insinto /etc/conf.d doins ${T}/arcims || die # aimsdefaults.properties is needed by the aimsadmin utility. mkdir -p ${D}/home/arcims/axl #Future addition - Copy a sample axl file into /home/arcims/axl AIMSDEFORIG="/home/arcims/aimsdefaults.properties" AIMSDEF="${D}/home/arcims/aimsdefaults.properties" if [ ! -f ${AIMSDEFORIG} ] ; then echo "ImageURL=http\://$HOSTNAME/output" >> ${AIMSDEF} echo "ImagePath=/home/httpd/htdocs/output" >> ${AIMSDEF} echo "HostName=$HOSTNAME" >> ${AIMSDEF} echo "HostALIAS=$HOSTNAME" >> ${AIMSDEF} echo "HostURL=http\://$HOSTNAME" >> ${AIMSDEF} echo "Scavenger=10" >> ${AIMSDEF} echo "UserName=admin" >> ${AIMSDEF} echo "WebSiteDir=/home/httpd/htdocs/website" >> ${AIMSDEF} echo "WorkingDir=/home/arcims/axl" >> ${AIMSDEF} echo "IndexBuilderEXE=/opt/ArcIMS/IndexBuilder/aimsindxb.exe" >> ${AIMSDEF} echo "WebBrowser=/usr/bin/mozilla" >> ${AIMSDEF} echo "WebBrowser.usesQuotes=false" >> ${AIMSDEF} echo "ArcIMSHelp=/opt/ArcIMS/Manager/Help/arcims_help.htm" >> ${AIMSDEF} echo "ImageMemory=4" >> ${AIMSDEF} echo "MaxImageMemory=250" >> ${AIMSDEF} echo "ForceAddServers=false" >> ${AIMSDEF} fi # Setting up TrueType fonts from the sun-jdk needed by Arcims. TrueType="${D}/usr/lib/X11/fonts/TrueType" mkdir -p ${TrueType} cp -Rdp ${ROOT}${JDK_HOME}/jre/lib/fonts/* ${TrueType} #Diagnostics page mkdir -p ${D}/home/httpd/htdocs/website cp -Rdp ${D}/opt/ArcIMS/Xenv/ArcIMS_Diagnostics ${D}/home/httpd/htdocs/website #Output directory mkdir -p ${D}/home/httpd/htdocs/output #Connectors mkdir -p ${D}/opt/tomcat/webapps/ROOT/WEB-INF/classes cp -Rdp ${D}/opt/ArcIMS/Middleware/servlet_connector/* ${D}/opt/tomcat/webapps/ROOT/WEB-INF/classes cat ${D}/opt/tomcat/webapps/ROOT/WEB-INF/classes/Esrimap_prop | \ sed "s/appServerMachine=APPSMACHINE/appServerMachine=$HOSTNAME/" >\ ${D}/opt/tomcat/webapps/ROOT/WEB-INF/classes/Esrimap_prop-new mv ${D}/opt/tomcat/webapps/ROOT/WEB-INF/classes/Esrimap_prop-new \ ${D}/opt/tomcat/webapps/ROOT/WEB-INF/classes/Esrimap_prop cat ${D}/opt/ArcIMS/Xenv/ArcIMS_Diagnostics/hostname.js | \ sed "s/var hostName = \"localhost\"/var hostName = "$HOSTNAME"/" >\ ${D}/opt/ArcIMS/Xenv/ArcIMS_Diagnostics/hostname.js-new mv ${D}/opt/ArcIMS/Xenv/ArcIMS_Diagnostics/hostname.js-new \ ${D}/opt/ArcIMS/Xenv/ArcIMS_Diagnostics/hostname.js for i in aimsappsrvr aimstasker aimsmonitor do cat ${D}/opt/ArcIMS/Xenv/$i | \ sed 's/#AIMSHOME=\/\/ArcIMS\; export AIMSHOME/source \/etc\/profile\n#AIMSHOME=\/\/ArcIMS\; export AIMSHOME/' >\ ${D}/opt/ArcIMS/Xenv/$i-new mv ${D}/opt/ArcIMS/Xenv/$i-new ${D}/opt/ArcIMS/Xenv/$i chmod 755 ${D}/opt/ArcIMS/Xenv/$i done chown -R arcims.arcims ${D}/home/arcims ${D}/opt/ArcIMS ${D}/home/httpd/htdocs/website ${D}/home/httpd/htdocs/output } pkg_postinst() { einfo "****************************************************************" einfo "" einfo "You will need to modify the following in your /opt/tomcat/conf/web.xml" einfo "" einfo " " einfo " " einfo "" einfo "to the following (without the remarks." einfo "" einfo " " einfo "" einfo " " einfo " invoker" einfo " /servlet/*" einfo " " einfo "" einfo "You will then need to restart Tomcat and maybe Apache too." einfo "" einfo "Start Arcims" einfo "/etc/init.d/arcims start" einfo "" einfo "And go to http://$HOSTNAME/website/ArcIMS_Diagnostics" einfo "to test Arcims." einfo "" # einfo "A sample axl file has been placed in /home/arcims/axl." # einfo "Use the aimsadmin and aimsdesigner to add this axl" # einfo "into Arcims for testing." # einfo "" }