Compare commits

..

18 Commits
f33 ... f32

Author SHA1 Message Date
Adam Williamson
13aac55e29 Bump KDE live root partition size to 7G
This is needed for current F32, 6.5G is too small. The live image
creation hangs near the end. Just noticed this after enabling
KDE live image build test for F32 updates.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-04-26 15:33:39 -07:00
Randy Barlow
4367531844 Revert "remove systemd package from fedora-container-base"
This reverts commit 57e13a1b89.

I noticed that systemd-logind was causing problems in our
containers after a container rebuild of the f32 base image was
published about 5 days ago. I found that an issue[0] had been
filed about the problem, but that bug was reported against
Rawhide (f33). I then found that systemd had been removed from
the f32 base image after f32 was released.

This causes problems for users who expect stability out of Fedora
releases - changing the default package set means that a container
build that works one day can break the next. In our case, the
problem wasn't so much that systemd was removed, but that the unit
masks were removed. This causes some components of systemd to be
unable to function in a container, and puts a burden on users to
identify the problem.

https://pagure.io/releng/issue/9603

[0] https://bugzilla.redhat.com/show_bug.cgi?id=1841139
2020-07-14 12:01:17 -04:00
siddharthvipul
57e13a1b89 remove systemd package from fedora-container-base
Signed-off-by: siddharthvipul <siddharthvipul1@gmail.com>
2020-05-31 17:17:00 +05:30
Ankur Sinha (Ankur Sinha Gmail)
75e662166f Update scitech maintainers
Please note that according to [1] @lgmducazu were taking this up. When
they do get in touch, we can add them to the list also.

[1] https://pagure.io/fedora-project-schedule/issue/168
2020-05-02 16:39:02 +00:00
Peter Robinson
01ea5ed713 IoT: Update F-32 for stable ostree branch
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2020-04-28 11:32:37 +01:00
Mohan Boddu
03f698ae62 Changing design_suite backgrounds to f32
Signed-off-by: Mohan Boddu <mboddu@bhujji.com>
2020-04-22 14:53:05 -04:00
Dan Book
11942989f5 Cinnamon - update extra backgrounds to f32 package 2020-04-19 14:56:31 -04:00
Erich Eickmeyer
92d368049e Update fedora-live-jam_kde.ks
Remove non-* tools from default session (functionality exists in other packages)
2020-04-03 22:56:06 +00:00
Erich Eickmeyer
b372f0f155 Have Fedora Jam ks use Audio Production group 2020-04-02 17:22:03 -07:00
Mohan Boddu
76084d6f18 Adding maintainers.toml to f32
Signed-off-by: Mohan Boddu <mboddu@bhujji.com>
2020-03-28 16:43:13 -04:00
Luya Tshimbalanga
fb0dec3af9 Temporarily remove conflicting blender-luxcorerender 2020-03-28 10:37:36 -07:00
Erich Eickmeyer
62f38a1c32 Add pipewire
Adds pipewire to disk
2020-03-06 20:39:42 +00:00
Erich Eickmeyer
1fa40d115e Update fedora-live-jam_kde.ks
Add jackctlmmc, removed packages not packaged or likely to be packaged
2020-03-06 20:39:42 +00:00
Peter Robinson
b892b8939c IoT: setup ostree from f32/devel branched
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2020-02-19 09:17:55 +00:00
Erich Eickmeyer
449b3efc0e Update fedora-live-jam_kde.ks - Update favorites, old KDE4 stuff
You read that right... stuff in there from before Plasma 5
2020-02-19 00:36:46 +00:00
Peter Robinson
d1e8a6668b SoAS: add defaults to sugar package, move a bunch of package selection to comps group
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2020-02-19 00:02:09 +00:00
Erich Eickmeyer
4860ea2def Update fedora-live-jam_kde.ks
Fix capitalization on Carla package, add its lv2 plugin
2020-02-12 23:37:48 +00:00
Mohan Boddu
ad9357f785 Branching F32 from rawhide
Signed-off-by: Mohan Boddu <mboddu@bhujji.com>
2020-02-11 09:23:17 -05:00
47 changed files with 896 additions and 254 deletions

View File

