YASSI - Yet Another Simple Script Installer (2020 edition)
Heyas
As someone said he'd like to see some more projects posts on the forum, so, here's one I hope is ready.
Not so much fun-fun, but practical
I hope...
So, you have that small non-arch project you would like to install, but get the feeling that GNU Autoconf is a bit too 'massive' for that?
You want to be able to uninstall your installed project?
You want be able to simply clean up your project dir?
Or install something to/within a chroot?
And you want it to work across distros?
YASSI is here
IMPORTANT:
While possible, if you need to compile your application, I strongly recomend to stay with GNU Autoconf!
Because YASSI is just thought to be used for non-arch projects, thus is has no --libdir and related support
PRO:
* Full FHS (File Hierarchy Standard) v3 compatible.
* Highly configurable
* Creates 'root' 'Makefile', if demanded
* small / lightweight = fast
* Cross-'distro' compatible
* Use "./configure --sample full > configure.yassi" to start with everything available
* Dependency handling/info
* Thanks to --chroot support it can be used to automate liveiso creation
* Behaves like GNU Autoconf, which is nice for endusers
CONTRA:
* Because its behaviour imitates GNU Autoconf, it is not compatible with GNU Autoconf (I dont remember why I had decided let it make a 'Makefile')
* Requires BASH (though this is preinstalled on most distros, and where not, its available)
* I cant possibly think of all use-cases, so feedback and bug reports help to improve handling
Benefits:
Given the proper variables are set in configure.yassi, ./configure --help will show your name, email, homepage the project homepage, git/svn url, bug report url and/or different emails - this info will have effect on the "./configure --help" output!
It supports separate handling if you use YASSI to just maintain a package of someone else's code ({AUTHOR,MAINTAINER}_{NAME,EMAIL,HOMEPAGE}.
You can just provide configure and configure.yassi and let it download the project from a provided url.
It provides several Make-files according to your setup, so - for example - localisation and/or according manpage generation are not an issue, or make the installed files using 'hardcoded' absolute paths.
You can uninstall your installed project or clean up the project path.
You can prepare distro-ready tarballs by using make-distro (where available), or just use ./configure --tarball
Basic usage
Once you have a configure.yassi file, it behaves like:
For a preview of how the basic syntax works, please see YASSI - Usage.
If you need help to figure out where what belongs, please see: ./configure --help
Next step would be to get a full sample: ./configure --sample full > configure.yassi, then edit the new file in your favorite GUI editor.
Back in the console, you now enter ./configure --manpage and arange it next to the editor for best 'comparing read'.
If after that anything should be unclear, please let me know 'what', so I can improve the reading / usabilty.
Please be aware that using a full sample as template is usualy a complete overkill for most projects, but it helps to get things right
A basic working install procedure can be achieved within less than a minute, once you are aware of the syntax that is.
Get it:
Since you only need the ./configure file itself:
* YASSI ./configure
LOW PRIO Roadmap:
* Remove the option for TUI installation, as that is borked anyway
* Add yassi-dependency support
Hope this helps
This was writen for myself, but I hope this is of use for you too.
Please, first read "./configure --help" and "./configure --manpage" and THEN have a good look at ./configure --sample full before asking detailed questions, thank you.
However, additional feedback and thoughts are always welcome (specialy feedback on the docs like 'USAGE.md', '--manpage', '--help' and './configure --sample full',
as I'd like to verify, that 'this' is enough to get started. - Is it?)
That made me rethink, so I've attached the script now too.
This will change the syntax to ./configure.sh [opts] unless you rename the file back to configure after downloading.
Hello All,
I would like to wish A very Happy New Year 2020 to all. May GOD bless all of us with TRUE knowledge, wisdom, great attitude, honesty, hard working capability, great health :b:
Cheers and let us all have fun/learning/sharing/caring on this GREAT forum UNIX.com, love you UNIX.com... (1 Reply)
Hi Guys,
I have one installer shell script which normally get from the dev team to install the app and it works fine for years (in IAX) the same installer/script iam trying to run in Linux 7.2 but it stuck somewhere which I cannot debug, can you help me to point out where it stuck .
here is the... (9 Replies)
Heyas
Recently i've been 'fighting' with the GNU Autotools (autoconf, automake) to distribute one of my script based projects.
Figured that these tools are very powerfull, and therefor can be very hard to learn/master.
This said, a new personal project was started, inspired by the GNU... (0 Replies)
Heyas
Just recently i tried to apply the GNU Autotools to my project, while it was possible, it took forever to know where to create which files and what to place in each of them.
Dare you making a space rather than a tab!
Inspired by GNU Autotools, and overhelmed by its functionality and... (0 Replies)
Xfce desktop installer script on Ubuntu for home, office or server computers.
This script installs Xfce desktop and a set of programs according to user needs starting from an Ubuntu Server base system. It's valid for netbooks, notebooks, desktop computers and servers.
For more information... (1 Reply)
Hello all!
This is my first post and I'm very new to programming. I would like help creating a simple perl or bash script that I will be using in my work as a junior bioinformatician.
Essentially, I would like to take a tab-delimted or .csv text with 3 columns and write them to a "3D" matrix:
... (16 Replies)
My n00b question:
I am trying to write a script that I can place on a flash drive and then move from computer to computer and install a file, which is bundled with the script. (ie the script is at /Volumes/FlashDrive/Folder/Script, the file is at /Volumes/FlashDrive/Folder/File)
So far I have... (1 Reply)
I am writing an installation script on AIX. This involves typical checks of some pre requisites like java, oracle, some version checks, disk space etc. It is a long script. I am facing a strange problem. There are a no of functions used in the script. What I see is that the installer complains of... (1 Reply)