IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
- Use firefox-esr instead of firefox
- Use mariadb insead of MySQL
- Add memtest check to disk menu
- Use kde5 without kde5-kdepim
- Use Moodle 2.5 instead of 2.2
This might evolve into some form of per-arch logic,
or otherwise x86 might get moved into a feature of
its own instead of being the presumed one.
The first step is done.
This reverts commit 226a2395e56f491297eaaa504f6ed63ce8dc9449.
Users are getting upset about NetworkManager being unable to
configure "System EthX" connections that are meant to set up
with "acc" (which isn't obvious at all).
See-also: https://forum.altlinux.org/index.php?topic=42519.0
elogind is the systemd project's "logind" extracted out to be
a standalone service. It integrates with PAM to know the set
of users that are logged in to a system and whether they are
logged in graphically, on the console, or remotely.
apt-conf is a virtual package provided by apt-conf-branch or
apt-conf-sisyphus. This can result in the wrong provider being
chosen during image build. Stable branches got apt-conf-branch
only, and Sisyphus got both; so either strict versioning is needed
or apt-conf should be not specified explicitly at all.
...through ensuring that the intentinal lack of dependencies
is actually *complete* and not still pulling the default elinks
in if nothing else was specified (this was still too much for
virtualization base images aiming to make use of mixin/p8).
chrony synchronizes time when connecting to a network using
NetworkManager. This feature is great for computers without
hardware clock, for example Raspberry Pi.
This one can be used to override the default content
of .disk/info file (used by propagator but can find
some other uses within installer as well); the reason
being that ISO9660's Volume ID is up to 32 characters
and a file lacks that particular limitation.
Changing ROOTFS owner causes a problem:
created image's root directory is owned
by user executing make instead of root.
Changing WORKDIR owner is unnecessary
because it will be removed anyways.
desktop+lxqt+extra contains some qtdesktop bits that do not
relate directly to lxqt. Therefore, it makes it difficult
to use use/x11/lxqt for the more basic builds based on lxqt.
lxqt-regular contains all the necessary dependencies
to get the minimally working lxqt configuration.
Duplicate list items have been cleaned up therefore.
- added netsurf - lightweight html4 browser
- added otter-browser - opera12-like browser
- drop qupzilla, konqueror: removed from Sisyphus
- palemoon not work on non-x86 systems
It is wrong to make it impossible to use the default browser
(firefox) for targets using mixin/regular-lxqt given the
caveat with setting a variable to X, then to Y, then to X
again through make targets (see e.g. bootloader feature's
README).
The original commit broke system tar2fs use by accidentally
moving TOPDIR definition into a separate shell execution;
thanks iv@ for spotting and fixing it promptly.
Co-authored-by: Ivan A. Melnikov" <iv@altlinux.org>
Brief version: otherwise DNS resolving might fail to perform
until dnsmasq service restart or system reboot (ouch!).
The problem:
1) NetworkManager requires dnsmasq;
2) dnsmasq can win a race against dhcpcd on ethernet.
The result:
1) /etc/resolv.conf looks fine;
2) dnsmasq is running;
3) resolving beyond /etc/hosts fails.
Suggested-by: Mikhail Efremov <sem@altlinux.org>
This one can be autorun iff:
- "autorun=..." kernel boot parameter is specified;
- the image has startup-rescue instead of conventional startup;
- it's tty1.
Suggested-by: Leonid Krivoshein <klark@altlinux.org>
The overcomplicated scheme tacked the difference between
p7/t7 and sisyphus-armh of those days that's not there
anymore; all of those repos carry kde4-plasma-nm and not
plasma-applet-networkmanager.
It's been replaced by e18 and eventually the rolling
enlightenment package long ago, in fact missing by p8;
moksha might be a worthy replacement but now just drop
the good ol' stable bits in the profile either.
It's missing in sisyphus (and the last maintainer
was desperate with efforts required to keep it going),
just drop the cruft; if it ever returns, we'll revert this.
These have been broken by p8 already, and missing in sisyphus;
kde4 is broken in sisyphus but that's still not irreversible
(unlike our old and unmaintained TDE build, sigh).
Yandex mirror can lag behind at times:
http://mirmon.altlinux.org/sisyphus.html#ru
...and we've got 1GbE there now, not that bad
compared to 100Mbps back then...
NB: yandex traffic might be billed as "local"
in many regions, this should be revisited.
mixin/regular-desktop can be used in non-x86 builds
where dualboot situation tends to be more rare;
let's keep this installer feature (tweaking installer
to pick up "other" filesystems) to regular.mk.
tar2fs comes from m-p, not from mkimage. Also, we should
use $TOPDIR from shell, not $(TOPDIR) from make, when
calling it.
Note: this is a security fix for environments relying
on packaged mkimage-profiles with sudo enabled for the
builder user.
Fixes: f293239d5bd7d2a1e50e155f09effb56b262071e
It's been tiresome to setup a few hosts having to rollback
to modesetting which exposes no artifacts at all (albeit
being slower) from mga2 that has issues with GTK3 for me...
do it this way.
"ALT Workstation/?01" presented some minor problem
with ISOs, I don't even recall this one precisely;
could be a readability or differentiability;
just go ahead with slightly better names.
This one-liner turns ALT Workstation for Elbrus 801-PC
into a more convenient distribution for dualseat rollouts.
(we didn't tackle sound aspects yet -- these can be handled
through PulseAudio locally -- and media mounting ones either;
still much beta than nothin')
See-also: http://0x1.tv/20180930D
I've shipped modesetting-based images and mga2-based ones
(and reverted to modesetting by hand "when it MUST work");
let's just do it right.
NB: found out that Name fields must NOT contain ";"
or alterator-apt chokes in runtime (not fatal
but still spectacular, see #35526).
None of Elbrus systems I had a chance to use as root
had any problems regarding TRIM feature of SSDs these
used to carry/support; let's start with e2k and maybe
carry over to x86 later.
These are supposed to be bootable indeed,
not just some data (e.g. repo) carrying images;
if distro/.boot's metadata are deemed superfluous
here, welcome to discuss and improve.
Reported-by: Anton Midyukov <antohami@altlinux.org>
Fixes: 3c2ef1c035b3037125878a092318eeefa5e0c7c5
This one was added along with winswitch as a nice
solution to cross-host GUI problem; there was no
feedback on the inclusion though, and antohami@
tells that xpra-browser complains regarding dbus now.
Reported-by: Anton Midyukov <antohami@altlinux.org>
This has manifested on e2k for me -- still using older
make-initrd lacking R: file -- so let's get this kludge
back for a while, or until any reasonable make-initrd
around has *everything* it needs to create images
listed in its runtime requirements.
Fixes: 2b3455c29a713caf75cd9c176017b0c177ee43a0
This works around DRI3 problems resulting in caja getting
BadWindow with panel applets subsequently failing to jump
into dock (which doesn't exist just yet).
Suggested-by: Denis Medvedev <nbr@altlinux.org>
NM-1.4 is broken under sysvinit as of right now;
let's switch to etcnet until sem@ gets around
to fix it.
Reverts: 182d32f7396a00c1901be238bd208449dc86893e
Reported-by: Anton Midyukov <antohami@altlinux.org>
filesystem package has been severely broken in sisyphus
since late August unfortunately, and I was too busy to
even notice that for too long; let's plug this kludge
until it's fixed now that I've finally seen that crap :-/
See-also: https://bugzilla.altlinux.org/35350
sin@ was overly optimistic about CIFS boot needs,
I think he rather meant starterkits so let's move
this into regular build rules -- use/stage2/cifs
is the only addition (the other things just got
re-messed up).
sin@ was kind enough to just stick mount.cifs into initrd
regardless of its presence in the chroot in question;
let's look first and only add what's found.
This started as a stopgap fix after make-initrd 2.2.0
which happened to collide with cifs-related m-p commits
in a somewhat unfortunate manner...
ldv@ has dropped sysklogd from sisyphus due to
its long-standing FTBFS and "other problems":
http://git.altlinux.org/tasks/archive/done/_207/211999/logs/events.6.1.log
The current recommended replacement is rsyslog
which is fine by itself but really overcomplicated
for the barebones logging system we usually need...
This is a workaround for presumably alterator-pkg's
misbehaviour given a pkglist with a line ending with
a space character; my particular case grew from @E2K
suffix resulting in "%name@e2k %name@e2kv4" which,
in its turn, became "%name " in e2k-arch build.
Installer complained about being
unable to install in selected configuration
with /tmp/install2.log "clarifying" the problem to be
%name being unavailable (while %name package was there
in both RPMS.main and metadata)... not obvious at all!
So while downstream should be hardened either, let's do
what we can do here.
The main challenge for this change appeared to be lightdm:
it can do dualseat but in a quite peculiar way tied to systemd;
while wdm-based implementation well prepared and described by viy@
can survive both systemd and sysvinit just fine.
branding-alt-workstation-mate-settings pulls in lightdm-gtk-greeter,
and lightdm takes over; it should probably be masked in systemd case
(sysvinit should need no further hassle as /etc/X11/prefdm considers
wdm before lightdm for historical reasons; or /etc/sysconfig/desktop
could be filled in to be sure) *but* the current stopgap "solution"
is what it is now.
See-also: http://altlinux.org/X11/DualSeat
These describe what's needed to set up a single-seat (as usual,
now just default) or dual-seat (out-of-box, given a checkbox)
Elbrus 801-PC.
Huge thanks to bircoph@ for actually implementing this!
I decided to switch lightdm greeter from gtk to slick,
while adding the default user created to xgrp group
(to facilitate them access to DRI device nodes)
and turning off MATE's desire to spend extra resources
on bells and whistles though compositing window manager.
There's an ISO9660 COPY tag for license info file;
make use of it, factoring use/docs/license out
while at that.
One of the goals was to make it hold the reference
to reference to GPL in regular builds and starterkits
;-)
Every .iso was assumed to be bootable since the very beginning[*],
and isoboot images were deemed to be x86 isolinux ones; this didn't
change with basic ppc/armh support as I never ran into hardware
that would _boot_ those ISOs, not only run the code, and it was
only e2k isodata project that finally forced this refactoring.
It's still not perfect: pack and syslinux features still end up
somewhat interwoven, and too much places care for architecture
the image is being built for (instead of archdep features tossing
their appropriate bits and pieces in).
Should help:
- any-arch regarding isodata images;
- {x86,aarch64}/efi by decoupling isoboot and isolinux;
- ppc{,64} as introducing yaboot support will be easier now;
- mipsel{,64} too, hopefully.
* I knew of school addon images baked with mkimage-profiles-desktop
but postponed and then neglected the whole problem for years...
It's the common part that should be more or less architecture
independent (given enough packages in the corresponding repo)
that's been moved into a mixin; archdep bits kept in basealt.mk
(albeit rewritten).
Note that this approach should help building ALT Workstation
for both new arches (like aarch64 or mipsel) and new targets
(like vm) altogether.
Linux Driver Management (aka LDM) allows easy configuration of different
hardware. Currently this hook does GPU configuration on systems with
multiple GPUs (aka Optimus/PRIME).
See commit 2d257a425b9e9f49483559857c4e894d1743aa72
for details, this just brings those to pkg.in/profiles/
(along with the generic archdep support, of course).
The goal was simple: every use/e2k/{x11,install2}/$MACHINE
must be self-sufficient regarding platform support, that is
it must depend on the corresponding CPU-specific target.
A bit less make-tech but still better overall.
NB: llvm cleanup is not needed anymore after upgrade to
Mesa-17/llvm-3.7, should be dropped like this year.
This one started with pulling use/init/sysv/polkit
out from distro/.e2k-installer since there are now
some systemd-based e2k installers as well; it looks
better to provide two distinct intermediate targets
(and leave polkit-sysvinit up for the distro ones).
Forgot to do that before merging, sorry.
(xorg-drv-ati cares for dependencies
but we still prefer modesetting driver
in the installers to make them versatile)
Java is required for LibreOffice Base.
Dropped LibreOffice-extensions while at that
due to segfaults and other problems in Sisyphus'
LO with those installed.
The places of the terms *do* affect the sum in apt's case;
start with lowlevel items like SYSTEM_PACKAGES and end with
high-level ones like THE_LISTS to reduce the chance of getting
hit by premature virtual dependency expansion/fixation.
Adapt live and rescue features accordingly.
See-also: https://bugzilla.altlinux.org/show_bug.cgi?id=30806#c5
Suggested-by: Leonid Krivoshein <klark@altlinux.org>
The infamous systemd infiltration through secondary
"targets" using virtual dependencies started with
syslogd-daemon, continued with network-config-subsystem
and later with ntp-server; all of its implementations
pulling in the main package which is explicitly unwanted
in sysv-based images.
Let's try employing pkgpriorities.
alterator-datetime pulls in ntp-server which is a virtual
dependency provided by both openntpd (which was assumed)
ntpd and systemd-timesyncd (which is undesired in those
images and pulls systemd either).
Be explicit.
"Provide iso contents file" has been a long-standing
feature request regarding both starterkits and distros
proper; release managers used to compensate this with
their own scripts.
Suggested-by: sem@, legion@ and someone else too
The common problem was network-config-subsystem getting
resolved into something completely wrong (like net-scripts
or systemd-networkd) *before* it got specified precisely;
let's just avoid the common cause, that is, a metapackage.
See-also: https://bugzilla.altlinux.org/show_bug.cgi?id=30806
It's not much use for it to stay without the actual
pointer to the place where NM GUIs are referenced,
I've almost started out implementing the "missing"
bit myself right now :-/
services feature works like this:
1. enable whatever services are in DEFAULT_SERVICES_ENABLE
2. disable whatever is in DEFAULT_SERVICES_DISABLE
3. enable services in SERVICES_ENABLE
4. finally, disable those in SERVICES_DISABLE
So one should not disable display-manager service!
Disabling prefdm is not needed as it doesn't start
when display-manager.service symlink exists.
There's no qemu there so far, and there's no need
to fiddle with setarch either.
NB: part of this commit erroneously went into
1c777c8ad4957ce70f283f5187ee2870c7930dd0
quite some time ago, sorry about the mess.
It's legit here as I know no Elbrus users among
non-Russian-speakers, at least so far; should move
to generic l10n feature (which will definitely see
its glory by then).
This is to avoid extra actions when one actually needs
KOI8-R (which is still hardwired in some lcc messages).
Should all be rolled into l10n feature some day...
The early scheme consisted of boot.conf template
with a separate hook filling it in; this was nice
for serial console setup script which could just
amend the kernel command line as needed _but_
this got changed towards the more generic scheme
(breaking the hook in question, unfortunately).
There was no thunderbird built for e2k for a while,
and some images might benefit from a lightweight
GUI MUA; the only question is whether it belongs
to workstation classification or not really.
This one supports multiple kernels (and tweaks boot
labels aiming to simplify target kernel selection
for the CPU at hand) instead of an earlier attempt
to fill in a template.
No need for the template so just drop it.
This one might probably change into core functionality but right now
it should help when you get not the branding, init system, or whatever
alternative you do _not_ need.
See-also: https://bugzilla.altlinux.org/show_bug.cgi?id=30806
It was noted that Ancient Cyrillic glyphs aren't available
out-of-box (and people wondered why there are no Chinsese
glyphs before), so adding proper Unicode font looks worth it.
Reported-by: Mikhail Novoselov <mikhailnov@dumalogiya.ru>
Enlightenment does not provide its polkit agent.
Added a lightweight polkit agent without dependencies
on a specific DE; it won't be autostarted though.
The reason for all of them is simple: a modern webkit-based browser.
The particular justification for each is:
- lxqt: Qupzilla is officially deprecated in favour of Falkon;
- kde4: Rekonq simply doesn't cut the mustard;
- kde5: Firefox is fine but there's more suitable one.
We definitely don't want to see rekonq anywhere,
it's grossly incompetent as a web browser;
and Qupzilla is now being developed under KDE
umbrella and the new name Falkon.
It's 15 Mb off x86_64 regular-rescue.iso as of today
(libicu and a few other hefty libraries are only needed
for fio), and benchmarks are probably a better company
albeit fio could be useful as a stress testing tool.
There's a problematic dependency chain as of today's sisyphus:
smbios-utils => python3-module-smbios, python3, python-base
python3 => python3-base => python3-test
python3-test => python3-modules-tkinter => tk => libtk => libX11
...and libX11 is explicitly banned in regular-rescue.iso
which is determined to stay text-only; let's drop this package
until this problem is resolved.
See-also: https://bugzilla.altlinux.org/34451
See-also: https://lists.altlinux.org/pipermail/devel/2018-March/204130.html
lxde-icon-theme is required by lxde-settings-upstream only
(and that's been changed for lxde-settings-lxdesktop),
just drop it; move essential packages from -extra to the
main lxde list; lxde-shortcut has been specified twice.
pauli@ has proposed slightly different setup to what is provided
by livecd-qemu-arch; but the use case might be different either.
At least provide the link to those interested.
This flavour has turned into a distribution proper quite some
time ago (thanks jinn@), and its role of pretty minimalistic
proving grounds for things like minimalistic EFI boot path
is now neglectible.
So let's add a proper boot manager there too. It might be better
to fit it into distro/.regular-sysv-gtk or even up the dependency
tree but I'm not focused enough to do it right now.
Reported-by: klark@, antohami@
The former ("proper 32-bit x86 package form") has been suggested
by zerg@ quite some time ago but the desired interface wasn't clear
at the moment IIRC; a quiet morning helped me realize that
ICAClient-preinstall@IA32
is rather more readable than
ICAClient-preinstall@i586 i586-ICAClient-preinstall@x86_64
so here's the (trivial) implementation; and I actually needed
the latter, @X86 ("any-x86") to mark x86-only packages so
xorg-drv-intel@X86
is now equivalent to
xorg-drv-intel@i586 xorg-drv-intel@x86_64
...into cinnamon and lxde flavours; it got dropped out from
regular builds but this file controls p8-based starterkits
specifically!
PS: looks like unikey can get configured but either fails
to actually work or I forgot how to use it already...
It's needed for both qemu-guest-agent and open-vm-tools, sigh.
Will only impact installed size but quite noticeably: installing these
into an overcleaned system as of previous commit and today's p8
takes 42 Mb more.
It's a yet another rescue dd(1) alike trying to save
those blocks which still can be read first and getting
back to the rest later; suggested by someone (User294?)
over at opennet.
See-also: https://www.opennet.ru/openforum/vsluhforumID3/113652.html#8
The problem being worked around by this is:
anything in the lists that Requires: webclient
results in rekonq being pulled into the image
(after mate-default requires firefox no more).
The proper fix is to force *_PACKAGES, *_LISTS
and *_REGEXP to be processed in a _single_
transaction for each destination so that
early mis-expansion of virtual packages
doesn't occur when _installing_ those.
This commit should be reverted then.
See-also: https://bugzilla.altlinux.org/30806
This looks like missing in server starterkit for me;
builder one can be installed by hand if one knows how
to do that but let's better be explicit about that.
Putting any configuration into /etc/net/ifaces/lo/resolv.conf
makes etcnet *overwrite* /etc/resolv.conf, while putting that
into /etc/resolv.conf itself makes e.g. vzctl --nameserver
*append* to what's been specified.
Reported-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
- added missing localization for lxqt and psi+
- added qasmixer
- replaced smplayer with smplayer-mpv
- removed screengrab (lxqt has its own program for screenshots)
...explicitly; this has been triggered by the change to
livecd-install as of 0.9.10-alt2 (doesn't R: alterator-grub
anymore to allow non-grub platforms as well).
This should be a no-op _together_ with the mentioned change
by now as grub is selected explicitly; will take more attention
for e.g. e2k as the problem just shifted here from livecd-install.
Reported-by: Leonid Krivoshein <klark@altlinux.org>
This will solve the sound problems when using regulars:
- The sound when the computer is restarted is set to 0
- Some applications do not know how to work directly with ALSA,
apulse allows you to solve this problem partially.
Using feature +pulse will override use of +alsa feature.
Those images who are fine with ALSA might still benefit
from addons like udev-alsa to have mixer levels restored
on boot; and PulseAudio-bearing images can be based upon
the same intermediate targets now without receiving the
addons they don't need.
This has been long overdue: pretending that "http server"
is an Apache2 with PHP5 was wrong for ages, and providing
apache2/nginx, php5/php7 choice along with more databases
was waiting for its user proposal.
Follow these changes in server feature as well.
Suggested-by: Altexander
See-also: https://forum.altlinux.org/index.php?topic=40290
This one enables rw session support for Rescue images;
the nitpick is that syslinux' gfxboot *will* set this up
when booting the same ISO from USB Flash media instead of
optical one (CD/DVD-ROM/RW), and we don't put gfxboot into
a standalone rescue image.
See-also: http://altlinux.org/propagator
See-also: http://altlinux.org/remount_rw
This is an experiment that should finally land in install2
but SYSTEM_PACKAGES is not enough, mkfs.btrfs doesn't land
in the installer somehow.
See-also: https://bugzilla.altlinux.org/show_bug.cgi?id=32403
mixin/e2k-desktop was asking for separation from its day zero,
and the rest just came in naturally (the temporary patch to
add lxqt and mate looked awfully with all the duplication in).
This is to make desktop+lxqt packages installable on e2k
as there's no qt4 package within this Sisyphus port and
things might just stay this way (it's long unsupported,
looks like porting software to qt5 is more worthwile
an effort).
There's one more removal though: qupzilla. This browser
fits lxqt like a glove *but* it's pulled in already by
mixin/regular-lxqt, and browser feature is available now
to make the selection more flexible. It's also going to
be renamed on the way to incusion into KDE SC.
There was a semi-awful lot of long-abandoned targets
spotted while factoring out mixins; let's just drop
these for good, and if anyone needs some of those
drop me a commit.
These have appeared in desktop.mk, regular.mk, vm.mk
over time, and there are two problems around.
The minor one is that mixins have been introduced as
handy reusable bits close in context of their use;
this practically means that they fall under the same
class restrictions as their parent targets, that is
a mixin coming from regular.mk will only be available
for "distro" IMAGE_CLASS, and so on.
The major one is probably the worst design flaw in m-p:
building images from ground up, where ground is a valid
standalone buildable target as well.
Life has shown that we rather want to build up images
the other way around, choosing what essentials go in first
and then fitting the fine details along with the packaging.
The first sign of this difference appeared with ARMv7 Simply:
we had a well-built configuration aiming for x86 ISO, still
we needed roughly the same app/environment configuration
put into armh disk image.
Those platforms were different enough that we didn't actually
plan shipping *lots* of distributions but the problem was clear,
and it was much alike to the one that sprang m-p to life in the
first place (when we had a range of "common" distros and needed
to create and maintain a set of "school" ones that mostly had
similar or even identical difference to their respective base
ones -- and we couldn't do something like conf.d/p8.mk does now).
So mixins are going to become the softer way to turn m-p's
target configuration chain upside down to considerable extent:
build up what you're going to mix into the various deliverables,
and make it as portable across image classes, hardware platforms,
repository branches as feasible so that total maintenance effort
needed goes down or at least doesn't spike too bad.
And here's the first strike at that.
Radeon HDMI as the default soundcard isn't really optimal,
and trying to push 44100 kHz samples towards 48 kHz interface
isn't going to sound great; provide sane ALSA dmix defaults
for Elbrus-401 PC workstation.
BASE_PACKAGES_REGEXP and THE_PACKAGES_REGEXP,
to be exact; the lack of handling these appears
to have been the culprit of firefox missing in
vm images which use/browser/firefox.
This reverts commit 41a3f091325aea59f361ae4edc15c37e51d4f06d:
at least build-vm doesn't do *_REGEXP (which is worth fixing
but all relevant branches got firefox-classic_theme_restorer
so this tweak is now irrelevant and a bit wasteful).
It's strange but ve/builder and distro/live-builder
along with distro/regular-builder are all mostly
"independent", that is duplicating functionality
without any reasonable gain; spotted finally.
Weird but the last round of image builds on e2k started complaining:
Makefile:95: *** target file `debug' has both : and :: entries. Stop.
Looks like these should have been fixed indeed.
But why didn't this surface before then?
Let's build an Xfce based image, got anything needed (well, almost:
xorg-drv-libinput isn't there and no one is crying over that here).
And let's change "e2k" suffix to be prefix while at that.
The early builds used to rely upon a non-committed
rootfs/files/etc/X11/xorg.conf within this feature
which was a bit annoying and would have screwed an
Elbrus system based on any other GPU.
So let's provide some flexibility by packaging it.
The current state made vm images belong to root group,
no reason to not change those to the primary group of
the user building an image.
kpartx -d -s could fail in some circumstances,
make a safety cleanup call more verbose.
These are creeping throughout m-p and aren't really needed
by default as these should be enabled upon configuration;
let's provide a single switch off point.
No need to deduce kernel version again,
just save it in a temporary file.
The main reason to change what worked is
that e2k kernel-image package has Linux bits
named as image-$kver and not vmlinuz-$kver;
the guessing logic taking all of this into
account resulted in non-aesthetic patch.
NB: there's a duplicating script within
kernel feature; it wasn't easy to avoid
this and it might differ when handling
multiple kernels, I didn't think much
about this now as vm images tend to ship
with the sole one.
It's no more built from libnice in sisyphus,
replaced by gst-plugins-nice1.0:
http://git.altlinux.org/tasks/archive/done/_180/184665/
PS: in fact, drop all of them (gstreamer 0.10 related)!
Suggested-by: Yuri Sedunov <aris@altlinux.org>
This makes more sense than with rescue as it's not only hardware
support check then but also actual functionality can be tested.
Looks like MATE is the DE we rather expect/recommend in environments
where PC/SC tends to pop up.
It's rare enough that more complete images could be used,
and it pulls in polkit with mozjs which is terrible here.
Never been a feature request but rather a TODO item,
and image size is what folks seem to be actually
concerned with.
Reverts: 29ad2393545820fd8835de95c471b937be7a9514
This hefty bunch of packages gets dropped from most of the flavours;
those ones pulling it in explicitly (kde4, kde5, mate, xfce) get rid
of krb5-ticket-watcher as it's now autostarting (which is annoying
if one doesn't really intend to use kerberos auth off a livecd).
Parties looking into integrating non-mainstream starterkits into ALT
domain or whatever are highly probably best served by a custom build
including libreoffice et al. anyways, and those experimenting can
just follow wiki instructions when needed.
Feedback is welcome, of course.
See-also: https://bugzilla.altlinux.org/show_bug.cgi?id=33518
This one has been split from regular rescue following
discussion with Will Glynn; some hefty bits like UEFI
support or an extra squashfs to check the image integrity
aren't needed, so let's just build a slimmer ISO instead.
Suggested-by: Will Glynn <will@willglynn.com>
See-also: https://bugzilla.altlinux.org/33374
This is needed for a custom autoinstalling image with grub
(as installer-feature-serial-stage3 doesn't support lilo
reliably yet); see bootloader feature's README regarding
the switch but the change is basically a no-op for the
.regular-jeos intermediate target.
The real cause is the current lack of firefox-be;
it's obsoleted but not provided anymore since upstream
ceased to provide the translation. Will have to be fixed
in browser feature if things stay this way.
This is unfortunate but Sisyphus' Xfce can't really strive with its
default /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml,
namely IconThemeName; while p8's one still does pretty good.
Thanks antohami@ for his analysis and workaround suggestion.
See-also: https://bugzilla.altlinux.org/32924
See-also: https://lists.altlinux.org/pipermail/devel/2017-February/202348.html
Suggested-by: Anton Midyukov <midyukov-anton@ya.ru>
This is moved out of lxde-lxsession deps for sysvinit compatibility;
requires logind (and complains without it) but isn't strictly needed.
Suggested-by: Anton Midyukov <antohami@altlinux.org>
...as requested by chemyakyn; the implementation
differs somewhat as the whole server+network pkglist
seems reasonable in all of the regular server builds.
"+sysvinit +systemd" looks somewhat weird,
and "+vmguest use/vmguest" is clearly a dup;
both have finally caught my eye when staring
at a long-forgotten build/reports/targets.png
for alt-workstation.iso...
NB: rider@ notes that syslogd alongside journal
tends to be problematic due to split logging
and periodic dropouts.
Drop duplicated code pulled into armh feature in haste
and another half-copy that made it into build-ve feature;
make ve.mk more explicit about what it actually does
regarding default nameservers (and switch it to level3
while at that, just for diversity they preach).
Refer to net-dns feature where appropriate
(it actually started out as an extension of
net feature but the reasons to separate it
quickly became apparent to me).
Server image might hit a system accessible via e.g.
serial console and ethernet; let's make it feasible
to install ALT there without falling back to using
http://en.altlinux.org/rescue and manual deployment
(with all stops including manual bootloader setup).
Was broken in too many places including several libraries
x11vnc currently links against getting removed, several
utilities missing, and no way to guess what to do...
One could stumble upon http://altlinux.org/vncinst
or find the implementation in installer.git but it's
not exactly user-friendly.
An initial (and quite naive) implementation was done
for conf.d/ files but features do need it as well --
which became obvious during a casual inspection of
distro/alt-workstation's target graph (which occured
broken).
The code is a messy hackery unfortunately, regexes used
are fragile regarding e.g. [A-Z_] in target names.
Read with care.
NB: lib/ might need this too but it's rather stable
and contains some special cases that would obstruct
the regexes even more...
In this case it's rather worth it to examine build.log
than read documentation again (as vm.txt should have been
read or at least skimmed through to get sudo setup ready,
and the problem might be either an environment one or a bug).
rpm-4.13 stopped bringing alt-gpgkeys in, and specifying it
explicitly for STAGE1_PACKAGES didn't help somehow; don't presume
/usr/lib/alt-gpgkeys/ existence anyways.
Manual BUILDDIR specification isn't exactly obvious
from this script (aiming to derive it automatically),
so at least point those interested at QUICKSTART
they might have long forgotten already or, gasp,
not even started reading.
The preceding commit fixes an easy but somewhat nasty bug
that spoils graphs (REPORT=1) and the fix for it spoils
merging side branches touching these files; so it's worth
a linter procedure, even if it's pretty trivial.
elinks doesn't require libX11 (unlike links2),
and webclient can become e.g. rekonq pulling
in kde4libs -- that's exactly what I ran into
while preparing 201612xx server starterkits.
This has been prepared with immense help by sem@ and our users:
http://forum.altlinux.org/index.php?topic=36177.msg299358#msg299358
(well that's the xfce-sysv livecd, sysv-xfce is pure installer
geared to replace sysv-tde for starterkits due to regressions
within the latter).
For some reason DOT_BASE only got BASE_PACKAGES_REGEXP so e.g.
browser feature use well could result in the lack of a browser
if no metapackage pulls one in!
X-Brown-Paper-Bag :-(
This is also no-op for the particular image being modified
as LIVE_PACKAGES is a subset of THE_PACKAGES in terms of
subprofiles affected.
NB: move use/browser/firefox/classic from systemd-based
xfce flavour here -- looks more appropriate ;-)
This one is slated for sysv installers (but should be rather
generic in that regard) through adding features suggested
by those users who also tend to care for sysvinit here. :)
The commit should be no-op either.
'twas copypasted from agents and a real-life interrupt
has chimed in for me to fail updating the file contents
as intended :-/
The funny thing is that it never made it to Workstation 8.1...
The goal is to provide a simple and lightweight
webcam app with the LiveCD while handing some more
advanced one under a multimedia checkbox for installation.
This has been split during the preparation of initial commit
introducing this file as indexhtml wasn't ready for release;
now the time has come to fix it (still mate-settings need to
be mentioned separately).
The distro description grew package by package
and started resembling a pile of those; let's
finally reorganize it with lists and generally
improve layout (should be no-op otherwise).
See the discussion of the changes in basealt.mk
package lists in preceding commits touching it.
This means potential iSCSI installation support
which isn't official though; having binaries handy
even if consoderable runtime configuration is need
is still better than lacking those.
How could I miss recoll even if I didn't know about solaar?
(which jumps into panel at the session startup time so let's
hold it to the available packages but not install away)
Suggested-by: Erik Palvanov <erik@tonk.ru>
Note that these might have problems being *installed*
together, consider using this list for MAIN_LISTS only
(or providing more feedback).
Suggested-by: Erik Palvanov <erik@tonk.ru>
It's at least removing the very obvious user->root
attack through (maliciously) modifying bin/tar2fs
and waiting for it to be run; if mkimage-profiles
is installed system-wide as a package, the script
from /usr/share/mkimage-profiles will be tried so
those willing to allow vm/* build to themselves
can provide for a passwordless sudo (as described
in doc/vm.txt) to run a root-only writable script,
not user-writable.
Still not perfect but a step away from the abyss.
It turns out that -regular pulls in too much
(including xfce-polkit that doesn't work with
sysvinit); let's provide means to have it both
ways, need xfce4 4.12-alt5 or later metapackage
for this change to be effective.
The issue at hand it _nmconnect group that's supported
in ALT NM for polkit-less cases; it has to be added
*before* 50-users hook from deflogin feature fires off.
The existing systemd-related hook has been renamed
to reflect its job better.
It's added to installed system and pulling 200+ megabytes into
LiveCD isn't going to help the image size; the practical limits
being tested by that were 3.0 Gb x86_64 ISO making it impossible
to fit RW partition onto 4 Gb USB Flash ("1 Gb free" test added)
and booting it on a 2 Gb RAM system without "lowmem" option would
fail on ~95% of squashfs-to-RAM loading process or so.
TL;DR: one browser in a *LiveCD* should be still enough these days.
Provide both tesseract and its Russian langpack
for Workstation; the proper solution would be to
tweak l10n feature to be able to dynamically
configure things like this given languages
to try and support (not easy though).
These deliver *-preinstall packages (thanks cas@).
Yes, a local sysadmin still needs to actually get
those wares (if they do) but it's less pain when
the libraries needed are in place.
The changes might have been a bunch of one-liners,
these have accumulated though and let these live together:
- add Chromium browser;
- add "LiveCD with sessions" (upon fixing real RO LiveCD mode);
- provide better Bluetooth support out-of-box;
- fixup services (mostly related to "KVM server" checkbox);
- use the renamed "workstation/raccess" pkglist/group;
- demote ClamAV from base component to a checkbox (off by default).
acpi-events-power is clearly unndeed here
(it's rather a distro-level knob), and
powermgmt-base is a bit problematic by now
(e.g. conflicts some of libvirt dependencies
which is a release-blocker for Workstation).
Better options are welcome.
This is to get rid of a "useful" component in default installation
but to keep it available for those who might need it for some reason
(like regulatory one).
...at least for X11-carrying images; vseleznv@ says he's seen
a conflict with libinput resulting in touchpad disfunction.
Reported-by: Vladimir D. Seleznev <vseleznv@altlinux.org>
Sad to have to do this but until Seamonkey Project
releases something they don't warn against themselves
our users can't be bluntly subjected to using a *known*
vulnerable browser.
This one is related to forensics mode handling in mkimage:
there's a regex that's expecting the old string ending with
hash value, and it stops working when this is changed here
(at least as of mkimage 0.2.18).
So partially undo the change for this particular file to avoid
refind's example menu for regular-rescue.iso (or any other image
involving forensics mode), and hope to revert this commit some day.
This keyword was misused due to the lack of understanding
of its meaning; thanks zerg@ for the hint, let's hide the
kernel boot parameters not expected to be modified by user
under the hood (and vice versa in some cases).
Note that this is just a keyword shift in all cases
but mediacheck where "showopts" is now added.
NB: this keyword is only relevant for gfxboot.
First I thought leaving it enabled for some images might be good
for testing but someone has asked if it's going to be fixed
in regular-kde4.iso:
https://bugzilla.altlinux.org/32377
No need to shorten most of the image names now due to #28271:
"ALT" prefix is 6 bytes shorter than "ALT Linux" and this
changes a lot for these particular names (<= 32-byte long)!
This is hopefully the final change regarding trademark
related commit "series" tracking change from ALT Linux
to BaseALT and now to ALT; starterkits get this too.
It appears to be the culprit for the "mouse fell asleep"
problem due to not-so-careful use of autosuspend against
hardware that doesn't implement that correctly.
Let the disable-usb-autosuspend hack remain though as
those wishing to enable powertop service might be helped
by that (I've seen a Logitech mouse willing to exhibit
this problem even in its presence though).
Now that we don't ignore X-Alterator-PackageList
in pkggroup files these few places referencing
group names as list names have broke; bring 'em
in line through this new and shiny function.
NB: PKGDIR might be overridden now so that these functions
can be used within both metaprofile and generated profile
contexts; this isn't clean but I couldn't come up with
anything better so far.
These mostly come from m-p-d but have been heavily reworked
for the new workstation distro, here's a list of the
typical changes:
- changed X-Alterator-Parent from centaurus-desktop
to a more fine-grained toplevel entry;
- tweaked Categories for the desktop file (e.g. pidgin);
- packages added or removed (like sane to scanning);
- adapted for m-p's biarch support scheme (see emulators);
- renamed more appropriately (for example, 3d -> blender);
- improved descriptions (e.g. by adding specific product
names to groups referencing single-package lists).
Several ones were done from scratch.
NB: lists/groups have been moved into workstation/
and intersynced accordingly.
This has been spotted by rider@ and reproduced by me as well:
some touchpads would work in livecd/installed system but not
within the installer itself.
Commit 514652f has broke GLOBAL_CLEANUP_PACKAGES by accidentally
excluding it from export (in favour of GLOBAL_CLEANUP_BASE_PACKAGES
that's been added then); fix that.
Make it prefix not suffix so that sorting order
in alterator-pkg is natural instead of chaotic
during installation; turn some implicit "tools"
into explicit ones for consistency either.
Another zerg@'s surprise was the change with amarok,
k3b and ktorrent packages in sisyphus/p8: these have
been changed to use kde4libs/kf5 and KDE3-related
packages have now been renamed to kde3-*.
Handling this without metapackages is more tricky
so do just that.
This script was completely careless regarding the chance
to meet an empty variable resulting in plain "rpm -qa"
and subsequent attempt to, well, remove *all* packages.
Thanks zerg@ for being persistent this time, even if
he could probably find the culprit and send in this patch.
:)
The problem at hand was that use/x11/xorg has been final,
and zerg@ just couldn't switch from nouveau to nvidia
when kdesktop needs that one.
Initial approach included a "big" FREE/PROP switch that
chose the particular KMODULES/PACKAGES to get added to
THE_* but that fails to achieve e.g. nvidia+radeon combo;
looks like these need individual switches.
Current lxsession would offer to lock screen but will silently
fail within default regular-lxde.iso environment (that does lack
any kind of X screen lock utility); add some.
This is a nice utility clamping default power strain
*and* heat generation on intel-based PCs; I was actually
surprised to see it available but not firing off at system
startup time; fix that.
stage2 only allows to run certain scripts and install packages, but
sometimes one need just to copy something to stage2 (like stage1 does).
How to use:
put files under ./files directory with the same structure as on
resulting image.
The use case at hand was: "we'd better backup this system
to a flashdrive before installing" (given quad-core CPU
and half-terabyte HDD); pxz is pretty tiny, no worries.
There were two problems:
- the latest pgsql related groups made installation
impossible (yes, that last minute change);
- hardware testing shows that use/stage2/kms is now
requisite as xorg-drv-fbdev might just refuse to work
with what looks like a perfectly good framebuffer...
Do away with them *quick*.
This starts a sort of "server merger" by consuming
both samba4 and hyperv subflavours into checkboxes.
Rationale is pretty clear: environment -- including
hypervisors -- is just an install/run-time variable,
and the set of initial services is another one;
no need to maintain a distinct image for each value
when we've done enough of that to know we can merge.
This is a clone of tagged/server+sambaDC pkglist
with added metadata *and* an installer feature
to make things happen at install time; not sure
if regular-server-samba4 is going away any time
soon though as it's useful standalone too.
"Failsafe install" disabling APIC/LAPIC looks somewhat obsolete
by now; the only reasonable part seems to be the attempt to force
VESA videodriver for the installer (should be done within installer
itself though).
This is to avoid "unzip.zip" situations with some NICs:
those needing extended firmware package (which is hefty)
can at least install it by hand off the ISO.
*Maybe* a switch to use/firmware will appear reasonable
some day for this image either, don't know yet; this adds
firmware to installer itself (should only be needed if the
storage device used for rootfs *needs* firmware found in
that package as networking setup is omitted from JeOS
installer).
Rationale: it's the minimalistic image for those who know
what they're doing, let's maximize their chances to get it
installed and running by using a recent kernel.
My failure to recognize that it is a "generic" server that
might need some generalization and not an already specialized
one like OpenVZ HN installer had to be fixed up some day;
today is fine.
Basically, let's move package groups ("checkboxes") and alterator
from server-ovz to server, and maybe beef it up a lil' bit more
later; server-ovz is still far from jeos-ovz but the difference
that looks unmergeable is strict sshd control setup that's going
to bite those unsuspecting, so let's leave it for those of us
who are more suspicious of stray ISOs. :)
A classic brown paper bag bug: this was typed in a hospital
and that commit was a sick one indeed, the condition should
have been the opposite.
Reported-by: Ildar Mulyukov <ildar@altlinux.org>
Closes: #31982
"Forensic mode" submenu has fallen apart after the original commit
as the tricky logic in mkimage::tools/mki-copy-efiboot failed to
pick up the new variant; this should all be redone (solo@ has
started doing something but it needs a time-consuming review).
Fixes: 79d02088411e
use/docs/license will copy the texts contained in branding
package ("notes" one) over to the image's rootdir so these
can be read with ease; otherwise one has to look up the
right package at best (or unpack squashfs, no user can be
really expected to do that just to *read* a *license*).
This was originally profiles/scripts.d/01-copy-license
script from m-p-d; got cut down heavily.
The problem at hand was that an installer component
of a "DVD class" image does use/cleanup/installer
while installable LiveCD component gets broken by that
(livecd-install -> installer-scripts-remount-stage2
which gets removed as installer-*).
Split those.
Failing to kaboom just in time can make (and has just made)
it harder to figure out the culprit down the road; e.g.
metadata target's tar(1) might fail to find *some* files
that haven't been copied over due to a single one missing
by that run.
Package profiles -- the ones allowing for a multi-purpose
installer -- have been basically overlooked during previous
mkimage-profiles development, unfortunately.
This is the very basic part: put them into pkg-groups.tar.
This is to support Centaurus-like images featuring
more than a single installation profile (e.g.,
"workstation/server/minimal").
Quite a few more modifications are needed to do it
right though as m-p has fallen prey to exactly the
"single root composition" assumption with its current
THE_* variables semantics and processing.
THE_* variables serve user needs while shim belongs
to either SYSTEM or COMMON level packages, not needed
explicitly for stage1 though (mkimage will put it there
when needed) so it's just COMMON.
It's not reasonable for use/firmware/laptop to depend on
use/firmware/wireless as some laptops come without WiFi
cards and wireless userspace to use those is specified
elsewhere anyways.
This might (and probably should) get split into
{base,desktop}+cups somewhere down the road,
maybe when we do print servers again; let's keep
things simple at the moment though, we only need
this for desktop images.
This partially reverts commit 30d3838: trying to use/rescue
with e.g. distro/simply results in conflict between SysVinit
and systemd-sysvinit; INIT_TYPE had to relation to RESCUE_LISTS
in the first place. Ugh.
This cp(1) option has been employed already but just for the lists
(and still incomplete as it didn't cover the names coming through
groups mechanism); thanks sem@ for trying out groups/simply/*,
failing to build an image and reporting the problem.
Reported-by: Mikhail Efremov <sem@altlinux.org>
This has long been a TODO item but an elegant solution
just didn't come until the night before starterkits...
some services (mostly those operating on real hardware)
do not fit virtual environments at all, won't even start.
Turns out that this package made cinnamon's terminal mix up
font glyphs (latin ones would appear vector ones from it,
and numeric ones would come from a fixed bitmap font).
Any additions should make the set better so if any particular
image degrades we'd better fallback and regroup.
PS: boyarsh@ tells that this well might be an infinality problem.
It's not only related to jeos-ovz but also to jeos
it seems (even if more fixing is clearly needed in
sisyphus case as e.g. radeon driver might still
refuse to work).
The default "ALT Linux IMAGE_NAME/ARCH" turns into
"ALT Linux altlinux-p7-FLAVOUR/ARCH" which is both
redundant and prone to hitting the ISO9660 volume ID
length limit of 32 bytes (see also #28271).
It'd be better yet to avoid installing hardware-related
packages for a purely VM-targeted distro but it'd require
some more intermediate forking; while its objectives do
include reasonable minimalism it's not as ultimate as for
jeos images, thus let's keep some superfluous services
around (but disable them).
I've read about it while working on http://altlinux.org/upstream page
and thought that providing it within ALT Linux Regular/Starterkits
project builds would be reasonable (upon having checked it of course).
shaba@ asked if it's feasible to extend 50-net-eth
with a generator for systemd-networkd style configs
having provided examples; here it is (depends on
/etc/systemd/network/ being packaged into that one).
(fixed up by shaba@'s removal of superfluous quotes)
gdm2.20 seems rather obsolete by now, let's move on;
and m-p doesn't just lump a huge bunch of stuff in,
vector fonts for installer are requested explicitly.
...by moving reference to a package list that *deducts*
packages from a feature (that should lend itself for reuse)
to a particular distribution's configuration (that can have
some specific polish).
The problem was that basing junior on slinux feature while
adding some KDE/Qt-based packages to it failed miserably
in a hard-to-debug manner: adding every package that's been
requested but not installed by hand suddenly made it build,
see also http://altlinux.org/mkimage/debug [ru]
Removing packages in a feature's pkglists that seemed to be
reusable caused to have been a disastrous idea; fix that,
and let the distro-specific bits care for particular removals
(if these are still needed with m-p).
Based on ALT Linux School 7.0.5 Junior and Simply Linux target:
- simplify rules
- use list with educational software missing in Simply Linux
- fix Simply Linux build on Sisyphus
mixin/desktop-installer became *quite* inobvious
even for me over time, and it's not easy to grep up;
let's introduce explicit targets where one is expected
to expect those.
rootfs scripts should hit installer some day; the problem
is with variables (dumping 'em wholesale looks dirty,
and proxying those sort of defeats the approach)
rather than with scripts.
Until then, transform the data from the single variable
into a file containing one facility per line for
installer-1.8.31+ to consume.
The issue at hand is that recent xorg has suddenly started
to both depend on kernel modesetting *and* not fail through
towards e.g. vesa driver which would save the day for minimal
environments like installer; I definitely don't want to plug
a pile of DRM modules into this image for just this reason.
~/.gitconfig is only relevant when git-core is installed,
no need to put it as a standalone item (turned up when
discussing things with cas@ on the way from #OSEDUCONF).
As noted in the comment, these include a few quite strong ones:
- sshd(8) will only allow in "wheel" and "users" members
by keys, no password access is allowed;
- password change even by root is subject to quality checks;
- su(8) is only useful to lower privileges and not gain those
(so root access is available either through local console
or via use of ssh keys).
Don't use if frowned upon.
We've been pruning quite a few packages from a recently installed
altlinux-p7-server-ovz instance; looks like server-ovz's added
functionality should go into plain server instead, and -ovz flavour
should focus on bare metal HN.
In particular, bash-completion-1.99-alt3 seems to misbehave with
mount(8) at the very least -- better drop it for now.
This is based on distro/regular-jeos but torn into two
and somewhat updated for sisyphus-going-to-bring-p8:
1) libcap-ng is now required by util-linux;
2) bridge-utils might be needed for subsequent images.
Those packages which are *required* should be available
for standalone use; and those which are optional should go
into extras.
Adjust server feature accordingly.
The issue with these "; @:" thinglets is that mkimage-profiles
relies on target tracing (see commit 788cad8 some four years ago);
and this tracing approach relies on non-empty recipes which do call
shell (which gets (ab)used) unlike empty ones which oviously don't.
So this _will_ be traced properly:
a: b
@echo "hello world"
and this will too:
a: b; @:
but this will result in a broken graph with REPORT=1:
a: b
kf5-i18-ru, in this case (of course this should be handled
by a proper l10n subsystem -- yet another use case for it,
just not clear what exactly do we want).
icon-theme-oxygen is required by kf5-oxygen <- kde5 <- kde5-big
by now so it's not needed to specify it explicitly anymore;
and zerg@ has just packaged some translations, let's jump in!
Thanks glebfm@ for noticing that Simply (an m-p-d product)
takes no kernel inside squashfs but relies on livecd-install's
50-restore-kernel.sh hook to copy the kernel from iso9660
and regenerate initrd (which is a must anyways but requires
System.map to be still around).
This saves about 3 Mb in ISO size for a LiveCD using
kernel-image-std-def-4.1.15-alt1.x86_64.rpm.
Merge commits aren't going to be merged upstream
for these break all sorts of git tools including
log -p, blame, bisect, etc (or make their use less
convenient).
Sometimes we tend to "just" translate the code to human
which doesn't really help; what usually helps is noting
down what the code author intended to implement or fix,
and what was the case for that.
Either /etc/hasher-priv/system or /etc/hasher-priv/user.d/$USER
must contain at least "allowed_mountpoints=/proc" for mkimage
to work for mkimage-profiles; thanks Daniil Golovanov for
providing feedback indicating the lack of the corresponding
checks.
These have been partially inspired by inquisitor's
build/altlinux/profile.live/packages collection of
more or less benchmarks/burn-in tools.
Those requiring libX11 won't hit regular-rescue.iso
so let's put them on a file of their own.
And while at that, there are a couple of MPI/IB
benchmarking tools as well.
THE_KMODULES isn't referencing the actual *.ko files
but rather kernel-modules-* packages; it was a bit too
verbose to name *_KMODULES as *_KMODULE_PACKAGES even
if it was more self-explanatory of course, but still
we've got the first victim to that ambiguity.
There's /usr/share/qt5/translations/ now too, handle that.
OTOH we've got some CJK support already, time to split up
those "cleanups" into some target locale set dependent form.
It's been proposed to add an image writing tool to all of
the desktop regular builds (which is reasonable).
rosa-imagewriter depends on qt5 that's currently found in
lxqt, kde4 and kde5 flavours only so let's put it there.
imagewriter (the openSUSE's original one) goes to the rest of
DE builds: xdg-su would fallback to gksu if none of the desktops
got "detected", and that means several more megabytes of crap
(completely unneeded in WM-based images I think).
It's lacking in server starterkits for no good reason;
if there's another well supported MTA some day that's
challenging postfix as the default in any images,
just drop me a note/commit.
This is to avoid systemd components getting pulled in
during early dependency resolution stage for no good
reason (see also http://bugzilla.altlinux.org/30806);
should be fixed within mkimage so that hardwiring
both sysklogd and etcnet here gets unneccessary.
This reverts commit 1c44272f0068d2b2c425b69bd3d685fdcadb8419
which breaks p7 builds with sysvinit emitting this message:
E: Couldn't find package systemd-services-
Enlightenment is a long enough word to trigger #28271;
E, on the other hand, is pretty slim to fit that space.
"Volume id: ALT Linux regular-enlightenment/" just isn't
pretty at all.
rider@ asked to move gnome3 to un-def kernel flavour,
and there's an unofficial policy for regular builds
that these carry reasonable diversity (in a good sense)
as in various kernels, inits, etc; that diversity would
drop a bit of both GNOME3 based flavours would end up
with the same kernel, so let's mv not cp.
The issue at hand is that:
/etc/tcb/USER/shadow gets USER:auth ownership (OK);
/etc/tcb/USER/shadow- backup file is root:root (broken);
/etc/tcb/USER/shadow.lock file is also root:root (broken).
This is observed for all pseudousers created by package installation
process within working chroots as well as for users created by deflogin
feature; the problem is that e.g. echo USER:PASS | chpasswd will break.
Looks like the cuplrit might be fakeroot/faked.
Samba 4.x in domain controller mode works with "samba"
service, not legacy smbd/nmbd/winbindd; all of those
must be stopped before running the newly-configured one:
http://altlinux.org/SambaDC
This has no users in master but out-of-tree branches might need
a trivial update.
The rationale is that it's actually for *any* stage2 and not related
to specifically "install" at all (otherwise it should have been moved
to install2 feature altogether).
Note that there's no reason to add nfs-utils similarly as make-initrd
requires kinit-utils which includes its own nfsmount.
All regular images (except for jeos) should be able to work with
or install via NFS, and nfs-utils dependency is finally being
removed from the package carrying mount(8):
https://bugzilla.altlinux.org/31498
Some people might end up with setup that leads bin/mktmpdir
to accept e.g. tmpfs on /tmp but that's not enough to build
a larger image (e.g. 2 Gb RAM); let's quickly hint that it's
not the only way to go :-)
Done due to Balbes' (quite reasonable) suggestion
to do so for all of the installable regular builds
as changing disk partition layout is better made
with the proper tool.
Drop qtparted from lxqt pkglist as it's broken :(
See also (in Russian):
https://forum.altlinux.org/index.php?topic=35681.msg269732#msg269732
samba-DC-4.3.1-alt1 package set introduced task-samba-dc metapackage,
let's use that one while still carrying around what's missing there
and got collected here.
It's a GTK utility, in contrast to the rest of LXQt;
and looks like it's not that needed anymore with
better native display setup (if anyone does prefer
arandr in this particular image, drop me a note).
lxqt-lightdm-greeter is finally *really* deprecated,
LXQt's build system has changed enough to warrant its
FTBFS without the same changes.
Note that this won't cut it for p7 starterkits anymore.
This one adds a "classic" GNOME2-like session;
one needs to select it by hand though, and gdm
won't bother them with a selector "gear" widget
unless there's a password set for the user.
Thus no autologin without explicit session
specification seems possible so far.
Note that there's no way to have gdm without
gnome-shell currently.
The "best" "feature" of systemd "init system" has just
emerged once again: it will happily sit there idling
given startup or shutdown loops resulting in what looks
like a hang to an unsuspecting user; let's provide the
suspecting one with at least some tools described at
http://www.freedesktop.org/wiki/Software/systemd/Debugging
use/browser/firefox/esr was not enough to actually select firefox-esr
as the FX_FLAVOUR handler was simply not getting included (see also
the preceding commit); specify it explicitly.
The future mod might be introducing some "live" flag for that feature
to use it instead of adding livecd-webkiosk-* packages by hand...
The issue with this was that plain use/browser/firefox/esr
didn't actually pull in the feature as such; it MUST NOT
pull in use/browser/firefox since it will change semantics
from "if it's Firefox make it ESR" to outright "use FX ESR"
(starterkits depend on the former and it was intentional).
Both kde5 and xfce-sysv have received their fair share
of criticism for substandard fonts; zerg@ has proposed
adding droid fonts to the former and someone expressed
their frustration with Terminal fonts in the latter:
http://www.opennet.ru/openforum/vsluhforumID3/104750.html#70
Let's try to make some difference between Xfce based
flavours as well by changing the kernel to a bit more
"bleeding" one as proposed either.
It was observed in regular-gnustep-20150916-*.iso that
mediacheck boot target sort of starts plymouth bootsplash
when not intended to; let's plug this by moving +plymouth
away to a test image *but* there are couple things with it:
1) supporting plymouth in mediacheck *might* be a good thing
for distros proper -- this will likely require some support
on bootsplash theme side either;
2) it's not enough to just drop @bootargs@ from syslinux.cfg
snippet as the extra payload will still go in to no avail.
Both starterkits and live webkiosk images carrying Firefox
are switched to ESR packages by this commit; note that those
images with other browsers aren't affected.
FX_FLAVOUR variable can be set anywhere to switch
use/browser/firefox to prefer ESR packages, including
the appropriate localization ones.
Note that there's no dependency as it can be set in e.g.
starterkits (still unset in regular builds) wholesale
but shouldn't affect those of them lacking firefox.
This has apparently been a TODO item stuck until finding out
whether efi and isohybrid conflict or not; it's been a *long*
time since this has been found out (no conflict) actually,
let's add isohybrid to all of the images as it's completely
free size-wise and efi to chromium image as it's the largest
base one (I don't think that adding any extra functionality
to the already overweight and full of potential and kinetic
security bugs "flash" flavour is a good idea as it would
promote its use among those who need EFI but not Flash).
The sort key field value has been off-by-one apparently,
"6" corresponds to "capacity" field of df -PT output
while the "available" one was meant:
Filesystem Type 1024-blocks Used Available Capacity Mounted on
/dev/sda9 ext4 15350768 12799972 1747980 88% /
tmpfs tmpfs 1967204 27396 1939808 2% /tmp
1 2 3 4 5 6
This lapse has been five years old, looks like it's only
been masked by lower available space limit *and* filesystem
ordering by type so far. It didn't hit me even now, rather
inspected the code while implementing volumes-profile-starterkit...
The reason behind this silly patch is that the default URL
can be left alone with no rebuilds neccessary but with the
intranet services delivered through a "captive portal" or
a redirecting proxy; we definitely don't want the canonical
wiki URL, http://www.altlinux.org, blocked by a rule made
for redirecting the default homepage, so let it be another
one which is served but not widely known or linked to.
Wish this was done before starterkits alpha but still;
here are the preliminary (unqualified) test results:
- cinnamon: OK (vi_VN, zh_CN, ko_KR)
- gnome3: no way to change the hotkey; menu font troubles
- kde4: OK but lacks corresponding localization subpackages
- lxde: OK (vi_VN, zh_CN, ko_KR)
- lxqt: imsettings-xfce somehow gets in (unrequested!)
- mate: unable to change hotkey, applet complains to stderr
- tde: native apps don't recognize ibus input
This makes use of IM_PACKAGES variable processed by
newly added im feature so that DE-specific targets
could tell which DE-specific IM packages they'd like
on a system *iff* use/im has been requested.
Might be lacking right now, to be sorted out with
the actual users.
It's a simple text editor quite popular among
debian/ubuntu users for some reason; let's make
it available so that those uncomfortable with
vim(1) aren't totally at loss.
This one has been brewin' for quite a while but has been
completed finally; some tweaks sure can come in later but
it's working.
Please note that it's rather needed for "proper" distros
with specific branding and docs packages prepared for those;
one should use l10n feature most likely too.
The "full" target should care for rescue bits as well
(remember that THE_* won't go there); thus regular-rescue.iso
will receive these couple hundred useful kilobytes as well.
The flexible KFLAVOURS handling has a downside:
if no packages match the regexp it's silently OK
until too late, and the error is incomprehensible.
Let's fix the latter at least.
I decided that it's worth the added size to sprinkle more
hardware-related packages like SANE throughout the regular
crop so that compatibility tests are easier to do; there's
sane usage in there already, let's port live-gimp over too.
...now explicitly.
The problem started with systemd being tossed in but was ignored
for some time -- until systemd-221-alt1 gained X11 dependency
through /etc/X11/xinit.d/ script and triggered the libX11 test
that breaks regular-rescue.iso build.
pam_systemd and systemd-services still get in (and can be removed
by hand with nothing else requiring those).
It's the very same problem that must be solved within mkimage:
some package lists get expanded early and some late thus having
no chance to influence apt's choices of alternatives made early
(in fact, too early).
Until that, here's another kludge...
PS: turns out that ^systemd- is not "drop ^systemd" but rather:
systemd-analyze
systemd-coredump
systemd-journal-gateway
systemd-networkd
systemd-sysvinit
-- thus one /really/ wants something else.
This one was an experimental but the server is long
offline and isn't going back up; remove the obsolete
config snippet, if/when it's done again it's the easiest
part to be restored (the implementation should provide
HTTP/FTP/NFS-publishable deliverables without the need
to extract those from ISO images).
This one relies on the controversial polkit-sysvinit package
that subverts policykit using well known groups to make it
"work" for things like NM and shutdown helpers.
See also http://altlinux.org/sysvinit and feel free to improve.
Both Xfce-based images have been falling back to
a completely wrong Monospace font alias implementation
at least for ASCII part which resulted in hard to read
Serif font in Terminal (even if e.g. Cyrillics are OK);
adding Liberation seems to work around this.
Too bad this commit didn't hit the recent starterkits.
/etc/sudoers is persistent with regard to userdel(8)
so removing a LiveCD user isn't going to drop this kind
of the added privilege and might result in an unintended
grant of those by adding a user with the same name after
permanent LiveCD installation.
This has been spotted by Speccyfighter:
https://bugzilla.altlinux.org/31071
This one is alike to install2's one; it's not a shared rootfs
script/variable though as contexts differ a lot, let's be careful.
The commit has been missing from 1.1.64 somehow, found in patch
series while figuring out why LIVE_CLEANUP_KDRIVERS seems to be
just ignored in live-privacy *after* the massive rebase of that
branch...
This one has formed off the recent addition to regular-rescue.iso,
namely the feature starting network and sshd upon generating some
random password and setting it as the root one for the (remotely
started) livecd session so that a person operating an IP-KVM/iKVM
would be able to boot off the ISO file via virtual media and then
look up an IP obtained via DHCP and the root password.
There's a convention that syslinux configuration snippets
carrying the names of subprofiles involved are picked up
automatically; there were a few special cases already
when this is actually inconvenient, and there's another
one at hand so let's just step up and do it.
NB: this is a sort of a hacky hook though, wish an elegant
interface would come to mind some day.
The added initscript used to be purged by 98-init-rescue
which has been somewhat overlooked during vain attempts
to build an image that would actually run it!
The goal of implementing rescue_remote was regular-rescue.iso
indeed; so let's both add it and bump the default boot timeout
to 600 deciseconds, that is, a minute: 20 seconds might be way
too low for some slow IP-KVM/iKVM use cases.
This one provides cmdline arguments for startup-rescue >= 0.24
which would bring up networking and sshd in its turn thus allowing
remote access to the host booted in this mode.
The feature has been asked for by many people including mithraen@
and valintinr@ (and I'd make use of it another day too).
See the appropriate startup-rescue commit description for notes
on implementation; this default set of variable values should be
both useful and illustrative though.
These packages have been proposed by valintinr@:
- stress is included in SRCD and was found useful;
- winusb is handy when dealing with legacy OS media.
A recent commit has dropped wireless support from
regular server images; staging modules might still
come handy in some situations, let's keep those in
but not as a part of default installation.
Yet another age old bug: `sfdisk -l' is mimicking what
a person does by hand but the script is rather interested
in what `sfdisk -g' provides, that is, geometry.
And it's stupid enough to only grok C locale.
It's all started with glebfm@ wondering why
kernel-modules-v4l-std-def ends up installed
with altlinux-p7-server-ovz.iso; this has been
tossed in by kernel-modules-staging-std-def
which has been requested by +wireless.
WiFi support is nice to have handy when one hits
a wifi-only device and no means to bring networking
up (the infamous "unzip.zip" situation) but it's
a bit too much to force a bunch of extra drivers
specifically known for sub-par or unknown quality
onto everyone installing an ALT Linux based server.
So let's contain that feature to desktop/rescue images
and exclude it from their common base with server ones.
It's been added to al of tde-based images
but it looks like LiveCDs make more sense,
and it's the regular-tde.iso that hits both
regular builds and starterkits; let's put it
there and hope it gets spotted appropriately.
It pulls in a huge pile of dependencies including
libopenblas -- this should be fixed in repositories
of course but let's do something on our end too...
It's been both somewhat problematic as of plymouth-0.9.x
due to broken rendering and explicitly asked for by asy@
regarding sysv-tde starterkit which makes sense for an
image targeting low-resource systems as well.
It's been noted by aris@ that the experimental
regular-leechcraft.iso lacks both upower and bluez;
let's try and add those missing to all of regular
desktop images.
This is our answer to this VZstats FAQ entry:
Q: Why is it opt-out rather than opt-in?
A: We just don't have a good place
(such as installer or some GUI)
to ask you for opt-in.
Well ALT Linux got one. :)
The new archdep part has been initially included into
"The Basics" chapter which it doesn't really belong to,
let's move it into Addendum.
NB: I'd better try building a package and skimming over
at least the index upon having modified docs next time.
This is an initial implementation of architecture dependent
contents handling for package lists more or less in the vein
of mkimage-profiles-desktop's one *but* using suffix part to
filter words in or out *not* prefix part to replace it with
a comment marker (thus filtering out lines).
The syntax should be pretty obvious:
a b@i586 c@x86_64
will get "a b" given ARCH=i586 and "a c" given ARCH=x86_64;
please see doc/archdep.txt for a more elaborate description
and a conversion script.
This one has been brewing since last autumn but the need
to cut down the stage1 (propagator) modules has been stopping
the code from showing up in master branch; now that the proper
infrastructure is in place it's there too.
This one is likely to get just a single user right now
but the future potential is clearly higher.
Please do review libzmalloc implementation if concerned.
This is sort of laying the ground for the future dismantling
of 10-stage2 (which was sub.in/stage1/modules just recently);
things look like tagged lists might become due some day, e.g.
"net+usb" or "scsi+raid" -- time will tell.
These are aimed to test the modules.d/ and auto-pickup
implementation as well as to present an example.
At least 50-net might change (or just get renamed to avoid
auto-pickup) some day as the "net" feature's meaning is
to provide networking upon bootup and these modules are
only needed within stage1 if we're going to netboot;
and that's quite different thing.
armh-cubox bits are prone to get renamed/generalized too
since e.g. ArmadaXP based server images are going to need
this as well.
These were produced off the single sub.in/stage1/modules
file using this scriptlet to prefix/annotate the names:
grep '\.ko$' modules \
| grep -v / \
| while read m; do \
echo "$(find /lib/modules/$(uname -r)/kernel/{drivers,fs} \
-name "$m" -printf %P $m $(modinfo -d "${m%.ko}" 2>&1)"; \
done
...with subsequent sorting and manual separation.
This is meant to be the second stage in monolithic modules
file split, so the lists themselves are largely unmolested
otherwise. The plan is to further split those into prefix-
and module-specific ones.
Add a note clarifying 10-stage2's status, by the way.
What was a static sub.in/stage1/modules (and the only one)
is now features.in/stage2/stage1/modules.d/10-stage2
(basically a compatibility file that might go some day).
It will be auto-picked as its name corresponds to the
NN-SUFFIX pattern specified in stage1 subprofile now
with $(FEATURES) going into default STAGE1_MODLISTS.
stage1's got prepare-modules target collecting
modules file snippets all over stage1/modules.d/
subdirectories within individual features.
stage2 now adds names of all the features going into
a particular image as snippet file suffix list so that
individual features don't have to register themselves
twice (as a feature and as a propagator modules.d
snippet carrier).
This is going to allow both "uncommon" modules getting
included with no problem (sin@ has wanted cifs ones
for quite some time, for example, and some want e.g.
infiniband modules) *and* to reduce the actual list
below the common mark as well (which is the case with
live-privacy image, for one).
And stage1 memory consumption does matter in some cases
as it's highly critical with no chance to use swap yet.
...and split off use/live/.base *without* use/deflogin/live.
There's need for live images without predefined logins
(like e.g. live-privacy image).
NB: this commit might break things for someone, please notify.
The unfortunate thing is that we have to take care
for sessions, somehow; still there are only two for now
(LXQt and KDE5 Plasma Desktop) so this doesn't look like
a disaster just yet.
It was found out during the "from scratch" walkthrough
over http://altlinux.org/m-p with a new user that the
proposed test build run isn't clear regarding the proper
current working directory (wiki refers to QUICKSTART
copy over at http://git.altlinux.org, and this file has
been written with assumption that it's being read from
within the repository's toplevel directory; the resulting
context isn't consistent in that regard).
e.g., `make distro/icewm' instead of `make distro/icewm.iso'
would be "successful" as there's a corresponding target indeed
but the "success" would just mean building the configuration
without running the actual build.
Thanks cas@ for hitting this issue and reporting it.
PS: note that the initial flagless implementation turned out
to produce false positives for e.g. `make distclean'.
This one reduces the amount of output that's only
interesting when one is actually watching the console
during builds (at least the early stage) -- these tend
to look boilerplate and be useless when inspecting the
output of a large batch build like [[regular]] one.
The __frontend variable was introduced to address the needs
of alterator-mkimage module: list the images available in
one column, purge the builddir.
Looks like we should consider other cases with redirected
stdout (cron builds, piped calls, etc) like fundamentally
non-interactive and behave the same.
So commit 3a8af6b55d888d25c1d97561ed2ecf37ff28ad71's
description is wrong now; the current cleanup rules are:
- if CLEAN=0 or DEBUG>1, don't do it;
- if CHECK or REPORT is set, don't do it;
- otherwise if at least one of the following conditions is true:
+ there's more than one target being built in a row;
+ stdout was redirected (cronjob, alterator-mkimage...);
+ metaprofile directory is read-only
...then do a distclean.
If that doesn't suit your needs, describe the particular
situation please.
Thanks cas@ for wondering aloud whether greppable output
is unsupported with `make help'.
sem@ noted that it had to be dropped from xfce4-full metapackage
as this package is built on top of gstreamer 0.10 and the API it
uses was dropped from gstreamer 1.0 so it's gonna die some day;
upstream recommends xfce4-pulseaudio-plugin but it's not suitable
to some of us, like Speccyfighter; well let's add the good ol'
plugin to sysv based flavour for now and see how it holds.
This one is a minimalistic one to test propagator
without having to add the debug stanza by hand
as well as to run stage1 build/test cycles faster
(would have helped me understand the recent thinko
with xhci-hcd vs xhci_hcd, for example).
Yes these bits are related to distro/ prefixed images
still the overgeneralization in distro.mk didn't pay off
but rather hid a bug with the only boot/isolinux in use
having no dependency on use/syslinux (which is required).
Maybe this will get revisited when we have other kinds
of bootable images with other bootloaders (vm/ ones care
for themselves as of today).
Commit 657c0bf has silently added use/bootloader
to the base use/install2 target thus breaking
experimental distro/netinst; it seems better to
require *a* bootloader in the target that's been
specifically designed to cover the common case
(thus linked to by +installer shortcut) but still
to have our base lightweight and flexible.
This doesn't hurt the actual distros as these use
+installer of course.
Looks like it's been dumped in along with the rest but not
actually used in {make-initrd-,}propagator; the problem with it
is that snd-dummy.ko matches and pulls a bunch of unrelated
modules where these don't belong (grep -w wouldn't match
snd_dummy.ko though).
These can be found in (semi-)supported branches still:
- loop.ko:
+ 3.0.101-std-def-alt0.M60P.1
+ 3.4.96-led-ws-alt0.M70P.1
- aufs.ko:
+ 2.6.32-el-smp-alt31
+ 3.4.96-led-ws-alt0.M70P.1
ehci_marvell.ko isn't found in contemporary sisyphus/armh
kernels but let's purge it later during archdep rewrite.
NB: libusual.ko has been renamed to usb-libusual.ko as of p6
(not to be found in p7 anymore), and nls_base.ko was in
2.6.32 kernels as of p6 but not there in p7; purge these
somewhere down the road.
This file has been floating around for quite some time,
and some of its contents are pure bit rot by now...
Drop the modules that don't exist as of 3.19.2-un-def-alt1
upon manual diff examination.
This has been missing for *so* long somehow, and adding some 200k
of modules for fast hardware that's widely available by now
looks like a deal.
Added USB Attached SCSI module just in case (or rather for weak
crc_t10dif symbols?).
There are a few ones that aren't needed for a one-time
environment off a LiveCD/Flash like a webkiosk; if you
happen to need a text-based kiosk some day, tell me so.
Shame on me, gnustep mixin is only used in gnustep flavour
while wmaker one is used in both gnustep and wmaker flavours.
So the default serif fonts in regular-wmaker.iso were still ugly.
I don't know of [k]powersave interactions with systemd
and the rest of that ilk, let's be cautious and only provide
it for sysv-tde images which have been actually tested
by Speccyfighter who asked for this package.
Can't tell for sure but something seems to break
suspend menu option (hibernate isn't supported in
all of the regular builds/starterkits just yet).
These aren't going to survive use/cleanup/x11 anyways
(and weren't that generic in the first place); let root@
install whatever they actually need later.
This refactoring is aimed at both providing reasonable
alterator package set in server-ovz (and server-hyperv)
while purging the install-time modules from plain server
as these were useless without a frontend package like
the web-based alterator-fbi.
It used to run NM without any kind of applet which is
not exactly usable unless it's DHCP over Ethernet there;
provide connman and qconnman-ui (applets on the road).
This has been proposed for server-hyperv by lewellyn@freenode
last summer, looks like a reasonable default for all of the
server images as those interersted in bridge setup are going
to do a few more things anyways.
This image has been cleaned up somewhat thoroughly
regarding its installed package base but partitioning
has remained poorly generic with swap etc; it's now
been set to use 3/4 Gb as a minimum (to fit 1Gb VMs
or USB sticks just fine) with the only partition
created being root one; those wishing something else
are welcome to go ahead and partition by hand anyways.
See also https://bugzilla.altlinux.org/30024
propagator-20150306-alt1 and make-initrd-propagator-0.25-alt1
have made it actually possible to use resulting LiveCD images
along with USB flash media to achieve data persistence that's
been long available for BIOS boot mode (see also #28289).
This isn't perfect but let's try flipping the switch:
all desktop regular builds are now "live_rw" by default
in EFI mode.
This requires mkimage >= 0.2.17.
This image doesn't deign to waste one's time by presenting
them with a bootloader menu and a few other things;
make it even less verbose where not neccessary.
cool-retro-term 1.0.0 exhibits a bug without these fonts around:
glyphs would be drawn higher than cursor with upper half being
cut off (found out by putting my current crop of font packages
into livecd environment and removing them until the correct
behaviour would get broken).
xpra.org and winswitch.org are wonderful applications
helping one working with X11 apps all over the place,
running those on local and remote desktops and servers
with persistent sessions.
These aren't exactly trivial to plan and use but icewm
isn't for newbies either; thus these seem like nice match
for an "X11 thin client" image.
Size addition is ca. 50 Mb as of today which is a lot
but worth it.
This nice FTP/HTTP client has one issue that bars its inclusion
into every regular desktop image: lftp.desktop file that pops up
in menu but only offers an xterm with a CLI-based utility which
feels embarrassing for a casual user unfamiliar with its power.
IceWM users shouldn't be surprised however.
The former approach to handling "LiveCD with sessions"
has been to mangle "automatic=method:cdrom" into
"automatic=method:disk,label:ALT*" within gfxboot
so that propagator and make-initrd-propagator would
try and discover/create a filesystem labelled
"alt-live-storage" on a LiveFlash's free space.
Then "live_rw" handling has been unified in
make-initrd-propagator (as of 0.18-alt1) to accept
any of "label" subparameter or "live_rw" argument
to go and create_disk_slice().
Then propagator's cdrom.c has been fixed to actually
try sdX1 before sdX (as of 20150306-alt1).
And now it's all been tested to verify that:
- flash "ro" and "rw" boot is OK
- CD-ROM "ro" boot is OK
- CD-ROM "rw" boot is fine given that there's
a partition labeled "alt-live-storage" elsewhere
This is a can of worms indeed :-/
References
~~~~~~~~~~
* http://altlinux.org/initrd-propagator
* http://altlinux.org/make-initrd-propagator
* http://bugzilla.altlinux.org/28289
It's entirely unclear to an unsuspecting curious user
where the actual results of a proposed example hasher
build end up; that's ~/hasher/repo, just state that.
The former install2-only "bloated binary" purge script
happened to hit stage2 (which is a lot more than just
install2); a kind of safety net has been stuck into it
to guard installable LiveCDs against this particular
cleanup but seems it was not enought for ildar@ who
reported this problem almost three years after it was
introduced.
This change re-places the script back into install2
section; the binaries in question amount for ca. 8 Mb
(except openssl ildar@ asked about); if these are deemed
unneccessary within any other stage2-based subprofiles,
please step up with details.
use/vmguest/vbox/base used to pull in DRM modules
which are required for vboxvideo but useless without
xorg bits; and all of these aren't needed in jeos.
Things might break, doublecheck please.
When installer-feature-systemd-stage3 hits BASE_PACKAGES
it pulls install2-init-functions in which is wrong
(one of the consequences is that alterator-browser-qt
lands into even a very basic server installation).
And install2 doesn't even need that package as init feature
carries a script hook that does the same...
This project has evolved/merged into LXQt which has been
packaged for both p7/t7 and sisyphus by now, no need to
carry on deprecated bits.
NB: 0.6.x still have it as t6/p6 still bear razorqt.
The installer feature added is a trivial wrapper around
apt-cache nodeps to uninstall the ^lib packages that have
no more dependencies upon those when the temporarily
installed packages like alterator-browser-qt get removed.
This has only been useful for plymouth feature,
and +installer shortcut included this target
for all the wrong reasons as it seems today
(thus blocking the DRM-free server installers,
for example).
This authorized_keys file has been downloaded to get incorporated
into a script hook but was looking common enough to be forgotten
during pre-commit feature cleanup unfortunately; fix that.
A few more leftover libraries tend to hang around after
purging extra alterator packages that have fired already
during installation stage3; this change might hurt someone,
please do notify if that is the case (OTOH one isn't forced
to use it or to inherit intermediate targets that do so).
The issue at hand is that some sneaky stage3 alterator modules
seem to have tossed alterator-browser-qt (thus libqt4* and friends)
into base server installations; while this must be solved in within
package base and should be worked around by server feature probably
let's start out with leaf targets.
epiphany (or fontconfig?) insists on URW fonts for rendering
webpages like http://opennet.ru which hurts my eyes; looks like
/etc/fonts/conf.d/60-alt-post-user.conf would override these
with e.g. Liberation or Dejavu (with the latter being inferior
to the former, IMHO).
...so that regular builds really have common ground again,
which is something that got broken with regular-jeos introduction;
adjusted jeos and builder flavours to make use of this.
There's considerable confusion accumulated over the
expansion of regular builds with non-GUI targets:
- bare meant quite a lot including wireless;
- base meant GUI base actually,
so rescue, server, and especially jeos images had to
either cope with the bloat or start from scratch.
Let's fix "base" first...
Looks like QEMU 2.2.0 gets surprised with some kernel module
that udev tries to load during "Populating /dev:" boot stage;
dropping *both* +vmguest and +wireless dependencies does help
while switching to un-def kernel flavour doesn't (as is or with
any single one of these two deps removed).
Thanks user who reported the problem at opennet.ru
(alias "myhand").
Looks like there's a race condition somewhere: this script
will fail to clean up after itself when considerable background
load is inflicted upon the host it's running on (e.g. LA ~16
on a 8-core, single-disk system).
Note that this commit is NOT enough to win that race
but just a step in the right direction...
altlinux-p7-kde4-20141212 images had a problem:
- the generic starterkit profile is tuned
for modest disk space consumption;
- KDE4 is quite extensive;
- kde4-regular subpackage tosses in most of KDE4 SC
...thus the livecd wouldn't autopartition enough
space for root filesystem when being installed.
volumes-profile-lite specifies 10Gb rootfs currently
which is just fine (-kdesktop one starts with 30Gb),
let's use it until vm-profile management is imported
into mkimage-profiles or things are redone completely.
This feature operates LIVE_* variables specifically
(as opposed to the more generic THE_* ones) so +alsa
isn't exactly suitable but reusing the pkglist that's
just been factored out is fine.
Split package lists:
- base alsa packages (also needed in pulseaudio-based installations)
- additional alsa packages (needed only if not using pulseaudio)
- pulseaudio packages
The check introduced by commit d7689f30 while rewriting tar2vm
(which presumed x86) was subtly broken: it checked for *host*
binary before preparing *chroot* configuration file for it.
Wonder how many build servers run lilo over here that this BUG
has managed to evade attention for almost two years...
Looks like there's some issue with fakeroot as pseudousers
created with useradd during package installation have their
/etc/tcb/*/shadow files with proper permissions ($user:auth)
but shadow- and shadow.lock belong to root:root which makes
passwd(1) fail.
There's no more livecd-gnome3-nosetup, it's been renamed
to setup-gnome3-done with no P:/O: to reduce repo spam.
Should have cherry-picked this into master back then :-/
The problem with the changed piece of code is that it would
- both call cp(1) multiple times if multiple *_LIST variables
were non-empty (which is usually the case), and
- try to evaluate stdout of the called commands as a shell
script (which would be empty unless someone passed e.g. -v
to that cp(1) but it's crazy to rely on things like this).
So the functions should prepare arguments for a single copy
command that is predictable and could be made verbose.
Ouch.
This batch deals with various Microsoft(R) Word(TM)
instilled formats like RTF/DOC/DOCX and requires nothing
but basic libraries and perl at most; might get extended
over time but please mind the extra dependencies!
live-webkiosk.iso regressed into trying to boot off the local disk
immediately, the exact cause is not yet discovered but this one
has popped in build trace (distcfg.mk) already.
Desktop images are still likely to depend on it though.
I've been puzzled to find current live-webkiosk.iso trying to go
localboot with no timeout; this is basically a plug, VM images
might need more effort to go in.
This utility manages systemd services inside chroot
while the host system runs sysvinit (systemctl will say
"Running in chroot, ignoring request" and bail out).
There's GNOME 3.8 in p7/branch and it has no initial setup tool
thus no disabler is needed anyways; I've fixed this a while ago
but seem to have managed to lose the commit somehow :-/
There were quite a few things missing:
- packager pseudo for both rpm and hasher;
- proper target (so that i686 or athlon don't confuse people);
- hasher repo for apt so that mkimage would use it too;
- last but not least, a friendly bootstrap message! ;-)
So ALT Linux has got decent build tools but no one even knows
about those, right? And starting to use those is somewhat tedious
as it requires ALT installation with a specially crafted user account?
live-builder.iso has been useful enough to consider including its
relative into starterkits skipping regular builds for roughly the
same reasons as those for installers: we're better off helping users
to get onto the stable platform bandwagon than having them excited
with Sisyphus just to hit some wall down the road (even if we warn
of these walls well in advance most of the time), and while packages
tend to get into branches via sisyphus repo it's still better to stay
on the safe side with what we make easily available.
THE_* and friends are all unneeded for live builder image;
this commit makes dev feature basically incompatible with
install2 feature (which relies on the conventional behaviour
of main subprofile), will have to think it all over if the
combination of these two ever becomes needed.
This was basically a feature request to get smartctl into
sysv-tde starterkit; it's in regular+extra which is pulled
for regular/starterkit rescue images already but it's better
to have it duplicated here than missing somewhere as the tool
is pretty requisite these days.
It's been ignored since the introduction of deflogin feature
and removal of build-vm specific ROOTPW variable handling;
might be adjusted to mandate this for vm/bare too, have to
think it over.
0.6.3 has introduced some changes that were deemed incompatible
with t6/p6 branches; it should be possible to restore compatibility
at least for non-EFI images but the effort required hasn't been
up for grabs so far.
See also https://bugzilla.altlinux.org/30474
The problem with initial implementation (commit 62e7e9c)
is that there's no systemd-services package in p7/branch
thus apt complains about an attempt to remove something
that doesn't even exist in the first place.
Aimed at live images at first but should cover installers as well.
This has been brewing for quite some time and while the proper
implementation is considerably more complex (and hard to do)
looks like there's demand for the particular important use case,
namely LiveCDs for Russian users, so this code has been shared
with a few people before merge.
There's a particular problem with lazy evaluation
in case of BOOT_LANG: mkimage uses internal variable,
BOOT_LANG = $(GLOBAL_BOOT_LANG) (note the lack of
immediate assignment there), and if we set up
export GLOBAL_BOOT_LANG = $(BOOT_LANG)
in the same namespace we end up with recursively
defined pair of variables; a ":=" in either place
would save the day _but_ it's not there in m-p due to
accumulator variables, e.g. USERS, which are defined
and exported by a corresponding feature and then get
populated *after* having been declared for export,
_and_ it's not in mkimage as of 0.2.16 for some reason
that might even be good (I don't know yet).
This has been asked for by lewellyn@freenode, why not.
NB: distro/.regular-sysv doesn't include use/net-eth/dhcp
(as it looks like asking for) since there's still hope
to get NM cooperating with sysvinit again.
Both locale and keyboard have been set up already,
no use to waste time on those (which results in 'us'
keyboard layout missing out totally, ironically).
Thanks aris@ for the tip.
There are quite a few potentially useful packages
implementing FUSE based (userspace) filesystems,
these are typically lightweight and still might be
helpful to someone stuck with our rescue image...
xfdashboard is a GNOME Shell-like window switching interface
and application runner; xfce4-whiskermenu-plugin is another
(KDE-like) menu search facility; thanks sem@ for suggestions.
The issue at hand is that interactivesystem pulls in
network-config-subsystem and that one has several providers
by now, systemd-networkd being one of them since recently
(and pulling in systemd).
Just the same problem as with systemd-journal; both might be
fixed by reworking mkimage to allow for different package name
resolution modes:
- "slap everything together and resolve with one-shot"
to handle conflictless situations (most of those);
- "process multiple transactions to allow for conflicts"
thus making it possible to include e.g. a few MTAs into
the provided package base.
Ensure that systemd is outside by explicitly telling so
in the pkglist.
E19 would ask the user if they want to shut down
when facing power button event; it won't get a chance
though as the system will hurl down immediately as per
acpid-events-power package provided configuration.
set() is a function of two variables but the and()
check for *both* is incorrect as one might need to
override a previously set variable with empty string;
this has manifested itself with a case like this:
@$(call set,ROOTPW_EMPTY,1)
# ...
@$(call set,ROOTPW_EMPTY,)
This should avoid ruining principle of the least surprise
with ROOTPW_EMPTY=0 or ROOTPW_EMPTY=n actually *enabling*
empty root password; overriding an already set "1" with "0"
becomes possible either.
This one has been inspired by these guys:
http://www.informatimago.com/linux/emacs-on-user-mode-linux.htmlhttps://raymii.org/s/blog/Vim_as_PID_1_Boot_to_Vim.html
It's aimed at building images running their main userspace
piece instead of ramdisk's init, that means PID=1, UID=0.
Mostly fun of course but it suddenly became interesting with
kernel IP autoconfiguration and e.g. elinks running this way
(NB: requires patched make-initrd 0.8.8 at the moment to get
resolver configured).
And startup times are way better than sysvinit and systemd combined!
This function's got its argument order chosen for "aesthetical"
reason of $(2) following $(1) in the macros but the logical order
is exactly the opposite: we care for kernel flavour much more than
for module set (which is dependent upon it).
So while silent dropout of kernel-image if KFLAVOURS is set
but KMODULES is empty could be fixed by testing for $(2) only,
it looks like a good time to fix this discrepancy altogether.
stage2 has been thinking it's synonymous with propagator
and used to usurp kernel's belongings either; carefully
tear scripts apart so that kernel feature makes sure
initrd gets generated, and stage2 (which is still all
about propagator) cares for its bits.
It's been a given that any stage2 is propagator-based
but that's not neccessarily so; the "run X as PID 1"
sort of contest has sparkled interest in some others.
xorg-drv-vmware is desirable for guests with X11
but undesirable for text-only ones; let's provide
this knob at least but ideal m-p would figure out
that an image with use/x11 and use/vmguest/vmware
should receive this intersection either.
This aims to work around URW fonts deficiencies combined
with the relatively high position of their standard ones
in default /etc/fonts/conf.avail/60-alt-post-user.conf;
see also #30293, #30294.
It's not EFI-bootable due to the extra size penalty
with current build/boot technology, but it's also
not ISO-hybrid as most images are made hybrid by
making them EFI-capable as well since the processes
are related.
Thanks dango at the forum for asking:
http://forum.altlinux.org/index.php/topic,33094.msg236808.html#msg236808
Borders with archive+extra but that one contains standalone tools
and this is a FUSE-based one -- with more of those included in this
particular pkglist already; if we decide that it's a worthy addition
to any image requesting a bunch of archiving tools then it might move.
It's useless as of right now:
- menu file and udisks2 dependency are missing
- udisks2 itself lacks an initscript
Let's note these deficiencies at least...
Maybe firmware feature should be merged into kernel feature
as the firmware binaries added by it are only used by kernel
but let's clean up a bit at a time.
Just spotted that .disk/profile.tgz would hold
distcfg.mk with pre-expanded $(HOME) from build
host which is both info leak (user account that
was used to build the particular image) and just
wrong given that the in-image profile archive was
conceived as a means to pass that part of build
environment over instead of tying it to vendor.
Morale: premature optimization is premature.
It should state clearly both the positive and negative examples
of rootfs concept use (its name is not consiceenough unfortunately,
and I haven't come up with a better one yet).
+net-eth covers both stage2 and base installation parts
while use/stage2/net-eth would result in an inobvious
catch when udev-rule-generator-net would hit install2
but not the installed system, and interface bindings
would be carried over from installer to the installation
but would *not* be updated in case of changed network
card(s) configuration.
It was spilled over an intermediate target and a mixin
for what looks like no good reason; let's factor these
in by means of +net-eth as *both* are really needed
for an installer anyways, and if/when we do installers
with those new and crippled ethernet interface names
this addition can be dropped to be used where required.
The bare intermediate target did use/stage2/net-eth but it
was found out by sem@ that an installed server would lack
udev-rule-generator-net package so its ethernet interface
naming would be inherited from install2 stage only; fix it
by adding use/net-eth and reduce the churn with +net-eth.
"use/stage2/net-eth use/net-eth" would be common enough
for installers or livecd images to just get these pulled in
together by a convenient shortcut thus reducing confusion
and chances to just forget one of these counterparts.
It looks *ugly* on-screen, at least within regular builds,
even if the screen is 166dpi.
Based on a quick experiment this morning I'd suggest using
fonts-otf-adobe-source-{code,sans}-pro instead -- and it's
available as use/fonts/otf/adobe now, incidentally.
The documentation is still built with it though as a2x/fop look
unhappy otherwise (as in replacing Cyrillic glyphs with "#"s).
Font packages are sprinkled all over the metaprofiles,
let's try and help make their use more systematic.
This is a sort of a feature abuse as it was conceived
for fontconfig setup originally but spawning features
with confusing names looks grim; so let all things fonts
live within a feature named "fonts" for the time being.
Thanks mithraen@ for creating a universal frontend script
for udisksctl/pmount/hmount user mount tools; let's try it
within the minimalistic GUI image for the starters.
There's not much sense in overduplication of documentation
(tends to get stale faster then), still it's not good to
just refer to the code as the PDF/HTML book is less useful
then; maybe drifting towards "recommended" bits with more
"advanced" things being impleentation-defined is better.
That's a part of ALT Linux conveniences: system log
messages at tty12 (helps immensely in case of disk crash
or cable problems as running anything, including utilities
to view logs, becomes painful to impossible in such cases).
systemd lacks this kind of setup out-of-box for sure
so zerg@ hacked a substitute together; just pull that in.
vkni@ removed fonts-bitmap-cyr_rfx-iso10646-0400
from WindowMaker dependencies; I think that's wrong
but life is short so let's compensate that here as
at least regular-gnustep.iso degrades (GNUstep menus
are rendered in fixed bitmap font then).
A nice little hack that looks up running instances of cp/mv/tar/gzip/...
in /proc and comes up with job completion percentage. Useful when one
didn't bother to use pv(1) or the process has been running for quite
some time already.
There's no sense to duplucate sysklogd requirement
in plethora of fallback places when a specific feature
responsible for comprehensive init system choice has been
implemented since; just use/init/sysv as needed.
systemd-214 has major problems with starting these services,
and KDC should definitely not even try to start up before
setup (which is not feasible given that these are LiveCDs).
domain-client pkglist inhabitants and net-usershares feature
are nasty enough to bring a lot of extra garbage in unfortunately
(alterator-auth, alterator-kdc, alterator-net-shares involved).
fonts-ttf-droid have been superseded by fonts-ttf-google-droid-sans
in Sisyphus which might be lacking; I've considered replacing it
with Fira anyways, so let's just do that.
This one is long overdue as I keep forgetting to update
the published copy of generated documentation all the time.
Note that you must pass DOCS_PUBLISH (as a local directory
or host:dir suitable for rsync/ssh) via make arguments,
environment or ~/.mkimage/profiles.mk file.
Neither qupzilla nor pcmanfm-qt will fire this up
automatically when dealing with a PDF file so rather
adding a reminder to have a look at it some day.
This needs further refinement regarding p7/t7 specifically:
NM behaviour regarding defaults differs in sisyphus and this
has led to livecds booting with DHCP networking but installed
systems booting without configured interfaces.
Commit 78f2158 left those images which required NM but not
its applet explicitly broken (as in "no applet at all");
this should probably be redone alike to browser feature
but let's provide a 20140612 band-aid at least.
I thought about this again and came to conclusion that bringing
alteratord and ahttpd up or down should rather be done at the same
time as backends and frontend are useless without each other
(at least for your average sysadmin).
Matt Lewandowsky suggested that alteratord be enabled
but ahttpd be disabled so as to avoid extra port being
listened to out-of-box but to be able to turn web GUI on
when needed.
Non-GUI packages moved to base+nm pkglist to enable standalone
installation of those; and GTK bits left in desktop+nm for use
by images lacking their own new and improved(tm) variant.
Note that both GNOME3 and KDE4 aren't lacking anymore.
This is a similar trouble: p7/t7 branches had
plasma-applet-networkmanager while sisyphus has
switched to kde4-plasma-nm* (there's a bunch of
subpackages there, basically all of them desired).
The current branches lack both firefox 29+ and
firefox-classic_theme_restorer, correspondingly;
sisyphus has those; the feature shouldn't pose
any problems in both cases, should it?
Suggested by frbrgeorge@ and sounds quite reasonable
given that live-rescue.iso is very immature yet and
there are only a few -- but compelling -- reasons
to provide a graphical rescue image, gparted being
one of them for sure.
It's actually worth working into the offline docs probably
but it appears that overlooking this howto's existence is
easier than I thought; thanks manowar@ for pointing this out.
The logic is pretty much the same as with live.mk,
even somewhat extended as this has actually been
the driver of this change: some images like icewm
or lxqt-based ones might show off other browsers
explicitly (in addition to zerg@'s request).
Firefox was the very reasonable default for initial livecd
implementation but now that at least initial browser chooser
infrastructure is in place it's time to un-hardwire its use.
It's _the_ default but switchable now so that images providing
a comprehensive browser can avoid feature duplication.
This one has been asking to be implemented for too long already,
and zerg@ was interested in a bit more lean and mean regular-kde4
either (there are two browsers provided with it via metapackage).
There's another reason to do it recently: Firefox Australis UI
is not exactly the best for many of us, and good ol' seamonkey
seems preferable for "vintage"/low-resource images coming with
icewm or windowmaker.
This should better lurk here unless someone (including myself)
either forgets or doesn't realize the inobvious chain of the
assumptions made for the read-only warranty to actually work.
This is actually downplaying: the net effect is that
a few images continue to carry krb5-ticket-watcher
and have avahi service enabled by default while most
of the images have one "weird" item less on their menus
and a few hundred kilobytes less in total RSS.
These are not really needed by default in lightweight
distros sporting reduced application and services set,
and the heavier ones will take relatively less hit
by default while being more ready as ALT Domain clients
(which was the whole motivation behind adding the feature
and the corresponding pkglist).
This package contains a custom dialog-based dc3dd frontend
aimed to help non-expert CLI users to deal with common tasks
involving full-drive imaging and contributed by Maxim Suhanov.
A virtual machine lacking DHCP client seems much less useful,
and being able to shut one down via emulated ACPI button press
seems like no luxury either.
led-ws kernel flavour has gained kernel-modules-vmware
recently, let's add this to the appropriate targets.
It's used in regular-jeos already but THE_ part was missing.
dm service is set up to autostart when installed anyways,
and explicit `chkconfig dm on' results in it being turned on
at runlevels 2, 3 and 4 too which is really not needed.
Thanks led@ for spotting and reporting this.
These are rather foreignsic:
liblnk-tools: Tools to access the Windows Shortcut File (LNK) format
libregf-tools: Utilities to inspect Windows REGF-type Registry files
libuna-tools: Utilities from libuna for Unicode/ASCII Byte Stream conversions
libvshadow-tools: Tools to access the Volume Shadow Snapshot (VSS) format
Suggested by Maxim Sunahov and ported from OBS packages.
cfg.in/README should be explicit regarding
"automatic=method:cdrom" being usable for
flash media too (propagator has been fixed
since 20101130-alt10 or so, and gfxboot is
able to tweak the cmdline having figured
out it's running off the flash either).
It's by no means substitution for proper l10n feature
but forcing users into POSIX locale for recovery ops
is no good at all.
This is basically a fork of live feature's 20-locale,
a font has been changed to save some face though.
This should provide the fix for #30024 (thanks ildar@):
vmware relies on mptspi.ko by default and that's been
split out into scsi and not guest subpackage for led-ws.
BTW use/install2/vmguest instead of a bunch.
VMware specific bits went into use/install2/vmware target,
and all of those targets are worth their use/install2/vmguest
collective one instead of just sticking the kitchen sink into
use/install2/full immediately.
plasma-applet-networkmanager has been superseded by a bunch
of kde4-plasma-nm* packages; only the main one has been included
in regular-kde4 flavour since the switch resulting in the lack of
VPN/mobile connectivity options.
My opinion still is that plasma-applet-networkmanager should be
returned as a metapackage for p7/branch timespan so that images
could be built no matter whether it's sisyphus or p7 at hand.
Oh well.
These plugins should be required by a metapackage providing
plasma-applet-networkmanager so that branch and sisyphus builds
use the same pkglist; let's add those explicitly while that's
not done yet.
This feature intrinsically depends on predictable
ethernet interface names and makes no sense without
those; so it only seems reasonable to bring this
nice package in, huge thanks go to shaba@ of course.
There's a whole slew of improved dd(1) forks out there
and several more utilities around, some might stick to
this one and others to that one; let's try and make'em
all happy even if it's not really feasible...
Package has been prepared by shaba@ and sem@,
and it looks like ALT Linux with un-def kernel
is one of the few (or just the one) distribution
running on Hyper-V Gen.2 rather flawlessly
thanks to efforts by boyarsh@ and vitty@.
There's a nuance: libaff used to contain the utilities
and is required by sleuthkit; 3.7.4-alt1 has aff-tools
split into a subpackage of its own so we'd better keep
the binaries by adding this one.
This value is used to authenticate rescue rootfs image
by verifying the squashfs file's sha256sum before use
(propagator-20140419+).
Looks like this check might be useful for other stage2
images as well but let's get started with this one.
Thanks Maxim Suhanov <suhanov/group-ib.ru> for both
http://www.forensicswiki.org/wiki/Forensic_Live_CD_issues
and propagator patches.
Thanks Maxim Suhanov (suhanov <AT> group-ib.ru,
http://www.forensicswiki.org/wiki/User:.FUF)
for taking the time to review regular-rescue image.
Note that there are more than just filesystems:
arrays, logical volumes and swaps aren't activated either;
startup-rescue >= 0.18 should make that clear enough.
syslinux shortcut handling is case-insensitive,
let's find yet another letter...
biew was strangely missing indeed; several more
http://www.forensicswiki.org/wiki/Category:Tools
added as these have been packaged for ALT already;
fatback is on the way and dc3dd should come soon.
Debugging department has seen a /minor facelift/ too.
Some tools depend on X11 though and have been put
into a separate pkglist for that matter.
Just a convenient knob for a few things done previously
to help spare the interesting bits from being overrun.
NB: live_rw isn't added although it might be useful
since that would yield too many boot targets overall;
this is likely to change some day, hopefully when
media type detection/handling is implemented.
Let's bump syslinux timeout to 20 seconds either
so that iKVM users have a chance to select anything
and not just see the default booting after a few
screen area size changes.
A variant of rescue that marks the need to be careful
towards block devices and filesystems thus reducing
the amount of auto-activation done by startup-rescue
(0.17 or newer).
cvltonemap is no more available in sisyphus/p7;
xsane and usbutils were sorely missing (thanks dd@).
NB: fim is currently i586-only, need to fix or drop it.
server-zabbix.iso is ready for deployment,
and live-zabbix.iso is zabbix agent + firefox
(needs at least Server to be specified properly
within zabbix_agentd.conf when booted).
This is a refactored result of Zabbix-related experiments;
we can do a rough zabbix server sketch that still requires
its own setup to go.
NB: both the pkglist and the target are describing several
distinct things actually: zabbix server, zabbix agent,
and the underlying SQL/HTTP/SMTP servers which might get
their own smaller targets some day.
It used to be added in server-ovz but it really belongs to
the underlying server-mini already as more images built
upon that one should perform correct shutdown given ATX
compatible case/mobo or a VM that can do ACPI.
This reverts commit fd8f375573951280d1ae06f2d7dd559fab9caef9.
xdg-su is broken (some would say beyond repair) regarding DE
detection and handling of various GUI helper utilities,
especially in graceful fallback department; only a few images
can get imagewriter until this is fixed, let kde4 be the one.
It appears that live feature has been buggy regarding user
groups: its 30-users script would create a predefined account
with fixed supplementry groups list, and even if deflogin feature
got used too it would fail to add any groups to already existing
account since its useradd(8) call would fail.
Let's drop this duplication which has been long overdue anyways.
Thanks dd@ for both reporting the problem and carrying out
initial investigation.
There have been several problems with this feature:
- a typo;
- non-existant GROUPS (even a single one) would block setting
all of the supplementary groups but separately-set 'wheel';
- this feature isn't used much actually so sees no battle testing.
The typo has been just fixed; GROUPS are now applied by iteration
which is less effective but more reliable; an additional script
hook to write down login invitation for the first passwordless
account (if any) has been implemented; and several more group
managing targets have been added (based on live feature's script).
This relates to commit f2892ad3e4f281e83b0ec7c4131ff248b1ff4bd7
as there's an obvious need to be able to set empty root password
for LiveCDs but previous implementation was very fragile (and is
going to stay that way) -- so clear and separate knob for making
an image defenseless looks better.
Whoops, the very first build of a real distro with gfxboot
has shown that the label isn't picked up there... and things
are actually worse: iso.needscheck gfxboot test seems to look
up "check=1" in sectors where it might have been landing back
then but it's just not there by now; some kludgery is due in
branding-altlinux-sisyphus unfortunately.
No use to hunt make or diff file-by-file.
Well this chroot should have been more lean
in the first place (or a few files in initrd)
but life is short so better use/baby/steps.
This one is quite different already and utility-based name
was pretty clumsy; meet the new feature and retire the old
experimental one.
Please note that quite aggressive cleanups are implemented
within this stage2-based subprofile for the simple reason
that it has a single task to do; nothing else is expected
to be configured into it for that matter.
This functionality asks to be further moved into initrd of course;
adding it there will take a few more decisions to be made, mostly
regarding user interaction in failure scenarios, and it looks like
mkimage will have to be patched in case this doesn't just go into
full.cz under some sort of conditional check.
The whole story with this installer has been due to a query
at #altlinux whether there's a distribution image similar
to altlinux-p7-rescue.iso which appears to be booting under
Hyper-V Gen. 2 without a hitch; changing just the kernel
towards the newer one made the user rather happy since
everything worked out-of-box for him, even unimportant bits.
Of course it's mostly due to boyarsh@'s preceding work :)
NB: there's no use to build i586 version as that hypervisor
lacks CSM (BIOS implementation) and would only boot UEFI
compatible operating systems with pretty strict requirements.
It has dawned on me that gdm2.20 is more widely useful
within sysvinit based builds: lightdm with gtk greeter
would fail to poweroff/reboot while this one would not.
It's not exactly obvious how install2_size, live_size or rescue_size
get defined since the variable names themselves get constructed;
help git grep these down.
acpid is not enough since power button handling configuration
has been split apart; and tracking this in zillion places is
utterly useless in face of a specially trained power feature.
Just use it.
aen@ asked to ship this one as well; no problem given mixins,
still being able to *switch* the init instead of regrafting
would be very beneficial.
NB:
- wdm can't do autologin;
- wdm can poweroff/halt;
- wdm+autologin won't work under systemd (via prefdm.service);
- nodm will work under systemd;
- nodm will ruin consolehelper -> livecd-install by root's PATH;
- gdm2.20 is lightweight, feature complete and sovereign enough.
The reason for an explicit cleanup is that VNC installation support
is now left in by default (see #29901); thus this commit is only
keeping the status quo for this image.
It's missing in Sisyphus since php5 update to 5.5.x;
while an opcode cache would be a powerful boost for
many webapps this has to be sorted out in repos first.
It's still a GUI installer but pretty much barebone one by now...
in particular, it needs no xorg-drv-$hardware being mostly targeted
at VMs and demo appliances where fbdev is rather enough.
Cleanup extra kernel drivers too.
This one has been missing for quite some time (infiniband modules
should have triggered a commit like this back then), finally there
in very crude and draft form for the starters.
By the time these hooks run the font packages' %post scriptlets
should have fired already; no need to carry the utilities on.
Yes these are bit-by-bit savings. No it's too expensive still.
My gut feeling is that we're not going to see glib2's
messages a lot within installer environment anyways.
And there's a forgotten /usr/share/X11/locale/ too.
An installer needs video playback acceleration
when it has some content to show and some means to;
as long as these are not supported just drop this
unconditionally.
These are only needed for alterator-vm when making
LUKS encrypted partitions; ideally the extra libraries
would be omitted automatically when luks isn't included.
The mixin concept and name has been borrowed from Ruby
language -- it's a kind of thing that can be added to
more or less whatever suitable; the problem it tries
to solve is that incrementally building up the image
configuration breaks when one would like to change
something that's been configured in early enough so that
grafting early will warrant a lot of duplication later on
but inheriting too much things that need to be changed
gets too much hackery in.
It started while trying to build an installer image
using configuration bits and pieces collected while
bringing an installable LiveCD together: there are
just too many livecdish things in a LiveCD to try
and rebase the actual desktop configuration things
onto an installer, so putting these into a mixin
to be reused within both livecd and installer
seems the way to go.
Looks like today's xorg won't autoload radeon_drv but
insists on ati_drv falling back to fbdev if it's not there;
FlightGear runs definitely slow on C-60 APU with that.
I didn't specify ati since it pulls r128 and mach64 modules in
which are rather useless in this context (accelerated 3D graphics).
Burn.app won't list a USB DVDRW drive with CD-RW inside
(NOT_FOUND), and its README states explicitly that wodim
is not supported yet.
Mixer.app would start with three knobs none of which would
actually change any mixer channel.
This time it autostarts using livecd-fgfs and primus
if possible; firefox and GUI mixer are the notable loss
but the clarity of "boot into FlightGear" should sort of
compensate for that.
Ah, and Tu-154 by default.
Current Sisyphus' xorg-drv-intel works somewhat better
with recent kernel drivers on my HD4000 GPU, and icewm
is not compositing at all; providing another test/backup
image fitted with newer kernel should do no harm.
This package has been built and recommended by cas@;
it requires Qt5 which hasn't been needed for anything else
included in regular builds so far so let's extend kde4 one
to begin with.
lightdm isn't going to turn off the system properly
with no systemd-logind around ("for no good reason",
that is); good ol' wdm for installed system and the
similarly ol' autologin just work though.
nodm is not gonna cut it since user PATH is weird
within the session breaking livecd-install by putting
/usr/sbin before /usr/bin while it shouldn't be there
in the first place.
Looks like nodm doesn't reset the PATH set within
/etc/rc.d/init.d/functions which results in sbin
path components hitting user's PATH; livecd-install
which uses consolehelper was what broke first for me.
And this link should illustrate some of the problems
tackled by this kind of scripts...
Servers can POST much longer so having to play hide and seek
with a boot menu isn't going to be exactly entertaining;
let's bump the delay to something comparable at least.
Thanks hiddenman@ for mentioning the obvious-but-unnoticed.
As it happens regular-rc testing has shown that cinnamon,
gnome3 and kde4 flavours included NM via their pkglists
and dependencies (which used to result in live feature
enabling NetworkManager service wholesale when found);
now when handling default services has become more strict
it became apparent that these images have got their LiveCD
mode running without network by default (installation does
set that up though).
It looks like an easy way to just stick +nm into .regular-desktop
dependencies but then razorqt, sugar, xmonad would get NM which
is not what they're gonna handle; e17/e18 too.
This has to be present with default RPM macros, otherwise:
rpmdb: /home/altlinux/tmp: No such file or directory
rpmdb: unable to create temporary backing file
See also http://bugzilla.altlinux.org/26514
We don't really want to disable NFS portmapper completely
but having some extra root code listening to the world is
really unneccessary unless explicitly required.
Applying "control rpcbind local", thanks ldv@ for advice.
50-setup-network was a hasty hack (surprise!) that used to do
what net and net-eth features have been created to do since;
just drop the duplicated crufty code.
Unconditional resolver setup isn't done now: those with static
setup are better off doing it explicitly, and those with DHCP
should be fine already.
NB: /etc/hosts *is* fine within setup package *but* hasher will
overwrite it with a copy of host's one; let's reset contents
to initial at least until hasher gets fixed and the fix is
rather deployed in the wild.
There was an extra DISABLED=no line written to interface configurarion
that's been superceded by the subsequently added parametrized one;
just drop it.
Thanks glebfm@ for spotting the garbage.
Well actually it shouldn't -- except for rEFInd the boot manager:
branding graphics within the build environment are used to add
a single background image to EFI/refind/icons/ thus the change.
Wonder how this got lost though as this screenshot:
http://en.altlinux.org/File:Altlinux-rescue-uefi-memtest86.jpg
clearly illustrates it was working back in December indeed!
It conflicts with r8169.ko inobviously.
The whole mess looks like this:
- r8169.ko doesn't work for all of Realtek 8111/8168/8169 mutations
- r8168.ko works with some of the chips r8169.ko doesn't
- r8168.ko also works with many chips r8169.ko works with
- r8169.ko is provided by kernel-image package (thus default)
- r8168.ko is provided by kernel-modules-r8168 package (optional)
- kernel-modules-r8168 package requires r8168-blacklist package
- r8168-blacklist package is a one-liner that blacklists r8169.ko
- STAGE1_KMODULES wouldn't include r8168 (std-def) or rtl8168 (led-ws)
- sub.in/stage1/modules would mention r8168.ko (m-p-d: r8169.ko)
So a LiveCD built with use/kernel/net might work with RTL8111/8110
just fine when booted live but fail to automatically load the module
when installed onto hard drive; manual modprobe r8169 would work though.
NB: some of the chips (those available to me) would work just fine
both ways -- this has contributed to fixing this *that* late.
Bottom line:
do not install backup/kludge drivers overriding main ones by default!
Thanks sem@ for providing the crucial hint.
use/deflogin will result in ROOTPW being exported no matter
is it set or not; xport() can't check before exporting as it
relies on lazy evaluation when the actual ROOTPW value can be
set or modified after exporting GLOBAL_ROOTPW for mkimage.
So let's not even pretent we can differ unset ROOTPW from
empty ROOTPW: both result in empty GLOBAL_ROOTPW as of today.
Fixing this would require moving the exports into a separate
makefile being included after all the configuration and checking
each variable for being defined before exporting the corresponding
GLOBAL_ prefixed one.
Yes this might be a security fix in some cases.
TDE images are pretty modest regarding resource consumption
thus suitable for older hardware; a slower flash drive can
stall indefinitely showing slideshow and not going any further
with actual package installation so let's put a cap on that.
Added use/branding/slideshow/once as one of the uses
albeit the interface is universal; see this page for
more info: http://altlinux.org/branding/slideshow [ru]
The service and initscript have "connmand" name
while the package is called "connman" indeed.
Shame on me; this became apparent
while building regular-e18-sysv.
Defining a one-time variable is useless in this case,
and README should state the undefined ROOTPW status
explicitly (since it's now as advertized, heh).
The goals listed are pretty important to have them ordered
by priority; collaboration is definitely more important
than dynamic range of release managers' experience.
Some more editing has been due over pkg.in/lists/tagged/README
to make it more comprehensible and up-to-date; the problem with
groups isn't actually that bad as alterator-pkg's groups concept
is currently aligned with the requisite functionality provided by
pkg.in/lists/* directly; the tagged pkglists come into play when
we want to add "something like that" and don't really care about
the fine details of a secondary thing trusting that it's actually
comprised and working as advertized through its name tags.
Compare to reusing the pre-existing image configuration or features
versus reimplementing things in a rigid manner -- it's a flexibility
vs predictability question, and both scenarios are supported within
m-p explicitly.
This change is done to reduce ambiguity in some cases;
the previous intention has been to ease navigation when
staying in a particular directory, now it's been changed
in favour of convenient toplevel `git grep' in fact.
Both variants have their pros and cons, I just find myself
leaning to this one by now hence the commit. Feel free to
provide constructive criticism :)
Some path-related bitrot has also been fixed while at that.
Its name might still change through 1.1.x series
("userfs"?) but things like this should be mentioned
at least -- or superfluous references to neighbouring
entities should be removed.
It's required for NFS mounts but having a rescue image listening
to any non-localhost ports is too bad an idea, IMNSHO.
So let's fix this while spotted.
Well, some of the maintainers clearly prefer t7/branch
to publish their works; at least GNUstep and TDE packages
are updated there and might migrate to p7/branch later.
No need to fight that, really.
Split development packages into dev+gnustep pkglist -- these are
worth including in "full" version but will need thorough testing
so as to present the tools to those who value these.
Some of user packages are problematic and shouldn't be included
right now; the problems are mostly of these kinds:
- app won't start (at all or effectively);
- useless for being too alpha quality/incomplete;
- menu file for a commandline app lacking any feedback;
- package lacks the dependencies needed;
- it's a LoginPanel ;-)
Thanks a lot to upstream authors, real@ the packager
and kostyalamer who prepared a lot of menufiles anyways!
Thanks glebfm@ for spotting that it's = instead of +=
as it goes in all the other places; I remember no good
reason to overwrite the potentially preexisting contents.
KVM and VirtualBox support packages are pretty tiny
but essential when these images get deployed within
virtual environments for any reason, let's add 'em.
It's been gfxboot-free but no user visible facility to select locale
has emerged through these years; it's been decided to put gfxboot
until some text chooser is available (thanks aen@ for discussion).
This is a minimalistic ALT-based system installer tailored
for those who know how to bring up networking and apt-get
the packages they actually need; thanks frbrgeorge@ for
proposing the specification as well as sem@ and glebfm@
for discussion.
No mc, no glibc-locales, even no man and interactivesystem!
Packages included: apt basesystem openssh vim-console
PS: Sisyphus-based regular build is not the main goal though
thus the p7/branch {bri,klu}dge.
This image is largely a rebase of server-ovz.iso onto regular-server;
it's not feasible to provide a single image that would install either
"mini" server or openvz/kvm one based on user choice during boot alas
(even if both ovz-el and std-def kernels are provided within "ovz" ISO
and vzctl&co could be stuffed into a package list/group).
Maybe this is fixed some day...
OpenVZ related part is now a reusable use/server/ovz target,
and service related groups which have been largely taken from
rider@'s server-light project are now use/server/groups/base.
TerraSync might come handy (just as online manuals) but one's
going to need internet access for that so let's put at least
DHCP-over-Ethernet configuration preset in.
There's a beautiful airliner model out there thanks to the guys
at flightgear.ru, and it was asking to be included but its unclear
licensing status; now that 3.0 is GPLed I'm glad to add this package.
The use/x11/nvidia/optimus target will pull the bits required
to operate NVIDIA Optimus GPU scheme which relies on integrated
GPU to actually drive the screen; much thanks to barssc@ for
good walkthrough: http://altlinux.org/optimus
NB: this *will* break if nouveau gets in, YHBW.
This might belong to test.mk actually but it's been instrumental
in getting bumblebee support operational within these LiveCDs;
icewm and sysvinit are a commonplace among those currently
but aren't set in stone for that matter.
"messagebus" service is autostarted since dbus gets in being required
by wpa_supplicant <- alterator-net-wifi <- alterator-net-eth; it is
really not needed in the minimalistic server, let's just turn it off.
"lvm2-lvmetad" service requires setup to be actually useful (#29474).
This is long overdue: services feature influences live
and rescue but doesn't do anything to the installed system
as that's behind the installation barrier; some piggybacking
required to do that has been merged into installer back in
2012 apparently (thanks to boyarsh@ for both doing that and
bringing my attention to this fact; it's 65-setup-services.sh
as of today).
So the only thing missing has been the bridge to prepare
those files -- still some more tweakery is required given the
two-stage process arranged so that reusable configuration could
include some sane defaults but the release manager is ultimately
able to override anything without extra kludges; thank legion@
for his wonderful libshell either.
NB: install2 script is a partial clone of rootfs one since
processing the variables is identical; still rootfs script
has to change service state directly while install2 one
has to deposit the information for installer to handle.
use/live/textinstall target is a base for those images whose
target audience tends to be somewhat more experienced; these
might prefer to just boot off the image instead of having to
perform any extra action like pressing down arrow and enter.
This is also to help msp@'s homeros-*.iso boot immediately.
Actually a copy of 10localboot.cfg with a different name
and sorting order so as to address #26608: there's no possibility
to make a LiveCD image that would boot itself by default if localboot
has been configured in.
It's only a partial solution as it doesn't override 10localboot
in case it's there already but a step in that direction...
A hint regarding livecd-net-eth is due -- as well as
review and cleanup of live, net, net-eth features
involved in configuring that ethernet for a LiveCD.
This is not strictly required but is basically requisite for some
operations with both packages (did you know about rpm2cpio.sh?)
and initramfs images (which are gzipped cpio archives).
So let's put it in.
It's hardwired at 1/10 of the default /etc/net value
since 3 seconds are enough for properly functioning
DHCP servers in properly maintained networks (those
improper ones tend to have problems with 30 seconds
anyways), and waiting for too long makes users feel
bad for a reason.
Thanks msp@ for bringing attention to this.
This package has replaced installer-feature-setup-network-stage3
without declaring that; it appears that installer-distro-altlinux-*
don't require it even if most of the others do.
This is to ensure it's included, at least at the moment.
The initial revision was brilliantly buggy: it is *so* apparent
that cdrom will never be actually used for rw slice that this
has evaded my attention rather completely.
This change tries to force loading the storage driver
for cases when SecureBoot is "helping" the chainloader
to fail, see #29705 for details collected so far.
Of course ahci.ko only does AHCI but that's every storage
controller I've seen on UEFI/SecureBoot systems so far.
Let's put osec tools into installable packages at least
(aiming to shift these into default install probably);
these are worthwile addition to sysadmin's toolbox.
Thanks dobr@ for bringing this up.
It turns out that regular-rescue.iso lacks sshfs,
which is unfortunate (even if it could be installed
with apt in this particular case); three more FUSE
based filesystems have been added just in case.
Thanks mithraen@ for suggesting davfs2.
I'm fed up with graphical software occasionally making it
into regular-rescue.iso and bloating it for no good reason
given that window managers or xinitrc aren't included.
This has been spotted and solved manually several times already,
and that's just boring so let's add the ability to state that
X11-based software is not accepted into a particular rescue image.
Not that I would hate X but things like that belong to a carefully
crafted image which includes either X server or reasonable means
to ensure that GUI software can actually be used.
NB: this is a somewhat new entity: test/rescue/no-x11 knob
for an image-script intended to make it blow up the build
when libX11 is found within the chroot that makes up
the rescue image's filesystem.
The interface is not documented intentionally: it will take
some time to find out whether it sticks or is bad enough.
Please do remind/ask if interested in using that.
Seeing tagged/base+rescue~ in build.log isn't particularly
heart-warming; while other editors but the one leaving tilda
marked backups and .sw* swap files might exist let's do this
step at this time.
Wonder what changed though, this used not to happen before.
Dank Bagryantsev asked if it could be added to available packages
at least; well it is there now but not in default install
as aptitude is currently unsupported.
I don't think we're gonna like plymouth over rescue image
anytime soon, especially when it hides the moment when shell
pops up somewhere under it without startup-rescue caring to
remove the splash.
So let's put that $(INSTALL2_BRANDING) into proper stage2
flavours only and avoid choking on missing plymouth as well.
led@ has different kernel-modules-* package set,
some of those "standard" names are provided but
vbox* is not the case.
As our macros and helpers will grok this just fine,
let's add both variants so what's present gets in.
This kernel can help save almost 50 megabytes of image size
and shave off several megs of RAM consumption as well which
is important after the installation has been through.
Adding rescue image was requested by Speccyfighter (in Russian):
http://lists.altlinux.org/pipermail/community/2013-December/681045.html
...and it seems hard but doable if one doesn't mind barebone rescue;
still efi-shell shouldn't spoil x86_64 build as that one won't fit CD-R
and doesn't have to anyways.
In these tough times there are no extra resources to waste
for wars or some extra rescue; so it is imperative to provide
some lean and mean help, you know.
IOW a common base has been split out and a more tight rescue
image configuration has been added on top of that so as to
try and fit altlinux-p7-sysv-tde.iso for i586 into CD-R.
Argh, so alterator-auth was hiding under a name it provides too
-- now *that* is the cause for those last-step failures as the
rest of the environment hasn't been getting set up apparently.
Just drop it, there's a proper domain-client pkglist for that.
This is what 63293ff22ab731118196b863b36e408177a08f1c should
have done too.
un-def got unsuitable due to initial ramdisk migrating from
initramfs to tmpfs by default in newer kernels, and propagator
was using pretty kludgy way to determine that /dev has been
mounted already; led-ws (and supposedly lks-wks) have stumbled
upon this earlier.
20130822 version has been fixed regarding that.
I've noted that this bit of code should be fixed up
before pushing but managed to overlook that in the end :(
mkimage version bump is due to the somewhat changed layout
of EFI packages and binaries within those (linked message in Russian):
http://lists.altlinux.org/pipermail/devel-distro/2013-December/001283.html
...instead of installer-distro-desktop which pulls in
alterator-auth which breaks things big time for sysv-tde
installer image due to avahi-daemon lazy to run.
Of course it's the last step of installation that has to fail.
And I've been considering this for several months already anyways.
I wondered how regular-e18 lacked econnman but it only
took a closer look to understand that it's just not told
to go in, plain and simple!
There are no e18-extra-modules (at least so far),
confine that to desktop+e17.
It's proprietary now but still very useful with no free software
alternatives for UEFI platform so far; let's include efi-memtest86
into the rescue image at least.
We chose to provide methods to sign packages but to avoid
signing these by default (with some arbitrary test keys)
the signatures are being added *after* the build by means
of rpmrebuild-pesign; all of this is made significantly
more complicated if there are separate -signed subpackages.
So these are being dropped in the packages; account for that.
Everything is handled within mki-copy-efiboot currently
but it needs an image to process; extracting one from
bootloader branding seems less hassle than forcing it
into every flavour of branding.
The changes in commits gb3e3234 and ga860b17 were actually useless
as rescue+fs list wasn't included into RESCUE_LISTS... and I need
pv(1) for convenient local disk cloning with time estimate.
This basically reverts commit c18ef37274c858c1632ccf4d7d729b0492874eea
for all practical purposes and restores the problem with chromium livecd
still that's less of a problem compared to regular builds complaining
that firefox is not the default browser when it's the only one anyways.
A bit longer version is: add the script which cares to protect
the interfaces which has been brought up during NFS root bootup
already from being tampered with by NetworkManager so as to avoid
losing network with networked rootfs.
live-webkiosk doesn't really need it and mixin/desktop-installer
was picking it up due to d+n+l satisfying d+n query. This could
be fixed with && !live but fixing bitrot is the better way to go.
Actually the issue was worse in general: *_PACKAGES
weren't quoted when put into .base thus resulting
in a potentially broken echo command (silent one).
The macro scheme used was overgeneralized; stuffing
quoting differentiation into it was doable but ugly
(unless one is able to pass an unquoted quote sign
as a function's parameter in some elegant manner),
let's just make it straightforward.
distro/.regular-install depends on use/luks now too;
this isn't a hard decision but so far looks good
given the overall functionality range and balance
within regular builds.
I've been considering a way to avoid confusion between:
- a tde based livecd with systemd;
- a tde based livecd with sysvinit;
- a tde based installer with sysvinit
and finally came to conclusion that regular-sysv prefix
will be common for installers with sysvinit within regular.mk
and p7.mk; this might be not perfect but should be good enough.
Note that while regular-sysv-tde.iso is buildable and installs
just fine at the moment I don't plan to publish Sisyphus based
installer builds as a rule since these require extra knowledge
regarding daily use (starting with http://altlinux.org/changes
and/or https://lists.altlinux.org/mailman/listinfo/sisyphus ML
subscription).
Sisyphus-based rescue image is fine as well as LiveCDs are;
installable LiveCDs (most of regular-*.iso) are actually
risky in case user actually installs *and* updates those
having ignored the red "unstable" status in the branding,
and that's the line I'm not going to cross that often.
BASE_BOOTLOADER must have been set to any of the supported
bootloader names somewhere during configuration; it is not
impossible to avoid this elsewhere so let's put a guardian
script which will stop the build which is known to result
in a broken image.
sub/main subprofile should not be requested directly
as documented in its README but rather via use/repo/main;
let's fix this discrepancy and check that no regressions
come hurling down.
This image family doesn't inherit from distro/.installer
and thus could miss the bootloader setup with no problems
(at least until an installed system would attempt booting
without a bootloader).
The whole thing requires some more thinking over and probably
moving more bits to mixins but in the mean time let's make sure
the bootloader *is* configured.
distro/.regular-install is now factored out to be reused in
tde based installer (and potentially more images later on).
This implies sysvinit at the moment which might change too
but looks just fine right now.
What was added for networked desktop installers is now needed
for regular desktop installers as well; moved to a mixin.
These will probably get reshaked at some point.
It's amazing but I've managed to miss out this brilliant
Qt-based Jabber client; a small selection of plugins is
added as well, suggestions are welcome.
- speech-ru and speech-en features are added;
- speech-related things removed from homeros features;
- speech/ directory for package lists added and other corresponding changes.
Networking is *not* brought up by these rescue images
by default, one is expected to know enough to do that
by hand if needed; still there's no harm to have apt
preconfigured so that it would be operational then.
There are various bootloaders around there and some of them
are supported in ALT Linux; let's provide all the mainstream
ones so that knowledgeable root@ has every tool needed for
most situations needing bootloader repairs.
These might require particular knowledge or special boot mode
(like EFI ones).
Being able to handle [compressed] archives of all kinds
tends to be pretty instrumental in rescue operations,
and some backup system clients won't hurt either.
Some ancient Serial words like "minicom" still come handy
at times too.
Comments, constructive criticism and proposals are welcome.
This doesn't add much but complements the compression utilities.
Maybe it should be moved to rescue+archive, especially if more
tools of this kind get written and packaged.
This package list is somewhat non-trivial and controversial:
- bacula client support is a pretty tiny addition; it does require
extensive knowledge of what's being done and too new client version
can actually hurt (as the bacula director version must not be lower);
- duplicity was added due to lav@ seemingly using it (it's tiny either).
Suggestions are welcome.
It was the proposal to add fsarchiver that has started this;
the package was there in X11-bearing live-rescue.iso but appears
to be a console program thus moved to rescue+misc pkglist;
more than a few rescue-grade utilities have turned up during
a quick look at what else is missing.
shellinabox and dvdsaster have been "added" as candidates since
the former does require additional actions but can provide a nice
security hole if these are taken without extra consideration,
and the latter is just pretty large although might still be useful.
This neat little utility helps immendely to deal with
the eternal "where all of my mega/giga/tera/petabyte disk
space went so busy?"... wonder how it could evade m-p ;-)
I considered these two to be either close forks differing in init system
used (and things involved too much like NM at the moment), or to bring
some more choice along; this commit sticks with the former approach,
namely "let's only toggle the init system and let the rest be the same"
so that choosing the particular implementation can be based on this very
difference and not any other ones added along with it.
...so that locale is selectable at boot (unfortunately there's no
way to do that with text menu so far as cmdline is only changed
in its entirety there and generating it from the bits involved
is Not Implemented Yet as usual).
Some of the excluded dockapps would crash on startup
or just require manual configuration thus getting those
into the default menu on a live image would rather harm.
distro/.regular-sysv{,-gtk} intermediate targets are factored out
to form the base for more image targets as at least e17, icewm,
tde and wmaker are fine without systemd-logind. These represent
both GTK and Qt based environments hence the two footholds.
LUKS seems like a worthwile addition to this particular image;
it's also switched to use installer-distro-altlinux-server
for both LUKS support (until installer-steps are dynamic)
and server-oriented partitioning presets.
Let's ensure that make-initrd-luks gets to the base install
until installer is tweaked to enable in-flight installation
of options like this.
Adding luks to stage1 [make-initrd] features makes no sense
on the other hand (and it wasn't happening anyways due to
the lack of add_feature function call in config.mk as was
accidentally spotted).
And putting luks packages into an installer image lacking
the reference to alterator-luks isn't that sensible, let's
complain to logs at the very least (this isn't going to hit
the default output though).
"prompt" and subsequent first "label" were not separated
in any way while second "label" and forth were; let's make
the resulting isolinux.cfg a tiny bit more pretty.
This is to avoid NM messing with network interface
involved in NFS root filesystem being operational
(see alterator-netinst); thanks sem@ for the hint.
Make it automatically start in desktop ones,
and let it be available in rescue too (there's
a risk of gpm picking up a wrong protocol and
selecting/pasting at random which is not exactly
the right thing for rescue environment with root
shells all around).
alterator-netinst currently relies on "default"
being specified explicitly; it's wrong and it should
cope with the first "label" clause as well but we're
better off being strict to this script, not that one.
This commit should be no-op regarding syslinux itself.
It's a great tool giving the ability to at least debug
the novel problems that weren't there before systemd.
Good that it doesn't want half of GNOME or python yet...
It was a desperate kludge to warrant fallback localization
for cases when livecd-setlocale failed to work out properly;
"thanks" to systemd paralizing startup the order was chaotic,
see #28991 for some details.
Now that livecd-setlocale >= 0.3.1 looks like working this
should be dropped for good.
And the proper preset solution will be l10n feature.
That one requires part of alterator-sysconfig backend
factored out into a standalone package along with its data.
Setting up apt configuration in every container
is pretty annoying, let's enable it by default.
Some provision to add/enable local mirror would
be beneficial but not there yet...
etckeeper was suggested by george@ along with vim-console;
the latter should come by server,base tags but so far does not
(splitting server-base list into common, bare metal and virtualized
parts in haste looked suboptimal).
That is, no need to pull in systemd as syslogd-daemon provider
when an unspecified one has been requested by interactivesystem
or anything else.
The tricky issue is that THE_LISTS will get expanded separately
and too late to specify a particular provider which will have been
auto-chosen while expanding e.g. BASE_PACKAGES.
So the autobuilds were failing for these two weeks since
commit e43386c1fe0eaf4e0b49508ec7b16379063a5707 was *totally*
braindead: there's no "arm-e17" target neither "arm-kde4" one.
Fixed while awake and adjusted (in sync with build node)
to reference particular nexus7 and not just "arm".
The sad thing is that it should now read "nexus7old" TBH,
2013 model is not Linux friendly at all at the moment...
The behaviour that sort of settled didn't actually follow
the principle of the least surprise when one really wanted
to have BUILDDIR available for inspection; DEBUG=2 would be
effective to achieve that but CLEAN=0 would not.
Thanks led@ for spotting and reporting this.
gvfs pulls gnome-online-accounts and dconf in;
these add considerable bloat that well may be
undesirable in a lightweight distro, just pull
this into a separate pkglist.
It was a temporary hack actually, and is better dropped long-term:
things like predefined root accounts with remote access are *evil*
and this hook was a half of that "solution".
Use of oem feature to integrate first-boot setup is recommended
to deal with this issue, at least when graphics are available.
This one was asked for and is pretty reasonable common base
to play with cubox from scratch (being ALT); the intermediate
targets had to be refactored with:
- vm/.cubox-bare becoming *that* bare (it doesn't even
warrant an init anymore, let alone xorg);
- vm/.cubox-desktop accomodating most of desktop bits;
- vm/.cubox-base becoming vm/.cubox-oem as it should be.
The just-introduced tty feature is employed either.
The initial suggestion that any cubox image is a desktop one
didn't hold out for long; and xorg related bits are not that
related to boot script setup in terms of neccessity.
It basically reads the same but was referring to a neighbour
script that has been moved to a separate deflogin feature
during heavy refactoring of initial implementation draft.
This one was replaced by the net feature completely
and has been declared obsolete since 1.1.1 (a month ago).
A few remaining users trivially adjusted.
There was no need to split carrying over the pubkey
and tightening up permissions on the file and its parent
directory to be done in two separate scripts; this should
be more generic now as a bonus.
Users adjusted accordingly.
Minor fix: /boot directory is not cleaned for livecd if there are
homeros-install or luwrain-install files (in addition to live-install
and livecd-install being already checked).
The automated build relies on particular names
to be buildable and this broke during some sync;
http://nightly.altlinux.org/sisyphus-arm/snapshots/
were empty as autobuild was failing since 20130710.
p7 aliases go in too.
This inobvious buglet has been spotted shortly after
1.1.0 refactoring was roughly over; the problem is
that armh-specific targets would get ignored without
explicit ARCH=armh.
It's commit 768df7e9e98c214c602edd3ee48bd1d72e2dc39c
which streamlined introspection within main.mk
and a bug in Makefile which left ARCH empty
even upon having autodetected it for ARCHES.
The current version is more straightforward as a bonus.
Thanks glebfm@ for nudging me to do this; initial draft
was the very firsh armh distro target successfully built
and tested but the effort has refocused onto nexus7 ones
with cubox images joining the party a bit later.
Now it's the time for all good servers...
It was sitting next to the wrong line after refactoring
of cubox related target and was referring to "king"
instead of "kind", very kind of me but not so kingly.
george@ spotted gqview in regular-lxde.iso and wondered why;
it's not being developed since 2006 or so while there's a fork
named geeqie which has continued to improve upon it.
Intro: NetworkManager-wait-online.service would, well, wait
for some network interface to become online or for timeout
to kick in.
Problem: if a LiveCD is tested in offline environment
that timeout will only impede the boot.
Proposed solution: use/net/nm/nodelay target has been implemented
to disable that service as proposed by sem@ and done in Simply;
"+nm" target changed to be an alias to this one.
It's old, it uses consolekit (even if not neccessarily),
it borders obsolescence *but* removal of udev-alsa has caused
massive regressions (e.g. regular-gnome3 had soundcard mixer
levels dropped to zero from the start, regular-razorqt added
inability to poweroff to that...).
Just get it back.
Thanks boyarsh@ and cas@ for pointing out that the branding
that takes MATE peculiarities (e.g. background settings)
into account is in Sisyphus/armh already.
This one is IMHO best suited DE for cubox' meagre performance
(especially on I/O side due to microSD) as it incurs quite modest
I/O, CPU and RAM footprint quite suitable for PII-300 times
(cubox feels quite like that but has lots of RAM compared to
even maxed-out Pentium II workstation).
The image includes OpenSCADA as a nice and unique feature
which has been developed with TDE environment in mind
and was used on ARM hardware like N900, incidentally;
thanks aen@ for this suggestion.
Most of these are slated to employ oem feature by now,
no sense to call it in almost every dependency chain;
the only image left with predefined locale and credentials
is cubox-xfce-ru.
The nuance being that:
- alterator-setup package would change default.target
for systemd providing a symlink of its own and making
a backup of what was there (rc3 basically);
- 40-x11-autostart would ignore that backup;
- 99-oem-setup would do nothing about it all either;
- alterator-setup removal would restore rc3 symlink.
It's not pretty either, something more robust should be
invented some day.
rootfs presented a special case when there is no resulting
directory at all as it gets merged with the target subprofile
by design.
Still those features adding only rootfs scripts need to depend
on it but this resulted in an attempt to process a missing subdir.
This is brought back to sanity now.
Few things:
- extend feature specification
+ SysVinit can be chosen explicitly via init feature,
no need to keep sysklogd in yet another pkglist;
+ power management should be included too
(both cpufreq setup and power button handling);
+ LILO seems to be heavily preferred among the
target audience :)
- use desktop installer for regular-server
+ the seeming controversy is explained easily:
installer-distro-altlinux-generic has very few
modules to the point of being inconvenient for
anything but quick rounds of basic testing,
and distributions rather do need network setup
along with a non-privileged user.
The funny thing while debugging this was "how the heck
could a sound related change induce privilege related shift?"
-- turns out that udev-alsa (which pulls in ConsoleKit)
was the culprit... looks like LXDE hasn't dumped it yet :)
As 50-sudo-su script cares for sudo and su control facilities no more
that hook is aptly renamed to 50-sshd-root (should be generalized
either some day).
Setting NM_CONTROLLED is apparently not enough to disable
/etc/net handling of a particular interface; thanks sem@
for noticing the fortunate error messages in logs
and explaining this peculiarity to me.
This bunch of commits was done so these can be
mixed and matched (or even reverted) later if needed;
it was tempting to just revamp things wholesale again
but coarse grained approach is worse to maintain.
The client side might benefit a bit more in the future
but the server side does not (and should not) require
everything client side does; thus use base ALSA target.
This replaces the many sets of the corresponding packages
wandering all over pkglists, features and configurations;
the interface should be rather well-defined by now.
use/live/install stopped to provide a desktop icon; the nuance is
that zdg-user-dirs-install.sh script in livecd-install package
expects ~/.config/user-dirs.dirs to actually do that.
This script hook used to lurk in live feature but was deemed needed
in cubox images too; thus it's time to move it into a standalone
feature (maybe a configurable one, even).
Thanks glebfm@ for initial shot and sem@ for discussion.
regular-xfce managed to lack NM somehow (so it even lacked
network after being installed since some build which wasn't
identified right away unfortunately); let's fix that either
during this small refactoring.
...net uses services, not services use net. That is,
"network" is a service that needs to be enabled by the
now-existing mechanism of "services" feature, don't be
fooled by "network services" here.
Some of those were long asking to be done but cubox project
managed to actually get them done at least to the extent
needed for it; so let's land those and prune things up a bit.
Based on m-p-d's domain-client pkglist and scripts from
installer-feature-network-shares-client-stage3 package.
Many thanks to boyarsh@ for his kind help to get this working.
NB: this works on cubox but is not yet ready for installers!
This is applicable at least to XFCE and MATE based images
(plugins for the appropriate file managers are available).
NB: basically untested with installers.
...as per aen@'s advice: parole can use gst0.10 specific
hardware acceleration on Cubox but Firefox doesn't, so it's
way more reasonable to download video and watch it and not some
kind of slideshow.
XFCE seems fine on that device while E17 has segfaulted on me so far
(specifically on Cubox and not on e.g. Nexus 7).
In a nutshell, cubox-xfce is an experiment into OEM-like flashware
while cubox-xfce-ru strives to become something more or less ready
for actual use.
This is an experimental and known incomplete support
for the system configuration that has to be done at the
first boot-up by its user since it's their choice.
This draft uses systemd which has been a requirement :-/
Thanks sem@ for helping out with the somewhat tricky
unit file for alterator-setup.
The '[alt]' signature reference in the stock package
doesn't fit current reality as the hash files for
Sisyphus/armh are *not* cryptographically signed.
This commit should be reverted when these are.
That \t has lurked in the source variant of the script,
was fixed in features.in/live/live/image-scripts.d/30-users once
and still has managed to creep into this fork!
Ugh.
The issue with the original hasty code that stuck around
was that it bluntly ignored any ifdef/ifeq constructs due to
an obvious reason of being essentially a grep, not a makefile
interpreter.
It's now fixed so that e.g. arch-specific targets won't pop up
for no good reason.
Thanks ldv@ for discussion and a reminder about the dump mode
(make -p).
lib/*.mk aren't going to be parsed for build targets
in the near future; and the early placement of those
targets was superseded by a dedicated configuration
snippet directory so just move these bits there.
- 1.1.x branch: public alpha development status
+ new subprofile: rootfs
+ new features: armh*, deflogin, init, services
+ refactored features: build-*, efi, fonts, live, x11*
+ tar2vm got rewritten as tar2fs, gained ARM support
- minor spec metadata update
I've finally moved away from LC_MESSAGES=C on my main
development system half a year ago and finally spotted
that a grep for "Stop\.$" stopped to yield anything now.
Those based on x86 ones but pruned according to armh repo
presence; most notably, these are missing:
compiz compiz-gtk
java-1.6.0-sun mozilla-plugin-java-1.6.0-sun
libreoffice
remmina
xfcalendar
yagf
It was actually done much earlier during an experiment with
Marvell ArmadaXP but is now integrated more or less properly.
NB: ext2 is not needed anymore (uboot should do it),
ext4 should become configurable by an existing knob.
It was implemented in a pretty quick-and-dirty way
for regular-mate back then, clean things up a bit.
Package lists should be deduplicated either but
that's another story.
gdm-theme-simply is still around but turns out that it counts
on gdm2.20 (providing gdm) to be installed, and it is not;
thus gdm-3 is actually pulled in and it doesn't work here.
The package should be dropped from Sisyphus probably,
let's drop it here anyways.
Overview of the changes:
- ARM support: separate ext2 /boot, no LILO
- avoid race condition with devmapper
- trap ERR so that -e in shebang doesn't result in extra cleanup hassle
- configurable root filesystem type (ext4 by default)
- jumps through parted hoops
Details:
1. LILO is x86-specific while the rest of the script can be used
to prepare e.g. Marvell ArmadaXP or CuBox images; we can generally
count on uboot supporting ext2 for relatively sane platforms but
not ext4 that would be a better root filesystem performance-wise.
2. Apparently /dev/mapper/loopXpY can be still missing at the time
when kpartx returns and pop up a bit later... sit there, wait
and check for it.
3. If something went wrong with any command of the script it would bail out
due to -e in shebang; it is now better to clean up the loopback device
and its mappings in this situation either.
4. One size doesn't fit all, really.
5. The parted sizing was sloppy as in broken, now it's just half insane.
Someone's decision to stick units and auto-alignment knobs into
a single one was apparently hilarious...
http://www.gnu.org/software/parted/manual/parted.html#unit
Manual loop/dm cleanup is described in documentation just in case.
/boot size meter is suboptimal in terms of additional I/O incurred,
will be most likely rewritten to make use of advance "du -s".
The issue at hand is the hack to be employed in the init feature:
@$(call add,THE_LISTS,$$(INIT_TYPE))
where INIT_TYPE is set separately; $(value $V) would leave that kind
of substitution unmolested while we would actually need it done.
Hardly belonged there in the first place and became a culprit
during armh branch development since it had to be forked in
an ugly manner; move to rootfs hooks and be done with it.
VM images will be able to benefit either *but* installed systems
might have some trouble when this is implemented:
http://lists.altlinux.org/pipermail/devel/2013-May/197447.html
Split off use/live/x11 as a common free/proprietary ground either
(this refactoring had to be performed in parallel with x11 feature
being revamped, diffs quickly became intertangled unfortunately).
This has had several goals:
- a target suitable for x86 and armh providing a rather
minimal set of base xorg packages and generic drivers;
- task-oriented targets for graphics use cases:
+ "desktop" means rather 2D focus with 3D being welcome
or even essential but not performance critical, thus
"a slower driver is fine as long as it does work";
+ "3d" means specific 3D performance being critical,
that is "no 3D means no use at all".
Regarding the free and proprietary 3D-capable drivers:
the previous idea was to split out some common ground
and then add the contenders on top of that; the current
approach is based on the observation that the live images
requiring proprietary NVIDIA/AMD drivers *by default*
are usually of not much use with hardware that lacks
proper 3D acceleration (like Tseng cards) or the driver
support for that (like Matrox these days).
Intel videodriver makes for a special case though:
it is both free and top-notch performer.
Thanks sem@ and boyarsh@ for discussion.
PS: xorg-drv-{keyboard,mouse,void} dropped;
those who need these can usually help themselves.
These handle only VE-like products (think TWRP on Nexus 7);
the proper image support should be backported later on.
An experiment in layered configurations is still in its
early stages regarding ARM zoo...
The feature officially introduces the "engineering passwords"
including empty ones which have been around since forever but
weren't properly managed (and still are not, at least until
there are no stray passwd/chpasswd/usermod calls in both the
profile, installer-features and all the other related parts).
It is based on an m-p-d init3-users script by stanv@ but was
cleaned up and restructured in a pretty severe manner; thanks
glebfm@ for additional discussion.
This also cleans up the kludge previously stuck into build-vm.
Note that vm/icewm sports graphical autologin now as well as
the default root password (which can be overridden by passing
ROOTPW=... to make but it is a change from the previous state
of affairs indeed).
The issue is that use/fonts/infinality doesn't actually
require the script hook thus registering the feature's
name in FEATURES variable so that the feature's contents
get copied over is not neccessary (distcfg.mk build-up
will have happened anyways).
But that's confusing if one's forgot this peculiarity
(like me today) or never knew of it, so let's spare
some frustration.
This feature is more generally applicable indeed;
might result in duplication due to the installer
components adding "efivars" independently but that
is to be sorted out later in those components:
- check whether it's added already sometime soon;
- maybe stop adding that at some point in the future.
install2 and rescue roots still need this too though.
Classic VEs don't carry any kernel since these are running
under a single OpenVZ (or potentially LXC) kernel image;
ARM Multiboot (TWRP in this particular case) allows to boot
off a chroot via kexec, and we need a kernel in it for that,
obviously.
No bootloader required inside such VE though.
This subprofile is akin to THE_* variables family: the configuration
bits and script hooks sitting there influence whatever chroot is
declared to be the user facing one in the end, whether it comes
from vm image or live subprofile.
The services feature ought to be a changeset of its own which would
be based on rootfs and become the base for ve/vm changes but I chose
to just do it atomically; some pre-existing duplicates are pruned now.
...and switch to cinnamon-regular metapackage in general:
the remaining blocker being gdm required by that and not
actually going to work (it used to start gnome-shell which
wouldn't work in that configuration either) is now fixed,
thanks cow@.
PS: plymouth is moved upstream, drop the dup.
INSTALL2_PACKAGES turned out to be sensitive to the
feature addition order: if efi was added before install2
then the packages added by the former were overridden
by the latter.
This is also related to commit g7b76c73 as +installer
can be added pretty much anywhere, there's no warranty
that use/install2 appears early enough in configuration
build-up sequence.
There were several packages which don't really belong to base
list but rather to the desktop one; given that both of these
are included in desktop images it's a no-op for them but the
server ones might be better off without graphics.
This one is a part of a larger rewrite to move away from
distro-centric build-up to configuration-centric one with
the particular packaging being of secondary importance
compared to actual functionality.
The installed livecd would lack fstab entries for the filesystems
other than those mounted explicitly during partition step; while
this might be considered either bug or feature, let's try that
and see.
Whoops: XFS, JFS, NTFS, FAT support has been lost while dancing
with reusing rescue lists and back to being lean.
Thanks Vladimir Gusev for spotting [a part of] this.
Another service that's not very useful on a LiveCD;
maybe should be enabled by default upon installation,
this also requires a proper framework in place.
This reverts commit ae441691390edbd17a6bb95109f5f87e696ead19
as libglx has been fixed already; see #27340 and #28782 for
the details, huge thanks go to Alexey Borisenkov for his
thorough investigation and patches as well as to shrek@
and sin@ for their cooperation to get this fixed in Sisyphus.
The regular images became a bit too fat and rescueish
with all the good stuff going into rescue+extra pkglist;
that stuff does belong to dedicated rescue images but not
to each and every one.
The base+rescue pkglist has been tailored to take this
into account so we can now make regular-*.iso more fit too.
Moved the packages which impeded pkglist reuse for live distros
so that these stay within dedicated rescue images but don't
neccessarily go into the more generic ones where things like
fdisk are still quite useful.
This is to cope with #28782 while the culprit is being found out;
not much of a loss while #27340 is open (thus no 3D with vboxdrv
anyways).
I chose to avoid pulling the service related machinery into
vmguest (and haven't got around to factoring it out from live
feature's scripts into a standalone form) so had to tweak these
as well.
The issue at hand is the ability to accomodate boot sector
payload at the start of the filesystem's underlying block device.
XFS doesn't spare that space.
Thanks vsu@ for the reminder, by the way.
It might benefit the existing users to be able to configure the
build node persistently across reboots; though the need for something
like NFS overlay or repo settings piggybacked over DHCP is still there
(just ask ildar@).
The expected behaviour is to have online repositories enabled
when the livecd is running; the trouble with runtime detection
relates to the asynchronous nature of network configuration,
connection might get probed just before it is brought up
(thus failing the test).
Systems having been installed-from-live don't misbehave this way
so left unmolested.
Runtime detection is still available via use/live/repo/online
but is definitely not the default mechanism.
Thanks to Baurzhan Muftakhidinov's efforts along with help
from cas@ and zerg@, regular images should now support Kazakh
fairly well at least in terms of translation; this commit amends
these images with Ukrainian too and adds an experimental razorqt
based distribution that boots in kk_KZ by default.
There's no NetworkManager or connman in this lightweight image
so let's put at least the lightweight connection specific GUIs
like this one; proposed on the forum by Speccyfighter and
acked by squire as useful for traffic-metered plans:
http://forum.altlinux.org/index.php/topic,28619.msg201159.html#msg201159
Suggested by YYY; the initial plan was to include CUPS
in all the regular images but that turned out to be
impractical (too much bits added with too few actual
usage per bit expected).
So let's take s-c-p along with cups.
A syslogd is required by interactivesystem and we definitely
don't want any extra systemd on a sysvinit image.
Thanks Speccyfighter on the forum for the observation.
The former helps totem a lot regarding actual video reproduction,
suggested for gnome3-default metapackage; the latter helps aris@
to actually get any sound out, so is supposed to land there too.
A duplicate has formed while factoring out bare target;
as currently only the rescue image uses it in a special way
and that one benefits from additional crypto packages as well,
let's put LUKS related packages into bare for the time being.
The persistent storage is a nice addition to LiveCD images;
it doesn't come for free though in terms of performance
(especially for the first boot), so it should stay optional.
Note that use/live/rw belongs to base and not bare since
otherwise rescue becomes rescue+live which is superfluous;
hence the special use/rescue/rw.
There's a need for a separate boot target since
persistent storage is way slower than tmpfs indeed;
usbflash has a tendency for huge performance drops
given simultaneous writes in addition to reads which
are the bottleneck already.
make-initrd-propagator 0.18 introduced ext4 rw slice,
so the corresponding kernel module needs to be included
into stage1; see also #28289.
NB: not available on x86_64-efi (or hybrid GPT to be strict)
due to fragility of the hack being made: parted(8) panics
upon seeing that, and good ol' fdisk is unable to treat it.
NB: use/live/rw use/rescue/rx use/syslinux/ui/gfxboot
are unlikely to play very nice together due to the latter's
magic l10n: "session" label is taken by live_rw config snippet
and *is* translated in design-bootloader-source;
OTOH "rescue_session" is *not*.
The original mkisofs would only care for the proper ISO9660 image
but we've switched to xorriso which is able to perform the hack
to yield UEFI hybrid images; thus no need for the postprocessing.
Requires mkimage >= 0.2.5 and xorriso (obviously).
Added sysklogd and udev-rule-generator-net there too; if someone
needs to inherit a systemd based image from distro/.desktop-network
don't break the existing behaviour please.
Rebased tde flavours to .desktop-network as these were the actual
target to fix.
There's some peculiarity causing Sisyphus' initrd
(namely led-ws and make-initrd{,-propagator} of today
to die with this message while booting the resulting ISO:
initrd: Running /scripts/pre/prepare/000-propagator
FATAL ERROR IN INIT: mkdir
I can't recover from this,please reboot manually and send bugreport.
It's required by make-initrd-propagator in "rw slice" mode
when the remainder of an USB Flash drive is prepared and used
for persistent storage; fdisk is also immensely useful in general.
Please see the bug for explanations; too bad I chose to limit this
workaround to experimental gnustep image yesterday when aen@ suggested
to apply it universally...
Whoops, and I was mildly wondering where are alterator modules...
thanks Speccyfighter again for bringing attention to the issue
which has turned out to be ultimately caused by an overlooked bit
being missing.
The real issue was that regular-tde.iso was discovered to
lack FAT support in alterator-vm (known as #28470); as the
filesystem specific packages are pulled in via rescue lists
let's add it here along with dosfstools.
Thanks Speccyfighter at forum.altlinux.org for spotting this.
As zerg@ noted there's synaptic-kde already; I managed to overlook
that synaptic-usermode still gets into kde4 image as it's put into
base+regular pkglist. Thanks aen@ for spotting.
Quite a few filesystem specific tools and utilities went into extra,
some of them pulled back from fs since the proper categorization will
clearly require even more effort.
Added utilities for: f2fs, nilfs, logfs, reiser4fs, clicfs, cloop,
ocfs2, exofs, zfs, cifs.
This one was just asking to be built for quite a long time;
http://sourceforge.net/apps/trac/smartmontools/wiki/LiveCDs
specifically accenting use of smartmontools 6.0 has finally
persuaded me to roll out yet another rescue livecd, that is
on the regular basis.
The reason is to contain the implementation details
within this feature while adding the ability to include
everything it can provide (e.g., for rescue images).
This includes an updated version of 50-fontconfig script
which actually works (the preliminary one attached to #28612
didn't); thanks zerg@ and cow@ for providing the incentive
to introduce it.
Based on m-p-d and installer-feature-kdesktop-fontconfig.
Forum feedback has shown that it's a bit surprising
given the lack of other multimedia applications in
baseline package set; aen@ suggested to leave it out
and hardware support testing requires much more than
that anyways.
The issue is that r8169 is rather broken nowadays while
r8168 tends to work on the same hardware; see also #28473.
Thanks zerg@ for having hinted that it's stage1 modules,
not the root squashfs.
The metapackage was fine, the "only one" additional package
was more or less okay, but there came a dozen more so it's
now reasonable to stash these into a separate pkglist.
...and refactored its use in cinnamon image too;
this isn't a permanent solution though,
slated to move into fonts feature.
Thanks gns@ for suggestion.
There isn't much sense to keep an entirely separate flavour
as deepsolver starts being actually useful and icewm is
a somewhat special flavour for those who know their ways
around Linux plumbing.
It's possible that use/efi/signed target has fired already
at the time when use/efi/shell is invoked; shouldn't clobber
the signed shell with unsigned one.
The various *8168 and friends among kernel modules
have finally been pushed into a designated target
so that RM doesn't have to care which particular
additional ethernet modules are available in this
particular branch and kernel.
Tweak distros as appropriate.
NB: *maybe* this is required by distro/.base either.
acpi_call is used far too often when dealing with the newer
portable x86 hardware, we're better off including it when
it's available.
regular.mk adjusted appropriately.
Richard and Theo would probably roll their eyes at this point
but the unfortunate reality is that wireless hardware is very
much dependent on firmware being explicitly provided; so here
it is.
rtl8192 kernel module added since it's present in t6/branch
at least.
This change mostly concerns with making icewm flavour
the lean one again.
The goal is to widen the dynamic range of regular image features:
icewm is not a desktop thus can bear withouth systemd-logind
even if a bunch of network-managing-media-mounting crap has been
rigged to depend on it, and ALT domain client should be included
in most builds for convenient testing in SMB environments but can
stay out of this minimal and "different" image.
It also receives the "un-def" kernel flavour (3.8.0 as of today)
which might benefit from the more available testing facility too.
Its branding is also simplified, plain syslinux menu is fine;
in similar vein, refind feature is flipped from icewm-only to
all-but-icewm set of images with its state being good enough
as of refind 0.6.7 and mkimage 0.2.7.
mate-default pulls in mate-minimal and both of them
require packages which are also specified in this
pkglist; thus the pkglist should be pruned to avoid
double work and splits like "mate-vfs is dropped
from 1.5 package set, mate-default is adjusted but
the pkglist references the now-missing package".
It happens when there are no separate arch/noarch subrepositories
but everything is dumped into a single directory like in installer
or live-builder environment (at least as of today).
It was removing autodetection setting completely
thus implicitly setting it to the default "all"
with make-initrd-0.8.1+; just set it to be empty.
Thanks legion@ and boyarsh@; see also #28578.
Added use/live/net-eth so that autoconfigured images
still work in predictable manner.
May those breaking trivial cases walk with zillion of
cdrom, modem, ethernet etc device nodes all around them!
The inobvious issue is that while lxde-settings
is required by lxde-common and provided by both
lxde-settings-{altlinux,upstream}, we can't just
add the needed one via PACKAGES since the LISTS'
deps are expanded already with -upstream taking
lexicographical precedence.
This might become more serious if/when there are
several useful packages, -upstream isn't AFAIK
(thanks gns@ for explanation).
Citing the initial comment: "lxterminal is reportedly
sub-par (gns@) but official (aen@)"; the functionality
PoV finally won.
Terminus fonts added to account for presets.
See also #28567.
Added fvwm flavour specially for perestoronin from da LOR.
As if it wasn't enough,
- added UEFI support to desktop/,live-desktop intermediate target;
- added live installation capability to desktop/.livecd-install;
- added "net-eth" subfeature to get good ol' eth0 insteal of enp0s3;
- dropped use/x11/autologin as live subprofile sets up
a supported DM for automatic login anyways.
It'd be better for this commit to appear before 0.9.7
(and clobber the original one) but at least the added
functionality has been tested; time to generalize it.
The issue has shown up in regular-*-20130207: /etc/resolv.conf
would suddenly be empty upon successful bootup in virtualbox
with a single DHCP configurable ethernet.
dmesg has some trouble signs:
aufs au_lkup_neg:267:kworker/0:2[998]:
I/O Error, resolv.conf should be negative on b0
sem@ tells something like that has been seen before in a different
configuration (multiple aufs overlays with /etc/ and /var sitting
in different ones resulting in broken hardlinks); rescue boot with
a test "echo > /etc/resolv.conf" yields an I/O error either.
The patch is loosely based upon livecd-net-eth and
m-p-d::profiles/live/image-scripts.d/init3-{network,resolve}.
See also #28484 for the (still ongoing) discussion.
enp0s3 is quite inferior to eth0 in terms of usability
even if it might be more convenient for the machine{,ry}.
Let's stick with what works here in ALT Linux (see #28484).
Once upon a time the first and only ethernet interface
on a Linux system used to be known under the name of eth0;
but years passed and the systemd shadow has drawn closer
even to the seemingly remote areas like interface names.
In short, it might get named e.g. enp0s3 (a more human
friendly name of course) and the exact name is to be
figured out in runtime as well.
Sigh.
The issue is that gfxboot's gettext support works on "label"
strings but doesn't work properly on "menu label" ones as of 4.04
(the "menu label" translations pop up in the "Loading ..." window
but menu items themselves are unaffected thus untranslated).
NB: debian wheezy's syslinux-4.05 package patchset contains
somewhat related 07-gfxboot-menu-label.patch; might be worth
attention given that debian folks participate in upstream.
Now this is ugly: instead of commoditizing the repetitive code
the result ended up working differently by creating several
repositories for the target subdirs instead of the single one
for the generated subprofile as a whole.
This results in .disk/profile.tgz being basically useless
in every image since c4311108ea2e61b495d83a55fb1e40aabf6c92b9.
The same "regular-gtk" based set of images received common
desktop background provided; note that kde4 won't like it
(branding package didn't really anticipate kde4 and is to
be updated appropriately as well as extended for mate/fvwm).
This one is also used for lightdm/gtk.
"regular-gtk" based images moved from the (unsupported) gdm2.20
to the (supported) lightdm with gtk greeter; while a couple of
gdm2 forks have emerged it's still unclear whether mate or mint
one will be actually alive, even short/mid-term.
The issue is that it's suddenly broken in current Sisyphus,
looks like the peculiar set of assumptions in fedora-tweaked
systemd+plymouth+gdm3 relies on tty1 being the X session tty
and it's different here.
It appears that manually specified IMAGEDIR, e.g. by adding
IMAGEDIR = ~/out/$(shell date +%Y%m%d)
to ~/.mkimage/profiles.mk, might be problematic due to
missing globbing. Let's make sure the paths are globbed
and directories are created -- since make's wildcard()
returns an empty string when there's nothing there [yet].
It appeared that plymouthd.conf wasn't set up properly
thus "service plymouth stop" didn't result in anything
meaningful; thanks boyarsh@ for his help figuring this
out again.
Folks have been wondering already whether e.g. t6 breakage
qualifies as a bug; it does indeed unless the "broken" part
depends on the features not available with that branch yet,
e.g. EFI support.
Its support was dropped in mkimage some time ago
since xorriso semantics changed quite considerably
and the tweak that was done here is now performed
out-of-box thus no longer needed.
It's aimed at providing UEFI shell implementation which is very
useful for repairs and debug; if the "signed" mode is requested
then the signed variant is used either.
Please note that there are two distinct uses:
- a shell lying around on a filesystem to be copied by hand;
- a shell available in EFI part of boot media to be launched
by firmware's or standalone boot manager (e.g. refind).
Let's provide the official terminal emulator as the reference one,
and those preferring others are welcome to include these either.
(to some extent this commit is biased towards regular.mk though)
The reason is that the most interesting live images by now are
installable ones, and while configurable boot order is not there yet
the "classic" livecd images will require manual choice to boot.
Thanks sem@ for reminding of that FR (which is still open).
It would be great to have #28289 fixed either so that aris@
could approve the image as usable (I totally agree that it's
a major piece of real world functionality currently missing)
looks like there's sense to prepare a starter iso for tests.
Currently done for 40-autologin script only but might be
more widely useful: when describing an action to be done
while forming the LiveCD image, also prepare the one that
undoes the effect so that an installed LiveCD doesn't
(mis)behave as if it were young again.
NB: livecd-install provides 50-{gdm,kdm}-autologin-off.sh
hooks which can collide with ours, so let's override those
until things are sorted out properly at both sides.
PS: some half-year old nodm hacks are still in place for t6/branch
(and #27451 should be re-examined when dropping those).
- added destination homeros-nano.iso yields minimal
speaking image;
- added "homeros" feature contain scripts appropriate
for general Homeros functions but need further development.
The current refind support implementation doesn't boot
with either USB Flash or CD-ROM for me (due to the different
actual volumes, FAT vs El Torito, accordingly).
And when it does, a host with Secure Boot present and not
disabled yet would turn the unsigned kernel down unlike ELILO
(due to rEFInd using "natural" calls to boot it).
Both issues are reported upstream; in the meanwhile let's
migrate a single test image but build the rest with elilo.
It's not e17-default alone right now, gnome-icon-theme package
appears requisite at the moment so that menus and IBar aren't
half-empty regarding graphics.
Thanks aris@ for the advice and lots of patience with me.
UEFI support is pretty requisite by now;
and el-smp hasn't seen updates for almost
half a year by now so an actively maintained
one is clearly preferred.
See http://www.altlinux.org/Регулярные_сборки_образов
for the idea behind this set of images; in short, it's
*not* a bunch of polished end-user distros in a moment
but rather to facilitate Sisyphus package base testing
in as-is state during branch pre-release time.
It's a separate installation step to set the LUKS password;
see also #28200 for (terse) discussion and instructions on
getting this actually working for a distro.
These are out there in Sisyphus and should be used
instead of copious lines in a package list.
Thanks sem@ for proposing gnome-icon-theme to supplement
the lack of icons in the default theme; note that tango
set doesn't quite cut it, even with extras.
Thunar -> thunar; xfcalendar -> orage
There's use/x11/kde already but that serves somewhat different
purpose as of today; the naming issue (kde vs kde4) was tersely
discussed with sin@ at the time of the merge of his KDE4 image
related bits and it's still not that clear.
Let's try this way and see if existing images would be ported
to use/x11/kde4.
The whole live-rescue needs a massive facelift regarding
applications included and user experience achieved (remember
that folks are going to be stressed enough already with data
lost or system(s) not booting, and probably offline as well);
but at least it's UEFI bootable now.
The (funny but somewhat confusing) problem manifests itself as
E: Couldn't find package Binary
during a build run in the profile where a tagged packagelist
referenced by a specific target being built is open with vim
(which results in .FILE.sw? temporary file lying aside).
There's a possibility to run into IA32 EFI but that's rather
uninteresting hardware (ancient Xeon servers and <s>outdated</s>
early Intel Mac laptops). Just drop it on the floor.
As x86_64 UEFI support would result in "2D hybrid(r)(tm)" image
which boots with all combinations of BIOS/UEFI by CD|DVD/Flash
(or at least should boot), some downgrace seems due: use/efi will
turn use/isohybrid on non-x86_64 -- which will require further
tweaks on PPC/ARM some day.
Intermediate one: build-propagator *is* run off stage1,
no mkimage changes for that matter so far. This means
that m-p still duplicates mki-pack-boot to some extent
but the way to dedup this is still not clear enough...
The initial approach required some quite involved postprocessing
as described in http://www.altlinux.org/UEFI#HOWTO; after having
ironed out the kinks so that initial EFI support could be merged
into mkimage proper we're better off just using it, eh?
As was proposed by Alexey Varakin in community@,
whdd was built for ALT Linux by drool@ and pauli@
with some help by torabora@ and mithraen@; looks like
it's a worthy addition to the rescue kit.
The problem manifests itself when the naive parser ignores
any conditions that might have been set in the makefiles
included with subsequent attempt to run a target which has
its actual rule defined within e.g. "ifdef DEBUG" clause
(as is the case for conf.d/test.mk); that will fail with
no proper diagnostics currently.
Maybe this would be of some use (but then again maybe not):
http://stackoverflow.com/questions/3063507/list-goals-targets-in-gnu-make
The previous part was fixed and discussed in commit
c30490e2e884f8655a2704fa6a84e60b13876874;
so much for a deduplication effort...
This would result in almost immediate
make[1]: *** [profile/populate] Error 2
as well.
That is, p6/t6 continue to use 3.81 (while providing 3.82
alongside with it), and Sisyphus has moved to 3.82 before
p7/t7. We support both versions by now.
While ildar@ has some reason for the slimmer image
the somewhat standalone one is documented in examples
for offline use, ruining it in-place is not an option.
Let's just do a split (and lose a target-specific variable
example in favour of a commodity pkglist by the way; oh well).
a live-builder appliance is (or may be) usually used for building software
with many dependencies, hence needing access to external resources,
e.g. apt repos with lib${NAME}-devel packages.
This commit cuts RPM packages from the live-builder LiveCD.
The issue (#28002) resulting in vm image build error reading
Syntax error at or above line 5 in file '/etc/lilo-loop.conf'
was caused by fdisk-2.22 changing its "-l" option output format
to drop the very mention of the long irrelevant crap named "CHS".
The problem is, however, that we still need that crap to piggyback
a loop device's fake geometry to lilo while installing it there.
Reported by icesik@.
Somewhat kludgy unfortunately and might need even more tweaking,
I have only armv7l board handy at the moment to verify that
the transformation is going to work.
QEMU is bailing out here and now ("Exec format error").
Example sources.list.sisyphus.armh of the season:
rpm http://ftp.altlinux.ru/pub/people/asdus/sisyphus armh classic
rpm http://ftp.altlinux.ru/pub/people/asdus/sisyphus noarch classic
propagator-20121109-alt1 obsoleted initfs (and dropped
mkinitfs script altogether); that was taken into account
in both make-initrd-propagator and mkimage-profiles-desktop
but not in mkimage proper, see also discussion in #27976.
Both do require postprocessing (see http://www.altlinux.org/UEFI)
until mkimage receives xorriso support and efiboot.img is passed
down there somehow, but it's beta than nothin' so far.
EFI/UEFI is mostly about partitioning and bootloader setup,
at least from a distribution's point of view; so the
appropriate tools should be handy and firmware interface
module should not be exterminated from installer images
but get autoloaded instead.
Please note that while there exists 32-bit x86 EFI
we don't bother with it at the time being: it's relevant
to some irrelevant Xeon systems as well as for the older
Intel Macs (<2008) that are long out of fashion anyways.
That is, initially we deal with x86_64 EFI only.
Introduced distro/.live-desktop-ru as a shortcut for
distro/.live-desktop use/live/ru which occurs several times
already (and the counter will increase right now).
This was requested by aris@ for live-gnome.iso but is so far
reasonable enough to do by default: the case of a LiveCD
including X and a display manager but willing to get on
with startx by default is rather nonexistant by now.
Thanks go to ildar@ for spotting this: my ~/.mkimage/profiles.mk
routinely contains DEBUG = 1 line which effectively masked this
regression in commit 307fb51f1535b5f2d4915bd5247c5865544291cd.
Wouldn't be a big deal but syslinux.iso is recommended in
tutorial docs being slim and fast-building, and it's also
what's buildable locally in live-builder.iso environment.
ildar@ noted that the test involving whitespace is too
quirky for some quirky enough cases like
rpm-dir file:/var/cache/apt/archives . x86_64
-- let's introduce word boundaries there.
*Of course* the "weird" [ ... ] || ... construct meant to avoid
the non-zero exit status of the whole thing wasn't employed
where it actually does make the difference!
Thanks ildar@ for hitting and reporting this, as in
+ verbose '/usr/lib64/propagator exists'
+ '[' -n '' ']'
mki-scripts: .../stage1/scripts.d/80-make-initfs: unable to run script.
make[3]: *** [run-scripts] Error 1
The newer kernels have versioned NFS support code moved
into a few separate modules with nice self-explanatory
messages reading "Protocol not supported" if one has
managed to overlook this; thanks boyarsh@ for heads-up
(based on f545923271f9d1938d1887632ab4697c4c009039 m-p-d).
The initial sketch did work but was somewhat redundant
while lacking the knob conveniently change output directory
as well as means to get it cleaned up.
This is thanks to the fact that alterator-based install2 needs
alterator-browser-qt which needs X11 which needs working device drivers
-- and at least AMD C60 APU would only yield a nice dotted white screen
without that firmware.
Roughly the same for X11 bearing LiveCD images.
The rationale for the former is that the image gets slightly
more compact (although the current sisyphus build is way larger
than the t6/branch build of the optimization time, need to look
into that...); and for the latter it's to provide yet another
installer with a different enough kernel so that there's one more
chance in a weird situation.
Actually just a split of livecd-webkiosk into the kiosk related
part and generic livecd firefox setup (turning off queries that
are pretty useless in that environment).
This is a mild generalization of what has been done by hand
to figure out a problem with make-initrd-propagator-0.10-alt1:
stripping anything intrinsically volatile off the build.log.
The filter set isn't perfect, and the proper logging will
involve mkimage tweaks as well (e.g., one generally isn't
interested in instrumental chroots' population that much,
so it should only be verbose at the higher debug levels).
The issue that appeared pretty hard to diagnose occured
to be the enhancement made in make-initrd-propagator=0.8.1-alt1.2
(that didn't hit Sisyphus until merged into 0.10-alt1) which
drops propagator dependency.
And that was optimized out in m-p, of course.
The added pdir check was a hillarious(tm) overlooked bug indeed:
I tried to put .../initfs/initfs instead of .../initfs as the result.
Duly spotted by torabora@, thanks a lot.
Still the kmod+propagator+kernel-image combo needed some tweaking too,
see #27640
The issue actually hit image.in/Makefile: "metadata" target
in features.in/metadata/lib/50-metadata.mk wasn't reached
even if features.in/build-distro/lib/90-build-distro.mk
would ACK that the "whatever" actions included "metadata";
thus Metadata/pkg-groups.tar wasn't created and the installer
silently failed to install the .base system.
Let's armour the rest of the cases where the order of inclusion
might be important as well.
It's pretty ugly but dropping the current way
means losing the dependency tracking which is
critical to get the required alterator module
into install2.
Thanks mithraen@ for spotting, boyarsh@ for explaining,
and legion@ for hearty support :)
The problem would manifest itself like this:
/.host/script.sh: line 20: /usr/lib64/propagator/initfs: \
No such file or directory
mki-scripts: .../stage1/scripts.d/80-make-initfs: unable to run script.
Thanks Serg Markov for bringing my attention to this:
http://www.opennet.ru/openforum/vsluhforumID3/86552.html#61
While the official distros might skip some filesystems for
support reasons there's no reason for community distros to
do so either.
Let's try that with icewm.iso...
NB: installer has a misfeature of dropping jfs/reiserfs
support in runtime unless "expertmode" magic word
is on the kernel bootargs string (#27763, #17368).
Its immediate purpose was influencing the GRUB boot menu
*but* the implemented mechanism is actually a part of the
long planned text branding and might be further merged
into branding when hierarchical features finally chime in.
So let's get the naming straight before it breeds.
See http://www.opennet.ru/openforum/vsluhforumID3/86239.html#1
for a query that has led to this one; in particular,
- xdm dropped (won't log in root and there are no users yet);
- network is brought up and configured via DHCP by default;
- apt-get works out-of-box;
- default image size is twice the chroot size.
3.5.2-std-def-alt2 brings boot problems which were absent
with 3.4.x-std-def and are absent with 3.5.x-un-def;
seems like it's better to stay with known good variant
at the moment instead of having to fall back to it.
hsh-initroot leaves the chroot's root directory permissions
as 1775 while these should really be 755 at most; let's fix it
(important for both VE and VM images, useful for rescue/livecd
ones as well -- especially those with an installer onboard).
The missing "; @:" at the end of the otherwise recipeless rule
resulted in target graph being broken; I should have checked this
when introducing these aliases (the intent was to reduce noise).
Not even alpha quality yet but at least debuggable:
- X session doesn't autostart but service dm start works;
- keyboard layout indicator is missing until started by hand.
There's a bunch of additions to the MATE package list:
thanks viy@ for pulling extras into autoimports,
several more tweaks done due to hints by dek@,
and openssh packages added for debugging convenience.
The kernel's been changed for the latest one (un-def).
This isn't ready for general consumption (just as centos one)
but the notion of REPO is floating around along with apt-conf
thoughts, and it might still be useful to someone poking around
conf.d/test.mk.
Request hasher-pkg-init.spec from mike@ or led@ if interested;
the experiments were carried out using openSUSE 11.4 repository
and slightly patched hasher (cpio blacklist for devices).
This part of docs was pleading to put it into a small shell
script; it was done to facilitate kas@' debugging efforts
so that qemu-system-ppc might eventually get fixed, thus
livecd-qemu-arch package now "obsoletes" this file.
Thanks both drool@ for his mild frustration with the current
documentation as well as Greg Kroah-Hartman, Heikki Orsila
and Neil Brown for http://lwn.net/Articles/504814/ -- the docs
should really emphasize *why* something is done, not *how*,
as the "how" part is better documented with the code itself
(that doesn't mean that "the big picture" isn't needed).
That sub/stage2/install2 was somewhat clumsy actually as it looked
like a hierarchical thing while being a substitution thing:
generic stage2 would get put in place renamed as install2.
This could only get worse with hierarchical features which have
already been both requested and considered for quite a time,
and "stage2 at install2" reads much more naturally.
There were heaps of "if type -t git" there already;
it wasn't an unintentional mishap but rather a moderate
copy-paste to get the use cases, and now these seem to
have essentially settled.
So time to scrap some dups.
NB: the scripts in the generated profile can't rely on
the contents of the metaprofile (these need to be able
to work in standalone case either), so a bit of crap
still lurks there.
Found myself pretty silly while sittin' at the rescue console
and bein' unable to leave the cool server room for a way
more comfortable armchair and a laptop's keyboard...
(yes, it was that disk array needing GPT tools)
Another feature suggested by Michael Radyuk (torabora):
some images are known alpha/beta quality, it's more handy
to just state this at the build time than to rename by hand.
This trots along the TODO item on text branding
and hopefully helps Michael Radyuk (torabora)
with his feature request to tweak the installer's
"Install ALT Linux" label; as an example, Simply
will now offer to "Install Simply Linux".
The package actually passed the test and just got uploaded
to Sisyphus proper; its aim is to help set up the cross-arch
QEMU build environment.
NB: there are known issues with PPC32-on-x86_64 (which were
the cause for this package and commit to be created in the
first place).
Some images were unbuildable (at least without special setup,
like ve/centos), unusable or just not useful in any meaningful way
(like distro/live-isomd5sum); as these tend to get any attention
during experiments, I decided to put them together in a separate
configuration file that would be effectively skipped if DEBUG
is not requested.
This one was suggested by enp@ for industrial use where
some extra protection for the boot process might be quite
desirable.
If no syslinux ui was specified (the stock configuration paths
ensure there is one) or if it was set to "none" explicitly,
then there's no boot: prompt (let alone any menu).
If there's a need to ensure that the boot process is not
interruptable by Ctrl/Shift/Caps Lock/Scroll Lock.
The prerequisites for a cleanup after a successful build
were somewhat weird at this point; now the rules are:
- if DEBUG level is more than 1 or CHECK is set, don't do it;
- otherwise if at least one of the following conditions is true:
+ there's more than one target being built in a row;
+ the build was run by e.g. alterator-mkimage;
+ metaprofile directory is read only
...then do a distclean.
If these are still weird or feel unsuitable for profile hacking,
drop me a note (or a patch).
Essentially all the relevant server images got cpufreq setup
and a power button handler; feel free to ask for revert if
this causes any harm in any situation.
`help' used to be the default target described at the very top
of the toplevel makefile but that got broken with g2f307ff;
spotted while discussing m-p with enp@.
Also pulled the pkglist/kmodule part out of distro/server-mini's
recipe and started off a standalone feature based on it.
NB: el-smp kernel now contains aufs as a module but propagator
doesn't try to modprobe it.
Actually the templates pretending to be usable missed the whole
interactivesystem (sysvinit would get pulled in by services as well).
Fixed somewhat but time and practice will tell.
TDE distros don't really need kdm4 which was proposed as
a replacement by zerg@ (for all the valid reasons but kdm3
wasn't maintained at that point, this has changed since).
The reason is that package lists and individual packages
are processed in different dependency resolution "transactions"
by mkimage; thus if packages (the more precise form of specifying
the contents) come first they can't override the lists appearing
later, and that's wrong: we should be able to specify the more
generic things and then pinpoint the specifics.
This became apparent while authoring [[Mkimage/Profiles/m-p/howto]]
asked for by drool@.
The problem was spotted by Alexander Bandura:
bin/tar2vm wasn't present in the generated profile.
I considered extending features.in/Makefile to include
bin/ alongside lib/ but that would make the helper's location
unpredictable (unless BUILDDIR is specified explicitly) so
restricting sudoers would be harder; worse yet, the copied file
would come with write access for the user building an image.
The implications in restricted case are complex enough anyways
so the recommended implementation would only include a fixed
readonly location like /usr/share/mkimage-profiles/bin/tar2vm
as laid out in doc/vm.txt, and that means it's in the metaprofile
not a generated profile.
As it happens, adding another architecture required almost no changes;
native 32-bit ppc build took only ARCH and a repo, qemu-ppc one still
has problems (/.host/entry hangs while unpacking setup for fakedata).
Proof of concept on a QS22:
$ make ve/bare.tar.gz
** ARCH: ppc
/bin/sh: rpmvercmp: command not found
21:41:01 cleaning up
21:41:03 initializing BUILDDIR: build/
21:41:03 preparing distro config
21:41:05 starting image build (coffee time)
21:42:48 done (1:42)
** image: $TMP/out/bare-20120716-ppc.tar.gz [21M]
mkimage and hasher can make use of qemu to run
non-native binaries while working on the chroots;
thanks kas@, manowar@ and sbolshakov@ for implementing
this functionality as well as providing nice examples
through mkimage-profiles-arm and mkimage-profile-armrootfs.
This required the architecture check to be added since baking
a tarball with "arm" as its specified arch and x86_64 inside
isn't particularly good thing to let slip through; however
the implementation is quite fragile, bugreports and patches
are seriously welcome.
NB: APTCONF evaluation order between lazy make and nimble shell
turned out to be quite a delicate issue in this particular case.
The only thing to be fixed was setarch(8) symlinks assumption
that is correct for x86 but not for ARM.
There's also some hasher(7) setup to be done:
mkdir -p ~/.hasher
echo >> ~/.hasher/config <<-EOF
def_target=arm
#cache_dir=$HOME/tmp # depends on RAM/storage configuration
EOF
...and of course apt(8) should be properly set up too.
An example PoC build on a CM-A510 board (tmpfs):
$ make BRANDING=altlinux-centaurus ve/bare.tar.gz
** ARCH: arm
18:10:45 initializing BUILDDIR: build/
18:10:45 preparing distro config: build/distcfg.mk
18:10:46 starting image build: tail -f build/build.log
18:14:49 done (4:02)
** image: $TMP/out/bare-20120706-arm.tar.gz [23M]
The very basic bitmap fonts that were left in back a year ago
aren't particularly modern (even if they are somewhat elegant
and resource sparing which was the goal at that time).
So let's allow for something slightly prettier,
like Croscore Arimo kindly prepared by Steve Matteson,
provided by Google, packaged by Fedora and imported by
Igor Vlasenko.
Here's the news item behind this commit:
http://lwn.net/Articles/502371/
As they say there's nothing more permanent
than a temporary... params.txt and pkglists.txt
were known as vars-build.txt and vars-conf.mk
in the midst of reworking, and part of that
tried to stick.
mkimage implementation requires that the variables
to be passed to the scripts are to be prefixed with
GLOBAL_ or INFO_ tags as appropriate; in this case
the upstream makefile didn't care to.
It's better to rather just move the raw image instead
of specifically converting it into the same, and there's
no need for qemu-img altogether then.
Let's drop the intermediate raw image after successful
conversion as well.
Setup network settings:
1. Init /etc/hosts with "127.0.0.1 localhost"
2. Set hostname, domainname
3. Set defaults for NetworkManager or
attempt to autoconfigure eth0 by etcnet.
Based on init3-network script from m-p-d.
Minor tweaks to toplevel docs as well as some doc/*.txt,
doc/variables.txt renamed to doc/params.txt, and a brand new
doc/pkglists.txt is added (thanks manowar@ for his considerations).
This one was requested by Andrew Churashev; please note
that the image in use must contain recent flash plugin
so that at least the already known vulnerabilities are
more or less plugged in it... and Sun Java plugin isn't
going to get secure either.
A virtual machine isn't very useful if there are no means
to access it; let's bring up the basic networking and provide
root SSH access via pre-existing public key.
As the remote access with known default credentials is roughly
equivalent to just lending one's VMs to anyone with network
access to it, the fallback root password is now exterminated;
you have to provide one (or a long enough random string
if you plan to use keys only, see e.g. apg utility).
There's no need to repeat the typical openssh-* triade
all over the place; those who need server and client
are better off pulling in "openssh" pkglist, and those
needing a particular package should specify it.
It appears that reusing installer-feature-*-stage3 packages
is perfectly fine with VM images; these just need to be removed
after the package scripts they carry have worked out.
Raw disk images are convenient and universal
but there are custom formats like Qemu's qcow2
providing additional features, e.g. copy-on-write
or space savings. All of this ultimately belongs
to mkimage but in the mean time has been implemented
here as well.
Yes, mkimage-profiles is now able to build VM disk images.
So far the support is pretty basic:
- a single hard drive image with a single partition/FS
- only stock root password is configurable
- LILO is hardwired as a bootloader
The resulting images tend to boot under qemu/kvm though.
Please see doc/vm.txt for the warning regarding additional
privileges and setup required. This was started back in
February but I still hoped to avoid sudo/privileged helper
(and libguestfs is almost as undistributable as can be)...
Thanks:
- http://blog.quinthar.com/2008/07/building-1gb-bootable-qemu-image-using.html
- Alexey Morarash who reworked that as https://github.com/tuxofil/linsygen
- led@, legion@, vitty@, aen@ for providing advice and inspiration
autologin won't register a consolekit session, and gnomes
are too greedy regarding sessions to let us go unmolested...
This particular image isn't production ready when built on
current Sisyphus yet due to unresolved NM/dbus problems
but I decided to at least archive the reached state.
This one is contributed by Max Kosmach and somewhat
streamlined/tweaked by me; a part of it rather belongs to
nodm and xinitrc packages but is not exactly trivial to get it
there due to the looming systemd-logind/consolekit disaster;
see also #27449.
Several hacks to make NetworkManager usable in a LiveCD environment
are there too (but it resists so far).
Why would anyone try to remove apt when it's needed
for package dependency tracking for the installation,
it only takes a less cursory look at the build.log
to figure out it didn't actually happen anyways...
An initial draft of it was done half a year ago but several tricky
thingies had kept the code from showing up as it was rather brittle
and incomplete.
This implementation involves quite a few changes all over the place
but finally works good enough for live and installer images.
Please pay attention to the versions of these packages:
- installer-feature-setup-plymouth (0.3.2-alt1+)
- branding-altlinux-sisyphus (20110706-alt2+ if used)
- plymouth (0.8.3-alt20.git20110406+)
See also:
- http://www.altlinux.org/Branding
- http://www.altlinux.org/Plymouth
It somehow managed to evade me that $(TMP) might be uninitialized;
definitely should be checked before stuffing into sed substitution
command.
NB: this could be done in pure make but my take was less readable.
Thanks shadowsbrother/gmail for hitting and reporting this.
It might be spottable but not immediately obvious that a feature
lives entirely in features.in/FEATURE and every target it provides
is described in the corresponding config.mk; thanks dkr@ for asking.
Just like livecd-install, graphical installer KMS support
looks better as an optional part of install2 feature.
Of course it's optional only if the release manager is fine
with VESA drivers and not KMS-requiring intel/radeon/nouveau;
thanks led@ for a confirmation just in case.
After having added metadata dependency livecd-install
started to look more like a feature than like an intermediate
distribution target; so things were shuffled a bit that way.
This further refines the modular build by making
metadata being a clearly separated feature rather
than having to rely on runtime tests, and also by
moving the code which cares for kernel bits of base
installation (.base list) in a feature of its own.
There's more to it but let's get the ball rolling first.
The initial work covered live images but missed an installer bit
(thus notes and slideshow were missing in install2) while forgetting
to put branding packages into base list (thus kindly making these
available for *manual* installation sometime after, ouch).
It's hard to tell a successful build from a failed one
if downstream hides the exit code; it's useless to continue
a `for' loop if a pipe shoves that to a subshell; well it seems
that a bashism is worth a thousand quirks with extra fds here.
Minor regexp enhancements are also due.
reports.mk made a bit more resilient/prudent either.
NB: for the feature to work properly the chosen branding
package set should have proper Provides: and Conflicts:,
specifically it must explicitly conflict with the most
lexicographically cool package set around (these days
it's sisyphus-server-light).
As duly noted by glebfm@, branding issues need more attention
by now since only stage1/install2 got some of it so far in this
regard. Hence the dedicated feature comes to the rescue
(well no, it doesn't actually mess with rescue!).
Following m-p-d, a more involved default output directory
structure is feasible now:
~/out/name/date/name-date-arch.type
instead of plain
~/out/name-date-arch.type
This particular behaviour can be achieved by passing
SORTDIR='$(IMAGE_NAME)/$(DATE)'; note the single quotes.
Reports are also saved in this resulting structure
albeit the place is still highly debatable.
use/slinux-live: in p6 slinux had install-dvd version too
lists/slinux/misc-dvd: user 3d-proprietary comes from use/x11/3d-proprietary
lists/slinux/misc-dvd:restore compiz
slinux: use/syslinux/localboot.cfg
Sometimes it's desirable to provide the kernel supporting
maximal amount of RAM on the system; bad news is that x86
has a kludge named PAE, good news is that x86_64 doesn't
need it at all; but now we must be able to choose between
those.
BIGRAM will hold the flavour needed.
This script specifies the (excessive) lists of services
to be enabled and disabled explicitly; these are mostly based
on profiles/live/image-scripts.d/init3-services from m-p-d.
There might be systemd related pecularities though...
The early version considered ISO and KOI encoding families
as obsolete; the current one is a bit more wise and knows
these are just /rare/. Thanks glebfm@ for #27168 research
and cinnamon by slava@ for ISO-related noises at startup.
There's no real reason to keep bcmwl and ndiswrapper
around exclusively as the currently available support
vastly takes over the early attempts at the task.
(it's not about bare firmware though, and some day
something like use/hardware/wireless should get in)
Initial SPICE support has been added for kvm/libvirt installation
and boot-up using qxl and spice by default as proposed by shaba@.
VirtualBox part is shifted a level deeper correspondingly
but otherwise stays the same.
It is actually an effort by glebfm@ to create an experimental
systemd-based Simply Linux LiveCD; I merely reviewed the original
diff, moved kernel related bits to firmware (see preceding commits)
and introduced a dedicated pkglist namespace by creating a directory.
THE_PACKAGES_REGEXP is in place, let's rebase firmware packages
so these would be available in LiveCDs either.
The news for systems being installed is that MAIN_* is optional
while THE_* is included in base system; firmware packages tend
to be pretty tiny and harmless.
kernel-wifi pkglist has absolutely no sense by now, hence purged;
firmware-rt* and firmware-i2400m are merged into firmware-linux.
There were STAGE1_PACKAGES_REGEXP and MAIN_PACKAGES_REGEXP
but adding more of those was postponed to avoid bloat and
bitrot; THE_PACKAGES_REGEXP is needed for use/firmware now
and looks like BASE_PACKAGES_REGEXP and LIVE_PACKAGES_REGEXP
will be useful before too long either.
Docs updated to include stage-specific package related vatiables.
A pretty common issue breaking the image build is inter-package
file conflict resulting in hsh-install failure down there.
Let's bring that back to attention conveniently.
glebfm@ asked what to do with new package lists: whether these
belong to features, or to distributions themselves. This question
is actually open and up for discussion but there are guidelines
that can and should be written down already; and so they were.
Added pkgdups utility reference as well.
Multiple ARCHES won't just magically work without
the ability to figure out the correct apt.conf;
fortunately there's just the right example handy
in profiles.mk.sample already.
Thanks glebfm@ for feedback.
Looks like the 128k default block size is pretty well chosen:
it saves ~6% of image size compared to 64k, and subsequent
differences are ~3% per doubling the block size up to 1M
(thanks led@ for carrying out the tests).
So we'll stick with 256k for "normal" xz compression (inodes
uncompressed) and get 512k back for "tight" one (compressed).
The runtime performance issues are to be examined yet when
bootchart or the like is deployed, nothing drastic though.
With "fast" (gzip/lzo) squash compression inodes go unmolested.
For the record, tight live-webkiosk builds as 95M image in 3:40,
and tight live-flightgear.iso builds as 669M image in 6:34. Nice.
There's no much sense going for 1M block size: e.g. live-webkiosk
would drop to 93M (3:46) but its load time would increase up to
2:07 as compared to 1:48 for -b 524288 and 1:42 for -b 262144 -noI
on a Duron 500/512M system given the very same DVD+RW media.
The existing implementation would handle kernel differences
just fine but a bit too automatically: if it sees xz support,
that's what will end up being used (and if there's -Xbcj binary
compression filter available for the target platform, it will
be applied unequivocally either).
It's perfectly suitabe for getting fine-tuned release images
but is also a bit too resource-consuming while developing the
image configuration which has no business with its compression.
The one and only knob is SQUASHFS (see doc/variables.txt);
to give an idea of the differences, here are some numbers
for a mostly-binary (43% as per 99-elf-stats) webkiosk livecd
and a rather less so (18%) flightgear one on a dual quad-core
X5570 node (each mksquashfs run used up all the cores):
SQUASHFS | live-webkiosk.iso | live-flightgear.iso
---------+-------------------+---------------------
fast | 3:30 / 130M | 5:11 / 852M
normal * | 3:37 / 100M | 5:35 / 688M
tight | 3:50 / 98M | 6:47 / 683M
Thus if the knob isn't fiddled with, the defaults will allow
for a reasonably fast build of a pretty slim image; if one is
building a release or if a particular image is very sensitive
being close to the media capacity then just add SQUASHFS=tight
and see it a percent or two down on size.
Please note that lzo/gzip-compressed images are also quicker
to uncompress thus further helping with test iterations.
Thanks to led@ and glebfm@ for helpful hints and questions.
APM enabled notebooks would usually hibernate to
a partition of special type and special format;
thus to make use of this APM BIOS feature folks
might need a corresponding formatter.
This kind of test was proposed by led@ to gather statistics
on chroot's contents going to become squashfs (the script
optimizations lowering added overhead from ~10 sec down
to a subsecond range were also proposed by him).
Intentionally not documented in doc/variables.txt due to
the rather lowlevel nature of the probe (at least so far).
The knobs involved are SQUASHFS (the additional effort kicks
in only for "tight" case) and GLOBAL_SQUASHFS_SORT (must be
non-empty for this extra overhead to occur).
Additional experimentation is needed to find out whether
the difference in squashfs size and performance is worth
the trouble (seems the impact is non-zero but pretty minor).
There is at least one known deficiency for mkimage-profiles:
build.log will be truncated if verbose mode is enabled and
hasher version is lower than 1.3.22.
The check is done here since it's where the logging is arranged,
and doing it in image.in/Makefile would result in the warning
about log-truncating software being truncated by the said software.
Thanks Max Kosmach for reporting this inobviousity.
2012-04-03 16:26:25 +03:00
764 changed files with 12876 additions and 1721 deletions
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.