diff --git a/README.md b/README.md index a68d4f1..f2bf3d3 100644 --- a/README.md +++ b/README.md @@ -135,11 +135,12 @@ and ideas that need to be fleshed out. ### Planned - detection mechanism for handlers and features (e.g. whether they support batching) +- Ability to use multiple repos, including remote ones +- Handle missing versions in older os version repos + - helper/hook for adding packages to groups upon install (at least for `pacman`) -- Ability to use multiple repos, including remote - Log Installs for reuse -- AUR: Install man-page, Readme to /usr/share/doc ### Random TODOs - Debug corner cases @@ -147,10 +148,10 @@ and ideas that need to be fleshed out. - Run file in tempdir by default? - Handler for downloaded scripts (e.g. passff-host, funkwhale) -#### Windows +#### Windows Flow - Install choco and git offline - Run in git bash -- Use choco/choco-offline sources +- TODO: Use choco-offline sources ### Flow This is a revamped concept diff --git a/groups/shell/osm b/groups/shell/osm index f3f16ed..664c923 100644 --- a/groups/shell/osm +++ b/groups/shell/osm @@ -1,3 +1 @@ -osmconvert -osmfilter -osmtogeojson +osmium-tool diff --git a/instalee b/instalee index bd2e570..ee0f1d2 100755 --- a/instalee +++ b/instalee @@ -3,7 +3,7 @@ ## DEFINITIONS name="$(basename "$0")" self="$(realpath "$0")" -dir_home="$(find "$INSTALEE_HOME" "${XDG_CONFIG_HOME:-$HOME/.config}/$name" "$HOME/.$name" "$(realpath "$(dirname "$0")")" "$PWD" -maxdepth 0 2>/dev/null | head -1)" +export dir_home="$(find "$INSTALEE_HOME" "${XDG_CONFIG_HOME:-$HOME/.config}/$name" "$HOME/.$name" "$(realpath "$(dirname "$0")")" "$PWD" -maxdepth 0 2>/dev/null | head -1)" handlers="$dir_home/handlers.available" dir_packages="$dir_home/packages" @@ -55,7 +55,6 @@ installpkg() { local ext="${name#$base}" local handler="$dir_home/handlers/$base" - cd "$(mktemp -d --tmpdir=$execdir "$(basename $pkg_entry).XXXX")" if test -d "$handler" then # This declaration needs to be ahead, otherwise it overrides failing exit codes @@ -65,11 +64,11 @@ installpkg() { args="${args:-$1}" install="$(find "$handler" -name "install$ext" | head -1)" destress " $install $args" - $install $args + pkg_entry="$install $args" else destress " running unhandled $pkg_entry" - $pkg_entry fi + (cd "$(mktemp -d --tmpdir=$execdir "$(basename $pkg_entry).XXXX")"; $pkg_entry) set +e break done @@ -163,6 +162,7 @@ chmod +rx "$dir_home/handlers" -R execdir=/tmp/instalee.$(date +%s) mkdir -p $execdir cd $execdir +destress "Running in $execdir" exitcode=0 while test $# -gt 0; do diff --git a/packages/dex/arch b/packages/dex/arch new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/packages/dex/arch @@ -0,0 +1 @@ + diff --git a/packages/instalee/linux b/packages/instalee/linux new file mode 100755 index 0000000..dd6f244 --- /dev/null +++ b/packages/instalee/linux @@ -0,0 +1,17 @@ +#!/bin/sh +set -eo pipefail +# From https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=instalee-git +_pkgname='instalee' +cd "$(readlink /proc/$(ps -o ppid= $(ps -o ppid= $PPID) | tr -d ' ')/cwd || $dir_home)" +pkgdir=/tmp +usrdir="${pkgdir}/usr/local" +bin="${usrdir}/bin" +sudo install -D --target-directory "${usrdir}/share/doc/${_pkgname}/" *.md +sudo install -D --target-directory "${usrdir}/share/man/man1/" "${_pkgname}.1" +sudo install -D --target-directory "$bin" "${_pkgname}" + +pkgver="$(git describe --long --tags 2>/dev/null | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' || printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)")" +sudo sed -i "s/r%s.%s/version ${pkgver}/" "$bin/${_pkgname}" + +echo -n "Installed " +$bin/instalee --version diff --git a/packages/osmium-tool/apt b/packages/osmium-tool/apt new file mode 100644 index 0000000..e69de29 diff --git a/packages/osmium-tool/aur b/packages/osmium-tool/aur new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/packages/osmium-tool/aur @@ -0,0 +1 @@ + diff --git a/packages/sass/arch b/packages/sass/arch new file mode 100644 index 0000000..59167a5 --- /dev/null +++ b/packages/sass/arch @@ -0,0 +1 @@ +dart-sass