summaryrefslogtreecommitdiff
blob: 6a4204a249f1da6e70983750752f0c3d1345f3ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="2"

inherit eutils java-pkg-2

DESCRIPTION="Jetty Web Server; Java Servlet container"

SLOT="6"
HOMEPAGE="http://jetty.codehaus.org/"
KEYWORDS="~amd64 ~x86"
LICENSE="Apache-2.0"

MY_PN=${PN/-bin}
MY_JETTY=${MY_PN}-${SLOT}
MY_P=${MY_PN}-${PV}

IUSE="anttasks client ldap ssl stats tomcat7"

SRC_URI="http://dist.codehaus.org/jetty/jetty-${PV}/jetty-${PV}.zip
	anttasks? ( http://dist.codehaus.org/jetty/jetty-${PV}/jetty-ant-${PV}.jar )"
RESTRICT="mirror"

DEPEND="
  tomcat7? ( dev-java/tomcat-servlet-api:3.0 )
  !tomcat7? ( dev-java/tomcat-servlet-api:2.5 )
	!www-servers/jetty:${SLOT}
	!www-servers/jetty-eclipse:${SLOT}
	!www-servers/jetty-eclipse-bin:${SLOT}
	>=virtual/jre-1.5"

RDEPEND="${DEPEND}
	anttasks? ( dev-java/ant )
	>=dev-java/slf4j-api-1.3.1
	>=dev-java/sun-javamail-1.4
	>=dev-java/jta-1.0.1
	>=java-virtuals/jaf-1.1"

S=${WORKDIR}/${MY_P}

src_install() {
    cd "${S}"
    rm -f etc/jetty-sslengine.xml

    java-pkg_jarinto "/usr/share/${MY_JETTY}/lib/"
    java-pkg_sointo "/usr/$(get_libdir)/${MY_JETTY}"

    java-pkg_dojar start.jar
    java-pkg_newjar lib/${MY_P}.jar ${MY_PN}.jar
    java-pkg_newjar lib/${MY_PN}-util-${PV}.jar ${MY_PN}-util.jar
    java-pkg_newjar lib/jre1.5/${MY_PN}-util5-${PV}.jar ${MY_PN}-util5.jar
    java-pkg_newjar lib/annotations/${MY_PN}-annotations-${PV}.jar ${MY_PN}-annotations.jar
    java-pkg_newjar lib/ext/${MY_PN}-rewrite-handler-${PV}.jar ${MY_PN}-rewrite-handler.jar
    java-pkg_newjar lib/ext/${MY_PN}-html-${PV}.jar ${MY_PN}-html.jar
    java-pkg_newjar lib/ext/${MY_PN}-java5-threadpool-${PV}.jar ${MY_PN}-java5-threadpool.jar
    java-pkg_newjar lib/ext/${MY_PN}-ajp-${PV}.jar ${MY_PN}-ajp.jar
    java-pkg_newjar lib/ext/${MY_PN}-servlet-tester-${PV}.jar ${MY_PN}-servlet-tester.jar
    java-pkg_newjar lib/ext/${MY_PN}-setuid-${PV}.jar ${MY_PN}-setuid.jar
    java-pkg_doso   lib/ext/libsetuid.so
    java-pkg_newjar lib/jsp-2.1/jsp-2.1-${MY_P}.jar jsp-2.1-${MY_PN}.jar
    java-pkg_newjar lib/management/${MY_PN}-management-${PV}.jar ${MY_PN}-management.jar
    java-pkg_newjar lib/naming/${MY_PN}-naming-${PV}.jar ${MY_PN}-naming.jar
    java-pkg_newjar lib/plus/${MY_PN}-plus-${PV}.jar ${MY_PN}-plus.jar
    java-pkg_newjar lib/terracotta/${MY_PN}-terracotta-sessions-${PV}.jar ${MY_PN}-terracotta-sessions.jar
    java-pkg_newjar lib/xbean/${MY_PN}-xbean-${PV}.jar ${MY_PN}-xbean.jar

    use client && java-pkg_newjar lib/ext/${MY_PN}-client-${PV}.jar ${MY_PN}-client.jar
    if use ldap ; then
       java-pkg_newjar lib/ext/${MY_PN}-ldap-jaas-${PV}.jar ${MY_PN}-ldap-jaas.jar
    else
       rm -f etc/jetty-jaas.xml
    fi
    if use ssl ; then
       java-pkg_newjar lib/ext/${MY_PN}-sslengine-${PV}.jar ${MY_PN}-sslengine.jar
    else
       rm -f etc/jetty-ssl.xml
    fi
    if use stats ; then
       java-pkg_newjar lib/ext/${MY_PN}-java5-stats-${PV}.jar ${MY_PN}-java5-stats.jar
    else
       rm -f etc/jetty-stats.xml
    fi

    if use anttasks ; then
       java-pkg_dojar bin/jetty-tasks.xml
       cd ${DISTDIR}
       java-pkg_newjar ${MY_PN}-ant-${PV}.jar ${MY_PN}-ant.jar
       cd ${S}
    fi


    dodir /etc/${MY_JETTY}
    insinto /etc/${MY_JETTY}
    doins etc/*

    dodir /etc/conf.d
    insinto /etc/conf.d
    newins ${FILESDIR}/conf.d/${MY_JETTY} ${MY_JETTY}
    
    dodir /etc/init.d
    exeinto /etc/init.d
    newexe ${FILESDIR}/init.d/${MY_JETTY} ${MY_JETTY}

    dodir /var/log/${MY_JETTY}

    JETTY_HOME=/var/lib/${MY_JETTY}
    dodir ${JETTY_HOME}/webapps
    dodir ${JETTY_HOME}/contexts
    dodir ${JETTY_HOME}/resources
    dosym ${JAVA_PKG_JARDEST} ${JETTY_HOME}/lib
    dosym ${JAVA_PKG_JARDEST}/start.jar ${JETTY_HOME}/start.jar
    dosym /etc/${MY_JETTY} ${JETTY_HOME}/etc
    dosym /var/log/${MY_JETTY} ${JETTY_HOME}/logs

    START_CONFIG=${D}/${JETTY_HOME}/start.config
    echo "\$(jetty.class.path).path                         always" > ${START_CONFIG}
    echo "\$(jetty.lib)/**                                  exists \$(jetty.lib)" >> ${START_CONFIG}
    echo "jetty.home=${JETTY_HOME}" >> ${START_CONFIG}
    echo "org.mortbay.xml.XmlConfiguration.class" >> ${START_CONFIG}
    echo "\$(start.class).class" >> ${START_CONFIG}
    echo "\$(jetty.home)/etc/jetty.xml" >> ${START_CONFIG}
    echo "\$(jetty.home)/lib/*" >> ${START_CONFIG}
    echo "/usr/share/sun-javamail/lib/*" >> ${START_CONFIG}
    echo "/usr/share/ant/lib/*" >> ${START_CONFIG}
    echo "/usr/share/slf4j-api/lib/*" >> ${START_CONFIG}
    echo "/usr/share/jta/lib/*" >> ${START_CONFIG}
    if use tomcat7 ; then
      echo "/usr/share/tomcat-servlet-api-3.0/lib/*" >> ${START_CONFIG}
    else
      echo "/usr/share/tomcat-servlet-api-2.5/lib/*" >> ${START_CONFIG}
    fi
    echo "" >> ${START_CONFIG}
    echo "\$(jetty.home)/resources/" >> ${START_CONFIG}
}

pkg_preinst () {
    enewuser jetty
    fowners jetty:jetty /var/log/${MY_JETTY}
    fperms g+w /var/log/${MY_JETTY}
    mv ${D}/usr/share/${PN}-${SLOT}/package.env ${D}/usr/share/${MY_JETTY}/package.env
    rm -rf ${D}/usr/share/${PN}-${SLOT}
}