QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1722|回复: 5

gentoo- e17.build.sh

[复制链接]
发表于 2006-3-13 02:03:53 | 显示全部楼层 |阅读模式
[code:1]

# EFL - LIST OF LIBRARIES - DATE 02/22/2006
# ==============================================
# [source] http://www1.get-e.org/EFL_User_Guide/English/_pages/2.1.html [02/22/2006]
#
# 1. e17/libs/eet
# 2. e17/libs/edb
# 3. e17/libs/evas
# 4. e17/libs/ecore
# 5. e17/libs/embryo
# 6. e17/libs/imlib2
# 7. e17/libs/edje
# 8. e17/libs/epeg
# 9. e17/libs/epsilon
# 10. e17/libs/esmart
# 11. e17/libs/emotion (note that you'll need to have xine-lib installed as emotion uses it)
# 12. e17/libs/engrave (this is currently needed for e_utils only)
# 13. e17/libs/ewl (this is needed for some apps only)
# 14. e17/libs/etox
# 15. e17/proto/etk (this is needed for some apps only)
#
# in gentoo: (put to your /etc/portage/package.keywords)
# dev-libs/eet -*
# dev-db/edb -*
# x11-libs/evas -*
# x11-libs/ecore -*
# dev-libs/embryo -*
# media-libs/edje -*
# media-libs/epeg -*
# media-libs/epsilon -*
# x11-libs/esmart -*
# media-libs/emotion -*
# media-libs/gstreamer ~x86
# dev-libs/engrave -*
# x11-libs/ewl -*
# media-libs/etox -*
# x11-libs/etk -*
#

EFL_PKGS="dev-libs/eet dev-db/edb x11-libs/evas x11-libs/ecore dev-libs/embryo media-libs/edje media-libs/epeg media-libs/epsilon x11-libs/esmart media-libs/emotion media-libs/gstreamer dev-libs/engrave x11-libs/ewl media-libs/etox x11-libs/etk"

#
# E17 PACKAGES - DATE 02/22/2006
# =============================================
# [source] http://www1.get-e.org/EFL_User_Guide/English/_pages/2.1.html [02/22/2006]
#
# e17/apps/e
#
# in gentoo: (put to your /etc/portage/package.keywords)
# x11-wm/e -*
# x11-misc/e17genmenu -*
# x11-plugins/e_modules -*
#

E17_PKGS="x11-wm/e x11-misc/e17genmenu x11-plugins/e_modules"

#
# E17 APPLICATIONS - DATE 02/22/2006
# =============================================
# [source] http://www1.get-e.org/EFL_User_Guide/English/_pages/2.1.html [02/22/2006]
#
# e17/apps/entice (image viewer)
# e17/apps/entrance (login manager)
# e17/apps/eclair (media player)
# misc/engage (standalone dockbar and E17 module)
# misc/erss (RSS feed application that does not work correctly in E17)
# e17/apps/elicit (color picker/screen magnifier)
# misc/embrace (mail checker and E17 module)
# e17/proto/entropy (file manager)
# e17/proto/exhibit (image viwer)
#
# in gentoo:
# media-gfx/entice -*
# x11-misc/entrance -*
# media-video/eclair -*
# x11-misc/engage -*
# app-misc/examine -*
# net-news/erss -*
# media-gfx/elicit -*
# mail-client/embrace-9999 -*
# app-misc/entropy -*
# sys-fs/evfs -*
# media-gfx/exhibit -*
#
E17_APP_PKGS="media-gfx/entice media-video/eclair media-gfx/elicit =mail-client/embrace-9999 app-misc/entropy media-gfx/exhibit"

#
# INTERNAL VARIABLES USED BY THIS SCRIPT
#

# ask user for interaction:
#   'ask'      --> ask user on error
#   'yes'      --> just do it (continue on error)
#   'no'       --> don't do it (exit on error)
#   'askall'   --> ask to merge package
DUDE_SAYS="ask"

# which packages to build
#   'all' --> build efl,e and e-apps
#   'efl' --> build efl
#   'e'   --> buile e-wm
#   'eap' --> build e apps
#
PKGS="all"

# use mirror thinktux.net
#   0 --> no
#   1 --> yes
#
USEMIRROR=0

# saves all packages to build in order!
#
TOBUILD=""


