2 # - check fedora progress: http://fedoraproject.org/wiki/Etherpad
5 # tarfile created using hg:
6 # hg clone https://etherpad.googlecode.com/hg/ etherpad
8 # hg archive --type=tbz2 --prefix=%{name}-%{version} %{name}-%{version}-%{subver}.tar.bz2
9 %define subver 20100429
11 Summary: A web-based realtime collaborative document editor
14 Release: 0.%{subver}%{rel}
16 Group: X11/Applications
17 URL: http://code.google.com/p/etherpad/
18 Source0: %{name}-%{version}-%{subver}.tar.bz2
19 # Source0-md5: 3dd182ec529c56f36ebcfe089389a7ac
20 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
21 Patch0: %{name}-fix-paths.patch
22 #BuildRequires: dnsjava
23 #BuildRequires: jBCrypt
24 #BuildRequires: jakarta-commons-lang
25 #BuildRequires: java(javamail)
26 #BuildRequires: java-1.6.0-openjdk-devel >= 1:1.6.0
27 #BuildRequires: java-jcommon
28 #BuildRequires: java-jfreechart
30 BuildRequires: jpackage-utils
31 #BuildRequires: mysql-connector-java >= 5.1.0
32 #BuildRequires: mysql-server
33 #BuildRequires: scala >= 2.7
34 #BuildRequires: tagsoup
35 #BuildRequires: tomcat6-servlet-2.5-api
36 Requires: java >= 1:1.6.0
37 Requires: jpackage-utils
38 Requires: mysql-server
42 Open source release of EtherPad, a web-based realtime collaborative
47 mv etherpad-%{version}/trunk/* .
50 # remove backup and git files
51 find -name '.gitignore' -exec rm -f '{}' \;
52 find -name '*.orig' -exec rm -f '{}' \;
54 # remove bundled libs and use our own ones
56 cp -p %{_javadir}/{dnsjava,jBCrypt,jcommon,jfreechart/jfreechart}.jar etherpad/lib/
58 # remove as many libs as we can right now
59 rm -f infrastructure/lib/{activation,commons-lang-2.4,dnsjava-2.0.6,jetty-6.1.20,jetty-util-6.1.21,mail,servlet-api-2.5-20081211,tagsoup-1.2,yuicompressor-2.4-appjet}.jar
60 cp %{_javadir}/{activation,commons-lang,dnsjava,jetty/jetty,jetty/jetty-util,javamail/mail,tomcat6-servlet-2.5-api,tagsoup}.jar infrastructure/lib/
61 # find a way to not hardcode the jetty version number here
62 cp %{_datadir}/jetty/lib/ext/jetty-sslengine-6.1.21.jar infrastructure/lib/
64 # rebuild modified yuicompressor instance
65 cd infrastructure/yuicompressor && ./make.sh && cd ../../
67 # adjust file permissions for rpmlint
68 chmod a+x infrastructure/bin/compilecache.sh
69 chmod a-x etherpad/src/static/js/jquery-1.2.6.js
71 # don't attempt to use growlnotify
72 sed -i -e 's/growlnotify/echo/g' etherpad/bin/rebuildjar.sh
74 # make sure to use appropriate arguments
75 sed -i -e 's/${mysql}/mysql/g' etherpad/bin/setup-mysql-db.sh
78 export MYSQL_CONNECTOR_JAR="%{_javadir}/mysql-connector-java.jar"
79 export JAVA_HOME="%{_prefix}/java/jdk1.7.0"
80 export SCALA_HOME="%{_datadir}/scala"
85 rm -rf $RPM_BUILD_ROOT
86 install -d $RPM_BUILD_ROOT%{_javadir}
87 cp -p etherpad/appjet-eth-dev.jar $RPM_BUILD_ROOT%{_javadir}/etherpad.jar
89 install -d $RPM_BUILD_ROOT%{_bindir}
90 cp -p etherpad/bin/rebuildjar.sh $RPM_BUILD_ROOT%{_bindir}/etherpad-rebuildjar.sh
91 cp -p etherpad/bin/run-local.sh $RPM_BUILD_ROOT%{_bindir}/etherpad-run-local.sh
92 cp -p etherpad/bin/setup-mysql-db.sh $RPM_BUILD_ROOT%{_bindir}/etherpad-setup-mysql-db.sh
94 install -d $RPM_BUILD_ROOT%{_sysconfdir}
95 cp -p etherpad%{_sysconfdir}/etherpad.localdev-default.properties $RPM_BUILD_ROOT%{_sysconfdir}/etherpad.localdev-default.properties
97 # remove bundled jar files and buildcache
98 rm -rf infrastructure/lib infrastructure/build infrastructure/buildcache
100 # create directories for run-local script
101 install -d $RPM_BUILD_ROOT%{_localstatedir}/log/etherpad
102 install -d $RPM_BUILD_ROOT%{_localstatedir}/run/etherpad
104 install -d $RPM_BUILD_ROOT%{_datadir}/etherpad
105 cp -pr etherpad/src infrastructure/* $RPM_BUILD_ROOT%{_datadir}/etherpad
107 # remove zero lengths files
108 find $RPM_BUILD_ROOT -size 0 | xargs rm -v
111 rm -rf $RPM_BUILD_ROOT
114 %defattr(644,root,root,755)
116 %config(noreplace) %{_sysconfdir}/etherpad.localdev-default.properties
117 %attr(755,root,root) %{_bindir}/etherpad-*.sh
119 %{_javadir}/etherpad.jar
121 %dir %{_localstatedir}/log/etherpad
122 %dir %{_localstatedir}/run/etherpad