Re: [CentOS] C6 LiveCD top 5 apps

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [CentOS] C6 LiveCD top 5 apps

cornel panceac


2011/6/11 <[hidden email]>
Regarding http://twitter.com/CentOS/statuses/79336297579282432

I don't have a twitter account so I'm spamming the list since it looks on
topic :)

I'd like to see on the LiveCD the following:
1. latest dd_rescue
2. latest gparted
3. ntfs-3g
4. screen
5. mc

How about you?

system rescue cd
sysresccd.org


_______________________________________________
CentOS mailing list
[hidden email]
http://lists.centos.org/mailman/listinfo/centos
Reply | Threaded
Open this post in threaded view
|

Re: [CentOS] C6 LiveCD top 5 apps

Ljubomir Ljubojevic
[hidden email] wrote:

> Regarding http://twitter.com/CentOS/statuses/79336297579282432
>
> I don't have a twitter account so I'm spamming the list since it looks on
> topic :)
>
> I'd like to see on the LiveCD the following:
> 1. latest dd_rescue
> 2. latest gparted
> 3. ntfs-3g
> 4. screen
> 5. mc
>
> How about you?
>

It's nice list but a bit small for my taste :-D

Official LiveCD can not have anything from other repos.

When C6 is released I am going to create LiveCD with:
2, 3, 4, 5, 6,
krusader
lvm (if it is not already in kernel but I think it is)
mdmonitor
gftp
pidgin
thunderbird
xchat
ktorrent
d4x
skype
amarok-extras-freeworld
smplayer
nmap-frontend
rdesktop
tsclient
k3b
kdiff3
krename
yumex
gftp
fuse-ntfs-3g
isomaster
system-config-lvm
mc
webmin
shorewall
ghostscript
kmod-nvidia?(elrepo modules)?
nvidia-x11-drv?(elrepo modules)?
fglrx*?(elrepo modules)?
gksu(or alternative)
plnet-release (my own release package)
madwifi+madwifi module with AR5007EG support.
webmin
shorewall
non-free codecs

Some things will not be added, some will, etc.

List is from my LiveCD on CentOS 5.3 with added services:
cups,haldaemon,mcstrans,NetworkManager,portmap,restorecond,mdmonitor

You can download and use it:
http://rpms.plnet.rs/plnet-centos5-i386/CentOS-5.3-PLNet-i386-LiveCD.iso
but be warned that it is not an Official LiveCD and that is contains
custom packages from mine and other third-party repositories. And that
my packages were not signed back then.

Ljubomir
_______________________________________________
CentOS mailing list
[hidden email]
http://lists.centos.org/mailman/listinfo/centos
Reply | Threaded
Open this post in threaded view
|

Re: [CentOS] C6 LiveCD top 5 apps

Arun Khan
In reply to this post by cornel panceac
On 6/11/11, cornel panceac <[hidden email]> wrote:
>> system rescue cd
> sysresccd.org

+1 and it has a whole lot more.  The swiss knife of rescue/Live CDs.

--
Arun Khan
_______________________________________________
CentOS mailing list
[hidden email]
http://lists.centos.org/mailman/listinfo/centos
Reply | Threaded
Open this post in threaded view
|

Re: [CentOS] C6 LiveCD top 5 apps

Lamar Owen
In reply to this post by cornel panceac
On Saturday, June 11, 2011 01:56:08 AM [hidden email] wrote:
> R P Herrold writes:
> > CentOS 6 Live CD would composed of packges from the
> > distribution's packages

> Why? What's wrong with a few extra packages from EPEL?

EPEL is not part of CentOS, that's what.  Nothing per se is wrong with EPEL; it's just that the Official CentOS LiveCD needs to contain packages from the Official CentOS Repositories and nothing more.

You should install Revisor, and master your own Live media with EPEL or ATrpms or ELrepo or rpmforge or remi or whatnot packages; it's not that hard.
_______________________________________________
CentOS mailing list
[hidden email]
http://lists.centos.org/mailman/listinfo/centos
Reply | Threaded
Open this post in threaded view
|

Re: [CentOS] C6 LiveCD top 5 apps

Les Mikesell
On 6/11/11 11:54 AM, Lamar Owen wrote:

> On Saturday, June 11, 2011 01:56:08 AM [hidden email] wrote:
>> R P Herrold writes:
>>> CentOS 6 Live CD would composed of packges from the
>>> distribution's packages
>
>> Why? What's wrong with a few extra packages from EPEL?
>
> EPEL is not part of CentOS, that's what.  Nothing per se is wrong with EPEL; it's just that the Official CentOS LiveCD needs to contain packages from the Official CentOS Repositories and nothing more.
>
> You should install Revisor, and master your own Live media with EPEL or ATrpms or ELrepo or rpmforge or remi or whatnot packages; it's not that hard.

Is revisor scriptable to the point where people could share their list of
repos/packages and anyone could run the script and get an identical (but up to
date) iso?

--
   Les Mikesell
    [hidden email]
_______________________________________________
CentOS mailing list
[hidden email]
http://lists.centos.org/mailman/listinfo/centos
Reply | Threaded
Open this post in threaded view
|

Re: [CentOS] C6 LiveCD top 5 apps

Lamar Owen
On Saturday, June 11, 2011 01:56:33 PM Les Mikesell wrote:
> On 6/11/11 11:54 AM, Lamar Owen wrote:
> > You should install Revisor, and master your own Live media with EPEL or ATrpms or ELrepo or rpmforge or remi or whatnot packages; it's not that hard.
 
> Is revisor scriptable to the point where people could share their list of
> repos/packages and anyone could run the script and get an identical (but up to
> date) iso?

AFAIK, it uses a kickstart file to compose.  The docs are on the FedoraProject's pages.
_______________________________________________
CentOS mailing list
[hidden email]
http://lists.centos.org/mailman/listinfo/centos
Reply | Threaded
Open this post in threaded view
|

Re: [CentOS] C6 LiveCD top 5 apps

Ljubomir Ljubojevic
Lamar Owen wrote:
> On Saturday, June 11, 2011 01:56:33 PM Les Mikesell wrote:
>> On 6/11/11 11:54 AM, Lamar Owen wrote:
>>> You should install Revisor, and master your own Live media with EPEL or ATrpms or ELrepo or rpmforge or remi or whatnot packages; it's not that hard.
>  
>> Is revisor scriptable to the point where people could share their list of
>> repos/packages and anyone could run the script and get an identical (but up to
>> date) iso?
>
> AFAIK, it uses a kickstart file to compose.  The docs are on the FedoraProject's pages.

I used livecd-tools package from EPEL and Fedora howto:
http://fedoraproject.org/wiki/How_to_create_and_use_a_Live_CD

I took CentOS official LiveCD .ks file and adapted it for desired
packages and repos.

I have attached my .ks file. It uses my plnet repository for some extra
packages. Also attached is centos-livecd-desktop.ks with only official
repositories, so you can compare and see what I have changed.

