Compare commits

..

88 Commits
main ... f26

Author SHA1 Message Date
Dusty Mabe
3c02bf385d
atomic: re-enable ostree commit gpg checking
In d57f0a2 we managed to lose enablement of gpg signature checking
in Fedora Atomic Host. Re-enable it now.
2017-08-23 18:14:01 -04:00
Dennis Gilmore
62eddab5a6 Merge #264 Cinnamon: disable dnfdragora applet on live 2017-08-15 17:26:59 +00:00
Dennis Gilmore
97a4a34be9 Merge #263 MATE: disable dnfdragora applet on livecd 2017-08-15 17:26:46 +00:00
Dusty Mabe
dd059fb52b
container: rm nologin file from container image
This allows one to create an sshd container if they want.

See https://pagure.io/atomic-wg/issue/316

(cherry picked from commit 49357c4246)
2017-08-11 09:17:15 -04:00
Tomas Tomecek
fa78bd6482 docker base image: don't install docs by default
Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2017-08-01 16:13:06 +02:00
Colin Walters
d57f0a2e2d atomichost: Use prod ref, not /updates
We need the same bits that live in the f25 branch now.

I also deleted the remote add/delete, since I think they're
no longer necessary.
2017-07-26 14:24:01 -04:00
Dusty Mabe
2565b003d4
atomic: use prod url, not compose url
We were previously using the compose url where pungi created the
ostree. We now need to use the prod url (the one that clients use)
since we aren't currently building ostrees and qcows in the same
pungi run. Bodhi is currently building the ostrees outside of pungi.
2017-07-21 11:08:33 -04:00
Dusty Mabe
389bcb6c1e
atomic: create images from updates ref
These are our dev images we create from the updates ref. Once
tested and verified we then promote that ref from the tested
images to an officially release ostree version.

Signed-off-by: Dusty Mabe <dusty@dustymabe.com>
2017-07-19 11:21:02 -04:00
Dan Book
d61e280867 Cinnamon: disable dnfdragora applet on live 2017-07-14 12:01:29 -04:00
raveit65
ebf2a08b9a MATE: disable dnfdragora applet on livecd 2017-07-14 09:49:00 +02:00
Ralph Bean
8b76095ef1 A start at disk-minimal for the fedora modular release.
Signed-off-by: Ralph Bean <rbean@redhat.com>
2017-07-10 17:38:41 -04:00
Ralph Bean
06e4071407 Re-enable autopart.
Signed-off-by: Ralph Bean <rbean@redhat.com>
2017-07-09 20:19:24 -04:00
Ralph Bean
0aba4ea78f A stab at the Modular Fedora Docker kickstarts.
Signed-off-by: Ralph Bean <rbean@redhat.com>
2017-07-09 20:18:14 -04:00
Matthew Miller
40dbada72b Merge remote-tracking branch 'upstream/f26' into f26 2017-07-01 12:20:42 -04:00
raveit65
1a67c48064 MATE: mark installer launcher as executable on live image 2017-06-30 18:51:03 +02:00
mattdm
3e8cd74fc8 remove plasma-pk-updates from live environment
Should fix blocker bug https://bugzilla.redhat.com/show_bug.cgi?id=1436873 (Previous code here did not work.)
2017-06-30 15:30:09 +00:00
Peter Robinson
5b6b9e4d6a arm: minimal: increase minimal a little as we've got dep bloat
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-06-26 20:02:17 +01:00
Peter Robinson
b95b0e11d0 Revert "arm: base: increase minimal to 3G as we've got dep bloat"
I'm an idiot, this isn't minimal

This reverts commit 4493473a0a.
2017-06-26 20:00:11 +01:00
Peter Robinson
4493473a0a arm: base: increase minimal to 3G as we've got dep bloat
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-06-26 19:59:13 +01:00
Peter Robinson
41e571f0b0 Fix MATE dependencies
There's a number of dependencies that are being excluded but are needed by core
MATE components so the arm images fail because of this. Also fix the mp3 support
package as that's now in gstreamer1-plugins-ugly-free

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-06-26 19:50:36 +01:00
Dusty Mabe
7760932d53
atomic: enable gpg verification after install
Taking the first step towards enabling gpg verification for our
users we'll make it so that the media they download will verify
gpg signatures of commits by default.

The next step is to enable gpg verification during install as well
but there is a race condition where the commit that was just created
might not yet be signed. See [1] for more details.

[1] https://pagure.io/pungi/issue/650

(cherry picked from commit 467f7dcb3c)
2017-06-25 08:54:56 -04:00
Dennis Gilmore
ead98e05d6 Merge #246 SoAS and LXQT: increase root fs size 2017-06-22 15:45:35 +00:00
Dennis Gilmore
6167c5112c Merge #245 KDE: fix compose due to core deps needing make 2017-06-22 15:41:28 +00:00
Peter Robinson
119efae2f9 SoAS and LXQT: increase root fs size
The installs don't quite hit on the default base image size so
increase it for both spins so they will build.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-06-22 16:21:54 +01:00
Peter Robinson
5a9491e5ad KDE: fix compose due to core deps needing make
So make is needed by openssl and compat-openssl10 which is turn is needed
by key things such as qt5-qtbase, mariadb and other core things that are
explictly needed in the KDE spin. I have no idea why the ARM images fail
and the live media does not because all arches have this dep.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-06-22 16:02:47 +01:00
Peter Robinson
b668257940 Mate: fix contractdictory package lists
So MATE removes PackageKit and then tried to add PackageKit-command-not-found
which is contradictary and will fail to install so drop the later so things
will at least compose.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-06-22 15:33:49 +01:00
Peter Robinson
057e710338 move the xkeyboard-config exclude to the minimal ks
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-06-14 16:55:32 +01:00
Kevin Fenzi
caafaa6c03 stop excluding xkeyboard-config, as it is now needed by firefox, system-config-printer, initial-setup-gui, gnome-keyring 2017-06-14 09:42:23 -06:00
Dennis Gilmore
8c9a05ae16 Merge #213 Fix scientific kde - removing python3-mpi4py-openmpi 2017-06-13 14:44:24 +00:00
Dennis Gilmore
ba79b12375 Merge #225 f26: add mp3 encoding plugins 2017-06-13 14:44:07 +00:00
Peter Robinson
1b78636ab1 ARM images: remove bits we don't need/want to help reduce image size
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-06-13 15:38:50 +01:00
Dusty Mabe
f15dd026fe
atomic, cloud: remove rhgb by removing plymouth
a59dfe5 caused us a few problems:
  - sed was breaking the symlink on atomic systems
  - /boot/grub2/grub.cfg is not the right file on a UEFI system
  - etc..

We'll solve this problem a different way by just not installing
plymouth in our systems, which is another way [1] to make sure
rhgb/quiet don't appear on your kernel command line.

[1] ee91db6fa3/pyanaconda/payload/__init__.py (L722-L726)

(cherry picked from commit 68804358d8)
2017-05-24 01:52:47 -04:00
Dusty Mabe
e7742ffc33
cloud: fix errors that happen on UEFI systems
We are seeing an error on aarch64 cloud image creation because
of the vfat filesystem and the fixfiles command failing:

+ /usr/sbin/fixfiles -R -a restore
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/fonts/unicode.pf2:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/gcdaa64.efi:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/grub.cfg:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/grubaa64.efi:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/grubenv:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/BOOT/BOOTAA64.EFI:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/BOOT/fallback.efi:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/BOOT.CSV:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/MokManager.efi:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/shim-fedora.efi:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/shim.efi:  Operation not supported

(cherry picked from commit ba950669f1)
2017-05-24 01:51:03 -04:00
Dusty Mabe
007c54025d
docker-base: ignore return code of systemd-tmpfiles
Ignore the return code of the systemd-tmpfiles command because
at this point we have already removed the /etc/machine-id (8f3beac)
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

(cherry picked from commit a4ae071339)
2017-05-19 13:13:09 -04:00
Dusty Mabe
75d580c3fa
docker-base: limit systemd-tmpfiles to /run/
In 96a6711 we added re-running systemd-tmpfiles to add files to /run
on the root fs of the container. Here we'll limit where systemd-tmpfiles
puts files by passing it --prefix /var and --prefix /var/run/

(cherry picked from commit 93205adc7d)
2017-05-19 13:12:52 -04:00
Dusty Mabe
0f69fe0d48
docker: add comment about partitioning for clarity
(cherry picked from commit 6bfa0c57b3)
2017-05-19 13:10:06 -04:00
Dusty Mabe
9e47cff172
cloud: remove comments that don't apply
should have been removed in 30c4fdd
2017-05-19 13:06:50 -04:00
Dennis Gilmore
d35eba9297 Merge #227 cloud/docker: move to autopart with the new no home/swap/boot options to enable generic architecture images 2017-05-19 16:51:39 +00:00
Dusty Mabe
4393b884b3 use mirrorlist url instead of metalink url
There is an anaconda bug [1] where passing in metalink urls no longer
works after f25. Use mirrorlist urls to workaround.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1450129

(cherry picked from commit 77a25abded)

Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2017-05-15 16:30:57 -04:00
Peter Robinson
30c4fddde7 cloud/docker: move to autopart with the new no home/swap/boot options to enable generic architecture images
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-05-15 17:32:12 +01:00
Dan Book
32110a472e f26: add mp3 encoding plugins 2017-05-14 13:59:01 -04:00
Christian Dersch
289081819e lxqt: use new comps groups 2017-05-12 11:02:33 +02:00
Christian Dersch
e9c9928c83 lxqt: no updater applet in live environment 2017-05-12 11:01:49 +02:00
Dusty Mabe
6338afb23c
atomic: don't use cmdline for install mode
similar change was done for docker/cloud in f6ecdc3

cmdline makes it so that %post --erroronfail won't actually stop the
installation in a way that imagefactory will detect the problem and
fail the build. See [1] for more details.

[1] https://github.com/rhinstaller/anaconda/issues/931

(cherry picked from commit 8f142150ba)
2017-05-08 11:38:45 -04:00
Dusty Mabe
7243faa567
atomic, cloud: disable rhgb/quiet on boot
We want more verbose output on boot.

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

(cherry picked from commit a59dfe5f40)
2017-05-08 11:38:45 -04:00
Dusty Mabe
d38606ec42
atomic, cloud: don't create none user
Anaconda doesn't seem to require it anymore so no need to create it
and then delete it.

(cherry picked from commit 4948e8c002)
2017-05-08 11:38:45 -04:00
Björn Esser
1c64d4718a Cinnamon: Remove unneeded stuff 2017-05-06 18:24:57 +02:00
Peter Robinson
1b19a4c21b For RPi3 64 bit we need to put the 64bit config in place to boot
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-04-30 10:39:22 +01:00
Peter Robinson
a8152f2e31 aarch64: we don't install initial-setup in Worksttion so don't try to enable the service
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-04-30 10:39:22 +01:00
Mohan Boddu
de0a80e24d Fix scientific kde - removing python3-mpi4py-openmpi
Removing python3-mpi4py-openmpi since there is no python3 version of
mpi4py. It should fix the "Non interactive installation failed:
python3-mpi4py-openmpi." issue from the logs.

Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2017-04-20 15:29:24 -04:00
Dusty Mabe
fa047a1949
atomic: update link and revert some of the cherry-pick
Update the trac link to point to the pagure issue. Also
we don't actually want to enable legacy network service.
This was also reverted for f25 in 6f3661e.

(cherry picked from commit c49c95145d)
2017-04-19 17:11:19 -04:00
Jason Brooks
0c7d01ca5e
networking fixes for f25
* removes the extra ens3 ifcfg that seems to be added
by dracut at some point (cloud base did this in their
ks a year ago in c509863)
* adds net.ifnames=0 to the bootloader line, because
that seems to be necessary to actually disable consistent
device naming
* enables the network service

see https://pagure.io/atomic-wg/issue/174

(cherry picked from commit 5d987e82b3)
2017-04-19 17:11:03 -04:00
Dusty Mabe
e096cbed83 zero out resolv.conf during install
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

(cherry picked from commit fc0a635bc4)
2017-04-18 17:35:58 -06:00
Mohan Boddu
c8f435a6a0 Fixing python-classroom for armhfp
emacs requires hunspell and not having hunspell is failing the compose

package webkitgtk4-2.16.1-2.fc26.armv7hl requires libenchant.so.1, but none of the providers can be installed
package emacs-1:25.2-0.1.rc2.fc26.armv7hl requires libwebkit2gtk-4.0.so.37, but none of the providers can be installed
package enchant-1:1.6.0-16.fc26.armv7hl requires libhunspell-1.5.so.0, but none of the providers can be installed

Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2017-04-18 14:50:13 -04:00
Miro Hrončok
00d0830aaf Add @python-science to Python Classroom Lab 2017-04-18 13:23:55 -05:00
Peter Robinson
54d01cbd53 disk: remove duplicate services 2017-04-12 22:35:46 +01:00
Peter Robinson
7e810e6fb7 Add Server disk image for aarch64
This is a generic disk image that should be usable on any architecture with
imagefactory or live-media-creator (possibly with package tweaks).

