if-so

install from - sources

preface
Me, as perhaps many of computer users used to collect preferred software.
After some time every user notice that often software doesn't work as expected or doesn't work at all.
In some cases application that works fine under one version of operating system, fails to work under another version.
And many of us already understood that we didn't have anything material ;) We can lost everything, t-short, pen, car, home.. everything...
except _knowledges_ and mind (there are exceptions too..).
So, software doesn't valuable, and really important is the source.
if-so install from sources
You always can change, compile it and force to run properly on a system or distribution or even another platform and cpu if you need it.
You can port software from one platform to another.
You can read sources and understand how application works, or find out something useful , information, accidently appeared idea, and many more.
You can compile sources yourself with desired cpu optimizations, configuration options, and enjoy performance, which is really never  been  spare.
 
    So after some time anyone starts to realize how useless collected binaries
    and how useful sources.

Why You need if-so? 
There is another question to answer too. How if-so project started?
Because I was need it very very very much.
Many people for some reasons using RedHat, Fedora, Mandrake, Suse, etc... Linux distributions.
One of major reasons for them to use RedHat is that major software vendors (AliasWavefront, Oracle, Borland) guarantee they programs will work on RedHat and release software as rpm packages.
    What I miss in this kind of distributions is manly:
Automatic Install from sources integrated with package management.
Why I need installation from sources?
Because:
   I can compile with my desired cpu optimizations
On most distributions packages compiled to work on any i386. But in fact you can not install modern RedHat distributions on an i386 machine.
Because in generally You have no so much memory on a i386 machine. On the other hand all programs compiled to work with i386 instructions. It is a performance loss even when You have i486 ;)
You can work on a machine complected with pentium, pentium-mmx, pentium 3, petium 4 or athlon.
But performance of precompiled applications in the distribution would be poor.
Sure, You can download tarball's or src.rpm's and compile all programs You need on Your computer.
But a lot of problems arise:
Remember, that './configure' script does not often properly understands Your environment.
Remember, that You will have problems with uninstalling software because mainly in Makefile's there is no uninstall section.
You should read makefile, and remove all file installed during 'make install' by Yourself.
Remember, that there are no integration with any package management in this case, and if You even can't list all programs installed.
Remember, that there is a lot of troubles with dependencies. You have to recourcively download dependencies, configure, build, and install them Yourself.
There's a lot of troubles if You want to have really fast system.
I don't like such troubles

Why do I need recourcively download dependencies, compile, build packages, and install software, change makefiles to match my machine, 
and do many routine things if it could be done automatically?


You can download only one program
                        which will do all that work for you.


Download if-so from
SourceForge download page

SourceForge.net Logo
Dependencies:
You only need to have
rpm, rpm-build and wget
programs installed on most systems.
(In Suse there is no rpm-build progam, so you just need rpm installed).


Installation
run install.sh script

Uninstallation
run uninstall.sh script

Configuration
you don't need to configure if-so, because if-so creates configuration file /etc/if-so.conf and load it at startup.
Anyway, you may want to add or remove from there url's where if-so will search for sources.
So, just add there _any_ http or ftp folder where if-so can find src.rpm, tar.gz or tar.bz2 sources.
Besides if-so will search for sources in the local folder /var/if-so, i. e. just copy there sources you have
After if-so update command if-so will be ready to search and download sources.

Usage

if-so update
updates local packages database.

if-so appname

will download, build, create rpm package and install the software.
If there are unsatisfied dependencies, they will be solved by recoursively downloading, building, creating rpms and installing them.
Note, that only src.rpm's contains information about dependencies.
Tarballs doesn't know which dependencies they need to build or to work.
Anyway, if-so will try to determine dependencies from configure output. This feature not fully available yet, but works in most cases.
Full dependency check with tarballs will be available after integrating if-so with gentoo portage system.

if-so appname -n?

if you don't want if-so ask which version and from which location do you prefer to install if it's found few available versions.
More options see in readme file.

if-so all
will try to recompile whole your system, all installed packages.

possible not expected usage
furthernore just without problems quickly install software from sources people find out other usage for if-so:
I know people already using my tool for upgrading RHEL from src.rpm's via redhat ftp folders.
System administrators use if-so to upgrade unsupported linux distributions from modern sources.
I am using if-so even to install modern software on an very old linux distributions. It is possible fromsources.

Please, feel free to contact me.
There are mailing list in sourceforge, but you also can write to norik [at] oric [dot] org and
I will be very glad to know if you are using this software, and help you solve troubles, also listen for suggestations,
features you want to see in the next versions.

TODO list may also be found in distribution.
When have a time I'll make debian port, which may also be used with Ubuntu and any debian based system :)


Good Luck!


1