Magellan Linux

Diff of /trunk/mlivecdbuild/mlivecdbuild2.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 464 by niro, Sat Apr 14 15:23:27 2007 UTC revision 473 by niro, Thu Apr 19 17:13:20 2007 UTC
# Line 52  custom_services() Line 52  custom_services()
52   local services="$2"   local services="$2"
53    
54   case ${cmd} in   case ${cmd} in
55   add|del|default) continue;;   add|del|default)
56     # add given services from profile
57     if [[ -n ${services} ]]
58     then
59     local i
60     for i in ${services}
61     do
62     MROOT="${CDCHROOTDIR}" rc-config ${cmd} ${i} || die "rc ${cmd} ${i}"
63     done
64     fi
65     ;;
66   *) die "custom_services: unkown command ${cmd}";;   *) die "custom_services: unkown command ${cmd}";;
67   esac   esac
   
  # add given services from profile  
  if [[ -n ${services} ]]  
  then  
  local i  
  for i in ${services}  
  do  
  MROOT="${CDCHROOTDIR}" rc-config ${cmd} ${i} || die "rc ${cmd} ${i}"  
  done  
  fi  
68  }  }
69    
70  add_initrc()  add_initrc()
# Line 72  add_initrc() Line 72  add_initrc()
72   local var="$1"   local var="$1"
73    
74   # sanity checks   # sanity checks
75   [ -z "${CDCHROOTDIR}" ] && die "\$CDCHROOTDIR not given."   [[ -z ${CDCHROOTDIR} ]] && die "\$CDCHROOTDIR not given."
76   echo "${var}" >> ${CDCHROOTDIR}/.installrc || die "add_initrc() adding \$var"   echo "${var}" >> ${CDCHROOTDIR}/.installrc || die "add_initrc() adding \$var"
77  }  }
78    
# Line 82  custom_packages() Line 82  custom_packages()
82   local packages="$2"   local packages="$2"
83    
84   case ${cmd} in   case ${cmd} in
85   install|uninstall) continue;;   install|uninstall)
86     if [[ -n ${packages} ]]
87     then
88     :> ${CDCHROOTDIR}/.installrc
89    
90     # respect proxies
91     [[ -n ${http_proxy} ]] && add_initrc "export http_proxy=${http_proxy}"
92     [[ -n ${ftp_proxy} ]] && add_initrc "export ftp_proxy=${ftp_proxy}"
93     [[ -n ${no_proxy} ]] && add_initrc "export no_proxy=${no_proxy}"
94    
95     local i
96     for i in ${packages}
97     do
98     add_initrc "mage install ${i}"
99     done
100     add_initrc "mage clean"
101    
102     # now run the .installrc script
103     mount -t proc proc ${CDCHROOTDIR}/proc || die "mount proc"
104     mount -t sysfs sysfs ${CDCHROOTDIR}/sys || die "mount sys"
105     mount -o bind /dev ${CDCHROOTDIR}/dev || die "mount dev"
106     chroot ${CDCHROOTDIR} /bin/bash -i /.installrc || die "chr00ting"
107     umount ${CDCHROOTDIR}/dev || die "umount dev"
108     umount ${CDCHROOTDIR}/proc || die "umount proc"
109     umount ${CDCHROOTDIR}/sys || die "umount sys"
110     [ -f ${CDCHROOTDIR}/.installrc ] && rm ${CDCHROOTDIR}/.installrc
111     fi
112     ;;
113   *) die "custom_packages: unkown command ${cmd}";;   *) die "custom_packages: unkown command ${cmd}";;
114   esac   esac
   
  if [[ -n ${packages} ]]  
  then  
   
  :> ${CDCHROOTDIR}/.installrc  
  local i  
  for i in ${packages}  
  do  
  add_initrc "mage install ${i}"  
  done  
  add_initrc "mage clean"  
   
  # now run the .installrc script  
  mount -t proc proc ${CDCHROOTDIR}/proc || die "mount proc"  
  mount -t sysfs sysfs ${CDCHROOTDIR}/sys || die "mount sys"  
  mount -o bind /dev ${CDCHROOTDIR}/dev || die "mount dev"  
  chroot ${CDCHROOTDIR} /bin/bash -i /.installrc || die "chr00ting"  
  umount ${CDCHROOTDIR}/dev || die "umount dev"  
  umount ${CDCHROOTDIR}/proc || die "umount proc"  
  umount ${CDCHROOTDIR}/sys || die "umount sys"  
  [ -f ${CDCHROOTDIR}/.installrc ] && rm ${CDCHROOTDIR}/.installrc  
  fi  
115  }  }
116    
117  read_config()  read_config()
# Line 128  prepare_iso() Line 133  prepare_iso()
133   echo Preparing LiveCD ISO Image ...   echo Preparing LiveCD ISO Image ...
134    
135   # fixes some issues with xfree/xorg xkb   # fixes some issues with xfree/xorg xkb
136   if [ -L "${CDCHROOTDIR}/etc/X11/xkb" -a -d "/usr/X11R6/lib/X11/xkb" ]   if [[ -L ${CDCHROOTDIR}/etc/X11/xkb ]] && [[ -d /usr/X11R6/lib/X11/xkb ]]
137   then   then
138   rm ${CDCHROOTDIR}/etc/X11/xkb || die   rm ${CDCHROOTDIR}/etc/X11/xkb || die
139   mv ${CDCHROOTDIR}/usr/X11R6/lib/X11/xkb ${CDCHROOTDIR}/etc/X11 || die   mv ${CDCHROOTDIR}/usr/X11R6/lib/X11/xkb ${CDCHROOTDIR}/etc/X11 || die
# Line 279  enter_livecd() Line 284  enter_livecd()
284   HOME=/root \   HOME=/root \
285   TERM=$TERM PS1='\u:\w\$ ' \   TERM=$TERM PS1='\u:\w\$ ' \
286   PATH=/bin:/usr/bin:/sbin:/usr/sbin \   PATH=/bin:/usr/bin:/sbin:/usr/sbin \
287     http_proxy=${http_proxy} \
288     ftp_proxy=${ftp_proxy} \
289     no_proxy=${no_proxy} \
290   /bin/bash -i   /bin/bash -i
291  }  }
292    
# Line 295  usage() Line 303  usage()
303   echo "    isogen     - generate the final livecd iso image"   echo "    isogen     - generate the final livecd iso image"
304   echo "    dvdgen     - same as isogen but creates a dvd-image"   echo "    dvdgen     - same as isogen but creates a dvd-image"
305   echo "    all        - runs all tasks to get a livecd from zero"   echo "    all        - runs all tasks to get a livecd from zero"
306     echo "    enter      - enters the rootfs of a livecd"
307   echo   echo
308   echo "    for example '$(basename $0) all default'"   echo "    for example '$(basename $0) all default'"
309   echo "    creates a livecd using the default profile."   echo "    creates a livecd using the default profile."
# Line 325  case $1 in Line 334  case $1 in
334   generate_iso   generate_iso
335   fi   fi
336   ;;   ;;
337     enter) enter_livecd ;;
338   *|'') usage;;   *|'') usage;;
339  esac  esac

Legend:
Removed from v.464  
changed lines
  Added in v.473