File nautilus-ifolder3.spec of Package nautilus-ifolder3

#
# spec file for package nautilus-ifolder3 (Version 3.7.2.9141.1)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild

BuildRequires:  aspell-en gconf2 gconf2-devel gdk-pixbuf gnutls-devel gtk-sharp2-complete ifolder3 intltool libgnomeprintui-devel libwnck-devel mDNSResponder nautilus-devel perl-XML-Parser update-desktop-files
%if %suse_version > 1110
BuildRequires:  gnome-vfs2-devel
%endif

Name:           nautilus-ifolder3
%define buildnum 9141
Url:            http://www.ifolder.com
%define prefix /usr
%define gnome_root /usr
%define extension extensions-2.0
License:        GPL v2 only
Group:          System/GUI/Other
AutoReqProv:    on
Version:        3.7.2.9141.1
Release:        2.<RELEASE2>
Requires:       nautilus >= 2.10.0
Requires:       simias >= 1.8.2
Requires:       ifolder3 >= 3.7.2 
#Obsoletes:    %{name} < %{version}
Provides:       nautilus-ifolder
Obsoletes:      nautilus-ifolder
Summary:        Nautilus Plug-In to Add iFolder Support
Source:         nautilus-ifolder3.tar.gz
Patch:          nautilus-ifolder3-lib64.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
#=============================================================================

%description
Provides the iFolder plug-in interface to the Nautilus File Manager.



%prep
export BUILDNUM=%{buildnum}
%setup -n %{name}
%patch
#=============================================================================

%build
export BUILDNUM=%{buildnum}
export CFLAGS="$RPM_OPT_FLAGS"
./autogen.sh --prefix=%{prefix} --libdir=%{prefix}/%_lib --with-newnautilus
make
#make dist
#=============================================================================

%install
export BUILDNUM=%{buildnum}
%{__rm} -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
%find_lang %{name}
#=============================================================================

%clean
%{__rm} -rf $RPM_BUILD_ROOT
#=============================================================================

%post
/usr/bin/gtk-update-icon-cache /usr/share/icons/gnome/
echo "Restart the system before you start using iFolder"
#=============================================================================

%files -f %{name}.lang
%defattr(-,root,root)
%dir %{gnome_root}/share/nautilus-ifolder3
%dir %{gnome_root}/share/nautilus-ifolder3/pixmaps
%dir %{gnome_root}/share/icons/gnome/48x48
%dir %{gnome_root}/share/icons/gnome/48x48/emblems
%dir %{gnome_root}/%_lib/nautilus/%{extension}
%{gnome_root}/%_lib/nautilus/%{extension}/libnautilus-ifolder*
%{prefix}/%_lib/nautilus-ifolder
%{prefix}/%_lib/nautilus-ifolder.exe
%attr(644,root,root) %{gnome_root}/share/icons/gnome/48x48/emblems/emblem-ifolder.icon
%attr(644,root,root) %{gnome_root}/share/icons/gnome/48x48/emblems/emblem-ifolder.png
%attr(644,root,root) %{gnome_root}/share/nautilus-ifolder3/pixmaps/ifolder-folder.png

%changelog
* Tue Jun 02 2009 sbipin@novell.com
- #507245 : Updated with GPL v2 license text file
* Mon May 25 2009 ro@suse.de
- pass libdir to autogen/configure
- fix lib64 hack in configure
* Thu May 21 2009 sbipin@novell.com
- Added gnome-vfs2-devel in BuildRequires.
* Wed May 20 2009 sbipin@novell.com
- Allow the package name to be overridden through env variable
- Use the current working directory as the source directory
- Handle situation where a package is checked out with a different name
- Updated spec file for Build Service
- Updated spec to work with autobuild
- changes made to nautilus to work with 2.0 extensions
- space in file names were not handled.
- Revert iFolder now calls the GUI that is used in the iFolder main gui.
- iFolder 3.7.2 nautilus shell extension
- Added code to allow us to automatically generate nautilus-ifolder/ChangeLog
  and nautilus-ifolder/po/ChangeLog by typing "make ChangeLog".