Minor tweaks to the autopart across Minimal/Workstation for Server defaults.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-04-12 17:39:43 +01:00
Peter Robinson
09afeb926f Add Workstation disk image for aarch64
This is a generic disk image that should be usable on any architecture with
imagefactory or live-media-creator (possibly with package tweaks).

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-04-12 17:39:43 +01:00
Peter Robinson
34ce2e2165 Add minimal disk image for aarch64
This is a generic disk image that should be usable on any architecture with
imagefactory or live-media-creator (possibly with package tweaks). It creates a
minimal-common.ks to share as much as possible with the ARMv7 specific
fedora-arm-minimal.ks

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-04-12 17:39:43 +01:00
Peter Robinson
d9fab6d0a9 arm: drop dracut-config-rescue as the rescue images aren't overly useful on the disk images and cause other issues with extlinux
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-04-12 11:17:07 +01:00
Peter Robinson
d0ae69f8eb arm: minor package tweaks, drop Intel wireless FW, trousers, dial-up as not overly useful OOTB on ARM
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-04-12 11:17:07 +01:00
Peter Robinson
5571ec20dd arm: tweak the image root file slightly
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-04-12 11:17:07 +01:00
raveit65
685a19ff40 MATE: remove backgounds from spin, already in comps 2017-04-10 09:54:12 +02:00
Björn Esser
9bb254b865 Cinnamon: Add German spin-variant 2017-04-04 10:31:30 +02:00
Peter Robinson
f4a0c73bfe Reduce some packages that aren't of much use in the containers
Filesytem tools, TPM tools, libusb and friends aren't of much use in
a docker container so remove them.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-04-03 23:54:10 +01:00
Peter Robinson
5bcdb60f13 Add a docker common kickstart as a central bit for shared config.
There's a lot of similarities between base and base-minimal so
introduce a docker-common.ks to ensure as much as possible is shared
between the two ensure as much shared as possible.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-04-03 23:53:31 +01:00
Björn Esser
88a9240267 Cinnamon: dnfdragora is pulled by comps now 2017-04-04 00:07:29 +02:00
Björn Esser
407ca518cd LXQt: dnfdragora-gui pulls libyui-qt automatically 2017-04-03 23:42:50 +02:00
raveit65
b8a45187ae Mate: drop f25-backgrounds-extras-base 2017-03-31 15:41:12 +02:00
Peter Robinson
c6826272fc Fix the vagrant and bigdata cloud images
With moving to grub2 we now need to remove the extlinux bits from the
other cloud images. They were missed in the move

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-28 15:59:17 +01:00
Adam Williamson
cf2a91f935 Bump to f26-backgrounds
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2017-03-26 21:26:04 -07:00
Peter Robinson
b49fdad2b6 add comment about boot parts on cloud/docker images
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-23 12:58:19 -05:00
Peter Robinson
f7dc6eacf4 remove arm and ppc cloud base variants
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-23 12:58:19 -05:00
Peter Robinson
2bbf715cd9 Add bits required for aarch64 images
We drop the explicit grub2 as aarch64 only has grub2-efi but anaconda will
sort that out and ensure all the right bits are installed during the install
so we should get the right grub2 bootloader options for each arch OOTB.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-23 12:58:19 -05:00
Peter Robinson
23b814089b Adjust docker-base-minimal ks for aarch64
Add the EFI partition in so anaconda doesn't lose it. Ulimately doesn't affect
docker image size as boot and friends are discarded as part of the process.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-23 12:58:19 -05:00
Peter Robinson
19fb556f9f remove arm and ppc docker base variants
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-23 12:58:19 -05:00
Peter Robinson
0996c4996e Adjust docker-base ks for aarch64
Add the EFI partition in so anaconda doesn't lose it. Ulimately doesn't affect
docker image size as boot and friends are discarded as part of the process.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-23 12:58:19 -05:00
Peter Robinson
f7bef12438 Minor inline docs updates
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-23 12:58:19 -05:00
Peter Robinson
4ed12a7027 switch cloud images permanently to grub2
The main reason for cloud to use extlinux is the size of deps being
pulled in by grub2-tools. This will be fixed in F-26 with the ability
to use grub2/grub2-efi without the tools package and it's deps fixing
this issue for good. There will no doubt need to be be some tweaking
required here.

We need grub2 in cloud images for non x86 as well as for the increasing
x86 cloud platforms that require the support of uEFI which extlinux
doesn't support.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-23 12:58:19 -05:00
Colin Walters
d8b59962cd
atomic: Append GROWPART to d-s-s config
Rather than truncating.  This allows us to preserve any existing
configuration (e.g. overlayfs by default).

(cherry picked from commit 954957e609)
2017-03-22 20:19:02 -04:00
Dusty Mabe
aefa165253
atomic: update remote delete/add for f26 alpha
Update remote delete/add code for f26 pre-release.
We won't need this code after release.

Signed-off-by: Dusty Mabe <dusty@dustymabe.com>
2017-03-15 16:59:09 -04:00
Dusty Mabe
c8f098b393
atomic: fix ref for f26 atomic host
Signed-off-by: Dusty Mabe <dusty@dustymabe.com>
2017-03-15 11:50:45 -04:00
Dennis Gilmore
839ef7acc0 import just the primary rpm gpg key
anaconda apparently fails now if the scriptlet fails which happens
on 32 bit arm:
Error

  There was an error running the kickstart script at line 28.  This is a fatal
  error and installation will be aborted.  The details of this error are:

  + LANG=en_US
  + echo '%_install_langs en_US'
  + echo 'Import RPM GPG key'
  Import RPM GPG key
  ++ rpm -q --qf '%{version}\n' fedora-release
  + releasever=27
  ++ uname -i
  + basearch=armv7l
  + rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-27-armv7l
  error: /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-27-armv7l: import read failed(2).

  Press ENTER to exit: systemd-localed.service: Got notification message from PID 2286 (STOPPING=1)

as all the rpms in f26 for arches that will have containers ase
signed with the one key lets just import that

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-03-10 17:50:40 -06:00
Dennis Gilmore
1c70356e93 disable caching repo metadata
all workstation based spins are failing due to packagekit causing gpg-agent
spawning and keeping /dev/null open inside the compose environemnet.
36389 ?        Ss     0:00 gpg-agent --homedir /tmp/tmp.XJ49JiQYpU/var/cache/PackageKit/26/metadata/updates-testing.tmp/gpgdir --use-standard-socket --daemon
36417 ?        Ss     0:00 gpg-agent --homedir /tmp/tmp.XJ49JiQYpU/var/cache/PackageKit/26/metadata/updates.tmp/gpgdir --use-standard-socket --daemon
we end up with process like above running. this only hit us as the urls
pointed to stopped giving 404 errors

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-03-09 17:32:07 -06:00
Peter Robinson
f1cac9d7b9 fix graphical initial-setup on ARM images
The old means of enabling the graphical service is obsolete so remove it.
It's now detected by explicitly enabling graphical.target so do this by default
for all graphical UXes
2017-03-09 17:05:02 +00:00
Christian Dersch
2a2faacda6 lxqt: added storaged to fix #1429132 2017-03-06 22:07:20 +01:00
Miro Hrončok
2094721562 Python Classroom: Add optional packages from the group 2017-03-03 16:22:13 +01:00
Mohan Boddu
8f0cb7faca Branching f26 from rawhide
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2017-02-28 09:15:31 -05:00
134 changed files with 2989 additions and 1902 deletions

View File

@ -9,34 +9,20 @@ 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
cd fedora-kickstarts * cd fedora-kickstarts
# If you need a specific branch other than master: * # If you need a specific branch other than master:
git checkout BRANCHNAME * git checkout BRANCHNAME
# No tag has been added yet tag HEAD with * # No tag has been added yet tag HEAD with
git tag VERSION * git tag VERSION
git push --tags * git push --tags
make * make
# Publish the released tar ball * # Publish the released tar ball
make publish * make publish
# 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 #

View File

@ -0,0 +1,8 @@
## Lorax template to configure Anaconda to use the local OSTree
## repository on disk.
<%page args="ostree_osname, ostree_ref"/>
append usr/share/anaconda/interactive-defaults.ks "ostreesetup --nogpg --osname=${ostree_osname} --remote=${ostree_osname} --url=file:////run/install/repo/content/repo --ref=${ostree_ref}\n"
append usr/share/anaconda/interactive-defaults.ks "services --disabled cloud-init,cloud-config,cloud-final,cloud-init-local\n"
append usr/share/anaconda/interactive-defaults.ks "%post --erroronfail\nrm -f /etc/ostree/remotes.d/${ostree_osname}.conf\nostree remote add --set=gpg-verify=false fedora-atomic 'https://dl.fedoraproject.org/pub/fedora/linux/atomic/22/'\n%end\n"

View File

@ -0,0 +1,11 @@
## Lorax template to embed an OSTree repository into the installer.iso
## and configure an interactive installer use to look for it.
##
## Note that we pull with depth=0 to only get *one* commit into the
## ISO, because we obviously don't want the full history.
<%page args="workdir, ostree_osname, ostree_repo, ostree_ref"/>
runcmd mkdir -p ${workdir}/iso-graft/content/repo
runcmd ostree --repo=${workdir}/iso-graft/content/repo init --mode=archive-z2
runcmd ostree --repo=${workdir}/iso-graft/content/repo remote add ostree-mirror --set=gpg-verify=false ${ostree_repo}
runcmd ostree --repo=${workdir}/iso-graft/content/repo pull --mirror ostree-mirror ${ostree_ref}

View File

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

102
fedora-aos.ks Normal file
View File

@ -0,0 +1,102 @@
# Kickstart file to build the appliance operating
# system for fedora.
# This is based on the work at http://www.thincrust.net
lang C
keyboard us
timezone US/Eastern
auth --useshadow --passalgo=sha512
selinux --permissive
firewall --disabled
bootloader --timeout=1 --append="acpi=force"
network --bootproto=dhcp --device=eth0 --onboot=on
# Uncomment the next line
# to make the root password be thincrust
# By default the root password is emptied
#rootpw --iscrypted $1$uw6MV$m6VtUWPed4SqgoW6fKfTZ/
#
# Partition Information. Change this as necessary
# This information is used by appliance-tools but
# not by the livecd tools.
#
part / --size 1024 --fstype ext4 --ondisk sda
#
# Repositories
#
%include fedora-repo.ks
#
# Add all the packages after the base packages
#
%packages --excludedocs --nobase
bash
kernel
grub
e2fsprogs
passwd
policycoreutils
chkconfig
rootfiles
yum
vim-minimal
acpid
#needed to disable selinux
lokkit
#Allow for dhcp access
dhclient
iputils
#
# Packages to Remove
#
# no need for kudzu if the hardware doesn't change
-kudzu
-prelink
-setserial
-ed
# Remove the authconfig pieces
-authconfig
-rhpl
-wireless-tools
# Remove the kbd bits
-kbd
-usermode
# these are all kind of overkill but get pulled in by mkinitrd ordering
-mkinitrd
-kpartx
-dmraid
-mdadm
-lvm2
-tar
# selinux toolchain of policycoreutils, libsemanage, ustr
-policycoreutils
-checkpolicy
-selinux-policy*
-libselinux-python
-libselinux
# Things it would be nice to loose
-fedora-logos
generic-logos
-fedora-release-notes
%end
#
# Add custom post scripts after the base post.
#
%post
# Enable network service here, as doing it in the services line
# fails due to RHBZ #1369794
/sbin/chkconfig network on
%end

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

