# # Conditional build: %bcond_without dist_kernel # without distribution kernel %bcond_without kernel # don't build kernel modules %bcond_without smp # don't build SMP module %bcond_with verbose # verbose build (V=1) %bcond_without userspace # don't build userspace tools # %ifarch sparc %undefine with_smp %endif # Summary: (Secure) SHell FileSystem utilities Summary(pl): Narzędzia obsługujące system plików przez ssh Name: shfs Version: 0.35 %define _rel 10 Release: %{_rel} License: GPL v2 Group: Applications/System Source0: http://dl.sourceforge.net/%{name}/%{name}-%{version}.tar.gz # Source0-md5: 016f49d71bc32eee2b5d11fc1600cfbe Patch0: %{name}-opt.patch Patch1: %{name}-df.patch Patch2: %{name}-space_chars.patch Patch3: %{name}-uidgid32.patch Patch4: %{name}-gcc4.patch Patch5: %{name}-inode_oops.patch URL: http://shfs.sourceforge.net/ %if %{with kernel} %{?with_dist_kernel:BuildRequires: kernel-module-build >= 2.6.7} BuildRequires: rpmbuild(macros) >= 1.153 %endif %{?with_dist_kernel:Requires: kernel-fs-shfs} Obsoletes: shfsmount BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description SHFS is a simple and easy to use Linux kernel 2.4.10+ and 2.6 module which allows you to mount remote filesystems using plain shell (ssh/rsh) connection. It supports some nice features like number of different caches for access speedup, target system optimisations, etc. This package contains utilities for SHFS. %description -l pl SHFS to prosty i łatwy w użyciu moduł jądra Linuksa 2.4.10+ i 2.6 pozwalający montować zdalne systemy plików przy użyciu zwykłego połączenia ze zdalną powłoką (ssh lub rsh). Obsługuje pewne miłe cechy, takie jak różne sposoby buforowania dla przyspieszenia dostępu, optymalizacje pod kątem zdalnego systemu itp. Ten pakiet zawiera programy narzędziowe dla SHFS. %package -n kernel-fs-shfs Summary: SHell File System Linux kernel module Summary(pl): Moduł jądra Linuksa obsługujący powłokowy system plików Release: %{_rel}@%{_kernel_ver_str} Group: Base/Kernel Requires(post,postun): /sbin/depmod %if %{with dist_kernel} %requires_releq_kernel_up Requires(postun): %releq_kernel_up %endif Obsoletes: kernel-misc-shfs %description -n kernel-fs-shfs SHell File System Linux kernel module. %description -n kernel-fs-shfs -l pl Moduł jądra Linuksa obsługujący powłokowy system plików. %package -n kernel-smp-fs-shfs Summary: SHell File System Linux SMP kernel module Summary(pl): Moduł jądra Linuksa SMP obsługujący powłokowy system plików Release: %{_rel}@%{_kernel_ver_str} Group: Base/Kernel Requires(post,postun): /sbin/depmod %if %{with dist_kernel} %requires_releq_kernel_smp Requires(postun): %releq_kernel_smp %endif Provides: kernel-fs-shfs Obsoletes: kernel-fs-shfs Obsoletes: kernel-smp-misc-shfs %description -n kernel-fs-shfs SHell File System Linux kernel module. %description -n kernel-smp-fs-shfs -l pl Moduł jądra Linuksa obsługujący powłokowy system plików. %prep %setup -q %patch0 -p1 %patch1 -p0 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %build %if %{with kernel} cd shfs/Linux-2.6 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then exit 1 fi rm -rf include install -d include/{linux,config} ln -sf %{_kernelsrcdir}/config-$cfg .config ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h %ifarch ppc if [ -d "%{_kernelsrcdir}/include/asm-powerpc" ]; then install -d include/asm cp -a %{_kernelsrcdir}/include/asm-%{_target_base_arch}/* include/asm cp -a %{_kernelsrcdir}/include/asm-powerpc/* include/asm else ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm fi %else ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm %endif ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers touch include/config/MARKER echo "obj-m := shfs.o" > Makefile echo "shfs-objs := dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o" >> Makefile %{__make} -C %{_kernelsrcdir} clean \ %{?with_verbose:V=1} \ RCS_FIND_IGNORE="-name '*.ko' -o" \ M=$PWD O=$PWD %{__make} -C %{_kernelsrcdir} modules \ %if "%{_target_base_arch}" != "%{_arch}" ARCH=%{_target_base_arch} \ CROSS_COMPILE=%{_target_base_cpu}-pld-linux- \ %endif HOSTCC="%{__cc}" \ %{?with_verbose:V=1} \ M=$PWD O=$PWD mv shfs.ko shfs-$cfg.ko done cd - %endif %if %{with userspace} %{__make} -C shfsmount \ SHFS_VERSION=\"%{version}\" \ CC="%{__cc} %{rpmcflags}" \ LINKER="%{__cc}" \ LDFLAGS="%{rpmldflags}" %{__make} docs %endif %install rm -rf $RPM_BUILD_ROOT %if %{with kernel} cd shfs/Linux-2.6 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/kernel/fs/shfs install shfs-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \ $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/fs/shfs/shfs.ko %if %{with smp} && %{with dist_kernel} install shfs-smp.ko \ $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/fs/shfs/shfs.ko %endif cd - %endif %if %{with userspace} %{__make} utils-install docs-install \ ROOT=$RPM_BUILD_ROOT \ MAN_PAGE_DIR=%{_mandir} %endif %clean rm -rf $RPM_BUILD_ROOT %post -n kernel-fs-shfs %depmod %{_kernel_ver} %postun -n kernel-fs-shfs %depmod %{_kernel_ver} %post -n kernel-smp-fs-shfs %depmod %{_kernel_ver}smp %postun -n kernel-smp-fs-shfs %depmod %{_kernel_ver}smp %if %{with userspace} %files %defattr(644,root,root,755) %doc COPYRIGHT Changelog TODO docs/html %attr(4754,root,wheel) %{_bindir}/shfsmount %attr(4754,root,wheel) %{_bindir}/shfsumount %attr(755,root,root) /sbin/* %{_mandir}/man8/* %endif %if %{with kernel} %files -n kernel-fs-shfs %defattr(644,root,root,755) /lib/modules/%{_kernel_ver}/kernel/fs/shfs %if %{with smp} && %{with dist_kernel} %files -n kernel-smp-fs-shfs %defattr(644,root,root,755) /lib/modules/%{_kernel_ver}smp/kernel/fs/shfs %endif %endif