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 %include /usr/lib/rpm/macros.java
12 Summary: A web-based realtime collaborative document editor
15 Release: 0.%{subver}%{rel}
17 Group: X11/Applications
18 URL: http://code.google.com/p/etherpad/
19 Source0: %{name}-%{version}-%{subver}.tar.bz2
20 # Source0-md5: 3dd182ec529c56f36ebcfe089389a7ac
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: rpm-javaprov
34 BuildRequires: rpmbuild(macros) >= 1.546
35 #BuildRequires: scala >= 2.7
36 #BuildRequires: tagsoup
37 #BuildRequires: tomcat6-servlet-2.5-api
38 Requires: jpackage-utils
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 Open source release of EtherPad, a web-based realtime collaborative
49 mv etherpad-%{version}/trunk/* .
52 # remove backup and git files
53 find -name '.gitignore' -exec rm -f '{}' \;
54 find -name '*.orig' -exec rm -f '{}' \;
56 # remove bundled libs and use our own ones
58 cp -p %{_javadir}/{dnsjava,jBCrypt,jcommon,jfreechart/jfreechart}.jar etherpad/lib/
60 # remove as many libs as we can right now
61 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
62 cp %{_javadir}/{activation,commons-lang,dnsjava,jetty/jetty,jetty/jetty-util,javamail/mail,tomcat6-servlet-2.5-api,tagsoup}.jar infrastructure/lib/
63 # find a way to not hardcode the jetty version number here
64 cp %{_datadir}/jetty/lib/ext/jetty-sslengine-6.1.21.jar infrastructure/lib/
66 # rebuild modified yuicompressor instance
67 cd infrastructure/yuicompressor && ./make.sh && cd ../../
69 # adjust file permissions for rpmlint
70 chmod a+x infrastructure/bin/compilecache.sh
71 chmod a-x etherpad/src/static/js/jquery-1.2.6.js
73 # don't attempt to use growlnotify
74 sed -i -e 's/growlnotify/echo/g' etherpad/bin/rebuildjar.sh
76 # make sure to use appropriate arguments
77 sed -i -e 's/${mysql}/mysql/g' etherpad/bin/setup-mysql-db.sh
80 export MYSQL_CONNECTOR_JAR="%{_javadir}/mysql-connector-java.jar"
81 export JAVA_HOME="%{_prefix}/java/jdk1.7.0"
82 export SCALA_HOME="%{_datadir}/scala"
87 rm -rf $RPM_BUILD_ROOT
88 install -d $RPM_BUILD_ROOT%{_javadir}
89 cp -p etherpad/appjet-eth-dev.jar $RPM_BUILD_ROOT%{_javadir}/etherpad.jar
91 install -d $RPM_BUILD_ROOT%{_bindir}
92 cp -p etherpad/bin/rebuildjar.sh $RPM_BUILD_ROOT%{_bindir}/etherpad-rebuildjar.sh
93 cp -p etherpad/bin/run-local.sh $RPM_BUILD_ROOT%{_bindir}/etherpad-run-local.sh
94 cp -p etherpad/bin/setup-mysql-db.sh $RPM_BUILD_ROOT%{_bindir}/etherpad-setup-mysql-db.sh
96 install -d $RPM_BUILD_ROOT%{_sysconfdir}
97 cp -p etherpad%{_sysconfdir}/etherpad.localdev-default.properties $RPM_BUILD_ROOT%{_sysconfdir}/etherpad.localdev-default.properties
99 # remove bundled jar files and buildcache
100 rm -rf infrastructure/lib infrastructure/build infrastructure/buildcache
102 # create directories for run-local script
103 install -d $RPM_BUILD_ROOT%{_localstatedir}/log/etherpad
104 install -d $RPM_BUILD_ROOT%{_localstatedir}/run/etherpad
106 install -d $RPM_BUILD_ROOT%{_datadir}/etherpad
107 cp -pr etherpad/src infrastructure/* $RPM_BUILD_ROOT%{_datadir}/etherpad
109 # remove zero lengths files
110 find $RPM_BUILD_ROOT -size 0 | xargs rm -v
113 rm -rf $RPM_BUILD_ROOT
116 %defattr(644,root,root,755)
118 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/etherpad.localdev-default.properties
119 %attr(755,root,root) %{_bindir}/etherpad-*.sh
121 %{_javadir}/etherpad.jar
123 %dir %{_localstatedir}/log/etherpad
124 %dir %{_localstatedir}/run/etherpad