@ -0,0 +1,97 @@
lang en_US.UTF-8
#keyboard us
auth --useshadow --passalgo=sha512
selinux --enforcing
firewall --enabled --service=mdns,ssh
# configure extlinux bootloader
bootloader extlinux
part /boot/fw --size=30 --fstype vfat --asprimary
part /boot --size=512 --fstype ext4 --asprimary
part swap --size=512 --fstype swap --asprimary
part / --size=2800 --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,rsyslog,chronyd,initial-setup
%include fedora-repo.ks
%packages
@core
@standard
@hardware-support
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*
-trousers-lib
-usb_modeswitch
-iproute-tc
#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
# workaround for consequence of RHBZ #1324623: without this, with
# yum-based creation tools, compose fails due to conflict between
# libcrypt and libcrypt-nss. dnf does not seem to have the same
# issue, so this may be dropped when appliance-creator is ported
# to dnf.
libcrypt-nss
-libcrypt
%end
%post
# Setup Raspberry Pi firmware
cp -Pr /usr/share/bcm283x-firmware/* /boot/fw/
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
sed -i '/vfat/ d' /etc/fstab
# 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=5690 --fstype ext4
%post
%end

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

@ -0,0 +1,7 @@
%include fedora-arm-base.ks
%include fedora-arm-xbase.ks
%include fedora-lxde-common.ks
%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=3800 --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=5500 --fstype ext4
%post
%end

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

@ -0,0 +1,10 @@
%include fedora-arm-base.ks
%include fedora-minimal-common.ks
part /boot --size=512 --fstype ext4
part swap --size=256 --fstype swap
part / --size=1250 --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

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

@ -0,0 +1,26 @@
%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*
%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=5500 --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

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

@ -0,0 +1,16 @@
%packages
@base-x
@fonts
@input-methods
@multimedia
@printing
%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=4000 --fstype ext4
%post
%end

37
fedora-atomic-vagrant.ks Normal file
View File

@ -0,0 +1,37 @@
# Like the Atomic Host cloud image, but tuned for vagrant: enable the
# vagrant user, disable cloud-init.
%include fedora-atomic.ks
user --name=vagrant --password=vagrant
rootpw vagrant
# The addition of the net.ifnames=0 and biosdevnames=0 option ensures that
# 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 --append="no_timer_check console=tty1 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0"
%post --erroronfail
# Work around cloud-init being both disabled and enabled; need
# to refactor to a common base.
systemctl mask cloud-init cloud-init-local cloud-config cloud-final
# The inherited cloud %post locks the passwd, but we want it
# unlocked for vagrant, just like downstream.
passwd -u root
# Vagrant setup
sed -i 's,Defaults\\s*requiretty,Defaults !requiretty,' /etc/sudoers
echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant-nopasswd
sed -i 's/.*UseDNS.*/UseDNS no/' /etc/ssh/sshd_config
mkdir -m 0700 -p ~vagrant/.ssh
cat > ~vagrant/.ssh/authorized_keys << EOKEYS
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
EOKEYS
chmod 600 ~vagrant/.ssh/authorized_keys
chown -R vagrant:vagrant ~vagrant/.ssh/
%end

152
fedora-atomic.ks Normal file
View File

