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!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
I've just borrowed glebfm@'s one introduced by commit
ec23a8ec7b before; this
still might be improved it seems.
Suggested-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
This allows you not to hope that only the packages of the desired
loader will be installed.
(cherry picked from commit 0f56e181892d7df64c123a509e8be31fba5f49b1)
This reverts commit 115a1901cd:
the change has not been tested properly unfortunately,
and it broke today's regular-rc builds fortunately;
there are no vulkan-{intel,radeon} packages in sisyphus
(only amdgpu), and these are present in lakostis@' repo:
http://www.unsafe.ru/lakostis/RPMS/ALTLinux/glvnd/repo/x86_64/RPMS.hasher/
Just drop the whole thing until it gets sorted out.
The whole RADEON_PACKAGES affair was introduced to deal
with fglrx/radeon incompatibility; it got basically
deprecated following fglrx removal from sisyphus,
and lakostis@ should have done "add" logic instead
of reusing the "set" one inappropriately.
Fixes: 85c52d71c6
See-also: https://lists.altlinux.org/pipermail/devel/2019-July/208126.html
...into mixins to make the distro configuration
more reusable and portable across target arches.
Think grafting instead of just growing from seed.
See-also: ba437ba828
Signed UEFI loader not required for aarch64.
NB: i586 images don't need UEFI SB either
and 32-bit shim is used for x86_64 images
along with proper 64-bit one.
This reverts commit 1b457a5d85.
It wasn't prudent to switch everyone to master FTP server;
Yandex mirror still has an order of magnitude more bandwidth.
It's actually sisyphus jeos image that needed this:
open-vm-tools got installed and then removed just
before the final reboot (unlike p8 jeos); not clear
what exactly caused this as subsequent installation
only pulled in libdnet and libicu56, neither of which
were excplicitly removed during cleanup.
Let's make the image a bit leaner until someone asks
for VMware support there.
We've decided that there's not much sense to continue building
server-openstack flavour of starterkits since it does take quite
an effort to even test properly, and there was rather no feedback
on those (maybe silent users will at least ping back this time).
Those interested are invited to follow server-v development
and contact Alexey Shabalin <shaba@altlinux.org> for cooperation.
PS: the actual pkglists are here, it's only the bunch of groups
tailored for standalone server-openstack with its group selection
menu layout that are being removed regarding the shared bits.
sddm doesn't work with sysvinit currently, so this
mixin is not a good place to specify the display manager;
and different platforms may have different needs,
e.g. sddm has just stopped working on aarch64 boards.
Sometimes REPORT=1 just wasn't passed to make, and the build.log
saved is noisy and harder to compare through diff(1); let's move
the implementation out of the makefile and into a standalone
script so it can be reused like this:
BUILDDIR=$(sed -rn "s/^mki-image-scripts: export GLOBAL_BUILDDIR='(.*)'$/\1/p" build/build.log
bin/cleanlog < build/build.log > build/reports/clean.log
See "export GLOBAL_BUILDDIR=" line in the particular log
(grabbing that one from stdin is not exactly trivial though).
Add target use/bootloader/uboot. Das U-Boot -- the Universal Boot
Loader, used on single board PCs (also in qemu).
Use bootloader lists to provide better portability and to avoid
overcomplicating bootloader switch.
Added restriction for alterator-$$(BASE_BOOTLOADER)) only for
ISO images. Since the new uboot bootloader is not supported in
Alterator and is not used when building ISO images.
caffeine is not needed anymore as xfce-power-manager has a presentation mode.
newmoon browser is not maintained in ALT's repositories for quite some time.
It could result in a broken config given broken chroot state;
it's of no practical difference as both cases just won't work
but we can at least provide meaningful diagnostics (and a bit
of perfectionism, heh).
Fixes: 2527fe94da2e810cf5d52cf548f84456fd5a6b4d
This feature ensures the availability and specification of the choice of
office package by analogy with the choice of browser. Additional options
may be set by explicit or indirect request.
gdm3 and lightdm have their own startup services,
and can no longer be started via prefdm.
Other display managers still run through prefdm.
See-also: https://bugzilla.altlinux.org/36769
- 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 226a2395e5.
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: f293239d5b
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: 3c2ef1c035
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: 2b3455c29a
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: 182d32f739
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).
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
1c777c8ad4
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 41a3f09132:
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.
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: 29ad239354
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 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: 79d0208841
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.
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.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
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.