From Fedora Project Wiki

m (Fix URL)
 
(19 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Etherpad FAD ==
== Etherpad FAD ==


We're trying to organize one. See [[Etherpad FAD]] for more.
Its a go. See [[Etherpad FAD]] for more info.


== Packaging Etherpad ==
== Packaging Etherpad ==
Line 8: Line 8:


Etherpad bundles a good chunk of libraries. Some of them are already packaging in Fedora, some aren't.
Etherpad bundles a good chunk of libraries. Some of them are already packaging in Fedora, some aren't.
=== Moving towards a package of Upstream ===
Recommended you start with [http://gist.github.com/631460 these notes] on how I'm getting [http://github.com/ether/pad/tree/releases-1.1 Etherpad 1.1] to work without bundled libraries.
Based on SDZ spec (see "not really guidelines compliant version") and tons of packages by JStanley and Spot (see chart below)
--[[User:Computercolin|Colin Z]] 00:03, 18 October 2010 (UTC)


=== Libraries bundled in Etherpad ===
=== Libraries bundled in Etherpad ===


''in etherpad/lib''
''in infrastructure/lib''


{|
{|
! file name !! fedora package !! status
! file name !! fedora package !! status
|-
|-
| dnsjava-2.0.6.jar || dnsjava || works
| c3p0-0.9.1.2.jar || [https://bugzilla.redhat.com/show_bug.cgi?id=675009 review] || Heavily patched to work on Java 1.6 and the project seems dead.  [https://github.com/ether/pad/issues/issue/219 Request to move Etherpad to Apache Commons DBCP] submitted upstream.
|-
|-
| jbcrypt-0.2.jar || jBCrypt || [https://bugzilla.redhat.com/show_bug.cgi?id=594806 packaged]
| mchange-commons-0.2 || [https://bugzilla.redhat.com/show_bug.cgi?id=674082 review] || Required for c3p0 building
|-
|-
| jcommon-1.0.15.jar || jcommon || works
| rhino-js-1.7r1.jar || [https://bugzilla.redhat.com/show_bug.cgi?id=674114 review] || contains proprietary extensions which are patched around. R1 is needed for yuicompressor to work, we have R2 in Fedora. R1 with appjet patches package.
|-
| jfreechart-1.0.12.jar || jfreechart || works
|-
|-
| yuicompressor-2.4-appjet.jar || [https://bugzilla.redhat.com/show_bug.cgi?id=674115 review] || breaks build, significant api breakage for yuicompressor both in R2 and R3; can be disabled, or we need ''compat-rhino-17r1''. Alternatively, we could ship CSS-only version; performance penalty for JavaScript. needs packaging. Yuicompressor w/ patches working in above appjetrhino package.
|}
|}


''in infrastructure/lib''
=== Scala Version Issue Compat Packages ===
Etherpad requires an old version of Scala ([http://github.com/ether/pad/issues/issue/147 upstream ticket])
 
Jon Stanley's Scala2.7 compat packages:
 
http://jstanley.fedorapeople.org/etherpad/
 
'''Packaged:''' yes
 
'''Accepted:''' no
 
=== Notes from Victor Vasilyev ===
[[User:Victorv]]
 
I've successfully compiled and launched the project on the Fedora 13, and can confirm that is working well.
But, I've also noticed that the Google wave has a bit more facilities  :-(
 
After a brief researching of the project I've opinion that you'll have a lot of the tasks that should be completed before release of the project for the Fedora Linux distribution will happen.
I see at least  the following tasks:
* Decomposing of the project, and selecting of all "internal" and "external" components.
* Replacing the all third-party components with the requirements for each component to have a list of all external dependencies.
* Providing of the RPM packages for required third-party components that are not in Fedora yet (if any).
* Dividing of all external dependencies into build-time and run-time dependencies.
* Sorting of all "internal" components by their languages, and avoiding unneeded languages to simplify the project.
etc.
 
I think, you should also decide to use a build system that is "usual" for Java (e.g. Ant, Maven, etc.) instead of Bash-scripts.
 
...And, finally, will be better to see a components diagram for the project (e.g. UML components diagram) that might explain a role of each component, and their dependencies.
 
=== Note from Matěj Cepl ===
--[[User:Mcepl|Mcepl]] 07:55, 16 December 2010 (UTC)


{|
* There is a complete set of RPMs on http://mcepl.fedorapeople.org/rpms/etherpad/ for RHEL-6/EPEL. Absolutely no support, and no testing ("It builds? Ship it!")
! file name !! fedora package !! status
|-
| activation.jar || classpathx-jaf || works
|-
| c3p0-0.9.1.2.jar || [https://bugzilla.redhat.com/show_bug.cgi?id=252054 review] (new package needed) || needs packaging
|-
| commons-lang-2.4.jar || jakarta-commons-lang || works
|-
| derby-10.5.1.1.jar || [https://bugzilla.redhat.com/show_bug.cgi?id=532520 review] || needs review
|-
| derbytools.jar || [https://bugzilla.redhat.com/show_bug.cgi?id=532520 review] || needs review
|-
| dnsjava-2.0.6.jar || dnsjava || works
|-
| jetty-6.1.20.jar || jetty || works
|-
| jetty-sslengine-6.1.20.jar || jetty || works
|-
| jetty-util-6.1.20.jar || jetty || works
|-
| json.jar || json || breaks build
|-
| mail.jar || javamail || works
|-
| rhino-js-1.7r1.jar || rhino || breaks build
|-
| sanselan-0.94aj.jar || [http://incubator.apache.org/projects/sanselan.html source] (missing ''maven2-plugin-release'') || needs packaging
|-
| servlet-api-2.5-20081211.jar || tomcat6-servlet-2.5-api || works
|-
| tagsoup-1.2.jar || tagsoup || works
|-
| yuicompressor-2.4-appjet.jar || [http://developer.yahoo.com/yui/compressor/ source] (fails to compile with ''rhino'' package) || needs packaging
|}

Latest revision as of 22:04, 3 February 2011

Etherpad FAD

Its a go. See Etherpad FAD for more info.

Packaging Etherpad

There's a not really guidelines compliant version alive here: http://repos.fedorapeople.org/repos/sdz/etherpad/

Etherpad bundles a good chunk of libraries. Some of them are already packaging in Fedora, some aren't.

Moving towards a package of Upstream

Recommended you start with these notes on how I'm getting Etherpad 1.1 to work without bundled libraries.

Based on SDZ spec (see "not really guidelines compliant version") and tons of packages by JStanley and Spot (see chart below)

--Colin Z 00:03, 18 October 2010 (UTC)

Libraries bundled in Etherpad

in infrastructure/lib

file name fedora package status
c3p0-0.9.1.2.jar review Heavily patched to work on Java 1.6 and the project seems dead. Request to move Etherpad to Apache Commons DBCP submitted upstream.
mchange-commons-0.2 review Required for c3p0 building
rhino-js-1.7r1.jar review contains proprietary extensions which are patched around. R1 is needed for yuicompressor to work, we have R2 in Fedora. R1 with appjet patches package.
yuicompressor-2.4-appjet.jar review breaks build, significant api breakage for yuicompressor both in R2 and R3; can be disabled, or we need compat-rhino-17r1. Alternatively, we could ship CSS-only version; performance penalty for JavaScript. needs packaging. Yuicompressor w/ patches working in above appjetrhino package.

Scala Version Issue Compat Packages

Etherpad requires an old version of Scala (upstream ticket)

Jon Stanley's Scala2.7 compat packages:

http://jstanley.fedorapeople.org/etherpad/

Packaged: yes

Accepted: no

Notes from Victor Vasilyev

User:Victorv

I've successfully compiled and launched the project on the Fedora 13, and can confirm that is working well. But, I've also noticed that the Google wave has a bit more facilities  :-(

After a brief researching of the project I've opinion that you'll have a lot of the tasks that should be completed before release of the project for the Fedora Linux distribution will happen. I see at least the following tasks:

  • Decomposing of the project, and selecting of all "internal" and "external" components.
  • Replacing the all third-party components with the requirements for each component to have a list of all external dependencies.
  • Providing of the RPM packages for required third-party components that are not in Fedora yet (if any).
  • Dividing of all external dependencies into build-time and run-time dependencies.
  • Sorting of all "internal" components by their languages, and avoiding unneeded languages to simplify the project.

etc.

I think, you should also decide to use a build system that is "usual" for Java (e.g. Ant, Maven, etc.) instead of Bash-scripts.

...And, finally, will be better to see a components diagram for the project (e.g. UML components diagram) that might explain a role of each component, and their dependencies.

Note from Matěj Cepl

--Mcepl 07:55, 16 December 2010 (UTC)