Friday 26 December 2014

Fedora 21 Spinning & Remixing


Fedora 21 Spinning & Re-mixing
 
In minimum edition minimum requirements for a perfect desktop are incorporated so that office, internet, multimedia facilities can be enjoyed, size in dvd 2.7 gb


The object behind the customisation, make a dvd, so that individual including school students having no internet connection can install a Linux version with a perfect desktop, atleast with audio-video-office-digital photography facilities and person having internet connection to provide a base installation with open scope to expand it.

 
Fedora 21 has been released as per schedule, 9th Dec 2014, I have spined & re-mixed Fedora21 with following characteristics, added in a dvd -

i) tweak facilities to set gnome-shell-extensions.
ii) multimedia codecs (free, non-free) for audio & videos.
iii) windows codecs, klite codecs.
iv) fastest mirror plugins, nautilus.
v) office applicaions, adobe, flash, java-openjdk.
vi) audio & video applications.
vii) utilities.
viii)livecd-tools, liveusb-creator.
ix) graphics applications.
x) microsoft-fonts, ubuntu family fonts, 40 bengali fonts.
xi) non-indic fonts except english removed.
xii) printer-fax-scanner facilities with drivers.
xiii) qt, samba.
xiii) unijoy & bijoy key board layout for bengali input added.
Xiv) templates for office & others.
xv) scope for proprietry codecs multimedia dvds.
xvi) drivers for different hp printers series.
xvii) duplicate & unneeded applications removed.
xviii) all updates upto 20th Dec 2014 have been included.





1.Edit Yum.conf
[root@localhost /]# gedit etc/yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3

Change keepcache=0 to keepcache=1

2 Edit Config in Selinux.
[root@localhost /]# gedit etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted

Change SELINUX=enforcing to SELINUX=disabled

3. Download From Net the following files in f21 folder.

AdbeRdr9.5.5-1_i486linux_enu.rpm
flash-plugin-11.2.202.336-release.i386.rpm
gnome-shell-frippery-0.9.0-1.noarch.rpm
libdvdcss-1.2.13-7.fc20.i686.rpm
libdvdcss2-1.2.13-7.fc20.i686.rpm
libdvdcss-devel-1.2.13-7.fc20.i686.rpm
msttcore-fonts-installer-2.6-1.noarch.rpm
teamviewer_linux.rpm
ttf-banglaunicode-0.2b2-2.noarch.rpm
ubuntu-font-family-0.80-10.1.noarch.rpm
win32-codecs-all-20110131-1.i686.rpm



