YASSI - Yet Another Simple Script Installer (2020 edition)


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting YASSI - Yet Another Simple Script Installer (2020 edition)
# 1  
Old 01-21-2020
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 Smilie
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 Smilie


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:
Code:
    ./configure --prefix=$HOME/local
    ./make
    ./make-{un}install


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 Smilie
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

Here's the project home:
* GitHub - Yet Another Simple Script Installer


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 Smilie
(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?)

Last edited by sea; 01-22-2020 at 05:01 AM..
These 3 Users Gave Thanks to sea For This Post:
# 2  
Old 01-21-2020
Good to see your GitHub project and description here.

Thanks for posting.
This User Gave Thanks to Neo For This Post:
# 3  
Old 01-22-2020
Thank you and you're welcome.

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.
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. What is on Your Mind?

Happy New Year 2020 to all :)

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)
Discussion started by: RavinderSingh13
1 Replies

2. Shell Programming and Scripting

Installer is shell script not working

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)
Discussion started by: Riverstone
9 Replies

3. UNIX for Advanced & Expert Users

Simple (un-)installation of scripts using YASSI

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)
Discussion started by: sea
0 Replies

4. Shell Programming and Scripting

Yet another simple script installer

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)
Discussion started by: sea
0 Replies

5. Shell Programming and Scripting

Xfce installer script

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)
Discussion started by: cesar-rgon
1 Replies

6. Shell Programming and Scripting

Help making simple perl or bash script to create a simple matrix

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)
Discussion started by: torchij
16 Replies

7. UNIX for Dummies Questions & Answers

Installer script needs to determine own location...

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)
Discussion started by: madmacs
1 Replies

8. Shell Programming and Scripting

Installer script -- function not found error

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)
Discussion started by: asutoshch
1 Replies
Login or Register to Ask a Question