Init new repo
This commit is contained in:
commit
a15fa817ba
|
@ -0,0 +1,21 @@
|
||||||
|
# Rust stuff
|
||||||
|
target
|
||||||
|
|
||||||
|
# Vagrant stuff
|
||||||
|
.vagrant
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# Compiled artifacts
|
||||||
|
# (see devtools/*-package-for-*.sh)
|
||||||
|
/eza-linux-x86_64
|
||||||
|
/eza-linux-x86_64-*.zip
|
||||||
|
/eza-macos-x86_64
|
||||||
|
/eza-macos-x86_64-*.zip
|
||||||
|
/MD5SUMS
|
||||||
|
/SHA1SUMS
|
||||||
|
|
||||||
|
# Snap stuff
|
||||||
|
parts
|
||||||
|
prime
|
||||||
|
stage
|
||||||
|
*.snap
|
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
TARGET="$(dirname "$0" | xargs realpath)"
|
||||||
|
IMAGE="debian:bookworm"
|
||||||
|
|
||||||
|
while getopts "v:i:h" opt
|
||||||
|
do
|
||||||
|
case "$opt" in
|
||||||
|
i)
|
||||||
|
IMAGE="$OPTARG"
|
||||||
|
;;
|
||||||
|
h)
|
||||||
|
echo "Usage: $0 [-i image]"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
docker run --rm \
|
||||||
|
--name eza-build-$$ \
|
||||||
|
-v "$TARGET:/target" \
|
||||||
|
-w /target \
|
||||||
|
--user root \
|
||||||
|
"$IMAGE" \
|
||||||
|
sh build-deb.package.sh
|
|
@ -0,0 +1,49 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -xeu
|
||||||
|
|
||||||
|
DEBIAN_FRONTEND=noninteractive
|
||||||
|
TARGET="$PWD"
|
||||||
|
|
||||||
|
export DEBIAN_FRONTEND
|
||||||
|
|
||||||
|
dependencies() {
|
||||||
|
# Update system and install basic tools
|
||||||
|
apt-get update -yq && apt-get install -yq aptitude curl git wget
|
||||||
|
# Install dependencies for Eza .deb package
|
||||||
|
aptitude --quiet --assume-yes install gzip lintian pandoc
|
||||||
|
|
||||||
|
# Install just dependency to build manpages
|
||||||
|
aptitude --quiet --assume-yes install gpg lsb-release
|
||||||
|
wget -qO - 'https://proget.makedeb.org/debian-feeds/prebuilt-mpr.pub' | gpg --dearmor | tee /usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg 1> /dev/null
|
||||||
|
echo "deb [arch=all,$(dpkg --print-architecture) signed-by=/usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg] https://proget.makedeb.org prebuilt-mpr $(lsb_release -cs)" | tee /etc/apt/sources.list.d/prebuilt-mpr.list
|
||||||
|
apt-get update -yq
|
||||||
|
aptitude --quiet --assume-yes install just
|
||||||
|
}
|
||||||
|
|
||||||
|
get_eza_sources() {
|
||||||
|
# Clone Eza repo
|
||||||
|
cd "$(mktemp -d)"
|
||||||
|
git clone https://github.com/eza-community/eza
|
||||||
|
cd eza
|
||||||
|
}
|
||||||
|
|
||||||
|
build_eza_deb_package() {
|
||||||
|
# Build
|
||||||
|
./devtools/deb-package.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
copy() {
|
||||||
|
TARGET_UID="$(stat --printf %u "$TARGET")"
|
||||||
|
TARGET_GID="$(stat --printf %g "$TARGET")"
|
||||||
|
install -o "$TARGET_UID" -g "$TARGET_GID" -t "$TARGET/target" eza_*.deb
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
dependencies
|
||||||
|
get_eza_sources
|
||||||
|
build_eza_deb_package
|
||||||
|
copy
|
||||||
|
}
|
||||||
|
|
||||||
|
main
|
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
TARGET="$(dirname "$0" | xargs realpath)"
|
||||||
|
IMAGE="debian:bookworm"
|
||||||
|
|
||||||
|
while getopts "v:i:h" opt
|
||||||
|
do
|
||||||
|
case "$opt" in
|
||||||
|
i)
|
||||||
|
IMAGE="$OPTARG"
|
||||||
|
;;
|
||||||
|
h)
|
||||||
|
echo "Usage: $0 [-i image]"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
docker run --rm \
|
||||||
|
--name eza-build-$$ \
|
||||||
|
-v "$TARGET:/target" \
|
||||||
|
-w /target \
|
||||||
|
--user root \
|
||||||
|
"$IMAGE" \
|
||||||
|
sh build.sh
|
|
@ -0,0 +1,51 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -xeu
|
||||||
|
|
||||||
|
DEBIAN_FRONTEND=noninteractive
|
||||||
|
TARGET="$PWD"
|
||||||
|
|
||||||
|
export DEBIAN_FRONTEND
|
||||||
|
|
||||||
|
dependencies() {
|
||||||
|
# Update system and install basic tools
|
||||||
|
apt-get update -yq && apt-get install -yq aptitude curl git wget
|
||||||
|
# Install dependencies for Eza
|
||||||
|
aptitude --quiet --assume-yes install gcc libgit2-dev
|
||||||
|
}
|
||||||
|
|
||||||
|
install_rust() {
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-host x86_64-unknown-linux-gnu --default-toolchain nightly
|
||||||
|
. ~/.cargo/env
|
||||||
|
}
|
||||||
|
|
||||||
|
get_eza_sources() {
|
||||||
|
# Clone Eza repo
|
||||||
|
cd "$(mktemp -d)"
|
||||||
|
git clone https://github.com/eza-community/eza
|
||||||
|
cd eza
|
||||||
|
}
|
||||||
|
|
||||||
|
build_eza() {
|
||||||
|
# Build
|
||||||
|
cargo build --release
|
||||||
|
|
||||||
|
# Test
|
||||||
|
cargo test
|
||||||
|
}
|
||||||
|
|
||||||
|
copy() {
|
||||||
|
TARGET_UID="$(stat --printf %u "$TARGET")"
|
||||||
|
TARGET_GID="$(stat --printf %g "$TARGET")"
|
||||||
|
install -o "$TARGET_UID" -g "$TARGET_GID" -t "$TARGET/target" target/release/eza
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
dependencies
|
||||||
|
install_rust
|
||||||
|
get_eza_sources
|
||||||
|
build_eza
|
||||||
|
copy
|
||||||
|
}
|
||||||
|
|
||||||
|
main
|
Loading…
Reference in New Issue