@@ -9,8 +9,6 @@ All changes should be made via the PR workflow.
This project is packaged in Fedora as the spin-kickstarts package allowing users to see This project is packaged in Fedora as the spin-kickstarts package allowing users to see
and modify the kickstart files for their local needs. and modify the kickstart files for their local needs.
Maintainers for each image are listed in the `maintainers.toml` file.
## To make a release ## ## To make a release ##
git clone ssh://git@pagure.io/fedora-kickstarts.git fedora-kickstarts git clone ssh://git@pagure.io/fedora-kickstarts.git fedora-kickstarts
@@ -26,18 +24,6 @@ Maintainers for each image are listed in the `maintainers.toml` file.
# Clean up the generated files: # Clean up the generated files:
make clean 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 # # bug reports #
Bugs should be reported to the spin-kickstarts bugzilla component: Bugs should be reported to the spin-kickstarts bugzilla component:

View File

@@ -3,7 +3,7 @@ lang en_US.UTF-8
selinux --enforcing selinux --enforcing
firewall --enabled --service=mdns,ssh firewall --enabled --service=mdns,ssh
bootloader --extlinux --location=mbr bootloader --location=mbr
part /boot/efi --size=80 --fstype vfat --asprimary part /boot/efi --size=80 --fstype vfat --asprimary
part /boot --size=512 --fstype ext4 --asprimary part /boot --size=512 --fstype ext4 --asprimary
@@ -11,7 +11,7 @@ part /boot --size=512 --fstype ext4 --asprimary
# make sure that initial-setup runs and lets us do all the configuration bits # make sure that initial-setup runs and lets us do all the configuration bits
firstboot --reconfig firstboot --reconfig
services --enabled=sshd,NetworkManager,avahi-daemon,chronyd,initial-setup services --enabled=sshd,NetworkManager,avahi-daemon,chronyd,initial-setup,zram-swap
%include fedora-repo.ks %include fedora-repo.ks
@@ -19,6 +19,7 @@ services --enabled=sshd,NetworkManager,avahi-daemon,chronyd,initial-setup
@core @core
@standard @standard
@hardware-support @hardware-support
zram
kernel kernel
# remove this in %post # remove this in %post
@@ -56,7 +57,7 @@ releasever=$(rpm --eval '%{fedora}')
basearch=armhfp basearch=armhfp
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
echo "Packages within this ARM disk image" echo "Packages within this ARM 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 # Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db* rm -f /var/lib/rpm/__db*

View File

@@ -2,10 +2,7 @@
%include fedora-arm-xbase.ks %include fedora-arm-xbase.ks
%include fedora-kde-common.ks %include fedora-kde-common.ks
part btrfs.007 --fstype="btrfs" --size=7000 part / --size=6300 --fstype ext4
btrfs none --label=fedora btrfs.007
btrfs /home --subvol --name=home LABEL=fedora
btrfs / --subvol --name=root LABEL=fedora
%post %post

View File

@@ -2,10 +2,7 @@
%include fedora-arm-xbase.ks %include fedora-arm-xbase.ks
%include fedora-lxde-common.ks %include fedora-lxde-common.ks
part btrfs.007 --fstype="btrfs" --size=4300 part / --size=4000 --fstype ext4
btrfs none --label=fedora btrfs.007
btrfs /home --subvol --name=home LABEL=fedora
btrfs / --subvol --name=root LABEL=fedora
%post %post

View File

@@ -2,10 +2,7 @@
%include fedora-arm-xbase.ks %include fedora-arm-xbase.ks
%include fedora-lxqt-common.ks %include fedora-lxqt-common.ks
part btrfs.007 --fstype="btrfs" --size=4400 part / --size=4400 --fstype ext4 --asprimary
btrfs none --label=fedora btrfs.007
btrfs /home --subvol --name=home LABEL=fedora
btrfs / --subvol --name=root LABEL=fedora
%packages %packages
# trojita not available on non-x86 platforms # trojita not available on non-x86 platforms

View File

@@ -2,10 +2,7 @@
%include fedora-arm-xbase.ks %include fedora-arm-xbase.ks
%include fedora-mate-common.ks %include fedora-mate-common.ks
part btrfs.007 --fstype="btrfs" --size=7168 part / --size=7168 --fstype ext4
btrfs none --label=fedora btrfs.007
btrfs /home --subvol --name=home LABEL=fedora
btrfs / --subvol --name=root LABEL=fedora
%post %post

View File

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

View File

