Skip to content

Commit

Permalink
Merge pull request #26 from NERSC/scanon/add_squashfuse
Browse files Browse the repository at this point in the history
Add squashfuse instructions
  • Loading branch information
lastephey authored Feb 3, 2023
2 parents 671ccb6 + 03a50d0 commit f1a3872
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 0 deletions.
13 changes: 13 additions & 0 deletions extra/squashfuse/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Squashfuse

Squashfuse is required for podman-hpc. Some distributions (e.g. SLES) do not currently have an RPM for this. Here are instructions for building it.

Get the source from here: https://github.com/vasi/squashfuse

Modify this example spec file. Note this was modified from a spec file from Kyle Fazzari.

## Basic Steps

1. Retrieve the a release from https://github.com/vasi/squashfuse/releases
1. Modify the spec to match the release version
1. Use `rpmbuild -ba squashfuse.spec` to build the RPM
68 changes: 68 additions & 0 deletions extra/squashfuse/squashfuse.spec.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
Name: squashfuse
Version: 0.1.105
Release: 1%{?dist}
Summary: FUSE filesystem to mount squashfs archives

License: BSD
URL: https://github.com/vasi/squashfuse
Source0: https://github.com/vasi/squashfuse/archive/%{version}.tar.gz

BuildRequires: autoconf, automake, fuse-devel, gcc, libattr-devel, libtool, libzstd-devel, liblz4-devel, xz-devel, zlib-devel
Requires: %{name}-libs%{?_isa} = %{version}-%{release}

%description
Squashfuse lets you mount SquashFS archives in user-space. It supports almost
all features of the SquashFS format, yet is still fast and memory-efficient.
SquashFS is an efficiently compressed, read-only storage format. Support for it
has been built into the Linux kernel since 2009. It is very common on Live CDs
and embedded Linux distributions.


%package devel
Summary: Development files for %{name}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}

%description devel
Libraries and header files for developing applications that use %{name}.


%package libs
Summary: Libraries for %{name}

%description libs
Libraries for running %{name} applications.


%prep
%autosetup


%build
./autogen.sh
%configure --disable-static --disable-demo
%make_build


%install
%make_install
find %{buildroot} -name '*.la' -print -delete


%files
%license LICENSE
%{_bindir}/*
%{_mandir}/man1/*

%files devel
%{_includedir}/squashfuse/*
%{_libdir}/pkgconfig/squashfuse.pc
%{_libdir}/pkgconfig/squashfuse_ll.pc
%{_libdir}/*.so

%files libs
%{_libdir}/*.so.*

%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig

%changelog

0 comments on commit f1a3872

Please sign in to comment.