Hi E users,
Some time ago I discovered raster's "get_e.sh" script which made the process
of building Enlightenment less painfull

I've spend some time modyfing it and it helps me whenever I build anything
related to E. The other day I spoke about it on irc and someone told me to
send it to mailing-list, so here it is:

http://espeweb.no-ip.com/misc/pespin/scripts/get_e3.sh

Some features:
* You can change behaviour using config in the script's top part.
* Dynamically set packages to build.
* Different actions: help, dependencies, checkout, update, clean, configure,
make, install.
* distcc support in config


Here some explanation on how does it works, in case someone wants to try it:

You should place the script in some dir you want to have all the efl
sources, ie. ~/dev/E/get_e3.sh

Inside this dir, get_e3 looks into its subdirs to build, so for example, you
can categorize your projects:


~/dev/E/e/e
~/dev/E/e/e_dbus
~/dev/E/e/elementary
~/dev/E/apps/intone
~/dev/E/others/another_project_you_want_to_build


The script is usally used as:
$ MODULES="package1 package2" ./get_e3.sh action1 action2 action3

You can set default modules and default actions in the script config

You can start by doing a checkout for E "standard" packages:
$ ./get_e3.sh checkout

Then you'll find packages in ~/dev/E/e/
You can update repos at any time by using ./get_e3.sh update
Before start building them, let's checkout for dependencies:
$ ./get_e3.sh dependencies

Now, let's compile and install all of them... as easy as doing:
$ ./get_e3.sh



Some other tips:

* Using distcc to parallel build with several computers
1) run distcc daemon on other computers allowing the PC which is going to
run the script:
$ distccd --daemon --allow ip.of.script.pc

2) Modify script config:
2.1) Set USE_DISTCC to "yes"
2.2) Add the hostname of the other computers which will help to compile

3) MODULES="package1 package2" ./get_e3.sh make


* Changing building order:
You can change the way in which the script execs the actions on the modules.
By using STAGING variable (yes/no) you can make the script perform like:
1) foreach(action) do it in all packages;
2) foreach(package) do actions;


* You can organize modules so that you can ie. perform: MODULES="`ls apps`"
./get_e3.sh




Hope it will be of interest to somebody ;)

-- 
Pau Espin Pedrol
mail/jabber: [email protected]
http://espeblog.no-ip.org

"A través de los siglos, la humanidad ha probado muchas formas de combatir
las fuerzas del mal... oración, ayuno, buenas obras y todo eso. Hasta que
llegó Doom, nadie parecía haber pensado en la escopeta de doble cañón. Traga
plomo ardiente, demonio.."
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
enlightenment-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to