@ -0,0 +1,152 @@
# Fedora Atomic is a cloud-focused spin implementing the Project
# Atomic patterns. Note that this replicates the same tree which can
# now be installed on bare metal.
# This image allocates most space to an LVM-managed thin pool
# dedicated for Docker containers, and uses docker-storage-setup to
# dynamically resize storage on boot.
text # don't use cmdline -- https://github.com/rhinstaller/anaconda/issues/931
lang en_US.UTF-8
keyboard us
timezone --utc Etc/UTC
auth --useshadow --passalgo=sha512
selinux --enforcing
rootpw --lock --iscrypted locked
firewall --disabled
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8 net.ifnames=0"
network --bootproto=dhcp --device=link --activate --onboot=on
services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
zerombr
clearpart --all
# Atomic differs from cloud - we want LVM
part /boot --size=300 --fstype="ext4"
part pv.01 --grow
volgroup atomicos pv.01
logvol / --size=3000 --fstype="xfs" --name=root --vgname=atomicos
# Equivalent of %include fedora-repo.ks; note this uses the Bodhi ref, which we reset below
ostreesetup --nogpg --osname=fedora-atomic --remote=fedora-atomic --url=https://kojipkgs.fedoraproject.org/atomic/26/ --ref=fedora/26/x86_64/updates/atomic-host
reboot
%post --erroronfail
# 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-atomic https://kojipkgs.fedoraproject.org/atomic/26/ fedora/26/x86_64/atomic-host
# Make sure the ref we're supposedly sitting on (according
# to the updated origin) exists.
ostree refs fedora-atomic:fedora/26/x86_64/updates/atomic-host --create fedora-atomic:fedora/26/x86_64/atomic-host
# Remove the old ref so that the commit eventually gets
# cleaned up.
ostree refs fedora-atomic:fedora/26/x86_64/updates/atomic-host --delete
# delete/add the remote with new options to enable gpg verification
ostree remote delete fedora-atomic
ostree remote add --set=gpg-verify=true --set=gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-26-primary fedora-atomic 'https://kojipkgs.fedoraproject.org/atomic/26/'
# older versions of livecd-tools do not follow "rootpw --lock" line above
# https://bugzilla.redhat.com/show_bug.cgi?id=964299
passwd -l root
# Work around https://bugzilla.redhat.com/show_bug.cgi?id=1193590
cp /etc/skel/.bash* /var/roothome
# Configure docker-storage-setup to resize the partition table on boot
# https://github.com/projectatomic/docker-storage-setup/pull/25
echo 'GROWPART=true' >> /etc/sysconfig/docker-storage-setup
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 "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*
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.)"
# 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
# Disable network service here, as doing it in the services line
# fails due to RHBZ #1369794
/sbin/chkconfig network off
# 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

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,20 @@
%packages %packages
fedora-release-cinnamon @networkmanager-submodules
@cinnamon-desktop
# install env-group to resolve RhBug:1891500
@^cinnamon-desktop-environment
@libreoffice @libreoffice
rhythmbox
# internet and multimedia
pidgin
hexchat
transmission
# mp3 support
gstreamer1-plugins-ugly-free
# extra backgrounds # extra backgrounds
f36-backgrounds-extras-gnome desktop-backgrounds-basic
f26-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,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,35 +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
-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 # 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 # This simplifies things and allows a single disk image for both supported Vagrant
# platforms (virtualbox and kvm) # 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 %packages
# The default koji Vagrantfile configuration uses rsync to sync files between # The default koji Vagrantfile configuration uses rsync to sync files between
@ -32,8 +32,6 @@ dnf-yum
# users setup. This can actually take a bit of time. Just fold it # users setup. This can actually take a bit of time. Just fold it
# in to the base box disk image # in to the base box disk image
rsync rsync
# Add in sshfs for vagrant-sshfs plugin
fuse-sshfs
%end %end
%post --erroronfail %post --erroronfail
@ -53,12 +51,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,18 +4,21 @@
# 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
# http://worknotes.readthedocs.org/en/latest/cloudimages.html for some notes. # http://worknotes.readthedocs.org/en/latest/cloudimages.html for some notes.
# #
# For a TDL file, I store one here: # For a TDL file, I store one here:
# https://pagure.io/fedora-atomic/raw/master/f/fedora-atomic-rawhide.tdl # https://git.fedorahosted.org/cgit/fedora-atomic.git/tree/fedora-atomic-rawhide.tdl
# (Koji generates one internally...what we really want is Koji to publish it statically) # (Koji generates one internally...what we really want is Koji to publish it statically)
# #
# Once you have imagefactory and imagefactory-plugins installed, run: # Once you have imagefactory and imagefactory-plugins installed, run:
# #
# curl -O https://pagure.io/fedora-atomic/raw/master/f/fedora-atomic-rawhide.tdl # curl -O https://git.fedorahosted.org/cgit/fedora-atomic.git/plain/fedora-atomic-rawhide.tdl
# tempfile=$(mktemp --suffix=.ks) # tempfile=$(mktemp --suffix=.ks)
# ksflatten -v F22 -c fedora-cloud-base.ks > ${tempfile} # ksflatten -v F22 -c fedora-cloud-base.ks > ${tempfile}
# imagefactory --debug base_image --file-parameter install_script ${tempfile} fedora-atomic-rawhide.tdl # imagefactory --debug base_image --file-parameter install_script ${tempfile} fedora-atomic-rawhide.tdl
@ -26,126 +29,238 @@ lang en_US.UTF-8
keyboard us keyboard us
timezone --utc Etc/UTC timezone --utc Etc/UTC
auth --useshadow --passalgo=sha512
selinux --enforcing selinux --enforcing
rootpw --lock --iscrypted locked rootpw --lock --iscrypted locked
firewall --disabled firewall --disabled
# 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 console=tty1 console=ttyS0,115200n8"
bootloader --timeout=1 --location=mbr --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
# Configure for gpt with bios+uefi zerombr
clearpart --all --initlabel --disklabel=gpt clearpart --all
part prepboot --size=4 --fstype=prepboot autopart --noboot --nohome --noswap --nolvm
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
%include fedora-repo.ks %include fedora-repo.ks
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
-NetworkManager
-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
# 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
##### end package list ###############################################
##### begin kickstart post ###########################################
%post --erroronfail %post --erroronfail
if [ "$(arch)" = "x86_64" ]; then # Create grub.conf for EC2. This used to be done by appliance creator but
# Set up legacy BIOS boot if we booted from UEFI # anaconda doesn't do it. And, in case appliance-creator is used, we're
grub2-install --target=i386-pc /dev/vda # overriding it here so that both cases get the exact same file.
fi # 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: #link grub.conf to menu.lst for ec2 to work
# Total download size: 97 M echo -n "Linking menu.lst to old-style grub.conf for pv-grub"
# Installed size: 268 M ln -sf grub.conf /boot/grub/menu.lst
# So far we've been fine shipping without it so let's continue. ln -sf /boot/grub/grub.conf /etc/grub.conf
# More discussion about this in #1234504.
# 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.
# yum -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
# 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." 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 -q --qf '%{version}\n' fedora-release)
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."
# 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 # 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 || :
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 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. # For trac ticket https://fedorahosted.org/cloud/ticket/128
# Let's clean it up. rm -f /etc/sysconfig/network-scripts/ifcfg-ens3
echo "Cleanup leftover networking configuration"
rm -f /etc/NetworkManager/system-connections/*.nmconnection
# Truncate the /etc/resolv.conf left over from NetworkManager during the # Enable network service here, as doing it in the services line
# kickstart. This causes delays in boot with cloud-init because the # fails due to RHBZ #1369794
# 192.168.122.1 DNS server cannot be reached. /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 truncate -s 0 /etc/resolv.conf
# Clear machine-id on pre generated images
truncate -s 0 /etc/machine-id
%end %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."
yum -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."
yum -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 yum repodata."
yum history new
yum clean all
truncate -c -s 0 /var/log/yum.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/yum
/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."
yum -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."
yum -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 yum repodata."
yum history new
yum clean all
truncate -c -s 0 /var/log/yum.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/yum
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

@ -1,31 +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,6 +11,7 @@ text
lang en_US.UTF-8 lang en_US.UTF-8
keyboard us keyboard us
timezone US/Eastern timezone US/Eastern
auth --useshadow --passalgo=sha512
selinux --enforcing selinux --enforcing
firewall --enabled --service=mdns firewall --enabled --service=mdns
services --enabled=sshd,NetworkManager,chronyd services --enabled=sshd,NetworkManager,chronyd
@ -18,7 +19,7 @@ network --bootproto=dhcp --device=link --activate
rootpw --lock --iscrypted locked rootpw --lock --iscrypted locked
shutdown shutdown
bootloader --timeout=1 bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8"
zerombr zerombr
clearpart --all --initlabel --disklabel=msdos clearpart --all --initlabel --disklabel=msdos
@ -39,55 +40,55 @@ 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
chrony chrony
bcm283x-firmware bcm283x-firmware
initial-setup initial-setup
# Intel wireless firmware assumed never of use for disk images
-iwl* -iwl*
-ipw* -ipw*
-trousers-lib
-usb_modeswitch -usb_modeswitch
-iproute-tc
-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
# workaround for consequence of RHBZ #1324623: without this, with
# yum-based creation tools, compose fails due to conflict between
# libcrypt and libcrypt-nss. dnf does not seem to have the same
# issue, so this may be dropped when appliance-creator is ported
# to dnf.
libcrypt-nss
-libcrypt
%end %end
%post %post
# Find the architecture we are on
arch=$(uname -m)
# Setup Raspberry Pi firmware # Setup Raspberry Pi firmware
if [[ $arch == "aarch64" ]]; then cp -Pr /usr/share/bcm283x-firmware/* /boot/efi/
cp -P /usr/share/uboot/rpi_arm64/u-boot.bin /boot/efi/rpi-u-boot.bin mv -f /boot/efi/config-64.txt /boot/efi/config.txt
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 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
rm -f /var/lib/rpm/__db*
# remove random seed, the newly installed instance should make it's own # remove random seed, the newly installed instance should make it's own
rm -f /var/lib/systemd/random-seed 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
dnf -y remove dracut-config-generic 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 # Remove machine-id on pre generated images
rm -f /etc/machine-id rm -f /etc/machine-id
touch /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 %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

@ -3,4 +3,8 @@
services --enabled=sshd,NetworkManager,chronyd,initial-setup services --enabled=sshd,NetworkManager,chronyd,initial-setup
autopart --type=plain --noswap autopart --type=plain
%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

@ -2,22 +2,15 @@
services --enabled=sshd,NetworkManager,chronyd,initial-setup services --enabled=sshd,NetworkManager,chronyd,initial-setup
autopart --noswap autopart
%packages %packages
fedora-release-server # install the default groups for the server evironment 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
@core
@headless-management @headless-management
@hardware-support
@networkmanager-submodules
@container-management @container-management
@domain-client @domain-client
@guest-agents
@server-hardware-support
-initial-setup-gui -initial-setup-gui
-generic-release* -generic-release*
%end %end

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,10 +2,18 @@
%include fedora-disk-xbase.ks %include fedora-disk-xbase.ks
%include fedora-workstation-common.ks %include fedora-workstation-common.ks
autopart --type=btrfs --noswap bootloader --append="cma=256MB"
services --enabled=sshd,NetworkManager,chronyd
autopart --type=plain
%packages %packages
-initial-setup -initial-setup
-initial-setup-gui -initial-setup-gui
%end %end
%post
%end

View File

@ -5,7 +5,6 @@
@multimedia @multimedia
@printing @printing
-@guest-desktop-agents -@guest-desktop-agents
initial-setup-gui
# Need aajohan-comfortaa-fonts for the SVG rnotes images # Need aajohan-comfortaa-fonts for the SVG rnotes images
aajohan-comfortaa-fonts 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,8 +1,8 @@
# See fedora-container-common.ks for details on how to hack on container image kickstarts # See docker-base-common.ks for details on how to hack on docker image kickstarts
# This base is a stripped back Fedora image without python3/dnf. # This base is a stripped back Fedora image without python3/dnf.
# If you need that use the standard base image. # If you need that use the standard base image.
%include fedora-container-common.ks %include fedora-docker-common.ks
%packages --excludedocs --instLangs=en --nocore --excludeWeakdeps %packages --excludedocs --instLangs=en --nocore --excludeWeakdeps
microdnf microdnf

View File

@ -1,22 +1,20 @@
# See fedora-container-common.ks for details on how to hack on container image kickstarts # See docker-base-common.ks for details on how to hack on docker image kickstarts
# This base is a standard Fedora image with python3 and dnf # This base is a standard Fedora image with python3 and dnf
%include fedora-container-common.ks %include fedora-docker-common.ks
%packages --excludedocs --instLangs=en --nocore --excludeWeakdeps %packages --excludedocs --instLangs=en --nocore
rootfiles rootfiles
# https://communityblog.fedoraproject.org/modularity-dead-long-live-modularity/
fedora-repos-modular
tar # https://bugzilla.redhat.com/show_bug.cgi?id=1409920 tar # https://bugzilla.redhat.com/show_bug.cgi?id=1409920
vim-minimal vim-minimal
dnf dnf
dnf-yum # https://fedorahosted.org/fesco/ticket/1312#comment:29 dnf-yum # https://fedorahosted.org/fesco/ticket/1312#comment:29
sudo sssd-client
-glibc-langpack-en
-langpacks-en
%end %end
%post --erroronfail --log=/root/anaconda-post.log %post --erroronfail --log=/root/anaconda-post.log
# remove some extraneous files # remove some extraneous files
rm -rf /var/cache/dnf/* rm -rf /var/cache/dnf/*
rm -rf /tmp/* rm -rf /tmp/*
@ -24,6 +22,8 @@ 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
#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
@ -37,21 +37,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
rm -f /run/nologin # https://pagure.io/atomic-wg/issue/316 systemd-tmpfiles --prefix=/run/ --prefix=/var/run/ --create --boot || true
rm /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 %end

68
fedora-docker-common.ks Normal file
View File

@ -0,0 +1,68 @@
# This is the common bits between Fedora Docker base image.
#
# To keep this image minimal it only installs English language. You need to change
# dnf configuration in order to enable other languages.
#
# ## Hacking on this image ###
# This kickstart is processed using Anaconda-in-ImageFactory (via Koji typically),
# but you can run imagefactory locally too.
#
# To do so, testing local changes, first you'll need a TDL file. I store one here:
# https://git.fedorahosted.org/cgit/fedora-atomic.git/tree/fedora-atomic-rawhide.tdl
#
# Then, once you have imagefactory and imagefactory-plugins installed, run:
#
# ksflatten -c fedora-docker-base[-minimal].ks -o fedora-docker-base-test.ks
# imagefactory --debug target_image --template /path/to/fedora-atomic-rawhide.tdl --parameter offline_icicle true --file-parameter install_script $(pwd)/fedora-docker-base-test.ks docker
#
text # don't use cmdline -- https://github.com/rhinstaller/anaconda/issues/931
bootloader --disabled
timezone --isUtc --nontp Etc/UTC
rootpw --lock --iscrypted locked
keyboard us
network --bootproto=dhcp --device=link --activate --onboot=on
reboot
# boot partitions are irrelevant as the final docker image is a tarball
zerombr
clearpart --all
autopart --noboot --nohome --noswap --nolvm
%packages --excludedocs --instLangs=en --nocore
fedora-release
bash
-kernel
-dosfstools
-e2fsprogs
-fuse-libs
-gnupg2-smime
-libss # used by e2fsprogs
-libusbx
-pinentry
-shared-mime-info
-trousers
-xkeyboard-config
%end
%post --erroronfail --log=/root/anaconda-post.log
set -eux
# Set install langs macro so that new rpms that get installed will
# only install langs that we limit it to.
LANG="en_US"
echo "%_install_langs $LANG" > /etc/rpm/macros.image-language-conf
# https://bugzilla.redhat.com/show_bug.cgi?id=1400682
echo "Import RPM GPG key"
releasever=$(rpm -q --qf '%{version}\n' fedora-release)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary
echo "# fstab intentionally empty for containers" > /etc/fstab
# Remove machine-id on pre generated images
rm -f /etc/machine-id
touch /etc/machine-id
%end

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
# Exclude all langpacks for now
-langpacks-*
# 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

@ -1,88 +0,0 @@
# This is the kickstart for Fedora IoT disk images.
text # don't use cmdline -- https://github.com/rhinstaller/anaconda/issues/931
lang en_US.UTF-8
keyboard us
timezone --utc Etc/UTC
selinux --enforcing
rootpw --lock --iscrypted locked
bootloader --timeout=1 --append="modprobe.blacklist=vc4"
network --bootproto=dhcp --device=link --activate --onboot=on
services --enabled=NetworkManager,sshd
zerombr
clearpart --all --initlabel --disklabel=msdos
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
reboot
%post --erroronfail
# 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
# 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"
# 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"
# Remove the old ref so that the commit eventually gets cleaned up.
ostree refs "fedora-iot:fedora/rawhide/${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
rpm-ostree kargs --delete=console=tty0
# older versions of livecd-tools do not follow "rootpw --lock" line above
# https://bugzilla.redhat.com/show_bug.cgi?id=964299
passwd -l root
# Work around https://bugzilla.redhat.com/show_bug.cgi?id=1193590
cp /etc/skel/.bash* /var/roothome
# Remove any persistent NIC rules generated by udev
rm -vf /etc/udev/rules.d/*persistent-net*.rules
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
echo "-----------------------------------------------------------------------"
# Note that running rpm recreates the rpm db files which aren't needed/wanted
rm -f /var/lib/rpm/__db*
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.)"
rm -f /etc/NetworkManager/system-connections/*.nmconnection
# 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

View File

@ -1,41 +1,78 @@
%packages %packages
# install env-group to resolve RhBug:1891500
@^kde-desktop-environment
@firefox @firefox
@kde-apps @kde-apps
@kde-desktop
@kde-media @kde-media
@libreoffice @kde-office
# add libreoffice-draw and libreoffice-math (pagureio:fedora-kde/SIG#103) @kde-telepathy
libreoffice-draw @networkmanager-submodules
libreoffice-math
fedora-release-kde
-@admin-tools
# drop tracker stuff pulled in by gtk3 (pagureio:fedora-kde/SIG#124)
-tracker-miners
-tracker
### The KDE-Desktop ### The KDE-Desktop
### Browser
qupzilla
### fixes ### 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-libs
mariadb-server
# minimal localization support - allows installing the kde-l10n-* packages # minimal localization support - allows installing the kde-l10n-* packages
system-config-language
kde-l10n 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 # Additional packages that are not default in kde-* groups, but useful
k3b # ~15 megs
#kdeartwork # only include some parts of kdeartwork
fuse fuse
mediawriter mediawriter
# only include kdegames-minimal
-kdegames
kdegames-minimal
### space issues ### space issues
-ktorrent # kget has also basic torrent features (~3 megs)
-digikam # digikam has duplicate functionality with gwenview (~28 megs) # fonts (we make no bones about admitting we're english-only)
-kipi-plugins # ~8 megs + drags in Marble wqy-microhei-fonts # a compact CJK font, to replace:
-krusader # ~4 megs -naver-nanum-gothic-fonts # Korean
-k3b # ~15 megs -vlgothic-fonts # Japanese
-adobe-source-han-sans-cn-fonts # simplified Chinese
-adobe-source-han-sans-tw-fonts # traditional Chinese
-paratype-pt-sans-fonts # Cyrillic (already supported by DejaVu), huge
#-stix-fonts # mathematical symbols
# remove input methods to free space
-@input-methods
-scim*
-m17n*
-ibus*
-iok
# 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 ## avoid serious bugs by omitting broken stuff

View File

@ -14,43 +14,42 @@
# Maintainer: Christian Dersch <lupinix@fedoraproject.org> # Maintainer: Christian Dersch <lupinix@fedoraproject.org>
# https://fedoraproject.org/wiki/User:Lupinix # https://fedoraproject.org/wiki/User:Lupinix
%include fedora-live-kde-base.ks %include fedora-live-kde.ks
%include fedora-live-minimization.ks
# The recommended part size for DVDs is too close to use for the astronomy spin # The recommended part size for DVDs is too close to use for the astronomy spin
part / --size 16000 part / --size 14500
%packages %packages
# Installing the default/mandatory packages from engineering & scientific # Installing the default/mandatory packages from engineering & scientific
@engineering-and-scientific @engineering-and-scientific
# Basic development
@development-tools
@c-development
# astronomical data analysis # astronomical data analysis
astrometry
astrometry-tycho2
cdsclient cdsclient
fpack fpack
gcx
psfex psfex
saoimage
scamp scamp
sextractor sextractor
#siril siril
skyviewer skyviewer
swarp swarp
wcstools wcstools
# Observatory: KStars + INDI drivers # Observatory: KStars + INDI drivers + Skychart
indi-3rdparty-drivers indi-aagcloudwatcher
indi-apogee
indi-eqmod
indi-gphoto
indi-sx
indistarter indistarter
kstars kstars
stellarium
# misc. astronomy # misc. astronomy
#celestia celestia
stellarium virtualplanet
#virtualplanet
# Some astro environment stuff # Some astro environment stuff
astronomy-menus astronomy-menus
@ -78,6 +77,7 @@ astropy-tools
ginga ginga
python3-astropy python3-astropy
python3-astroML python3-astroML
python3-astroML-addons
python3-astroquery python3-astroquery
python3-astroscrappy python3-astroscrappy
python3-APLpy python3-APLpy
@ -89,8 +89,10 @@ python3-photutils
python3-pyvo python3-pyvo
python3-reproject python3-reproject
python3-sep python3-sep
python3-wcsaxes
# matplotlib backends # matplotlib backends
python3-matplotlib-qt4
python3-matplotlib-qt5 python3-matplotlib-qt5
python3-matplotlib-tk python3-matplotlib-tk
@ -98,11 +100,10 @@ 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
rapidsvn
git git
git-gui git-gui
@ -112,18 +113,17 @@ gimp
kst kst
kst-docs kst-docs
kst-fits kst-fits
# LabPlot currently not installable due to #2044284 LabPlot
#LabPlot
#Misc. Utils #Misc. Utils
# icedtea-web to have webstart useful for VO tools
icedtea-web
ImageMagick ImageMagick
kate kate
kate-plugins kate-plugins
rlwrap rlwrap
screen screen
plasma-applet-redshift-control
# Java JRE for VO tools
java
# Omit KDE 4 translations for now: https://bugzilla.redhat.com/show_bug.cgi?id=1197940 # Omit KDE 4 translations for now: https://bugzilla.redhat.com/show_bug.cgi?id=1197940
-kde-l10n-* -kde-l10n-*

View File

@ -10,6 +10,7 @@
lang en_US.UTF-8 lang en_US.UTF-8
keyboard us keyboard us
timezone US/Eastern timezone US/Eastern
auth --useshadow --passalgo=sha512
selinux --enforcing selinux --enforcing
firewall --enabled --service=mdns firewall --enabled --service=mdns
xconfig --startxonboot xconfig --startxonboot
@ -24,39 +25,265 @@ shutdown
%include fedora-repo.ks %include fedora-repo.ks
%packages %packages
@base-x
@guest-desktop-agents
@standard
@core
@fonts
@input-methods
@dial-up
@multimedia
@hardware-support
@printing
# Explicitly specified here: # Explicitly specified here:
# <notting> walters: because otherwise dependency loops cause yum issues. # <notting> walters: because otherwise dependency loops cause yum issues.
kernel kernel
kernel-modules kernel-modules
kernel-modules-extra 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 # The point of a live image is to install
anaconda anaconda
anaconda-install-env-deps
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
# Without this, initramfs generation during live image creation fails: #1242586 # Without this, initramfs generation during live image creation fails: #1242586
dracut-live dracut-live
grub2-efi
syslinux
# anaconda needs the locales available to run for different locales # anaconda needs the locales available to run for different locales
glibc-all-langpacks glibc-all-langpacks
# provide the livesys scripts
livesys-scripts
%end %end
%post %post
# Enable livesys services # FIXME: it'd be better to get this installed from a package
systemctl enable livesys.service cat > /etc/rc.d/init.d/livesys << EOF
systemctl enable livesys-late.service #!/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=}
return
fi
if [ "\${arg##live_dir=}" != "\${arg}" ]; then
livedir=\${arg##live_dir=}
return
fi
done
# enable swaps unless requested otherwise
swaps=\`blkid -t TYPE=swap -o device\`
if ! strstr "\`cat /proc/cmdline\`" noswap && [ -n "\$swaps" ] ; then
for s in \$swaps ; do
action "Enabling swap partition \$s" swapon \$s
done
fi
if ! strstr "\`cat /proc/cmdline\`" noswap && [ -f /run/initramfs/live/\${livedir}/swap.img ] ; then
action "Enabling swap file" swapon /run/initramfs/live/\${livedir}/swap.img
fi
mountPersistentHome() {
# support label/uuid
if [ "\${homedev##LABEL=}" != "\${homedev}" -o "\${homedev##UUID=}" != "\${homedev}" ]; then
homedev=\`/sbin/blkid -o device -t "\$homedev"\`
fi
# if we're given a file rather than a blockdev, loopback it
if [ "\${homedev##mtd}" != "\${homedev}" ]; then
# mtd devs don't have a block device but get magic-mounted with -t jffs2
mountopts="-t jffs2"
elif [ ! -b "\$homedev" ]; then
loopdev=\`losetup -f\`
if [ "\${homedev##/run/initramfs/live}" != "\${homedev}" ]; then
action "Remounting live store r/w" mount -o remount,rw /run/initramfs/live
fi
losetup \$loopdev \$homedev
homedev=\$loopdev
fi
# if it's encrypted, we need to unlock it
if [ "\$(/sbin/blkid -s TYPE -o value \$homedev 2>/dev/null)" = "crypto_LUKS" ]; then
echo
echo "Setting up encrypted /home device"
plymouth ask-for-password --command="cryptsetup luksOpen \$homedev EncHome"
homedev=/dev/mapper/EncHome
fi
# and finally do the mount
mount \$mountopts \$homedev /home
# if we have /home under what's passed for persistent home, then
# we should make that the real /home. useful for mtd device on olpc
if [ -d /home/home ]; then mount --bind /home/home /home ; fi
[ -x /sbin/restorecon ] && /sbin/restorecon /home
if [ -d /home/liveuser ]; then USERADDARGS="-M" ; fi
}
findPersistentHome() {
for arg in \`cat /proc/cmdline\` ; do
if [ "\${arg##persistenthome=}" != "\${arg}" ]; then
homedev=\${arg##persistenthome=}
return
fi
done
}
if strstr "\`cat /proc/cmdline\`" persistenthome= ; then
findPersistentHome
elif [ -e /run/initramfs/live/\${livedir}/home.img ]; then
homedev=/run/initramfs/live/\${livedir}/home.img
fi
# if we have a persistent /home, then we want to go ahead and mount it
if ! strstr "\`cat /proc/cmdline\`" nopersistenthome && [ -n "\$homedev" ] ; then
action "Mounting persistent /home" mountPersistentHome
fi
if [ -n "\$configdone" ]; then
exit 0
fi
# add fedora user with no passwd
action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser
passwd -d liveuser > /dev/null
usermod -aG wheel liveuser > /dev/null
# Remove root password lock
passwd -d root > /dev/null
# turn off firstboot for livecd boots
systemctl --no-reload disable firstboot-text.service 2> /dev/null || :
systemctl --no-reload disable firstboot-graphical.service 2> /dev/null || :
systemctl stop firstboot-text.service 2> /dev/null || :
systemctl stop firstboot-graphical.service 2> /dev/null || :
# don't use prelink on a running live image
sed -i 's/PRELINKING=yes/PRELINKING=no/' /etc/sysconfig/prelink &>/dev/null || :
# turn off mdmonitor by default
systemctl --no-reload disable mdmonitor.service 2> /dev/null || :
systemctl --no-reload disable mdmonitor-takeover.service 2> /dev/null || :
systemctl stop mdmonitor.service 2> /dev/null || :
systemctl stop mdmonitor-takeover.service 2> /dev/null || :
# don't enable the gnome-settings-daemon packagekit plugin
gsettings set org.gnome.software download-updates 'false' || :
# don't start cron/at as they tend to spawn things which are
# disk intensive that are painful on a live image
systemctl --no-reload disable crond.service 2> /dev/null || :
systemctl --no-reload disable atd.service 2> /dev/null || :
systemctl stop crond.service 2> /dev/null || :
systemctl stop atd.service 2> /dev/null || :
# 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 # enable tmpfs for /tmp
systemctl enable tmp.mount systemctl enable tmp.mount
@ -70,8 +297,11 @@ EOF
# work around for poor key import UI in PackageKit # work around for poor key import UI in PackageKit
rm -f /var/lib/rpm/__db* 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" 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*
@ -96,7 +326,7 @@ rm -f /boot/*-rescue*
# Disable network service here, as doing it in the services line # Disable network service here, as doing it in the services line
# fails due to RHBZ #1369794 # fails due to RHBZ #1369794
systemctl disable network /sbin/chkconfig network off
# Remove machine-id on pre generated images # Remove machine-id on pre generated images
rm -f /etc/machine-id rm -f /etc/machine-id
@ -104,3 +334,14 @@ touch /etc/machine-id
%end %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
if [ ! -d $LIVE_ROOT/LiveOS ]; then mkdir -p $LIVE_ROOT/LiveOS ; fi
cp /usr/bin/livecd-iso-to-disk $LIVE_ROOT/LiveOS
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

@ -7,9 +7,10 @@
# - Dan Book <grinnz@grinnz.com> # - Dan Book <grinnz@grinnz.com>
%include fedora-live-base.ks %include fedora-live-base.ks
%include fedora-live-minimization.ks
%include fedora-cinnamon-common.ks %include fedora-cinnamon-common.ks
part / --size=8192 part / --size=6144
%post %post
# cinnamon configuration # cinnamon configuration
@ -21,8 +22,32 @@ PREFERRED=/usr/bin/cinnamon-session
DISPLAYMANAGER=/usr/sbin/lightdm DISPLAYMANAGER=/usr/sbin/lightdm
EOF EOF
# set livesys session type cat >> /etc/rc.d/init.d/livesys << EOF
sed -i 's/^livesys_session=.*/livesys_session="cinnamon"/' /etc/sysconfig/livesys
# 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 %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,72 @@
# fedora-design-suite.ks # fedora-design-suite.ks
# Based on Live Workstation # Based on Live Workstation
# A collection of applications for professional visual designers # Description:
# http://fedoraproject.org/wiki/Design_Suite # - A collection of applications targeted towards professional visual designers
# Maintained by Luya Tshimbalanga <luya AT fedoraproject DOT org> # Website: http://fedoraproject.org/wiki/Design_Suite
# Credit to Sebastian Dziallas for initiating the project # Maintainer:
# - Luya Tshimbalanga <luya AT fedoraproject DOT org>
# - Credit to Sebastian Dziallas for initiating the project
%include fedora-live-workstation.ks %include fedora-live-workstation.ks
%include fedora-design-suite-common.ks
# Size partition # Size partition
part / --size 14336 part / --size 14336
%packages
# Switch to groups for design suite
@design-suite
# Added addons to address rhbz#1336879 from dnf
gimp-data-extras
gimp-dbp
gimp-dds-plugin
gimp-elsamuko
gimp-fourier-plugin
gimp-gap
gimp-help
gimp-high-pass-filter
gimp-layer-via-copy-cut
gimp-lensfun
gimp-lqr-plugin
gimp-normalmap
gimp-paint-studio
gimp-resynthesizer
gimp-save-for-web
gimp-separate+
gimp-wavelet-denoise-plugin
gimpfx-foundry
gmic-gimp
inkscape-psd
inkscape-sozi
inkscape-table
sane-backends-drivers-scanners
xsane-gimp
#YafaRay-blender
# Add extra gnome applications
gnome-books
gnome-calendar
gnome-photos
# Extra wallpapers
f26-backgrounds-extras-base
f26-backgrounds-extras-gnome
# removal of unneeded applications
-gnome-boxes
-eog
-rdesktop
%end
%post %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', 'inkscape.desktop', 'blender.desktop', 'libreoffice-writer.desktop', 'scribus.desktop', 'nautilus.desktop', 'bijiben.desktop', 'anaconda.desktop', 'list-design-tutorials.desktop']
FOE
# Add link to lists of tutorials # Add link to lists of tutorials
cat >> /usr/share/applications/list-design-tutorials.desktop << FOE cat >> /usr/share/applications/list-design-tutorials.desktop << FOE
[Desktop Entry] [Desktop Entry]
@ -51,22 +106,6 @@ Categories=Documentation;
FOE FOE
chmod a+x /usr/share/applications/fedora-design-team.desktop 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
cat >> /var/lib/livesys/livesys-session-extra << 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']/" /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override
FOE
# rebuild schema cache with any overrides we installed # rebuild schema cache with any overrides we installed
glib-compile-schemas /usr/share/glib-2.0/schemas glib-compile-schemas /usr/share/glib-2.0/schemas