function buildPkgs() {
   for next in $TOBUILD ; do
      MERGEIT=1
      if [ $DUDE_SAYS = "askall" ] ; then

         DUDE_ANSWERS="Z"
         while [ "x$DUDE_ANSWERS" != "xn" -a "x$DUDE_ANSWERS" != "xy" ] ; do
            echo -e "\nDo you want to merge $next ? [y/n]"
            read -n 1 DUDE_ANSWERS
         done

         if [ "x$DUDE_ANSWERS" = "xn" ] ; then
            MERGEIT=0;
         fi
      fi

      if [ $MERGEIT -eq 1 ] ; then
         emerge $next

         ERES=$?
         echo "emerge exit code $ERES"

         if [ $ERES -ne 0 ] ; then
            if [ $ERES -eq 127 -o $ERES -eq 102 ] ; then
               echo "USER ABORT"
               exit $ERES;
            fi

            MERGEIT=0
            if [ "x$DUDE_SAYS" = "xask" -o "x$DUDE_SAYS" = "xaskall" ] ; then

               DUDE_ANSWERS="Z"
               while [ "x$DUDE_ANSWERS" != "xn" -a "x$DUDE_ANSWERS" != "xy" ] ; do
                  echo -e "\nError merging $next! Continue ? [y/n]\n"
                  read -n 1 DUDE_ANSWERS
               done

               if [ "x$DUDE_ANSWERS" = "xy" ] ; then
                  MERGEIT=1
               fi

            elif [ "x$DUDE_SAYS" = "xyes" ] ; then
               MERGEIT=1
            fi

            if [ $MERGEIT -eq 0 ] ; then
               exit $ERES
            fi
         fi
      fi
   done
}

function parseArgs() {
   while getopts a:p:m: p ; do
      case $p in
         a) [ "x$OPTARG" = "xask" -o "x$OPTARG" = "xaskall" -o "x$OPTARG" = "xyes" -o "x$OPTARG" = "xno" ] && DUDE_SAYS=$OPTARG;;
         p) [ "x$OPTARG" = "xall" -o "x$OPTARG" = "xefl" -o "x$OPTARG" = "xe" -o "x$OPTARG" = "xeap" ] && PKGS=$OPTARG;;
         m) [ "x$OPTARG" = "x0" -o "x$OPTARG" = "x1" ] && USEMIRROR=$OPTARG;;
         ?) usage
            exit 0;;
      esac
   done;

   if [ $USEMIRROR -eq 1 ] ; then
      export ECVS_SERVER="thinktux.net:/root"
   fi

   if [ "x$PKGS" = "xall" -o "x$PKGS" = "xefl" ] ; then
      TOBUILD=$EFL_PKGS
   fi

   if [ "x$PKGS" = "xall" -o "x$PKGS" = "xe" ] ; then
      TOBUILD=$TOBUILD" "$E17_PKGS
   fi

   if [ "x$PKGS" = "xall" -o "x$PKGS" = "xeap" ] ; then
      TOBUILD=$TOBUILD" "$E17_APP_PKGS
   fi

   echo $TOBUILD
}

function usage() {
   echo "** E17 INSTALL SCRIPT **"
   echo "USE THIS SCRIPT AT YOUR *OWN RISK*, I WON'T TAKE ANY RESPONSIBILITY"
   echo "FOR USABILITY OR CORRECTNESS OF THIS SCRIPT, NOR FOR ANY ERRORS CAUSED"
   echo "BY IT!"
   echo "USAGE:"
   echo "======"
   echo "  ${0##*/} [ options ]"
   echo
   echo " [ options ]"
   echo "  -a ask | askall | yes | no"
   echo "  -p all | efl | e | eap"
   echo "  -m yes | no"
   echo
   echo " -a option (ask):"
   echo "     ask     set this option to define that you are asked to"
   echo "             abort this script if an emerge error appears"
   echo "             (DEFAULT)"
   echo
   echo "     askall  set this option to define that you are asked"
   echo "             everytime before a package is emerged if you like"
   echo "             to merge it and if an emerge error appears if you"
   echo "             want to abort the script"
   echo
   echo "     yes     set this option to define to continue with the"
   echo "             next package if an emerge error appears"
   echo
   echo "     no      set this option to define to abort the script if"
   echo "             an emerge error appears"
   echo
   echo " -p option (package):"
   echo "     all     emerge efl,e,eap"
   echo "             (DEFAULT)"
   echo
   echo "     efl     emerge enlightenment foundation library packages"
   echo
   echo "     e       emerge e17 window manager"
   echo
   echo "     eap     emerge e17 extra applications"
   echo
   echo " -m option (mirror)"
   echo "     0       do not use cvs mirror thinktux.net"
   echo "             (DEFAULT)"
   echo
   echo "     1       use cvs mirror thinktux.net"
   echo
}

parseArgs $*
buildPkgs
[/code:1]

Links

http://gentoo-wiki.com/HOWTO_emerge_e17
发表于 2006-3-13 12:18:36 | 显示全部楼层
发这个不是存心害我嘛

明知道e17还没有正是发行

何必呢
回复

使用道具 举报

发表于 2006-3-13 12:24:53 | 显示全部楼层
en :neutral:
回复

使用道具 举报

发表于 2006-3-13 13:01:14 | 显示全部楼层
Gentoo user should use this to emerge E17.
http://gentoo-wiki.com/HOWTO_emerge_e17
回复

使用道具 举报

 楼主| 发表于 2006-3-13 16:05:26 | 显示全部楼层
[quote:4bc62439ca="younker"]Gentoo user should use this to emerge E17.
http://gentoo-wiki.com/HOWTO_emerge_e17[/quote]


    
我的帖子最后不是给出了这个link吗?!
回复

使用道具 举报

发表于 2006-3-13 23:31:47 | 显示全部楼层
呵呵,pat下lz
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 22:52 , Processed in 0.068741 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表