Ljubomir

lang en_US.UTF-8
keyboard us
timezone US/Eastern
auth --useshadow --enablemd5
selinux --disabled
firewall --enabled
repo --name=a-base    --baseurl=http://mirror.centos.org/centos/5/os/$basearch
repo --name=a-updates --baseurl=http://mirror.centos.org/centos/5/updates/$basearch
repo --name=a-extras  --baseurl=http://mirror.centos.org/centos/5/extras/$basearch
repo --name=a-centosplus  --baseurl=http://centos.plnet.rs/mrepo/plnet-centos5-i386/RPMS.centosplus
repo --name=a-live    --baseurl=http://www.nanotechnologies.qc.ca/propos/linux/centos-live/$basearch/live
repo --name=a-epel  --baseurl=http://centos.plnet.rs/mrepo/plnet-centos5-i386/RPMS.epel
repo --name=a-elrepo  --baseurl=http://centos.plnet.rs/mrepo/plnet-centos5-i386/RPMS.elrepo
repo --name=a-plnet-downloaded  --baseurl=http://rpms.plnet.rs/centos5-i386/RPMS.plnet-downloaded
repo --name=a-plnet-releases  --baseurl=http://rpms.plnet.rs/centos5-i386/RPMS.plnet-releases
repo --name=a-plnet  --baseurl=http://rpms.plnet.rs/centos5-i386/RPMS.plnet
xconfig --startxonboot
part / --size 4096
services --enabled=cups,haldaemon,mcstrans,NetworkManager,portmap,restorecond,mdmonitor,bluetooth,netfs,network --disabled=anacron,auditd,cpuspeed,gpm,hidd,ip6tables,microcode_ctl,nfslock,readahead_early,readahead_later,rpcgssd,rpcidmapd,sshd


%packages
syslinux
kernel

@admin-tools
#packages removed from @admin-tools
-sabayon
-system-config-kdump
#@admin-tools <end of package list>


@base
#package added to @base
squashfs-tools
#packages removed from @base
-amtu
-bind-utils
-ccid
-conman
-coolkey
-crash
-dump
-ibmasm
-iptstate
-jwhois
-kexec-tools
-ksh
-lftp
-libaio
-logwatch
-mailcap
-nc
-nss_db
-nss_ldap
-oddjob
-pax
-pkinit-nss
-psacct
-quota
-redhat-lsb
-sendmail
-specspo
-stunnel
-talk
-tcpdump
-tree
-yum-updatesd
-vixie-cron
#@base <end of package list>


@base-x
#packages removed from @base-x
-bitstream-vera-fonts
-linuxwacom
-rhgb
-vnc-server
-xorg-x11-server-Xnest
-xorg-x11-twm
-xterm
#@base-x <end of package list>


@core
#packages removed from @core
-ed
-gnu-efi
-libhugetlbfs
#@core <end of package list>


@dialup
#packages added to @dialup
statserial
#@dialup <end of package list>


@gnome-desktop
#packages added to @gnome-desktop
compiz
gnome-bluetooth
gnome-pilot-conduits
gnome-spell
gnome-themes
#packages removed from @gnome-desktop
-esc
-eog
-gimp-print-utils
-gtkhtml3
-gnome-backgrounds
-gnome-user-share
-gok
-nautilus-sendto
-orca
-sabayon-apply
-vino
#@gnome-desktop <end of package list>


@graphical-internet
#packages added to @graphical-internet
gftp
pidgin
thunderbird
xchat
#ktorrent
#d4x
#skype
#@graphical-internet <end of package list>


@graphics
#packages removed from @graphics
-gimp-data-extras
-gimp-help
#@graphics <end of package list>


@mysql
#packages added to @mysql
php-mysql
#@mysql <end of package list>


@office
#packages added to @office
#ooo3-en-US
#ooo3-sh
#packages removed from @office
-evolution
-evolution-connector
-evolution-webcal
-openoffice.org-*2.3*
#@office <end of package list>


@printing
#packages added to @printing
bluez-utils-cups
#@printing <end of package list>


@sound-and-video
#packages added to @sound-and-video
#amarok-extras-freeworld
#smplayer
#packages removed from @sound-and-video
-rhythmbox
-vorbis-tools
#@sound-and-video <end of package list>


@system-tools
#packages added to @system-tools
nmap-frontend
rdesktop
tsclient
#packages removed from @system-tools
-bluez-hcidump
-OpenIPMI
-openldap-clients
-xdelta
-zisofs-tools
-zsh
#@system-tools <end of package list>


@text-internet
#packages removed from @text-internet
-elinks
-fetchmail
-mutt
-slrn
#@text-internet <end of package list>


@web-server
#packages removed from @web-server
-httpd-manual
-tux
-webalizer
#@web-server <end of package list>

# Other packages we don't want to include in the Live CD
-*debuginfo
-bind-libs
-compat*
-exim
-gamin-python
-nscd
-oddjob-libs
-procmail
-python-ldap
-rmt
-tclx
-yp-tools

# For the x86_64 version, one could want to remove i386 and i686 libs
#-*.i386
#-*.i686

# other usefull packages
Cluster_Administration-en-US
Deployment_Guide-en-US
Global_File_System-en-US
Virtualization-en-US
busybox
mailx
memtest86+
patch
yum-fastestmirror
yum-metadata-parser
krusader
gparted
k3b
kdiff3
krename
yumex
gftp
fuse-ntfs-3g
isomaster
system-config-lvm
mc
#webmin
#shorewall
ghostscript
kmod-nvidia
nvidia-x11-drv
fglrx*
gksu
#plnet-centos-bundle
#plnet-release
madwifi
madwifi-kmdl-*
#smart

# LiveCD bits to set up the livecd and be able to install
# Installation from the livecd requires anaconda >= 11.2.0.66
#anaconda
#anaconda-runtime
livecd-installer


%post

## locales for the Live CD
PRIMARY_LANGUAGE="en"
PRIMARY_LOCALE="en_US"
SECONDARY_LANGUAGE="fr"
SECONDARY_LOCALE="fr_CA"

## default LiveCD user
LIVECD_USER="centos"

########################################################################
# Create a sub-script so the output can be captured
# Must change "$" to "\$" and "`" to "\`" to avoid shell quoting
########################################################################
cat > /root/post-install << EOF_post
#!/bin/bash

echo ###################################################################
echo ## Creating the centos-live init script
echo ###################################################################

cat > /etc/rc.d/init.d/centos-live << EOF_initscript
#!/bin/bash
#
# live: Init script for live image
#
# chkconfig: 345 00 99
# description: Init script for live image.

. /etc/init.d/functions

if ! strstr "\\\`cat /proc/cmdline\\\`" liveimg || [ "\\\$1" != "start" ] || [ -e /.liveimg-configured ] ; then
    exit 0