4. Create Folder extras_21 as under.
.
├── add_on
│   ├── exe
│   │   ├── KindleForPC-installer.exe
│   │   └── picasa39-setup.exe
│   ├── libdvdcss (multimedia codecs for dvd)
│   │   ├── libdvdcss-1.2.13-7.fc20.i686.rpm
│   │   ├── libdvdcss2-1.2.13-7.fc20.i686.rpm
│   │   └── libdvdcss-devel-1.2.13-7.fc20.i686.rpm
│   ├── printer_driver
│   │   ├── foo2hbpl2-0.20130618-2.fc21.i686.rpm
│   │   ├── foo2hiperc-0.20130618-2.fc21.i686.rpm
│   │   ├── foo2hp-0.20130618-2.fc21.i686.rpm
│   │   ├── foo2lava-0.20130618-2.fc21.i686.rpm
│   │   ├── foo2oak-0.20130618-2.fc21.i686.rpm
│   │   ├── foo2qpdl-0.20130618-2.fc21.i686.rpm
│   │   ├── foo2slx-0.20130618-2.fc21.i686.rpm
│   │   ├── foo2xqx-0.20130618-2.fc21.i686.rpm
│   │   ├── foo2zjs-0.20130618-2.fc21.i686.rpm
│   │   ├── hplip-3.14.10.run
│   │   ├── HPLIP\ Setup.pdf
│   │   └── printer_drivers.odt
│   └── templates
│   ├── Libre-Office
│   │   ├── New\ Libre\ Office\ Document.odt
│   │   ├── New\ Libre\ Office\ Drawing\ Document.odg
│   │   ├── New\ Libre\ Office\ Presentation\ Document.odp
│   │   └── New\ Libre\ Office\ Spredsheet\ Document.ods
│   ├── Ms-Office
│   │   ├── Basic\ Resume\ Templete.dotm
│   │   ├── Colourful\ Nature\ Presentation\ .potx
│   │   ├── Cover\ Letter\ for\ Functional\ Resume\ .dotx
│   │   ├── Cover\ Letter\ with\ Enclosures.dotx
│   │   ├── Curriculam\ vitae.dotx
│   │   ├── Fax\ Cover.dotx
│   │   ├── Newsletter(Black\ Tie\ design).dotx
│   │   ├── Newsletter.dotx
│   │   ├── Resume\ (Median\ Theme)\ \ .dotx
│   │   └── Time_sheet.ots
│   ├── New\ GIMP\ Image.xcf
│   └── Others
│   ├── New\ Casscading\ Style\ Sheet.css
│   ├── New\ C#\ Document.cs
│   ├── New\ C++\ Source\ File.cc
│   ├── New\ Gnome#\ Program.cs
│   ├── New\ GTK#\ Program.cs
│   ├── New\ Java\ Source\ Document.java
│   ├── New\ Perl\ Source\ File.pl
│   ├── New\ Python\ Source\ File.py
│   ├── New\ Shell\ Script.sh
│   └── New\ XML\ Document.xml
├── fonts
│   ├── bijoy-family (Bijoy Family Fonts)
│   │   ├── ATRAIOMJ.ttf
│   │   ├── BhairabOMJ.ttf
│   │   ├── BongshaiOMJ.ttf
│   │   ├── BORAKOMJ.ttf
│   │   ├── ChondanaOMJ.ttf
│   │   ├── GANGAOMJ.ttf
│   │   ├── GORAIOMJ.ttf
│   │   ├── HALDAOMJ.ttf
│   │   ├── MONOOOMJ.ttf
│   │   ├── PADMAOMJ.ttf
│   │   ├── PoshurOMJ.ttf
│   │   ├── SUTOMBI_.TTF
│   │   ├── SUTOMB__.TTF
│   │   ├── SUTOMI__.TTF
│   │   ├── SUTOM___.TTF
│   │   ├── SutonnyBanglaOMJ.ttf
│   │   ├── Sutonnye.ttf
│   │   ├── SutonnyOMJ.ttf
│   │   ├── Sutonnyp.ttf
│   │   ├── SUTONNY.TTF
│   │   ├── SUTONYTE.TTF
│   │   └── TURAGOMJ.ttf
│   ├── EkusheyFonts (Bengali Fonts)
│   │   ├── 16_December_31-08-2012.ttf
│   │   ├── Amar_Bangla_31-08-2012.ttf
│   │   ├── Amar_Bangla_Bold_31-08-2012.ttf
│   │   ├── Amar_Desh_31-08-2012.ttf
│   │   ├── Azad_27-02-2006.ttf
│   │   ├── Bangla_Kolom_Bold-04-09-2012.ttf
│   │   ├── Bangla_Kolom_Regular-04-09-2012.ttf
│   │   ├── Buriganga_31-08-2012.ttf
│   │   ├── Durga_03-09-2005.ttf
│   │   ├── Durga_Bold-04-09-2012.ttf
│   │   ├── Ekushey_Bangla-04-09-2012.ttf
│   │   ├── Ekushey_Bangla_Bold-04-09-2012.ttf
│   │   ├── Ekushey_Kolom_31-08-2012.ttf
│   │   ├── Ekushey_Kolom_Bold_31-08-2012.ttf
│   │   ├── Ghorautra_Bold_31-08-2012.ttf
│   │   ├── Ghorautra_Nornal_31-08-2012.ttf
│   │   ├── Godhuli_03-09-2005.ttf
│   │   ├── Lal_Sabuj_31-08-2012.ttf
│   │   ├── LalSabuj_Bold-04-09-2012.ttf
│   │   ├── Lal_Sabuj_Normal_31-08-2012.ttf
│   │   ├── LalSabuj\ Normal_Bold-04-09-2012.ttf
│   │   ├── Lal_Salu_Bold_31-08-2012.ttf
│   │   ├── Lal_Salu_Normal_31-08-2012.ttf
│   │   ├── Lohit_14-04-2007.ttf
│   │   ├── Mohua_07-09-05.ttf
│   │   ├── Mukto_Bold-04-09-2012.ttf
│   │   ├── Mukto_Normal_31-08-2012.ttf
│   │   ├── Puja-17-06-2006.ttf
│   │   ├── Punarbhaba_27-02-2006.ttf
│   │   ├── Punarbhaba_Bold-04-09-2012.ttf
│   │   ├── Rupali_01-02-2007.ttf
│   │   ├── Saraswatii_03-09-2005.ttf
│   │   ├── Sharifa_03-09-2005.ttf
│   │   ├── Shimanto_31-08-2012.ttf
│   │   ├── SolaimanLipi_22-02-2012.ttf
│   │   ├── SolaimanLipi_Bold_10-03-12.ttf
│   │   ├── Sornaly_Normal_31-08-2012.ttf
│   │   ├── Sumit_03-09-2005.ttf
│   │   └── Sumon_Normal_31-08-2012.ttf
│   ├── msttcore (Microsoft Fonts)
│   │   ├── andalemo.ttf
│   │   ├── arialbd.ttf
│   │   ├── arialbi.ttf
│   │   ├── ariali.ttf
│   │   ├── arial.ttf
│   │   ├── ariblk.ttf
│   │   ├── calibrib.ttf
│   │   ├── calibrii.ttf
│   │   ├── calibri.ttf
│   │   ├── calibriz.ttf
│   │   ├── cambriab.ttf
│   │   ├── cambriai.ttf
│   │   ├── cambriaz.ttf
│   │   ├── candarab.ttf
│   │   ├── candarai.ttf
│   │   ├── candara.ttf
│   │   ├── candaraz.ttf
│   │   ├── comicbd.ttf
│   │   ├── comic.ttf
│   │   ├── consolab.ttf
│   │   ├── consolai.ttf
│   │   ├── consola.ttf
│   │   ├── consolaz.ttf
│   │   ├── constanb.ttf
│   │   ├── constani.ttf
│   │   ├── constan.ttf
│   │   ├── constanz.ttf
│   │   ├── corbelb.ttf
│   │   ├── corbeli.ttf
│   │   ├── corbel.ttf
│   │   ├── corbelz.ttf
│   │   ├── courbd.ttf
│   │   ├── courbi.ttf
│   │   ├── couri.ttf
│   │   ├── cour.ttf
│   │   ├── fonts.dir
│   │   ├── fonts.scale
│   │   ├── georgiab.ttf
│   │   ├── georgiai.ttf
│   │   ├── georgia.ttf
│   │   ├── georgiaz.ttf
│   │   ├── impact.ttf
│   │   ├── tahoma.ttf
│   │   ├── timesbd.ttf
│   │   ├── timesbi.ttf
│   │   ├── timesi.ttf
│   │   ├── times.ttf
│   │   ├── trebucbd.ttf
│   │   ├── trebucbi.ttf
│   │   ├── trebucit.ttf
│   │   ├── trebuc.ttf
│   │   ├── verdanab.ttf
│   │   ├── verdanai.ttf
│   │   ├── verdana.ttf
│   │   ├── verdanaz.ttf
│   │   └── webdings.ttf
│   ├── Shutonny (Shutonny Fonts Group)
│   │   ├── ATRAIOMJ.ttf
│   │   ├── BhairabOMJ.ttf
│   │   ├── BongshaiOMJ.ttf
│   │   ├── BORAKOMJ.ttf
│   │   ├── ChondanaOMJ.ttf
│   │   ├── GANGAOMJ.ttf
│   │   ├── GORAIOMJ.ttf
│   │   ├── HALDAOMJ.ttf
│   │   ├── MONOOOMJ.ttf
│   │   ├── PADMAOMJ.ttf
│   │   ├── PoshurOMJ.ttf
│   │   ├── SutonnyOMJ.ttf
│   │   └── TURAGOMJ.ttf
│   ├── swaralipi (Font for Swarabitan)
│   │   └── Swarabitan.ttf
│   └── ubuntu-font-family (Ubuntu Font Family)
│   ├── Ubuntu-BI.ttf
│   ├── Ubuntu-B.ttf
│   ├── Ubuntu-C.ttf
│   ├── Ubuntu-LI.ttf
│   ├── Ubuntu-L.ttf
│   ├── Ubuntu-MI.ttf
│   ├── UbuntuMono-BI.ttf
│   ├── UbuntuMono-B.ttf
│   ├── UbuntuMono-RI.ttf
│   ├── UbuntuMono-R.ttf
│   ├── Ubuntu-M.ttf
│   ├── Ubuntu-RI.ttf
│   └── Ubuntu-R.ttf
├── gnuplot
│   ├── GNUPlot.desktop
│   └── gnuplot.png
├── imagemagic
│   ├── ImageMagic.desktop
│   └── imagemagic.png
├── input (Input for Bijoy & Unijoy Keyboards)
│   ├── bn-bijoy.mim
│   ├── bn-bijoy.png
│   ├── bn-unijoy.mim
│   └── bn-unijoy.png
└── klite (Klite Codecs)
├── avcodec-ics-54.dll
├── avcodec-lav-54.dll
├── avfilter-lav-3.dll
├── avformat-ics-54.dll
├── avformat-lav-54.dll
├── avi.dll
├── avresample-lav-0.dll
├── avs.dll
├── avss.dll
├── avutil-ics-51.dll
├── avutil-lav-51.dll
├── D3DCompiler_43.dll
├── D3DX9_43.dll
├── ffdshow.ax
├── ffdshow.ax.manifest
├── ffdshow_license_source_and_credits.txt
├── ff_kernelDeint.dll
├── ff_liba52.dll
├── ff_libdts.dll
├── ff_libfaad2.dll
├── ff_libmad.dll
├── ffmpeg.dll
├── FFmpeg\ License.txt
├── ff_samplerate.dll
├── ff_unrar.dll
├── ff_wmv9.dll
├── FLT_ffdshow.dll
├── GenDMOProp.dll
├── Icaros\ License.txt
├── IcarosThumbnailProvider.dll
├── LAVAudio.ax
├── LAVSplitter.ax
├── LAVVideo.ax
├── libbluray.dll
├── libmpeg2_ff.dll
├── mediainfo.dll
├── mkunicode.dll
├── mkx.dll
├── mkzlib.dll
├── mp4.dll
├── mpciconlib.dll
├── MpegVideo.dll
├── openIE.js
├── splitter.ax
├── swscale-ics-2.dll
├── swscale-lav-2.dll
├── TomsMoComp_ff.dll
├── ts.dll
└── vsfilter.dll



