-
Notifications
You must be signed in to change notification settings - Fork 8
Squashfuse #164
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Squashfuse #164
Changes from all commits
6e267c1
fe8947f
ae84494
67e6746
1aae9eb
18983ed
a984c11
19629f9
46ffb7f
7178b1a
0dd727b
1fac641
733e279
d4c0653
d18cddf
098fedc
4d6ae4d
e48910c
214a7b1
a80770c
3be8b76
e022571
6c9aca1
8ce0b18
56aa7cf
c98aac2
8e39781
29bd93c
d4851ef
4ad79fe
d106dd0
5e8168a
3454617
557d959
73277b6
9c03ad1
a7fc8da
1d3dce1
d78fd57
b15d33a
701d1c4
7d9a7bf
6afed54
dec2487
f1b2363
c068ee2
4ccb29e
2a25b17
4aff578
ed3f159
af63c8a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| root = true | ||
|
|
||
| [*.build] | ||
| indent_style = space | ||
| indent_size = 4 | ||
|
|
||
| [*{,cpp,h}] | ||
| indent_style = space | ||
| indent_size = 4 | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,60 @@ | ||
| #!/bin/bash | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I was thinking about removing this completely, because it is not up to date. There is a meson wrap db for zstd: https://mensinda.github.io/meson/Wrapdb-projects.html |
||
|
|
||
| set -e | ||
| set -eu | ||
|
|
||
| squashfuse_version=0.6.2 | ||
| zstd_version=1.5.7 | ||
|
|
||
| # build static dependencies | ||
| ( | ||
| cd extern/ | ||
| if [ ! -d "zstd-${zstd_version}/install/lib/pkgconfig" ]; then | ||
| ( | ||
| curl -L https://github.com/facebook/zstd/releases/download/v${zstd_version}/zstd-${zstd_version}.tar.gz | tar xzf - | ||
| cd zstd-${zstd_version}/build/meson | ||
| CXX=g++-12 CC=gcc-12 uvx --with=meson,ninja \ | ||
| meson setup \ | ||
| --buildtype=release \ | ||
| -Dbin_programs=true \ | ||
| -Dbin_contrib=true \ | ||
| --prefix=$PWD/../../install \ | ||
| --wipe builddir | ||
| uvx --with=meson,ninja ninja -C builddir install | ||
| cd ../../install | ||
| # squashfuse expects a lib dir | ||
| ln -sf lib64 lib | ||
| ) | ||
| fi | ||
| export ZSTD=$(realpath zstd-${zstd_version}/install) | ||
|
|
||
| if [ ! -d "squashfuse-${squashfuse_version}/install/lib/pkgconfig" ]; then | ||
| ( | ||
| curl -L https://github.com/vasi/squashfuse/releases/download/${squashfuse_version}/squashfuse-${squashfuse_version}.tar.gz | tar xzf - | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we be trying to use squashfuse available on Alps systems? The container team install a version from RPM.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. squashfuse on alps is It is linked to |
||
| cd squashfuse-${squashfuse_version} | ||
|
|
||
| # patch includedir in pkg-config | ||
| sed -i 's/^includedir=.*/includedir=@includedir@/' squashfuse.pc.in | ||
| sed -i 's/^includedir=.*/includedir=@includedir@/' squashfuse_ll.pc.in | ||
|
|
||
| ./configure --disable-high-level \ | ||
| --enable-static=no \ | ||
| --enable-shared=yes \ | ||
| --without-lzo \ | ||
| --without-lz4 \ | ||
| --with-zstd=$ZSTD \ | ||
| --prefix=$PWD/install | ||
| make install | ||
| ) | ||
| fi | ||
| ) | ||
|
|
||
| PKG_CONFIG_PATH=$(realpath extern/zstd-${zstd_version}/install/lib/pkgconfig):$(realpath extern/squashfuse-${squashfuse_version}/install/lib/pkgconfig):${PKG_CONFIG_PATH:-} | ||
| export PKG_CONFIG_PATH | ||
|
|
||
| arch=$(uname -m) | ||
| echo "== architecture: $arch" | ||
|
|
||
| root=$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd) | ||
| root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) | ||
| build=$root/build-alps-$arch | ||
| pyenv=$root/pyenv-alps-$arch | ||
| install=$HOME/.local/$arch | ||
|
|
@@ -17,7 +66,7 @@ echo "== configure in $build" | |
|
|
||
| export CC=gcc-12 | ||
| export CXX=g++-12 | ||
| uvx --with meson,ninja meson setup --prefix=$install $build $root | ||
| uvx --with meson,ninja meson setup -Dsquashfs_mount=true -Dfuse=true --prefix=$install $build $root | ||
| uvx --with meson,ninja meson compile -C$build | ||
| uvx --with meson,ninja meson install -C$build --skip-subprojects | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does this interact with clang format? Because we have clang format, most editors should automatically apply the formatting rules on save.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's redundant. It was just to avoid the nuisance of 2 space indent (my default) when entering a new line.