View previous topic :: View next topic |
Author |
Message |
Pravorskii Andrii n00b
Joined: 06 Jun 2017 Posts: 6
|
Posted: Tue Sep 04, 2018 11:26 am Post subject: Build Minimal Installation CD with systemd via Catalyst |
|
|
I try build Minimal Installation CD with systemd instead OpenRC via Catalyst. I use specs files from RelEng repository.
Currently it is not ready for building ISO images with systemd. I tried to find how I can improve instruments to make possible solve described issue.
There is file catalyst/targets/livecd_stage1.py. It contains code that will be executed during building Minimal Installation CD stage1.
It contains (line 45) hard-coded requirement of package app-misc/livecd-tools. And app-misc/livecd-tools depends from OpenRC.
So, I have proposal how we can add support systemd to livecd_stage1.
- Package:
- Create additional package (app-misc/livecd-tools-systemd)
- Or add USE-flag "systemd" to existing package app-misc/livecd-tools and improve existing package.
- Target "livecd_stage1" in Catalyst:
- Do nothing, USE-flag "systemd" in package "app-misc/livecd-tools" will do everything.
- Or add some logic to livecd_stage1 that will select proper package (app-misc/livecd-tools or app-misc/livecd-tools-systemd)
- Or add extra target "livecd_systemd_stage1"
I would be grateful to receive clarifications before preparing the patches. |
|
Back to top |
|
|
geeksheik Tux's lil' helper
Joined: 07 Sep 2003 Posts: 99 Location: Zürich, Switzerland
|
Posted: Thu Jan 03, 2019 9:34 am Post subject: |
|
|
Sorry to see that you haven't gotten a response here. I've just started dealing with these issues as well. Did you make any progress?
I've been working with the livedvd images. I put together a working stage1 *without* systemd. I'd like to create a systemd-compatible version as well, but as you've correctly-observed, it requires a customized livecd-tools package.
This does not appear to be a very challenging package to port to systemd; I'm just not there yet. I need to get my stage2 working first. At the moment, I'm trying to determine the intent of the @REPO_DIR@ symbol; this doesn't seem to be documented anywhere.
Here is my functional livedvd-stage1.spec:
Code: |
subarch: amd64
version_stamp: installer-latest
target: livecd-stage1
rel_type: default
profile: default/linux/amd64/17.0/desktop
snapshot: latest
source_subpath: default/stage3-amd64-desktop-latest
portage_confdir: /projects/gentoo-live-catalyst/etc/portage/
livecd/use:
branding
livecd
socks5
-systemd
livecd/packages:
app-admin/logrotate
app-admin/syslog-ng
app-arch/unrar
app-arch/unzip
app-benchmarks/cpuburn
app-cdr/bin2iso
app-cdr/cdrdao
app-cdr/cdrtools
app-cdr/dvd+rw-tools
app-crypt/gnupg
app-editors/bluefish
app-editors/emacs
app-editors/gvim
app-editors/vim
app-editors/xemacs
app-misc/mc
app-misc/pax-utils
app-misc/screen
app-office/gnucash
app-office/openoffice-bin
app-portage/genlop
app-portage/gentoolkit
app-portage/layman
app-portage/mirrorselect
app-portage/portage-utils
app-shells/bash-completion
app-shells/gentoo-bashcomp
dev-util/ccache
dev-vcs/cvs
dev-vcs/git
dev-util/indent
dev-util/ltrace
dev-util/strace
dev-texlive/texlive-xetex
dev-vcs/subversion
dev-util/valgrind
kde-apps/k3b
kde-plasma/plasma-meta
mail-client/thunderbird-bin
media-gfx/fbgrab
media-gfx/gimp
media-gfx/inkscape
media-gfx/xsane
media-sound/easytag
media-sound/grip
media-sound/hydrogen
media-sound/rhythmbox
media-video/dvdrip
media-video/lsdvd
media-video/mplayer
media-video/vlc
net-analyzer/netcat
net-analyzer/nmap
net-analyzer/tcpdump
net-analyzer/traceroute
net-analyzer/wireshark
net-dialup/minicom
net-firewall/iptables
net-fs/cifs-utils
net-fs/nfs-utils
net-fs/samba
net-im/pidgin
net-irc/hexchat
net-misc/dhcpcd
net-misc/iputils
net-misc/ntp
net-misc/rdesktop
net-misc/whois
net-p2p/rtorrent
net-print/cups
net-proxy/dante
net-proxy/tsocks
net-vpn/vpnc
net-wireless/wireless-tools
net-wireless/wpa_supplicant
sys-apps/dmidecode
sys-apps/ethtool
sys-apps/hdparm
sys-apps/iproute2
sys-block/parted
sys-apps/lm_sensors
sys-apps/mlocate
sys-block/gparted
sys-boot/grub
sys-boot/lilo
sys-boot/syslinux
sys-devel/distcc
sys-devel/gdb
sys-fs/cryptsetup
sys-fs/dosfstools
sys-fs/e2fsprogs
sys-fs/hfsutils
sys-fs/jfsutils
sys-fs/mdadm
sys-fs/ntfs3g
sys-fs/udftools
sys-fs/xfsprogs
sys-fs/xfsdump
sys-kernel/genkernel
sys-libs/gpm
sys-process/htop
sys-process/lsof
sys-process/vixie-cron
www-client/links
www-client/firefox-bin
x11-base/xorg-x11
x11-misc/xscreensaver
x11-misc/xsensors
x11-themes/gentoo-artwork-livecd
|
A set of use flags was required; this is still a bit messy, but it produced a stage1 without error:
Code: |
>=sys-apps/util-linux-2.33-r1 static-libs
>=sys-libs/zlib-1.2.11-r2 minizip
>=app-text/texlive-core-2017-r4 xetex
>=dev-qt/qtwebengine-5.11.1 widgets
>=dev-qt/qtwebchannel-5.11.1 qml
>=dev-libs/libxml2-2.9.8 icu
>=dev-libs/boost-1.65.0 icu
>=sys-apps/util-linux-2.33-r1 tty-helpers
>=dev-lang/python-2.7.15:2.7 sqlite
>=sys-libs/tdb-1.3.16 python
>=sys-libs/tevent-0.9.37 python
>=app-crypt/pinentry-1.1.0-r2 gnome-keyring
>=media-libs/mesa-18.2.8 wayland gles2
>=sys-auth/pambase-20150213-r2 systemd
>=gnome-base/gnome-control-center-3.24.4 networkmanager
>=net-fs/samba-4.8.6-r2 client
>=media-libs/harfbuzz-2.0.2 icu
>=media-plugins/alsa-plugins-1.1.6 pulseaudio
sys-apps/dbus -systemd
gnome-base/gnome-control-center -systemd
gnome-base/gnome-core-apps -systemd
gnome-base/gnome -systemd
>=media-plugins/grilo-plugins-0.3.7 tracker
>=media-libs/grilo-0.3.6 playlist
>=dev-libs/libgdata-0.17.9-r1 gnome-online-accounts
>=media-libs/gegl-0.3.26 jpeg2k raw
>=www-servers/apache-2.4.34-r2 apache2_modules_auth_digest
>=media-libs/gst-plugins-base-1.14.1 theora
>=dev-libs/folks-0.11.4 eds
>=gnome-extra/evolution-data-server-3.24.7 vala
>=app-misc/tracker-1.12.4 gstreamer
media-libs/libmediaart -gtk
kde-plasma/plasma-meta -pam
sys-auth/pambase -systemd consolekit
kde-plasma/plasma-meta -systemd
virtual/udev -systemd
virtual/libudev -systemd
net-misc/openssh -pam
gnome-base/gnome-keyring -ssh-agent
app-crypt/pinentry -gnome-keyring
sys-auth/polkit -pam
x11-misc/sddm -pam
sys-apps/util-linux -pam
sys-libs/libcap -pam
sys-auth/consolekit -pam
sys-auth/pambase -systemd
=sys-auth/pambase-20150213-r2 -systemd
x11-misc/xscreensaver -pam
sys-auth/consolekit pam
|
In some follow-up step, I'll remove the redundant flags. I just realized the contradiction with my consolekit pam flag, due to a late-night debugging session.
I also added some systemd-related files to package.mask for debugging purposes; this shouldn't be necessary, but here it is:
Code: |
sys-apps/gentoo-systemd-integration
sys-apps/systemd
virtual/tmpfiles
|
|
|
Back to top |
|
|
realkstrawn93 n00b
Joined: 27 Sep 2019 Posts: 2 Location: Mission Viejo, California
|
Posted: Fri Sep 27, 2019 12:01 pm Post subject: |
|
|
I personally submitted a bug report about this issue myself, which includes a couple of patches replacing the hard dependency with a USE flag conditional dependency. Now it’s just a waiting game to see if these patches are accepted or not. |
|
Back to top |
|
|
realkstrawn93 n00b
Joined: 27 Sep 2019 Posts: 2 Location: Mission Viejo, California
|
Posted: Fri Sep 27, 2019 9:16 pm Post subject: |
|
|
Workaround: add “!(app-misc/livecd-tools)” to “livecd/packages” section |
|
Back to top |
|
|
|