View File

@ -1,19 +1,8 @@
# 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> # - Bruno Wolff III <bruno@wolff.to>
# https://fedoraproject.org/wiki/User:Bruno # - Formerly maintained by Rahul Sundaram
#
# - Rahul Sundaram <sundaram@fedoraproject.org>
# https://fedoraproject.org/wiki/User:Sundaram
#
%include fedora-live-xfce.ks %include fedora-live-xfce.ks
@ -48,6 +37,7 @@ asc-music
astromenace astromenace
# beneath-a-steel-sky-cd scummvm games cut for size # beneath-a-steel-sky-cd scummvm games cut for size
boswars boswars
btanks
bzflag bzflag
crossfire-client crossfire-client
extremetuxracer extremetuxracer
@ -57,20 +47,21 @@ freecol
freedoom freedoom
freedroidrpg freedroidrpg
frozen-bubble frozen-bubble
# glob2 - currently broken gl-117
glob2
lincity-ng lincity-ng
#tmw - currently broken tmw
#maniadrive - currently broken #maniadrive - currently broken
#maniadrive-music - has been retired #maniadrive-music - has been retired
megaglest megaglest
nethack-vultures nethack-vultures
netpanzer netpanzer
neverball #neverball #cut for size
nogravity nogravity
#pinball # Would pull in fluid-soundfont-lite-patches #pinball # Would pull in fluid-soundfont-lite-patches
scorched3d scorched3d
# supertux # Crashing # supertux # Crashing
supertuxkart #supertuxkart #remove for size
ultimatestunts ultimatestunts
warzone2100 warzone2100
wesnoth wesnoth
@ -93,11 +84,12 @@ glaxium
gnubg gnubg
gnugo gnugo
haxima haxima
#hedgewars -- broken hedgewars
kcheckers kcheckers
knights knights
lbrickbuster2 lbrickbuster2
# liquidwar # Would pull in fluid-soundfont-lite-patches # liquidwar # Would pull in fluid-soundfont-lite-patches
londonlaw
lordsawar lordsawar
# lure scummvm games cut for size # lure scummvm games cut for size
# machineball # Would pull in fluid-soundfont-lite-patches # machineball # Would pull in fluid-soundfont-lite-patches
@ -107,8 +99,9 @@ pachi
pioneers pioneers
quarry quarry
# Ri-li cut for size # Ri-li cut for size
# rogue # recently abandoned. Someone picked it up. Waiting for approval. rogue
# scorchwentbonkers # Would pull in fluid-soundfont-lite-patches # scorchwentbonkers # Would pull in fluid-soundfont-lite-patches
seahorse-adventures
solarwolf solarwolf
sopwith sopwith
stormbaancoureur stormbaancoureur
@ -120,6 +113,7 @@ xblast
auriferous auriferous
alienblaster alienblaster
# duel3 # Would pull in fluid-soundfont-lite-patches # duel3 # Would pull in fluid-soundfont-lite-patches
lmarbles
powermanga powermanga
# raidem # Would pull in fluid-soundfont-lite-patches # raidem # Would pull in fluid-soundfont-lite-patches
# raidem-music # Would pull in fluid-soundfont-lite-patches # raidem-music # Would pull in fluid-soundfont-lite-patches
@ -136,6 +130,7 @@ KoboDeluxe
Maelstrom Maelstrom
methane methane
njam njam
seahorse-adventures
shippy shippy
tecnoballz tecnoballz
wordwarvi wordwarvi
@ -152,12 +147,14 @@ gweled
# puzzles (big) # puzzles (big)
enigma enigma
# fillets-ng # broken in f34 fillets-ng
pingus pingus
# puzzles (small) # puzzles (small)
escape
# gbrainy Removed for space - only game that pulls in mono # gbrainy Removed for space - only game that pulls in mono
magicor
mirrormagic mirrormagic
pipenightdreams pipenightdreams
pipepanic pipepanic
@ -167,11 +164,15 @@ vodovod
# card games # card games
#poker2d - dropped from F14 for being orphaned
PySolFC PySolFC
# educational/simulation # educational/simulation
#celestia - not currently building bygfoot
celestia
childsplay
gcompris
planets planets
tuxpaint tuxpaint
tuxpaint-stamps tuxpaint-stamps
@ -180,13 +181,16 @@ tuxtype2
# kde based games # kde based games
taxipilot taxipilot
# compilations (we are avoiding compilations, rare exceptions)
bsd-games
# utilities # utilities
games-menus games-menus
# Note some stuff I don't want pulled into the games spin.
# No compilations of games as I want to only include games that at least
# someone thought were good within a genre.
-kdegames
# Nothing should be downloading data to play. # Nothing should be downloading data to play.
-autodownloader -autodownloader

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: https://fedoraproject.org/wiki/Fedora_jam
# Web: insert spinspacke when created # 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 %include fedora-live-kde.ks
@ -18,10 +20,123 @@ part / --size 10240 --fstype ext4
bootloader --append="threadirqs" bootloader --append="threadirqs"
%packages %packages
@audio
#pipewire #alsa
pipewire 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
ardour4
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 #sound analasys, none of these are packaged yet
#praat bug_id=666656 #praat bug_id=666656
@ -32,15 +147,35 @@ emacs
emacs-color-theme emacs-color-theme
vim vim
nano nano
mscore
lilypond
frescobaldi
mup
#audio utilities #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) # fedora jam theming (to be customized)
kfaenza-icon-theme
fedora-jam-backgrounds fedora-jam-backgrounds
fedora-jam-kde-theme fedora-jam-kde-theme
#Misc. Utils #Misc. Utils
screen screen
shutter
-ksnapshot
multimedia-menus multimedia-menus
kernel-tools kernel-tools
@ -49,34 +184,33 @@ kernel-tools
firefox firefox
thunderbird thunderbird
#remove packages not needed #remove packages not need
-akregator #-kdesdk-umbrello
-kaddressbook #-kdesdk-kcachegrindy
-kmail
-kontact #-kdesdk-kompare
-korganizer #-kdepim
-non-mixer
-non-session-manager
-non-sequencer
%end %end
%post %post
# Override livesys-kde settings
cat >> /var/lib/livesys/livesys-session-extra << EOF
#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/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 JAMFAVORITESLIVE=/usr/share/applications/liveinst.desktop,$JAMFAVORITES
cat <<FOE >> /etc/skel/.config/kickoffrc cat <<EOF >> /etc/skel/.config/kickoffrc
[Favorites] [Favorites]
FavoriteURLs=$JAMFAVORITES 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 /usr/sbin/usermod -a -G jackuser,audio liveuser
EOF EOF

