rpms/rssowl/devel rssowl-JessieX509.patch, NONE, 1.1 rssowl-browser.patch, NONE, 1.1 rssowl-build0.patch, NONE, 1.1 rssowl-build1.patch, NONE, 1.1 rssowl-swt31.patch, NONE, 1.1 rssowl-use-jce.patch, NONE, 1.1 rssowl.desktop, NONE, 1.1 rssowl.script, NONE, 1.1 rssowl.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Anthony Green (green) fedora-extras-commits at redhat.com
Tue Jan 17 14:16:02 UTC 2006


Author: green

Update of /cvs/extras/rpms/rssowl/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv18032/devel

Modified Files:
	.cvsignore sources 
Added Files:
	rssowl-JessieX509.patch rssowl-browser.patch 
	rssowl-build0.patch rssowl-build1.patch rssowl-swt31.patch 
	rssowl-use-jce.patch rssowl.desktop rssowl.script rssowl.spec 
Log Message:
auto-import rssowl-1.2-7 on branch devel from rssowl-1.2-7.src.rpm

rssowl-JessieX509.patch:

--- NEW FILE rssowl-JessieX509.patch ---
--- src/java/net/sourceforge/rssowl/dao/ssl/EasyX509TrustManager.java~	2005-11-06 08:06:57.000000000 -0800
+++ src/java/net/sourceforge/rssowl/dao/ssl/EasyX509TrustManager.java	2006-01-04 09:00:04.000000000 -0800
@@ -51,11 +51,11 @@
    */
   public EasyX509TrustManager(KeyStore keystore) throws NoSuchAlgorithmException, KeyStoreException {
     super();
-    TrustManagerFactory factory = TrustManagerFactory.getInstance("SunX509");
+    TrustManagerFactory factory = TrustManagerFactory.getInstance("JessieX509");
     factory.init(keystore);
     TrustManager[] trustmanagers = factory.getTrustManagers();
     if (trustmanagers.length == 0)
-      throw new NoSuchAlgorithmException("SunX509 trust manager not supported");
+      throw new NoSuchAlgorithmException("JessieX509 trust manager not supported");
 
     this.standardTrustManager = (X509TrustManager) trustmanagers[0];
   }

rssowl-browser.patch:

--- NEW FILE rssowl-browser.patch ---
--- src/java/net/sourceforge/rssowl/util/shop/BrowserShop.java~	2005-11-06 08:06:57.000000000 -0800
+++ src/java/net/sourceforge/rssowl/util/shop/BrowserShop.java	2006-01-13 18:33:12.000000000 -0800
@@ -36,6 +36,9 @@
 import org.eclipse.swt.SWTError;
 import org.eclipse.swt.program.Program;
 
+import org.gnu.gconf.ConfClient;
+import org.gnu.gconf.ConfException;
+
 import java.io.IOException;
 
 /**
@@ -267,11 +270,28 @@
     /** Try Netscape as default browser */
     if (webBrowser == null) {
       try {
-        webBrowser = "netscape";
-        p = Runtime.getRuntime().exec(webBrowser + "  " + href);
-      } catch (IOException e) {
-        p = null;
-        webBrowser = "mozilla";
+	// This is kind of lame, but - oh well - it's slightly better than
+	// the original.
+	ConfClient client = ConfClient.getInstance();
+	webBrowser = client.getString ("/desktop/gnome/url-handlers/http/command");
+	if (webBrowser.startsWith("firefox"))
+	  webBrowser = "firefox";
+	else if (webBrowser.startsWith("mozilla"))
+	  webBrowser = "mozilla";
+	else if (webBrowser.startsWith("epiphany"))
+	  webBrowser = "epiphany";
+	if (webBrowser.startsWith("netscape"))
+	  webBrowser = "netscape";
+	else
+	  webBrowser = "firefox";
+      } catch (ConfException ce) {
+	try {
+	  webBrowser = "firefox";
+	  p = Runtime.getRuntime().exec(webBrowser + "  " + href);
+	} catch (IOException e) {
+	  p = null;
+	  webBrowser = "mozilla";
+	}
       }
     }
 

rssowl-build0.patch:

--- NEW FILE rssowl-build0.patch ---
--- src/build.xml~	2005-11-06 08:06:57.000000000 -0800
+++ src/build.xml	2006-01-04 05:46:08.000000000 -0800
@@ -127,12 +127,17 @@
 		for the special-chars of the translations.
     -->
     <target name="compile_linux" depends="init">
+        <path id="libs.classpath">
+           <fileset dir="${root}/lib" includes="**/*.jar" />
+        </path>
+
         <javac excludes="**/DevShop.java"
                encoding="utf8"
                destdir="${classes}/"
-               srcdir="${src}"
-               classpath="${libs}" />
+               srcdir="${src}">
+           <classpath refid="libs.classpath" />
+	</javac>
     </target>
 
     <!-- 

rssowl-build1.patch:

--- NEW FILE rssowl-build1.patch ---
--- src/build.xml~	2006-01-04 06:11:03.000000000 -0800
+++ src/build.xml	2006-01-04 06:12:24.000000000 -0800
@@ -201,18 +201,7 @@
 		Pack compiled RSSOwl into executable JAR file.
     -->
     <target name="jar_linux" depends="compile_linux">
-        <unjar src="${SWT}" dest="${classes}" />
-        <unjar src="${SWT-NL}" dest="${classes}" />
-        <unjar src="${JDOM}" dest="${classes}" />
-        <unjar src="${JFACE}" dest="${classes}" />
-        <unjar src="${FORMS}" dest="${classes}" />
-        <unjar src="${XERCES}" dest="${classes}" />
-        <unjar src="${ITEXT}" dest="${classes}" />
         <unjar src="${ITEXTASIAN}" dest="${classes}" />
-        <unjar src="${CODEC}" dest="${classes}" />
-        <unjar src="${HTTPCLIENT}" dest="${classes}" />
-        <unjar src="${LOGGING}" dest="${classes}" />
-        <unjar src="${BLOWFISH}" dest="${classes}" />
         <delete file="${classes}/META-INF/LICENSE.txt" />
         <delete file="${classes}/META-INF/info.xml" />
         <jar jarfile="${deploy}/rssowl.jar" basedir="${classes}">

rssowl-swt31.patch:

--- NEW FILE rssowl-swt31.patch ---
--- src/java/net/sourceforge/rssowl/controller/sort/SortingSelectionAdapter.java~	2006-01-04 05:58:01.000000000 -0800
+++ src/java/net/sourceforge/rssowl/controller/sort/SortingSelectionAdapter.java	2005-06-14 14:15:46.000000000 -0700
@@ -26,7 +26,6 @@
 
 import net.sourceforge.rssowl.controller.NewsTable;
 
-import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.widgets.Table;
@@ -42,7 +41,7 @@
  * header is clicked and update it.
  * 
  * @author <a href="mailto:masterludo at gmx.net">Ludovic Kim-Xuan Galibert </a>
- * @version 1.2
+ * @version 1.1.3
  */
 public class SortingSelectionAdapter extends SelectionAdapter {
 
@@ -101,59 +100,67 @@
   }
 
   /**
-   * Sort the News using a Sorter that is identified by the given field value.
+   * Handle the sorting corresponding to the header clicked
    * 
-   * @param field The identifier of the Sorter to use.
-   * @return boolean TRUE if the sort was ascending, FALSE if descending.
+   * @param se the SelectionEvent
    */