@@ -4,27 +4,5 @@
# The ARM Workstion based Python Classroom Lab # The ARM Workstion based Python Classroom Lab
%include fedora-arm-base.ks %include fedora-arm-workstation.ks
%include fedora-arm-xbase.ks
%include fedora-workstation-common.ks
%include fedora-python-classroom-gnome-common.ks %include fedora-python-classroom-gnome-common.ks
part btrfs.007 --fstype="btrfs" --size=7000
btrfs none --label=fedora btrfs.007
btrfs /home --subvol --name=home LABEL=fedora
btrfs / --subvol --name=root LABEL=fedora
%packages
-initial-setup
-initial-setup-gui
-libvirt*
-gnome-boxes
%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

View File

@@ -4,7 +4,6 @@
part / --size=2500 --fstype xfs part / --size=2500 --fstype xfs
%packages %packages
fedora-release-server
# install the default groups for the server environment since installing the environment is not working # install the default groups for the server environment since installing the environment is not working
@server-product @server-product
@standard @standard

View File

@@ -2,10 +2,7 @@
%include fedora-arm-xbase.ks %include fedora-arm-xbase.ks
%include fedora-soas-common.ks %include fedora-soas-common.ks
part btrfs.007 --fstype="btrfs" --size=3400 part / --size=3300 --fstype ext4 --asprimary
btrfs none --label=fedora btrfs.007
btrfs /home --subvol --name=home LABEL=fedora
btrfs / --subvol --name=root LABEL=fedora
%post %post

View File

@@ -2,10 +2,7 @@
%include fedora-arm-xbase.ks %include fedora-arm-xbase.ks
%include fedora-workstation-common.ks %include fedora-workstation-common.ks
part btrfs.007 --fstype="btrfs" --size=6200 part / --size=6200 --fstype ext4
btrfs none --label=fedora btrfs.007
btrfs /home --subvol --name=home LABEL=fedora
btrfs / --subvol --name=root LABEL=fedora
%packages %packages
-initial-setup -initial-setup

View File

@@ -2,10 +2,7 @@
%include fedora-arm-xbase.ks %include fedora-arm-xbase.ks
%include fedora-xfce-common.ks %include fedora-xfce-common.ks
part btrfs.007 --fstype="btrfs" --size=5200 part / --size=5000 --fstype ext4
btrfs none --label=fedora btrfs.007
btrfs /home --subvol --name=home LABEL=fedora
btrfs / --subvol --name=root LABEL=fedora
%post %post

View File

@@ -8,14 +8,12 @@
%packages %packages
fedora-release-cinnamon
@networkmanager-submodules @networkmanager-submodules
@cinnamon-desktop @cinnamon-desktop
@libreoffice @libreoffice
parole parole
rhythmbox
# extra backgrounds # extra backgrounds
f33-backgrounds-extras-gnome f32-backgrounds-extras-gnome
%end %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,25 +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 --append="no_timer_check net.ifnames=0 console=ttyS0,38400n8d"
#%packages
#%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

