You are not logged in.

#1 2009-01-18 11:04:41

fallenpoet
Member
From: montreal
Registered: 2008-08-14
Posts: 6

Script for downloading(svn) and install E17

I've been working on a script that download for the svn repository e17, compiler and install. I've made this script more as a to lear more about bash script. You can do the same thing as my script with yaourt. I hope someone might need it.

#!/bin/bash
################################################################################
# Title:        Arch E17 svn                                                   #
# Auther:       Kamil MIklaszewski (kamil.miklaszewski@gmail.com)              #
# Date:         2008-12-19 19:10                                               #
# Licence:      GPL                                                            #
#                                                                              #
#       This program is free software; you can redistribute it and/or modify   #
#       it under the terms of the GNU General Public License as published by   #
#       the Free Software Foundation; either version 2 of the License, or      #
#       (at your option) any later version.                                    #
#                                                                              #
#       This program is distributed in the hope that it will be useful,        #
#       but WITHOUT ANY WARRANTY; without even the implied warranty of         #
#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          #
#       GNU General Public License for more details.                           #
#                                                                              #
#       You should have received a copy of the GNU General Public License      #
#       along with this program; if not, write to the Free Software            #
#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,             #
#       MA 02110-1301, USA.                                                    #       
################################################################################
# Version:     1.0                                                             #
################################################################################
# Description:  This script was writen for Archlinux. It will download e17     #
#               from the svn repository and it will do a full installation.    #
#               This script also take care of the dependency for all of the    #
#               programs that are installed with e17.                          #
################################################################################
# TODO:         For version 1.0                                                #
#               -have the scipt use dialog                                     #
#               -make the script more autamatic                                #
################################################################################
# Change Log:   *2008-12-19                                                    #
#               -creation of script                                            #
################################################################################

# Function name:           prep
# Function paramiter(s):   none
# Function description:    This function prepers the envirement to run
#                          the rest of the script
prep()
{
    #make a temporery directory and go to it
    mkdir -p ~/arch_e17_svn
    cd ~/arch_e17_svn
    
    #export this path to compile succesfuly
    export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/
}

# Function name:           message
# Function paramiter(s):   Word to be printed on the screen
# Function description:    This function print messages on the screen.
#
message()
{
    #print a message to the screen
    echo -e "==>" $*
}

# Function name:            downloadPackage
# Function paramiter(s):    none
# Function description:     This function go to the user's home 
#                           directory and downloads e17 from svn repo.
downloadPackage()
{
    message "Downloading " $1 " from E17 svn repository."

    #download the specifed package with less text
    svn co --quiet http://svn.enlightenment.org/svn/e/trunk/$1 $1-svn
}

# Function name:            generalDependencys
# Function paramiter(s):    none
# Function description:     This fuction install the general
#                           dependencys.
generalDependencys()
{
    message "Installing Dependencys..."

    #list of package needed to be installed
    generalDependencysList=(
    'svn' 
    'm4' 
    'autoconf' 
    'automake' 
    'libtool' 
    'pkgconfig' 
    'texinfo' 
    'zlib' 
    'libpng' 
    'libjpeg' 
    'freetype2' 
    'xorg' 
    'dbus' 
    'hal' 
    'pam' 
    'librsvg' 
    'libnotify' 
    'curl' 
    'openssl' 
    'libungif' 
    'libtiff' 
    'gettext' 
    'glibc' 
    'glibmm' 
    'doxygen' 
    'giflib' 
    'cairo' 
    'libx11' 
    'libxext' 
    'libxrender' 
    'fontconfig' 
    'libxcb' 
    'sdl' 
    'mesa' 
    'qt' 
    'librsvg' 
    'libtiff' 
    'directfb'
    )

    #install the dependencys in the list
    sudo pacman -Sq --needed ${generalDependencysList[@]}
}

# Function name:            installPackage
# Function paramiter(s):    The name of the package to install
# Function description:     This fuction need one paramiter that is
#                           the package to configure and install.   
installPackage()
{
    #change directory to the program to configure and install
    cd ~/arch_e17_svn/$1-svn
    
    message "Configurating package " $1
    
    #run the autogen script that will configure and 
    #make read to install this program
    ./autogen.sh

    message "Compiling package " $1

    #now compile the source file of the program
    make
    
    message "Installing package " $1
    
    #now install the program
    sudo make install
}

cleanUp()
{
    rm -r ~/arch_e17_svn
}

################################################################################
# MAIN                                                                         #
################################################################################
main()
{
    #preper the envirement
    prep
    
    #install the general dependecys using pacman
    generalDependencys
    
    #list of packages to download and install
    packagesList=(
    'eina'
    'eet'
    'evas'
    'ecore'
    'efreet'
    'embryo'
    'edje'
    'e_dbus'
    'e'
    )
    
    #loop that gos through the list and downloads the packages
    for package in ${packagesList[@]}
    do
        downloadPackage $package
        message "Done\n"
    done
    
    #loop that gos through the list and installs the packages
    for package in ${packagesList[@]}
    do
        installPackage $package
        message "Done\n"
    done
}

main

Offline

#2 2009-01-18 11:39:43

u_no_hu
Member
Registered: 2008-06-15
Posts: 453

Re: Script for downloading(svn) and install E17

Nice work. You can make that a pkgbuild which will produce a package which can be installed with pacman.   As you said yourt uses that from AUR. Have a look at e17-svn from AUR. smile


Don't be a HELP VAMPIRE. Please search before you ask.

Subscribe to The Arch Daily News.

Offline

#3 2009-01-18 11:40:56

fallenpoet
Member
From: montreal
Registered: 2008-08-14
Posts: 6

Re: Script for downloading(svn) and install E17

Thanks. I'll have a look at it.

Offline

#4 2009-01-18 14:36:54

pressh
Developer/TU
From: Netherlands
Registered: 2005-08-14
Posts: 1,719

Re: Script for downloading(svn) and install E17

to not duplicate work I've already created a python script some time ago which you can use to build e17 pacman packages using the community PKGBUILDs: http://dev.archlinux.org/~ronald/e17.html
I may extend its usage if someone sees any use for it. Either way, just thought I should drop it here.

Offline

#5 2009-01-28 06:12:39

smartboyathome
Member
From: $HOME
Registered: 2007-12-23
Posts: 334
Website

Re: Script for downloading(svn) and install E17

I also ported Rui Pais's modified easy_e17.sh script from Ubuntu/OzOs to Arch Linux (I know Ronald made his script, but I like easy_e17.sh, because, as the name suggests, it is "easy" wink).
http://aur.archlinux.org/packages.php?ID=22793

Offline

#6 2009-06-19 08:42:11

pikiweb
Member
From: /bin/pwd
Registered: 2009-06-01
Posts: 8

Re: Script for downloading(svn) and install E17

pressh wrote:

to not duplicate work I've already created a python script some time ago which you can use to build e17 pacman packages using the community PKGBUILDs: http://dev.archlinux.org/~ronald/e17.html
I may extend its usage if someone sees any use for it. Either way, just thought I should drop it here.

is that script any different from a full build through makepkg/yaourt using AUR's Pkgbuilds?

I tried to use it but i get a list of errors similar to

cp: impossibile creare il file normale `eina-build/eina/.svn/prop-base/NEWS.svn-
base': Permission denied

but if i can use yaourt, why not? big_smile


Edit: sorry, i looked at the python source and realized that it actually just syncs abs and then runs makepkg and namcap for each package. so i guess i'll use yaourt instead (or try to understand why makepkg exits with that error)

Last edited by pikiweb (2009-06-19 08:48:46)

Offline

Board footer

Powered by FluxBB