Compare commits

..

27 Commits
main ... f30

Author SHA1 Message Date
Peter Robinson fae67ed384 IoT: Update F-30 for stable ostree branch
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2019-10-02 08:18:19 +01:00
Clement Verna fd6025e168 Explicitly set the container base image locale to C.UTF-8
Signed-off-by: Clement Verna <cverna@tutanota.com>
2019-07-12 19:12:29 +02:00
Clement Verna 7c254d7c60 Setup the correct locale in the base image.
Since the base image is now using the minimal glibc langpack we need
to use the POSIX locale.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1727489

Signed-off-by: Clement Verna <cverna@tutanota.com>
2019-07-07 10:56:56 +02:00
Clement Verna 3bb07d1948 Remove cracklib-dicts from the base container image.
This commit remove the cracklib-dicts package which provides
tests passwords to help user choose strong password. The
package is not required by any other packages.
This will save ~9MB from the base image size.

Signed-off-by: Clement Verna <cverna@tutanota.com>
2019-07-05 18:21:08 +02:00
Clement Verna 81e49bbfd0 Remove the glibc-langpack-en from the base container image.
This commit makes sure that we don't install the all the en locale
in the base image. This remove around 60MB of the size of the container

Signed-off-by: Clement Verna <cverna@tutanota.com>
2019-07-05 08:03:23 +02:00
Kevin Fenzi d0d91d3f8e l10n: Correct Xfce include for l10n files. Bug 1669894
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2019-06-29 17:18:28 +00:00
Clement Verna c63d8f8560 Add sudo to the fedora container base image.
sudo is needed in the base image for it to be used in Azure services

Signed-off-by: Clement Verna <cverna@tutanota.com>
2019-05-05 14:14:39 +02:00
Luya Tshimbalanga 61bf8cdef3 Update fedora-live-design_suite.ks
Disable deja-dup installation due to conflict
2019-04-27 17:41:55 +00:00
Luya Tshimbalanga 4e58ddb00b Design Suite: reinstate blender 2019-04-09 19:44:11 +00:00
Miro Hrončok 7eab7b8dc2 Add more space for the Python Classroom lab
See https://bugzilla.redhat.com/show_bug.cgi?id=1695796
2019-04-09 20:20:33 +02:00
Adam Williamson 34753edf2e Add chkconfig package to fedora-arm-base.ks
Both the kickstart itself and imgcreate expect chkconfig to be
available in the installed system, so we'd better make sure it
is. Up till Fedora 30 Beta it was getting pulled in somehow;
since Fedora-30-20190330.n.3 it seems it is not (probably not
in Rawhide either). In any case, it's clearly correct to list it
explicitly.

See https://bugzilla.redhat.com/show_bug.cgi?id=1695637

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-03 11:58:51 -07:00
Peter Robinson 3cd095d5b4 Merge #503 `Explicitly pull chkconfig into live images (F30)` 2019-03-29 02:12:48 +00:00
Miro Hrončok 58502625d2 Stop dragging Python 3.6 and 3.8 to Python Classroom 2019-03-28 18:24:29 +01:00
Amit Saha 5d46dd6986 Remove spyder + qtoctave 2019-03-25 20:24:44 +00:00
Amit Saha 28b2dbbff6 Scientific: Remove python2 packages 2019-03-25 20:24:44 +00:00
Luya Tshimbalanga 46e180a422 Remove mypaint 2019-03-21 23:00:05 -07:00
Luya Tshimbalanga b96e230217 temporarily remove blender and synfigstudio
Signed-off-by: Luya Tshimbalanga <luya@fedoraproject.org>
2019-03-21 17:48:26 +00:00
Luya Tshimbalanga b525c94e2a Update fedora-live-design_suite.ks
Add f30-backgrounds-extras
Reinstate mypaint
2019-03-21 17:48:26 +00:00
Mohan Boddu 831ab51972 Mate-arm: increase part size
Signed-off-by: Mohan Boddu <mboddu@bhujji.com>
2019-03-21 13:43:18 -04:00
Paul Whalen 49515fa6c0 Add epiphany browser to arm disk images. 2019-03-21 08:55:29 -07:00
Adam Williamson 82ad98acef Explicitly pull chkconfig into live images
As livesys and livesys-late are still SysV services, they need
systemd-sysv-install to work, which is part of chkconfig. Until
now chkconfig was getting pulled into live images via packages
that require update-alternatives, which was previously part of
chkconfig - but it just got split into its own package, so now
those packages don't pull in chkconfig any more.

This broke the KDE live image and probably several others in
recent Rawhide, livesys and livesys-late don't run so there's
no 'liveuser' and root isn't accessible. Workstation didn't
break because a java package still pulls chkconfig into it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-03-20 08:53:11 -07:00
Stephen Gallagher 472e817c11
Sync Fedora Server with comps
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2019-03-04 16:11:49 -05:00
Dan Book c928f5e820 switch to f30 background extras 2019-03-04 21:04:16 +00:00
Luya Tshimbalanga 5ef5d1443e design-suite: remove retired gnome-books and f28-backgrounds-extras 2019-03-03 22:07:49 -08:00
Luya Tshimbalanga cda710675f design-suite: remove retired gnome-books and f28-backgrounds-extras 2019-03-02 10:56:29 -08:00
Zbigniew Jędrzejewski-Szmek 0d9a3ed849 Use dnf instead of yum
I left the instructions for yum-langpacks around, because I'm not sure
how the dnf replacement looks. But all references to yum-the-executable
are gone.

https://fedoraproject.org/wiki/Changes/Retire_YUM_3
https://bugzilla.redhat.com/show_bug.cgi?id=1682910
2019-02-26 18:21:24 +01:00
Mohan Boddu 1fa1ac23b2 Branching F30 from rawhide
Signed-off-by: Mohan Boddu <mboddu@bhujji.com>
2019-02-19 15:35:17 -05:00
89 changed files with 2342 additions and 1638 deletions

View File

@ -1,15 +1,13 @@
# fedora-kickstarts #
This project is used to manage the Fedora kickstart files used in composing Fedora release images.
This project is used to manage the Fedora kickstart files used in composing Fedora release images.
The master branch is used by rawhide and each release branch is used by that release.
The master branch is used by rawhide and each release branch is used by that release.
All changes should be made via the PR workflow.
All changes should be made via the PR workflow.
This project is packaged in Fedora as the spin-kickstarts package allowing users to see
and modify the kickstart files for their local needs.
Maintainers for each image are listed in the `maintainers.toml` file.
This project is packaged in Fedora as the spin-kickstarts package allowing users to see
and modify the kickstart files for their local needs.
## To make a release ##
@ -26,18 +24,6 @@ Maintainers for each image are listed in the `maintainers.toml` file.
# Clean up the generated files:
make clean
## Build logs ##
To see build logs go to
https://koji.fedoraproject.org/koji
"Packages" tab, and filter by Fedora-Workstation-Live for example.
Technical info about the officialy released images can be found at
https://kojipkgs.fedoraproject.org/compose/
# bug reports #
Bugs should be reported to the spin-kickstarts bugzilla component:

View File

@ -111,7 +111,7 @@ firefox
# "EOF" is quoted so that variables are not expanded. Search for "here-document"
# in man bash.
cat >> /var/lib/livesys/livesys-session-extra << "EOF"
cat >> /etc/rc.d/init.d/livesys << "EOF"
# Create Test Day welcome screen
# Note that shebang must be written this way, else it is considered as comment

88
fedora-arm-base.ks Normal file
View File

@ -0,0 +1,88 @@
lang en_US.UTF-8
#keyboard us
auth --useshadow --passalgo=sha512
selinux --enforcing
firewall --enabled --service=mdns,ssh
bootloader --location=mbr
part /boot/efi --size=80 --fstype vfat --asprimary
part /boot --size=512 --fstype ext4 --asprimary
# make sure that initial-setup runs and lets us do all the configuration bits
firstboot --reconfig
services --enabled=sshd,NetworkManager,avahi-daemon,chronyd,initial-setup,zram-swap
%include fedora-repo.ks
%packages
@core
@standard
@hardware-support
zram
kernel
# remove this in %post
dracut-config-generic
-dracut-config-rescue
# install tools needed to manage and boot arm systems
@arm-tools
-uboot-images-armv8
rng-tools
chrony
extlinux-bootloader
bcm283x-firmware
initial-setup
initial-setup-gui
-iwl*
-ipw*
-usb_modeswitch
#lets resize / on first boot
# dracut-modules-growroot
# make sure all the locales are available for inital0-setup and anaconda to work
glibc-all-langpacks
# this ks uses it in %post, and imgcreate also uses it in the installed
# system root, so it needs to be there
chkconfig
%end
%post
# Setup Raspberry Pi firmware
cp -P /usr/share/uboot/rpi_2/u-boot.bin /boot/efi/rpi2-u-boot.bin
cp -P /usr/share/uboot/rpi_3_32b/u-boot.bin /boot/efi/rpi3-u-boot.bin
# work around for poor key import UI in PackageKit
rm -f /var/lib/rpm/__db*
releasever=$(rpm -q --qf '%{version}\n' fedora-release)
basearch=armhfp
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
echo "Packages within this ARM disk image"
rpm -qa
# Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db*
# remove random seed, the newly installed instance should make it's own
rm -f /var/lib/systemd/random-seed
# Because memory is scarce resource in most arm systems we are differing from the Fedora
# default of having /tmp on tmpfs.
echo "Disabling tmpfs for /tmp."
systemctl mask tmp.mount
dnf -y remove dracut-config-generic
# Disable network service here, as doing it in the services line
# fails due to RHBZ #1369794
/sbin/chkconfig network off
# Remove machine-id on pre generated images
rm -f /etc/machine-id
touch /etc/machine-id
%end

9
fedora-arm-kde.ks Normal file
View File

@ -0,0 +1,9 @@
%include fedora-arm-base.ks
%include fedora-arm-xbase.ks
%include fedora-kde-common.ks
part / --size=6300 --fstype ext4
%post
%end

9
fedora-arm-lxde.ks Normal file
View File

@ -0,0 +1,9 @@
%include fedora-arm-base.ks
%include fedora-arm-xbase.ks
%include fedora-lxde-common.ks
part / --size=4000 --fstype ext4
%post
%end

14
fedora-arm-lxqt.ks Normal file
View File

@ -0,0 +1,14 @@
%include fedora-arm-base.ks
%include fedora-arm-xbase.ks
%include fedora-lxqt-common.ks
part / --size=4400 --fstype ext4 --asprimary
%packages
# trojita not available on non-x86 platforms
-trojita
%end
%post
%end

9
fedora-arm-mate.ks Normal file
View File

@ -0,0 +1,9 @@
%include fedora-arm-base.ks
%include fedora-arm-xbase.ks
%include fedora-mate-common.ks
part / --size=7168 --fstype ext4
%post
%end

8
fedora-arm-minimal.ks Normal file
View File

@ -0,0 +1,8 @@
%include fedora-arm-base.ks
%include fedora-minimal-common.ks
part / --size=1400 --fstype ext4
%packages
-xkeyboard-config
%end

View File

@ -0,0 +1,8 @@
# Maintained by the Fedora Python SIG:
# http://fedoraproject.org/wiki/SIGs/Python
# mailto:python-devel@lists.fedoraproject.org
# The ARM Workstion based Python Classroom Lab
%include fedora-arm-workstation.ks
%include fedora-python-classroom-gnome-common.ks

29
fedora-arm-server.ks Normal file
View File

@ -0,0 +1,29 @@
%include fedora-arm-base.ks
# server defaults to xfs for / so lets do so on arm also
part / --size=2500 --fstype xfs
%packages
# install the default groups for the server environment since installing the environment is not working
@server-product
@standard
@headless-management
@hardware-support
@networkmanager-submodules
@container-management
@domain-client
-initial-setup-gui
-generic-release*
%end
%post
# setup systemd to boot to the right runlevel
echo -n "Setting default runlevel to multiuser text mode"
rm -f /etc/systemd/system/default.target
ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
echo .
%end

9
fedora-arm-soas.ks Normal file
View File

@ -0,0 +1,9 @@
%include fedora-arm-base.ks
%include fedora-arm-xbase.ks
%include fedora-soas-common.ks
part / --size=3300 --fstype ext4 --asprimary
%post
%end

17
fedora-arm-workstation.ks Normal file
View File

@ -0,0 +1,17 @@
%include fedora-arm-base.ks
%include fedora-arm-xbase.ks
%include fedora-workstation-common.ks
part / --size=6200 --fstype ext4
%packages
-initial-setup
-initial-setup-gui
%end
%post
# Most of the ARM X accelerated drivers need some level of CMA allocation
sed -i 's/\(append .*\)/\1 cma=256MB/' /boot/extlinux/extlinux.conf
%end

17
fedora-arm-xbase.ks Normal file
View File

@ -0,0 +1,17 @@
%packages
@base-x
@fonts
@input-methods
@multimedia
@printing
epiphany
%end
%post
# Most of the ARM X accelerated drivers need some level of CMA allocation
sed -i 's/\(append .*\)/\1 cma=192MB/' /boot/extlinux/extlinux.conf
# Explicitly set graphical.target as default as this is how initial-setup detects which version to run
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
%end

9
fedora-arm-xfce.ks Normal file
View File

@ -0,0 +1,9 @@
%include fedora-arm-base.ks
%include fedora-arm-xbase.ks
%include fedora-xfce-common.ks
part / --size=4700 --fstype ext4
%post
%end

View File

@ -1,23 +0,0 @@
%packages
fedora-release-budgie
# Exclude unwanted groups that fedora-live-base.ks pulls in
-@dial-up
-@input-methods
-@standard
# Install budgie environment
@^budgie-desktop-environment
# recommended apps
@budgie-desktop-apps
@libreoffice
libreoffice-draw
libreoffice-math
thunderbird
# Exclude unwanted packages from @anaconda-tools group
-gfs2-utils
-reiserfs-utils
%end

View File

@ -8,15 +8,12 @@
%packages
fedora-release-cinnamon
# install env-group to resolve RhBug:1891500
@^cinnamon-desktop-environment
@networkmanager-submodules
@cinnamon-desktop
@libreoffice
rhythmbox
parole
# extra backgrounds
f36-backgrounds-extras-gnome
f30-backgrounds-extras-gnome
%end

View File

@ -0,0 +1,36 @@
# PXE-to-Live Atomic: PXE boot directly into a running Atomic Host
# https://fedoraproject.org/wiki/Changes/AtomicHost
lang en_US.UTF-8
keyboard us
timezone America/New_York
zerombr
clearpart --all --initlabel
rootpw --lock --iscrypted locked
user --name=none
bootloader --timeout=1
network --bootproto=dhcp --device=link --activate
# We are only able to install atomic with separate /boot partition currently
part / --fstype="ext4" --size=6000
part /boot --size=500 --fstype="ext4"
shutdown
services --disabled=docker-storage-setup
services --enabled=NetworkManager,sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
ostreesetup --nogpg --osname=fedora-atomic --remote=fedora-atomic --url=http://kojipkgs.fedoraproject.org/mash/atomic/22/ --ref=fedora-atomic/f22/x86_64/docker-host
%post
# Ensure the root password is locked, we use cloud-init
passwd -l root
userdel -r none
# We copy content of separate /boot partition to root part when building live squashfs image,
# and we don't want systemd to try to mount it when pxe booting
cat /dev/null > /etc/fstab
# Disable network service here, as doing it in the services line
# fails due to RHBZ #1369794
/sbin/chkconfig network off
%end

View File

@ -1,24 +0,0 @@
# This is a basic Fedora cloud spin designed to work with Azure.
# Inherit from cloud base
%include fedora-cloud-base.ks
%packages
# Fedora Cloud Base includes the qemu guest agent and it is not
# required for Azure: https://pagure.io/cloud-sig/issue/319
-qemu-guest-agent
WALinuxAgent
%end
%post --erroronfail
cat > /etc/ssh/sshd_config.d/50-client-alive-interval.conf << EOF
ClientAliveInterval 120
EOF
cat >> /etc/chrony.conf << EOF
# Azure's virtual time source:
# https://docs.microsoft.com/en-us/azure/virtual-machines/linux/time-sync#check-for-ptp-clock-source
refclock PHC /dev/ptp_hyperv poll 3 dpoll -2 offset 0
EOF
%end

View File

@ -1,38 +0,0 @@
# This is a basic Fedora cloud spin designed to work with GCP.
# Note that GCP prefers UEFI so we'll need to make sure this image
# is created from a machine that is started in UEFI mode.
# Inherit from cloud base
%include fedora-cloud-base.ks
# Change serial port configuration to recommended default for GCP (ttyS0,38400n8d)
# Don't show bootloader as it's impossible for the user to get to it in time
# So we might as well not waste the 1 second on each boot.
# https://cloud.google.com/compute/docs/import/import-existing-image
bootloader --timeout=0 --location=mbr --append="no_timer_check net.ifnames=0 console=ttyS0,38400n8d"
# redefine `services` here to drop cloud-init systemd unit enablements from
# fedora-cloud-base.ks since we don't use them.
services --enabled=sshd
%packages
# GCP provides its own guest environment.
google-compute-engine-guest-configs
# BZ 2193039: Ensure additional packages are present for ssh access management
google-compute-engine-oslogin
google-guest-agent
-cloud-init
# Fedora Cloud Base includes the qemu guest agent. GCP prefers
# that it not be installed https://pagure.io/cloud-sig/issue/319
-qemu-guest-agent
%end
%post --erroronfail
cat <<EOF > /etc/NetworkManager/conf.d/gcp-mtu.conf
# In GCP it is recommended to use 1460 as the MTU.
# Set it to 1460 for all connections.
# https://cloud.google.com/network-connectivity/docs/vpn/concepts/mtu-considerations
[connection]
ethernet.mtu = 1460
EOF
%end

View File

@ -19,7 +19,7 @@ rootpw vagrant
# even on VirtualBox virt, we get a primary network device with "eth0" as the name
# This simplifies things and allows a single disk image for both supported Vagrant
# platforms (virtualbox and kvm)
bootloader --timeout=1 --location=mbr --append="no_timer_check console=tty1 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0"
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0"
%packages
# The default koji Vagrantfile configuration uses rsync to sync files between
@ -53,12 +53,6 @@ EOKEYS
chmod 600 ~vagrant/.ssh/authorized_keys
chown -R vagrant:vagrant ~vagrant/.ssh/
cat > /etc/ssh/sshd_config.d/10-vagrant-insecure-rsa-key.conf <<EOF
# For now the vagrant insecure key is an rsa key
# https://github.com/hashicorp/vagrant/issues/11783
PubkeyAcceptedKeyTypes=+ssh-rsa
EOF
# Further suggestion from @purpleidea (James Shubin) - extend key to root users as well
mkdir -m 0700 -p /root/.ssh
cp /home/vagrant/.ssh/authorized_keys /root/.ssh/authorized_keys

View File

