mirror of
https://github.com/Phantop/appdwarf.git
synced 2024-11-18 04:43:17 +00:00
README: update and redo it allllll
This commit is contained in:
parent
1cdaf416a9
commit
ed2a43c751
37
README.md
37
README.md
|
@ -1,32 +1,33 @@
|
||||||
appdwarf
|
appdwarf
|
||||||
=======
|
=======
|
||||||
These scripts automatically fetch the latest version of their respective program and compress them into a portable image using [dwarfs](https://github.com/mhx/dwarfs) in a similar format to an [AppImage.](https://appimage.org/)
|
A tool to convert an AppDir or an existing [AppImage](https://appimage.org/) file,
|
||||||
|
either as a local file or from a URL, into a highly compressed portable image using
|
||||||
|
[dwarfs](https://github.com/mhx/dwarfs).
|
||||||
|
|
||||||
The titular `appdwarf` utility supports both converting an AppDir or an existing AppImage file, either as a local file or from a URL, and is used similarly to how 'appimagetool' is.
|
This is a small script and the bulk of the work is in the original `dwarfs` project,
|
||||||
|
so all credit deserves to go there and I can not guarantee this script will function
|
||||||
|
with out issues.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
In order to create the images, you will need:
|
In order to create the images, you will need:
|
||||||
|
|
||||||
- [dwarfs](https://github.com/mhx/dwarfs), specifically the `dwarfs` and `mkdwarfs` utilities (`dwarfs2` works, but you must either edit the script or link `dwarfs` to it)
|
- [dwarfs](https://github.com/mhx/dwarfs), specifically the `dwarfs` and `mkdwarfs` utilities.
|
||||||
|
- This may in turn require further dependencies, and specifically relies on the presence of FUSE for mounting images.
|
||||||
|
|
||||||
|
If you only wish to run an existing image, only `dwarfs` is needed in PATH.
|
||||||
|
|
||||||
If you only wish to run an existing image, only `dwarfs` (or `dwarfs2`) is needed.
|
## How to create an appdwarf
|
||||||
|
|
||||||
## How to create portable executables
|
For your own programs, simply create an AppImage-style AppDir and run `appdwarf {directory}`.
|
||||||
|
You can also invoke `appdwarf -a {appimage}` to convert an apimage.
|
||||||
|
I suggest checking the help (listed via `appdwarf --help`) for other options.
|
||||||
|
|
||||||
For your own programs, simply create an AppImage-style AppDir and run `appdwarf {directory}` or use one of the additional options (listed via `appdwarf --help`) to convert an existing AppImage to appdwarf.
|
The apps folder contains other scripts for specific programs that will download all necessary files and create a resulting appdwarf in the same folder.
|
||||||
|
|
||||||
The other scripts for specific programs will download all necessary files and create a resulting appdwarf in the same folder.
|
## Known Issues
|
||||||
|
|
||||||
## Notes
|
- Some images may not unmount properly under the default, combined mounting scheme due
|
||||||
|
to the inability to use lazy unmounting and some programs still making use of the filesystem
|
||||||
Keep in mind that this project is new and it has not been thoroughly tested. Please report any problems you find.
|
when `fusermount -u` is run.
|
||||||
|
- Can be worked around with the separate header at the cost of memory/CPU usage.
|
||||||
## Credits
|
|
||||||
|
|
||||||
[wine-portable-executable](https://github.com/Kron4ek/wine-portable-executable) and [Wine-Builds](https://github.com/Kron4ek/Wine-Builds) by [Kron4ek](https://github.com/Kron4ek)
|
|
||||||
|
|
||||||
[dwarfs](https://github.com/mhx/dwarfs) by [mhx](https://github.com/mhx)
|
|
||||||
|
|
||||||
Java builds from [AdoptOpenJDK](https://adoptopenjdk.net/)
|
|
||||||
|
|
2
appdwarf
2
appdwarf
|
@ -6,7 +6,7 @@ HERE=$(dirname "$(readlink -f "${0}")")
|
||||||
source "$HERE/headers"
|
source "$HERE/headers"
|
||||||
|
|
||||||
usage(){
|
usage(){
|
||||||
echo "Usage: $(basename "$0") [option] [FILE/FOLDER/URL]"
|
echo "Usage: $(basename "$0") [option] [FILE/FOLDER/URL] [dwarfs option]"
|
||||||
echo " Compress a given AppDir (default)"
|
echo " Compress a given AppDir (default)"
|
||||||
echo " -a, --appimage Convert a given AppImage to appdwarf"
|
echo " -a, --appimage Convert a given AppImage to appdwarf"
|
||||||
echo " -B, --lookback Change dwarfs block lookback amount"
|
echo " -B, --lookback Change dwarfs block lookback amount"
|
||||||
|
|
25
apps/README.md
Normal file
25
apps/README.md
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# Apps
|
||||||
|
|
||||||
|
This directory contains various scripts I've put together to quickly and easily create
|
||||||
|
images of various large and/or popular programs. I give no guarantee that they will
|
||||||
|
work correctly or as desired; these have been put together largely for my own usage.
|
||||||
|
|
||||||
|
These scripts are all targeted for using on x86_64 Linux systems with GLIBC.
|
||||||
|
|
||||||
|
## Scripts
|
||||||
|
|
||||||
|
Script | Function | Source
|
||||||
|
--- | --- | ---
|
||||||
|
`appimage ` | Can fetch and convert AppImages by name from AppImageHub if the source repo is hosted on GitHub and linked to | <https://appimage.github.io>
|
||||||
|
`github ` | Can be given a GitHub URL or repo in the form `user/repo` and will find and convert the latest AppImage release | <https://github.com>
|
||||||
|
`mkchrome ` | Latest official Chromium build | <https://download-chromium.appspot.com>
|
||||||
|
`mkgo ` | Latest official Go release | <https://go.dev>
|
||||||
|
`mkjava ` | Accepts an argument for Java version and obtains that build from Adoptium | <https://adoptium.net>
|
||||||
|
`mknode ` | Latest official NodeJS release | <https://nodejs.org>
|
||||||
|
`mkproton ` | GloriousEggroll Proton Builds | <https://github.com/GloriousEggroll/proton-ge-custom>
|
||||||
|
`mkpypy ` | Latest PyPy3 release | <https://www.pypy.org>
|
||||||
|
`mkrust ` | Latest Rust nightly | <https://rust-lang.org>
|
||||||
|
`mktex ` | Minimal/custom TeX Live image | <https://ctan.org>
|
||||||
|
`mkwine ` | Latest `wine-staging-tkg` release | <https://github.com/Kron4ek/Wine-Builds>
|
||||||
|
`rustsolus` | Latest Rust stable from the Solus repos (requires `eopkg` and may not work on other distros) | <https://getsol.us>
|
||||||
|
`ungoogled` | Latest submitted `ungoogled-chromium` binary release | <https://ungoogled-software.github.io/ungoogled-chromium-binaries>
|
|
@ -2,8 +2,8 @@
|
||||||
PATH=$(dirname "$(readlink -f "${0}")")/..:$PATH
|
PATH=$(dirname "$(readlink -f "${0}")")/..:$PATH
|
||||||
DIR=/tmp/appdwarf
|
DIR=/tmp/appdwarf
|
||||||
mkdir -p $DIR
|
mkdir -p $DIR
|
||||||
LINK=$(curl -sL https://golang.org/dl | grep -om1 dl/go.\*linux-amd64.tar.gz)
|
LINK=$(curl -sL https://go.dev/dl | grep -om1 dl/go.\*linux-amd64.tar.gz)
|
||||||
curl -L https://golang.org/"$LINK" | tar xz -C$DIR
|
curl -L https://go.dev/"$LINK" | tar xz -C$DIR
|
||||||
|
|
||||||
cat > $DIR/go/AppRun << 'EOF'
|
cat > $DIR/go/AppRun << 'EOF'
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
Loading…
Reference in a new issue