5 Copy f21 &. extras_21 under / (root)
[root@localhost /]# cp -rf '/home/kalyan/Desktop/f21' .

[root@localhost /]# cp -rf '/home/kalyan/Desktop/extras_21' .

6 Create f21 Repository.
[root@localhost /]# createrepo f21
Spawning worker 0 with 6 pkgs
Spawning worker 1 with 5 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete


6Create local.repo in /etc/yum.repos.d
.[root@localhost /]# gedit /etc/yum.repos.d/ local.repo

[local]
name=Local Repo
baseurl=file:/f17
enabled=1
gpgcheck=0
7.Create fedora-live-custom_min.ks under /usr/share/spin-kickstarts/
[root@localhost /]# gedit /usr/share/spin-kickstarts/fedora-live-custom_min.ks

# Description:
# - A Spin targeted towards a minimum perfect deskto
# - Kalyan Kr. Das, Free Software Mancha, West Bengal

#Repositories
#fedora
repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch

#free & non-free
repo --name=rpmfusion-free --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-$releasever&arch=$basearch

repo --name=rpmfusion-free-updates --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-$releasever&arch=$basearch

repo --name=rpmfusion-nonfree --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-$releasever&arch=$basearch

repo --name=rpmfusion-nonfree-updates --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-$releasever&arch=$basearch

#local
repo --name=local --baseurl=file:/f21


#Initialisation

lang en_US.UTF-8
keyboard us
timezone US/Eastern
auth --useshadow --enablemd5
selinux --enforcing
firewall --enabled --service=mdns
xconfig –startxonboot

