Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ivan-hc authored Jul 7, 2023
1 parent 2b425e9 commit 56f6199
Showing 1 changed file with 44 additions and 17 deletions.
61 changes: 44 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,61 @@ ArchImage is the bundling of Arch Linux packages into an AppImage using [JuNest]

This allows you to use the latest programs from Arch Linux and AUR on every distribution, old or newer.

# Installation
Download the main script and made it executable:

wget https://raw.githubusercontent.com/ivan-hc/ArchImage/main/archimage-cli
chmod a+x ./archimage-cli

# Usage
In this example I'm working for an AppImage of OBS Studio:

mkdir tmp
cd tmp
wget https://raw.githubusercontent.com/ivan-hc/ArchImage/main/apps/obs-junest.sh
chmod a+x ./obs-junest.sh
./obs-junest.sh
./archimage-cli [OPTION]
or

Wait the time that the AppImage is ready before you test it wherever you want.
./archimage-cli [OPTION] [PROGRAM]

------------------------
This tool will create a script to compile an AppImage based on JuNest. To create the script use the option `-b` or `--build`, example:

https://github.com/ivan-hc/ArchImage/assets/88724353/6335f0c4-c274-4e6c-9360-d22a24bb8594
./archimage-cli -b handbrake
Here we are using "handbrake", the script will ask you if you want to specify the name of the binary or leave blank if the name is the same of [PROGRAM], being the executable not `/usr/bin/handbrake` but `/usr/bin/ghb`, justr wrote "ghb". If you're not sure about thename of the main executable, use https://archlinux.org/packages/ or read the PKGBUILD if the app is hosted on the AUR. By default, the script will use "yay" to install all the programs in JuNest.

------------------------
After you've/you've not named the executable, the script will ask you to add a list of additional packages you want to include into the AppImage (with the syntax `app1 app2 app3...`).

# This project wont be possible without
- JuNest https://github.com/fsquillace/junest
- Arch Linux https://archlinux.org
Finally you've finished and you're ready to run the final script. This will automatically build all the stuff starting from the less options you've decided.

# Related projects
- Portable Linux Apps https://portable-linux-apps.github.io
- "AM" Application Manager https://github.com/DLopezJr/AM-Application-Manager
# Suggestion
At line 88 of the script it is possible to manually add the list of files and folders to delete, check the contents of "AppDir" (the folder of the AppImage to be created), JuNest is installed in `$PROGRAM.AppDir/.junest` and is equivalent to the root of the Arch Linux guest.

# Compared to classic AppImage construction
In the past AppImages were built using .deb packages or guessing instructions to make them work. With the "ArchImage" method all you have to do is the reverse, i.e. "delete" what is no longer needed.

# ArchImages available
For example, an OBS Studio ArchImage equals 650MB in total, I managed to get it to 260MB by removing what wasn't necessary. This is the only disadvantage, having to look for the files to delete requires a long search... but at least you already have a working program using minimal effort!

This is a list of the AppImages I've built until I wrote this brief guide:
- Abiword https://github.com/ivan-hc/Abiword-appimage
- Gnumeric https://github.com/ivan-hc/Gnumeric-appimage
- MPV https://github.com/ivan-hc/MPV-appimage
- OBS Studio https://github.com/ivan-hc/OBS-Studio-appimage

### Advantages
- compatibility with all versions of Linux starting from kernel 2.6, therefore also older distributions than those normally indicated by the classic AppImage developers;
- easy and immediate compilation;
- AppRun script very minimal and easy to configure;
- all programs for Arch Linux within AppImage's reach, therefore one of the most extensive software parks in the GNU/Linux panorama.

### Disadvantages
Since JuNest is a standalone system, it won't be able, for example, to open the host's browser, it relies almost completely on its own built-in resources.

# How a newly created script works
This video is from when this repository was created, since then the Appimage build script has greatly improved.

https://github.com/ivan-hc/ArchImage/assets/88724353/6335f0c4-c274-4e6c-9360-d22a24bb8594

# This project wont be possible without
- JuNest https://github.com/fsquillace/junest
- Arch Linux https://archlinux.org

# Related projects
- Portable Linux Apps https://portable-linux-apps.github.io
- "AM" Application Manager https://github.com/ivan-hc/AM-Application-Manager
-

0 comments on commit 56f6199

Please sign in to comment.