You are not logged in.
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
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.
Offline
Offline
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
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" ).
http://aur.archlinux.org/packages.php?ID=22793
Offline
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?
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