#DVD size partition
part / --size 10240 --fstype ext4
#part / --size 16500 --fstype ext4
#part / --size 3072 --fstype ext4
services --enabled=NetworkManager --disabled=network,sshd



%packages


@base-x
@guest-desktop-agents
@standard
@core
@fedora-release-nonproduct
@fonts
@input-methods
@dial-up
@multimedia
@hardware-support
@printing

# Explicitly specified here:
# <notting> walters: because otherwise dependency loops cause yum issues.
kernel

# This was added a while ago, I think it falls into the category of
# "Diagnosis/recovery tool useful from a Live OS image". Leaving this untouched
# for now.
memtest86+

# The point of a live image is to install
anaconda
@anaconda-tools

# Need aajohan-comfortaa-fonts for the SVG rnotes images
aajohan-comfortaa-fonts



#fedora-desktop-packages
@firefox
@gnome-desktop
@libreoffice
@networkmanager-submodules

# FIXME; apparently the glibc maintainers dislike this, but it got put into the
# desktop image at some point. We won't touch this one for now.
nss-mdns

# This one needs to be kicked out of @standard
-smartmontools

# We use gnome-control-center's printer and input sources panels instead
-system-config-printer
-im-chooser

# Similarly, there was also some debate about removing rsyslog from @standard
# (since much of its functionality is provided by journald now), but it's
# not going to happen for f20 either, so drop it here for now.
# https://lists.fedoraproject.org/pipermail/devel/2013-July/186796.html
-rsyslog

rpmfusion-free-release.noarch #RPM Fusion (free) Repository Configuration
rpmfusion-nonfree-release.noarch #RPM Fusion (nonfree) Repository Configuration

yum-plugin-fastestmirror # fastest mirror plugin

#tweaks & extensions

gnome-tweak-tool.noarch
gnome-shell.i686
gnome-shell-extension-common.noarch
gnome-shell-extension-alternate-tab.noarch
gnome-shell-extension-apps-menu.noarch
gnome-shell-extension-auto-move-windows.noarch
gnome-shell-extension-background-logo.noarch
gnome-shell-extension-drive-menu.noarch
gnome-shell-extension-gpaste.noarch
gnome-shell-extension-launch-new-instance.noarch
gnome-shell-extension-native-window-placement.noarch
gnome-shell-extension-places-menu.noarch
gnome-shell-extension-pomodoro.i686
gnome-shell-extension-screenshot-window-sizer.noarch
gnome-shell-extension-systemMonitor.noarch
gnome-shell-extension-user-theme.noarch
gnome-shell-extension-window-list.noarch
gnome-shell-extension-windowsNavigator.noarch
gnome-shell-extension-workspace-indicator.noarch
gnome-shell-frippery.noarch
gnome-shell-extension-iok.noarch

gnome-shell-frippery-0.9.0-1.noarch

#nautilus

nautilus*
-nautilus-beesu-manager.noarch
brasero-nautilus
gnome-terminal-nautilus
#gnome-mplayer-nautilus
#totem-nautilus
#raw-thumbnailer


##media codecs

gstreamer*
ffmpeg*
lame*
mpg*
mpeg*
libXp
mjpegtools
lsdvd
dvd+rw-tools
h264enc
mpeg2dec
id3v2
id3lib
libmpg123-devel
icedax
#nautilus-sound-converter
flac
libmpeg*
uudeview
libdvdnav
libdvdnav-devel
libdvdread
libdvdread-devel

#dvd_codecs ## To installed from add_on after installation.
#libdvdcss2
#libdvdcss
#libdvdcss-devel

#windows-codec
win32-codecs-all-20110131-1.i686

#adobe
AdobeReader_enu
nspluginwrapper
libcanberra-gtk2
adwaita-gtk2-theme
PackageKit-gtk3-module

mozplugger
xpdf

#flash
flash-plugin
nspluginwrapper
alsa-plugins-pulseaudio
libcurl




#Java
java-*-openjdk
java-*-openjdk-plugin
icedtea-web
subversion-javahl

#utilities

wget
gcc
gcc-c++
make
unrar
p7zip
p7zip-plugins
gftp
unace
zip
unzip
sharutils
lha
arj
cabextract
file-roller
rpmdevtools
rpm-build
gparted
alacarte

createrepo
livecd-tools
spin-kickstarts
liveusb-creator


# graphics
blender
#bluefish
#cinepaint
#cmyktool
darktable
dia
#entangle
#fontforge
#font-manager
gimp
gimp-*-plugin
gimp-data-extras
gimp-gap
gimp-paint-studio
gimp-high-pass-filter
gimp-normalmap
gimp-resynthesizer
gimp-separate+
#gpick
GREYCstoration-gimp
#hugin
#mypaint
inkscape
nautilus-image-converter
#optipng
#phatch
#screenruler
simple-scan
scribus
#colord-extra-profiles
#synfigstudio
#xournal

# office
vym
pdfshuffler


#dictionary
#aspell-bn
#aspell-en
hunspell-bn
hunspell-en


# internet
filezilla

# audio & video
vlc
smplayer
audacity
pitivi


#audio & video group
#avidemux #Multitrack audio editor
brasero
banshee
devede
digikam
#handbrake
minitube
sound-juicer
youtube-dl
/usr/bin/gnome-sound-recorder
gnome-screenshot
gtk-recordmydesktop



# fonts
aajohan-comfortaa-fonts
adobe-source-sans-pro-fonts
campivisivi-titillium-fonts
lato-fonts
overpass-fonts