@ -4,6 +4,9 @@
# keys. Cloud-init creates a user account named "fedora" with passwordless
# sudo access. The root password is empty and locked by default.
#
# Note that unlike the standard Fedora install, this image has /tmp on disk
# rather than in tmpfs, since memory is usually at a premium.
#
# This kickstart file is designed to be used with ImageFactory (in Koji).
#
# To do a local build, you'll need to install ImageFactory. See
@ -26,133 +29,237 @@ lang en_US.UTF-8
keyboard us
timezone --utc Etc/UTC
auth --useshadow --passalgo=sha512
selinux --enforcing
rootpw --lock --iscrypted locked
firewall --disabled
# We pass net.ifnames=0 because we always want to use eth0 here on all the cloud images.
bootloader --timeout=1 --location=mbr --append="no_timer_check net.ifnames=0 console=tty1 console=ttyS0,115200n8"
bootloader --timeout=1 --append="no_timer_check net.ifnames=0 console=tty1 console=ttyS0,115200n8"
network --bootproto=dhcp --device=link --activate --onboot=on
services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
# Configure for gpt with bios+uefi
clearpart --all --initlabel --disklabel=gpt
part prepboot --size=4 --fstype=prepboot
part biosboot --size=1 --fstype=biosboot
part /boot/efi --size=100 --fstype=efi
part /boot --size=1000 --fstype=ext4 --label=boot
part btrfs.007 --size=2000 --fstype=btrfs --grow
btrfs none --label=fedora btrfs.007
btrfs /home --subvol --name=home LABEL=fedora
btrfs / --subvol --name=root LABEL=fedora
zerombr
clearpart --all
autopart --noboot --nohome --noswap --nolvm
%include fedora-repo.ks
reboot
##### begin package list #############################################
%packages --instLangs=en
# Package list.
# FIXME: instLangs does not work, so there's a hack below
# (see https://bugzilla.redhat.com/show_bug.cgi?id=1051816)
# FIXME: instLangs bug has been fixed but now having instLangs
# with an arg causes no langs to get installed because of BZ1262040
# which yields the errors in BZ1261249. For now fix by not using
# --instLangs at all
#%packages --instLangs=en
%packages
# Include packages for the cloud-server-environment group
@^cloud-server-environment
# Install the tracer dnf plugin to enable automatic reboots
# IF the user requests package updates
# AND requests a reboot
# AND the packages updated require a reboot.
# https://fedoraproject.org/wiki/Changes/Automatic_Cloud_Reboot_On_Updates
python3-dnf-plugin-tracer
# Don't include the kernel toplevel package since it pulls in
# kernel-modules. We're happy for now with kernel-core.
-kernel
kernel-core
@^cloud-server-environment
# Need to pull in the udev subpackage
systemd-udev
# Don't include dracut-config-rescue. It will have dracut generate a
# "rescue" entry in the grub menu, but that also means there is a
# rescue kernel and initramfs that get created, which (currently) add
# about another 40MiB to the /boot/ partition. Also the "rescue" mode
# is generally not useful in the cloud.
# after move away from grub2 - let's add 'which' back
which
# rescue mode generally isn't useful in the cloud context
-dracut-config-rescue
# Plymouth provides a graphical boot animation. In the cloud we don't
# need a graphical boot animation. This also means anaconda won't put
# rhgb/quiet on kernel command line
# Some things from @core we can do without in a minimal install
-biosdevname
# Need to also add back plymouth in order to mask failure of
# systemd-vconsole-setup.service. BZ#1272684. Comment out for now
#-plymouth
-iprutils
# Now that BZ#1199868 is fixed kbd really gets removed but it breaks
# systemd-vconsole-setup.service on boot. Comment out for now
#-kbd
-uboot-tools
-kernel
# No need for plymouth. Also means anaconda won't put rhgb/quiet
# on kernel command line
-plymouth
# Install qemu-guest-agent https://pagure.io/cloud-sig/issue/319 To
# improve the integration with OpenStack and other VM management
# systems (oVirt, KubeVirt).
qemu-guest-agent
# No need for firewalld for now. We don't have a firewall on by default.
-firewalld
# Don't include the geolite2 databases, which end up with 66MiB
# in /usr/share/GeoIP
-geolite2-country
-geolite2-city
%end
##### end package list ###############################################
##### begin kickstart post ###########################################
%post --erroronfail
if [ "$(arch)" = "x86_64" ]; then
# Set up legacy BIOS boot if we booted from UEFI
grub2-install --target=i386-pc /dev/vda
fi
# Create grub.conf for EC2. This used to be done by appliance creator but
# anaconda doesn't do it. And, in case appliance-creator is used, we're
# overriding it here so that both cases get the exact same file.
# Note that the console line is different -- that's because EC2 provides
# different virtual hardware, and this is a convenient way to act differently
echo -n "Creating grub.conf for pvgrub"
rootuuid=$( awk '$2=="/" { print $1 };' /etc/fstab )
mkdir /boot/grub
echo -e 'default=0\ntimeout=0\n\n' > /boot/grub/grub.conf
for kv in $( ls -1v /boot/vmlinuz* |grep -v rescue |sed s/.*vmlinuz-// ); do
echo "title Fedora ($kv)" >> /boot/grub/grub.conf
echo -e "\troot (hd0,0)" >> /boot/grub/grub.conf
echo -e "\tkernel /boot/vmlinuz-$kv ro root=$rootuuid no_timer_check console=hvc0 LANG=en_US.UTF-8" >> /boot/grub/grub.conf
echo -e "\tinitrd /boot/initramfs-$kv.img" >> /boot/grub/grub.conf
echo
done
# Blivet sets pmbr_boot flag erroneously and we need to purge it
# otherwise it'll fail to boot
parted /dev/vda disk_set pmbr_boot off
# linux-firmware is installed by default and is quite large. As of mid 2020:
# Total download size: 97 M
# Installed size: 268 M
# So far we've been fine shipping without it so let's continue.
# More discussion about this in #1234504.
#link grub.conf to menu.lst for ec2 to work
echo -n "Linking menu.lst to old-style grub.conf for pv-grub"
ln -sf grub.conf /boot/grub/menu.lst
ln -sf /boot/grub/grub.conf /etc/grub.conf
# older versions of livecd-tools do not follow "rootpw --lock" line above
# https://bugzilla.redhat.com/show_bug.cgi?id=964299
passwd -l root
# setup systemd to boot to the right runlevel
echo -n "Setting default runlevel to multiuser text mode"
rm -f /etc/systemd/system/default.target
ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
echo .
# this is installed by default but we don't need it in virt
# Commenting out the following for #1234504
# rpm works just fine for removing this, no idea why dnf can't cope
echo "Removing linux-firmware package."
rpm -e linux-firmware
# See the systemd-random-seed.service man page that says:
# " It is recommended to remove the random seed from OS images intended
# for replication on multiple systems"
# Remove firewalld; was supposed to be optional in F18+, but is pulled in
# in install/image building.
echo "Removing firewalld."
# FIXME! clean_requirements_on_remove is the default with DNF, but may
# not work when package was installed by Anaconda instead of command line.
# Also -- check if this is still even needed with new anaconda -- disabled
# firewall should _not_ pull in this package.
# dnf -C -y remove "firewalld*" --setopt="clean_requirements_on_remove=1"
dnf -C -y erase "firewalld*"
# Another one needed at install time but not after that, and it pulls
# in some unneeded deps (like, newt and slang)
echo "Removing authconfig."
dnf -C -y erase authconfig
# instlang hack. (Note! See bug referenced above package list)
find /usr/share/locale -mindepth 1 -maxdepth 1 -type d -not -name en_US -exec rm -rf {} +
localedef --list-archive | grep -v ^en_US | xargs localedef --delete-from-archive
# this will kill a live system (since it's memory mapped) but should be safe offline
mv -f /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
build-locale-archive
echo '%_install_langs C:en:en_US:en_US.UTF-8' >> /etc/rpm/macros.image-language-conf
echo -n "Getty fixes"
# although we want console output going to the serial console, we don't
# actually have the opportunity to login there. FIX.
# we don't really need to auto-spawn _any_ gettys.
sed -i '/^#NAutoVTs=.*/ a\
NAutoVTs=0' /etc/systemd/logind.conf
echo -n "Network fixes"
# initscripts don't like this file to be missing.
# and https://bugzilla.redhat.com/show_bug.cgi?id=1204612
cat > /etc/sysconfig/network << EOF
NETWORKING=yes
NOZEROCONF=yes
DEVTIMEOUT=10
EOF
# simple eth0 config, again not hard-coded to the build hardware
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
PERSISTENT_DHCLIENT="yes"
EOF
# generic localhost names
cat > /etc/hosts << EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
EOF
echo .
# Because memory is scarce resource in most cloud/virt environments,
# and because this impedes forensics, we are differing from the Fedora
# default of having /tmp on tmpfs.
echo "Disabling tmpfs for /tmp."
systemctl mask tmp.mount
# make sure firstboot doesn't start
echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot
# Uncomment this if you want to use cloud init but suppress the creation
# of an "ec2-user" account. This will, in the absence of further config,
# cause the ssh key from a metadata source to be put in the root account.
#cat <<EOF > /etc/cloud/cloud.cfg.d/50_suppress_ec2-user_use_root.cfg
#users: []
#disable_root: 0
#EOF
echo "Removing random-seed so it's not the same in every image."
rm -f /var/lib/systemd/random-seed
echo "Cleaning old dnf repodata."
# FIXME: clear history?
dnf clean all
truncate -c -s 0 /var/log/dnf.log
truncate -c -s 0 /var/log/dnf.rpm.log
echo "Import RPM GPG key"
releasever=$(rpm --eval '%{fedora}')
releasever=$(rpm -q --qf '%{version}\n' fedora-release)
basearch=$(uname -i)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
echo "Packages within this cloud image:"
echo "-----------------------------------------------------------------------"
rpm -qa
echo "-----------------------------------------------------------------------"
# Note that running rpm recreates the rpm db files which aren't needed/wanted
rm -f /var/lib/rpm/__db*
# FIXME: is this still needed?
echo "Fixing SELinux contexts."
touch /var/log/cron
touch /var/log/boot.log
# ignore return code because UEFI systems with vfat filesystems
# that don't support selinux will give us errors
/usr/sbin/fixfiles -R -a restore || true
echo "Zeroing out empty space."
# Create zeros file with nodatacow and no compression
touch /var/tmp/zeros
chattr +C /var/tmp/zeros
# This forces the filesystem to reclaim space from deleted files
dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
echo "(Don't worry -- that out-of-space error was expected.)"
# Force sync to disk (Cf. https://pagure.io/cloud-sig/issue/340#comment-743430)
btrfs filesystem sync /
rm -f /var/tmp/zeros
btrfs filesystem sync /
echo "(Don't worry -- that out-of-space error was expected.)"
# When we build the image a networking config file gets left behind.
# Let's clean it up.
echo "Cleanup leftover networking configuration"
rm -f /etc/NetworkManager/system-connections/*.nmconnection
# When we build the image with oz, dracut is used
# and sets up a ifcfg-en<whatever> for the device. We don't
# want to use this, we use eth0 so it is always the same.
# So we remove all these ifcfg-en<whatever> devices so
# The 'network' service can come up cleanly.
rm -f /etc/sysconfig/network-scripts/ifcfg-en*
# Truncate the /etc/resolv.conf left over from NetworkManager during the
# kickstart. This causes delays in boot with cloud-init because the
# 192.168.122.1 DNS server cannot be reached.
# Enable network service here, as doing it in the services line
# fails due to RHBZ #1369794
/sbin/chkconfig network on
# Remove machine-id on pre generated images
rm -f /etc/machine-id
touch /etc/machine-id
# Anaconda is writing an /etc/resolv.conf from the install environment.
# The system should start out with an empty file, otherwise cloud-init
# will try to use this information and may error:
# https://bugs.launchpad.net/cloud-init/+bug/1670052
truncate -s 0 /etc/resolv.conf
# Clear machine-id on pre generated images
truncate -s 0 /etc/machine-id
%end
##### end kickstart post ############################################

221
fedora-cloud-bigdata.ks Normal file
View File

@ -0,0 +1,221 @@
# This is a Fedora 21 spin designed based on the Fedora Cloud Base Image
# but tailored specifically for Big Data processing out-of-the-box.
# Primarily, it builds on that image but adds extra packages, but over
# time may have additional focus.
#
# It's configured with cloud-init so it will take advantage of
# ec2-compatible metadata services for provisioning ssh keys. Cloud-init
# creates a user account named "fedora" with passwordless sudo access. The
# root password is empty and locked by default.
#
# Note that unlike the standard F20 install, this image has /tmp on disk
# rather than in tmpfs, since memory is usually at a premium.
text
lang en_US.UTF-8
keyboard us
timezone --utc Etc/UTC
auth --useshadow --passalgo=sha512
selinux --enforcing
rootpw --lock --iscrypted locked
user --name=none
firewall --disabled
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8"
network --bootproto=dhcp --device=eth0 --activate --onboot=on
services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
zerombr
clearpart --all
part / --size 3000 --fstype ext4
%include fedora-repo.ks
reboot
# Package list.
%packages
fedora-release-cloud
kernel-core
@core
@cloud-server
# Needed initially, but removed below.
firewalld
# rescue mode generally isn't useful in the cloud context
-dracut-config-rescue
# Some things from @core we can do without in a minimal install
-biosdevname
-plymouth
-NetworkManager
-iprutils
-kbd
-uboot-tools
-kernel
-grub2
%end
%post --erroronfail
# Create grub.conf for EC2. This used to be done by appliance creator but
# anaconda doesn't do it. And, in case appliance-creator is used, we're
# overriding it here so that both cases get the exact same file.
# Note that the console line is different -- that's because EC2 provides
# different virtual hardware, and this is a convenient way to act differently
echo -n "Creating grub.conf for pvgrub"
rootuuid=$( awk '$2=="/" { print $1 };' /etc/fstab )
mkdir /boot/grub
echo -e 'default=0\ntimeout=0\n\n' > /boot/grub/grub.conf
for kv in $( ls -1v /boot/vmlinuz* |grep -v rescue |sed s/.*vmlinuz-// ); do
echo "title Fedora ($kv)" >> /boot/grub/grub.conf
echo -e "\troot (hd0,0)" >> /boot/grub/grub.conf
echo -e "\tkernel /boot/vmlinuz-$kv ro root=$rootuuid no_timer_check console=hvc0 LANG=en_US.UTF-8" >> /boot/grub/grub.conf
echo -e "\tinitrd /boot/initramfs-$kv.img" >> /boot/grub/grub.conf
echo
done
#link grub.conf to menu.lst for ec2 to work
echo -n "Linking menu.lst to old-style grub.conf for pv-grub"
ln -sf grub.conf /boot/grub/menu.lst
ln -sf /boot/grub/grub.conf /etc/grub.conf
# older versions of livecd-tools do not follow "rootpw --lock" line above
# https://bugzilla.redhat.com/show_bug.cgi?id=964299
passwd -l root
# remove the user anaconda forces us to make
userdel -r none
# setup systemd to boot to the right runlevel
echo -n "Setting default runlevel to multiuser text mode"
rm -f /etc/systemd/system/default.target
ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
echo .
# this is installed by default but we don't need it in virt
# Commenting out the following for #1234504
# rpm works just fine for removing this, no idea why dnf can't cope
echo "Removing linux-firmware package."
rpm -e linux-firmware
# Remove firewalld; was supposed to be optional in F18+, but is required to
# be present for install/image building.
echo "Removing firewalld."
dnf -C -y remove firewalld --setopt="clean_requirements_on_remove=1"
# Another one needed at install time but not after that, and it pulls
# in some unneeded deps (like, newt and slang)
echo "Removing authconfig."
dnf -C -y remove authconfig --setopt="clean_requirements_on_remove=1"
echo -n "Getty fixes"
# although we want console output going to the serial console, we don't
# actually have the opportunity to login there. FIX.
# we don't really need to auto-spawn _any_ gettys.
sed -i '/^#NAutoVTs=.*/ a\
NAutoVTs=0' /etc/systemd/logind.conf
echo -n "Network fixes"
# initscripts don't like this file to be missing.
cat > /etc/sysconfig/network << EOF
NETWORKING=yes
NOZEROCONF=yes
EOF
# For cloud images, 'eth0' _is_ the predictable device name, since
# we don't want to be tied to specific virtual (!) hardware
rm -f /etc/udev/rules.d/70*
ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
# simple eth0 config, again not hard-coded to the build hardware
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
PERSISTENT_DHCLIENT="yes"
EOF
# generic localhost names
cat > /etc/hosts << EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
EOF
echo .
# Because memory is scarce resource in most cloud/virt environments,
# and because this impedes forensics, we are differing from the Fedora
# default of having /tmp on tmpfs.
echo "Disabling tmpfs for /tmp."
systemctl mask tmp.mount
# make sure firstboot doesn't start
echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot
# Uncomment this if you want to use cloud init but suppress the creation
# of an "ec2-user" account. This will, in the absence of further config,
# cause the ssh key from a metadata source to be put in the root account.
#cat <<EOF > /etc/cloud/cloud.cfg.d/50_suppress_ec2-user_use_root.cfg
#users: []
#disable_root: 0
#EOF
echo "Removing random-seed so it's not the same in every image."
rm -f /var/lib/systemd/random-seed
echo "Cleaning old dnf repodata."
dnf history new
dnf clean all
truncate -c -s 0 /var/log/dnf.log
echo "Import RPM GPG key"
releasever=$(rpm -q --qf '%{version}\n' fedora-release)
basearch=$(uname -i)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
echo "Packages within this cloud image:"
echo "-----------------------------------------------------------------------"
rpm -qa
echo "-----------------------------------------------------------------------"
# Note that running rpm recreates the rpm db files which aren't needed/wanted
rm -f /var/lib/rpm/__db*
# This is a temporary workaround for
# <https://bugzilla.redhat.com/show_bug.cgi?id=1147998>
# where sfdisk seems to be messing up the mbr.
# Long-term fix is to address this in anaconda directly and remove this.
# <https://bugzilla.redhat.com/show_bug.cgi?id=1015931>
dd if=/usr/share/syslinux/mbr.bin of=/dev/vda
echo "Fixing SELinux contexts."
touch /var/log/cron
touch /var/log/boot.log
mkdir -p /var/cache/dnf
/usr/sbin/fixfiles -R -a restore
echo "Zeroing out empty space."
# This forces the filesystem to reclaim space from deleted files
dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
rm -f /var/tmp/zeros
echo "(Don't worry -- that out-of-space error was expected.)"
# Enable network service here, as doing it in the services line
# fails due to RHBZ #1369794
/sbin/chkconfig network on
%end

View File

@ -0,0 +1,215 @@
# This is a spin of the Fedora cloud image designed for trying out new
# images in rawhide. It won't be built for non-rawhide trees, let alone
# actual releases.
cmdline
lang en_US.UTF-8
keyboard us
timezone --utc Etc/UTC
auth --useshadow --passalgo=sha512
selinux --enforcing
rootpw --lock --iscrypted locked
user --name=none
firewall --disabled
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8"
network --bootproto=dhcp --device=eth0 --activate --onboot=on
services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
zerombr
clearpart --all
part / --size 3000 --fstype ext4
%include fedora-repo.ks
reboot
# Package list.
%packages --excludedocs --instLangs=en_US
fedora-release-cloud
kernel-core
@core
@cloud-server
# rescue mode generally isn't useful in the cloud context
-dracut-config-rescue
# Needed initially, but removed below.
firewalld
# Some things from @core we can do without in a minimal install
-biosdevname
-plymouth
-NetworkManager
-iprutils
-kbd
-uboot-tools
-kernel
-grub2
%end
%post --erroronfail
# Create grub.conf for EC2. This used to be done by appliance creator but
# anaconda doesn't do it. And, in case appliance-creator is used, we're
# overriding it here so that both cases get the exact same file.
# Note that the console line is different -- that's because EC2 provides
# different virtual hardware, and this is a convenient way to act differently
echo -n "Creating grub.conf for pvgrub"
rootuuid=$( awk '$2=="/" { print $1 };' /etc/fstab )
mkdir /boot/grub
echo -e 'default=0\ntimeout=0\n\n' > /boot/grub/grub.conf
for kv in $( ls -1v /boot/vmlinuz* |grep -v rescue |sed s/.*vmlinuz-// ); do
echo "title Fedora ($kv)" >> /boot/grub/grub.conf
echo -e "\troot (hd0,0)" >> /boot/grub/grub.conf
echo -e "\tkernel /boot/vmlinuz-$kv ro root=$rootuuid no_timer_check console=hvc0 LANG=en_US.UTF-8" >> /boot/grub/grub.conf
echo -e "\tinitrd /boot/initramfs-$kv.img" >> /boot/grub/grub.conf
echo
done
#link grub.conf to menu.lst for ec2 to work
echo -n "Linking menu.lst to old-style grub.conf for pv-grub"
ln -sf grub.conf /boot/grub/menu.lst
ln -sf /boot/grub/grub.conf /etc/grub.conf
# older versions of livecd-tools do not follow "rootpw --lock" line above
# https://bugzilla.redhat.com/show_bug.cgi?id=964299
passwd -l root
# remove the user anaconda forces us to make
userdel -r none
# setup systemd to boot to the right runlevel
echo -n "Setting default runlevel to multiuser text mode"
rm -f /etc/systemd/system/default.target
ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
echo .
# this is installed by default but we don't need it in virt
# Commenting out the following for #1234504
# rpm works just fine for removing this, no idea why dnf can't cope
echo "Removing linux-firmware package."
rpm -e linux-firmware
# Remove firewalld; was supposed to be optional in F18+, but is required to
# be present for install/image building.
echo "Removing firewalld."
dnf -C -y remove "firewalld*" --setopt="clean_requirements_on_remove=1"
# Another one needed at install time but not after that, and it pulls
# in some unneeded deps (like, newt and slang)
echo "Removing authconfig."
dnf -C -y remove authconfig --setopt="clean_requirements_on_remove=1"
echo -n "Getty fixes"
# although we want console output going to the serial console, we don't
# actually have the opportunity to login there. FIX.
# we don't really need to auto-spawn _any_ gettys.
sed -i '/^#NAutoVTs=.*/ a\
NAutoVTs=0' /etc/systemd/logind.conf
echo -n "Network fixes"
# initscripts don't like this file to be missing.
cat > /etc/sysconfig/network << EOF
NETWORKING=yes
NOZEROCONF=yes
EOF
# For cloud images, 'eth0' _is_ the predictable device name, since
# we don't want to be tied to specific virtual (!) hardware
rm -f /etc/udev/rules.d/70*
ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
# simple eth0 config, again not hard-coded to the build hardware
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
PERSISTENT_DHCLIENT="yes"
EOF
# generic localhost names
cat > /etc/hosts << EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
EOF
echo .
# Because memory is scarce resource in most cloud/virt environments,
# and because this impedes forensics, we are differing from the Fedora
# default of having /tmp on tmpfs.
echo "Disabling tmpfs for /tmp."
systemctl mask tmp.mount
# make sure firstboot doesn't start
echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot
# Uncomment this if you want to use cloud init but suppress the creation
# of an "ec2-user" account. This will, in the absence of further config,
# cause the ssh key from a metadata source to be put in the root account.
#cat <<EOF > /etc/cloud/cloud.cfg.d/50_suppress_ec2-user_use_root.cfg
#users: []
#disable_root: 0
#EOF
echo "Removing random-seed so it's not the same in every image."
rm -f /var/lib/systemd/random-seed
echo "Cleaning old dnf repodata."
dnf history new
dnf clean all
truncate -c -s 0 /var/log/dnf.log
echo "Import RPM GPG key"
releasever=$(rpm -q --qf '%{version}\n' fedora-release)
basearch=$(uname -i)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
echo "Packages within this cloud image:"
echo "-----------------------------------------------------------------------"
rpm -qa
echo "-----------------------------------------------------------------------"
# Note that running rpm recreates the rpm db files which aren't needed/wanted
rm -f /var/lib/rpm/__db*
# This is a temporary workaround for
# <https://bugzilla.redhat.com/show_bug.cgi?id=1147998>
# where sfdisk seems to be messing up the mbr.
# Long-term fix is to address this in anaconda directly and remove this.
# <https://bugzilla.redhat.com/show_bug.cgi?id=1015931>
dd if=/usr/share/syslinux/mbr.bin of=/dev/vda
echo "Fixing SELinux contexts."
touch /var/log/cron
touch /var/log/boot.log
mkdir -p /var/cache/dnf
chattr -i /boot/extlinux/ldlinux.sys
/usr/sbin/fixfiles -R -a restore
chattr +i /boot/extlinux/ldlinux.sys
echo "Zeroing out empty space."
# This forces the filesystem to reclaim space from deleted files
dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
rm -f /var/tmp/zeros
echo "(Don't worry -- that out-of-space error was expected.)"
# Enable network service here, as doing it in the services line
# fails due to RHBZ #1369794
/sbin/chkconfig network on
%end

View File

@ -1,29 +0,0 @@
# Description: Packages for the NeuroFedora computational neuroscience lab image.
#
# Maintained by the NeuroFedora SIG:
# https://neuro.fedoraproject.org
# mailto:neuro-sig@lists.fedoraproject.org
%packages
fedora-release-compneuro
# Includes numpy, scipy, jupyter, pandas, scikit, scipy, statsmodels, sympy, matplotlib
@python-science
#Computational neuroscience packages
arbor
genesis-simulator
moose
nest
neuron
neuron-devel
python3
python3-brian2
python3-ipython
python3-lfpy
python3-nest
python3-netpyne
python3-neuron
python3-pynn
python3-steps
%end

View File

@ -3,15 +3,18 @@
%include fedora-container-common.ks
%packages --excludedocs --instLangs=en --nocore --excludeWeakdeps
%packages --excludedocs --instLangs=en --nocore
rootfiles
# https://communityblog.fedoraproject.org/modularity-dead-long-live-modularity/
fedora-repos-modular
tar # https://bugzilla.redhat.com/show_bug.cgi?id=1409920
vim-minimal
dnf
dnf-yum # https://fedorahosted.org/fesco/ticket/1312#comment:29
sssd-client
sudo
-glibc-langpack-en
-langpacks-en
-cracklib-dicts
%end
%post --erroronfail --log=/root/anaconda-post.log
@ -22,6 +25,11 @@ rm -rf /tmp/*
# https://pagure.io/atomic-wg/issue/308
printf "tsflags=nodocs\n" >>/etc/dnf/dnf.conf
# https://bugzilla.redhat.com/show_bug.cgi?id=1576993
systemctl disable dnf-makecache.timer
#Mask mount units and getty service so that we don't get login prompt
systemctl mask systemd-remount-fs.service dev-hugepages.mount sys-fs-fuse-connections.mount systemd-logind.service getty.target console-getty.service
# https://bugzilla.redhat.com/show_bug.cgi?id=1343138
# Fix /run/lock breakage since it's not tmpfs in docker
@ -35,10 +43,8 @@ printf "tsflags=nodocs\n" >>/etc/dnf/dnf.conf
# [/usr/lib/tmpfiles.d/systemd.conf:26] Failed to replace specifiers: /run/log/journal/%m
#
umount /run
rm -f /run/nologin # https://pagure.io/atomic-wg/issue/316
# Final pruning
rm -rfv /var/cache/* /var/log/* /tmp/*
systemd-tmpfiles --prefix=/run/ --prefix=/var/run/ --create --boot || true
rm /run/nologin # https://pagure.io/atomic-wg/issue/316
%end

View File

@ -18,8 +18,7 @@
text # don't use cmdline -- https://github.com/rhinstaller/anaconda/issues/931
bootloader --disabled
timezone --isUtc Etc/UTC
timesource --ntp-disable
timezone --isUtc --nontp Etc/UTC
rootpw --lock --iscrypted locked
keyboard us
network --bootproto=dhcp --device=link --activate --onboot=on
@ -30,13 +29,16 @@ zerombr
clearpart --all
autopart --noboot --nohome --noswap --nolvm
%packages --excludedocs --instLangs=en --nocore --excludeWeakdeps
%packages --excludedocs --instLangs=en --nocore
fedora-release-container
bash
coreutils
glibc-minimal-langpack
libcrypt
rpm
util-linux-core
shadow-utils
sssd-client
util-linux
-kernel
-dosfstools
-e2fsprogs
@ -48,10 +50,6 @@ util-linux-core
-trousers
-xkeyboard-config
-grubby
-langpacks-en_GB
# https://bugzilla.redhat.com/show_bug.cgi?id=1951111
-util-linux
-sssd-client
%end
@ -68,13 +66,7 @@ echo 'LANG="C.UTF-8"' > /etc/locale.conf
# https://bugzilla.redhat.com/show_bug.cgi?id=1400682
echo "Import RPM GPG key"
releasever=$(rpm --eval '%{?fedora}')
# When building ELN containers, we don't have the %{fedora} macro
if [ -z $releasever ]; then
releasever=eln
fi
releasever=$(rpm -q --qf '%{version}\n' fedora-release-container)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary
echo "# fstab intentionally empty for containers" > /etc/fstab
@ -83,6 +75,4 @@ echo "# fstab intentionally empty for containers" > /etc/fstab
rm -f /etc/machine-id
touch /etc/machine-id
echo "# resolv placeholder" > /etc/resolv.conf
chmod 644 /etc/resolv.conf
%end

View File

@ -1,152 +0,0 @@
# Kickstart file for Fedora Toolbox
# See fedora-container-common.ks for details on how to hack on container image kickstarts
# This base is a standard Fedora image with python3 and dnf
%include fedora-container-common.ks
# Install packages
%packages --inst-langs=en --nocore --exclude-weakdeps
acl
bash
bash-completion
bc
bzip2
coreutils-common
curl
diffutils
dnf
dnf-yum # https://fedorahosted.org/fesco/ticket/1312#comment:29
dnf-plugins-core
findutils
flatpak-spawn
fpaste
gawk
git
-glibc-minimal-langpack
glibc-all-langpacks
gnupg2
gnupg2-smime
grep
gvfs-client
gzip
hostname
iproute
iputils
keyutils
krb5-libs
less
libcap
lsof
man-db
man-pages
mesa-dri-drivers
mesa-vulkan-drivers
mtr
nano-default-editor
nss-mdns
openssh-clients
openssl
p11-kit
pam
passwd
pigz
procps-ng
python3
rootfiles
rpm
rsync
sed
shadow-utils
sudo
systemd
tar # https://bugzilla.redhat.com/show_bug.cgi?id=1409920
tcpdump
time
traceroute
tree
unzip
util-linux
util-linux-core
vim-enhanced
vte-profile
vulkan-loader
wget
which
whois
words
xorg-x11-xauth
xz
zip
%end
# Pre-installation commands
%pre
# Copy README.md
cp /README.md /mnt/sysimage/README.md
# Remove macros.image-language-conf file
rm -f /mnt/sysimage/etc/rpm/macros.image-language-conf
# Remove 'tsflags=nodocs' line from dnf.conf
sed -i '/tsflags=nodocs/d' /mnt/sysimage/etc/dnf/dnf.conf
# https://bugzilla.redhat.com/show_bug.cgi?id=1343138
# Fix /run/lock breakage since it's not tmpfs in docker
# This unmounts /run (tmpfs) and then recreates the files
# in the /run directory on the root filesystem of the container
#
# We ignore the return code of the systemd-tmpfiles command because
# at this point we have already removed the /etc/machine-id and all
# tmpfiles lines with %m in them will fail and cause a bad return
# code. Example failure:
# [/usr/lib/tmpfiles.d/systemd.conf:26] Failed to replace specifiers: /run/log/journal/%m
#
umount /run
rm -f /run/nologin # https://pagure.io/atomic-wg/issue/316
# Final pruning
rm -rfv /var/cache/* /var/log/* /tmp/*
%end
# Perform any necessary post-installation configurations specific to Fedora Toolbox (nochroot environment)
# Post-installation commands
%post --nochroot --erroronfail --log=/mnt/sysimage/root/anaconda-post-nochroot.log
set -eux
# Check if specified files exist
#declare -a files=(
# "/usr/share/man/man1/bash.1*"
# "/usr/share/man/man1/cd.1*"
# "/usr/share/man/man1/export.1*"
# "/usr/share/man/man1/cat.1*"
# "/usr/share/man/man1/cp.1*"
# "/usr/share/man/man1/ls.1*"
# "/usr/share/man/man1/gpg2.1*"
# "/usr/share/man/man7/gnupg2.7*"
# "/usr/share/man/fr/man8/rpm.8*"
# "/usr/share/man/ja/man8/rpm.8*"
# "/usr/share/man/man8/rpm.8*"
# "/usr/share/man/man1/kill.1*"
# "/usr/share/man/man8/mount.8*"
#)
#ret_val=0
#for file in "${files[@]}"; do
# if ! compgen -G "$file" >/dev/null; then
# echo "$file: No such file or directory" >&2
# ret_val=1
# break
# fi
#done
#if [ "$ret_val" -ne 0 ]; then
# false
#fi
# Clean up dnf cache
dnf clean all
%end

View File

@ -1,30 +0,0 @@
%packages
# Switch to groups for design suite
@design-suite
# Identify as Fedora Design Suite
fedora-release-designsuite
# Provides backup application
deja-dup
#deja-dup-nautilus
# Add extra gnome applications
#gnome-books
gnome-calendar
gnome-photos
gnome-pomodoro
gnome-todo
# Add cosmetic for terminal
powerline
powerline-fonts
# removal of unneeded applications
-gnome-boxes
# temporarily removing conflicting application
-mypaint
-sparkleshare
%end

View File

@ -11,9 +11,10 @@ text
lang en_US.UTF-8
keyboard us
timezone US/Eastern
auth --useshadow --passalgo=sha512
selinux --enforcing
firewall --enabled --service=mdns
services --enabled=sshd,NetworkManager,chronyd
services --enabled=sshd,NetworkManager,chronyd,zram-swap
network --bootproto=dhcp --device=link --activate
rootpw --lock --iscrypted locked
shutdown
@ -32,6 +33,7 @@ firstboot --reconfig
@core
@standard
@hardware-support
zram
kernel
# remove this in %post
@ -39,6 +41,8 @@ dracut-config-generic
-dracut-config-rescue
# install tools needed to manage and boot arm systems
@arm-tools
-uboot-images-armv7
rng-tools
chrony
bcm283x-firmware
initial-setup
@ -48,46 +52,37 @@ initial-setup
-usb_modeswitch
-generic-release*
# make sure all the locales are available for inital-setup and anaconda to work
# make sure all the locales are available for inital0-setup and anaconda to work
glibc-all-langpacks
%end
%post
# Find the architecture we are on
arch=$(uname -m)
# Setup Raspberry Pi firmware
if [[ $arch == "aarch64" ]]; then
cp -P /usr/share/uboot/rpi_arm64/u-boot.bin /boot/efi/rpi-u-boot.bin
fi
cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin
releasever=$(rpm --eval '%{fedora}')
releasever=$(rpm -q --qf '%{version}\n' fedora-release)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary
echo "Packages within this disk image"
rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn
rpm -qa
# Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db*
# remove random seed, the newly installed instance should make it's own
rm -f /var/lib/systemd/random-seed
# The enp1s0 interface is a left over from the imagefactory install, clean this up
rm -f /etc/NetworkManager/system-connections/*.nmconnection
rm -f /etc/sysconfig/network-scripts/ifcfg-enp1s0
dnf -y remove dracut-config-generic
# Disable network service here, as doing it in the services line
# fails due to RHBZ #1369794
/sbin/chkconfig network off
# Remove machine-id on pre generated images
rm -f /etc/machine-id
touch /etc/machine-id
# Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db*
# Anaconda adds console=tty0 to the grub boot line on all images. this is problematic
# when you are using fedora via serial console as you do not get any output post grub
# linux does a good job of knowing what consoles need to be enabled.
# https://bugzilla.redhat.com/show_bug.cgi?id=2022757
if [[ $arch == "aarch64" ]]; then
sed -i -e 's|console=tty0||g' /boot/loader/entries/*conf
fi
%end

View File

@ -1,5 +0,0 @@
%include fedora-disk-base.ks
%include fedora-disk-xbase.ks
%include fedora-budgie-common.ks
autopart --type=btrfs --noswap

View File

@ -1,5 +0,0 @@
%include fedora-disk-base.ks
%include fedora-disk-xbase.ks
%include fedora-kde-common.ks
autopart --type=btrfs --noswap

View File

@ -1,5 +0,0 @@
%include fedora-disk-base.ks
%include fedora-disk-xbase.ks
%include fedora-lxqt-common.ks
autopart --type=btrfs --noswap

View File

@ -1,6 +1,10 @@
%include fedora-disk-base.ks
%include fedora-minimal-common.ks
services --enabled=sshd,NetworkManager,chronyd,initial-setup
services --enabled=sshd,NetworkManager,chronyd,initial-setup,zram-swap
autopart --type=plain --noswap
%packages
-xkeyboard-config
%end

View File

@ -1,5 +0,0 @@
%include fedora-disk-base.ks
%include fedora-disk-xbase.ks
%include fedora-phosh-common.ks
autopart --type=btrfs --noswap

View File

@ -1,20 +0,0 @@
# Maintained by the Fedora Python SIG:
# http://fedoraproject.org/wiki/SIGs/Python
# mailto:python-devel@lists.fedoraproject.org
# The Workstion based Python Classroom Lab
%include fedora-disk-base.ks
%include fedora-disk-xbase.ks
%include fedora-workstation-common.ks
%include fedora-python-classroom-gnome-common.ks
autopart --type=btrfs --noswap
%packages
-initial-setup
-initial-setup-gui
-libvirt*
-gnome-boxes
%end

View File

@ -1,11 +1,10 @@
%include fedora-disk-base.ks
services --enabled=sshd,NetworkManager,chronyd,initial-setup
services --enabled=sshd,NetworkManager,chronyd,initial-setup,zram-swap
autopart --noswap
%packages
fedora-release-server
# install the default groups for the server environment since installing the environment is not working
@server-product
@standard

View File

@ -1,5 +0,0 @@
%include fedora-disk-base.ks
%include fedora-disk-xbase.ks
%include fedora-soas-common.ks
autopart --type=btrfs --noswap

View File

@ -2,12 +2,18 @@
%include fedora-disk-xbase.ks
%include fedora-workstation-common.ks
autopart --type=btrfs --noswap
bootloader --append="cma=256MB"
services --enabled=sshd,NetworkManager,chronyd,zram-swap
autopart --type=plain --noswap
%packages
-initial-setup
-initial-setup-gui
gnome-initial-setup
anaconda-webui
%end
%post
%end

View File

@ -5,7 +5,6 @@
@multimedia
@printing
-@guest-desktop-agents
initial-setup-gui
# Need aajohan-comfortaa-fonts for the SVG rnotes images
aajohan-comfortaa-fonts

View File

@ -1,5 +0,0 @@
%include fedora-disk-base.ks
%include fedora-disk-xbase.ks
%include fedora-xfce-common.ks
autopart --type=btrfs --noswap

View File

@ -1,60 +0,0 @@
# See fedora-container-common.ks for details on how to hack on container image kickstarts
# This base is a standard Fedora-ELN image with python3 and dnf
%include fedora-container-common.ks
%packages --excludedocs --instLangs=en --nocore --excludeWeakdeps
-fedora-release-container
fedora-release-eln
fedora-repos-eln
rootfiles
tar # https://bugzilla.redhat.com/show_bug.cgi?id=1409920
vim-minimal
dnf
dnf-yum # https://fedorahosted.org/fesco/ticket/1312#comment:29
sudo
-glibc-langpack-en
-langpacks-en
%end
%post --erroronfail --log=/root/anaconda-post.log
set -eux
# remove some extraneous files
rm -rf /var/cache/dnf/*
rm -rf /tmp/*
# https://pagure.io/atomic-wg/issue/308
printf "tsflags=nodocs\n" >>/etc/dnf/dnf.conf
# https://bugzilla.redhat.com/show_bug.cgi?id=1343138
# Fix /run/lock breakage since it's not tmpfs in docker
# This unmounts /run (tmpfs) and then recreates the files
# in the /run directory on the root filesystem of the container
#
# We ignore the return code of the systemd-tmpfiles command because
# at this point we have already removed the /etc/machine-id and all
# tmpfiles lines with %m in them will fail and cause a bad return
# code. Example failure:
# [/usr/lib/tmpfiles.d/systemd.conf:26] Failed to replace specifiers: /run/log/journal/%m
#
umount /run
rm -f /run/nologin # https://pagure.io/atomic-wg/issue/316
# Final pruning
rm -rfv /var/cache/* /var/log/* /tmp/*
%end
%post --nochroot --erroronfail --log=/mnt/sysimage/root/anaconda-post-nochroot.log
set -eux
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1051816
# NOTE: run this in nochroot because "find" does not exist in chroot
KEEPLANG=en_US
for dir in locale i18n; do
find /mnt/sysimage/usr/share/${dir} -mindepth 1 -maxdepth 1 -type d -not \( -name "${KEEPLANG}" -o -name POSIX \) -exec rm -rfv {} +
done
%end

View File

@ -1,238 +0,0 @@
# Kickstart file to build Fedora ELN Guest image.
# This image is used to test Fedora ELN content for
# the cloud instances. This image provides minimally configured
# system image.
text
lang en_US.UTF-8
keyboard us
timezone --utc America/New_York
# add console and reorder in %post
bootloader --timeout=1 --location=mbr --append="console=ttyS0,115200n8 no_timer_check crashkernel=auto net.ifnames=0"
selinux --enforcing
firewall --enabled --service=ssh
network --bootproto=dhcp --device=link --activate --onboot=on
#services --enabled=sshd,ovirt-guest-agent --disabled kdump,rhsmcertd
services --enabled=sshd,NetworkManager,cloud-init,cloud-init-local,cloud-config,cloud-final --disabled kdump,rhsmcertd
rootpw --iscrypted nope
#
# Partition Information. Change this as necessary
# This information is used by appliance-tools but
# not by the livecd tools.
#
zerombr
clearpart --all --initlabel
# autopart --type=plain --nohome # --nohome doesn't work because of rhbz#1509350
# autopart is problematic in that it creates /boot and swap partitions rhbz#1542510 rhbz#1673094
reqpart
part / --fstype="xfs" --ondisk=vda --size=8000
reboot
# Packages
%packages
@core
dnf
kernel
yum
nfs-utils
dnf-utils
# pull firmware packages out
-aic94xx-firmware
-alsa-firmware
-alsa-lib
-alsa-tools-firmware
-ivtv-firmware
-iwl1000-firmware
-iwl100-firmware
-iwl105-firmware
-iwl135-firmware
-iwl2000-firmware
-iwl2030-firmware
-iwl3160-firmware
-iwl3945-firmware
-iwl4965-firmware
-iwl5000-firmware
-iwl5150-firmware
-iwl6000-firmware
-iwl6000g2a-firmware
-iwl6000g2b-firmware
-iwl6050-firmware
-iwl7260-firmware
-libertas-sd8686-firmware
-libertas-sd8787-firmware
-libertas-usb8388-firmware
# cloud-init does magical things with EC2 metadata, including provisioning
# a user account with ssh keys.
cloud-init
## Adding a dependency for cloud-init as recommended by tdawson
python3-jsonschema
# rhevm guest-agent (Not available in ELN yet)
#rhevm-guest-agent-common
# allows the host machine to issue commands to the guest operating system
qemu-guest-agent
# need this for growpart, because parted doesn't yet support resizepart
# https://bugzilla.redhat.com/show_bug.cgi?id=966993
#cloud-utils
#heat-cfntools # Not available in ELN (yet?)
cloud-utils-growpart
# We need this image to be portable; also, rescue mode isn't useful here.
dracut-config-generic
# Don't include dracut-config-rescue. It will have dracut generate a
# "rescue" entry in the grub menu, but that also means there is a
# rescue kernel and initramfs that get created, which (currently) add
# about another 40MiB to the /boot/ partition. Also the "rescue" mode
# is generally not useful in the cloud.
-dracut-config-rescue
# Needed initially, but removed below.
firewalld
# cherry-pick a few things from @base
tar
tcpdump
rsync
# Some things from @core we can do without in a minimal install
-biosdevname
-plymouth
-iprutils
# Minimal Cockpit web console
cockpit-ws
cockpit-system
subscription-manager-cockpit
# rh-amazon-rhui-client
# Transitively required by grub2-tools-extra
langpacks-core-font-en
# We are building Fedora-ELN
fedora-release-eln
fedora-repos-eln
# Add rng-tools as source of entropy
rng-tools
%end
#
# Add custom post scripts after the base post.
#
%post --erroronfail
# workaround anaconda requirements
passwd -d root
passwd -l root
# setup systemd to boot to the right runlevel
echo -n "Setting default runlevel to multiuser text mode"
rm -f /etc/systemd/system/default.target
ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
echo .
# this is installed by default but we don't need it in virt
echo "Removing linux-firmware package."
dnf -C -y remove linux-firmware
# Remove firewalld; it is required to be present for install/image building.
echo "Removing firewalld."
dnf -C -y remove firewalld --setopt="clean_requirements_on_remove=1"
echo -n "Getty fixes"
# although we want console output going to the serial console, we don't
# actually have the opportunity to login there. FIX.
# we don't really need to auto-spawn _any_ gettys.
sed -i '/^#NAutoVTs=.*/ a\
NAutoVTs=0' /etc/systemd/logind.conf
# For cloud images, 'eth0' _is_ the predictable device name, since
# we don't want to be tied to specific virtual (!) hardware
rm -f /etc/udev/rules.d/70*
ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
rm -f /etc/NetworkManager/system-connections/*.nmconnection
# simple eth0 config, again not hard-coded to the build hardware
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
DEVICE="eth0"
BOOTPROTO="dhcp"
BOOTPROTOv6="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="yes"
PEERDNS="yes"
IPV6INIT="yes"
PERSISTENT_DHCLIENT="1"
EOF
# set virtual-guest as default profile for tuned
echo "virtual-guest" > /etc/tuned/active_profile
# generic localhost names
cat > /etc/hosts << EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
EOF
echo .
cat <<EOL > /etc/sysconfig/kernel
# UPDATEDEFAULT specifies if new-kernel-pkg should make
# new kernels the default
UPDATEDEFAULT=yes
# DEFAULTKERNEL specifies the default kernel package type
DEFAULTKERNEL=kernel
EOL
# make sure firstboot doesn't start
echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot
# workaround https://bugzilla.redhat.com/show_bug.cgi?id=966888
if ! grep -q growpart /etc/cloud/cloud.cfg; then
sed -i 's/ - resizefs/ - growpart\n - resizefs/' /etc/cloud/cloud.cfg
fi
# allow sudo powers to cloud-user
echo -e 'cloud-user\tALL=(ALL)\tNOPASSWD: ALL' >> /etc/sudoers
# Disable subscription-manager yum plugins
sed -i 's|^enabled=1|enabled=0|' /etc/yum/pluginconf.d/product-id.conf
sed -i 's|^enabled=1|enabled=0|' /etc/yum/pluginconf.d/subscription-manager.conf
echo "Cleaning old yum repodata."
dnf clean all
# clean up installation logs"
rm -rf /var/log/yum.log
rm -rf /var/lib/yum/*
rm -rf /root/install.log
rm -rf /root/install.log.syslog
rm -rf /root/anaconda-ks.cfg
rm -rf /var/log/anaconda*
echo "Fixing SELinux contexts."
touch /var/log/cron
touch /var/log/boot.log
mkdir -p /var/cache/yum
/usr/sbin/fixfiles -R -a restore
# remove random-seed so it's not the same every time
rm -f /var/lib/systemd/random-seed
# Remove machine-id on the pre generated images
cat /dev/null > /etc/machine-id
# Anaconda is writing to /etc/resolv.conf from the generating environment.
# The system should start out with an empty file.
truncate -s 0 /etc/resolv.conf
%end

View File

@ -1,35 +0,0 @@
# fedora-livecd-i3.ks
#
# Description:
# - Fedora Live Spin with the tiling window manager i3wm
#
# Maintainer(s):
# - Nasir Hussain <nasirhm@fedoraproject.org>
# - Eduard Lucena <x3mboy@fedoraproject.org>
# - Justin W. Flory <jwf@fedoraproject.org>
# - Dan Cermak <defolos@fedoraproject.org>
%packages
@^i3-desktop-environment
feh
dex-autostart
thunar
# unlock default keyring. FIXME: Should probably be done in comps
gnome-keyring-pam
# Admin tools are handy to have
@admin-tools
wget
# Better more popular browser
system-config-printer
# save some space
-autofs
-acpid
-gimp-help
-desktop-backgrounds-basic
-aspell-* # dictionaries are big
%end

View File

@ -5,13 +5,18 @@ lang en_US.UTF-8
keyboard us
timezone --utc Etc/UTC
auth --useshadow --passalgo=sha512
selinux --enforcing
rootpw --lock --iscrypted locked
bootloader --timeout=1 --append="modprobe.blacklist=vc4"
# Add most common consoles console=ttyAMA0 console=ttyS0 console=ttyS1 as kernel boot parameter
bootloader --timeout=1 --append="net.ifnames=0 modprobe.blacklist=vc4"
network --bootproto=dhcp --device=link --activate --onboot=on
services --enabled=NetworkManager,sshd
services --enabled=NetworkManager,sshd,rngd,initial-setup,zram-swap
# tell Initial Setup to run in the reconfig mode
firstboot --reconfig --enable
zerombr
clearpart --all --initlabel --disklabel=msdos
@ -19,36 +24,41 @@ autopart --nohome --noswap --type=plain
# Equivalent of %include fedora-repo.ks
# Pull from the ostree repo that was created during the compose
ostreesetup --nogpg --osname=fedora-iot --remote=fedora-iot --url=https://kojipkgs.fedoraproject.org/compose/iot/repo/ --ref=fedora/rawhide/${basearch}/iot
ostreesetup --nogpg --osname=fedora-iot --remote=fedora-iot --url=https://kojipkgs.fedoraproject.org/compose/iot/repo/ --ref=fedora/stable/${basearch}/iot
reboot
%post --erroronfail
# Find the architecture we are on
arch=$(uname -m)
# Setup Raspberry Pi firmware
if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then
if [[ $arch == "aarch64" ]]; then
cp -P /usr/share/uboot/rpi_arm64/u-boot.bin /boot/efi/rpi-u-boot.bin
cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin
else
cp -P /usr/share/uboot/rpi_2/u-boot.bin /boot/fw/rpi2-u-boot.bin
cp -P /usr/share/uboot/rpi_3_32b/u-boot.bin /boot/fw/rpi3-u-boot.bin
fi
fi
# Set the origin to the "main ref", distinct from /updates/ which is where bodhi writes.
# We want consumers of this image to track the two week releases.
ostree admin set-origin --index 0 fedora-iot https://dl.fedoraproject.org/iot/repo/ "fedora/rawhide/${arch}/iot"
ostree admin set-origin --index 0 fedora-iot https://dl.fedoraproject.org/iot/repo/ "fedora/stable/${arch}/iot"
# Make sure the ref we're supposedly sitting on (according
# to the updated origin) exists.
ostree refs "fedora-iot:fedora/rawhide/${arch}/iot" --create "fedora-iot:fedora/rawhide/${arch}/iot"
ostree refs "fedora-iot:fedora/stable/${arch}/iot" --create "fedora-iot:fedora/stable/${arch}/iot"
# Remove the old ref so that the commit eventually gets cleaned up.
ostree refs "fedora-iot:fedora/rawhide/${arch}/iot" --delete
ostree refs "fedora-iot:fedora/stable/${arch}/iot" --delete
# delete/add the remote with new options to enable gpg verification
# and to point them at the cdn url
ostree remote delete fedora-iot
ostree remote add --set=gpg-verify=true --set=gpgkeypath=/etc/pki/rpm-gpg/ --set=contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist fedora-iot 'https://ostree.fedoraproject.org/iot'
# We're getting a stray console= from somewhere, work around it
# We're gettin a stray console= from somewhere, work around it
rpm-ostree kargs --delete=console=tty0
# older versions of livecd-tools do not follow "rootpw --lock" line above
@ -58,15 +68,30 @@ passwd -l root
# Work around https://bugzilla.redhat.com/show_bug.cgi?id=1193590
cp /etc/skel/.bash* /var/roothome
echo -n "Network fixes"
# initscripts don't like this file to be missing.
cat > /etc/sysconfig/network << EOF
NETWORKING=yes
NOZEROCONF=yes
EOF
# Remove any persistent NIC rules generated by udev
rm -vf /etc/udev/rules.d/*persistent-net*.rules
# And ensure that we will do DHCP on eth0 on startup
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
PERSISTENT_DHCLIENT="yes"
EOF
echo "Removing random-seed so it's not the same in every image."
rm -f /var/lib/systemd/random-seed
echo "Packages within this iot image:"
echo "-----------------------------------------------------------------------"
rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn
rpm -qa
echo "-----------------------------------------------------------------------"
# Note that running rpm recreates the rpm db files which aren't needed/wanted
rm -f /var/lib/rpm/__db*
@ -77,7 +102,11 @@ dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
rm -f /var/tmp/zeros
echo "(Don't worry -- that out-of-space error was expected.)"
rm -f /etc/NetworkManager/system-connections/*.nmconnection
# For trac ticket https://pagure.io/atomic-wg/issue/128
rm -f /etc/sysconfig/network-scripts/ifcfg-ens3
echo "Adding Developer Mode GRUB2 menu item."
/usr/libexec/atomic-devmode/bootentry add
# Anaconda is writing an /etc/resolv.conf from the install environment.
# The system should start out with an empty file, otherwise cloud-init

View File

@ -1,42 +1,57 @@
%packages
# install env-group to resolve RhBug:1891500
@^kde-desktop-environment
@firefox
@kde-apps
@kde-desktop
@kde-media
@kde-pim
@libreoffice
# add libreoffice-draw and libreoffice-math (pagureio:fedora-kde/SIG#103)
libreoffice-draw
libreoffice-math
fedora-release-kde
-@admin-tools
# drop tracker stuff pulled in by gtk3 (pagureio:fedora-kde/SIG#124)
-tracker-miners
-tracker
@kde-office
@networkmanager-submodules
### The KDE-Desktop
### Browser
falkon
### fixes
# use kde-print-manager instead of system-config-printer
-system-config-printer
# make sure mariadb lands instead of MySQL (hopefully a temporary hack)
mariadb-embedded
mariadb-connector-c
mariadb-server
# minimal localization support - allows installing the kde-l10n-* packages
system-config-language
kde-l10n
# unwanted packages from @kde-desktop
# don't include these for now to fit on a cd
-desktop-backgrounds-basic
-kdeaccessibility*
#-ktorrent # kget has also basic torrent features (~3 megs)
-digikam # digikam has duplicate functionality with gwenview (~28 megs)
#-amarok # ~23 megs (mysql-embedded etc.)
-kipi-plugins # ~8 megs + drags in Marble
#-kdeplasma-addons # ~16 megs
#-krusader # ~4 megs
# Additional packages that are not default in kde-* groups, but useful
k3b # ~15 megs
#kdeartwork # only include some parts of kdeartwork
fuse
mediawriter
### space issues
-ktorrent # kget has also basic torrent features (~3 megs)
-digikam # digikam has duplicate functionality with gwenview (~28 megs)
-kipi-plugins # ~8 megs + drags in Marble
-krusader # ~4 megs
-k3b # ~15 megs
# admin-tools
-gnome-disk-utility
# kcm_clock still lacks some features, so keep system-config-date around
#-system-config-date
# prefer kcm_systemd
-system-config-services
# prefer/use kusers
-system-config-users
## avoid serious bugs by omitting broken stuff

View File

@ -0,0 +1,8 @@
# remove input methods to free space
%packages
-@input-methods
-scim*
-iok
%end

View File

@ -18,7 +18,7 @@
%include fedora-live-minimization.ks
# The recommended part size for DVDs is too close to use for the astronomy spin
part / --size 16000
part / --size 14500
%packages
@ -34,23 +34,29 @@ astrometry
astrometry-tycho2
cdsclient
fpack
gcx
psfex
saoimage
scamp
sextractor
#siril
siril
skyviewer
swarp
wcstools
# Observatory: KStars + INDI drivers
indi-3rdparty-drivers
indi-aagcloudwatcher
indi-apogee
indi-eqmod
indi-gphoto
indi-sx
indistarter
kstars
# misc. astronomy
#celestia
celestia
stellarium
#virtualplanet
virtualplanet
# Some astro environment stuff
astronomy-menus
@ -78,6 +84,7 @@ astropy-tools
ginga
python3-astropy
python3-astroML
python3-astroML-addons
python3-astroquery
python3-astroscrappy
python3-APLpy
@ -89,23 +96,21 @@ python3-photutils
python3-pyvo
python3-reproject
python3-sep
python3-wcsaxes
# matplotlib backends
python3-matplotlib-qt4
python3-matplotlib-qt5
python3-matplotlib-tk
# Python IDE very useful for scientific use
# FTI with Python 3.12:
# https://bugzilla.redhat.com/show_bug.cgi?id=2220598
# can be restored when that is fixed
#python3-spyder
# BOINC for distributed computing
boinc-client
boinc-manager
python3-spyder
#Version control- a GUI for each as well
# Installing rapidsvn will also install subversion package
rapidsvn
git
git-gui
@ -115,18 +120,17 @@ gimp
kst
kst-docs
kst-fits
# LabPlot currently not installable due to #2044284
#LabPlot
LabPlot
#Misc. Utils
# icedtea-web to have webstart useful for VO tools
icedtea-web
ImageMagick
kate
kate-plugins
rlwrap
screen
# Java JRE for VO tools
java
plasma-applet-redshift-control
# Omit KDE 4 translations for now: https://bugzilla.redhat.com/show_bug.cgi?id=1197940
-kde-l10n-*

View File

@ -10,6 +10,7 @@
lang en_US.UTF-8
keyboard us
timezone US/Eastern
auth --useshadow --passalgo=sha512
selinux --enforcing
firewall --enabled --service=mdns
xconfig --startxonboot
@ -24,39 +25,272 @@ shutdown
%include fedora-repo.ks
%packages
@base-x
@guest-desktop-agents
@standard
@core
@fonts
@input-methods
@dial-up
@multimedia
@hardware-support
@printing
# Explicitly specified here:
# <notting> walters: because otherwise dependency loops cause yum issues.
kernel
kernel-modules
kernel-modules-extra
# 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-install-env-deps
anaconda-live
@anaconda-tools
# Anaconda has a weak dep on this and we don't want it on livecds, see
# https://fedoraproject.org/wiki/Changes/RemoveDeviceMapperMultipathFromWorkstationLiveCD
-fcoe-utils
-device-mapper-multipath
# Need aajohan-comfortaa-fonts for the SVG rnotes images
aajohan-comfortaa-fonts
# Without this, initramfs generation during live image creation fails: #1242586
dracut-live
syslinux
# anaconda needs the locales available to run for different locales
glibc-all-langpacks
# provide the livesys scripts
livesys-scripts
# no longer in @core since 2018-10, but needed for livesys script
initscripts
chkconfig
%end
%post
# Enable livesys services
systemctl enable livesys.service
systemctl enable livesys-late.service
# 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 chronyd
### 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=}
continue
fi
if [ "\${arg##live_dir=}" != "\${arg}" ]; then
livedir=\${arg##live_dir=}
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=}
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 liveuser 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 || :
# turn off abrtd on a live image
systemctl --no-reload disable abrtd.service 2> /dev/null || :
systemctl stop abrtd.service 2> /dev/null || :
# Don't sync the system clock when running live (RHBZ #1018162)
sed -i 's/rtcsync//' /etc/chrony.conf
# Mark things as configured
touch /.liveimg-configured
# add static hostname to work around xauth bug
# https://bugzilla.redhat.com/show_bug.cgi?id=679486
# the hostname must be something else than 'localhost'
# https://bugzilla.redhat.com/show_bug.cgi?id=1370222
echo "localhost-live" > /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
@ -70,8 +304,11 @@ 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 --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn
rpm -qa
# Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db*
@ -96,7 +333,7 @@ rm -f /boot/*-rescue*
# Disable network service here, as doing it in the services line
# fails due to RHBZ #1369794
systemctl disable network
/sbin/chkconfig network off
# Remove machine-id on pre generated images
rm -f /etc/machine-id
@ -104,3 +341,25 @@ touch /etc/machine-id
%end
%post --nochroot
cp $INSTALL_ROOT/usr/share/licenses/*-release/* $LIVE_ROOT/
# only works on x86, x86_64
if [ "$(uname -i)" = "i386" -o "$(uname -i)" = "x86_64" ]; then
# For livecd-creator builds
if [ ! -d $LIVE_ROOT/LiveOS ]; then mkdir -p $LIVE_ROOT/LiveOS ; fi
cp /usr/bin/livecd-iso-to-disk $LIVE_ROOT/LiveOS
# For lorax/livemedia-creator builds
sed -i '
/## make boot.iso/ i\
# Add livecd-iso-to-disk script to .iso filesystem at /LiveOS/\
<% f = "usr/bin/livecd-iso-to-disk" %>\
%if exists(f):\
install ${f} ${LIVEDIR}/${f|basename}\
%endif\
' /usr/share/lorax/templates.d/99-generic/live/x86.tmpl
fi
%end

View File

@ -1,17 +0,0 @@
# Description:
# - Fedora Live Spin with the Budgie Desktop Environment
#
# Maintainer(s):
# - Joshua Strobl <joshua@buddiesofbudgie.org>
%include fedora-live-base.ks
%include fedora-budgie-common.ks
part / --size 7750
%post
# set livesys session type
sed -i 's/^livesys_session=.*/livesys_session="budgie"/' /etc/sysconfig/livesys
%end

View File

@ -21,8 +21,32 @@ PREFERRED=/usr/bin/cinnamon-session
DISPLAYMANAGER=/usr/sbin/lightdm
EOF
# set livesys session type
sed -i 's/^livesys_session=.*/livesys_session="cinnamon"/' /etc/sysconfig/livesys
cat >> /etc/rc.d/init.d/livesys << EOF
# set up lightdm autologin
sed -i 's/^#autologin-user=.*/autologin-user=liveuser/' /etc/lightdm/lightdm.conf
sed -i 's/^#autologin-user-timeout=.*/autologin-user-timeout=0/' /etc/lightdm/lightdm.conf
#sed -i 's/^#show-language-selector=.*/show-language-selector=true/' /etc/lightdm/lightdm-gtk-greeter.conf
# set Cinnamon as default session, otherwise login will fail
sed -i 's/^#user-session=.*/user-session=cinnamon/' /etc/lightdm/lightdm.conf
# no updater applet in live environment
rm -f /etc/xdg/autostart/org.mageia.dnfdragora-updater.desktop
# Show harddisk install on the desktop
sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop
mkdir /home/liveuser/Desktop
cp /usr/share/applications/liveinst.desktop /home/liveuser/Desktop
# and mark it as executable
chmod +x /home/liveuser/Desktop/liveinst.desktop
# this goes at the end after all other changes.
chown -R liveuser:liveuser /home/liveuser
restorecon -R /home/liveuser
EOF
%end

View File

@ -1,12 +0,0 @@
# Description: The Workstation based NeuroFedora computational neuroscience lab image.
# https://fedoraproject.org/wiki/Changes/Comp_Neuro_Lab
#
# Maintained by the NeuroFedora SIG:
# https://neuro.fedoraproject.org
# mailto:neuro-sig@lists.fedoraproject.org
%include fedora-live-workstation.ks
%include fedora-comp-neuro-common.ks
%include fedora-neuro-gnome-common.ks
part / --size 10240

View File

@ -1,17 +1,55 @@
# fedora-design-suite.ks
# Based on Live Workstation
# A collection of applications for professional visual designers
# http://fedoraproject.org/wiki/Design_Suite
# Maintained by Luya Tshimbalanga <luya AT fedoraproject DOT org>
# Credit to Sebastian Dziallas for initiating the project
# Description:
# - A collection of applications targeted towards professional visual designers
# Website: http://fedoraproject.org/wiki/Design_Suite
# Maintainer:
# - Luya Tshimbalanga <luya AT fedoraproject DOT org>
# - Credit to Sebastian Dziallas for initiating the project
%include fedora-live-workstation.ks
%include fedora-design-suite-common.ks
# Size partition
part / --size 14336
%packages
# Switch to groups for design suite
@design-suite
# Provides backup application
#deja-dup
#deja-dup-nautilus
# Add extra gnome applications
gnome-calendar
gnome-photos
gnome-shell-extension-pomodoro
gnome-todo
# Add cosmetic for gnome-terminal
powerline
powerline-fonts
# Extra wallpapers
f30-backgrounds-extras-gnome
# removal of unneeded applications
-gnome-boxes
-eog
-rdesktop
# temporarily removing conflicting application
-synfigstudio
-mypaint
%end
%post
#Override the favorite desktop application in Dash
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
[org.gnome.shell]
favorite-apps=['firefox.desktop', 'shotwell.desktop', 'gimp.desktop', 'darktable.desktop','krita.desktop', 'inkscape.desktop', 'blender.desktop', 'libreoffice-writer.desktop', 'scribus.desktop', 'pitivi.desktop', 'nautilus.desktop', 'bijiben.desktop', 'anaconda.desktop', 'list-design-tutorials.desktop']
FOE
# Add link to lists of tutorials
cat >> /usr/share/applications/list-design-tutorials.desktop << FOE
[Desktop Entry]
@ -51,20 +89,6 @@ Categories=Documentation;
FOE
chmod a+x /usr/share/applications/fedora-design-team.desktop
# Use Powerline in bash
cat >> $HOME/.bashrc << FOE
# Enable powerline daemon
if [ -f `which powerline-daemon` ]; then
powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /usr/share/powerline/bash/powerline.sh
fi
FOE
#Override the favorite desktop application in Dash
sed -i "s/favorite-apps=."'*'"/favorite-apps=['firefox.desktop', 'shotwell.desktop', 'gimp.desktop', 'darktable.desktop','krita.desktop', 'inkscape.desktop', 'blender.desktop', 'libreoffice-writer.desktop', 'scribus.desktop', 'pitivi.desktop', 'nautilus.desktop', 'bijiben.desktop', 'anaconda.desktop', 'list-design-tutorials.desktop']/" /etc/rc.d/init.d/livesys
# rebuild schema cache with any overrides we installed
glib-compile-schemas /usr/share/glib-2.0/schemas

View File

@ -1,19 +1,9 @@
# fedora-live-games.ks
# fedora-livedvd-games.ks
#
# Maintainers:
# Maintainer(s):
# - Darryl T. Agostinelli <dagostinelli@gmail.com>
# https://fedoraproject.org/wiki/User:Dagostinelli
#
# - Richard Anaya <richard.anaya@gmail.com>
# https://fedoraproject.org/wiki/User:Richardanaya
#
# Former Maintainers:
# - Bruno Wolff III <bruno@wolff.to>
# https://fedoraproject.org/wiki/User:Bruno
#
# - Rahul Sundaram <sundaram@fedoraproject.org>
# https://fedoraproject.org/wiki/User:Sundaram
#
# - Formerly maintained by Bruno Wolff III <bruno@wolff.to>
# - Formerly maintained by Rahul Sundaram
%include fedora-live-xfce.ks
@ -48,6 +38,7 @@ asc-music
astromenace
# beneath-a-steel-sky-cd scummvm games cut for size
boswars
btanks
bzflag
crossfire-client
extremetuxracer
@ -55,28 +46,29 @@ extremetuxracer
freeciv
freecol
freedoom
freedroidrpg
# freedroidrpg # Cut for size
frozen-bubble
gl-117
# glob2 - currently broken
lincity-ng
#tmw - currently broken
tmw
#maniadrive - currently broken
#maniadrive-music - has been retired
megaglest
nethack-vultures
netpanzer
neverball
#neverball #cut for size
nogravity
#pinball # Would pull in fluid-soundfont-lite-patches
scorched3d
# supertux # Crashing
supertuxkart
#supertuxkart #remove for size
ultimatestunts
warzone2100
wesnoth
# worminator # Would pull in fluid-soundfont-lite-patches
warmux
xmoto
# warmux # Cut for size
# xmoto # Cut for size
# traditional (small)
@ -93,11 +85,12 @@ glaxium
gnubg
gnugo
haxima
#hedgewars -- broken
hedgewars
kcheckers
knights
lbrickbuster2
# liquidwar # Would pull in fluid-soundfont-lite-patches
londonlaw
lordsawar
# lure scummvm games cut for size
# machineball # Would pull in fluid-soundfont-lite-patches
@ -107,8 +100,9 @@ pachi
pioneers
quarry
# Ri-li cut for size
# rogue # recently abandoned. Someone picked it up. Waiting for approval.
# rogue # abandoned. Someone pick it up so we can include it again!
# scorchwentbonkers # Would pull in fluid-soundfont-lite-patches
seahorse-adventures
solarwolf
sopwith
stormbaancoureur
@ -120,6 +114,7 @@ xblast
auriferous
alienblaster
# duel3 # Would pull in fluid-soundfont-lite-patches
lmarbles
powermanga
# raidem # Would pull in fluid-soundfont-lite-patches
# raidem-music # Would pull in fluid-soundfont-lite-patches
@ -136,13 +131,14 @@ KoboDeluxe
Maelstrom
methane
njam
seahorse-adventures
shippy
tecnoballz
wordwarvi
xgalaxy
# zasx # Would pull in fluid-soundfont-lite-patches
# falling blocks games (small)
# falling blocks games (small)
amoebax
crack-attack
@ -152,12 +148,14 @@ gweled
# puzzles (big)
enigma
# fillets-ng # broken in f34
fillets-ng
pingus
# puzzles (small)
escape
# gbrainy Removed for space - only game that pulls in mono
magicor
mirrormagic
pipenightdreams
pipepanic
@ -167,11 +165,15 @@ vodovod
# card games
#poker2d - dropped from F14 for being orphaned
PySolFC
# educational/simulation
#celestia - not currently building
bygfoot
celestia
childsplay
gcompris
planets
tuxpaint
tuxpaint-stamps

View File

@ -1,30 +0,0 @@
# fedora-livecd-i3.ks
#
# Description:
# - Fedora Live Spin with the tiling window manager i3
#
# Maintainer(s):
# - Nasir Hussain <nasirhm@fedoraproject.org>
# - Eduard Lucena <x3mboy@fedoraproject.org>
# - Dan Cermak <defolos@tummy.com>
# - Justin W. Flory <jwf@fedoraproject.org>
%include fedora-live-base.ks
%include fedora-live-minimization.ks
%include fedora-i3-common.ks
%post
# i3 configuration
# create /etc/sysconfig/desktop (needed for installation)
cat > /etc/sysconfig/desktop <<EOF
PREFERRED=/usr/bin/i3
DISPLAYMANAGER=/usr/sbin/lightdm
EOF
# set livesys session type
sed -i 's/^livesys_session=.*/livesys_session="i3"/' /etc/sysconfig/livesys
%end

View File

@ -7,7 +7,9 @@
# Web: https://fedoraproject.org/wiki/Fedora_jam
# Web: insert spinspacke when created
# Maintainer: JT Pennington (q5sys) <jt@obs-sec.com>
# Maintainer: Jørn Lomax <northlomax@gmail.com>
# https://fedoraproject.org/wiki/User:jvlomax
# Brendan Jones <brendan.jones.it@gmail.com>
%include fedora-live-kde.ks
@ -18,10 +20,123 @@ part / --size 10240 --fstype ext4
bootloader --append="threadirqs"
%packages
@audio
#pipewire
pipewire
#alsa
alsa-firmware
alsa-tools
alsa-utils
alsamixergui
alsa-plugins-jack
alsa-plugins-pulseaudio
alsa-plugins-usbstream
alsa-plugins-samplerate
alsa-plugins-upmix
alsa-plugins-vdownmix
a2jmidid
aj-snapshot
#jack
jack-audio-connection-kit
jack-audio-connection-kit-dbus
qjackctl
jackctlmmc
ffado
#pulse
pulseaudio-module-jack
pavucontrol
#midi
qsynth
fluidsynth
fluid-soundfont-gm
fluidsynth-dssi
timidity++
qmidiarp
vmpk
harmonyseq
#synthesis
hydrogen
bristol
monobristol
zynaddsubfx
yoshimi
swami
Add64
synthv1
samplv1
drumkv1
ams
#guitar
rakarrack
guitarix
tuxguitar
sooperlooper
#recodring and DAW
audacity
ardour5
rosegarden4
seq24
muse
qtractor
non-session-manager
non-daw
non-sequencer
non-mixer
# audio-plugins
calf
dssi
jack-rack
ladspa
#ladpsa plugins
ladspa-amb-plugins
ladspa-autotalent-plugins
ladspa-blop-plugins
ladspa-cmt-plugins
ladspa-fil-plugins
ladspa-mcp-plugins
ladspa-rev-plugins
ladspa-swh-plugins
ladspa-tap-plugins
ladspa-vco-plugins
#lv2 plugins
lv2
lv2-avw-plugins
lv2-invada-plugins
lv2-kn0ck0ut
lv2-ll-plugins
lv2-swh-plugins
lv2-vocoder-plugins
lv2-zynadd-plugins
lv2dynparam
lv2-abGate
lv2-c++-tools
lv2-samplv1
lv2-synthv1
lv2-drumkv1
lv2-triceratops
lv2-newtonator
lv2-x42-plugins
lv2-fomp-plugins
lv2-sorcer
lv2-fabla
lv2-artyfx-plugins
#dssi
nekobee-dssi
whysynth-dssi
xsynth-dssi
hexter-dssi
zynjacku
zita-at1
zita-rev1
#sound analasys, none of these are packaged yet
#praat bug_id=666656
@ -32,15 +147,35 @@ emacs
emacs-color-theme
vim
nano
mscore
lilypond
frescobaldi
mup
#audio utilities
jamin
lash
jack_capture
jaaa
jmeters
qastools
arpage
realTimeConfigQuickScan
rtirq
#patchage
#ladish #not packaged yet
japa
radium-compressor
# fedora jam theming (to be customized)
kfaenza-icon-theme
fedora-jam-backgrounds
fedora-jam-kde-theme
#Misc. Utils
screen
shutter
-ksnapshot
multimedia-menus
kernel-tools
@ -49,34 +184,33 @@ kernel-tools
firefox
thunderbird
#remove packages not needed
-akregator
-kaddressbook
-kmail
-kontact
-korganizer
-non-mixer
-non-session-manager
-non-sequencer
#remove packages not need
#-kdesdk-umbrello
#-kdesdk-kcachegrindy
#-kdesdk-kompare
#-kdepim
%end
%post
# Override livesys-kde settings
cat >> /var/lib/livesys/livesys-session-extra << EOF
#setup kickoff favorites
/bin/mkdir -p /etc/skel/.config
JAMFAVORITES=/usr/share/applications/firefox.desktop,/usr/share/applications/mozilla-thunderbird.desktop,/usr/share/applications/studio-controls.desktop,/usr/share/applications/ardour6.desktop,/usr/share/applications/carla.desktop,/usr/share/applications/org.kde.konsole.desktop,/usr/share/applications/org.kde.dolphin.desktop,/usr/share/applications/systemsettings.desktop
JAMFAVORITES=/usr/share/applications/firefox.desktop,/usr/share/applications/qjackctl.desktop,/usr/share/applications/qtractor.desktop,/usr/share/applications/frescobaldi.desktop,/usr/share/applications/org.kde.konsole.desktop,/usr/share/applications/kde4/dolphin.desktop,/usr/share/applications/systemsettings.desktop,/usr/share/applications/pavucontrol.desktop,/usr/share/applications/kde4/kfmclient_html.desktop,/usr/share/applications/kde4/Kontact.desktop,/usr/share/applications/kde4/ktp-contactlist.desktop
JAMFAVORITESLIVE=/usr/share/applications/liveinst.desktop,$JAMFAVORITES
cat <<FOE >> /etc/skel/.config/kickoffrc
cat <<EOF >> /etc/skel/.config/kickoffrc
[Favorites]
FavoriteURLs=$JAMFAVORITES
FOE
EOF
# Override fedora-live-kde-base.ks settings
sed -i /etc/rc.d/init.d/livesys -res"#^(FavoriteURLs=).*#\1${JAMFAVORITESLIVE}#"
cat >> /etc/rc.d/init.d/livesys << EOF
/usr/sbin/usermod -a -G jackuser,audio liveuser
EOF

View File

@ -19,7 +19,68 @@ cat > /root/.config/gtk-3.0/settings.ini << EOF
gtk-theme-name = Adwaita
EOF
# set livesys session type
sed -i 's/^livesys_session=.*/livesys_session="kde"/' /etc/sysconfig/livesys
# add initscript
cat >> /etc/rc.d/init.d/livesys << EOF
# set up autologin for user liveuser
if [ -f /etc/sddm.conf ]; then
sed -i 's/^#User=.*/User=liveuser/' /etc/sddm.conf
sed -i 's/^#Session=.*/Session=plasma.desktop/' /etc/sddm.conf
else
cat > /etc/sddm.conf << SDDM_EOF
[Autologin]
User=liveuser
Session=plasma.desktop
SDDM_EOF
fi
# add liveinst.desktop to favorites menu
mkdir -p /home/liveuser/.config/
cat > /home/liveuser/.config/kickoffrc << MENU_EOF
[Favorites]
FavoriteURLs=/usr/share/applications/firefox.desktop,/usr/share/applications/org.kde.dolphin.desktop,/usr/share/applications/systemsettings.desktop,/usr/share/applications/org.kde.konsole.desktop,/usr/share/applications/liveinst.desktop
MENU_EOF
# show liveinst.desktop on desktop and in menu
sed -i 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop
# set executable bit disable KDE security warning
chmod +x /usr/share/applications/liveinst.desktop
mkdir /home/liveuser/Desktop
cp -a /usr/share/applications/liveinst.desktop /home/liveuser/Desktop/
# Set akonadi backend
mkdir -p /home/liveuser/.config/akonadi
cat > /home/liveuser/.config/akonadi/akonadiserverrc << AKONADI_EOF
[%General]
Driver=QSQLITE3
AKONADI_EOF
# Disable plasma-pk-updates (bz #1436873 and 1206760)
echo "Removing plasma-pk-updates package."
rpm -e plasma-pk-updates
# Disable baloo
cat > /home/liveuser/.config/baloofilerc << BALOO_EOF
[Basic Settings]
Indexing-Enabled=false
BALOO_EOF
# Disable kres-migrator
cat > /home/liveuser/.kde/share/config/kres-migratorrc << KRES_EOF
[Migration]
Enabled=false
KRES_EOF
# Disable kwallet migrator
cat > /home/liveuser/.config/kwalletrc << KWALLET_EOL
[Migration]
alreadyMigrated=true
KWALLET_EOL
# make sure to set the right permissions and selinux contexts
chown -R liveuser:liveuser /home/liveuser/
restorecon -R /home/liveuser/
EOF
%end

View File

@ -9,9 +9,10 @@
%include fedora-live-kde-base.ks
%include fedora-live-minimization.ks
%include fedora-kde-minimization.ks
# DVD payload
part / --size=9000
part / --size=6500
%post
%end

View File

@ -19,8 +19,46 @@ PREFERRED=/usr/bin/startlxde
DISPLAYMANAGER=/usr/sbin/lxdm
EOF
# set livesys session type
sed -i 's/^livesys_session=.*/livesys_session="lxde"/' /etc/sysconfig/livesys
cat >> /etc/rc.d/init.d/livesys << EOF
# disable screensaver locking and make sure gamin gets started
cat > /etc/xdg/lxsession/LXDE/autostart << FOE
/usr/libexec/gam_server
@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
/usr/libexec/notification-daemon
FOE
# set up preferred apps
cat > /etc/xdg/libfm/pref-apps.conf << FOE
[Preferred Applications]
WebBrowser=firefox.desktop
MailClient=sylpheed.desktop
FOE
# set up auto-login for liveuser
sed -i 's/# autologin=.*/autologin=liveuser/g' /etc/lxdm/lxdm.conf
# Show harddisk install on the desktop
sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop
mkdir /home/liveuser/Desktop
cp /usr/share/applications/liveinst.desktop /home/liveuser/Desktop
# create default config for clipit, otherwise it displays a dialog on startup
mkdir -p /home/liveuser/.config/clipit
cat > /home/liveuser/.config/clipit/clipitrc << FOE
[rc]
use_copy=true
save_uris=true
save_history=false
statics_show=true
single_line=true
FOE
# this goes at the end after all other changes.
chown -R liveuser:liveuser /home/liveuser
restorecon -R /home/liveuser
EOF
%end

View File

@ -11,13 +11,41 @@
%include fedora-live-minimization.ks
%include fedora-lxqt-common.ks
%packages
dracut-config-generic
%end
%post
# set livesys session type
sed -i 's/^livesys_session=.*/livesys_session="lxqt"/' /etc/sysconfig/livesys
# add initscript
cat >> /etc/rc.d/init.d/livesys << EOF
# set up autologin for user liveuser
if [ -f /etc/sddm.conf ]; then
sed -i 's/^#User=.*/User=liveuser/' /etc/sddm.conf
sed -i 's/^#Session=.*/Session=lxqt.desktop/' /etc/sddm.conf
else
cat > /etc/sddm.conf << SDDM_EOF
[Autologin]
User=liveuser
Session=lxqt.desktop
SDDM_EOF
fi
# show liveinst.desktop on desktop and in menu
sed -i 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop
mkdir /home/liveuser/Desktop
cp -a /usr/share/applications/liveinst.desktop /home/liveuser/Desktop/
# set up preferred apps
cat > /etc/xdg/libfm/pref-apps.conf << FOE
[Preferred Applications]
WebBrowser=qupzilla.desktop
FOE
# no updater applet in live environment
rm -f /etc/xdg/autostart/org.mageia.dnfdragora-updater.desktop
# make sure to set the right permissions and selinux contexts
chown -R liveuser:liveuser /home/liveuser/
restorecon -R /home/liveuser/
EOF
%end

View File

@ -7,10 +7,45 @@
%include fedora-mate-common.ks
%include fedora-live-minimization.ks
part / --size 8192
part / --size 7168
%post
# set livesys session type
sed -i 's/^livesys_session=.*/livesys_session="mate"/' /etc/sysconfig/livesys
cat >> /etc/rc.d/init.d/livesys << EOF
# 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 ""
fi
mkdir /home/liveuser/Desktop
cp /usr/share/applications/liveinst.desktop /home/liveuser/Desktop
# and mark it as executable
chmod +x /home/liveuser/Desktop/liveinst.desktop
# rebuild schema cache with any overrides we installed
glib-compile-schemas /usr/share/glib-2.0/schemas
# set up lightdm autologin
sed -i 's/^#autologin-user=.*/autologin-user=liveuser/' /etc/lightdm/lightdm.conf
sed -i 's/^#autologin-user-timeout=.*/autologin-user-timeout=0/' /etc/lightdm/lightdm.conf
#sed -i 's/^#show-language-selector=.*/show-language-selector=true/' /etc/lightdm/lightdm-gtk-greeter.conf
# set MATE as default session, otherwise login will fail
sed -i 's/^#user-session=.*/user-session=mate/' /etc/lightdm/lightdm.conf
# 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
# no updater applet in live environment
rm -f /etc/xdg/autostart/org.mageia.dnfdragora-updater.desktop
# make sure to set the right permissions and selinux contexts
chown -R liveuser:liveuser /home/liveuser/
restorecon -R /home/liveuser/
EOF
%end

View File

@ -4,6 +4,13 @@
%packages
# save some space
-mpage
-hplip
-isdn4k-utils
# scanning takes quite a bit of space :/
-xsane
-xsane-gimp
-sane-backends
%end

View File

@ -8,4 +8,4 @@
%include fedora-python-classroom-gnome-common.ks
# https://bugzilla.redhat.com/show_bug.cgi?id=1695796
part / --size 8192
part / --size 7168

View File

@ -1,6 +1,5 @@
# Maintained by x3mboy and the Fedora Robotics SIG:
# https://fedoraproject.org/wiki/SIGs/Robotics
# mailto:x3mboy@fedoraproject.org
# Maintained by the Fedora Robotics SIG:
# http://fedoraproject.org/wiki/SIGs/Robotics
# mailto:robotics@lists.fedoraproject.org
%include fedora-live-base.ks
@ -11,8 +10,7 @@ part / --size 10752
%packages
# Start with GNOME
# Install workstation-product-environment to resolve RhBug:1891500
@^workstation-product-environment
@gnome-desktop
# Add robotics development packages
@robotics-suite
@ -29,13 +27,9 @@ mercurial
-@graphical-internet
-@games
-@sound-and-video
-@dial-up
-@input-methods
-@standard
-@container-management
-@libreoffice
-@networkmanager-submodules
-@workstation-product
# Add a web browser
firefox
# Remove office suite
-libreoffice-*
@ -47,11 +41,9 @@ mercurial
# Drop things that pull in perl
-linux-atm
# No printing or scanning
# No printing
-foomatic-db-ppds
-foomatic
-sane-backends-drivers-scanners
-libsane-hpaio
# Dictionaries are big
-aspell-*
@ -68,6 +60,7 @@ mercurial
-krb5-auth-dialog
-krb5-workstation
-pam_krb5
-quota
-nano
-dos2unix
-finger
@ -76,8 +69,10 @@ mercurial
-mtr
-pinfo
-rsh
-nfs-utils
-ypbind
-yp-tools
-rpcbind
-acpid
-ntsysv
@ -90,9 +85,9 @@ mercurial
%end
# Rip the post-configuration from the live-desktop, set default shortcuts to IDEs
%post
# Extend the post-configuration from the live-desktop, set default shortcuts to IDEs
cat >> /var/lib/livesys/livesys-session-extra << EOF
cat >> /etc/rc.d/init.d/livesys << EOF
# disable screensaver locking
cat >> /usr/share/glib-2.0/schemas/org.gnome.desktop.screensaver.gschema.override << FOE
[org.gnome.desktop.screensaver]
@ -105,6 +100,12 @@ cat >> /usr/share/glib-2.0/schemas/org.gnome.desktop.lockdown.gschema.override <
disable-lock-screen=true
FOE
# disable updates plugin
cat >> /usr/share/glib-2.0/schemas/org.gnome.software.gschema.override << FOE
[org.gnome.software]
download-updates=false
FOE
# make the installer show up
if [ -f /usr/share/applications/liveinst.desktop ]; then
# Show harddisk install in shell dash
@ -114,7 +115,7 @@ if [ -f /usr/share/applications/liveinst.desktop ]; then
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
[org.gnome.shell]
favorite-apps=['firefox.desktop', 'org.qt-project.qtcreator.desktop', 'arduino.desktop', 'gnome-terminal.desktop','nautilus.desktop', 'anaconda.desktop']
favorite-apps=['firefox.desktop', 'eclipse.desktop', 'arduino.desktop', 'gnome-terminal.desktop','nautilus.desktop', 'anaconda.desktop']
FOE
fi
@ -122,5 +123,17 @@ 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
EOF
%end

View File

@ -13,7 +13,7 @@
%include fedora-scientific-common.ks
# The recommended part size for DVDs is too close to use for the scientific spin
part / --size 15000
part / --size 14500
%post

View File

@ -6,7 +6,6 @@
# Maintainers:
# Fabian Affolter <fab [AT] fedoraproject <dot> org>
# Joerg Simon <jsimon [AT] fedoraproject <dot> org>
# JT Pennington <jt [AT] fedoraproject <dot> org>
# Acknowledgements:
# Fedora LiveCD Xfce Spin team - some work here was and will be inherited,
# many thanks, especially to Christoph Wickert!
@ -22,9 +21,7 @@
part / --size 10240
%packages
# install env-group to resolve RhBug:1891500
@^xfce-desktop-environment
@xfce-desktop
@xfce-apps
# Security tools
@ -45,7 +42,6 @@ gnome-keyring-pam
-foomatic-db-ppds
-foomatic
-stix-fonts
-default-fonts-core-math
-ibus-typing-booster
-xfce4-sensors-plugin
-man-pages-*
@ -103,7 +99,50 @@ PREFERRED=/usr/bin/startxfce4
DISPLAYMANAGER=/usr/sbin/lightdm
EOF
# set livesys session type
sed -i 's/^livesys_session=.*/livesys_session="xfce"/' /etc/sysconfig/livesys
cat >> /etc/rc.d/init.d/livesys << EOF
mkdir -p /home/liveuser/.config/xfce4
cat > /home/liveuser/.config/xfce4/helpers.rc << FOE
MailReader=sylpheed-claws
FileManager=Thunar
WebBrowser=midori
FOE
# disable screensaver locking (#674410)
cat >> /home/liveuser/.xscreensaver << FOE
mode: off
lock: False
dpmsEnabled: False
FOE
# deactivate xfconf-migration (#683161)
rm -f /etc/xdg/autostart/xfconf-migration-4.6.desktop || :
# deactivate xfce4-panel first-run dialog (#693569)
mkdir -p /home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml
cp /etc/xdg/xfce4/panel/default.xml /home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
# set up lightdm autologin
sed -i 's/^#autologin-user=.*/autologin-user=liveuser/' /etc/lightdm/lightdm.conf
sed -i 's/^#autologin-user-timeout=.*/autologin-user-timeout=0/' /etc/lightdm/lightdm.conf
#sed -i 's/^#show-language-selector=.*/show-language-selector=true/' /etc/lightdm/lightdm-gtk-greeter.conf
# set Xfce as default session, otherwise login will fail
sed -i 's/^#user-session=.*/user-session=xfce/' /etc/lightdm/lightdm.conf
# Show harddisk install on the desktop
sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop
mkdir /home/liveuser/Desktop
cp /usr/share/applications/liveinst.desktop /home/liveuser/Desktop
# and mark it as executable (new Xfce security feature)
chmod +x /home/liveuser/Desktop/liveinst.desktop
# this goes at the end after all other changes.
chown -R liveuser:liveuser /home/liveuser
restorecon -R /home/liveuser
EOF
%end

View File

@ -4,8 +4,7 @@
# - A Sugar environment that you can carry in your pocket
#
# Maintainers:
# - Chihurumnaya Ibiam <ibiamchihurumnaya AT gmail DOT com>
# - Alex Perez <aperez AT alexperez DOT com>
# - Peter Robinson <pbrobinson AT gmail DOT com>
%include fedora-live-base.ks
%include fedora-live-minimization.ks
@ -13,7 +12,37 @@
%post
# set livesys session type
sed -i 's/^livesys_session=.*/livesys_session="soas"/' /etc/sysconfig/livesys
cat >> /etc/rc.d/init.d/livesys << EOF
# set up lightdm autologin
sed -i 's/^#autologin-user=.*/autologin-user=liveuser/' /etc/lightdm/lightdm.conf
sed -i 's/^#autologin-user-timeout=.*/autologin-user-timeout=0/' /etc/lightdm/lightdm.conf
#sed -i 's/^#show-language-selector=.*/show-language-selector=true/' /etc/lightdm/lightdm-gtk-greeter.conf
# set Sugar as default session, otherwise login will fail
sed -i 's/^#user-session=.*/user-session=sugar/' /etc/lightdm/lightdm.conf
EOF
cat >> /etc/rc.d/init.d/livesys-late << EOF
# disable screensaver locking
cat >> /usr/share/glib-2.0/schemas/org.gnome.desktop.screensaver.gschema.override << FOE
[org.gnome.desktop.screensaver]
lock-enabled=false
FOE
# and hide the lock screen option
cat >> /usr/share/glib-2.0/schemas/org.gnome.desktop.lockdown.gschema.override << FOE
[org.gnome.desktop.lockdown]
disable-lock-screen=true
FOE
# rebuild schema cache with any overrides we installed
glib-compile-schemas /usr/share/glib-2.0/schemas
EOF
chmod 755 /etc/rc.d/init.d/livesys-late
/sbin/restorecon /etc/rc.d/init.d/livesys-late
/sbin/chkconfig --add livesys-late
%end

View File

@ -1,32 +0,0 @@
# fedora-livecd-sway.ks
#
# Description:
# - Fedora Live Spin with the tiling window manager Sway
#
# Maintainer(s):
# - Aleksei Bavshin <alebastr89@gmail.com>
# - Jiří Konečný <jkonecny@redhat.com>
# - Anthony Rabbito <hello@anthonyrabbito.com>
# - Fabio Alessandro Locati <me@fale.io>
%include fedora-live-base.ks
%include fedora-live-minimization.ks
%include fedora-sway-common.ks
%packages
# To be able to show installation instructions on background
nwg-wrapper
%end
%post
# create /etc/sysconfig/desktop (needed for installation)
cat > /etc/sysconfig/desktop <<EOF
PREFERRED=/usr/bin/sway
DISPLAYMANAGER=/bin/sddm
EOF
# set livesys session type
sed -i 's/^livesys_session=.*/livesys_session="sway"/' /etc/sysconfig/livesys
%end

View File

@ -10,16 +10,87 @@
#
#include snippets/packagekit-cached-metadata.ks
part / --size 7750
%packages
gnome-initial-setup
anaconda-webui
%end
part / --size 6656
%post
# set livesys session type
sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys
cat >> /etc/rc.d/init.d/livesys << EOF
# disable gnome-software automatically downloading updates
cat >> /usr/share/glib-2.0/schemas/org.gnome.software.gschema.override << FOE
[org.gnome.software]
download-updates=false
FOE
# don't autostart gnome-software session service
rm -f /etc/xdg/autostart/gnome-software-service.desktop
# disable the gnome-software shell search provider
cat >> /usr/share/gnome-shell/search-providers/org.gnome.Software-search-provider.ini << FOE
DefaultDisabled=true
FOE
# don't run gnome-initial-setup
mkdir ~liveuser/.config
touch ~liveuser/.config/gnome-initial-setup-done
# suppress anaconda spokes redundant with gnome-initial-setup
cat >> /etc/sysconfig/anaconda << FOE
[NetworkSpoke]
visited=1
[PasswordSpoke]
visited=1
[UserSpoke]
visited=1
FOE
# 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', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'anaconda.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
# Copy Anaconda branding in place
if [ -d /usr/share/lorax/product/usr/share/anaconda ]; then
cp -a /usr/share/lorax/product/* /
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
%end

View File

@ -13,9 +13,6 @@
%include fedora-live-minimization.ks
%include fedora-xfce-common.ks
# need a bigger /
part / --size 6144
%post
# xfce configuration
@ -26,8 +23,54 @@ PREFERRED=/usr/bin/startxfce4
DISPLAYMANAGER=/usr/sbin/lightdm
EOF
# set livesys session type
sed -i 's/^livesys_session=.*/livesys_session="xfce"/' /etc/sysconfig/livesys
cat >> /etc/rc.d/init.d/livesys << EOF
mkdir -p /home/liveuser/.config/xfce4
cat > /home/liveuser/.config/xfce4/helpers.rc << FOE
MailReader=sylpheed-claws
FileManager=Thunar
WebBrowser=firefox
FOE
# disable screensaver locking (#674410)
cat >> /home/liveuser/.xscreensaver << FOE
mode: off
lock: False
dpmsEnabled: False
FOE
# deactivate xfconf-migration (#683161)
rm -f /etc/xdg/autostart/xfconf-migration-4.6.desktop || :
# deactivate xfce4-panel first-run dialog (#693569)
mkdir -p /home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml
cp /etc/xdg/xfce4/panel/default.xml /home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
# set up lightdm autologin
sed -i 's/^#autologin-user=.*/autologin-user=liveuser/' /etc/lightdm/lightdm.conf
sed -i 's/^#autologin-user-timeout=.*/autologin-user-timeout=0/' /etc/lightdm/lightdm.conf
#sed -i 's/^#show-language-selector=.*/show-language-selector=true/' /etc/lightdm/lightdm-gtk-greeter.conf
# set Xfce as default session, otherwise login will fail
sed -i 's/^#user-session=.*/user-session=xfce/' /etc/lightdm/lightdm.conf
# Show harddisk install on the desktop
sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop
mkdir /home/liveuser/Desktop
cp /usr/share/applications/liveinst.desktop /home/liveuser/Desktop
# no updater applet in live environment
rm -f /etc/xdg/autostart/org.mageia.dnfdragora-updater.desktop
# and mark it as executable (new Xfce security feature)
chmod +x /home/liveuser/Desktop/liveinst.desktop
# this goes at the end after all other changes.
chown -R liveuser:liveuser /home/liveuser
restorecon -R /home/liveuser
EOF
%end

View File

@ -8,12 +8,14 @@
%packages
### LXDE desktop
# install env-group to resolve RhBug:1891500
@^lxde-desktop-environment
@lxde-desktop
@lxde-apps
@lxde-media
@lxde-office
@networkmanager-submodules
# FIXME: can be omitted once comps is updated
midori
# pam-fprint causes a segfault in LXDM when enabled
-fprintd-pam
@ -37,7 +39,6 @@ metacity
#-words
# save some space
-@admin-tools
-autofs
-acpid
-gimp-help
@ -46,7 +47,6 @@ metacity
-foomatic-db-ppds
-foomatic
-stix-fonts
-default-fonts-core-math
-ibus-typing-booster
-xscreensaver-extras
#-wqy-zenhei-fonts # FIXME: Workaround to save space, do this in comps

View File

@ -9,11 +9,10 @@
#
%packages
# install env-group to resolve RhBug:1891500
@^lxqt-desktop-environment
@lxqt
@lxqt-apps
@lxqt-media
@networkmanager-submodules
# for nm applet
gnome-keyring
@ -39,12 +38,11 @@ wqy-microhei-fonts # a compact CJK font, to replace:
-adobe-source-han-sans-cn-fonts # simplified Chinese
-adobe-source-han-sans-tw-fonts # traditional Chinese
-pt-sans-fonts # Cyrillic (already supported by DejaVu), huge
-paratype-pt-sans-fonts # Cyrillic (already supported by DejaVu), huge
#-stix-fonts # mathematical symbols
# remove input methods to free space
-@input-methods
-@admin-tools
-scim*
-m17n*
# Temporary include ibus to workaround RHBZ 1633225

View File

@ -1,8 +1,5 @@
%packages
# install env-group to resolve RhBug:1891500
@^mate-desktop-environment
fedora-release-matecompiz
@mate
compiz
compiz-plugins-main
compiz-plugins-extra
@ -16,16 +13,15 @@ simple-ccsm
emerald-themes
emerald
fusion-icon
@networkmanager-submodules
# some apps from mate-applications
caja-actions
mate-disk-usage-analyzer
# blacklist applications which breaks mate-desktop
-audacious
# see https://bugzilla.redhat.com/show_bug.cgi?id=2068699
# and https://bugzilla.redhat.com/show_bug.cgi?id=1933494
# use earlyoom instead of systemd-oomd-defaults
earlyoom
-systemd-oomd-defaults
# office
@libreoffice
@ -38,16 +34,15 @@ nss-mdns
# Drop things for size
-@3d-printing
-@admin-tools
-brasero
-fedora-icon-theme
-gnome-icon-theme
-gnome-icon-theme-symbolic
-gnome-logs
-gnome-software
-gnome-user-docs
-@mate-applications
-mate-icon-theme-faenza
# Help and art can be big, too
-gnome-user-docs

View File

@ -1,5 +1,4 @@
%packages
microdnf
-@standard
-initial-setup-gui
-generic-release*

View File

@ -0,0 +1,27 @@
%include fedora-arm-base.ks
# server defaults to xfs for / so lets do so on arm also
part / --size=2500 --fstype xfs
%packages
# install the default groups for the server evironment since installing the environment is not working
@server-product
@standard
@headless-management
@container-management
@domain-client
-initial-setup-gui
-generic-release*
fedora-modular-release
%end
%post
# setup systemd to boot to the right runlevel
echo -n "Setting default runlevel to multiuser text mode"
rm -f /etc/systemd/system/default.target
ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
echo .
%end

View File

@ -2,12 +2,12 @@ text
lang en_US.UTF-8
keyboard us
timezone US/Eastern
auth --useshadow --passalgo=sha512
selinux --enforcing
# Disabled for modular compose (for now)
#firewall --enabled --service=mdns
# Disabled for modular compose (for now)
#services --enabled=sshd,chronyd,initial-setup
services --enabled=NetworkManager
#services --enabled=sshd,NetworkManager,chronyd,initial-setup
network --bootproto=dhcp --device=link --activate
rootpw --lock --iscrypted locked
shutdown
@ -35,8 +35,9 @@ microdnf
glibc-minimal-langpack
grubby
kernel
libcrypt
sssd-client
@networkmanager-submodules
dhcp-client
-fedora-logos
-coreutils
-dosfstools
@ -54,17 +55,13 @@ sssd-client
%post
# Find the architecture we are on
arch=$(uname -m)
# Setup Raspberry Pi firmware
if [[ $arch == "aarch64" ]]; then
cp -P /usr/share/uboot/rpi_arm64/u-boot.bin /boot/efi/rpi-u-boot.bin
fi
cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin
releasever=$(rpm --eval '%{fedora}')
releasever=$(rpm -q --qf '%{version}\n' fedora-modular-release)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary
echo "Packages within this disk image"
rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn
rpm -qa
# Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db*

View File

@ -1,30 +0,0 @@
# Description: Common gnome based configuration for NeuroFedora spin images.
#
# Maintained by the NeuroFedora SIG:
# https://neuro.fedoraproject.org
# mailto:neuro-sig@lists.fedoraproject.org
# Please specify the individual package sets in their own ks files:
# - fedora-comp-neuro-common.ks
%packages
@firefox
# Editors
emacs
vim-X11
# This is no longer workstation
-@workstation-product
# No Workstation backgrounds
#-desktop-backgrounds-basic
#-*backgrounds-extras
%end
%post
#Override the favorite desktop application in Dash
sed -i "s/favorite-apps=."'*'"/favorite-apps=['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop', 'anaconda.desktop']/" /etc/rc.d/init.d/livesys
%end

View File

@ -1,13 +0,0 @@
# fedora-phosh-common.ks
#
# Description:
# - Fedora Disk image Spin with the phosh window manager
#
# Maintainer(s):
# - Kevin Fenzi <kevin@scrye.com>
%packages
# install env-group to resolve RhBug:1891500
@^phosh-desktop-environment
%end

View File

@ -13,34 +13,12 @@ vim-enhanced
wget
# Remove Pythons possibly recommended by tox
-python2
-python26
-python27
-python33
-python34
-python35
-python36
-python37
-python38
-python2.7
-python3.5
-python3.6
-python3.7
-python3.8
-python3.9
-python3.10
-python3.11
-pypy
# Remove LaTeX, see https://bugzilla.redhat.com/show_bug.cgi?id=1862450
# and https://bugzilla.redhat.com/show_bug.cgi?id=1902354
-texlive-base
-texlive-latex
# Remove gdal recommended by networkx, brings in close to 600M of proj data
# Also explicitly list proj to make sure both packages are gone
# https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/LGC5IMMHZ4DM7GQNPAFC6GU362PPTN7O/
-python3-gdal
-proj
%end

View File

@ -7,6 +7,7 @@
%include fedora-python-classroom-common.ks
%packages
ninja-ide
emacs
python3-matplotlib-tk
python3-pillow-tk
@ -35,9 +36,6 @@ python3-pillow-tk
# This is no longer workstation
-@workstation-product
# But we want to keep the Fedora desktop backgrounds
desktop-backgrounds-gnome
# Add a web browser
@firefox
@ -48,7 +46,7 @@ desktop-backgrounds-gnome
# Drop the Java plugin and Java
-icedtea-web
-*openjdk*
-java*
# No printing
-@printing
@ -61,6 +59,7 @@ desktop-backgrounds-gnome
# Help and art can be big, too
-gnome-user-docs
-gnome-getting-started-docs
-desktop-backgrounds-basic
-*backgrounds-extras
@ -93,9 +92,6 @@ desktop-backgrounds-gnome
-system-config-services
-policycoreutils-gui
# Inkscape is too big to be included
-inkscape
%end

View File

@ -3,7 +3,7 @@
# Exactly one of the following should be uncommented
# For the master branch the following should be uncommented
%include fedora-repo-rawhide.ks
# %include fedora-repo-rawhide.ks
# For non-master branches the following should be uncommented
# %include fedora-repo-not-rawhide.ks
%include fedora-repo-not-rawhide.ks

View File

@ -4,9 +4,9 @@
@engineering-and-scientific
# scilab
## scilab
## scilab-devel
## scilab-doc
scilab
scilab-devel
scilab-doc
# Remove sagemath explicitly?
-sagemath
@ -43,7 +43,7 @@ python3-networkx
python3-pandas
# matplotlib backends
python3-matplotlib-qt5
python3-matplotlib-qt4
python3-matplotlib-tk
# Include Java development tools
@ -56,17 +56,21 @@ gcc-gfortran
# GUI for R
rkward
# GUI for Octave
#qtoctave
# julia
julia
julia-doc
julia-devel
# Comment out till build failure is sorted
# julia
# julia-doc
# FTI with Python 3.12:
# https://bugzilla.redhat.com/show_bug.cgi?id=2220598
# can be restored when that is fixed
#python3-spyder
python3-spyder-kernels
# IDEs for the IDE folks
@eclipse
# Workaround for https://pagure.io/releng/issue/7814
-eclipse-linuxtools-vagrant
#spyder
#writing & publishing
emacs
@ -87,8 +91,8 @@ openmpi
openmpi-devel
valgrind-openmpi
libgomp
mpi4py-openmpi
python3-mpi4py-openmpi
python3-mpi4py-mpich
#Version control- a GUI for each as well
@ -110,6 +114,7 @@ libotf
#root
root
root-gui-fitpanel
root-python
#Multiple jobs/clustering system
# torque
@ -125,8 +130,8 @@ dia
inkscape
xzgv
gimp
## ggobi
## ggobi-devel
ggobi
ggobi-devel
#g3data
#Mayavi
@ -135,7 +140,9 @@ screen
tmux
rlwrap
hexchat
shutter
fig2ps
bibtex2html
hevea
#Include Mozilla Firefox

View File

@ -1,201 +0,0 @@
# fedora-server-vm-full.ks (rel. 1.02)
# Kickstart file to build a Fedora Server Edition VM disk image.
# The image aims to resemble as close as technically possible the
# full features of a Fedora Server Edition in a virtual machine.
#
# The image uses GPT partition type as of default in Fedora 37.
#
# At first boot it opens a text mode basic configuration screen.
#
# This kickstart file is designed to be used with ImageFactory (in Koji).
#
# To build the image locally, you need to install ImageFactory and
# various additional helpers and configuration files.
# See Fedora Server Edition user documentation tutorial.
# Use text mode install
text
# Keyboard layouts
keyboard 'us'
# System language
lang en_US.UTF-8
# System timezone
# set time zone to GMT (Etcetera/UTC)
timezone Etc/UTC --utc
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
selinux --enforcing
# System bootloader configuration
bootloader --location=mbr --timeout=1 --append="console=tty1 console=ttyS0,115200n8"
# Network information
network --bootproto=dhcp --device=link --activate --onboot=on
# Firewall configuration
firewall --enabled --service=mdns
# System services
services --enabled="sshd,NetworkManager,chronyd,initial-setup"
# Run the Setup Agent on first boot
firstboot --reconfig
# Partition Information. Use GPT by default (since Fedora 37)
# Resemble the Partitioning used for Fedora Server Install media
clearpart --all --initlabel --disklabel=gpt
reqpart --add-boot
part pv.007 --size=4000 --grow
volgroup sysvg pv.007
logvol / --vgname=sysvg --size=4000 --grow --maxsize=16000 --fstype=xfs --name=root --label=sysroot
# Include URLs for network installation dynamically, dependent on Fedora release
# and imagefactory runtime environment
%include fedora-repo.ks
# Shutdown after installation
shutdown
##### begin package list #############################################
%packages --inst-langs=en
@server-product
@core
@headless-management
@standard
@networkmanager-submodules
# container management is an optional install item on disk media.
# Install options not available with VMs. So we don't include it
# despite trying to resemble a DVD installation as close as possible.
##@container-management
@domain-client
@guest-agents
# All arm-tools packages install on aarch64/armhfp only
# TODO: on a x86_64 devel environment are @arm-tools not available
# and cause a build error.
# @arm-tools
# Standard Fedora Package Groups
## dracut-config-generic ## included in =core=
glibc-all-langpacks
initial-setup
kernel-core
-dracut-config-rescue
-generic-release*
-initial-setup-gui
-kernel
-linux-firmware
-plymouth
# pulled in by @standard
-smartmontools
-smartmontools-selinux
%end
##### end package list ###############################################
##### begin kickstart post script ####################################
%post --erroronfail --log=/root/anaconda-post-1.log
# Find the architecture we are on
arch=$(uname -m)
# Import RPM GPG key, during installation saved in /etc/pki
echo "Import RPM GPG key"
releasever=$(rpm --eval '%{fedora}')
basearch=$(uname -i)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
# See the systemd-random-seed.service man page that says:
# " It is recommended to remove the random seed from OS images intended
# for replication on multiple systems"
# The newly installed instance should make it's own
echo "Removing random-seed so it's not the same in every image."
rm -f /var/lib/systemd/random-seed
# When we build the image a networking config file gets left behind.
# Let's clean it up.
echo "Cleanup leftover networking configuration"
rm -f /etc/NetworkManager/system-connections/*.nmconnection
# Truncate the /etc/resolv.conf left over from NetworkManager during the
# kickstart because the DNS server is environment specific.
truncate -s 0 /etc/resolv.conf
echo "Cleaning repodata to save space."
dnf clean all
# linux-firmware is installed by default and is quite large. As of mid 2020:
# Total download size: 97 M
# Installed size: 268 M
# Not needed in virtual environment.
echo "Removing linux-firmware package."
rpm -e linux-firmware
# Will ever anybody see this?
echo "Packages within this disk image"
rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn
# Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db*
# Do we need a serial terminal with a VM?
if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then
# Anaconda adds console=tty0 to the grub boot line on all images. this is problematic
# when you are using fedora via serial console as you do not get any output post grub
# linux does a good job of knowing what consoles need to be enabled.
# https://bugzilla.redhat.com/show_bug.cgi?id=2022757
sed -i -e 's|console=tty0||g' /boot/loader/entries/*conf
fi
# Remove machine-id on pre generated images
rm -f /etc/machine-id
touch /etc/machine-id
%end
##### end kickstart post script #####################################
##### begin custom post script (after base) #########################
%post
# When we build the image /var/log gets populated.
# Let's clean it up.
echo "Cleanup leftover in /var/log"
cd /var/log && find . -name \* -type f -delete
echo "Zeroing out empty space."
# Create zeros file with nodatacow and no compression
touch /var/tmp/zeros
chattr +C /var/tmp/zeros
# This forces the filesystem to reclaim space from deleted files
dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
echo "(Don't worry -- that out-of-space error was expected.)"
# Force sync to disk
sync /
rm -f /var/tmp/zeros
sync /
# setup systemd to boot to the right runlevel
echo -n "Setting default runlevel to multiuser text mode"
rm -f /etc/systemd/system/default.target
ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
echo .
%end
##### end custom post script ########################################

View File

@ -4,20 +4,11 @@
# - A Sugar environment that you can carry in your pocket
#
# Maintainers:
# - Chihurumnaya Ibiam <ibiamchihurumnaya AT gmail DOT com>
# - Alex Perez <aperez AT alexperez DOT com>
# - Peter Robinson <pbrobinson AT gmail DOT com>
firewall --enabled --service=mdns,presence
%packages
# install env-group to resolve RhBug:1891500
@^sugar-desktop-environment
# == Core Sugar Platform ==
fedora-release-soas
# explicitly remove a bunch of extra stuff
-openbox
-@fonts
-@dial-up
-@multimedia
@ -39,11 +30,7 @@ fedora-release-soas
-abrt-cli
-ibus*
-hyperv-daemons
-sane-backends
-sane-backends-drivers-scanners
-dhcp-client
-gcc-gdb-plugin
-gcc
-webkit2gtk3-plugin-process-gtk2
# Add some extra fonts
dejavu-sans-fonts
@ -53,6 +40,38 @@ aajohan-comfortaa-fonts
sil-abyssinica-fonts
vlgothic-fonts
# == Core Sugar Platform ==
@sugar-desktop
-sugar-ruler
sugar-cp-updater
lightdm
lightdm-gtk
# Write breaks unless we do this (we don't need it anyway)
# enable for testing in the F17 dev cycle
@input-methods
# Needed for wifi, bluetooth and WWAN connection support
@networkmanager-submodules
# == Platform Components ==
# from http://wiki.sugarlabs.org/go/0.94/Platform_Components
alsa-plugins-pulseaudio
alsa-utils
gstreamer1-plugins-base
gstreamer1-plugins-good
gstreamer1-plugins-bad-free
gstreamer-plugins-espeak
pulseaudio
pulseaudio-utils
# explicitly remove openbox and hopefully deal with what firstboot wants
-openbox
# remove deps that come from god knows where
-sane-backends
-sane-backends-drivers-scanners
# Usefulness for DSL connections as per:
# http://bugs.sugarlabs.org/ticket/1951
rp-pppoe
@ -64,25 +83,63 @@ livecd-tools
# Get the Sugar boot screen
-plymouth-system-theme
-plymouth-theme-charge
sugar-logos
%end
%post
# Rebuild initrd for Sugar boot screen
KERNEL_VERSION=$(rpm -q kernel --qf '%{version}-%{release}.%{arch}\n')
/usr/sbin/plymouth-set-default-theme sugar
dracut -f /boot/initramfs-$KERNEL_VERSION.img $KERNEL_VERSION
# Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db*
# Get proper release naming in the control panel
cat >> /boot/olpc_build << EOF
Sugar on a Stick
EOF
cat /etc/fedora-release >> /boot/olpc_build
# Rebuild initrd for Sugar boot screen
KERNEL_VERSION=$(rpm -q kernel --qf '%{version}-%{release}.%{arch}\n')
/usr/sbin/plymouth-set-default-theme sugar
sed -i -r 's/(omit_dracutmodules\+\=.*) plymouth (.*)/\1 \2/' /etc/dracut.conf.d/99-liveos.conf
dracut --force-add plymouth -N -f /boot/initramfs-$KERNEL_VERSION.img $KERNEL_VERSION
# Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db*
# Add our activities to the favorites
cat > /usr/share/sugar/data/activities.defaults << EOF
org.laptop.WebActivity
org.laptop.HelpActivity
org.laptop.Chat
org.laptop.sugar.ReadActivity
org.laptop.sugar.GetBooksActivity
org.laptop.AbiWordActivity
org.laptop.TurtleArtActivity
org.laptop.Calculate
org.laptop.Clock
org.laptop.ImageViewerActivity
org.laptop.Memorize
org.laptop.physics
org.laptop.Pippy
org.laptop.RecordActivity
org.laptop.Oficina
org.laptop.StopWatchActivity
org.laptop.community.Finance
org.laptop.community.TypingTurtle
org.laptop.sugar.Jukebox
org.laptop.Words
org.eq.FotoToon
org.gnome.Labyrinth
com.laptop.Ruler
org.sugarlabs.AbacusActivity
org.sugarlabs.IRC
org.sugarlabs.InfoSlicer
org.sugarlabs.PortfolioActivity
org.sugarlabs.StoryActivity
org.sugarlabs.VisualMatchActivity
com.garycmartin.Moon
mulawa.Countries
tv.alterna.Clock
vu.lux.olpc.Maze
vu.lux.olpc.Speak
EOF
cat > /etc/sysconfig/desktop <<EOF
PREFERRED=/usr/bin/sugar
@ -106,18 +163,6 @@ show-logout=false
[org.sugarlabs.power]
automatic=true
EOF
/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
%end
%post --nochroot
for n in initramfs initrd; do
for img in "$LIVE_ROOT/images/pxeboot/$n"* ; do
[ -e "$img" ] && cp -a "$INSTALL_ROOT"/boot/initramfs-*.img "$img"
done
done
%end

View File

@ -1,17 +0,0 @@
# fedora-livecd-sway.ks
#
# Description:
# - Fedora Live Spin with the tiling window manager Sway
#
# Maintainer(s):
# - Aleksei Bavshin <alebastr89@gmail.com>
# - Jiří Konečný <jkonecny@redhat.com>
# - Anthony Rabbito <hello@anthonyrabbito.com>
# - Fabio Alessandro Locati <me@fale.io>
%packages
fedora-release-sway
@^sway-desktop-environment
@firefox
@swaywm-extended
%end

View File

@ -5,8 +5,20 @@
-@input-methods
-@standard
# Install workstation-product-environment to resolve RhBug:1891500
@^workstation-product-environment
# Make sure to sync any additions / removals done here with
# workstation-product-environment in comps
@base-x
@core
@firefox
@fonts
@gnome-desktop
@guest-desktop-agents
@hardware-support
@libreoffice
@multimedia
@networkmanager-submodules
@printing
@workstation-product
# Exclude unwanted packages from @anaconda-tools group
-gfs2-utils

View File

@ -4,22 +4,31 @@
# - Fedora Live Spin with the light-weight XFCE Desktop Environment
#
# Maintainer(s):
# - Rahul Sundaram <sundaram@fedoraproject.org>
# - Christoph Wickert <cwickert@fedoraproject.org>
# - Kevin Fenzi <kevin@tummy.com>
# - Adam Miller <maxamillion@fedoraproject.org>
# - Mukundan Ragavan <nonamedotc@fedoraproject.org>
%packages
fedora-release-xfce
# install env-group to resolve RhBug:1891500
@^xfce-desktop-environment
@networkmanager-submodules
@xfce-desktop
@xfce-apps
@xfce-extra-plugins
@xfce-media
@xfce-office
# unlock default keyring. FIXME: Should probably be done in comps
gnome-keyring-pam
# Admin tools are handy to have
@admin-tools
# Add some screensavers, people seem to like them
# Note that blank is still default.
xscreensaver-extras
wget
# Better more popular browser
#firefox
system-config-printer
# save some space
@ -29,6 +38,5 @@ system-config-printer
-desktop-backgrounds-basic
-aspell-* # dictionaries are big
-xfce4-sensors-plugin
-xfce4-eyes-plugin
%end

View File

@ -26,7 +26,7 @@ imsettings
%end
%post
cat >> /var/lib/livesys/livesys-session-extra << EOF
cat >> /etc/rc.d/init.d/livesys << EOF
#### setting env and start ibus-deamon ####
#mkdir /home/liveuser
cat >> /home/liveuser/.bash_profile << FOE

View File

@ -1,131 +0,0 @@
[spins.lxqt.x86_64]
fas = [ "lupinix", "zsun" ]
maintainers = [ "Christian Dersch", "Zamir SUN" ]
[spins.lxqt.armhfp]
fas = [ "lupinix", "zsun" ]
maintainers = [ "Christian Dersch", "Zamir SUN" ]
[spins.xfce.x86_64]
fas = [ "nonamedotc", "kevin", "maxamillion" ]
maintainers = [ "Mukundan Ragavan", "Kevin Fenzi", "Adam Miller" ]
[spins.xfce.armhfp]
fas = [ "nonamedotc", "kevin", "maxamillion" ]
maintainers = [ "Mukundan Ragavan", "Kevin Fenzi", "Adam Miller" ]
[spins.kde.x86_64]
fas = [ "rdieter", "marcdeop", "ngompa" ]
maintainers = [ "Rex Dieter", "Marc Deop", "Neal Gompa" ]
[spins.cinnamon.x86_64]
fas = [ "grinnz" ]
maintainers = [ "Dan Book" ]
[spins.lxde.x86_64]
fas = [ "cwickert", "mtasaka" ]
maintainers = [ "Christoph Wickert", "Mamoru TASAKA" ]
[spins.lxde.armhfp]
fas = [ "cwickert", "mtasaka" ]
maintainers = [ "Christoph Wickert", "Mamoru TASAKA" ]
[spins.soas.x86_64]
fas = [ "chimosky", "aperezbios" ]
maintainers = [ "Chihurumnaya Ibiam", "Alex Perez" ]
[spins.soas.armhfp]
fas = [ "chimosky", "aperezbios", ]
maintainers = [ "Chihurumnaya Ibiam", "Alex Perez" ]
[labs.astronomy_kde.x86_64]
fas = [ "lupinix" ]
maintainers = [ "Christian Dersch" ]
[labs.security.x86_64]
fas = [ "fab", "jsimon", "q5sys"]
maintainers = [ "Fabian Affolter", "Joerg Simon", "JT Pennington" ]
[labs.comp_neuro.x86_64]
fas = [ "bt0dotninja", "dan1mal", "ankursinha", "neuro-sig" ]
maintainers = [ "Alberto Rodriguez Sanchez", "Danny Lee", "Ankur Sinha", "NeuroFedora SIG" ]
[labs.design_suite.x86_64]
fas = [ "luya" ]
maintainers = [ "Luya Tshimbalanga" ]
[labs.games.x86_64]
fas = [ "dagostinelli", "richardanaya" ]
maintainers = [ "Darryl T. Agostinelli", "Richard Anaya" ]
[labs.jam_kde.x86_64]
fas = [ "q5sys" ]
maintainers = [ "JT Pennington" ]
[labs.python_classroom.x86_64]
fas = [ "churchyard", "python-sig" ]
maintainers = [ "Miro Hrončok", "Python SIG" ]
[labs.scientific_kde.x86_64]
fas = [ "scitech" ]
maintainers = [ "SciTech SIG" ]
[labs.scientific.x86_64]
fas = [ "scitech" ]
maintainers = [ "SciTech SIG" ]
[labs.robotics.x86_64]
fas = [ "x3mboy", "robotics-sig" ]
maintainers = [ "Eduard Lucena", "Robotics SIG" ]
[spins.i3.x86_64]
fas = [ "jflory7", "defolos", "nasirhm", "odilhao", "x3mboy" ]
maintainers = [ "Justin Flory", "Dan Čermák", "Nasir Hussain", "Odilon Junior", "Eduard Lucena" ]
[eln]
fas = [ "sgallagh", "tdawson", "asamalik" ]
maintainers = [ "Stephen Gallagher", "Troy Dawson", "Adam Samalik" ]
[spins.budgie.x86_64]
fas = [ "joshstrobl" ]
maintainers = [ "Joshua Strobl" ]
[spins.sway.x86_64]
fas = [ "alebastr", "jkonecny", "anthr76", "fale" ]
maintainers = [ "Aleksei Bavshin", "Jiří Konečný", "Anthony Rabbito", "Fabio Alessandro Locati" ]
[silverblue.x86_64]
fas = [ "siosm", "tpopela" ]
maintainers = [ "Timothée Ravier", "Tomáš Popela" ]
[silverblue.aarch64]
fas = [ "siosm", "tpopela" ]
maintainers = [ "Timothée Ravier", "Tomáš Popela" ]
[silverblue.ppc64le]
fas = [ "siosm", "tpopela" ]
maintainers = [ "Timothée Ravier", "Tomáš Popela" ]
[kinoite.x86_64]
fas = [ "siosm" ]
maintainers = [ "Timothée Ravier" ]
[kinoite.aarch64]
fas = [ "siosm" ]
maintainers = [ "Timothée Ravier" ]
[kinoite.ppc64le]
fas = [ "siosm" ]
maintainers = [ "Timothée Ravier" ]
[sericea.x86_64]
fas = [ "alebastr", "jkonecny", "anthr76", "fale" ]
maintainers = [ "Aleksei Bavshin", "Jiří Konečný", "Anthony Rabbito", "Fabio Alessandro Locati" ]
[sericea.aarch64]
fas = [ "alebastr", "jkonecny", "anthr76", "fale" ]
maintainers = [ "Aleksei Bavshin", "Jiří Konečný", "Anthony Rabbito", "Fabio Alessandro Locati" ]
[sericea.ppc64le]
fas = [ "alebastr", "jkonecny", "anthr76", "fale" ]
maintainers = [ "Aleksei Bavshin", "Jiří Konečný", "Anthony Rabbito", "Fabio Alessandro Locati" ]
[onyx.x86_64]
fas = [ "joshstrobl" ]
maintainers = [ "Joshua Strobl" ]
[onyx.aarch64]
fas = [ "joshstrobl" ]
maintainers = [ "Joshua Strobl" ]
[onyx.ppc64le]
fas = [ "joshstrobl" ]
maintainers = [ "Joshua Strobl" ]

159
tools/nightly-composes Executable file
View File

@ -0,0 +1,159 @@
#!/bin/bash
TOPDIR=/var/tmp
STATEFILE=$TOPDIR/nightlylivecdstatefile
# WARNING: MirrorManager must always give this mirror to the host running this script
STATEPATH=http://infrastructure.fedoraproject.org/pub/fedora/linux/development/13/x86_64/os/repodata/repomd.xml
getdatehash() {
DUMP=$(wget --no-cache -S $1 -O /dev/null 2>&1)
echo "$DUMP" | grep -q "HTTP/1.1 200 OK"
if [ $? -eq 0 ]; then
DATE=$(echo "$DUMP"|grep '^ Last-Modified'|sha1sum |awk {'print $1'})
else
echo "ERROR: $STATEPATH failed."
exit 1
fi
}
getdatehash $STATEPATH
if [ -f $STATEFILE ]; then
OLDDATE=$(cat $STATEFILE)
if [ "$OLDDATE" == "$DATE" ]; then
# No change, exit
exit 0
fi
fi
# Save date hash
echo "$DATE" > $STATEFILE
echo "Saving date hash: $DATE"
# Check for running livecd-creator and abort if it is running
if ps -ef |grep -v grep |grep -q livecd-creator; then
echo "ERROR: Another livecd-creator is still running. Aborting."
exit 255
fi
if [ ! -d $TOPDIR/spin-kickstarts/ ]; then
cd $TOPDIR
git clone http://git.fedorahosted.org/git/spin-kickstarts.git
fi
# pull any git updates to kickstarts
cd $TOPDIR/spin-kickstarts/
git reset --hard
git pull
if [ ! -d $TOPDIR/nightly-composes ]; then
mkdir -p $TOPDIR/nightly-composes
fi
DATE=`date +%Y%m%d.%H`
# remove the previous days compose
find $TOPDIR/nightly-composes/ -name '*.iso' -exec rm -f '{}' \;
# loop though the valid spins
for i in `echo desktop design-suite xfce broffice.org kde electronic-lab games lxde soas security`
do
cd $TOPDIR/nightly-composes/
echo $i
if [ ! -d $TOPDIR/nightly-composes/$i ]; then
mkdir -p $TOPDIR/nightly-composes/$i
fi
if [ ! -d $TOPDIR/nightly-composes/$i/logs ]; then
mkdir -p $TOPDIR/nightly-composes/$i/logs
touch $TOPDIR/nightly-composes/$i/logs/SIZEHISTORY-i386
touch $TOPDIR/nightly-composes/$i/logs/SIZEHISTORY-x86_64
fi
cd $i
# compose f13 not rawhide for now.
sed -i 's/rawhide/fedora-13/g' $TOPDIR/spin-kickstarts/*.ks
# debrand
# Note this is not needed for 'official' test spins
#sed -i 's/^-fedora-logos/fedora-logos/' $TOPDIR/spin-kickstarts/fedora-livecd-$i.ks
#sed -i 's/^generic-logos//' $TOPDIR/spin-kickstarts/fedora-livecd-$i.ks
echo "INFO: $i i386 live image compose starting"
setarch i386 livecd-creator -c $TOPDIR/spin-kickstarts/fedora-live*-$i.ks -f $i-i386-$DATE > logs/$DATE-i386.log 2>&1
if [ $? -ne 0 ]; then
echo "ERROR: $i i386 live image failed to compose on $DATE"
mv logs/$DATE-i386.log logs/$DATE-FAILED-i386.log
else
du $TOPDIR/nightly-composes/$i/$i-i386-$DATE.iso >> logs/SIZEHISTORY-i386
tail -2 logs/SIZEHISTORY-i386
rm -f CHECKSUM-i386
sha256sum $i-i386-$DATE.iso > CHECKSUM-i386
cat CHECKSUM-i386
echo "INFO: $i i386 live image compose finished OK"
fi
echo "INFO: $i x86_64 live image compose starting"
# Need to shorten the electronic-lab label to the 32 char limit
if [ "$i" = "electronic-lab" ]; then
livecd-creator -c $TOPDIR/spin-kickstarts/fedora-live*-$i.ks -f e-lab-x86_64-$DATE > logs/$DATE-x86_64.log 2>&1
else
livecd-creator -c $TOPDIR/spin-kickstarts/fedora-live*-$i.ks -f $i-x86_64-$DATE > logs/$DATE-x86_64.log 2>&1
fi
if [ $? -ne 0 ]; then
echo "ERROR: $i x86_64 live image failed to compose on $DATE"
mv logs/$DATE-x86_64.log logs/$DATE-FAILED-x86_64.log
else
if [ "$i" = "electronic-lab" ]; then
du $TOPDIR/nightly-composes/$i/e-lab-x86_64-$DATE.iso >> logs/SIZEHISTORY-x86_64
tail -2 logs/SIZEHISTORY-x86_64
rm -f CHECKSUM-x86_64
sha256sum e-lab-x86_64-$DATE.iso > CHECKSUM-x86_64
cat CHECKSUM-x86_64
else
du $TOPDIR/nightly-composes/$i/$i-x86_64-$DATE.iso >> logs/SIZEHISTORY-x86_64
tail -2 logs/SIZEHISTORY-x86_64
rm -f CHECKSUM-x86_64
sha256sum $i-x86_64-$DATE.iso > CHECKSUM-x86_64
cat CHECKSUM-x86_64
fi
echo "INFO: $i x86_64 live image compose finished OK"
fi
# remove old resize image
#rm -f /tmp/resize-image-*
done
# do aos spin
echo "INFO: aos i386 live image compose starting"
cd $TOPDIR/nightly-composes/aos/
setarch i386 livecd-creator -c $TOPDIR/spin-kickstarts/fedora-aos.ks -f aos-i386-$DATE > logs/$DATE-i386.log 2>&1
if [ $? -ne 0 ]; then
echo "ERROR: aos i386 live image failed to compose on $DATE"
mv logs/$DATE-i386.log logs/$DATE-FAILED-i386.log
else
du $TOPDIR/nightly-composes/aos/aos-i386-$DATE.iso >> logs/SIZEHISTORY-i386
tail -2 logs/SIZEHISTORY-i386
rm -f CHECKSUM-i386
sha256sum aos-i386-$DATE.iso > CHECKSUM-i386
cat CHECKSUM-i386
echo "INFO: aos i386 live image compose finished OK"
fi
echo "INFO: aos x86_64 live image compose starting"
livecd-creator -c $TOPDIR/spin-kickstarts/fedora-aos.ks -f aos-x86_64-$DATE > logs/$DATE-x86_64.log 2>&1
if [ $? -ne 0 ]; then
echo "ERROR: aos x86_64 live image failed to compose on $DATE"
mv logs/$DATE-x86_64.log logs/$DATE-FAILED-x86_64.log
else
du $TOPDIR/nightly-composes/aos/aos-x86_64-$DATE.iso >> logs/SIZEHISTORY-x86_64
tail -2 logs/SIZEHISTORY-x86_64
rm -f CHECKSUM-x86_64
sha256sum aos-x86_64-$DATE.iso > CHECKSUM-x86_64
cat CHECKSUM-x86_64
echo "INFO: aos x86_64 live image compose finished OK"
fi