diff --git a/gparted-console.apps b/gparted-console.apps
new file mode 100644
index 0000000..7474fb3
--- /dev/null
+++ b/gparted-console.apps
@@ -0,0 +1,3 @@
+USER=root
+PROGRAM=%{_bindir}/run_gparted
+SESSION=true
diff --git a/gparted-dont-lock-hal.patch b/gparted-dont-lock-hal.patch
new file mode 100644
index 0000000..3bddc66
--- /dev/null
+++ b/gparted-dont-lock-hal.patch
@@ -0,0 +1,33 @@
+--- src/GParted_Core.cc 2006-12-05 14:39:31.000000000 -0500
++++ src/GParted_Core.cc.new 2007-04-02 21:59:01.000000000 -0400
+@@ -54,21 +54,6 @@
+
+ ped_exception_set_handler( ped_exception_handler ) ;
+
+- //disable automount //FIXME: temporary hack, till i find a better solution...
+- std::ofstream fdi_file( "/usr/share/hal/fdi/policy/gparted-disable-automount.fdi" ) ;
+- if ( fdi_file )
+- {
+- fdi_file << "" ;
+- fdi_file << "" ;
+- fdi_file << "" ;
+- fdi_file << "true" ;
+- fdi_file << "" ;
+- fdi_file << "" ;
+- fdi_file << "" ;
+-
+- fdi_file .close() ;
+- }
+-
+ //get valid flags ...
+ for ( PedPartitionFlag flag = ped_partition_flag_next( static_cast( NULL ) ) ;
+ flag ;
+@@ -2287,8 +2272,6 @@
+ if ( p_filesystem )
+ delete p_filesystem ;
+
+- //remove .fdi file..
+- remove( "/usr/share/hal/fdi/policy/gparted-disable-automount.fdi" ) ;
+ }
+
+ } //GParted
diff --git a/gparted-pam.d b/gparted-pam.d
new file mode 100644
index 0000000..f8a817b
--- /dev/null
+++ b/gparted-pam.d
@@ -0,0 +1,8 @@
+#%PAM-1.0
+auth sufficient pam_rootok.so
+auth sufficient pam_timestamp.so
+auth include system-auth
+session required pam_permit.so
+session optional pam_xauth.so
+session optional pam_timestamp.so
+account required pam_permit.so
diff --git a/gparted.spec b/gparted.spec
index 0641b92..44bae95 100644
--- a/gparted.spec
+++ b/gparted.spec
@@ -1,11 +1,15 @@
Summary: Gnome Partition Editor
Name: gparted
Version: 0.3.3
-Release: 6%{?dist}
+Release: 7%{?dist}
Group: Applications/System
License: GPL
URL: http://gparted.sourceforge.net
Source0: http://dl.sf.net/sourceforge/%{name}/%{name}-%{version}.tar.bz2
+Source1: run-gparted
+Source2: gparted-console.apps
+Source3: gparted-pam.d
+Patch0: gparted-dont-lock-hal.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gtkmm24-devel parted-devel
BuildRequires: e2fsprogs-devel gettext perl(XML::Parser)
@@ -20,6 +24,7 @@ will be detected at runtime and don't require a rebuild of GParted
%prep
%setup -q
+%patch -p0 -b .hal
%build
%configure
@@ -36,29 +41,20 @@ desktop-file-install --delete-original \
--add-category X-Fedora \
%{buildroot}%{_datadir}/applications/%{name}.desktop
+# Create a helper script to launch gparted using hal-lock
+cp %{SOURCE1} %{buildroot}%{_bindir}/
+chmod 755 %{buildroot}%{_bindir}/run-gparted
+
#### consolehelper stuff
mkdir -p %{buildroot}%{_sbindir}
mv %{buildroot}%{_bindir}/gparted %{buildroot}%{_sbindir}/
ln -s consolehelper %{buildroot}%{_bindir}/gparted
mkdir -p %{buildroot}%{_sysconfdir}/security/console.apps
-cat << EOF > %{buildroot}%{_sysconfdir}/security/console.apps/gparted
-USER=root
-PROGRAM=%{_sbindir}/gparted
-SESSION=true
-EOF
+cp %{SOURCE2} %{buildroot}%{_sysconfdir}/security/console.apps/gparted
mkdir -p %{buildroot}%{_sysconfdir}/pam.d
-cat << EOF > %{buildroot}%{_sysconfdir}/pam.d/gparted
-#%PAM-1.0
-auth sufficient pam_rootok.so
-auth sufficient pam_timestamp.so
-auth include system-auth
-session required pam_permit.so
-session optional pam_xauth.so
-session optional pam_timestamp.so
-account required pam_permit.so
-EOF
+cp %{SOURCE3} %{buildroot}%{_sysconfdir}/pam.d/gparted
%find_lang %{name}
@@ -69,6 +65,7 @@ rm -rf %{buildroot}
%defattr(-,root,root,-)
%doc AUTHORS COPYING ChangeLog README
%{_bindir}/gparted
+%{_bindir}/run-gparted
%{_sbindir}/gparted
%{_datadir}/applications/fedora-gparted.desktop
%{_datadir}/pixmaps/gparted.png
@@ -76,6 +73,10 @@ rm -rf %{buildroot}
%config(noreplace) %{_sysconfdir}/security/console.apps/gparted
%changelog
+* Mon Apr 03 2007 Deji Akingunola - 0.3.3-7
+- Patch gparted to not create a hal fdi file but use hal-lock instead, this will hopefully fix BZ #215657
+- Clean up the spec file
+
* Wed Mar 21 2007 Deji Akingunola - 0.3.3-6
- Rebuild for GNU parted-1.8.6
diff --git a/run-gparted b/run-gparted
new file mode 100644
index 0000000..4d49200
--- /dev/null
+++ b/run-gparted
@@ -0,0 +1,2 @@
+#!/bin/bash
+%{_bindir}/hal-lock --interface org.freedesktop.Hal.Device.Storage --exclusive --run %{_sbindir}/gparted