#ms-fonts
#msttcore-fonts-installer-2.6-1.noarch #done in chroot

#ttf-banglaiunicode
#ttf-banglaunicode-0.2b2-2.noarch
ttf-banglaunicode*


#fonts to be removed

-khmeros-fonts-common
#-nhn-nanum-fonts-common
-smc-fonts-common
-thai-scalable-fonts-common
-google-droid-sans-fonts
-aajohan-comfortaa-fonts
-wqy-zenhei-fonts
-thai-scalable-waree-fonts
-google-noto-sans-lisu-fonts
-sil-abyssinica-fonts
-khmeros-base-fonts
-stix-fonts
-sil-padauk-fonts
-vlgothic-fonts
-sil-mingzat-fonts
-tabish-eeyek-fonts
-cjkuni-uming-fonts
-paktype-naqsh-fonts
-google-noto-sans-tai-viet-fonts
-lklug-fonts
-overpass-fonts
-sil-nuosu-fonts
-google-noto-sans-tagalog-fonts
-lato-fonts
#-nhn-nanum-gothic-fonts
-google-noto-sans-tai-tham-fonts
-google-noto-sans-meeteimayek-fonts
-google-noto-sans-mandaic-fonts
-smc-meera-fonts
-jomolhari-fonts



#printer-fax-scanner
avahi-tools
apcupsd-cgi
apcupsd-gui
apcupsd
bluez-cups
cups*
c2esp
dbus*
foomatic-filters
gutenprint-cups
hpijs
hplip
hplip-common
hplip-gui
hplip-libs
libgnomecups
libgnomecups-devel
libjpeg-devel
libsane-hpaio
libtool*
libusb*
mingw32-libusbx.noarch
mingw32-libusbx-static.noarch
mingw32-libltdl.noarch
openssl-devel
perl-Net-CUPS
polkit-gnome
ptouch-driver
pyppd.noarch
python-cups
python-cups-doc
python-imaging
net-snmp-devel
rasterview
sane*
xsane*
foo2zjs.i686 #driver for hp 1020 series, hp psc 1000


#qt
qt-creator
qt-devel
qt-config

#samba
samba
samba-common
samba-client


# GUI for R
rkward

# GUI for Octave
qtoctave

#writing & publishing
#scite
lyx
kile # an Integrated LaTeX Environment
texlive-xetex
texlive-latex
texlive

#Presentation, Bibliography & Document arrangement
#BibTool

#wine
#playonlinux-yum
#playonlinux
wine

#virtual Box
binutils
gcc
make
patch
libgomp
glibc-headers
glibc-devel
kernel-headers
kernel-devel
dkms
VirtualBox

teamviewer*
#teamviewer_linux.rpm



# removal of duplicated and unneeded applications
-gnome-boxes
-gthumb
-eog
-gnome-photos
-rdesktop
-aisleriot # A collection of card games
-totem #Movie player for GNOME
-totem-nautilus #Video and Audio Properties tab for Nautilus
-nautilus-phatch #Nautilus extension for phatch
-phatch-cli # Command line interface for phatch
-phatch # Photo batch processor
-gnome-mplayer # An MPlayer GUI, a full-featured binary
-mplayer #Movie player playing most video formats and DVDs



# Legacy cmdline things we don't want
-krb5-auth-dialog
-krb5-workstation
-pam_krb5
-quota
-minicom
-dos2unix
-finger
-ftp
-jwhois
-mtr
-pinfo
-rsh
-telnet
-nfs-utils
-ypbind
-yp-tools
-rpcbind
-acpid
-ntsysv



%end

%post

# FIXME: it'd be better to get this installed from a package
cat > /etc/rc.d/init.d/livesys << EOF
#!/bin/bash
#
# live: Init script for live image
#
# chkconfig: 345 00 99
# description: Init script for live image.
### BEGIN INIT INFO
# X-Start-Before: display-manager
### END INIT INFO

. /etc/init.d/functions

if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ]; then
exit 0
fi

if [ -e /.liveimg-configured ] ; then
configdone=1
fi

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