View File

@ -19,7 +19,68 @@ cat > /root/.config/gtk-3.0/settings.ini << EOF
gtk-theme-name = Adwaita gtk-theme-name = Adwaita
EOF EOF
# set livesys session type # add initscript
sed -i 's/^livesys_session=.*/livesys_session="kde"/' /etc/sysconfig/livesys 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 %end

View File

@ -11,7 +11,7 @@
%include fedora-live-minimization.ks %include fedora-live-minimization.ks
# DVD payload # DVD payload
part / --size=8000 part / --size=6144
%post %post
%end %end

View File

@ -19,8 +19,46 @@ PREFERRED=/usr/bin/startlxde
DISPLAYMANAGER=/usr/sbin/lxdm DISPLAYMANAGER=/usr/sbin/lxdm
EOF EOF
# set livesys session type cat >> /etc/rc.d/init.d/livesys << EOF
sed -i 's/^livesys_session=.*/livesys_session="lxde"/' /etc/sysconfig/livesys # 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 %end

View File

@ -11,13 +11,41 @@
%include fedora-live-minimization.ks %include fedora-live-minimization.ks
%include fedora-lxqt-common.ks %include fedora-lxqt-common.ks
%packages
dracut-config-generic
%end
%post %post
# set livesys session type # add initscript
sed -i 's/^livesys_session=.*/livesys_session="lxqt"/' /etc/sysconfig/livesys 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 %end

View File

@ -7,10 +7,45 @@
%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 6144
%post %post
# set livesys session type cat >> /etc/rc.d/init.d/livesys << EOF
sed -i 's/^livesys_session=.*/livesys_session="mate"/' /etc/sysconfig/livesys
# 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 %end

View File

@ -4,6 +4,19 @@
%packages %packages
# save some space # save some space
-mpage
-sox
-hplip -hplip
-numactl
-isdn4k-utils
-autofs
# smartcards won't really work on the livecd.
-coolkey
-wget
# scanning takes quite a bit of space :/
-xsane
-xsane-gimp
-sane-backends
%end %end

View File

@ -5,7 +5,5 @@
# The Workstion based Python Classroom Lab # The Workstion based Python Classroom Lab
%include fedora-live-workstation.ks %include fedora-live-workstation.ks
%include fedora-live-minimization.ks
%include fedora-python-classroom-gnome-common.ks %include fedora-python-classroom-gnome-common.ks
# https://bugzilla.redhat.com/show_bug.cgi?id=1695796
part / --size 8192

View File

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

View File

@ -8,12 +8,167 @@
# Maintainer: Amit Saha <amitksaha@fedoraproject.org> # Maintainer: Amit Saha <amitksaha@fedoraproject.org>
# https://fedoraproject.org/wiki/User:Amitksaha # https://fedoraproject.org/wiki/User:Amitksaha
%include fedora-live-kde-base.ks %include fedora-live-kde.ks
%include fedora-live-minimization.ks
%include fedora-scientific-common.ks
# The recommended part size for DVDs is too close to use for the scientific spin # The recommended part size for DVDs is too close to use for the scientific spin
part / --size 15000 part / --size 14500
%packages
# Installing the default/mandatory packages from engineering & scientific
@engineering-and-scientific
# scilab
scilab
scilab-devel
scilab-doc
# Remove sagemath explicitly?
-sagemath
#Devel tools
#Install the mandatory packages from dev-tools and dev-libs
# C/C++ compiler, gdb, autotools, bison, flex, make, strace..
@development-tools
@development-libs
@c-development
@rpm-development-tools
#others, not included
# C++ libraries
blitz-devel
armadillo-devel
# Misc. related utils
ddd
valgrind
#python 2 tools/libraries not included from the groups
python2-tools
python-ipython
python-ipython-console
python-ipython-notebook
sympy
python-networkx
python-pandas
#python 3 and tools/libraries not included from the groups
python3
python3-tools
python3-matplotlib
python3-scipy
python3-numpy
python3-ipython
python3-ipython-console
python3-ipython-notebook
python3-sympy
python3-networkx
python3-pandas
# matplotlib backends
python-matplotlib-qt4
python-matplotlib-tk
python3-matplotlib-qt4
python3-matplotlib-tk
# Include Java development tools
@java-development
apache-commons-math
#fortran compiler
gcc-gfortran
# GUI for R
rkward
# GUI for Octave
qtoctave
# julia
julia
julia-doc
# IDEs for the IDE folks
@eclipse
spyder
#writing & publishing
emacs
emacs-color-theme
vim
scribus
#scite
lyx
kile
#Presentation, Bibliography & Document arrangement
#tools
BibTool
pdfshuffler
# Parallel/Distributed computing libraries/tools
openmpi
openmpi-devel
valgrind-openmpi
libgomp
python-pp
mpi4py-openmpi
#Version control- a GUI for each as well
# Installing rapidsvn will also install subversion package
rapidsvn
git
git-gui
# Mercurial
mercurial
mercurial-hgk
#Backup Utilities
backintime-kde
#needs to install this specifically because of some conflict between openmpi
#and emacs (http://lists.fedoraproject.org/pipermail/devel/2011-July/153812.html)
libotf
#root
root
root-gui-fitpanel
root-python
#Multiple jobs/clustering system
# torque
# torque-server
# torque-scheduler
# torque-gui
# torque-libs
# torque-mom
# python-pbs
#Drawing, Picture viewing tools, Visualization tools
dia
inkscape
xzgv
gimp
ggobi
ggobi-devel
#g3data
#Mayavi
#Misc. Utils
screen
tmux
rlwrap
hexchat
shutter
fig2ps
bibtex2html
hevea
#Include Mozilla Firefox
firefox
%end
%post %post

View File

@ -6,7 +6,6 @@
# Maintainers: # Maintainers:
# Fabian Affolter <fab [AT] fedoraproject <dot> org> # Fabian Affolter <fab [AT] fedoraproject <dot> org>
# Joerg Simon <jsimon [AT] fedoraproject <dot> org> # Joerg Simon <jsimon [AT] fedoraproject <dot> org>
# JT Pennington <jt [AT] fedoraproject <dot> org>
# Acknowledgements: # Acknowledgements:
# Fedora LiveCD Xfce Spin team - some work here was and will be inherited, # Fedora LiveCD Xfce Spin team - some work here was and will be inherited,
# many thanks, especially to Christoph Wickert! # many thanks, especially to Christoph Wickert!
@ -22,9 +21,7 @@
part / --size 10240 part / --size 10240
%packages %packages
# install env-group to resolve RhBug:1891500 @xfce-desktop
@^xfce-desktop-environment
@xfce-apps @xfce-apps
# Security tools # Security tools
@ -39,7 +36,8 @@ gnome-keyring-pam
-acpid -acpid
-gimp-help -gimp-help
-desktop-backgrounds-basic -desktop-backgrounds-basic
-PackageKit* # we switched to dnfdragora, so we don't need this -realmd # only seems to be used in GNOME
-PackageKit* # we switched to yumex, so we don't need this
-aspell-* # dictionaries are big -aspell-* # dictionaries are big
-gnumeric -gnumeric
-foomatic-db-ppds -foomatic-db-ppds
@ -102,7 +100,50 @@ PREFERRED=/usr/bin/startxfce4
DISPLAYMANAGER=/usr/sbin/lightdm DISPLAYMANAGER=/usr/sbin/lightdm
EOF EOF
# set livesys session type cat >> /etc/rc.d/init.d/livesys << EOF
sed -i 's/^livesys_session=.*/livesys_session="xfce"/' /etc/sysconfig/livesys
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 %end

View File