fi

exists() {
    which \\\$1 >/dev/null 2>&1 || return
    \\\$*
}

# read some variables out of /proc/cmdline
for o in \\\`cat /proc/cmdline\\\` ; do
    case \\\$o in
    xdriver=*)
        xdriver="--set-driver=\\\${o#xdriver=}"
        ;;
    esac
done

touch /.liveimg-configured

# mount live image
if [ -b /dev/live ]; then
   mkdir -p /mnt/live
   mount -o ro /dev/live /mnt/live
fi

# enable swaps unless requested otherwise
swaps=\\\`blkid -t TYPE=swap -o device\\\`
if ! strstr "\\\`cat /proc/cmdline\\\`" noswap -a [ -n "\\\$swaps" ] ; then
  for s in \\\$swaps ; do
    action "Enabling swap partition \\\$s" swapon \\\$s
  done
fi

## fix various bugs and issues
# configure X, allowing user to override xdriver
exists system-config-display --noui --reconfig --set-depth=24 \\\$xdriver

# unmute sound card
exists alsaunmute 0 2> /dev/null

# turn off firstboot for livecd boots
echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot

# create a patch for kudzu init script
cat > /tmp/kudzu.patch << EOF_kudzupatch
--- kudzu.orig 2007-07-27 20:27:03.000000000 -0400
+++ kudzu 2007-07-27 20:27:23.000000000 -0400
@@ -35,6 +35,10 @@
    action "" /bin/false
  fi
 
+        # Reconfigure the keyboard
+        . /etc/sysconfig/keyboard
+        /usr/bin/system-config-keyboard \\\\\\\$KEYTABLE 2&> /dev/null
+
  # We don't want to run this on random runlevel changes.
  touch /var/lock/subsys/kudzu
  # However, if they did configure X and want runlevel 5, let's
EOF_kudzupatch

# patch kudzu init script
/usr/bin/patch /etc/rc.d/init.d/kudzu /tmp/kudzu.patch > /dev/null
rm -f /tmp/kudzu.patch

# stopgap fix for RH #217966; should be fixed in HAL instead
touch /media/.hal-mtab

# workaround clock syncing on shutdown that we don't want (RH #297421)
sed -i -e 's/hwclock/no-such-hwclock/g' /etc/rc.d/init.d/halt

# workaround avahi segfault (RH #273301)
touch /etc/resolv.conf
/sbin/restorecon /etc/resolv.conf

# set the LiveCD hostname
sed -i -e 's/HOSTNAME=localhost.localdomain/HOSTNAME=livecd.localdomain/g' /etc/sysconfig/network
/bin/hostname livecd.localdomain

## create the LiveCD default user
# add default user with no password
/usr/sbin/useradd -c "LiveCD default user" $LIVECD_USER
/usr/bin/passwd -d $LIVECD_USER > /dev/null
# give default user sudo privileges
echo "$LIVECD_USER     ALL=(ALL)     NOPASSWD: ALL" >> /etc/sudoers

## configure default user's desktop
# set up timed auto-login at 10 seconds
sed -i -e 's/\[daemon\]/[daemon]\nTimedLoginEnable=true\nTimedLogin=$LIVECD_USER\nTimedLoginDelay=10/' /etc/gdm/custom.conf
# disable screensaver locking
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-screensaver/lock_enabled false >/dev/null
# add documentation shortcuts
mkdir -p /home/$LIVECD_USER/Desktop/Documentation
cp /usr/share/applications/Cluster_Administration-en-US.desktop /home/$LIVECD_USER/Desktop/Documentation/
cp /usr/share/applications/Deployment_Guide-en-US.desktop       /home/$LIVECD_USER/Desktop/Documentation/
cp /usr/share/applications/Global_File_System-en-US.desktop     /home/$LIVECD_USER/Desktop/Documentation/
cp /usr/share/applications/Virtualization-en-US.desktop         /home/$LIVECD_USER/Desktop/Documentation/
cat > /home/$LIVECD_USER/Desktop/Documentation/Additional_Documentation.desktop << EOF_documentation
[Desktop Entry]
Name=Additional Documentation
Comment=Enterprise Linux
Exec=firefox http://www.centos.org/docs/5/
Icon=/usr/share/pixmaps/redhat-web-browser.png
Categories=Documentation;
Type=Application
Encoding=UTF-8
Terminal=false
EOF_documentation
# add keyboard configuration utility to the desktop
cp /usr/share/applications/system-config-keyboard.desktop /home/$LIVECD_USER/Desktop/

CreateDesktopIconHD()
{
mkdir -p /home/$LIVECD_USER/Desktop >/dev/null

cat > /home/$LIVECD_USER/Desktop/Local\ hard\ drives.desktop << EOF_HDicon
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Link
Name=Local hard drives
Name[en_US]=Local hard drives
Name[fr_CA]=Disques durs locaux
URL=/mnt/disc
Icon=/usr/share/icons/Bluecurve/48x48/devices/gnome-dev-harddisk.png
EOF_HDicon

chmod 755 /home/$LIVECD_USER/Desktop/Local\ hard\ drives.desktop
}

CreateDesktopIconLVM()
{
mkdir -p /home/$LIVECD_USER/Desktop >/dev/null

cat > /home/$LIVECD_USER/Desktop/Local\ logical\ volumes.desktop << EOF_LVMicon
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Link
Name=Local logical volumes
Name[en_US]=Local logical volumes
Name[fr_CA]=Volumes logiques locaux
URL=/mnt/lvm
Icon=/usr/share/icons/Bluecurve/48x48/devices/gnome-dev-harddisk.png
EOF_LVMicon

chmod 755 /home/$LIVECD_USER/Desktop/Local\ logical\ volumes.desktop
}

MOUNTOPTION="ro"
HARD_DISKS=\\\`egrep "[sh]d.\\\$" /proc/partitions | tr -s ' ' | sed 's/^  *//' | cut -d' ' -f4\\\`

echo "Mounting hard disk partitions... "
for DISK in \\\$HARD_DISKS; do
    # Get the device and system info from fdisk (but only for fat and linux partitions).
    FDISK_INFO=\\\`fdisk -l /dev/\\\$DISK | tr [A-Z] [a-z] | egrep "fat|linux" | egrep -v "swap|extended|lvm" | sed 's/*//' | tr -s ' ' | tr ' ' ':' | cut -d':' -f1,6-\\\`
    for FDISK_ENTRY in \\\$FDISK_INFO; do
        PARTITION=\\\`echo \\\$FDISK_ENTRY | cut -d':' -f1\\\`
        MOUNTPOINT="/mnt/disc/\\\${PARTITION##/dev/}"
        mkdir -p \\\$MOUNTPOINT
        MOUNTED=FALSE
   
        # get the partition type
        case \\\`echo \\\$FDISK_ENTRY | cut -d':' -f2-\\\` in
        *fat*)  
            FSTYPES="vfat"
            EXTRAOPTIONS=",uid=500";;
        *)
            FSTYPES="ext3 ext2"
            EXTRAOPTIONS="";;
        esac
   
        # try to mount the partition
        for FSTYPE in \\\$FSTYPES; do
            if mount -o "\\\${MOUNTOPTION}\\\${EXTRAOPTIONS}" -t \\\$FSTYPE \\\$PARTITION \\\$MOUNTPOINT &>/dev/null; then
                echo "\\\$PARTITION \\\$MOUNTPOINT \\\$FSTYPE noauto,\\\${MOUNTOPTION}\\\${EXTRAOPTIONS} 0 0" >> /etc/fstab
                echo -n "\\\$PARTITION "
                MOUNTED=TRUE
                CreateDesktopIconHD
            fi
        done
        [ \\\$MOUNTED = "FALSE" ] && rmdir \\\$MOUNTPOINT
    done
done
echo


FSTYPES="ext3 ext2"

echo "Scanning for logical volumes..."
if ! lvm vgscan 2>&1 | grep "No volume groups"; then
    echo "Activating logical volumes ..."
    modprobe dm_mod >/dev/null
    echo "mkdmnod" | nash --quiet
    lvm vgchange -ay
    LOGICAL_VOLUMES=\\\`lvm lvdisplay -c | sed "s/^  *//" | cut -d: -f1\\\`
    if [ ! -z "\\\$LOGICAL_VOLUMES" ]; then
        echo "Making device nodes ..."
        lvm vgmknodes
        echo -n "Mounting logical volumes ... "
        for VOLUME_NAME in \\\$LOGICAL_VOLUMES; do
            VG_NAME=\\\`echo \\\$VOLUME_NAME | cut -d/ -f3\\\`
            LV_NAME=\\\`echo \\\$VOLUME_NAME | cut -d/ -f4\\\`
            MOUNTPOINT="/mnt/lvm/\\\${VG_NAME}-\\\${LV_NAME}"
            mkdir -p \\\$MOUNTPOINT

            MOUNTED=FALSE
            for FSTYPE in \\\$FSTYPES; do
                if mount -o \\\$MOUNTOPTION -t \\\$FSTYPE \\\$VOLUME_NAME \\\$MOUNTPOINT &>/dev/null; then
                    echo "\\\$VOLUME_NAME \\\$MOUNTPOINT \\\$FSTYPE defaults,\\\${MOUNTOPTION} 0 0" >> /etc/fstab
                    echo -n "\\\$VOLUME_NAME "
                    MOUNTED=TRUE
                    CreateDesktopIconLVM
                    break
                fi
            done
            [ \\\$MOUNTED = FALSE ] && rmdir \\\$MOUNTPOINT
        done
        echo
       
    else
        echo "No logical volumes found"
    fi
fi

# give back ownership to the default user
chown -R $LIVECD_USER:$LIVECD_USER /home/$LIVECD_USER
EOF_initscript

chmod 755 /etc/rc.d/init.d/centos-live
/sbin/restorecon /etc/rc.d/init.d/centos-live
/sbin/chkconfig --add centos-live


echo ###################################################################
echo ##         Configure the firewall
echo ###################################################################
cat > /etc/sysconfig/iptables << EOF_iptables
# Firewall configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
EOF_iptables


echo ###################################################################
echo ## Trim down the LiveCD to save some space
echo ###################################################################
# remove unneeded initrd file(s)
rm -f /boot/initrd*
# temporary RPM databases can be removed
rm -f /usr/var/lib/rpm/__db.00*
# make sure there aren't core files lying around
rm -f /core*

# remove files for unsupported languages in various applications
(cd /var/lib/scrollkeeper; \
 if [ \`ls | wc -w\` -gt 11 ]; then \
     mkdir ../temp_dir; \
     mv C $PRIMARY_LANGUAGE $SECONDARY_LANGUAGE index scrollkeeper_docs TOC ../temp_dir; \
     rm -rf *; mv ../temp_dir/* .; rmdir ../temp_dir; \
     sync; \
 fi)
(cd /usr/lib/locale; \
 if [ \`ls | wc -w\` -gt 8 ]; then \
     mkdir ../temp_dir; \
     mv $PRIMARY_LOCALE* $SECONDARY_LOCALE* ../temp_dir; \
     rm -rf *; mv ../temp_dir/* .; rmdir ../temp_dir; \
     /usr/sbin/build-locale-archive; \
     sync; \
 fi)
(cd /usr/share/locale; \
 if [ \`ls | wc -w\` -gt 10 ]; then \
     mkdir ../temp_dir; \
     mv locale.alias ../temp_dir; \
     mv $PRIMARY_LANGUAGE $PRIMARY_LOCALE $SECONDARY_LANGUAGE $SECONDARY_LOCALE ../temp_dir; \
     rm -rf *; mv ../temp_dir/* .; rmdir ../temp_dir; \
     sync; \
 fi)

# remove rarely used documentation files
(cd /usr/share/doc; \
 if find . -maxdepth 1 -mmin -60 >/dev/null; then \
     find . -iname changelog* -exec rm -f {} \; ;\
     find . -iname changes -exec rm -f {} \; ;\
     find . -iname news -exec rm -f {} \; ;\
     sync; \
 fi)

# remove manual pages for unsupported languages
(cd /usr/share/man; \
 if [ \`ls | wc -w\` -gt 16 ]; then \
     mkdir ../temp_dir; \
     mv man* $PRIMARY_LANGUAGE $SECONDARY_LANGUAGE ../temp_dir; \
     rm -rf *; mv ../temp_dir/* .; rmdir ../temp_dir; \
     sync; \
 fi)
EOF_post

/bin/bash -x /root/post-install 2>&1 | tee /root/post-install.log


%post --nochroot

########################################################################
# Create a sub-script so the output can be captured
# Must change "$" to "\$" and "`" to "\`" to avoid shell quoting
########################################################################
cat > /root/postnochroot-install << EOF_postnochroot
#!/bin/bash

# add livecd-iso-to-disk utility on the LiveCD
# only works on x86, x86_64
if [ "\$(uname -i)" = "i386" -o "\$(uname -i)" = "x86_64" ]; then
  if [ ! -d \$LIVE_ROOT/LiveOS ]; then mkdir -p \$LIVE_ROOT/LiveOS ; fi
  cp /usr/bin/livecd-iso-to-disk \$LIVE_ROOT/LiveOS
fi

# customize boot menu entries
grep -A4 'label linux0'  \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/default.txt
grep -A2 'label memtest' \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/memtest.txt
grep -A2 'label local'   \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/localboot.txt

sed "s/label linux0/label linuxtext0/" \$LIVE_ROOT/isolinux/default.txt > \$LIVE_ROOT/isolinux/textmode.txt
sed -i "s/Boot/Boot (text mode)/"                                         \$LIVE_ROOT/isolinux/textmode.txt
sed -i "s/liveimg/liveimg 3/"                                             \$LIVE_ROOT/isolinux/textmode.txt
sed -i "/menu default/d"                                                  \$LIVE_ROOT/isolinux/textmode.txt

touch \$LIVE_ROOT/isolinux/installer.txt
if [ -e \$INSTALL_ROOT/boot/livecd-installer.img -a -e \$INSTALL_ROOT/boot/vmlinuz-installer* ]; then
   mv \$INSTALL_ROOT/boot/livecd-installer.img \$LIVE_ROOT/isolinux/install.img
   mv \$INSTALL_ROOT/boot/vmlinuz-installer*   \$LIVE_ROOT/isolinux/vminst
   cat > \$LIVE_ROOT/isolinux/installer.txt << EOF_installer
label installer
  menu label Network Installation
  kernel vminst
  append initrd=install.img text
EOF_installer
fi

cat \$LIVE_ROOT/isolinux/default.txt \$LIVE_ROOT/isolinux/memtest.txt \$LIVE_ROOT/isolinux/localboot.txt > \$LIVE_ROOT/isolinux/current.txt
diff \$LIVE_ROOT/isolinux/isolinux.cfg \$LIVE_ROOT/isolinux/current.txt | sed '/^[0-9][0-9]*/d; s/^. //; /^---$/d' > \$LIVE_ROOT/isolinux/cleaned.txt
cat \$LIVE_ROOT/isolinux/cleaned.txt \$LIVE_ROOT/isolinux/default.txt \$LIVE_ROOT/isolinux/textmode.txt \$LIVE_ROOT/isolinux/installer.txt \$LIVE_ROOT/isolinux/memtest.txt \$LIVE_ROOT/isolinux/localboot.txt > \$LIVE_ROOT/isolinux/isolinux.cfg
rm -f \$LIVE_ROOT/isolinux/*.txt

EOF_postnochroot

/bin/bash -x /root/postnochroot-install 2>&1 | tee /root/postnochroot-install.log

lang en_US.UTF-8
keyboard us
timezone US/Eastern
auth --useshadow --enablemd5
selinux --enforcing
firewall --enabled
repo --name=a-base    --baseurl=http://mirror.centos.org/centos/5/os/$basearch
repo --name=a-updates --baseurl=http://mirror.centos.org/centos/5/updates/$basearch
#repo --name=a-extras  --baseurl=http://mirror.centos.org/centos/5/extras/$basearch
repo --name=a-live    --baseurl=http://www.nanotechnologies.qc.ca/propos/linux/centos-live/$basearch/live
xconfig --startxonboot
part / --size 4096
services --enabled=cups,haldaemon,mcstrans,NetworkManager,portmap,restorecond --disabled=anacron,auditd,bluetooth,cpuspeed,gpm,hidd,ip6tables,mdmonitor,microcode_ctl,netfs,network,nfslock,readahead_early,readahead_later,rpcgssd,rpcidmapd,sshd


%packages
syslinux
kernel

@admin-tools
#packages removed from @admin-tools
-sabayon
-system-config-kdump
#@admin-tools <end of package list>


@base
#package added to @base
squashfs-tools
#packages removed from @base
-amtu
-bind-utils
-ccid
-conman
-coolkey
-crash
-dump
-ibmasm
-iptstate
-jwhois
-kexec-tools
-ksh
-lftp
-libaio
-logwatch
-mailcap
-nc
-nss_db
-nss_ldap
-oddjob
-pax
-pkinit-nss
-psacct
-quota
-redhat-lsb
-sendmail
-specspo
-stunnel
-talk
-tcpdump
-tree
-yum-updatesd
-vixie-cron
#@base <end of package list>


@base-x
#packages removed from @base-x
-bitstream-vera-fonts
-linuxwacom
-rhgb
-vnc-server
-xorg-x11-server-Xnest
-xorg-x11-twm
-xterm
#@base-x <end of package list>


@core
#packages removed from @core
-ed
-gnu-efi
-libhugetlbfs
#@core <end of package list>


@dialup
#packages added to @dialup
statserial
#@dialup <end of package list>


@gnome-desktop
#packages added to @gnome-desktop
compiz
gnome-bluetooth
gnome-pilot-conduits
gnome-spell
gnome-themes
#packages removed from @gnome-desktop
-esc
-eog
-gimp-print-utils
-gtkhtml3
-gnome-backgrounds
-gnome-user-share
-gok
-nautilus-sendto
-orca
-sabayon-apply
-vino
#@gnome-desktop <end of package list>


@graphical-internet
#packages added to @graphical-internet
gftp
pidgin
thunderbird
xchat
#@graphical-internet <end of package list>


@graphics
#packages removed from @graphics
-gimp-data-extras
-gimp-help
#@graphics <end of package list>


@mysql
#packages added to @mysql
php-mysql
#@mysql <end of package list>


@office
#packages removed from @office
-evolution
-evolution-connector
-evolution-webcal
-openoffice.org-draw
-openoffice.org-graphicfilter
#@office <end of package list>


@printing
#packages added to @printing
bluez-utils-cups
#@printing <end of package list>


@sound-and-video
#packages removed from @sound-and-video
-rhythmbox
-vorbis-tools
#@sound-and-video <end of package list>


@system-tools
#packages added to @system-tools
nmap-frontend
rdesktop
tsclient
#packages removed from @system-tools
-bluez-hcidump
-hwbrowser
-OpenIPMI
-openldap-clients
-xdelta
-zisofs-tools
-zsh
#@system-tools <end of package list>


@text-internet
#packages removed from @text-internet
-elinks
-fetchmail
-mutt
-slrn
#@text-internet <end of package list>


@web-server
#packages removed from @web-server
-httpd-manual
-tux
-webalizer
#@web-server <end of package list>

# Other packages we don't want to include in the Live CD
-*debuginfo
-bind-libs
-compat*
-exim
-gamin-python
-nscd
-oddjob-libs
-procmail
-python-ldap
-rmt
-tclx
-yp-tools

# For the x86_64 version, one could want to remove i386 and i686 libs
#-*.i386
#-*.i686

# other usefull packages
Cluster_Administration-en-US
Deployment_Guide-en-US
Global_File_System-en-US
Virtualization-en-US
busybox
mailx
memtest86+
patch
yum-fastestmirror
yum-metadata-parser


# LiveCD bits to set up the livecd and be able to install
# Installation from the livecd requires anaconda >= 11.2.0.66
#anaconda
#anaconda-runtime
livecd-installer


%post

## locales for the Live CD
PRIMARY_LANGUAGE="en"
PRIMARY_LOCALE="en_US"
SECONDARY_LANGUAGE="fr"
SECONDARY_LOCALE="fr_CA"

## default LiveCD user
LIVECD_USER="centos"

########################################################################
# Create a sub-script so the output can be captured
# Must change "$" to "\$" and "`" to "\`" to avoid shell quoting
########################################################################
cat > /root/post-install << EOF_post
#!/bin/bash

echo ###################################################################
echo ## Creating the centos-live init script
echo ###################################################################

cat > /etc/rc.d/init.d/centos-live << EOF_initscript
#!/bin/bash
#
# live: Init script for live image
#
# chkconfig: 345 00 99
# description: Init script for live image.

. /etc/init.d/functions

if ! strstr "\\\`cat /proc/cmdline\\\`" liveimg || [ "\\\$1" != "start" ] || [ -e /.liveimg-configured ] ; then
    exit 0
fi

exists() {
    which \\\$1 >/dev/null 2>&1 || return
    \\\$*
}

# read some variables out of /proc/cmdline
for o in \\\`cat /proc/cmdline\\\` ; do
    case \\\$o in
    xdriver=*)
        xdriver="--set-driver=\\\${o#xdriver=}"
        ;;
    esac
done

touch /.liveimg-configured

# mount live image
if [ -b /dev/live ]; then
   mkdir -p /mnt/live
   mount -o ro /dev/live /mnt/live
fi

# enable swaps unless requested otherwise
swaps=\\\`blkid -t TYPE=swap -o device\\\`
if ! strstr "\\\`cat /proc/cmdline\\\`" noswap -a [ -n "\\\$swaps" ] ; then
  for s in \\\$swaps ; do
    action "Enabling swap partition \\\$s" swapon \\\$s
  done
fi

## fix various bugs and issues
# configure X, allowing user to override xdriver
exists system-config-display --noui --reconfig --set-depth=24 \\\$xdriver

# unmute sound card
exists alsaunmute 0 2> /dev/null

# turn off firstboot for livecd boots
echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot

# create a patch for kudzu init script
cat > /tmp/kudzu.patch << EOF_kudzupatch
--- kudzu.orig 2007-07-27 20:27:03.000000000 -0400
+++ kudzu 2007-07-27 20:27:23.000000000 -0400
@@ -35,6 +35,10 @@
    action "" /bin/false
  fi
 
+        # Reconfigure the keyboard
+        . /etc/sysconfig/keyboard
+        /usr/bin/system-config-keyboard \\\\\\\$KEYTABLE 2&> /dev/null
+
  # We don't want to run this on random runlevel changes.
  touch /var/lock/subsys/kudzu
  # However, if they did configure X and want runlevel 5, let's
EOF_kudzupatch

# patch kudzu init script
/usr/bin/patch /etc/rc.d/init.d/kudzu /tmp/kudzu.patch > /dev/null
rm -f /tmp/kudzu.patch

# stopgap fix for RH #217966; should be fixed in HAL instead
touch /media/.hal-mtab

# workaround clock syncing on shutdown that we don't want (RH #297421)
sed -i -e 's/hwclock/no-such-hwclock/g' /etc/rc.d/init.d/halt

# workaround avahi segfault (RH #273301)
touch /etc/resolv.conf
/sbin/restorecon /etc/resolv.conf

# set the LiveCD hostname
sed -i -e 's/HOSTNAME=localhost.localdomain/HOSTNAME=livecd.localdomain/g' /etc/sysconfig/network
/bin/hostname livecd.localdomain

## create the LiveCD default user
# add default user with no password
/usr/sbin/useradd -c "LiveCD default user" $LIVECD_USER
/usr/bin/passwd -d $LIVECD_USER > /dev/null
# give default user sudo privileges
echo "$LIVECD_USER     ALL=(ALL)     NOPASSWD: ALL" >> /etc/sudoers

## configure default user's desktop
# set up timed auto-login at 10 seconds
sed -i -e 's/\[daemon\]/[daemon]\nTimedLoginEnable=true\nTimedLogin=$LIVECD_USER\nTimedLoginDelay=10/' /etc/gdm/custom.conf
# disable screensaver locking
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-screensaver/lock_enabled false >/dev/null
# add documentation shortcuts
mkdir -p /home/$LIVECD_USER/Desktop/Documentation
cp /usr/share/applications/Cluster_Administration-en-US.desktop /home/$LIVECD_USER/Desktop/Documentation/
cp /usr/share/applications/Deployment_Guide-en-US.desktop       /home/$LIVECD_USER/Desktop/Documentation/
cp /usr/share/applications/Global_File_System-en-US.desktop     /home/$LIVECD_USER/Desktop/Documentation/
cp /usr/share/applications/Virtualization-en-US.desktop         /home/$LIVECD_USER/Desktop/Documentation/
cat > /home/$LIVECD_USER/Desktop/Documentation/Additional_Documentation.desktop << EOF_documentation
[Desktop Entry]
Name=Additional Documentation
Comment=Enterprise Linux
Exec=firefox http://www.centos.org/docs/5/
Icon=/usr/share/pixmaps/redhat-web-browser.png
Categories=Documentation;
Type=Application
Encoding=UTF-8
Terminal=false
EOF_documentation
# add keyboard configuration utility to the desktop
cp /usr/share/applications/system-config-keyboard.desktop /home/$LIVECD_USER/Desktop/

CreateDesktopIconHD()
{
mkdir -p /home/$LIVECD_USER/Desktop >/dev/null

cat > /home/$LIVECD_USER/Desktop/Local\ hard\ drives.desktop << EOF_HDicon
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Link
Name=Local hard drives
Name[en_US]=Local hard drives
Name[fr_CA]=Disques durs locaux
URL=/mnt/disc
Icon=/usr/share/icons/Bluecurve/48x48/devices/gnome-dev-harddisk.png
EOF_HDicon

chmod 755 /home/$LIVECD_USER/Desktop/Local\ hard\ drives.desktop
}

CreateDesktopIconLVM()
{
mkdir -p /home/$LIVECD_USER/Desktop >/dev/null

cat > /home/$LIVECD_USER/Desktop/Local\ logical\ volumes.desktop << EOF_LVMicon
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Link
Name=Local logical volumes
Name[en_US]=Local logical volumes
Name[fr_CA]=Volumes logiques locaux
URL=/mnt/lvm
Icon=/usr/share/icons/Bluecurve/48x48/devices/gnome-dev-harddisk.png
EOF_LVMicon

chmod 755 /home/$LIVECD_USER/Desktop/Local\ logical\ volumes.desktop
}

MOUNTOPTION="ro"
HARD_DISKS=\\\`egrep "[sh]d.\\\$" /proc/partitions | tr -s ' ' | sed 's/^  *//' | cut -d' ' -f4\\\`

echo "Mounting hard disk partitions... "
for DISK in \\\$HARD_DISKS; do
    # Get the device and system info from fdisk (but only for fat and linux partitions).
    FDISK_INFO=\\\`fdisk -l /dev/\\\$DISK | tr [A-Z] [a-z] | egrep "fat|linux" | egrep -v "swap|extended|lvm" | sed 's/*//' | tr -s ' ' | tr ' ' ':' | cut -d':' -f1,6-\\\`
    for FDISK_ENTRY in \\\$FDISK_INFO; do
        PARTITION=\\\`echo \\\$FDISK_ENTRY | cut -d':' -f1\\\`
        MOUNTPOINT="/mnt/disc/\\\${PARTITION##/dev/}"
        mkdir -p \\\$MOUNTPOINT
        MOUNTED=FALSE
   
        # get the partition type
        case \\\`echo \\\$FDISK_ENTRY | cut -d':' -f2-\\\` in
        *fat*)  
            FSTYPES="vfat"
            EXTRAOPTIONS=",uid=500";;
        *)
            FSTYPES="ext3 ext2"
            EXTRAOPTIONS="";;
        esac
   
        # try to mount the partition
        for FSTYPE in \\\$FSTYPES; do
            if mount -o "\\\${MOUNTOPTION}\\\${EXTRAOPTIONS}" -t \\\$FSTYPE \\\$PARTITION \\\$MOUNTPOINT &>/dev/null; then
                echo "\\\$PARTITION \\\$MOUNTPOINT \\\$FSTYPE noauto,\\\${MOUNTOPTION}\\\${EXTRAOPTIONS} 0 0" >> /etc/fstab
                echo -n "\\\$PARTITION "
                MOUNTED=TRUE
                CreateDesktopIconHD
            fi
        done
        [ \\\$MOUNTED = "FALSE" ] && rmdir \\\$MOUNTPOINT
    done
done
echo


FSTYPES="ext3 ext2"

echo "Scanning for logical volumes..."
if ! lvm vgscan 2>&1 | grep "No volume groups"; then
    echo "Activating logical volumes ..."
    modprobe dm_mod >/dev/null
    echo "mkdmnod" | nash --quiet
    lvm vgchange -ay
    LOGICAL_VOLUMES=\\\`lvm lvdisplay -c | sed "s/^  *//" | cut -d: -f1\\\`
    if [ ! -z "\\\$LOGICAL_VOLUMES" ]; then
        echo "Making device nodes ..."
        lvm vgmknodes
        echo -n "Mounting logical volumes ... "
        for VOLUME_NAME in \\\$LOGICAL_VOLUMES; do
            VG_NAME=\\\`echo \\\$VOLUME_NAME | cut -d/ -f3\\\`
            LV_NAME=\\\`echo \\\$VOLUME_NAME | cut -d/ -f4\\\`
            MOUNTPOINT="/mnt/lvm/\\\${VG_NAME}-\\\${LV_NAME}"
            mkdir -p \\\$MOUNTPOINT

            MOUNTED=FALSE
            for FSTYPE in \\\$FSTYPES; do
                if mount -o \\\$MOUNTOPTION -t \\\$FSTYPE \\\$VOLUME_NAME \\\$MOUNTPOINT &>/dev/null; then
                    echo "\\\$VOLUME_NAME \\\$MOUNTPOINT \\\$FSTYPE defaults,\\\${MOUNTOPTION} 0 0" >> /etc/fstab
                    echo -n "\\\$VOLUME_NAME "
                    MOUNTED=TRUE
                    CreateDesktopIconLVM
                    break
                fi
            done
            [ \\\$MOUNTED = FALSE ] && rmdir \\\$MOUNTPOINT
        done
        echo
       
    else
        echo "No logical volumes found"
    fi
fi

# give back ownership to the default user
chown -R $LIVECD_USER:$LIVECD_USER /home/$LIVECD_USER
EOF_initscript

chmod 755 /etc/rc.d/init.d/centos-live
/sbin/restorecon /etc/rc.d/init.d/centos-live
/sbin/chkconfig --add centos-live


echo ###################################################################
echo ##         Configure the firewall
echo ###################################################################
cat > /etc/sysconfig/iptables << EOF_iptables
# Firewall configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
EOF_iptables


echo ###################################################################
echo ## Trim down the LiveCD to save some space
echo ###################################################################
# remove unneeded initrd file(s)
rm -f /boot/initrd*
# temporary RPM databases can be removed
rm -f /usr/var/lib/rpm/__db.00*
# make sure there aren't core files lying around
rm -f /core*

# remove files for unsupported languages in various applications
(cd /var/lib/scrollkeeper; \
 if [ \`ls | wc -w\` -gt 11 ]; then \
     mkdir ../temp_dir; \
     mv C $PRIMARY_LANGUAGE $SECONDARY_LANGUAGE index scrollkeeper_docs TOC ../temp_dir; \
     rm -rf *; mv ../temp_dir/* .; rmdir ../temp_dir; \
     sync; \
 fi)
(cd /usr/lib/locale; \
 if [ \`ls | wc -w\` -gt 8 ]; then \
     mkdir ../temp_dir; \
     mv $PRIMARY_LOCALE* $SECONDARY_LOCALE* ../temp_dir; \
     rm -rf *; mv ../temp_dir/* .; rmdir ../temp_dir; \
     /usr/sbin/build-locale-archive; \
     sync; \
 fi)
(cd /usr/share/locale; \
 if [ \`ls | wc -w\` -gt 10 ]; then \
     mkdir ../temp_dir; \
     mv locale.alias ../temp_dir; \
     mv $PRIMARY_LANGUAGE $PRIMARY_LOCALE $SECONDARY_LANGUAGE $SECONDARY_LOCALE ../temp_dir; \
     rm -rf *; mv ../temp_dir/* .; rmdir ../temp_dir; \
     sync; \
 fi)

# remove rarely used documentation files
(cd /usr/share/doc; \
 if find . -maxdepth 1 -mmin -60 >/dev/null; then \
     find . -iname changelog* -exec rm -f {} \; ;\
     find . -iname changes -exec rm -f {} \; ;\
     find . -iname news -exec rm -f {} \; ;\
     sync; \
 fi)

# remove manual pages for unsupported languages
(cd /usr/share/man; \
 if [ \`ls | wc -w\` -gt 16 ]; then \
     mkdir ../temp_dir; \
     mv man* $PRIMARY_LANGUAGE $SECONDARY_LANGUAGE ../temp_dir; \
     rm -rf *; mv ../temp_dir/* .; rmdir ../temp_dir; \
     sync; \
 fi)
EOF_post

/bin/bash -x /root/post-install 2>&1 | tee /root/post-install.log


%post --nochroot

########################################################################
# Create a sub-script so the output can be captured
# Must change "$" to "\$" and "`" to "\`" to avoid shell quoting
########################################################################
cat > /root/postnochroot-install << EOF_postnochroot
#!/bin/bash

# add livecd-iso-to-disk utility on the LiveCD
# only works on x86, x86_64
if [ "\$(uname -i)" = "i386" -o "\$(uname -i)" = "x86_64" ]; then
  if [ ! -d \$LIVE_ROOT/LiveOS ]; then mkdir -p \$LIVE_ROOT/LiveOS ; fi
  cp /usr/bin/livecd-iso-to-disk \$LIVE_ROOT/LiveOS
fi

# customize boot menu entries
grep -A4 'label linux0'  \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/default.txt
grep -A2 'label memtest' \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/memtest.txt
grep -A2 'label local'   \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/localboot.txt

sed "s/label linux0/label linuxtext0/" \$LIVE_ROOT/isolinux/default.txt > \$LIVE_ROOT/isolinux/textmode.txt
sed -i "s/Boot/Boot (text mode)/"                                         \$LIVE_ROOT/isolinux/textmode.txt
sed -i "s/liveimg/liveimg 3/"                                             \$LIVE_ROOT/isolinux/textmode.txt
sed -i "/menu default/d"                                                  \$LIVE_ROOT/isolinux/textmode.txt

touch \$LIVE_ROOT/isolinux/installer.txt
if [ -e \$INSTALL_ROOT/boot/livecd-installer.img -a -e \$INSTALL_ROOT/boot/vmlinuz-installer* ]; then
   mv \$INSTALL_ROOT/boot/livecd-installer.img \$LIVE_ROOT/isolinux/install.img
   mv \$INSTALL_ROOT/boot/vmlinuz-installer*   \$LIVE_ROOT/isolinux/vminst
   cat > \$LIVE_ROOT/isolinux/installer.txt << EOF_installer
label installer
  menu label Network Installation
  kernel vminst
  append initrd=install.img text
EOF_installer
fi

cat \$LIVE_ROOT/isolinux/default.txt \$LIVE_ROOT/isolinux/memtest.txt \$LIVE_ROOT/isolinux/localboot.txt > \$LIVE_ROOT/isolinux/current.txt
diff \$LIVE_ROOT/isolinux/isolinux.cfg \$LIVE_ROOT/isolinux/current.txt | sed '/^[0-9][0-9]*/d; s/^. //; /^---$/d' > \$LIVE_ROOT/isolinux/cleaned.txt
cat \$LIVE_ROOT/isolinux/cleaned.txt \$LIVE_ROOT/isolinux/default.txt \$LIVE_ROOT/isolinux/textmode.txt \$LIVE_ROOT/isolinux/installer.txt \$LIVE_ROOT/isolinux/memtest.txt \$LIVE_ROOT/isolinux/localboot.txt > \$LIVE_ROOT/isolinux/isolinux.cfg
rm -f \$LIVE_ROOT/isolinux/*.txt

EOF_postnochroot

/bin/bash -x /root/postnochroot-install 2>&1 | tee /root/postnochroot-install.log

_______________________________________________
CentOS mailing list
[hidden email]
http://lists.centos.org/mailman/listinfo/centos
Reply | Threaded
Open this post in threaded view
|

Re: [CentOS] C6 LiveCD top 5 apps

Ljubomir Ljubojevic
Ljubomir Ljubojevic wrote:

> Lamar Owen wrote:
>> On Saturday, June 11, 2011 01:56:33 PM Les Mikesell wrote:
>>> On 6/11/11 11:54 AM, Lamar Owen wrote:
>>>> You should install Revisor, and master your own Live media with EPEL
>>>> or ATrpms or ELrepo or rpmforge or remi or whatnot packages; it's
>>>> not that hard.
>>  
>>> Is revisor scriptable to the point where people could share their
>>> list of repos/packages and anyone could run the script and get an
>>> identical (but up to date) iso?
>>
>> AFAIK, it uses a kickstart file to compose.  The docs are on the
>> FedoraProject's pages.
>
> I used livecd-tools package from EPEL and Fedora howto:
> http://fedoraproject.org/wiki/How_to_create_and_use_a_Live_CD
>
> I took CentOS official LiveCD .ks file and adapted it for desired
> packages and repos.
>
> I have attached my .ks file. It uses my plnet repository for some extra
> packages. Also attached is centos-livecd-desktop.ks with only official
> repositories, so you can compare and see what I have changed.
>
> Ljubomir
>
Hm, I failed to change epel, centosplus and elrepo repositories to
official ones. I guess I am going to pay for that if more people start
using it without changing them to official ones. Oh well...

Ljubomir
_______________________________________________
CentOS mailing list
[hidden email]
http://lists.centos.org/mailman/listinfo/centos
Reply | Threaded
Open this post in threaded view
|

Re: [CentOS] C6 LiveCD top 5 apps

Steven Crothers
On Sat, Jun 11, 2011 at 5:33 PM, Ljubomir Ljubojevic <[hidden email]> wrote:
Hm, I failed to change epel, centosplus and elrepo repositories to
official ones. I guess I am going to pay for that if more people start
using it without changing them to official ones. Oh well...

Ljubomir

Technically not your fault, there's not enough organization in the project to prevent an easily overlooked mistake like that from hitting the public.

You could release your work to something like Github, but I'm sure the CentOS team doesn't want that...

--
Steven Crothers

_______________________________________________
CentOS mailing list
[hidden email]
http://lists.centos.org/mailman/listinfo/centos
Reply | Threaded
Open this post in threaded view
|

[CentOS] C6 LiveCD top 5 apps

R P Herrold
On Sat, 11 Jun 2011, Steven Crothers wrote:

> You could release your work to something like Github, but
> I'm sure the CentOS team doesn't want that...

ehh?  The CentOS team has been quite clear that its product
carries the license of the underlying packages, and then GPL
for released CentOS source code; I am aware of no exceptions
as to released binary content from the project)

CentOS private signing keys have never been released, and will
not be, to avoid forged content is the project's name; CentOS'
branding changes are all knowable from the SRPMs released;
CentOS' trademarks (the brand name, and the logo, are what
come to mind) would need to be replaced, but this is
straightforward, and as noted, the sources are published

SME, and ClearOS, and others have worked forward from a CentOS
base for years without objection from the project

The only material restriction is that of not falsely
representing non-CentOS content as of CentOS origin.
'mash-up's' from some VPS vendors that sell under the 'CentOS'
name, but deliver some hacked up knockoff, carrying a
mish-mash of cruft, and sending their support load into
CentOS channels, are what really raise my hackles

I don't know why a VCS such as github is needed for such a
small set of revisor CLI control scripts, but it may of course
be done

The thing that would be galling is if a sub-project author
'hijacked' CentOS mailing lists on a sustained basis, rather
than having the honesty to announce and publish and thereafter
run their own infrastructure -- El Repo is an example of such
a well-run sub-project, off the top of my head; alternatively
some have published content under the CC license of the CentOS
wiki, and that may well serve here for documenting a revisor
recipe.  The -docs mailing list is the provided venue for
getting rights to slot such content in

My $0.02

-- Russ herrold
_______________________________________________
CentOS mailing list
[hidden email]
http://lists.centos.org/mailman/listinfo/centos