- Added cvs2cl which is a tool to convert cvs commit messages to GNU-style
  ChangeLogs. "make ChangeLog" should be run manually as we make a release
  to update the ChangeLog file(s).
- Updated the po/*.po files to contain the strings which need translating.
- Changed autogen.sh to use gnome-autogen.sh which automatically sets up
  things to do localization. Also modified Makefile.am and configure.in
  to start building the po/ directory for localized strings. It's not all
  the way finished yet, but closer.
- Changed the version stuff around to be more like iFolder.
- Changed @libdir@ to @prefix@/lib to see if it will fix the problem James
  is having building the RPM.
- Added code which makes sure that nautilus-ifolder.h is not added to the
  dist tar.gz.  nautilus-ifolder.h is generated from nautilus-ifolder.h.in.
- Added $prefix/llib/pkgconfig to PKG_CONFIG_PATH
- Added a call to sec_set_filter () so that we only get SimiasNodeEvents
  on Collections (iFolders).
- We don't need to check the client state befre calling sec_deregister.
  That check is done internally. And the call to check the client state
  is being removed from the API.
- Added the ability to disable debug messages (disabled by default).
- Added a call to gnome_vfs_get_uri_from_local_path () inside
  slist_invalidate_local_path () which adds an emblem to an iFolder if
  nautilus is already running at the time iFolder is started. This fix
  is needed to make directories with spaces or other special characters
  work properly.
- Fixed a problem inside get_all_ifolder_paths () which was causing nautilus
  to segv. The code now only returns paths for ifolders which have an
  unmanaged path (they are setup on the local box...which are the ones
  nautilus is interested in).
- Added code that uses a couple functions from <libgnomevfs/gnome-vfs-utils.h>
  so that folders with spaces or other characters which normally get escaped
  in a URI will be unescaped before making calls to iFolder (via gSOAP).
- Fixed the problem of get_all_ifolder_paths () returning a list of Simias IDs
  and not a list of unmanaged paths.
- Fixed a problem in ht_invalidate_ifolder () where file_uri was never being
  initialized and was causing nautilus to blow chunks.  Also fixed references
  to the file_uri that is stored in seen_nautilus_ht (GHashTable) to be a
  gchar * instead of a char *.
- Removed the hashtable that stores ALL folders that are seen and replaced
  it with a call to get all iFolders on a CONNECTED event and to iterate
  through the seen_ifolders_ht on DISCONNECTED.  This isn't fully tested
  because simias & iFolder are in a weird bad state (build issues).
- Updated to the version of the WSDL as of 12/3/2004.
- Added code to invalidate all existing NautilusFileInfo's on a CONNECTED
  or DISCONNECTED message.
- Changed the way that events are registered. Instead of spawning a new
  thread, we just pass a callback function to sec_init () where we're
  notified when we're connected to the Simias Event Server.
- Changed the link so that libsimias-event is statically linked. This
  will make it so that when nautilus loads the extension, there doesn't
  have to be any type of library path for libsimias-event. Also changed
  nautilus-ifolder.exe to be a dependency of this library with a proper
  automake variable: libnautilus_ifolder_la_DEPENDENCIES
- Added seen_ifolders_ht (GHashTable) to keep track of the iFolders the
  extension sees so that when a delete event is received from the Simias
  Event Server, we can remove the iFolder emblem from the folder. I also
  removed the old named pipe stuff now that we have the event client fully
  plugged-in.
- Added an initial implementation that uses libsimias-event. NewiFolders
  that are created with the iFolder client will now be shown with a new
  emblem in any open Nautilus window showing the folder.
- Added a return value to a function called by g_idle_add () to prevent
  the case of it being called over and over.
- Removed code to keep track of NautilusFileInfo since we can just extern
  nautilus_file_get_existing () until this private API is exposed into the
  nautilus extension API. This API will likely be exposed in the public API
  in nautilus 2.10+ (I'm guessing).
- Added a call that can be called by the event service to invalidate a
  NautilusFileInfo and cause the emblem to appear/disappear. Also added
  a temporary named pipe for debug/testing purposes until the real event
  service is ready as a c library.
- Added code to keep track of the NautilusFileInfo * the code sees so that
  we'll be able to invalidate the information we provided to Nautilus when
  a user changes a folder's status from the normal iFolder client. Eventually,
  a new call will be added into Nautilus so we won't have to do this.
- Added error messages that will show up to the end user where it's appropriate.
- Removed unnecessary use of storing an attribute on a file
- Added code to prevent iFolder context menus from appearing if	the iFolder
  client is not running.
- Changed the context menus and icons based on Trent's feedback
- Added the EEL dependency back in so that we can popup dialog boxes.
- Added a function to tell whether iFolder is running or not.Also added code
  to use EEL to popup a confirmation dialog box when reverting an iFolder.
  Also added code to be able to popup error messages to the user and cause
  the dialog to be modal on the nautilus window. All the error messages are
  not integrated, but the capability is there and works.
- Added a line so Automake will generate the correct nautilus-ifolder.spec file
- Changed the confirmation dialog to use the localized strings instead of
  hardcoding them.
- Added code to allow the extension to bring up the help file.
- Added variables so that we install the nautilus-ifolder.exe and the script
  file to the $prefix/lib and the other stuff into /opt/gnome where nautilus
  will pick it up.
- Fixed up the install paths so that the RPM builds correctly.
- Fixed the ability to call "make package" from the root of the project.
- Changed nautilus-ifolder.spec to be generated by nautilus-ifolder.spec.in
  so that the package and version strings can be configured as an autoconf
  variable in ../configure.in.
- Updated the file so that it will package the correct files.
- Modified the file so that the nautilus-ifolder RPM can be built.
- Added two functions: "init_gsoap()" and "cleanup_gsoap()" and	made it so
  that every function that makes calls to gsoap creates their own gsoap
  structure.  This prevents problems with the multi-threading that I added
  yesterday.
- Added code to handle "make dist" and hopefully packaging an RPM as well.
- Removed the "maximum" compile warnings since it prevented the build from
  running on someone else's box.  Also, added
- Added information for 'make dist' to work correctly.
- Removed EEL dependency
- Added ifolder-folder.png to be used as the icon that appears to the left
  of the menu item in the context-menu.  Files affected: ifolder-folder.png,
  Makefile.am, nautilus-ifolder.c
- Removed my machine's specific Web Service URL.
- Implemented revert_ifolder_callback.  Also renamed the
  ifolder_propdialog_thread to ifolder_dialog_thread so it could be reused
  by all functions needing to open a dialog.
- Added an implementation for confirmRevertiFolder ().
- Added Application.Init () at the beginning of the Main () function so that
  Gtk is initialized for the properties dialog to be shown.
- Added pthread_create () calls so that any calls made to the iFolder Client
  or nautilus-ifolder.exe will not block the Nautilus UI. Without doing this,
  the Nautilus UI feels sluggish when selecting the iFolder context menu items.
- Fixed up the autotools so that we do a little bit better guessing as to where
  things are installed. Also, the .NET exe file is now being built and installed.
  This will eventually allow the iFolder properties dialog to show up
- Added nautilus-ifolder.cs so that we can call iFolder .NET code to get
  configuration information (i.e., the Web Service URL) and also be able to
  display dialog boxes.
- Added a custom URL to the soap_call () functions. The URL still needs
  to be dynamically determined at module initialization.
- Added code to call the iFolder Web Service using gSOAP.
- Renamed ifolder-emblem.png -> emblem-ifolder.png
- Added can_be_ifolder () so that iFolder context menu items are not added
  to folders that the iFolder API says they cannot ever be iFolders.
- Stubbed out revert_ifolder.
- Fixed call to g_object_get_data() and NAUTILUS_FILE_INFO().
- Changed the file type to ASCII.
* Thu May 14 2009 sbipin@novell.com
- Initial submission to SLE11 and openSuSE11.1.