livedir="LiveOS"
for arg in \`cat /proc/cmdline\` ; do
if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then
livedir=\${arg##rd.live.dir=}
return
fi
if [ "\${arg##live_dir=}" != "\${arg}" ]; then
livedir=\${arg##live_dir=}
return
fi
done

# enable swaps unless requested otherwise
swaps=\`blkid -t TYPE=swap -o device\`
if ! strstr "\`cat /proc/cmdline\`" noswap && [ -n "\$swaps" ] ; then
for s in \$swaps ; do
action "Enabling swap partition \$s" swapon \$s
done
fi
if ! strstr "\`cat /proc/cmdline\`" noswap && [ -f /run/initramfs/live/\${livedir}/swap.img ] ; then
action "Enabling swap file" swapon /run/initramfs/live/\${livedir}/swap.img
fi

mountPersistentHome() {
# support label/uuid
if [ "\${homedev##LABEL=}" != "\${homedev}" -o "\${homedev##UUID=}" != "\${homedev}" ]; then
homedev=\`/sbin/blkid -o device -t "\$homedev"\`
fi

# if we're given a file rather than a blockdev, loopback it
if [ "\${homedev##mtd}" != "\${homedev}" ]; then
# mtd devs don't have a block device but get magic-mounted with -t jffs2
mountopts="-t jffs2"
elif [ ! -b "\$homedev" ]; then
loopdev=\`losetup -f\`
if [ "\${homedev##/run/initramfs/live}" != "\${homedev}" ]; then
action "Remounting live store r/w" mount -o remount,rw /run/initramfs/live
fi
losetup \$loopdev \$homedev
homedev=\$loopdev
fi

# if it's encrypted, we need to unlock it
if [ "\$(/sbin/blkid -s TYPE -o value \$homedev 2>/dev/null)" = "crypto_LUKS" ]; then
echo
echo "Setting up encrypted /home device"
plymouth ask-for-password --command="cryptsetup luksOpen \$homedev EncHome"
homedev=/dev/mapper/EncHome
fi

# and finally do the mount
mount \$mountopts \$homedev /home
# if we have /home under what's passed for persistent home, then
# we should make that the real /home. useful for mtd device on olpc
if [ -d /home/home ]; then mount --bind /home/home /home ; fi
[ -x /sbin/restorecon ] && /sbin/restorecon /home
if [ -d /home/liveuser ]; then USERADDARGS="-M" ; fi
}

findPersistentHome() {
for arg in \`cat /proc/cmdline\` ; do
if [ "\${arg##persistenthome=}" != "\${arg}" ]; then
homedev=\${arg##persistenthome=}
return
fi
done
}

if strstr "\`cat /proc/cmdline\`" persistenthome= ; then
findPersistentHome
elif [ -e /run/initramfs/live/\${livedir}/home.img ]; then
homedev=/run/initramfs/live/\${livedir}/home.img
fi

# if we have a persistent /home, then we want to go ahead and mount it
if ! strstr "\`cat /proc/cmdline\`" nopersistenthome && [ -n "\$homedev" ] ; then
action "Mounting persistent /home" mountPersistentHome
fi

if [ -n "\$configdone" ]; then
exit 0
fi

# add fedora user with no passwd
action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser
passwd -d liveuser > /dev/null
usermod -aG wheel liveuser > /dev/null

# Remove root password lock
passwd -d root > /dev/null

# turn off firstboot for livecd boots
systemctl --no-reload disable firstboot-text.service 2> /dev/null || :
systemctl --no-reload disable firstboot-graphical.service 2> /dev/null || :
systemctl stop firstboot-text.service 2> /dev/null || :
systemctl stop firstboot-graphical.service 2> /dev/null || :

# don't use prelink on a running live image
sed -i 's/PRELINKING=yes/PRELINKING=no/' /etc/sysconfig/prelink &>/dev/null || :

# turn off mdmonitor by default
systemctl --no-reload disable mdmonitor.service 2> /dev/null || :
systemctl --no-reload disable mdmonitor-takeover.service 2> /dev/null || :
systemctl stop mdmonitor.service 2> /dev/null || :
systemctl stop mdmonitor-takeover.service 2> /dev/null || :

# don't enable the gnome-settings-daemon packagekit plugin
gsettings set org.gnome.software download-updates 'false' || :

# don't start cron/at as they tend to spawn things which are
# disk intensive that are painful on a live image
systemctl --no-reload disable crond.service 2> /dev/null || :
systemctl --no-reload disable atd.service 2> /dev/null || :
systemctl stop crond.service 2> /dev/null || :
systemctl stop atd.service 2> /dev/null || :

# Mark things as configured
touch /.liveimg-configured

# add static hostname to work around xauth bug
# https://bugzilla.redhat.com/show_bug.cgi?id=679486
echo "localhost" > /etc/hostname

EOF

# bah, hal starts way too late
cat > /etc/rc.d/init.d/livesys-late << EOF
#!/bin/bash
#
# live: Late init script for live image
#
# chkconfig: 345 99 01
# description: Late init script for live image.

. /etc/init.d/functions

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

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

touch /.liveimg-late-configured

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

# if liveinst or textinst is given, start anaconda
if strstr "\`cat /proc/cmdline\`" liveinst ; then
plymouth --quit
/usr/sbin/liveinst \$ks
fi
if strstr "\`cat /proc/cmdline\`" textinst ; then
plymouth --quit
/usr/sbin/liveinst --text \$ks
fi

# configure X, allowing user to override xdriver
if [ -n "\$xdriver" ]; then
cat > /etc/X11/xorg.conf.d/00-xdriver.conf <<FOE
Section "Device"
Identifier "Videocard0"
Driver "\$xdriver"
EndSection
FOE
fi

EOF

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

chmod 755 /etc/rc.d/init.d/livesys-late
/sbin/restorecon /etc/rc.d/init.d/livesys-late
/sbin/chkconfig --add livesys-late

# enable tmpfs for /tmp
systemctl enable tmp.mount

# make it so that we don't do writing to the overlay for things which
# are just tmpdirs/caches
# note https://bugzilla.redhat.com/show_bug.cgi?id=1135475
cat >> /etc/fstab << EOF
vartmp /var/tmp tmpfs defaults 0 0
varcacheyum /var/cache/yum tmpfs mode=0755,context=system_u:object_r:rpm_var_cache_t:s0 0 0
EOF

# work around for poor key import UI in PackageKit
rm -f /var/lib/rpm/__db*
releasever=$(rpm -q --qf '%{version}\n' --whatprovides system-release)
basearch=$(uname -i)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
echo "Packages within this LiveCD"
rpm -qa
# Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db*

# go ahead and pre-make the man -k cache (#455968)
/usr/bin/mandb

# save a little bit of space at least...
rm -f /boot/initramfs*
# make sure there aren't core files lying around
rm -f /core*

# convince readahead not to collect
# FIXME: for systemd

# forcibly regenerate fontconfig cache (so long as this live image has
# fontconfig) - see #1169979
if [ -x /usr/bin/fc-cache ] ; then
fc-cache -f
fi






cat >> /etc/rc.d/init.d/livesys << EOF


# disable updates plugin
cat >> /usr/share/glib-2.0/schemas/org.gnome.software.gschema.override << FOE
[org.gnome.software]
download-updates=false
FOE

# don't run gnome-initial-setup
mkdir ~liveuser/.config
touch ~liveuser/.config/gnome-initial-setup-done

# make the installer show up
if [ -f /usr/share/applications/liveinst.desktop ]; then
# Show harddisk install in shell dash
sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop ""
# need to move it to anaconda.desktop to make shell happy
mv /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop

cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
[org.gnome.shell]
-favorite-apps=['firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop', 'anaconda.desktop']


+favorite-apps=['firefox.desktop', 'evolution.desktop', 'shotwell.desktop', 'gimp.desktop', 'rhythmbox.desktop', 'bijiben.desktop', 'anaconda.desktop','libreoffice-writer.desktop', 'libreoffice-calc.desktop','vlc.desktop','brasero.desktop','gnome-terminal.desktop']

FOE

# Make the welcome screen show up
if [ -f /usr/share/anaconda/gnome/fedora-welcome.desktop ]; then
mkdir -p ~liveuser/.config/autostart
cp /usr/share/anaconda/gnome/fedora-welcome.desktop /usr/share/applications/
cp /usr/share/anaconda/gnome/fedora-welcome.desktop ~liveuser/.config/autostart/
fi
fi

# rebuild schema cache with any overrides we installed
glib-compile-schemas /usr/share/glib-2.0/schemas

# set up auto-login
cat > /etc/gdm/custom.conf << FOE
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=liveuser
FOE

# Turn off PackageKit-command-not-found while uninstalled
if [ -f /etc/PackageKit/CommandNotFound.conf ]; then
sed -i -e 's/^SoftwareSourceSearch=true/SoftwareSourceSearch=false/' /etc/PackageKit/CommandNotFound.conf
fi

# make sure to set the right permissions and selinux contexts
chown -R liveuser:liveuser /home/liveuser/
restorecon -R /home/liveuser/


EOF





#Override the favorite desktop application in Dash
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
[org.gnome.shell]
enabled-extensions=['background-logo@fedorahosted.org']

favorite-apps=['firefox.desktop', 'evolution.desktop', 'shotwell.desktop', 'gimp.desktop', 'rhythmbox.desktop', 'bijiben.desktop', 'anaconda.desktop','libreoffice-writer.desktop', 'libreoffice-calc.desktop','vlc.desktop','brasero.desktop','gnome-terminal.desktop']

#Enable categories in Gnome Shell
-app-folder-categories=['Utilities', 'Sundry', 'Office', 'Network', 'Internet', 'Graphics', 'Games', 'Multimedia', 'System', 'Development', 'Accessories', 'System Settings', 'Other']
+app-folder-categories=['Utilities', 'Games', 'Sundry', 'Office', 'Network', 'Internet', 'Graphics', 'Multimedia', 'System', 'Development', 'Accessories', 'System Settings', 'wine-wine', 'Crossover', 'Crossover Games', 'Science', 'Education', 'Universal Access', 'Other']

FOE

# Add link to lists of tutorials
cat >> /usr/share/applications/list-design-tutorials.desktop << FOE
[Desktop Entry]
Name=List of design tutorials
GenericName=List of Tutorials for Designers
Comment=Reference of Design Related Tutorials
Exec=xdg-open http://fedoraproject.org/wiki/Design_Suite/Tutorials
Type=Application
Icon=applications-graphics
Categories=Graphics;Documentation;
FOE
chmod a+x /usr/share/applications/list-design-tutorials.desktop

# rebuild schema cache with any overrides we installed
glib-compile-schemas /usr/share/glib-2.0/schemas

#EOF

%end



%post --nochroot
echo "begin nochroot"
#fedora-live-base

#add_oncp $INSTALL_ROOT/usr/share/licenses/*-release/* $LIVE_ROOT/

# 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



LIVE_ROOT="/extras_21"

#libdvdcss2
mkdir -p "$INSTALL_ROOT"/add_on/libdvdcss
cp -f "$LIVE_ROOT"/add_on/libdvdcss/*.* "$INSTALL_ROOT"/add_on/libdvdcss/

#kindle, picasa etc
mkdir -p "$INSTALL_ROOT"/add_on/exe
cp -f "$LIVE_ROOT"/add_on/exe/*.* "$INSTALL_ROOT"/add_on/exe/

#printer firm-wire
mkdir -p "$INSTALL_ROOT"/add_on/printer_driver
cp -f "$LIVE_ROOT"/add_on/printer_driver/*.* "$INSTALL_ROOT"/add_on/printer_driver/

#templates
mkdir -p "$INSTALL_ROOT"/add_on/templates
mkdir -p "$INSTALL_ROOT"/add_on/templates/Libre-Office
mkdir -p "$INSTALL_ROOT"/add_on/templates/Ms-Office
mkdir -p "$INSTALL_ROOT"/add_on/templates/Others

cp -f "$LIVE_ROOT"/add_on/templates/*.xcf "$INSTALL_ROOT"/add_on/templates/

cp -f "$LIVE_ROOT"/add_on/templates/Libre-Office/*.* "$INSTALL_ROOT"/add_on/templates/Libre-Office/

cp -f "$LIVE_ROOT"/add_on/templates/Ms-Office/*.* "$INSTALL_ROOT"/add_on/templates/Ms-Office/

cp -f "$LIVE_ROOT"/add_on/templates/Others/*.* "$INSTALL_ROOT"/add_on/templates/Others/


#unijoy key-board
cp -f "$LIVE_ROOT"/input/bn-unijoy.mim "$INSTALL_ROOT"/usr/share/m17n/
cp -f "$LIVE_ROOT"/input/bn-unijoy.png "$INSTALL_ROOT"/usr/share/m17n/

#bijoy key-board
cp -f "$LIVE_ROOT"/input/bn-bijoy.mim "$INSTALL_ROOT"/usr/share/m17n/
cp -f "$LIVE_ROOT"/input/bn-bijoy.png "$INSTALL_ROOT"/usr/share/m17n/


#Swarabitan - font for writing swaralipi
mkdir -p "$INSTALL_ROOT"/usr/share/fonts/swaralipi
cp -rf "$LIVE_ROOT"/fonts/swaralipi/*.* "$INSTALL_ROOT"/usr/share/fonts/swaralipi/

#msttcorefonts
mkdir -p "$INSTALL_ROOT"/usr/share/fonts/msttcore
cp -rf "$LIVE_ROOT"/fonts/msttcore/*.* "$INSTALL_ROOT"/usr/share/fonts/msttcore/

#shutonny fonts
mkdir -p "$INSTALL_ROOT"/usr/share/fonts/Shutonny
cp -rf "$LIVE_ROOT"/fonts/Shutonny/*.* "$INSTALL_ROOT"/usr/share/fonts/Shutonny/

#remove google-droid fonts
rm -rf "$INSTALL_ROOT"/usr/share/fonts/google-droid

#remove naver-nanum fonts
rm -rf "$INSTALL_ROOT"/usr/share/fonts/naver-nanum

#remove some fonts
rm -rf "$INSTALL_ROOT"/usr/share/fonts/aajohan-comfortaa
rm -rf "$INSTALL_ROOT"/usr/share/fonts/abattis-cantarell
rm -rf "$INSTALL_ROOT"/usr/share/fonts/adobe-source-han-sans-cn
rm -rf "$INSTALL_ROOT"/usr/share/fonts/adobe-source-han-sans-twhk
rm -rf "$INSTALL_ROOT"/usr/share/fonts/google-noto
rm -rf "$INSTALL_ROOT"/usr/share/fonts/google-crosextra-carlito
rm -rf "$INSTALL_ROOT"/usr/share/fonts/google-crosextra-caladea
rm -rf "$INSTALL_ROOT"/usr/share/fonts/jomolhari
rm -rf "$INSTALL_ROOT"/usr/share/fonts/khmeros
rm -rf "$INSTALL_ROOT"/usr/share/fonts/sil-abyssinica
rm -rf "$INSTALL_ROOT"/usr/share/fonts/sil-mingzat
rm -rf "$INSTALL_ROOT"/usr/share/fonts/sil-nuosu
rm -rf "$INSTALL_ROOT"/usr/share/fonts/sil-padauk
rm -rf "$INSTALL_ROOT"/usr/share/fonts/tabish-eeyek:
rm -rf "$INSTALL_ROOT"/usr/share/fonts/thai-scalable
#rm -rf "$INSTALL_ROOT"/usr/share/fonts/
#rm -rf "$INSTALL_ROOT"/usr/share/fonts/

fc-cache -f -v

#klite codecs
mkdir -p "$INSTALL_ROOT"/usr/local/lib/codecs
cp "$LIVE_ROOT"/klite/* "$INSTALL_ROOT"/usr/local/lib/codecs/
ln -sf "$INSTALL_ROOT"/usr/local/lib/codecs "$INSTALL_ROOT"/usr/lib/codecs && ln -sf "$INSTALL_ROOT"/usr/local/lib/codecs "$INSTALL_ROOT"/usr/local/lib/win32 && ln -sf "$INSTALL_ROOT"/usr/local/lib/codecs "$INSTALL_ROOT"/usr/lib/win32


#ImageMagic & GNUPlot

## for gnuplot.png & imagemagic.png
cp -f "$LIVE_ROOT"/gnuplot/gnuplot.png "$INSTALL_ROOT"/usr/share/icons/hicolor/32x32/apps/gnuplot.png
cp -f "$LIVE_ROOT"/imagemagic/imagemagic.png "$INSTALL_ROOT"/usr/share/icons/hicolor/32x32/apps/imagemagic.png

#ImageMagic & GNUPlot & virtual box
cp -rf "$LIVE_ROOT"/gnuplot/GNUPlot.desktop "$INSTALL_ROOT"/usr/share/applications/GNUPlot.desktop
cp -rf "$LIVE_ROOT"/imagemagic/ImageMagic.desktop "$INSTALL_ROOT"/usr/share/applications/ImageMagic.desktop

cp -rf "$LIVE_ROOT"/virtualbox/virtualbox.desktop "$INSTALL_ROOT"/usr/share/applications/virtualbox.desktop

chmod +x "$INSTALL_ROOT"/usr/share/applications/GNUPlot.desktop
chmod +x "$INSTALL_ROOT"/usr/share/applications/ImageMagic.desktop
chmod +x "$INSTALL_ROOT"/usr/share/applications/virtualbox.desktop




date
echo "end"
%end



8.makecache
[root@localhost spin-kickstarts]# yum makecache

9.Create Livecd
[root@localhost /]# livecd-creator --config=/usr/share/spin-kickstarts/fedora-live-custom_min.ks --fslabel=Fedora_Custom --cache=/var/cache/live