#!/bin/bash # Copyright (C) 2004-2010 Centro de Computacao Cientifica e Software Livre # Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR # # This file is part of le-base # # le-base 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. #------------------------------------------------------------------------------ DIR=$(readlink -f "$0") . "`dirname "$(echo "$DIR")"`/common-functions.sh" checkUser || exit 1 checkMountedFS || exit 2 loadConf "$PREFIX/conf/$1/create-iso.conf" $1 # Set the default session if [ -f "$CHROOTDIR/etc/lightdm/lightdm.conf" ]; then sed -i 's@user-session=ubuntu@user-session=gnome@g' \ "$CHROOTDIR"/etc/lightdm/lightdm.conf fi if [ -f "$CHROOTDIR"/usr/share/xsessions/gnome.desktop ]; then sed -i 's@Exec=gnome-session --session=ubuntu@Exec=gnome-session --session=gnome@g' "$CHROOTDIR"/usr/share/xsessions/gnome.desktop fi if [ -f "$CHROOTDIR"/usr/share/xsessions/gnome-shell.desktop ]; then sed -i 's@Exec=gnome-session --session=ubuntu@Exec=gnome-session --session=gnome@g' "$CHROOTDIR"/usr/share/xsessions/gnome-shell.desktop fi # Set the release info echo "LE 5.0 \"$1\" - Release i386 ($(date +"%Y%m%d"))" > "$CDDIR/.disk/info" # Edits DEFINE #sed -i "s@Ubuntu 12.04 LTS \"$1\"@Linux Educacional 5.0@g" \ # $CDDIR/README.diskdefines # Set release notes uri echo "http://linuxeducacional.c3sl.ufpr.br/" > $CDDIR/.disk/release_notes_url # Remove useless sessions from xsessions if [ -f "$CHROOTDIR"/usr/share/xsessions/ubuntu.desktop ]; then rm "$CHROOTDIR"/usr/share/xsessions/ubuntu.desktop fi if [ -f "$CHROOTDIR"/usr/share/xsessions/ubuntu-2d.desktop ]; then rm "$CHROOTDIR"/usr/share/xsessions/ubuntu-2d.desktop fi # Change isolinux default language #echo "pt_BR" > $CDDIR/isolinux/lang rm -rf "$CDDIR"/isolinux cp -a "$TEMPLATES"/isolinux "$CDDIR"/ # Set up /etc/le/data_iso.txt INFO_ISO=$(echo "$1" | cut -d "/" -f 2) INFO_ISO="$INFO_ISO:"$(date +"%d-%m-%y") echo "$INFO_ISO" > "$CHROOTDIR"/etc/le/data_iso.txt #Change live time zone echo "America/Sao_Paulo" > "$CHROOTDIR"/etc/timezone cp -f "$CHROOTDIR"/usr/share/zoneinfo/America/Sao_Paulo "$CHROOTDIR"/etc/localtime # Re-enable update-grub on the kernel postinst sed -i s/'# exec update-grub'/'exec update-grub'/g \ "$CHROOTDIR"/etc/kernel/postinst.d/zz-update-grub # Change the live user name case "$1" in "minicom/client") sed -i 's@[Uu]buntu@monitor@g' "$CHROOTDIR"/etc/casper.conf sed -i 's@HOST="monitor"@HOST="le5-telecentro"@g' "$CHROOTDIR"/etc/casper.conf # Reconfigure le-greeter now that /etc/le/dat_iso.txt is in place chroot $CHROOTDIR dpkg-reconfigure le-greeter ;; "minicom/server") sed -i 's@[Uu]buntu@monitor@g' "$CHROOTDIR"/etc/casper.conf sed -i 's@HOST="monitor"@HOST="le5-servidor-telecentro"@g' $CHROOTDIR/etc/casper.conf ;; *) sed -i 's@[Uu]buntu@le5-live@g' $CHROOTDIR/etc/casper.conf rm -Rf $CHROOTDIR/etc/skel/* ;; esac echo "export \"FLAVOUR=le5\"" >> "$CHROOTDIR"/etc/casper.conf # Sets deb-conf install command sed -i 's@Ubuntu@LE@g' "$CDDIR"/preseed/ubuntu.seed sed -i 's@ubuntu@le@g' "$CDDIR"/preseed/ubuntu.seed # configures the DVD repository for package in $(cat "$TEMPLATES"/le-packages/packgs_list); do if [ "${package:0:3}" = "lib" ]; then packageDir="pool/main/${package:0:4}/$package" elif [ "${package:0:5}" = "linux" ]; then packageDir="pool/main/${package:0:1}/${package:0:5}" else packageDir="pool/main/${package:0:1}/$package" fi packageList="$(rgrep "^Package: $package *$" "$CHROOTDIR/var/lib/apt/lists/" | grep "binary-i386" | head -n1 | cut -d ':' -f1)" mirror="$(basename "$(echo "$packageList" | cut -d '_' -f1)")/$( echo "$packageList" | cut -d '_' -f2)" linkDir="$(grep -A21 "^Package: $package *$" "$packageList" | grep "^Filename:.*$package.*" | cut -d ' ' -f2)" echo "mirror = $mirror" echo "linkDir = $linkDir" debFile="$(basename "$linkDir")" mkdir -p "$CDDIR/$packageDir" wget http://$mirror/$linkDir -O "$CDDIR/$packageDir/$debFile" done cd "$CDDIR" for repository in main restricted; do dpkg-scanpackages "pool/$repository" \ > "$CDDIR/dists/precise/$repository/binary-i386/Packages" gzip -c "$CDDIR/dists/precise/$repository/binary-i386/Packages" \ > "$CDDIR/dists/precise/$repository/binary-i386/Packages.gz" # rm -f "$CDDIR/dists/precise/$repository/binary-i386/Packages" done act="$(pwd)" cd $CDDIR/dists/precise cat << EOF > ./Release Origin: Linux Educacional Label: Linux Ecucacional Suite: precise Version: 5.0 Codename: precise EOF echo "Date: $(date -u +"%a, %d %h %y %X UTC")" >> ./Release cat << EOF >> ./Release Architectures: i386 Components: main restricted Description: Linux Educacional 5.0 EOF for alg in MD5Sum SHA1 SHA256; do echo "$alg:" for dir in "main/binary-i386" "restricted/binary-i386"; do for file in $(ls ./$dir); do case $alg in MD5Sum) result="$(md5sum $dir/$file)" echo " $(echo $result | cut -d' ' -f1) $(ls -l $dir/$file | cut -d ' ' -f5) $(echo $result | cut -d' ' -f2)" ;; SHA1) result="$(sha1sum $dir/$file)" echo " $(echo $result | cut -d' ' -f1) $(ls -l $dir/$file | cut -d ' ' -f5) $(echo $result | cut -d' ' -f2)" ;; SHA256) result="$(sha256sum $dir/$file)" echo " $(echo $result | cut -d' ' -f1) $(ls -l $dir/$file | cut -d ' ' -f5) $(echo $result | cut -d' ' -f2)" esac done done done >> ./Release rm -f Release.gpg gpg -bao ./Release.gpg ./Release cp -a "$TEMPLATES/le-packages/public.key" "$CHROOTDIR/root/" chroot "$CHROOTDIR" apt-key add /root/public.key rm -f "$CHROOTDIR/root/public.key" cd "$act" if cat "$INSTLIST" | grep -v "^#" | grep -q "le-plymouth"; then touch "$TMP"/NEW_INITRD fi rm -rf "$CDDIR"/wubi.exe "$CDDIR"/autorun.inf cat << EOF >> $CHROOTDIR/etc/skel/.profile if [ -e "/var/lib/le-search/search.xml" ]; then gsettings set org.gnome.shell enabled-extensions "['le_search@le.c3sl.ufpr.br']" fi EOF exit 0