@ -4,8 +4,9 @@
# - A Sugar environment that you can carry in your pocket # - A Sugar environment that you can carry in your pocket
# #
# Maintainers: # Maintainers:
# - Chihurumnaya Ibiam <ibiamchihurumnaya AT gmail DOT com> # - Peter Robinson <pbrobinson AT gmail DOT com>
# - Alex Perez <aperez AT alexperez DOT com> # - Sebastian Dziallas <sdz AT fedoraproject DOT org>
# - Mel Chua <mchua AT fedoraproject DOT org>
%include fedora-live-base.ks %include fedora-live-base.ks
%include fedora-live-minimization.ks %include fedora-live-minimization.ks
@ -13,7 +14,37 @@
%post %post
# set livesys session type cat >> /etc/rc.d/init.d/livesys << EOF
sed -i 's/^livesys_session=.*/livesys_session="soas"/' /etc/sysconfig/livesys # 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 %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,11 +10,67 @@
# #
#include snippets/packagekit-cached-metadata.ks #include snippets/packagekit-cached-metadata.ks
part / --size 7750 part / --size 6656
%post %post
# set livesys session type cat >> /etc/rc.d/init.d/livesys << EOF
sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys
# disable updates plugin
cat >> /usr/share/glib-2.0/schemas/org.gnome.software.gschema.override << FOE
[org.gnome.software]
download-updates=false
FOE
# don't run gnome-initial-setup
mkdir ~liveuser/.config
touch ~liveuser/.config/gnome-initial-setup-done
# make the installer show up
if [ -f /usr/share/applications/liveinst.desktop ]; then
# Show harddisk install in shell dash
sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop ""
# need to move it to anaconda.desktop to make shell happy
mv /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
[org.gnome.shell]
favorite-apps=['firefox.desktop', 'evolution.desktop', '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 %end

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
@ -26,8 +23,51 @@ PREFERRED=/usr/bin/startxfce4
DISPLAYMANAGER=/usr/sbin/lightdm DISPLAYMANAGER=/usr/sbin/lightdm
EOF EOF
# set livesys session type cat >> /etc/rc.d/init.d/livesys << EOF
sed -i 's/^livesys_session=.*/livesys_session="xfce"/' /etc/sysconfig/livesys
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
# 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 %end

View File

@ -8,12 +8,11 @@
%packages %packages
### LXDE desktop ### LXDE desktop
# install env-group to resolve RhBug:1891500 @lxde-desktop
@^lxde-desktop-environment
@lxde-apps @lxde-apps
@lxde-media @lxde-media
@lxde-office @lxde-office
@networkmanager-submodules
# FIXME: can be omitted once comps is updated # FIXME: can be omitted once comps is updated
midori midori
@ -40,12 +39,11 @@ metacity
#-words #-words
# save some space # save some space
-@admin-tools
-autofs -autofs
-acpid -acpid
-gimp-help -gimp-help
-desktop-backgrounds-basic -desktop-backgrounds-basic
-PackageKit* # we switched to dnfdragora, so we don't need this -PackageKit* # we switched to yumex, so we don't need this
-foomatic-db-ppds -foomatic-db-ppds
-foomatic -foomatic
-stix-fonts -stix-fonts

View File

@ -5,22 +5,20 @@
# #
# Maintainer(s): # Maintainer(s):
# Christian Dersch <lupinix@fedoraproject.org> # Christian Dersch <lupinix@fedoraproject.org>
# Zamir SUN <zsun@fedoraproject.org>
# #
%packages %packages
# install env-group to resolve RhBug:1891500 @lxqt
@^lxqt-desktop-environment
@lxqt-apps @lxqt-apps
@lxqt-media @lxqt-media
@networkmanager-submodules
# for nm applet # for nm applet
gnome-keyring gnome-keyring
# l10n # l10n
@lxqt-l10n lxqt-l10n
lximage-qt-l10n lximage-qt-l10n
obconf-qt-l10n obconf-qt-l10n
pavucontrol-qt-l10n pavucontrol-qt-l10n
@ -28,9 +26,6 @@ pavucontrol-qt-l10n
# MP3 # MP3
gstreamer1-plugin-mpg123 gstreamer1-plugin-mpg123
# Text Editor
enki
# remove unneeded stuff to get a lightweight system # remove unneeded stuff to get a lightweight system
# fonts (we make no bones about admitting we're english-only) # fonts (we make no bones about admitting we're english-only)
wqy-microhei-fonts # a compact CJK font, to replace: wqy-microhei-fonts # a compact CJK font, to replace:
@ -39,16 +34,14 @@ 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
-@input-methods -@input-methods
-@admin-tools
-scim* -scim*
-m17n* -m17n*
# Temporary include ibus to workaround RHBZ 1633225 -ibus*
# -ibus*
-iok -iok
# Fix https://bugzilla.redhat.com/show_bug.cgi?id=1429132 # Fix https://bugzilla.redhat.com/show_bug.cgi?id=1429132

View File

@ -1,8 +1,7 @@
%packages %packages
# install env-group to resolve RhBug:1891500 -PackageKit* # we switched to yumex, so we don't need this
@^mate-desktop-environment firefox
@mate
fedora-release-matecompiz
compiz compiz
compiz-plugins-main compiz-plugins-main
compiz-plugins-extra compiz-plugins-extra
@ -16,38 +15,52 @@ simple-ccsm
emerald-themes emerald-themes
emerald emerald
fusion-icon fusion-icon
@networkmanager-submodules
blueberry
# some apps from mate-applications
caja-actions
mate-disk-usage-analyzer
# system tools
system-config-printer
system-config-printer-applet
lightdm-gtk-greeter-settings
# audio video
parole
exaile
gstreamer1-plugins-ugly-free # mp3 support
# blacklist applications which breaks mate-desktop # blacklist applications which breaks mate-desktop
-audacious -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 # office
@libreoffice @libreoffice
# dsl tools # dsl tools
rp-pppoe rp-pppoe
# some tools
p7zip
p7zip-plugins
# FIXME; apparently the glibc maintainers dislike this, but it got put into the # FIXME; apparently the glibc maintainers dislike this, but it got put into the
# desktop image at some point. We won't touch this one for now. # desktop image at some point. We won't touch this one for now.
nss-mdns nss-mdns
# Drop things for size # Drop things for size
-@3d-printing -@3d-printing
-@admin-tools
-brasero -brasero
-colord
-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

@ -1,13 +1,8 @@
%packages %packages
microdnf
-@standard -@standard
-initial-setup-gui -initial-setup-gui
-generic-release* -generic-release*
-glibc-all-langpacks -glibc-all-langpacks
# recommended by iproute, we don't want it in minimal
-iproute-tc
# recommended by gnutls, we don't want it in minimal
-trousers
glibc-langpack-en glibc-langpack-en
iw iw
NetworkManager-wifi NetworkManager-wifi

View File

@ -2,12 +2,12 @@ text
lang en_US.UTF-8 lang en_US.UTF-8
keyboard us keyboard us
timezone US/Eastern timezone US/Eastern
auth --useshadow --passalgo=sha512
selinux --enforcing 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
@ -35,8 +35,9 @@ microdnf
glibc-minimal-langpack glibc-minimal-langpack
grubby grubby
kernel kernel
libcrypt
sssd-client sssd-client
@networkmanager-submodules dhcp-client
-fedora-logos -fedora-logos
-coreutils -coreutils
-dosfstools -dosfstools
@ -54,17 +55,15 @@ sssd-client
%post %post
# Find the architecture we are on
arch=$(uname -m)
# Setup Raspberry Pi firmware # Setup Raspberry Pi firmware
if [[ $arch == "aarch64" ]]; then #cp -Pr /usr/share/bcm283x-firmware/* /boot/efi/
cp -P /usr/share/uboot/rpi_arm64/u-boot.bin /boot/efi/rpi-u-boot.bin mv -f /boot/efi/config-64.txt /boot/efi/config.txt
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 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

@ -0,0 +1,70 @@
# See docker-base-common.ks for details on how to hack on docker image kickstarts
# This base is a stripped back Fedora image without python3/dnf.
# If you need that use the standard base image.
%include fedora-modular-docker-common.ks
%packages --excludedocs --instLangs=en --nocore --excludeWeakdeps
microdnf
%end
%post --erroronfail --log=/root/anaconda-post.log
# remove some random help txt files
rm -fv usr/share/gnupg/help*.txt
# Pruning random things
rm usr/lib/rpm/rpm.daily
rm -rfv usr/lib64/nss/unsupported-tools/ # unsupported
# Statically linked crap
rm -fv usr/sbin/{glibc_post_upgrade.x86_64,sln}
ln usr/bin/ln usr/sbin/sln
# Remove some dnf info
rm -rfv /var/lib/dnf
# don't need icons
rm -rfv /usr/share/icons/*
#some random not-that-useful binaries
rm -fv /usr/bin/pinky
# we lose presets by removing /usr/lib/systemd but we do not care
rm -rfv /usr/lib/systemd
# if you want to change the timezone, bind-mount it from the host or reinstall tzdata
rm -fv /etc/localtime
mv /usr/share/zoneinfo/UTC /etc/localtime
rm -rfv /usr/share/zoneinfo
# Final pruning
rm -rfv /var/cache/* /var/log/* /tmp/*
%end
%post --nochroot --erroronfail --log=/mnt/sysimage/root/anaconda-post-nochroot.log
set -eux
# 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
# NOTE: run this in nochroot because "umount" does not exist in chroot
umount /mnt/sysimage/run
# The file that specifies the /run/lock tmpfile is
# /usr/lib/tmpfiles.d/legacy.conf, which is part of the systemd
# rpm that isn't included in this image. We'll create the /run/lock
# file here manually with the settings from legacy.conf
# NOTE: chroot to run "install" because it is not in anaconda env
chroot /mnt/sysimage install -d /run/lock -m 0755 -o root -g root
# 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,4 +1,4 @@
# This is the common bits between Fedora Container base image. # This is the common bits between Docker base images based on Modular Fedora.
# #
# To keep this image minimal it only installs English language. You need to change # To keep this image minimal it only installs English language. You need to change
# dnf configuration in order to enable other languages. # dnf configuration in order to enable other languages.
@ -12,14 +12,13 @@
# #
# Then, once you have imagefactory and imagefactory-plugins installed, run: # Then, once you have imagefactory and imagefactory-plugins installed, run:
# #
# ksflatten -c fedora-container-base[-minimal].ks -o fedora-container-base-test.ks # ksflatten -c fedora-modular-base[-minimal].ks -o fedora-modular-base-test.ks
# imagefactory --debug target_image --template /path/to/fedora-atomic-rawhide.tdl --parameter offline_icicle true --file-parameter install_script $(pwd)/fedora-container-base-test.ks docker # imagefactory --debug target_image --template /path/to/fedora-atomic-rawhide.tdl --parameter offline_icicle true --file-parameter install_script $(pwd)/fedora-modular-base-test.ks modular
# #
text # don't use cmdline -- https://github.com/rhinstaller/anaconda/issues/931 text # don't use cmdline -- https://github.com/rhinstaller/anaconda/issues/931
bootloader --disabled bootloader --disabled
timezone --isUtc Etc/UTC timezone --isUtc --nontp Etc/UTC
timesource --ntp-disable
rootpw --lock --iscrypted locked rootpw --lock --iscrypted locked
keyboard us keyboard us
network --bootproto=dhcp --device=link --activate --onboot=on network --bootproto=dhcp --device=link --activate --onboot=on
@ -30,28 +29,27 @@ zerombr
clearpart --all clearpart --all
autopart --noboot --nohome --noswap --nolvm autopart --noboot --nohome --noswap --nolvm
%packages --excludedocs --instLangs=en --nocore --excludeWeakdeps %packages --excludedocs --instLangs=en --nocore
fedora-release-container fedora-modular-release
bash bash
coreutils coreutils-single
glibc-minimal-langpack glibc-minimal-langpack
libcrypt
rpm rpm
util-linux-core shadow-utils
sssd-client
util-linux
-kernel -kernel
-dosfstools -dosfstools
-e2fsprogs -e2fsprogs
-fuse-libs -fuse-libs
-gnupg2-smime -gnupg2-smime
-libss # used by e2fsprogs -libss # used by e2fsprogs
-libusbx
-pinentry -pinentry
-shared-mime-info -shared-mime-info
-trousers -trousers
-xkeyboard-config -xkeyboard-config
-grubby
-langpacks-en_GB
# https://bugzilla.redhat.com/show_bug.cgi?id=1951111
-util-linux
-sssd-client
%end %end
@ -63,18 +61,9 @@ set -eux
LANG="en_US" LANG="en_US"
echo "%_install_langs $LANG" > /etc/rpm/macros.image-language-conf echo "%_install_langs $LANG" > /etc/rpm/macros.image-language-conf
# https://bugzilla.redhat.com/show_bug.cgi?id=1727489
echo 'LANG="C.UTF-8"' > /etc/locale.conf
# https://bugzilla.redhat.com/show_bug.cgi?id=1400682 # https://bugzilla.redhat.com/show_bug.cgi?id=1400682
echo "Import RPM GPG key" echo "Import RPM GPG key"
releasever=$(rpm --eval '%{?fedora}') releasever=$(rpm -q --qf '%{version}\n' fedora-modular-release)
# When building ELN containers, we don't have the %{fedora} macro
if [ -z $releasever ]; then
releasever=eln
fi
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 "# fstab intentionally empty for containers" > /etc/fstab echo "# fstab intentionally empty for containers" > /etc/fstab
@ -83,6 +72,4 @@ echo "# fstab intentionally empty for containers" > /etc/fstab
rm -f /etc/machine-id rm -f /etc/machine-id
touch /etc/machine-id touch /etc/machine-id
echo "# resolv placeholder" > /etc/resolv.conf
chmod 644 /etc/resolv.conf
%end %end

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,33 +13,10 @@ vim-enhanced
wget wget
# Remove Pythons possibly recommended by tox # Remove Pythons possibly recommended by tox
-python2
-python26 -python26
-python27
-python33 -python33
-python34 -python34
-python35 -python35
-python36
-python37
-python38
-python2.7
-python3.5
-python3.6
-python3.7
-python3.8
-python3.9
-python3.10
-pypy -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 %end

View File

@ -7,6 +7,7 @@
%include fedora-python-classroom-common.ks %include fedora-python-classroom-common.ks
%packages %packages
ninja-ide
emacs emacs
python3-matplotlib-tk python3-matplotlib-tk
python3-pillow-tk python3-pillow-tk
@ -17,6 +18,7 @@ python3-pillow-tk
-@sound-and-video -@sound-and-video
-@multimedia -@multimedia
-dleyna* -dleyna*
-evolution*
-gnome-boxes -gnome-boxes
-gnome-calendar -gnome-calendar
-gnome-clocks -gnome-clocks
@ -25,7 +27,6 @@ python3-pillow-tk
-gnome-documents -gnome-documents
-gnome-font-viewer -gnome-font-viewer
-gnome-maps -gnome-maps
-gnome-photos
-gnome-weather -gnome-weather
-grilo-plugins -grilo-plugins
-cheese -cheese
@ -34,9 +35,7 @@ python3-pillow-tk
# This is no longer workstation # This is no longer workstation
-@workstation-product -@workstation-product
-fedora-productimg-workstation
# But we want to keep the Fedora desktop backgrounds
desktop-backgrounds-gnome
# Add a web browser # Add a web browser
@firefox @firefox
@ -48,7 +47,7 @@ desktop-backgrounds-gnome
# Drop the Java plugin and Java # Drop the Java plugin and Java
-icedtea-web -icedtea-web
-*openjdk* -java*
# No printing # No printing
-@printing -@printing
@ -93,9 +92,6 @@ desktop-backgrounds-gnome
-system-config-services -system-config-services
-policycoreutils-gui -policycoreutils-gui
# Inkscape is too big to be included
-inkscape
%end %end

View File

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

View File

@ -1,141 +0,0 @@
%packages
# Installing the default/mandatory packages from engineering & scientific
@engineering-and-scientific
# scilab
## scilab
## scilab-devel
## scilab-doc
# Remove sagemath explicitly?
-sagemath
#Devel tools
#Install the mandatory packages from dev-tools and dev-libs
# C/C++ compiler, gdb, autotools, bison, flex, make, strace..
@development-tools
@development-libs
@c-development
@rpm-development-tools
#others, not included
# C++ libraries
blitz-devel
armadillo-devel
# Misc. related utils
ddd
valgrind
#python 3 and tools/libraries not included from the groups
python3
python3-tools
python3-matplotlib
python3-scipy
python3-numpy
python3-ipython
python3-ipython-console
python3-ipython-notebook
python3-sympy
python3-networkx
python3-pandas
# matplotlib backends
python3-matplotlib-qt5
python3-matplotlib-tk
# Include Java development tools
@java-development
apache-commons-math
#fortran compiler
gcc-gfortran
# GUI for R
rkward
# julia
julia
julia-doc
julia-devel
python3-spyder
python3-spyder-kernels
#writing & publishing
emacs
emacs-color-theme
vim
scribus
#scite
lyx
kile
#Presentation, Bibliography & Document arrangement
#tools
BibTool
pdfshuffler
# Parallel/Distributed computing libraries/tools
openmpi
openmpi-devel
valgrind-openmpi
libgomp
python3-mpi4py-openmpi
python3-mpi4py-mpich
#Version control- a GUI for each as well
# Installing rapidsvn will also install subversion package
rapidsvn
git
git-gui
# Mercurial
mercurial
mercurial-hgk
#Backup Utilities
backintime-kde
#needs to install this specifically because of some conflict between openmpi
#and emacs (http://lists.fedoraproject.org/pipermail/devel/2011-July/153812.html)
libotf
#root
root
root-gui-fitpanel
#Multiple jobs/clustering system
# torque
# torque-server
# torque-scheduler
# torque-gui
# torque-libs
# torque-mom
# python-pbs
#Drawing, Picture viewing tools, Visualization tools
dia
inkscape
xzgv
gimp
## ggobi
## ggobi-devel
#g3data
#Mayavi
#Misc. Utils
screen
tmux
rlwrap
hexchat
fig2ps
hevea
#Include Mozilla Firefox
firefox
%end

View File

@ -1,12 +0,0 @@
# Fedora Scientific Vagrant box
# Fedora Scientific: For researchers in Science and Engineering
# Fedora-Scientific aims to create a Fedora which has the generic
# toolset for the researcher
# Web: https://labs.fedoraproject.org/en/scientific/
# Maintainer: Amit Saha <amitksaha@fedoraproject.org>
# https://fedoraproject.org/wiki/User:Amitksaha
%include fedora-cloud-base-vagrant.ks
%include fedora-scientific-common.ks

View File

@ -1,201 +0,0 @@
# fedora-server-vm-full.ks (rel. 1.01)
# 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
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 .
# When we build the image /var/log gets populated.
# Let's clean it up.
echo "Cleanup leftover in /var/log"
rm -rf /var/log/*
%end
##### end custom post script ########################################

View File

@ -4,20 +4,11 @@
# - A Sugar environment that you can carry in your pocket # - A Sugar environment that you can carry in your pocket
# #
# Maintainers: # Maintainers:
# - Chihurumnaya Ibiam <ibiamchihurumnaya AT gmail DOT com> # - Peter Robinson <pbrobinson AT gmail DOT com>
# - Alex Perez <aperez AT alexperez DOT com>
firewall --enabled --service=mdns,presence firewall --enabled --service=mdns,presence
%packages %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 -@fonts
-@dial-up -@dial-up
-@multimedia -@multimedia
@ -39,11 +30,8 @@ fedora-release-soas
-abrt-cli -abrt-cli
-ibus* -ibus*
-hyperv-daemons -hyperv-daemons
-sane-backends -webkitgtk4-plugin-process-gtk2
-sane-backends-drivers-scanners webkitgtk3
-dhcp-client
-gcc-gdb-plugin
-gcc
# Add some extra fonts # Add some extra fonts
dejavu-sans-fonts dejavu-sans-fonts
@ -53,36 +41,102 @@ aajohan-comfortaa-fonts
sil-abyssinica-fonts sil-abyssinica-fonts
vlgothic-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: # Usefulness for DSL connections as per:
# http://bugs.sugarlabs.org/ticket/1951 # http://bugs.sugarlabs.org/ticket/1951
rp-pppoe rp-pppoe
# Useful for SoaS duplication from:
# http://bugs.sugarlabs.org/ticket/74
livecd-tools
# Get the Sugar boot screen # Get the Sugar boot screen
-plymouth-system-theme -plymouth-system-theme
-plymouth-theme-charge -plymouth-theme-charge
sugar-logos
%end %end
%post %post
# Rebuild initrd for Sugar boot screen
KERNEL_VERSION=$(rpm -q kernel --qf '%{version}-%{release}.%{arch}\n')
/usr/sbin/plymouth-set-default-theme sugar
/sbin/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 # Get proper release naming in the control panel
cat >> /boot/olpc_build << EOF cat >> /boot/olpc_build << EOF
Sugar on a Stick Sugar on a Stick
EOF EOF
cat /etc/fedora-release >> /boot/olpc_build cat /etc/fedora-release >> /boot/olpc_build
# Rebuild initrd for Sugar boot screen # Add our activities to the favorites
KERNEL_VERSION=$(rpm -q kernel --qf '%{version}-%{release}.%{arch}\n') cat > /usr/share/sugar/data/activities.defaults << EOF
/usr/sbin/plymouth-set-default-theme sugar org.laptop.WebActivity
sed -i -r 's/(omit_dracutmodules\+\=.*) plymouth (.*)/\1 \2/' /etc/dracut.conf.d/99-liveos.conf org.laptop.HelpActivity
dracut --force-add plymouth -N -f /boot/initramfs-$KERNEL_VERSION.img $KERNEL_VERSION org.laptop.Chat
org.laptop.sugar.ReadActivity
# Note that running rpm recreates the rpm db files which aren't needed or wanted org.laptop.sugar.GetBooksActivity
rm -f /var/lib/rpm/__db* 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 cat > /etc/sysconfig/desktop <<EOF
PREFERRED=/usr/bin/sugar PREFERRED=/usr/bin/sugar
@ -106,18 +160,6 @@ show-logout=false
[org.sugarlabs.power] [org.sugarlabs.power]
automatic=true automatic=true
EOF EOF
/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/sugar.soas.gschema.override
/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
%end %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,23 @@
-@input-methods -@input-methods
-@standard -@standard
# Install workstation-product-environment to resolve RhBug:1891500 # Make sure to sync any additions / removals done here with
@^workstation-product-environment # workstation-product-environment in comps
@base-x
@core
@firefox
@fonts
@gnome-desktop
@guest-desktop-agents
@hardware-support
@libreoffice
@multimedia
@networkmanager-submodules
@printing
@workstation-product
# Branding for the installer
fedora-productimg-workstation
# Exclude unwanted packages from @anaconda-tools group # Exclude unwanted packages from @anaconda-tools group
-gfs2-utils -gfs2-utils

View File

@ -4,22 +4,33 @@
# - Fedora Live Spin with the light-weight XFCE Desktop Environment # - Fedora Live Spin with the light-weight XFCE Desktop Environment
# #
# Maintainer(s): # Maintainer(s):
# - Rahul Sundaram <sundaram@fedoraproject.org>
# - Christoph Wickert <cwickert@fedoraproject.org>
# - Kevin Fenzi <kevin@tummy.com> # - Kevin Fenzi <kevin@tummy.com>
# - Adam Miller <maxamillion@fedoraproject.org> # - Adam Miller <maxamillion@fedoraproject.org>
# - Mukundan Ragavan <nonamedotc@fedoraproject.org>
%packages %packages
fedora-release-xfce @networkmanager-submodules
# install env-group to resolve RhBug:1891500 @xfce-desktop
@^xfce-desktop-environment
@xfce-apps @xfce-apps
@xfce-extra-plugins @xfce-extra-plugins
@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
# Add some screensavers, people seem to like them
# Note that blank is still default.
xscreensaver-extras
wget wget
# Handy for debugging
rfkill
# Better more popular browser
firefox
system-config-printer system-config-printer
# save some space # save some space
@ -27,8 +38,8 @@ system-config-printer
-acpid -acpid
-gimp-help -gimp-help
-desktop-backgrounds-basic -desktop-backgrounds-basic
-PackageKit* # we switched to yumex, so we don't need this
-aspell-* # dictionaries are big -aspell-* # dictionaries are big
-xfce4-sensors-plugin -xfce4-sensors-plugin
-xfce4-eyes-plugin
%end %end

View File

@ -11,7 +11,7 @@ timezone Europe/Zurich
%packages %packages
-gnome-blog -gnome-blog
langpacks-de @german-support
# exclude input methods # exclude input methods
-m17n* -m17n*
-scim* -scim*

View File

@ -11,7 +11,7 @@ timezone Europe/Berlin
%packages %packages
-gnome-blog -gnome-blog
langpacks-de @german-support
# exclude input methods # exclude input methods
-m17n* -m17n*
-scim* -scim*

View File

@ -13,7 +13,7 @@ keyboard fr-latin9
timezone Europe/Paris timezone Europe/Paris
%packages %packages
langpacks-fr @french-support
# exclude input methods: # exclude input methods:
-m17n* -m17n*
-scim* -scim*

View File

@ -1,40 +0,0 @@
# fedora-live-workstation-ja_JP.ks
#
# Description:
# - Japanese Fedora Live Spin with the Gnome Desktop Environment
#
# Maintainer(s):
# - Shintaro Fujiwara <shintaro.fujiwara@miraclelinux.com>
%include ../fedora-live-workstation.ks
lang ja_JP.UTF-8
keyboard jp
timezone Asia/Tokyo
%packages
langpacks-ja
# exclude input methods except ibus:
-m17n*
-scim*
-iok
# ibus stuff
ibus-kkc
imsettings
%end
%post
cat > /etc/X11/xorg.conf.d/00-keyboard.conf << "EOF"
# Read and parsed by systemd-localed. It's probably wise not to edit this file
# manually too freely.
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "jp"
Option "XkbModel" "jp106"
EndSection
EOF
gsettings set org.gnome.desktop.input-sources sources "[('ibus', 'kkc'), ('xkb', 'jp')]"
%end

View File

@ -10,7 +10,7 @@ keyboard us
timezone Europe/Amsterdam timezone Europe/Amsterdam
%packages %packages
langpacks-nl @dutch-support
# exclude input methods # exclude input methods
-m17n* -m17n*
-scim* -scim*

View File

@ -10,7 +10,7 @@ keyboard br-abnt2
timezone America/Sao_Paulo timezone America/Sao_Paulo
%packages %packages
langpacks-pt_BR @brazilian-support
# exclude input methods # exclude input methods
-m17n* -m17n*
-scim* -scim*

View File

@ -10,7 +10,7 @@ keyboard pt-latin1
timezone Europe/Lisbon timezone Europe/Lisbon
%packages %packages
langpacks-pt @portuguese-support
# exclude input methods # exclude input methods
-m17n* -m17n*
-scim* -scim*

View File

@ -10,7 +10,7 @@ keyboard ru
timezone Europe/Moscow timezone Europe/Moscow
%packages %packages
langpacks-ru @russian-support
hunspell-ru hunspell-ru
# exclude input methods # exclude input methods

Some files were not shown because too many files have changed in this diff Show More