-  public boolean sort(String field) {
+  public void widgetSelected(SelectionEvent se) {
+    widgetSelected((TableColumn) se.getSource());
+  }
+
+  /**
+   * Handle the sorting corresponding to the header clicked
+   * 
+   * @param tc The selected TableColumn
+   */
+  public void widgetSelected(TableColumn tc) {
     Comparator sorter = null;
     boolean ascending = true;
 
     /** Sort by news title */
-    if ("TABLE_HEADER_NEWSTITLE".equals(field)) {
+    if (tc.getData().equals("TABLE_HEADER_NEWSTITLE")) {
       ascending = this.titleAscending;
       this.titleAscending = !this.titleAscending;
       sorter = new TitleSorter();
     }
 
     /** Sort by publish date */
-    else if ("TABLE_HEADER_PUBDATE".equals(field)) {
+    else if (tc.getData().equals("TABLE_HEADER_PUBDATE")) {
       ascending = this.pudDateAscending;
       this.pudDateAscending = !this.pudDateAscending;
       sorter = new PubDateSorter(newsItems);
     }
 
     /** Sort by author */
-    else if ("TABLE_HEADER_AUTHOR".equals(field)) {
+    else if (tc.getData().equals("TABLE_HEADER_AUTHOR")) {
       ascending = this.authorAscending;
       this.authorAscending = !this.authorAscending;
       sorter = new AuthorSorter(newsItems);
     }
 
     /** Sort by category */
-    else if ("TABLE_HEADER_CATEGORY".equals(field)) {
+    else if (tc.getData().equals("TABLE_HEADER_CATEGORY")) {
       ascending = this.categoryAscending;
       this.categoryAscending = !this.categoryAscending;
       sorter = new CategorySorter(newsItems);
     }
 
     /** Sort by publisher */
-    else if ("TABLE_HEADER_PUBLISHER".equals(field)) {
+    else if (tc.getData().equals("TABLE_HEADER_PUBLISHER")) {
       ascending = this.publisherAscending;
       this.publisherAscending = !this.publisherAscending;
       sorter = new PublisherSorter(newsItems);
     }
 
     /** Sort by news feed */
-    else if ("TABLE_HEADER_FEED".equals(field)) {
+    else if (tc.getData().equals("TABLE_HEADER_FEED")) {
       ascending = this.newsfeedAscending;
       this.newsfeedAscending = !this.newsfeedAscending;
       sorter = new NewsFeedSorter(newsItems);
     }
 
     /** Sort by news status */
-    else if ("TABLE_HEADER_STATUS".equals(field)) {
+    else if (tc.getData().equals("TABLE_HEADER_STATUS")) {
       ascending = this.statusAscending;
       this.statusAscending = !this.statusAscending;
       sorter = new StatusSorter(newsItems);
@@ -165,33 +172,11 @@
     else
       Collections.sort(newsItemOrder, sorter);
 
-    /** Reverse if not ascending order */
+    /** Reverse is not ascending order */
     if (!ascending)
       Collections.reverse(newsItemOrder);
 
-    return ascending;
-  }
-
-  /**
-   * Handle the sorting corresponding to the header clicked
-   * 
-   * @param se the SelectionEvent
-   */
-  public void widgetSelected(SelectionEvent se) {
-    widgetSelected((TableColumn) se.getSource());
-  }
-
-  /**
-   * Handle the sorting corresponding to the header clicked
-   * 
-   * @param tc The selected TableColumn
-   */
-  public void widgetSelected(TableColumn tc) {
-
-    /** Sort based on the given TableColumn */
-    boolean ascending = sort((String) tc.getData());
-
-    /** Remember the width values of the columns */
+    /** Remember the width values of the columns before sorting */
     int columnWidth[] = new int[table.getColumnCount()];
     for (int a = 0; a < table.getColumnCount(); a++)
       columnWidth[a] = table.getColumn(a).getWidth();
@@ -201,41 +186,6 @@
     if (table.getSelectionCount() > 0)
       selectedNews = table.getSelection()[0].getText(1);
 
-    /** Show a Sort Indicator inside the selected TableColumn */
-    if (!tc.getData().equals("TABLE_HEADER_STATUS")) {
-      table.setSortColumn(tc);
-
-      /** Reset Sort Direction */
-      if (table.getSortDirection() != SWT.NONE)
-        table.setSortDirection(SWT.NONE);
-
-      /** Apply the new direction */
-      table.setSortDirection(ascending ? SWT.DOWN : SWT.UP);
-
-      /**
-       * The Indicator requires some space, so pack the TableColumn. In order to
-       * avoid flashing, first set the Table visible before packing the Column.
-       */
-      table.setVisible(false);
-      tc.pack();
-      table.setVisible(true);
-
-      /** Restore Focus if necessary */
-      if (!table.isFocusControl())
-        table.setFocus();
-
-      /** Grant the sorted Column its preferred Width */
-      int sortColumnIndex = table.indexOf(tc);
-      if (columnWidth[sortColumnIndex] < tc.getWidth())
-        columnWidth[sortColumnIndex] = tc.getWidth();
-    }
-
-    /** Do not show the Indicator in the first, narrow Column */
-    else if (table.getSortColumn() != null) {
-      table.setSortDirection(SWT.NONE);
-      table.setSortColumn(null);
-    }
-
     /** Remove All tableitems */
     table.removeAll();
 
--- src/java/net/sourceforge/rssowl/controller/panel/NewsfeedPanel.java~	2006-01-04 06:01:14.000000000 -0800
+++ src/java/net/sourceforge/rssowl/controller/panel/NewsfeedPanel.java	2005-07-15 16:44:50.000000000 -0700
@@ -54,7 +54,6 @@
 import org.eclipse.swt.widgets.ToolBar;
 import org.eclipse.swt.widgets.ToolItem;
 
-import java.util.ArrayList;
 import java.util.Hashtable;
 import java.util.Vector;
 
@@ -63,7 +62,7 @@
  * Table. A selection on a newstitle will open it inside the Newstext panel.
  * 
  * @author <a href="mailto:bpasero at rssowl.org">Benjamin Pasero </a>
- * @version 1.2
+ * @version 1.1.3
  */
 public class NewsfeedPanel {
   private int[] columnWidths;
@@ -150,15 +149,15 @@
       MenuItem generateRTF = new MenuItem(labelMenu, SWT.NONE);
       generateRTF.setText(GUI.i18n.getTranslation("MENU_GENERATE_RTF_SELECTION") + "...");
       generateRTF.setEnabled(false);
-    }
 
-    /** Not enabled */
-    MenuItem generateHTML = new MenuItem(labelMenu, SWT.NONE);
-    generateHTML.setText(GUI.i18n.getTranslation("MENU_GENERATE_HTML_SELECTION") + "...");
-    generateHTML.setEnabled(false);
+      /** Not enabled */
+      MenuItem generateHTML = new MenuItem(labelMenu, SWT.NONE);
+      generateHTML.setText(GUI.i18n.getTranslation("MENU_GENERATE_HTML_SELECTION") + "...");
+      generateHTML.setEnabled(false);
 
-    /** Separator */
-    new MenuItem(labelMenu, SWT.SEPARATOR);
+      /** Separator */
+      new MenuItem(labelMenu, SWT.SEPARATOR);
+    }
 
     /** Not enabled */
     MenuItem markUnreadItem = new MenuItem(labelMenu, SWT.NONE);
@@ -262,15 +261,9 @@
 
     /** Container for the left header */
     Composite infoViewFormHeaderLeft = new Composite(infoViewForm, SWT.NONE);
-    infoViewFormHeaderLeft.setLayout(LayoutShop.createGridLayout(2, 5, 0, 5, 6, false));
+    infoViewFormHeaderLeft.setLayout(LayoutShop.createGridLayout(1, 5, 0));
     infoViewFormHeaderLeft.setBackground(GUI.display.getSystemColor(SWT.COLOR_WHITE));
 
-    /** Info Icon */
-    Label infoIcon = new Label(infoViewFormHeaderLeft, SWT.NONE);
-    infoIcon.setImage(PaintShop.iconInfo);
-    infoIcon.setBackground(GUI.display.getSystemColor(SWT.COLOR_WHITE));
-    infoIcon.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, true));
-
     /** Info Label */
     Label infoLabel = new Label(infoViewFormHeaderLeft, SWT.WRAP);
     infoLabel.setFont(FontShop.textFont);
@@ -361,9 +354,17 @@
       /** Create the Table Columns */
       NewsTable.fillTableColumns(newsTable, newsItems, newsItemOrder, newsItemInfos, performSearch);
 
+      /** Fill table with news - Use the existing column widhts */
+      if (columnWidths != null && columnWidths.length == newsItemInfos.size())
+        NewsTable.fillTable(newsTable, newsItems, newsItemOrder, newsItemInfos, performSearch, columnWidths);
+
+      /** Fill table with news - Pack the table columns */
+      else
+        NewsTable.fillTable(newsTable, newsItems, newsItemOrder, newsItemInfos, performSearch);
+
       /** Auto-Sort table if the settings tell so */
       if (GlobalSettings.autoSortNews) {
-        ArrayList sortOrder = GlobalSettings.sortOrder;
+        java.util.ArrayList sortOrder = GlobalSettings.sortOrder;
         TableData tableData = (TableData) newsTable.getData();
 
         /** Go through sortOrder from beginning to end */
@@ -372,35 +373,12 @@
 
           /** Sort Column if sortOrderItem is available */
           if (tableData.hasColumnSorter(sortOrderItem)) {
-
-            /** Sort based on the given TableColumn */
-            boolean ascending = tableData.getColumnSorter(sortOrderItem).sort(sortOrderItem);
-
-            /** Show a Sort Indicator inside the selected TableColumn */
-            if (!"TABLE_HEADER_STATUS".equals(sortOrderItem)) {
-              newsTable.setSortColumn(tableData.getColumn(sortOrderItem));
-              newsTable.setSortDirection(ascending ? SWT.DOWN : SWT.UP);
-            }
-
-            /** Do not show the Indicator in the first, narrow Column */
-            else if (newsTable.getSortColumn() != null) {
-              newsTable.setSortDirection(SWT.NONE);
-              newsTable.setSortColumn(null);
-            }
-
+            tableData.getColumnSorter(sortOrderItem).widgetSelected(tableData.getColumn(sortOrderItem));
             break;
           }
         }
       }
 
-      /** Fill table with news - Use the existing column widhts */
-      if (columnWidths != null && columnWidths.length == newsItemInfos.size())
-        NewsTable.fillTable(newsTable, newsItems, newsItemOrder, newsItemInfos, performSearch, columnWidths);
-
-      /** Fill table with news - Pack the table columns */
-      else
-        NewsTable.fillTable(newsTable, newsItems, newsItemOrder, newsItemInfos, performSearch);
-
       /** Restore last selected news if available */
       if (selectedNews != null) {
         for (int a = 0; a < newsTable.getItemCount(); a++)
@@ -411,7 +389,7 @@
       }
     }
 
-    /** No news are there to display */
+    /** No news are there to GUI.display */
     else {
 
       /** Save some data in TabItem */
--- src/java/net/sourceforge/rssowl/controller/NewsTable.java~	2005-11-06 08:06:57.000000000 -0800
+++ src/java/net/sourceforge/rssowl/controller/NewsTable.java	2006-01-04 06:08:15.000000000 -0800
@@ -266,7 +266,7 @@
         /** Status Column is not resizable and has a ToolTip */
         if (isStatus) {
           column.setResizable(false);
-          column.setToolTipText(GUI.i18n.getTranslation(columnOrder[a]));
+          // column.setToolTipText(GUI.i18n.getTranslation(columnOrder[a]));
         }
 
         /** Apply sorting selection adapter */

rssowl-use-jce.patch:

--- NEW FILE rssowl-use-jce.patch ---
--- src/java/net/sourceforge/rssowl/util/CryptoManager.java.sav	2006-01-04 05:29:01.000000000 -0800
+++ src/java/net/sourceforge/rssowl/util/CryptoManager.java	2006-01-04 05:31:00.000000000 -0800
@@ -24,7 +24,9 @@
 
 package net.sourceforge.rssowl.util;
 
-import net.sourceforge.blowfishj.BlowfishEasy;
+import javax.crypto.*;
+import javax.crypto.spec.*;
+
 import net.sourceforge.rssowl.controller.GUI;
 import net.sourceforge.rssowl.util.shop.StringShop;
 
@@ -41,7 +43,7 @@
  * 
  * @author <a href="mailto:bpasero at rssowl.org">Benjamin Pasero </a>
  * @version 1.2
- */
+*/
 public class CryptoManager {
 
   /** Unique key for the proxy domain (NTLM only) */
@@ -56,15 +58,28 @@
   /** An instance of the CryptoManager */
   private static CryptoManager instance;
 
-  private BlowfishEasy blowFish;
+  private Cipher bfe;
+  private Cipher bfd;
+
   private Hashtable crypta;
 
   /**
    * Called from the static factory Method
    */
   private CryptoManager() {
-    blowFish = new BlowfishEasy(new char[] { 114, 115, 115, 111, 119, 108, 50, 48, 48, 52, 126 });
-    loadData();
+    try
+      {
+	  bfe = Cipher.getInstance("Blowfish/ECB/PKCS7");
+	  bfd = Cipher.getInstance("Blowfish/ECB/PKCS7");
+	  SecretKeySpec skeyspec = new SecretKeySpec (new byte[] { 114, 115, 115, 111, 119, 108, 50, 48, 48, 52, 126 },
+						      "Blowfish");
+	  bfe.init(Cipher.ENCRYPT_MODE, skeyspec);
+	  bfd.init(Cipher.DECRYPT_MODE, skeyspec);
+	  loadData();
+      }
+    catch (Exception _)
+      {
+      }
   }
 
   /**
@@ -176,9 +191,12 @@
    */
   private void decryptData() {
     Enumeration keys = crypta.keys();
-    while (keys.hasMoreElements()) {
-      String key = (String) keys.nextElement();
-      crypta.put(key, blowFish.decryptString((String) crypta.get(key)));
+    try {
+	while (keys.hasMoreElements()) {
+	    String key = (String) keys.nextElement();
+	    crypta.put(key, new String (bfd.doFinal((byte[]) crypta.get(key))));
+	}
+    } catch (Exception _) {
     }
   }
 
@@ -187,9 +205,12 @@
    */
   private void encryptData() {
     Enumeration keys = crypta.keys();
-    while (keys.hasMoreElements()) {
-      String key = (String) keys.nextElement();
-      crypta.put(key, blowFish.encryptString((String) crypta.get(key)));
+    try {
+	while (keys.hasMoreElements()) {
+	    String key = (String) keys.nextElement();
+	    crypta.put(key, bfe.doFinal(((String) crypta.get(key)).getBytes()));
+	}
+    } catch (Exception _) {
     }
   }
 


--- NEW FILE rssowl.desktop ---
[Desktop Entry]
Encoding=UTF-8
BinaryPattern=rssowl;
Name=RSSOwl
Comment=RSSOwl - Free RSS / RDF / Atom Newsreader
MimeType=
Exec=rssowl
GenericName=RSS & RDF Newsreader
Icon=rssowl
TerminalOptions=
Path=
Type=Application
Terminal=0
X-KDE-StartupNotify=true
X-DCOP-ServiceType=Multi
Categories=Network;X-SuSE-RSS-News



--- NEW FILE rssowl.script ---
#!/bin/sh
#
# startscript for rssowl
#

# This makes the embedded browser work.
if [ -z "$MOZILLA_FIVE_HOME" ]; then
  XPCOM=$(ls -t /usr/lib/mozilla-*/libxpcom.so|head -n1)
  export MOZILLA_FIVE_HOME=$(dirname $XPCOM)
fi
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MOZILLA_FIVE_HOME

exec java -Djava.library.path=/usr/lib/ -cp /usr/share/java/rssowl.jar:/usr/share/java/xerces-j2.jar:/usr/share/java/itext.jar:/usr/share/eclipse/plugins/org.eclipse.core.runtime_3.1.1.jar:/usr/share/eclipse/plugins/org.eclipse.ui.forms_3.1.0.jar:/usr/share/java/swt-gtk-3.1.1.jar:/usr/share/java/commons-logging.jar:/usr/share/eclipse/plugins/org.eclipse.jface_3.1.1.jar:/usr/share/java/jdom.jar:/usr/share/java/commons-httpclient.jar:/usr/share/java/commons-codec.jar:/usr/share/java/glib0.2.jar:/usr/share/java/gconf2.12.jar:/usr/share/java/gtk2.8.jar:/usr/share/java/ net.sourceforge.rssowl.controller.RSSOwlLoader "$@"


--- NEW FILE rssowl.spec ---
%define name    rssowl
%define version 1.2
%define release 7%{?dist}
%define jdk     java

Name:           %name
Summary:        An RSS, RDF and Atom Newsreader
Version:        %version
Release:        %release
License:        CPL
Group:          Applications/Internet
URL:            http://www.rssowl.org
Source0:        rssowl_1_2_src_clean.tar.gz
Source1:        %{name}.script
Source2:        %{name}.desktop
Patch0:         %{name}-use-jce.patch
Patch1:         %{name}-build0.patch
Patch2:         %{name}-swt31.patch
Patch3:         %{name}-build1.patch
Patch4:         %{name}-JessieX509.patch
Patch5:         %{name}-browser.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

Requires:       jre >= 1.4.2-
BuildRequires:  java-sdk >= 1.4.2
BuildRequires:  ImageMagick
BuildRequires:  ant, itext, jdom, jakarta-commons-codec, jakarta-commons-httpclient, eclipse-platform
BuildRequires:  libgconf-java
BuildRequires:  ant, jpackage-utils >= 1.5
BuildRequires:	dos2unix
BuildRequires:    java-gcj-compat-devel >= 1.0.31
Requires(post):   java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
Requires: 	itext, jdom, jakarta-commons-codec, jakarta-commons-httpclient, eclipse-platform
Requires:  	libgconf-java

%description
RSSOwl is a RSS / RDF / Atom Newsreader written in Java using SWT as
fast graphic library. Read News in a tabfolder, save favorites in
categories, Export to PDF / RTF / HTML / OPML, Import Feeds from OPML,
perform fulltext-search, use the integrated browser. Please contact
bpasero at rssowl.org if you have any questions or problems regarding
this version.

%description -l de
RSSOwl ist ein RSS / RDF / Atom Newsreader in Java mit SWT als
GUI-Bibliothek. Einige der Features sind Export von Nachrichten nach
PDF / RTF / HTML, Import / Export mit OPML, Volltextsuche und der
integrierte Browser. Bei Fragen oder Problemen mit dieser Version
bitte an bpasero at rssowl.org schreiben.

%prep
%setup -q -n %{name}_1_2_src_clean
%patch0 -p0
%patch1 -p0
%patch2 -p0
%patch3 -p0
%patch4 -p0
%patch5 -p0
# This package doesn't contain any MPL licensed code.
rm doc/mpl-v11.txt

%build
build-jar-repository lib swt-gtk-3.1.1 jdom itext jakarta-commons-codec jakarta-commons-httpclient glib0.2 gconf2.12 gtk2.8
ln -s /usr/share/eclipse/plugins/org.eclipse.jface_3.1.1.jar lib
ln -s /usr/share/eclipse/plugins/org.eclipse.ui.forms_3.1.0.jar lib
cd src
ant deploy_linux

%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_javadir}
install -m 644 rssowl.jar $RPM_BUILD_ROOT%{_javadir}/rssowl.jar

# FIXME:  do these really need to be converted?  Couldn't they be shipped as PNGs?
convert img/16x16.gif img/16x16.png
convert img/24x24.gif img/24x24.png
convert img/32x32.gif img/32x32.png
# FIXME:  this is ugly :)
mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/24x24/apps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
install -m 644 img/32x32.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/rssowl.png
install -m 644 img/16x16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/rssowl.png
install -m 644 img/24x24.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/24x24/apps/rssowl.png
install -m 644 img/32x32.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/rssowl.png

mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
cp %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/applications

mkdir -p $RPM_BUILD_ROOT/%{_bindir}
cp %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}
sed --in-place "s:/usr/lib:%{_libdir}:" \
  $RPM_BUILD_ROOT%{_bindir}/%{name}
sed --in-place "s:/usr/share:%{_datadir}:" \
  $RPM_BUILD_ROOT%{_bindir}/%{name}
chmod 755 $RPM_BUILD_ROOT/%{_bindir}/%{name}

dos2unix doc/tutorial/en/*.html
dos2unix doc/tutorial/en/styles/*
dos2unix doc/*.{xml,html,txt,template}

aot-compile-rpm

%post -p %{_bindir}/rebuild-gcj-db

%postun -p %{_bindir}/rebuild-gcj-db

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-, root, root)
%doc doc/*
%{_javadir}/*
%{_datadir}/applications/*
%{_datadir}/pixmaps/*
%{_datadir}/icons/*
%{_bindir}/%{name}
%{_libdir}/gcj/%{name}

%changelog
* Mon Jan 16 2006 Anthony Green <green at redhat.com> 1.2-7
- Word-wrapped descriptions.
- Set Group to Applications/Internet.
- Cleaned up changelog changelog entries.
- Improved Summary.
- Converted text files to "unix" with dos2unix.
- Fixed documentation and jar file locations.
- Update rssowl accordingly.

* Mon Jan 16 2006 Anthony Green <green at redhat.com> 1.2-6
- Add Requires for libgconf-java (thanks Andrew Overholt!)

* Fri Jan 13 2006 Anthony Green <green at redhat.com> 1.2-5
- Remove debugging patches.
- Use java-gnome API to find preferred browser.

* Thu Jan  5 2006 Anthony Green <green at redhat.com> 1.2-4
- Remove MPL license text (this was for itext.jar, which is packaged
  separately now.

* Wed Jan  4 2006 Anthony Green <green at redhat.com> 1.2-2
- Use JessieX509 instead of SunX509.

* Wed Jan  4 2006 Anthony Green <green at redhat.com> 1.2-1
- Upgrade to RSSOwl 1.2.
- Many new related patches.
- Remove utf8 patch.
- Use clean sources (no precompiled .class files in jars)
- Build as native code.
- Merge overholt's spec file with Kay's.

* Wed Nov 09 2005 Kay Patzwald <kay_patzwald at users.sourceforge.net>
- change buildrequires to java-sdk >= 1.4.2 and change the startscript to rssowl.sh

* Wed Jul 27 2005 Andrew Overholt <overholt at redhat.com> 1.1.3-0.2
- Include rssowl.script and rssowl.desktop as separate files.
- Use Robin Green's work in /usr/bin/eclipse to make internal browser work.
- Add native compilation (but leave unused until we get all dependencies sorted
  out).

* Mon Jul 25 2005 Andrew Overholt <overholt at redhat.com> 1.1.3-0.1
- New upstream version.
- Update build patch and use new deploy task.

* Wed Jul 06 2005 Andrew Overholt <overholt at redhat.com> 1.1.2-0.2
- First go at some cleanups.
- Patch around a libgcj issue with "utf8" vs. "utf-8".

* Sun Jun 12 2005 Kay Patzwald <kay_patzwald at users.sourceforge.net>
- change the menu-category from usenet-news to rss-news
* Wed May 25 2005 Kay Patzwald <kay_patzwald at users.sourceforge.net>
- Little modifications at the startscript, rssowl accepts shell-arguments
* Sun Mar 22 2005 Kay Patzwald <kay_patzwald at users.sourceforge.net>
- Add "AutoReqProv: no" and change jdk-requirements
* Sun Mar 20 2005 Kay Patzwald <kay_patzwald at users.sourceforge.net>
- new jdk-requirements
* Wed Mar 07 2005 Kay Patzwald <kay_patzwald at users.sourceforge.net>
- change the menu-category of rssowl from network to news
* Wed Aug 18 2004 Kay Patzwald <admiral_kay at users.sourceforge.net>
- swt*.jars are not required in the bin-rpm
* Wed Aug 18 2004 Kay Patzwald <admiral_kay at users.sourceforge.net>
- libs will copied to the rssowl-dir now
* Tue Aug 10 2004 Kay Patzwald <admiral_kay at users.sourceforge.net>
- some little changes
* Sat Aug 07 2004 Manfred Tremmel <Manfred.Tremmel at iiv.de>
- some rework
* Tue Aug 03 2004 Kay Patzwald <admiral_kay at users.sourceforge.net>
- first release


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/rssowl/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	17 Jan 2006 14:14:09 -0000	1.1
+++ .cvsignore	17 Jan 2006 14:16:01 -0000	1.2
@@ -0,0 +1 @@
+rssowl_1_2_src_clean.tar.gz


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/rssowl/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	17 Jan 2006 14:14:09 -0000	1.1
+++ sources	17 Jan 2006 14:16:01 -0000	1.2
@@ -0,0 +1 @@
+d440e36983de3dba0239b4f1020f0837  rssowl_1_2_src_clean.tar.gz




More information about the scm-commits mailing list