diff --git a/.cvsignore b/.cvsignore index e69de29..13522c7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +davfs2-1.3.3.tar.gz diff --git a/davfs2-1.3.3-open-creat-3-args.patch b/davfs2-1.3.3-open-creat-3-args.patch new file mode 100644 index 0000000..4f67af1 --- /dev/null +++ b/davfs2-1.3.3-open-creat-3-args.patch @@ -0,0 +1,12 @@ +diff -up davfs2-1.3.3/src/webdav.c.open-creat-3-args davfs2-1.3.3/src/webdav.c +--- davfs2-1.3.3/src/webdav.c.open-creat-3-args 2009-03-02 22:03:26.000000000 -0500 ++++ davfs2-1.3.3/src/webdav.c 2009-03-02 22:09:19.000000000 -0500 +@@ -1513,7 +1513,7 @@ static int block_writer(void *userdata, + + get_context *ctx = (get_context *) userdata; + if (ctx->fd == 0) +- ctx->fd = open(ctx->file, O_WRONLY | O_CREAT | O_TRUNC); ++ ctx->fd = open(ctx->file, O_WRONLY | O_CREAT | O_TRUNC, 0644); + if (ctx->fd <= 0) { + ne_set_error(session, _("%i can't open cache file"), 0); + ctx->error = EIO; diff --git a/davfs2.spec b/davfs2.spec new file mode 100644 index 0000000..2cc9825 --- /dev/null +++ b/davfs2.spec @@ -0,0 +1,102 @@ +Name: davfs2 +Version: 1.3.3 +Release: 2%{?dist} +Summary: A filesystem driver for WebDAV +Group: System Environment/Base +License: GPLv2+ +URL: http://dav.sourceforge.net +Source0: http://downloads.sourceforge.net/dav/davfs2-1.3.3.tar.gz +Patch1: davfs2-1.3.3-open-creat-3-args.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: neon-devel gettext +Requires(pre): shadow-utils + +%define cachedir /var/cache/davfs2 +%define piddir /var/run/mount.davfs +%define username davfs2 +%define groupname %{username} + +%description +davfs2 is a Linux file system driver that allows you to mount a WebDAV server +as a disk drive. + +%prep +%setup -q +%patch1 -p1 -b .open-creat-3-args + +%build +%configure +make %{?_smp_mflags} + + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +%find_lang %{name} +# Create directories used by mount.davfs +install -d $RPM_BUILD_ROOT%{cachedir} $RPM_BUILD_ROOT%{piddir} +# Fix symlinks +ln -sf ../usr/sbin/mount.davfs $RPM_BUILD_ROOT/sbin/mount.davfs +ln -sf ../usr/sbin/umount.davfs $RPM_BUILD_ROOT/sbin/umount.davfs +# Don't need this - we'll do our own doc install, thanks +rm -rf $RPM_BUILD_ROOT/usr/share/doc/davfs2 +# Remove duplicate files. (Why is it installing these in the first place?) +rm -rf $RPM_BUILD_ROOT/usr/share/davfs2 # same files in /etc/davfs2 +# Remove suid bit, to work around a problem with brp-strip on suid binaries +chmod 0755 $RPM_BUILD_ROOT/%{_sbindir}/mount.davfs +# UTF8ify translated man pages +find $RPM_BUILD_ROOT/%{_mandir}/{de,es} -name "*.[58].gz" | while read m; do + gzip -dc $m | iconv -f "ISO8859-15" -t "UTF-8" - -o - | gzip -c9 > $m.utf8 + mv -f $m.utf8 $m +done + + +%clean +rm -rf $RPM_BUILD_ROOT + +%pre +getent group %{groupname} >/dev/null || groupadd -r %{groupname} +getent passwd %{username} >/dev/null || \ + useradd -r -g %{groupname} -d %{cachedir} -s /sbin/nologin \ + -c "User account for %{name}" %{username} +exit 0 + + +%files -f %{name}.lang +%defattr(-,root,root,-) +# Docs +%doc AUTHORS BUGS COPYING ChangeLog FAQ INSTALL.davfs2 NEWS README README.translators THANKS TODO +%{_mandir}/man5/*.gz +%{_mandir}/man8/*.gz +# localized man pages +%{_mandir}/*/man5/*.gz +%{_mandir}/*/man8/*.gz + +# Configfiles etc. +%config(noreplace) %{_sysconfdir}/davfs2/davfs2.conf +%config(noreplace) %{_sysconfdir}/davfs2/secrets +%dir %{_sysconfdir}/davfs2/certs/private/ +%dir %{_sysconfdir}/davfs2/certs/ +%dir %{_sysconfdir}/davfs2/ + +# Binaries +%{_sbindir}/umount.davfs +# re-apply suid bit to mount.davfs +%attr (4755,root,root) %{_sbindir}/mount.davfs +# symlinks to files in %{_sbindir} +/sbin/mount.davfs +/sbin/umount.davfs + +# Extra dirs needed by mount.davfs +%dir %attr(00775,root,%{groupname}) %{cachedir} +%dir %attr(01775,root,%{groupname}) %{piddir} + +%changelog +* Wed Mar 11 2009 Will Woods - 1.3.3-2 +- Passed package review (#488858) +- Ensure that package owns /etc/davfs2 and /etc/davfs2/certs + +* Mon Mar 02 2009 Will Woods - 1.3.3-1 +- Initial packaging +- Fix open() with O_CREAT and no mode diff --git a/sources b/sources index e69de29..dbaf508 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +57def26e4d6d63527e01612d10fd0515 davfs2-1.3.3.tar.gz