@@ -53,12 +53,6 @@ EOKEYS
chmod 600 ~vagrant/.ssh/authorized_keys chmod 600 ~vagrant/.ssh/authorized_keys
chown -R vagrant:vagrant ~vagrant/.ssh/ 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 # Further suggestion from @purpleidea (James Shubin) - extend key to root users as well
mkdir -m 0700 -p /root/.ssh mkdir -m 0700 -p /root/.ssh
cp /home/vagrant/.ssh/authorized_keys /root/.ssh/authorized_keys 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 # keys. Cloud-init creates a user account named "fedora" with passwordless
# sudo access. The root password is empty and locked by default. # 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). # This kickstart file is designed to be used with ImageFactory (in Koji).
# #
# To do a local build, you'll need to install ImageFactory. See # To do a local build, you'll need to install ImageFactory. See
@@ -34,6 +37,7 @@ firewall --disabled
# We pass net.ifnames=0 because we always want to use eth0 here on all the cloud images. # We pass net.ifnames=0 because we always want to use eth0 here on all the cloud images.
bootloader --timeout=1 --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 services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
zerombr zerombr
@@ -44,78 +48,217 @@ autopart --noboot --nohome --noswap --nolvm
reboot reboot
##### begin package list ############################################# # Package list.
%packages --instLangs=en # 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
# Don't include the kernel toplevel package since it pulls in
# kernel-modules. We're happy for now with kernel-core.
-kernel
kernel-core 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 # after move away from grub2 - let's add 'which' back
# "rescue" entry in the grub menu, but that also means there is a which
# rescue kernel and initramfs that get created, which (currently) add
# about another 40MiB to the /boot/ partition. Also the "rescue" mode # rescue mode generally isn't useful in the cloud context
# is generally not useful in the cloud.
-dracut-config-rescue -dracut-config-rescue
# Plymouth provides a graphical boot animation. In the cloud we don't # Some things from @core we can do without in a minimal install
# need a graphical boot animation. This also means anaconda won't put -biosdevname
# rhgb/quiet on kernel command line # 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 -plymouth
# No need for firewalld for now. We don't have a firewall on by default.
-firewalld
# noswap on Cloud for now
-zram-generator-defaults
# Don't include the geolite2 databases, which end up with 66MiB
# in /usr/share/GeoIP
-geolite2-country
-geolite2-city
%end %end
##### end package list ###############################################
##### begin kickstart post ###########################################
%post --erroronfail %post --erroronfail
# linux-firmware is installed by default and is quite large. As of mid 2020: # Create grub.conf for EC2. This used to be done by appliance creator but
# Total download size: 97 M # anaconda doesn't do it. And, in case appliance-creator is used, we're
# Installed size: 268 M # overriding it here so that both cases get the exact same file.
# So far we've been fine shipping without it so let's continue. # Note that the console line is different -- that's because EC2 provides
# More discussion about this in #1234504. # 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
# 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." echo "Removing linux-firmware package."
rpm -e linux-firmware rpm -e linux-firmware
# See the systemd-random-seed.service man page that says: # Remove firewalld; was supposed to be optional in F18+, but is pulled in
# " It is recommended to remove the random seed from OS images intended # in install/image building.
# for replication on multiple systems" 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." echo "Removing random-seed so it's not the same in every image."
rm -f /var/lib/systemd/random-seed 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" echo "Import RPM GPG key"
releasever=$(rpm --eval '%{fedora}') releasever=$(rpm --eval '%{fedora}')
basearch=$(uname -i) basearch=$(uname -i)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch 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." echo "Zeroing out empty space."
# This forces the filesystem to reclaim space from deleted files # This forces the filesystem to reclaim space from deleted files
dd bs=1M if=/dev/zero of=/var/tmp/zeros || : dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
rm -f /var/tmp/zeros rm -f /var/tmp/zeros
echo "(Don't worry -- that out-of-space error was expected.)" echo "(Don't worry -- that out-of-space error was expected.)"
# When we build the image a networking config file gets left behind. # When we build the image with oz, dracut is used
# Let's clean it up. # and sets up a ifcfg-en<whatever> for the device. We don't
echo "Cleanup leftover networking configuration" # want to use this, we use eth0 so it is always the same.
rm -f /etc/NetworkManager/system-connections/*.nmconnection # 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*
# Clear machine-id on pre generated images # Enable network service here, as doing it in the services line
truncate -s 0 /etc/machine-id # 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
%end %end
##### end kickstart post ############################################

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

@@ -0,0 +1,220 @@
# 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
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 --eval '%{fedora}')
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 --eval '%{fedora}')
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

@@ -14,7 +14,6 @@ R
julia julia
#Computational neuroscience packages #Computational neuroscience packages
arbor
auryn-mpich auryn-mpich
auryn-openmpi auryn-openmpi
bionetgen bionetgen
@@ -27,8 +26,9 @@ gnuplot
moose moose
nest nest
neuron neuron
neurord
octave octave
# paraview paraview
python3 python3
python3-brian2 python3-brian2
python-brian2-doc python-brian2-doc
@@ -42,7 +42,6 @@ python3-neo
# python-nineml-doc # python-nineml-doc
python3-PyLEMS python3-PyLEMS
python-PyLEMS-doc python-PyLEMS-doc
python3-steps
smoldyn smoldyn
%end %end

View File

@@ -26,6 +26,11 @@ rm -rf /tmp/*
# https://pagure.io/atomic-wg/issue/308 # https://pagure.io/atomic-wg/issue/308
printf "tsflags=nodocs\n" >>/etc/dnf/dnf.conf 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 # https://bugzilla.redhat.com/show_bug.cgi?id=1343138
# Fix /run/lock breakage since it's not tmpfs in docker # Fix /run/lock breakage since it's not tmpfs in docker
@@ -39,6 +44,7 @@ printf "tsflags=nodocs\n" >>/etc/dnf/dnf.conf
# [/usr/lib/tmpfiles.d/systemd.conf:26] Failed to replace specifiers: /run/log/journal/%m # [/usr/lib/tmpfiles.d/systemd.conf:26] Failed to replace specifiers: /run/log/journal/%m
# #
umount /run umount /run
systemd-tmpfiles --prefix=/run/ --prefix=/var/run/ --create --boot || true
rm /run/nologin # https://pagure.io/atomic-wg/issue/316 rm /run/nologin # https://pagure.io/atomic-wg/issue/316
# Final pruning # Final pruning

View File

@@ -38,6 +38,8 @@ rpm
shadow-utils shadow-utils
sssd-client sssd-client
util-linux util-linux
# needed by Anaconda https://bugzilla.redhat.com/show_bug.cgi?id=1744115
systemd
-kernel -kernel
-dosfstools -dosfstools
-e2fsprogs -e2fsprogs

View File

@@ -13,7 +13,7 @@ keyboard us
timezone US/Eastern timezone US/Eastern
selinux --enforcing selinux --enforcing
firewall --enabled --service=mdns firewall --enabled --service=mdns
services --enabled=sshd,NetworkManager,chronyd services --enabled=sshd,NetworkManager,chronyd,zram-swap
network --bootproto=dhcp --device=link --activate network --bootproto=dhcp --device=link --activate
rootpw --lock --iscrypted locked rootpw --lock --iscrypted locked
shutdown shutdown
@@ -32,6 +32,7 @@ firstboot --reconfig
@core @core
@standard @standard
@hardware-support @hardware-support
zram
kernel kernel
# remove this in %post # remove this in %post
@@ -39,6 +40,7 @@ dracut-config-generic
-dracut-config-rescue -dracut-config-rescue
# install tools needed to manage and boot arm systems # install tools needed to manage and boot arm systems
@arm-tools @arm-tools
-uboot-images-armv7
rng-tools rng-tools
chrony chrony
bcm283x-firmware bcm283x-firmware
@@ -49,32 +51,21 @@ initial-setup
-usb_modeswitch -usb_modeswitch
-generic-release* -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 glibc-all-langpacks
%end %end
%post %post
# Find the architecture we are on
arch=$(uname -m)
# Setup Raspberry Pi firmware # Setup Raspberry Pi firmware
if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then
if [[ $arch == "aarch64" ]]; then
cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin
cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin
else
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
cp -P /usr/share/uboot/rpi_4_32b/u-boot.bin /boot/efi/rpi4-u-boot.bin
fi
fi
releasever=$(rpm --eval '%{fedora}') releasever=$(rpm --eval '%{fedora}')
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary
echo "Packages within this disk image" 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 # Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db* rm -f /var/lib/rpm/__db*

View File

@@ -1,7 +1,7 @@
%include fedora-disk-base.ks %include fedora-disk-base.ks
%include fedora-minimal-common.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 autopart --type=plain --noswap

View File

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

View File

@@ -4,9 +4,9 @@
bootloader --append="cma=256MB" bootloader --append="cma=256MB"
services --enabled=sshd,NetworkManager,chronyd services --enabled=sshd,NetworkManager,chronyd,zram-swap
autopart --type=btrfs --noswap autopart --type=plain --noswap
%packages %packages
-initial-setup -initial-setup

View File

@@ -4,9 +4,9 @@
bootloader --append="cma=192MB" bootloader --append="cma=192MB"
services --enabled=sshd,NetworkManager,chronyd services --enabled=sshd,NetworkManager,chronyd,zram-swap
autopart --type=btrfs --noswap autopart --type=plain --noswap
%packages %packages

View File

@@ -11,7 +11,7 @@ rootpw --lock --iscrypted locked
bootloader --timeout=1 --append="net.ifnames=0 modprobe.blacklist=vc4" bootloader --timeout=1 --append="net.ifnames=0 modprobe.blacklist=vc4"
network --bootproto=dhcp --device=link --activate --onboot=on network --bootproto=dhcp --device=link --activate --onboot=on
services --enabled=NetworkManager,sshd,rngd services --enabled=NetworkManager,sshd,rngd,zram-swap
zerombr zerombr
clearpart --all --initlabel --disklabel=msdos clearpart --all --initlabel --disklabel=msdos
@@ -26,12 +26,9 @@ reboot
%post --erroronfail %post --erroronfail
# Find the architecture we are on # Find the architecture we are on
arch=$(uname -m) arch=$(uname -m)
if [[ $arch == "armv7l" ]]; then
arch="armhfp"
fi
# Setup Raspberry Pi firmware # Setup Raspberry Pi firmware
if [[ $arch == "aarch64" ]] || [[ $arch == "armhfp" ]]; then if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then
if [[ $arch == "aarch64" ]]; then if [[ $arch == "aarch64" ]]; then
cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin
cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin
@@ -84,7 +81,7 @@ rm -f /var/lib/systemd/random-seed
echo "Packages within this iot image:" echo "Packages within this iot image:"
echo "-----------------------------------------------------------------------" echo "-----------------------------------------------------------------------"
rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn rpm -qa
echo "-----------------------------------------------------------------------" echo "-----------------------------------------------------------------------"
# Note that running rpm recreates the rpm db files which aren't needed/wanted # Note that running rpm recreates the rpm db files which aren't needed/wanted
rm -f /var/lib/rpm/__db* rm -f /var/lib/rpm/__db*

View File

@@ -34,7 +34,9 @@ astrometry
astrometry-tycho2 astrometry-tycho2
cdsclient cdsclient
fpack fpack
gcx
psfex psfex
saoimage
scamp scamp
sextractor sextractor
siril siril
@@ -52,7 +54,7 @@ indistarter
kstars kstars
# misc. astronomy # misc. astronomy
#celestia celestia
stellarium stellarium
virtualplanet virtualplanet
@@ -105,10 +107,6 @@ python3-matplotlib-tk
# Python IDE very useful for scientific use # Python IDE very useful for scientific use
python3-spyder python3-spyder
# BOINC for distributed computing
boinc-client
boinc-manager
#Version control- a GUI for each as well #Version control- a GUI for each as well
# Installing rapidsvn will also install subversion package # Installing rapidsvn will also install subversion package

View File

@@ -52,10 +52,6 @@ anaconda
anaconda-install-env-deps anaconda-install-env-deps
anaconda-live anaconda-live
@anaconda-tools @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 # Need aajohan-comfortaa-fonts for the SVG rnotes images
aajohan-comfortaa-fonts aajohan-comfortaa-fonts
@@ -306,7 +302,7 @@ releasever=$(rpm --eval '%{fedora}')
basearch=$(uname -i) basearch=$(uname -i)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
echo "Packages within this LiveCD" 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 # Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db* rm -f /var/lib/rpm/__db*

View File

@@ -9,4 +9,4 @@
%include fedora-comp-neuro-common.ks %include fedora-comp-neuro-common.ks
%include fedora-neuro-gnome-common.ks %include fedora-neuro-gnome-common.ks
part / --size 10240 part / --size 9656

View File

@@ -17,8 +17,8 @@ part / --size 14336
@design-suite @design-suite
# Provides backup application # Provides backup application
#deja-dup deja-dup
#deja-dup-nautilus deja-dup-nautilus
# Add extra gnome applications # Add extra gnome applications
gnome-books gnome-books
@@ -32,18 +32,17 @@ powerline
powerline-fonts powerline-fonts
# Extra wallpapers # Extra wallpapers
f33-backgrounds-extras-gnome f32-backgrounds-extras-gnome
# removal of unneeded applications # removal of unneeded applications
-gnome-boxes -gnome-boxes
-eog -eog
-rdesktop -rdesktop
# temporarily removing conflicting applications # temporarily removing conflicting application
-blender-luxcorerender
-mypaint -mypaint
-shutter
-sparkleshare -sparkleshare
-blender-luxcorerender
%end %end

View File

@@ -91,7 +91,7 @@ glaxium
gnubg gnubg
gnugo gnugo
haxima haxima
#hedgewars -- broken hedgewars
kcheckers kcheckers
knights knights
lbrickbuster2 lbrickbuster2
@@ -165,11 +165,13 @@ vodovod
# card games # card games
#poker2d - dropped from F14 for being orphaned
PySolFC PySolFC
# educational/simulation # educational/simulation
#celestia - not currently building bygfoot
celestia
planets planets
tuxpaint tuxpaint
tuxpaint-stamps tuxpaint-stamps

View File

@@ -37,7 +37,6 @@ nano
# fedora jam theming (to be customized) # fedora jam theming (to be customized)
fedora-jam-backgrounds fedora-jam-backgrounds
fedora-jam-kde-theme
#Misc. Utils #Misc. Utils
screen screen
@@ -66,7 +65,7 @@ thunderbird
#setup kickoff favorites #setup kickoff favorites
/bin/mkdir -p /etc/skel/.config /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/ardour5.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,/usr/share/applications/org.kde.kontact.desktop
JAMFAVORITESLIVE=/usr/share/applications/liveinst.desktop,$JAMFAVORITES JAMFAVORITESLIVE=/usr/share/applications/liveinst.desktop,$JAMFAVORITES
cat <<EOF >> /etc/skel/.config/kickoffrc cat <<EOF >> /etc/skel/.config/kickoffrc
@@ -83,5 +82,3 @@ cat >> /etc/rc.d/init.d/livesys << EOF
EOF EOF
%end %end

View File

@@ -7,7 +7,7 @@
%include fedora-mate-common.ks %include fedora-mate-common.ks
%include fedora-live-minimization.ks %include fedora-live-minimization.ks
part / --size 8192 part / --size 7168
%post %post
cat >> /etc/rc.d/init.d/livesys << EOF cat >> /etc/rc.d/init.d/livesys << EOF

View File

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

View File

@@ -56,7 +56,7 @@ if [ -f /usr/share/applications/liveinst.desktop ]; then
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
[org.gnome.shell] [org.gnome.shell]
favorite-apps=['firefox.desktop', 'org.gnome.Calendar.desktop', 'rhythmbox.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'anaconda.desktop'] favorite-apps=['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'anaconda.desktop']
FOE FOE
# Make the welcome screen show up # Make the welcome screen show up

View File

@@ -13,9 +13,6 @@
%include fedora-live-minimization.ks %include fedora-live-minimization.ks
%include fedora-xfce-common.ks %include fedora-xfce-common.ks
# need a bigger /
part / --size 6144
%post %post
# xfce configuration # xfce configuration

View File

@@ -38,7 +38,7 @@ wqy-microhei-fonts # a compact CJK font, to replace:
-adobe-source-han-sans-cn-fonts # simplified Chinese -adobe-source-han-sans-cn-fonts # simplified Chinese
-adobe-source-han-sans-tw-fonts # traditional 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 #-stix-fonts # mathematical symbols
# remove input methods to free space # remove input methods to free space

View File

@@ -1,5 +1,4 @@
%packages %packages
fedora-release-matecompiz
@mate @mate
compiz compiz
compiz-plugins-main compiz-plugins-main
@@ -16,6 +15,10 @@ emerald
fusion-icon fusion-icon
@networkmanager-submodules @networkmanager-submodules
# some apps from mate-applications
caja-actions
mate-disk-usage-analyzer
# blacklist applications which breaks mate-desktop # blacklist applications which breaks mate-desktop
-audacious -audacious
@@ -35,11 +38,11 @@ nss-mdns
-fedora-icon-theme -fedora-icon-theme
-gnome-icon-theme -gnome-icon-theme
-gnome-icon-theme-symbolic -gnome-icon-theme-symbolic
-gnome-logs
-gnome-software -gnome-software
-gnome-user-docs -gnome-user-docs
-@mate-applications -@mate-applications
-mate-icon-theme-faenza
# Help and art can be big, too # Help and art can be big, too
-gnome-user-docs -gnome-user-docs

View File

@@ -6,8 +6,7 @@ selinux --enforcing
# Disabled for modular compose (for now) # Disabled for modular compose (for now)
#firewall --enabled --service=mdns #firewall --enabled --service=mdns
# Disabled for modular compose (for now) # Disabled for modular compose (for now)
#services --enabled=sshd,chronyd,initial-setup #services --enabled=sshd,NetworkManager,chronyd,initial-setup
services --enabled=NetworkManager
network --bootproto=dhcp --device=link --activate network --bootproto=dhcp --device=link --activate
rootpw --lock --iscrypted locked rootpw --lock --iscrypted locked
shutdown shutdown
@@ -36,7 +35,7 @@ glibc-minimal-langpack
grubby grubby
kernel kernel
sssd-client sssd-client
@networkmanager-submodules dhcp-client
-fedora-logos -fedora-logos
-coreutils -coreutils
-dosfstools -dosfstools
@@ -54,25 +53,14 @@ sssd-client
%post %post
# Find the architecture we are on
arch=$(uname -m)
# Setup Raspberry Pi firmware # Setup Raspberry Pi firmware
if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then
if [[ $arch == "aarch64" ]]; then
cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin
cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin
else
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
cp -P /usr/share/uboot/rpi_4_32b/u-boot.bin /boot/efi/rpi4-u-boot.bin
fi
fi
releasever=$(rpm --eval '%{fedora}') releasever=$(rpm --eval '%{fedora}')
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary
echo "Packages within this disk image" 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 # Note that running rpm recreates the rpm db files which aren't needed or wanted
rm -f /var/lib/rpm/__db* rm -f /var/lib/rpm/__db*

View File

@@ -21,15 +21,6 @@ wget
-python35 -python35
-python36 -python36
-python37 -python37
-python38
-python2.7
-python3.5
-python3.6
-python3.7
-python3.8
-pypy -pypy
# Remove LaTeX, see https://bugzilla.redhat.com/show_bug.cgi?id=1862450
-texlive-latex
%end %end

View File

@@ -4,9 +4,9 @@
@engineering-and-scientific @engineering-and-scientific
# scilab # scilab
## scilab scilab
## scilab-devel scilab-devel
## scilab-doc scilab-doc
# Remove sagemath explicitly? # Remove sagemath explicitly?
-sagemath -sagemath
@@ -128,8 +128,8 @@ dia
inkscape inkscape
xzgv xzgv
gimp gimp
## ggobi ggobi
## ggobi-devel ggobi-devel
#g3data #g3data
#Mayavi #Mayavi

View File

@@ -11,7 +11,6 @@ firewall --enabled --service=mdns,presence
%packages %packages
# == Core Sugar Platform == # == Core Sugar Platform ==
fedora-release-soas
@sugar-desktop @sugar-desktop
# explicitly remove a bunch of extra stuff # explicitly remove a bunch of extra stuff
@@ -39,10 +38,6 @@ fedora-release-soas
-hyperv-daemons -hyperv-daemons
-sane-backends -sane-backends
-sane-backends-drivers-scanners -sane-backends-drivers-scanners
-chkconfig
-dhcp-client
-gcc-gdb-plugin
-gcc
# Add some extra fonts # Add some extra fonts
dejavu-sans-fonts dejavu-sans-fonts

View File

@@ -12,7 +12,6 @@
%packages %packages
fedora-release-xfce
@networkmanager-submodules @networkmanager-submodules
@xfce-desktop @xfce-desktop
@xfce-apps @xfce-apps
@@ -20,12 +19,16 @@ fedora-release-xfce
@xfce-media @xfce-media
@xfce-office @xfce-office
# unlock default keyring. FIXME: Should probably be done in comps
gnome-keyring-pam
# Admin tools are handy to have # Admin tools are handy to have
@admin-tools @admin-tools
# Add some screensavers, people seem to like them # Add some screensavers, people seem to like them
# Note that blank is still default. # Note that blank is still default.
xscreensaver-extras xscreensaver-extras
wget wget
# Better more popular browser
#firefox
system-config-printer system-config-printer
# save some space # save some space

View File

@@ -59,10 +59,6 @@ maintainers = [ "Darryl T. Agostinelli" ]
fas = [ "eeickmeyer" ] fas = [ "eeickmeyer" ]
maintainers = [ "Erich Eickmeyer" ] maintainers = [ "Erich Eickmeyer" ]
[labs.python_classroom.x86_64]
fas = [ "churchyard", "python-sig" ]
maintainers = [ "Miro Hrončok", "Python SIG" ]
[labs.scientific_kde.x86_64] [labs.scientific_kde.x86_64]
fas = [ "scitech" ] fas = [ "scitech" ]
maintainers = [ "SciTech SIG" ] maintainers = [ "SciTech SIG" ]

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