Compare commits

...

784 Commits

Author SHA1 Message Date
Michael Shigorin
c5346a456e 1.1.11-alt1
- luks better
2013-10-14 21:00:38 +04:00
Michael Shigorin
8e590f70b2 regular.mk: fix ifdef thinko
The "workaround" would mis-apply to regular-wmaker target
instead of regular-gnustep it was intended for...
2013-10-14 19:15:11 +04:00
Michael Shigorin
f23fdcb859 regular.mk: regular-server tweaks
LUKS seems like a worthwile addition to this particular image;
it's also switched to use installer-distro-altlinux-server
for both LUKS support (until installer-steps are dynamic)
and server-oriented partitioning presets.
2013-10-14 17:32:35 +04:00
Michael Shigorin
34df065896 luks: did it work yet?
Let's ensure that make-initrd-luks gets to the base install
until installer is tweaked to enable in-flight installation
of options like this.

Adding luks to stage1 [make-initrd] features makes no sense
on the other hand (and it wasn't happening anyways due to
the lack of add_feature function call in config.mk as was
accidentally spotted).

And putting luks packages into an installer image lacking
the reference to alterator-luks isn't that sensible, let's
complain to logs at the very least (this isn't going to hit
the default output though).
2013-10-14 17:08:49 +04:00
Michael Shigorin
50c72650e2 mkimage-profiles.asciidoc: fix list formatting
It got missed somehow that it's a bullet list indeed...
2013-10-09 12:07:41 +04:00
Gleb Fotengauer-Malinovskiy
8eae258a8c 90-build-distro.mk: add "date +%F" to .disk/info 2013-10-09 12:07:41 +04:00
Michael Shigorin
9a86628882 gear-store-tags 2013-09-30 20:26:14 +04:00
Michael Shigorin
b4c7954db5 1.1.10-alt1
- regular tweaks
2013-09-30 20:24:12 +04:00
Michael Shigorin
c7a79f4c0a regular.mk: added livecd-install-apt-cache
Carrying over metadata and packages downloaded by apt while
being run off a LiveCD is implemented as suggested in #29192.
2013-09-30 20:21:33 +04:00
Michael Shigorin
beb011f509 regular.mk: added license note to server
It's the only installer in this collection
and it did lack any branding indeed.
2013-09-25 18:18:07 +04:00
Michael Shigorin
73fd4d337e syslinux: cosmetic space
"prompt" and subsequent first "label" were not separated
in any way while second "label" and forth were; let's make
the resulting isolinux.cfg a tiny bit more pretty.
2013-09-24 14:51:45 +04:00
Michael Shigorin
7dd8e77753 1.1.9-alt1
- regular fixes
2013-09-23 22:23:13 +04:00
Roman Savochenko
a87b793d47 add NM and ARTS to regular-tde
NM/TDE is fixed (#25713), ARTS is needed.
2013-09-23 22:20:34 +04:00
Michael Shigorin
23c4ebf14d net: use livecd-save-nfs for LiveCDs with NM
This is to avoid NM messing with network interface
involved in NFS root filesystem being operational
(see alterator-netinst); thanks sem@ for the hint.
2013-09-23 22:20:34 +04:00
Michael Shigorin
144d4c0f22 regular.mk: add gpm to desktop/rescue images
Make it automatically start in desktop ones,
and let it be available in rescue too (there's
a risk of gpm picking up a wrong protocol and
selecting/pasting at random which is not exactly
the right thing for rescue environment with root
shells all around).
2013-09-23 22:20:34 +04:00
Michael Shigorin
c7dadfd899 syslinux: ensure "default" line is there
alterator-netinst currently relies on "default"
being specified explicitly; it's wrong and it should
cope with the first "label" clause as well but we're
better off being strict to this script, not that one.

This commit should be no-op regarding syslinux itself.
2013-09-23 22:20:34 +04:00
Michael Shigorin
8f7c712390 server: add sshd
sshd is rather requisite, wonder how it got missed.
2013-09-23 22:17:32 +04:00
Michael Shigorin
01b3adb619 ve.mk: added ve/ldv
It's based on the package list provided by ldv@ and intended
for barebone OpenVZ template cache serving as a base for any
customizations needed.
2013-09-23 22:17:32 +04:00
Michael Shigorin
3f34577393 added systemd-analyze to systemd pkglist
It's a great tool giving the ability to at least debug
the novel problems that weren't there before systemd.

Good that it doesn't want half of GNOME or python yet...
2013-09-23 22:17:32 +04:00
Michael Shigorin
0e3484c25b regular.mk: don't use/live/ru
It was a desperate kludge to warrant fallback localization
for cases when livecd-setlocale failed to work out properly;
"thanks" to systemd paralizing startup the order was chaotic,
see #28991 for some details.

Now that livecd-setlocale >= 0.3.1 looks like working this
should be dropped for good.

And the proper preset solution will be l10n feature.
That one requires part of alterator-sysconfig backend
factored out into a standalone package along with its data.
2013-09-23 22:17:32 +04:00
Michael Shigorin
210baab8cd gear-store-tags 2013-09-16 21:43:03 +04:00
Michael Shigorin
418cc79195 1.1.8-alt1
- armh/p7/ve fixes
2013-09-16 21:01:04 +04:00
Michael Shigorin
7bdda821e7 ve.mk: use/repo for ve/generic
Setting up apt configuration in every container
is pretty annoying, let's enable it by default.

Some provision to add/enable local mirror would
be beneficial but not there yet...
2013-09-16 21:01:04 +04:00
Michael Shigorin
3bad58987b p7.mk: ve/altlinux-p7 bridge
This one adds another image class as well.
Hope this kludge will not get self-conscious...
2013-09-16 21:01:04 +04:00
Michael Shigorin
441a5bdfbd ve.mk: tweaked ve/generic
etckeeper was suggested by george@ along with vim-console;
the latter should come by server,base tags but so far does not
(splitting server-base list into common, bare metal and virtualized
parts in haste looked suboptimal).
2013-09-16 21:01:04 +04:00
Michael Shigorin
3161c43467 ve.mk: employ init feature
It should actually work better than manual specification
now that it's fixed.
2013-09-16 21:01:04 +04:00
Michael Shigorin
b2a1befe25 init: we don't need no systemd with sysvinit
That is, no need to pull in systemd as syslogd-daemon provider
when an unspecified one has been requested by interactivesystem
or anything else.

The tricky issue is that THE_LISTS will get expanded separately
and too late to specify a particular provider which will have been
auto-chosen while expanding e.g. BASE_PACKAGES.
2013-09-16 21:01:04 +04:00
Michael Shigorin
f43d68ce62 power: employ services feature
rootfs got handy either though managing modules to preload
might be enhanced further.
2013-09-13 17:33:58 +04:00
Michael Shigorin
93371601fb p7.mk: add regular-server bridge
This proxy makefile is still needed unfortunately...
2013-09-13 17:33:58 +04:00
Michael Shigorin
d931d69ddd armh.mk: *fix* nexus7 aliases
So the autobuilds were failing for these two weeks since
commit e43386c1fe was *totally*
braindead: there's no "arm-e17" target neither "arm-kde4" one.

Fixed while awake and adjusted (in sync with build node)
to reference particular nexus7 and not just "arm".

The sad thing is that it should now read "nexus7old" TBH,
2013 model is not Linux friendly at all at the moment...
2013-09-13 17:33:58 +04:00
Michael Shigorin
bd9fef2c2c gear-store-tags 2013-08-26 17:08:54 +03:00
Michael Shigorin
15a0e6769e 1.1.7-alt1
- minor fixes
2013-08-26 17:06:41 +03:00
Michael Shigorin
674f7db26e clean.mk: allow to forbid cleanup explicitly
The behaviour that sort of settled didn't actually follow
the principle of the least surprise when one really wanted
to have BUILDDIR available for inspection; DEBUG=2 would be
effective to achieve that but CLEAN=0 would not.

Thanks led@ for spotting and reporting this.
2013-08-13 22:32:27 +04:00
Michael Shigorin
891f982e92 regular.mk: get gvfs back into lxde flavour
aen@ has suggested that gvfs support be present in regular-lxde
as pcmanfm2 can make use of it; let's factor it back in here.
2013-08-13 22:23:11 +04:00
Michael Shigorin
b05007943b desktop+gvfs: factored out from lxde pkglists
gvfs pulls gnome-online-accounts and dconf in;
these add considerable bloat that well may be
undesirable in a lightweight distro, just pull
this into a separate pkglist.
2013-08-13 22:23:11 +04:00
Michael Shigorin
07cc320b99 armh: get rid of 50-sshd-root
It was a temporary hack actually, and is better dropped long-term:
things like predefined root accounts with remote access are *evil*
and this hook was a half of that "solution".

Use of oem feature to integrate first-boot setup is recommended
to deal with this issue, at least when graphics are available.
2013-08-13 13:35:56 +04:00
Michael Shigorin
f0368c6327 x11: make use/x11/xorg arch-dependent
There's no such thing as xorg-dr[vi]-intel on non-x86 AFAIK,
and the rest of the videodrivers is only generic on x86 too.
2013-08-13 13:30:33 +04:00
Michael Shigorin
4cfe0fa10f gear-store-tags 2013-08-12 21:59:10 +04:00
Michael Shigorin
8b26752de9 1.1.6-alt1
- vm-net retired
2013-08-12 21:49:00 +04:00
Michael Shigorin
f44c386107 firmware: drop firmware-amd-ucode
It's merged into firmware-linux, thanks lakostis@
for the explanation; P:/O: should be added
but less line noise is better anyways.
2013-08-12 20:53:02 +04:00
Michael Shigorin
af1dd0f4e3 armh.mk: tweak vm/arm-server too
basesystem doesn't warrant an init these days apparently,
let's make sure one does land here.
2013-08-12 20:53:02 +04:00
Michael Shigorin
1276284ce7 armh.mk: initial cubox-server
This one was asked for and is pretty reasonable common base
to play with cubox from scratch (being ALT); the intermediate
targets had to be refactored with:

- vm/.cubox-bare becoming *that* bare (it doesn't even
  warrant an init anymore, let alone xorg);
- vm/.cubox-desktop accomodating most of desktop bits;
- vm/.cubox-base becoming vm/.cubox-oem as it should be.

The just-introduced tty feature is employed either.
2013-08-12 20:53:02 +04:00
Michael Shigorin
20f8c1853d armh-{cubox,dovefb}: minor refactoring
The initial suggestion that any cubox image is a desktop one
didn't hold out for long; and xorg related bits are not that
related to boot script setup in terms of neccessity.
2013-08-12 20:53:02 +04:00
Michael Shigorin
989c903efb initial tty feature
This one only cares for serial console(s) in sysvinit case now
but might end up controlling the number of gettys for ve/vm, etc.
2013-08-12 20:53:02 +04:00
Michael Shigorin
de38413966 armh: update warning in 50-sshd-root
It basically reads the same but was referring to a neighbour
script that has been moved to a separate deflogin feature
during heavy refactoring of initial implementation draft.
2013-08-12 20:53:01 +04:00
Michael Shigorin
43e76bd650 vm-net: feature retired
This one was replaced by the net feature completely
and has been declared obsolete since 1.1.1 (a month ago).

A few remaining users trivially adjusted.
2013-08-12 20:53:01 +04:00
Michael Shigorin
de94641c41 vm-ssh: renamed to net-ssh and cleaned up
There was no need to split carrying over the pubkey
and tightening up permissions on the file and its parent
directory to be done in two separate scripts; this should
be more generic now as a bonus.

Users adjusted accordingly.
2013-08-12 20:53:01 +04:00
Michael Shigorin
62a37f373f control: fix sudo-su target
use/control/sudo-su apparently lacked dependency on plain
use/control thus defeating the whole affair; thanks msp@
for spotting and reporting this.
2013-08-12 20:53:01 +04:00
Michael Shigorin
9257927e86 homeros: replace chkconfig hooks with use/services
Things that had to be done by hand are now generalized
and made convenient, hopefully.
2013-08-12 20:53:01 +04:00
Michael Pozhidaev
99a7a97284 stage2: extend /boot cleaner stoplist
Minor fix: /boot directory is not cleaned for livecd if there are
homeros-install or luwrain-install files (in addition to live-install
and livecd-install being already checked).
2013-08-12 20:53:01 +04:00
Michael Shigorin
49b400378d gear-store-tags 2013-08-05 21:42:00 +04:00
Michael Shigorin
922b44bf57 1.1.5-alt1
- armh related fixes
2013-08-05 20:57:18 +04:00
Michael Shigorin
e43386c1fe armh.mk: added aliases for nightly/arm
The automated build relies on particular names
to be buildable and this broke during some sync;
http://nightly.altlinux.org/sisyphus-arm/snapshots/
were empty as autobuild was failing since 20130710.

p7 aliases go in too.
2013-08-05 11:21:35 +00:00
Michael Shigorin
84ad4092dc Makefile: fixed an interbug
This inobvious buglet has been spotted shortly after
1.1.0 refactoring was roughly over; the problem is
that armh-specific targets would get ignored without
explicit ARCH=armh.

It's commit 768df7e9e9
which streamlined introspection within main.mk
and a bug in Makefile which left ARCH empty
even upon having autodetected it for ARCHES.

The current version is more straightforward as a bonus.
2013-08-05 11:21:35 +00:00
Michael Shigorin
fbe571e296 armh.mk: forward-ported vm/arm-server
Thanks glebfm@ for nudging me to do this; initial draft
was the very firsh armh distro target successfully built
and tested but the effort has refocused onto nexus7 ones
with cubox images joining the party a bit later.

Now it's the time for all good servers...
2013-08-05 11:19:49 +00:00
Michael Shigorin
5ef8291755 armh.mk: fix the silly comment
It was sitting next to the wrong line after refactoring
of cubox related target and was referring to "king"
instead of "kind", very kind of me but not so kingly.
2013-08-05 13:53:26 +04:00
Michael Shigorin
9dc9f14f21 desktop+lxde+extra: s/gqview/geeqie/
george@ spotted gqview in regular-lxde.iso and wondered why;
it's not being developed since 2006 or so while there's a fork
named geeqie which has continued to improve upon it.
2013-08-01 13:48:42 +04:00
Michael Shigorin
873737a24e net: avoid NM showstopper at boot by default
Intro: NetworkManager-wait-online.service would, well, wait
for some network interface to become online or for timeout
to kick in.

Problem: if a LiveCD is tested in offline environment
that timeout will only impede the boot.

Proposed solution: use/net/nm/nodelay target has been implemented
to disable that service as proposed by sem@ and done in Simply;
"+nm" target changed to be an alias to this one.
2013-07-30 09:58:22 +04:00
Michael Shigorin
6470e1d8da gear-store-tags 2013-07-29 21:38:51 +04:00
Michael Shigorin
a7146f993a 1.1.4-alt1
- assorted fixups
2013-07-29 21:20:42 +04:00
Michael Shigorin
25616fb388 kvm-server: update for qemu/kvm merge
kvm fork is no more, and qemu-kvm is provided by qemu-system.
2013-07-25 22:34:46 +04:00
Michael Shigorin
c8d92ab767 http-server: drop php5-rrdtool
Thanks glebfm@ for spotting and reporting bitrot;
these pkglists were copied from m-p-d during
server-light reproduction.
2013-07-25 22:27:42 +04:00
Michael Shigorin
282257d479 sound: get udev-alsa back
It's old, it uses consolekit (even if not neccessarily),
it borders obsolescence *but* removal of udev-alsa has caused
massive regressions (e.g. regular-gnome3 had soundcard mixer
levels dropped to zero from the start, regular-razorqt added
inability to poweroff to that...).

Just get it back.
2013-07-23 23:01:05 +04:00
Michael Shigorin
6063a9913f armh.mk: use centaurus branding for cubox-mate
Thanks boyarsh@ and cas@ for pointing out that the branding
that takes MATE peculiarities (e.g. background settings)
into account is in Sisyphus/armh already.
2013-07-23 11:36:22 +00:00
Michael Shigorin
3820a3cb26 regular.mk: regular-tde += openscada
Following cubox-tde it's just plain reasonable to add
OpenSCADA to the regular one ;-)
2013-07-23 14:23:47 +04:00
Michael Shigorin
ce6c4b6bf2 gear-store-tags 2013-07-22 23:44:29 +04:00
Michael Shigorin
c1366d3195 1.1.3-alt1
- armh fixes and tweaks
2013-07-22 23:43:42 +04:00
Michael Shigorin
4db16f0eb8 armh.mk: initial TDE image
This one is IMHO best suited DE for cubox' meagre performance
(especially on I/O side due to microSD) as it incurs quite modest
I/O, CPU and RAM footprint quite suitable for PII-300 times
(cubox feels quite like that but has lots of RAM compared to
even maxed-out Pentium II workstation).

The image includes OpenSCADA as a nice and unique feature
which has been developed with TDE environment in mind
and was used on ARM hardware like N900, incidentally;
thanks aen@ for this suggestion.
2013-07-22 23:40:59 +04:00
Michael Shigorin
5c943e1cdf initial openscada pkglist
Thanks rom_as@ for the entire OpenSCADA project and
packages as well as for keeping TDE packages alive
and kickin' in Sisyphus.
2013-07-22 23:40:58 +04:00
Michael Shigorin
615d1793ab armh.mk: rebased cubox images
Most of these are slated to employ oem feature by now,
no sense to call it in almost every dependency chain;
the only image left with predefined locale and credentials
is cubox-xfce-ru.
2013-07-22 23:40:58 +04:00
Michael Shigorin
fc3569a491 x11-autostart: tweak for oem case
The nuance being that:
- alterator-setup package would change default.target
  for systemd providing a symlink of its own and making
  a backup of what was there (rc3 basically);
- 40-x11-autostart would ignore that backup;
- 99-oem-setup would do nothing about it all either;
- alterator-setup removal would restore rc3 symlink.

It's not pretty either, something more robust should be
invented some day.
2013-07-22 23:40:58 +04:00
Michael Shigorin
dc8799be08 desktop+kde4: added Ukrainian translations
Basically forgot to add after initial testing.
2013-07-22 23:40:58 +04:00
Michael Shigorin
8e87358b66 net-eth: fix defaults
It came unnoticed that USE_IFPLUGD clashes with
CONFIG_WIRELESS which is the default for eth ifaces.
2013-07-22 23:40:58 +04:00
Michael Shigorin
5a09eed232 armh.mk: initial cubox-kde4
It's a bit heavy but still works.
2013-07-22 23:40:58 +04:00
Michael Shigorin
93a8a89103 armh.mk: use/cleanup/installer dropped
That one conflicted with alterator-setup
by removing what it needs... should be done
differently.
2013-07-22 23:40:58 +04:00
Michael Shigorin
4918019b29 tar2fs: use -s Luke
Really no need to test and sleep when there's sync mode.
2013-07-22 23:40:58 +04:00
Michael Shigorin
0cb540acf2 gear-store-tags 2013-07-15 22:22:33 +04:00
Michael Shigorin
9c09cd1447 1.1.2-alt1
- control and sound features
2013-07-15 22:21:37 +04:00
Michael Shigorin
72986b5321 build-distro: un-hardwire .disk/info
It used to be a hasty static string; something like
"ALT Linux regular-e17/x86_64" seems more relevant.
2013-07-15 21:32:13 +04:00
Michael Shigorin
a10125ffb2 services: update README
The extent of this feature's action should be clear
as well as its prerequisite.
2013-07-15 21:20:59 +04:00
Michael Shigorin
da65dc2fd9 build-distro: skip pseudo subprofiles
rootfs presented a special case when there is no resulting
directory at all as it gets merged with the target subprofile
by design.

Still those features adding only rootfs scripts need to depend
on it but this resulted in an attempt to process a missing subdir.

This is brought back to sanity now.
2013-07-15 21:20:59 +04:00
Michael Shigorin
33e154dd7e net-usershares: added missing README
`make check' must be included in my release process :-/
2013-07-15 21:20:59 +04:00
Michael Shigorin
f110716ae6 armh.mk: tiny dedup in cubox-xfce
vm/.cubox-gtk already pulls +nm in, no need to do it again.
2013-07-15 21:20:59 +04:00
Michael Shigorin
607aa1b7d8 regular.mk: regular-server revisited
Few things:

- extend feature specification
  + SysVinit can be chosen explicitly via init feature,
    no need to keep sysklogd in yet another pkglist;
  + power management should be included too
    (both cpufreq setup and power button handling);
  + LILO seems to be heavily preferred among the
    target audience :)

- use desktop installer for regular-server
  + the seeming controversy is explained easily:
    installer-distro-altlinux-generic has very few
    modules to the point of being inconvenient for
    anything but quick rounds of basic testing,
    and distributions rather do need network setup
    along with a non-privileged user.
2013-07-15 21:15:44 +04:00
Michael Shigorin
7afce7b46c desktop+lxde: added ConsoleKit
The funny thing while debugging this was "how the heck
could a sound related change induce privilege related shift?"
-- turns out that udev-alsa (which pulls in ConsoleKit)
was the culprit... looks like LXDE hasn't dumped it yet :)
2013-07-15 21:14:45 +04:00
Gleb F-Malinovskiy
81a6ab9ec1 tar2fs: double /boot size
Factor of 2 is not enough for kernel upgrade due to filesystem overhead.
Add BOOT_SIZE_FACTOR on top of that.
2013-07-15 13:56:00 +04:00
Michael Shigorin
d79061fb44 xdg-user-dirs: employ control feature
Maybe the conditionals shouldn't be too terse, by the way...
2013-07-15 13:56:00 +04:00
Michael Shigorin
f123fea698 dev: employ control feature
...instead of setting up pam_mktemp ourselves
even if that was no big deal too.
2013-07-15 13:56:00 +04:00
Michael Shigorin
f059955d31 armh: employ control feature
As 50-sudo-su script cares for sudo and su control facilities no more
that hook is aptly renamed to 50-sshd-root (should be generalized
either some day).
2013-07-15 13:56:00 +04:00
Michael Shigorin
7666d3ac2d homeros: employ control feature
...instead of having to do the same by hand.
2013-07-15 13:56:00 +04:00
Michael Shigorin
42e6674120 initial control feature
TODO--, and this one was pretty expected
after the "invention" of iterators.
2013-07-15 13:56:00 +04:00
Michael Shigorin
37b971f533 net-eth: ensure single-subsystem control
Setting NM_CONTROLLED is apparently not enough to disable
/etc/net handling of a particular interface; thanks sem@
for noticing the fortunate error messages in logs
and explaining this peculiarity to me.
2013-07-15 13:56:00 +04:00
Michael Shigorin
ba857b9e34 deflogin: do require passwd
50-root script uses passwd(1),
mea culpa
for having optimized it out...
2013-07-15 13:56:00 +04:00
Michael Shigorin
f879c16d80 armh.mk: use sound, net features
The main reason was use/net but warranting the
bits needed for proper pulseaudio functioning
via use/sound seems also logical.
2013-07-15 13:55:59 +04:00
Michael Shigorin
889be05910 armh.mk: employ sound feature
This bunch of commits was done so these can be
mixed and matched (or even reverted) later if needed;
it was tempting to just revamp things wholesale again
but coarse grained approach is worse to maintain.
2013-07-15 13:55:59 +04:00
Michael Shigorin
ddca9d469b slinux: employ sound feature
One of the earlier duplicates pruned now.
2013-07-15 13:55:59 +04:00
Michael Shigorin
0b870ef03c ltsp: employ sound feature
The client side might benefit a bit more in the future
but the server side does not (and should not) require
everything client side does; thus use base ALSA target.
2013-07-15 13:55:59 +04:00
Michael Shigorin
42ed473409 regular.mk: employ sound feature for kde4
An act of deduplication again.
2013-07-15 13:55:59 +04:00
Michael Shigorin
006230139c x11: employ sound feature
gnome3 was just asking to line up either.
2013-07-15 13:55:59 +04:00
Michael Shigorin
f92a36da7d live: employ sound feature
use/live/sound target is dropped on the floor,
there were no more in-profile users of it.
2013-07-15 13:55:59 +04:00
Michael Shigorin
e59dca158e initial sound feature
This replaces the many sets of the corresponding packages
wandering all over pkglists, features and configurations;
the interface should be rather well-defined by now.
2013-07-15 13:55:59 +04:00
Michael Shigorin
ce8e2d2272 regular.mk: add an empty recipe
That trailing "; @:" makes up a cause to run a shell,
and SHELL is overloaded with tracing for reports.

Thus an omission fixup.
2013-07-15 13:55:59 +04:00
Michael Shigorin
1b0d05100c live: employ xdg-user-dirs feature
use/live/install stopped to provide a desktop icon; the nuance is
that zdg-user-dirs-install.sh script in livecd-install package
expects ~/.config/user-dirs.dirs to actually do that.
2013-07-15 13:55:59 +04:00
Michael Shigorin
6933b7d41e gear-store-tags 2013-07-01 20:47:48 +00:00
Michael Shigorin
40468c8395 1.1.1-alt1
- cuboxism
2013-07-01 20:47:10 +00:00
Michael Shigorin
ee703cef93 factor out xdg-user-dirs feature
This script hook used to lurk in live feature but was deemed needed
in cubox images too; thus it's time to move it into a standalone
feature (maybe a configurable one, even).

Thanks glebfm@ for initial shot and sem@ for discussion.
2013-07-02 00:03:11 +04:00
Gleb F-Malinovskiy
8613271d5d cubox-xfce: add LO4, tweak gnome packages
There were some changes in x86 Simply built off m-p-d
which should be propagated into ARM Simply built off m-p.
2013-07-02 00:02:16 +04:00
Michael Shigorin
e3e9d4b894 report-targets: process vm/* either
A trivial overlook fixed up.
2013-07-02 00:01:38 +04:00
Michael Shigorin
fd9a5fcbe2 regular.mk: use +nm
regular-xfce managed to lack NM somehow (so it even lacked
network after being installed since some build which wasn't
identified right away unfortunately); let's fix that either
during this small refactoring.
2013-07-02 00:00:42 +04:00
Michael Shigorin
a97ef4c905 net, services: in Soviet Russia...
...net uses services, not services use net.  That is,
"network" is a service that needs to be enabled by the
now-existing mechanism of "services" feature, don't be
fooled by "network services" here.
2013-07-02 00:00:42 +04:00
Michael Shigorin
6889a65ebd armh.mk: use those new and shiny features for cubox
Some of those were long asking to be done but cubox project
managed to actually get them done at least to the extent
needed for it; so let's land those and prune things up a bit.
2013-07-02 00:00:30 +04:00
Michael Shigorin
5672e96c1f initial domain-client feature
Based on m-p-d's domain-client pkglist and scripts from
installer-feature-network-shares-client-stage3 package.

Many thanks to boyarsh@ for his kind help to get this working.

NB: this works on cubox but is not yet ready for installers!
2013-07-01 23:58:24 +04:00
Michael Shigorin
91f0c4217c obsoleted vm-net feature
Hooray, this one is almost retired by now!
2013-07-01 23:58:24 +04:00
Michael Shigorin
fb419a9f7d initial net-eth feature
This one is also putting an end to an overly long lived hack
named vm-net by replacing it with a bit more generic mechanism.
2013-07-01 23:58:24 +04:00
Michael Shigorin
3ee510aa3a initial net feature
This one supports /etc/net, NM and connman; pruning the tree
to get rid of hardwired remnants is going to take some more time.
2013-07-01 23:58:21 +04:00
Michael Shigorin
b7fd499aa2 armh.mk: employ net-usershares feature
It even works so far!
2013-07-01 23:40:35 +04:00
Michael Shigorin
e543e6dd7b initial net-usershares feature
This is applicable at least to XFCE and MATE based images
(plugins for the appropriate file managers are available).

NB: basically untested with installers.
2013-07-01 23:36:20 +04:00
Michael Shigorin
8b7138546d desktop+tde: added a few packages
kde-i18n-uk and krusader were suggested by rom_as@ back in April;
amarok was suggested by Pulfer from Rosalab after a kind review:
http://www.opennet.ru/openforum/vsluhforumID3/90521.html#158
2013-07-01 23:35:55 +04:00
Michael Shigorin
b1fe179d21 slinux/arm: added youtube-dl
...as per aen@'s advice: parole can use gst0.10 specific
hardware acceleration on Cubox but Firefox doesn't, so it's
way more reasonable to download video and watch it and not some
kind of slideshow.
2013-07-01 23:35:55 +04:00
Michael Shigorin
8da18aefa6 armh.mk: reworked cubox-xfce images, dropped cubox-e17
XFCE seems fine on that device while E17 has segfaulted on me so far
(specifically on Cubox and not on e.g. Nexus 7).

In a nutshell, cubox-xfce is an experiment into OEM-like flashware
while cubox-xfce-ru strives to become something more or less ready
for actual use.
2013-07-01 23:34:53 +04:00
Michael Shigorin
a06a4852f0 slinux: added ARM specific target
It's different so far even if it should be more or less merged
some day so that the packagelists become reusable across x86/ARM.
2013-07-01 23:34:53 +04:00
Michael Shigorin
fac87182c9 initial oem feature
This is an experimental and known incomplete support
for the system configuration that has to be done at the
first boot-up by its user since it's their choice.

This draft uses systemd which has been a requirement :-/
Thanks sem@ for helping out with the somewhat tricky
unit file for alterator-setup.
2013-07-01 23:33:52 +04:00
Michael Shigorin
7f6947fd13 armh: cope with non-signed repository hashes
The '[alt]' signature reference in the stock package
doesn't fit current reality as the hash files for
Sisyphus/armh are *not* cryptographically signed.

This commit should be reverted when these are.
2013-06-21 22:25:17 +04:00
Michael Shigorin
e8a067b4af vm.mk: add su to vm/net
It's pretty frustrating to be able to ssh into a vm
while being unable to administer it knowing the rootpw...
2013-06-20 16:17:52 +04:00
Michael Shigorin
a7e9cf88db deflogin: argh, fix silly thinko
That \t has lurked in the source variant of the script,
was fixed in features.in/live/live/image-scripts.d/30-users once
and still has managed to creep into this fork!

Ugh.
2013-06-20 13:45:35 +04:00
Michael Shigorin
768df7e9e9 main.mk: target refactoring
The issue with the original hasty code that stuck around
was that it bluntly ignored any ifdef/ifeq constructs due to
an obvious reason of being essentially a grep, not a makefile
interpreter.

It's now fixed so that e.g. arch-specific targets won't pop up
for no good reason.

Thanks ldv@ for discussion and a reminder about the dump mode
(make -p).
2013-06-20 13:42:20 +04:00
Michael Shigorin
a18295f223 {lib,conf.d}/{ve,vm}.mk: shift the real targets
lib/*.mk aren't going to be parsed for build targets
in the near future; and the early placement of those
targets was superseded by a dedicated configuration
snippet directory so just move these bits there.
2013-06-19 16:52:02 +04:00
Michael Shigorin
d160d6100e regular.mk: gnustep is broken on x86_64 right now
Let's only build it on i586 until gnustep packages are fixed.
2013-06-19 16:33:10 +04:00
Michael Shigorin
969d1eb6b2 Makefile: don't try to report on distclean
...and on other direct non-build actions like clean or help.
How could this stay overlooked for so long?
2013-06-18 00:36:55 +04:00
Michael Shigorin
802ea74da8 gear-store-tags 2013-06-17 20:20:16 +04:00
Michael Shigorin
386c1b14a3 1.1.0-alt1
- 1.1.x branch: public alpha development status
  + new subprofile: rootfs
  + new features: armh*, deflogin, init, services
  + refactored features: build-*, efi, fonts, live, x11*
  + tar2vm got rewritten as tar2fs, gained ARM support
- minor spec metadata update
2013-06-17 20:12:57 +04:00
Michael Shigorin
ccc6486417 main.mk, build.mk: tweaks for error reporting
I've finally moved away from LC_MESSAGES=C on my main
development system half a year ago and finally spotted
that a grep for "Stop\.$" stopped to yield anything now.
2013-06-17 19:29:12 +04:00
Michael Shigorin
d6c663bf02 desktop+regular: exclude alterator-x11
It's neither reasonable nor installable on ARM,
so far dropping it is better than any workarounds.
2013-06-17 19:29:12 +04:00
Michael Shigorin
9269e83382 extended cubox-xfce with simply packagelists
Those based on x86 ones but pruned according to armh repo
presence; most notably, these are missing:

compiz compiz-gtk
java-1.6.0-sun mozilla-plugin-java-1.6.0-sun
libreoffice
remmina
xfcalendar
yagf
2013-06-17 19:29:12 +04:00
Michael Shigorin
000848bb97 armh.mk: initial cubox images
These are intended to run on Cubox ARM systems.
Tough childhood, plastic toys...
2013-06-17 19:29:12 +04:00
Michael Shigorin
7dae342db1 initial armh-cubox feature
This one cares for SolidRun Cubox support.
2013-06-17 19:29:12 +04:00
Michael Shigorin
6daf50b4c9 initial armh-dovefb feature
This one cares for the less platform-specific aspects
of Marvell Dove platform support.
2013-06-17 19:29:12 +04:00
Michael Shigorin
7409aa2fc1 armh: added umkimage support
It was actually done much earlier during an experiment with
Marvell ArmadaXP but is now integrated more or less properly.

NB: ext2 is not needed anymore (uboot should do it),
ext4 should become configurable by an existing knob.
2013-06-17 19:29:12 +04:00
Michael Shigorin
61ecd095bb x11: added use/x11/mate target
It was implemented in a pretty quick-and-dirty way
for regular-mate back then, clean things up a bit.
Package lists should be deduplicated either but
that's another story.
2013-06-17 19:29:12 +04:00
Michael Shigorin
e532dedc7a slinux/misc: drop an obsolete package
gdm-theme-simply is still around but turns out that it counts
on gdm2.20 (providing gdm) to be installed, and it is not;
thus gdm-3 is actually pulled in and it doesn't work here.

The package should be dropped from Sisyphus probably,
let's drop it here anyways.
2013-06-17 19:29:12 +04:00
Michael Shigorin
d7689f30c7 tar2vm: rewrote as tar2fs
Overview of the changes:
- ARM support: separate ext2 /boot, no LILO
- avoid race condition with devmapper
- trap ERR so that -e in shebang doesn't result in extra cleanup hassle
- configurable root filesystem type (ext4 by default)
- jumps through parted hoops

Details:

1. LILO is x86-specific while the rest of the script can be used
   to prepare e.g. Marvell ArmadaXP or CuBox images; we can generally
   count on uboot supporting ext2 for relatively sane platforms but
   not ext4 that would be a better root filesystem performance-wise.

2. Apparently /dev/mapper/loopXpY can be still missing at the time
   when kpartx returns and pop up a bit later... sit there, wait
   and check for it.

3. If something went wrong with any command of the script it would bail out
   due to -e in shebang; it is now better to clean up the loopback device
   and its mappings in this situation either.

4. One size doesn't fit all, really.

5. The parted sizing was sloppy as in broken, now it's just half insane.
   Someone's decision to stick units and auto-alignment knobs into
   a single one was apparently hilarious...

   http://www.gnu.org/software/parted/manual/parted.html#unit

Manual loop/dm cleanup is described in documentation just in case.

/boot size meter is suboptimal in terms of additional I/O incurred,
will be most likely rewritten to make use of advance "du -s".
2013-06-17 19:29:11 +04:00
Michael Shigorin
ef02d479f7 stage1: add ehci_marvell to modules
This is ARM-specific (more specifically, Marvell ArmadaXP-specific
for me right now) but doesn't hurt if the module is absent.
2013-06-17 19:29:11 +04:00
Michael Shigorin
3770ca2260 metadata: fix a tiny bitrot
The generated comment went wrong when the script was renamed.
2013-06-17 19:29:11 +04:00
Michael Shigorin
72bc5d0539 pkg/lists: tweak Makefile to expand variables
The issue at hand is the hack to be employed in the init feature:

	@$(call add,THE_LISTS,$$(INIT_TYPE))

where INIT_TYPE is set separately; $(value $V) would leave that kind
of substitution unmolested while we would actually need it done.
2013-06-17 19:29:11 +04:00
Michael Shigorin
a00267ab8b live: disable dmeventd by default too
A service a day makes the boot a long wait!
2013-06-17 19:29:11 +04:00
Michael Shigorin
f6b9223b22 live.mk, test.mk: drop obsolete targets
live-{gnome,cinnamon,mate,sugar} have been superseded by regular-*
(see regular.mk); live-mate-systemd has no sense now either.
2013-06-17 16:01:35 +04:00
Michael Shigorin
0d8e44d8fd x11-autologin: factor out x11-autostart
It has value of its own and can be used standalone;
autologin does require autostart though.

Adjust x11 feature targets accordingly.
2013-06-17 16:01:35 +04:00
Michael Shigorin
b683d5d751 live: factor out x11-autologin
Hardly belonged there in the first place and became a culprit
during armh branch development since it had to be forked in
an ugly manner; move to rootfs hooks and be done with it.

VM images will be able to benefit either *but* installed systems
might have some trouble when this is implemented:
http://lists.altlinux.org/pipermail/devel/2013-May/197447.html

Split off use/live/x11 as a common free/proprietary ground either
(this refactoring had to be performed in parallel with x11 feature
being revamped, diffs quickly became intertangled unfortunately).
2013-06-17 16:01:35 +04:00
Michael Shigorin
ea8a908931 x11: driver and purpose related refactoring
This has had several goals:
- a target suitable for x86 and armh providing a rather
  minimal set of base xorg packages and generic drivers;
- task-oriented targets for graphics use cases:
  + "desktop" means rather 2D focus with 3D being welcome
    or even essential but not performance critical, thus
    "a slower driver is fine as long as it does work";
  + "3d" means specific 3D performance being critical,
    that is "no 3D means no use at all".

Regarding the free and proprietary 3D-capable drivers:
the previous idea was to split out some common ground
and then add the contenders on top of that; the current
approach is based on the observation that the live images
requiring proprietary NVIDIA/AMD drivers *by default*
are usually of not much use with hardware that lacks
proper 3D acceleration (like Tseng cards) or the driver
support for that (like Matrox these days).

Intel videodriver makes for a special case though:
it is both free and top-notch performer.

Thanks sem@ and boyarsh@ for discussion.

PS: xorg-drv-{keyboard,mouse,void} dropped;
those who need these can usually help themselves.
2013-06-17 16:01:35 +04:00
Michael Shigorin
d9ca33af6d initial armh* features
These handle only VE-like products (think TWRP on Nexus 7);
the proper image support should be backported later on.

An experiment in layered configurations is still in its
early stages regarding ARM zoo...
2013-06-17 16:01:35 +04:00
Michael Shigorin
d22c793ee9 initial deflogin feature (security sensitive!)
The feature officially introduces the "engineering passwords"
including empty ones which have been around since forever but
weren't properly managed (and still are not, at least until
there are no stray passwd/chpasswd/usermod calls in both the
profile, installer-features and all the other related parts).

It is based on an m-p-d init3-users script by stanv@ but was
cleaned up and restructured in a pretty severe manner; thanks
glebfm@ for additional discussion.

This also cleans up the kludge previously stuck into build-vm.

Note that vm/icewm sports graphical autologin now as well as
the default root password (which can be overridden by passing
ROOTPW=... to make but it is a change from the previous state
of affairs indeed).
2013-06-17 14:03:54 +04:00
Michael Shigorin
b337e72ead initial init feature
This one is finally there and should help reduce the
systemd-induced mess in package lists and specifications.
2013-06-17 14:03:54 +04:00
Michael Shigorin
f1a165bbd6 fonts: consistency tweak
The issue is that use/fonts/infinality doesn't actually
require the script hook thus registering the feature's
name in FEATURES variable so that the feature's contents
get copied over is not neccessary (distcfg.mk build-up
will have happened anyways).

But that's confusing if one's forgot this peculiarity
(like me today) or never knew of it, so let's spare
some frustration.
2013-06-17 14:03:54 +04:00
Michael Shigorin
8d26de28a3 efi: generalize (stage2 += rootfs)
This feature is more generally applicable indeed;
might result in duplication due to the installer
components adding "efivars" independently but that
is to be sorted out later in those components:
- check whether it's added already sometime soon;
- maybe stop adding that at some point in the future.

install2 and rescue roots still need this too though.
2013-06-17 14:03:53 +04:00
Michael Shigorin
3e1685aeb6 fonts: generalize (stage2 -> rootfs)
This feature should be more generally applicable indeed.
2013-06-17 14:03:53 +04:00
Michael Shigorin
ee5dd31a71 build-{ve,vm}: handle THE_* and DOT_BASE too
Classic VEs don't carry any kernel since these are running
under a single OpenVZ (or potentially LXC) kernel image;
ARM Multiboot (TWRP in this particular case) allows to boot
off a chroot via kexec, and we need a kernel in it for that,
obviously.

No bootloader required inside such VE though.
2013-06-17 14:03:53 +04:00
Michael Shigorin
67adab492f initial rootfs subprofile and services feature
This subprofile is akin to THE_* variables family: the configuration
bits and script hooks sitting there influence whatever chroot is
declared to be the user facing one in the end, whether it comes
from vm image or live subprofile.

The services feature ought to be a changeset of its own which would
be based on rootfs and become the base for ve/vm changes but I chose
to just do it atomically; some pre-existing duplicates are pruned now.
2013-06-17 14:03:53 +04:00
Michael Shigorin
dfaf3fe3ef gear-store-tags 2013-06-17 14:03:30 +04:00
Michael Shigorin
5ffd07c65e 1.0.0-alt1
- 1.0
2013-06-17 14:02:13 +04:00
Michael Shigorin
29ce07fb8d 00example: fixed a harmless typo
The script would work nevertheless (given the feature's included)
but lapses are especially wrong in examples.
2013-06-10 20:04:46 +04:00
Michael Shigorin
aa19008b22 gear-store-tags 2013-06-10 20:01:07 +04:00
Michael Shigorin
57b368d75d 0.9.16-alt1
- 1.0pre
2013-06-10 19:43:31 +04:00
Michael Shigorin
5b21100bed README update
These have been proofread somewhat to correspond
to the current state of affairs; a missing one
was added for fonts feature.
2013-06-10 19:43:31 +04:00
Michael Shigorin
52a6d4fd7a initial conf.d/p7.mk
Not as clean as it should be unfortunately,
main.mk has to be reworked to drop the crap...
2013-06-10 19:43:31 +04:00
Michael Shigorin
b195d895d5 regular.mk: add infinality font setup to e17
Looks better indeed, thanks cow@.
2013-06-04 12:31:04 +04:00
Michael Shigorin
3703a758a9 regular.mk: use lightdm instead of gdm3 for cinnamon
...and switch to cinnamon-regular metapackage in general:
the remaining blocker being gdm required by that and not
actually going to work (it used to start gnome-shell which
wouldn't work in that configuration either) is now fixed,
thanks cow@.

PS: plymouth is moved upstream, drop the dup.
2013-06-04 12:30:25 +04:00
Michael Shigorin
ec1b9230b3 gear-store-tags 2013-05-27 13:44:18 +04:00
Michael Shigorin
3fb5bbd846 0.9.15-alt1
- +installer
2013-05-27 13:43:28 +04:00
Michael Shigorin
9b91001f5e install2: minor EFI related tweak
INSTALL2_PACKAGES turned out to be sensitive to the
feature addition order: if efi was added before install2
then the packages added by the former were overridden
by the latter.

This is also related to commit g7b76c73 as +installer
can be added pretty much anywhere, there's no warranty
that use/install2 appears early enough in configuration
build-up sequence.
2013-05-27 13:30:11 +04:00
Michael Shigorin
f18530f85b regular.mk: initial regular-server
A simple server image has been a pretty popular request
roughly always; thanks asy@ for specification draft.
2013-05-27 13:25:07 +04:00
Michael Shigorin
976a91e8f1 {base,desktop}+regular: move desktop bits from base
There were several packages which don't really belong to base
list but rather to the desktop one; given that both of these
are included in desktop images it's a no-op for them but the
server ones might be better off without graphics.
2013-05-24 17:45:25 +04:00
Michael Shigorin
7b76c73472 install2: introduced +installer mixin
This one is a part of a larger rewrite to move away from
distro-centric build-up to configuration-centric one with
the particular packaging being of secondary importance
compared to actual functionality.
2013-05-24 17:45:25 +04:00
Michael Shigorin
c58c7e36e0 regular.mk: moved use/luks to .regular-base
Commit g2b975e1 got it wrong for server-regular as it turns out now,
at least until that image decides to support LUKS either.
2013-05-24 17:33:04 +04:00
Michael Shigorin
95900b2131 server.mk: minor refactoring
There was no real reason to use/cleanup/x11-alterator downstream
every time instead of promoting it upstream to the common point.
2013-05-24 17:33:04 +04:00
Michael Shigorin
8a8f8064ce live: extend user's group list with 'netadmin'
...so that they can run mtr, iftop and other goodies out-of-box;
thanks folks at forum.altlinux.org for a regular-icewm.iso
related feature request.
2013-05-23 22:42:40 +04:00
Michael Shigorin
3038cf6d1c regular.mk: care for pre-existing filesystems too
The installed livecd would lack fstab entries for the filesystems
other than those mounted explicitly during partition step; while
this might be considered either bug or feature, let's try that
and see.
2013-05-23 16:09:16 +04:00
Michael Shigorin
e319472b85 base+regular: re-added mkfs.*
Whoops: XFS, JFS, NTFS, FAT support has been lost while dancing
with reusing rescue lists and back to being lean.

Thanks Vladimir Gusev for spotting [a part of] this.
2013-05-23 16:00:23 +04:00
Michael Shigorin
727f0c8384 regular.mk: re-added plymouth support to cinnamon
Thanks cow@ cinnamon is back in Sisyphus thus in regular builds;
the old gdm3/plymouth issue seems gone just as with gnome3 flavour.
2013-05-23 15:54:17 +04:00
Michael Shigorin
8bf876f16b gear-store-tags 2013-05-20 13:11:43 +03:00
Michael Shigorin
859f8b8ea3 0.9.14-alt1
- more regular fixes
2013-05-20 13:10:49 +03:00
Michael Shigorin
51e1719f39 regular.mk: re-enabled plymouth for regular-gnome3.iso
The temporary problem between gdm and plymouth
seems gone, just get this back.
2013-05-14 21:55:07 +04:00
Michael Shigorin
31c6bb1f98 live: do not enable gdm
shaba@ says it's improper yet as prefdm is used (#28973).
2013-05-14 21:21:35 +04:00
Michael Shigorin
eaf287560f live: disable postfix as well
Another service that's not very useful on a LiveCD;
maybe should be enabled by default upon installation,
this also requires a proper framework in place.
2013-05-14 19:33:38 +04:00
Michael Shigorin
8673c78564 base+regular: added mdadm support
Thanks shaba@ for the bugreport:
http://lists.altlinux.org/pipermail/sisyphus/2013-May/360713.html
2013-05-14 18:22:04 +03:00
Michael Shigorin
c6f1671b5a gear-store-tags 2013-05-13 23:09:39 +03:00
Michael Shigorin
4b642fe538 0.9.13-alt1
- regular fixes
2013-05-13 21:58:45 +03:00
Michael Shigorin
b1ce5a80ee Revert "vmguest: apply vboxdrv related workaround"
This reverts commit ae44169139
as libglx has been fixed already; see #27340 and #28782 for
the details, huge thanks go to Alexey Borisenkov for his
thorough investigation and patches as well as to shrek@
and sin@ for their cooperation to get this fixed in Sisyphus.
2013-05-08 03:14:49 +03:00
Michael Shigorin
754d1bda3e base+regular: added LVM support
Otherwise these packages would have had to be installed
by hand just to deploy onto LVM volumes.

Thanks those testing p7 starter kit images.
2013-05-04 18:51:23 +03:00
Michael Shigorin
2638358d7e base+regular: added bash-completion
...as suggested for p7 starter kits.
2013-05-03 22:52:00 +03:00
Michael Shigorin
8a007449ce desktop+tde: added hal
rom_as@ asked for it to be added:
http://lists.altlinux.org/pipermail/devel-distro/2013-April/001220.html
2013-04-29 16:04:42 +04:00
Michael Shigorin
ba71869bbd gear-store-tags 2013-04-22 23:48:13 +04:00
Michael Shigorin
23abf2aaf5 0.9.12-alt1
- four weeks later...
2013-04-22 23:45:36 +04:00
Michael Shigorin
d849d26397 regular.mk: reduced rescue participation somewhat
The regular images became a bit too fat and rescueish
with all the good stuff going into rescue+extra pkglist;
that stuff does belong to dedicated rescue images but not
to each and every one.

The base+rescue pkglist has been tailored to take this
into account so we can now make regular-*.iso more fit too.
2013-04-22 23:34:04 +04:00
Michael Shigorin
6023d11521 rescue: tweaked pkglist and feature config
Moved the packages which impeded pkglist reuse for live distros
so that these stay within dedicated rescue images but don't
neccessarily go into the more generic ones where things like
fdisk are still quite useful.
2013-04-22 23:33:59 +04:00
Michael Shigorin
ae44169139 vmguest: apply vboxdrv related workaround
This is to cope with #28782 while the culprit is being found out;
not much of a loss while #27340 is open (thus no 3D with vboxdrv
anyways).

I chose to avoid pulling the service related machinery into
vmguest (and haven't got around to factoring it out from live
feature's scripts into a standalone form) so had to tweak these
as well.
2013-04-22 22:34:52 +04:00
Michael Shigorin
6c9ca9af08 tar2vm: added xfs note
The issue at hand is the ability to accomodate boot sector
payload at the start of the filesystem's underlying block device.

XFS doesn't spare that space.

Thanks vsu@ for the reminder, by the way.
2013-04-19 21:00:29 +04:00
Michael Shigorin
40743d3036 live: extend disabled services list
The newcomers have crept in with rescue+extra;
maybe it's not worth taking that one into every
regular image, after all...
2013-04-06 22:24:56 +04:00
Michael Shigorin
b3da3da5a1 security+extra: added mcelog
Hardware reliability is somewhat related; this ought to be
moved elsewhere if/when more specifically reliability related
packages get there.
2013-04-06 22:24:56 +04:00
Dmitriy Khanzhin
c6a247029b regular.mk: added icewm-startup-xxkb-tray and icewm-startup-tray_mixer_plus 2013-04-02 16:26:52 +04:00
Michael Shigorin
c3a76bc1a7 gear-store-tags 2013-03-25 22:54:22 +02:00
Michael Shigorin
79a98d7834 0.9.11-alt1
- persistent icewm
2013-03-25 22:52:19 +02:00
Michael Shigorin
d1aaa2d3a5 QUICKSTART: tweaked build example for readability
aris@ suggested that the most important variables,
namely ARCH and APTCONF, be spelled out explicitly.
2013-03-25 22:52:19 +02:00
Michael Shigorin
5b77d22238 added desktop+xmonad+extra
aen@ suggested that darcs be added too
(due to it being mentioned on xmonad.org).
2013-03-25 22:52:19 +02:00
Michael Shigorin
cbb94da6c4 live.mk: added rw capability to live-builder
It might benefit the existing users to be able to configure the
build node persistently across reboots; though the need for something
like NFS overlay or repo settings piggybacked over DHCP is still there
(just ask ildar@).
2013-03-25 22:52:19 +02:00
Michael Shigorin
d57c9f1969 live.mk: live-builder moved to use/live/repo
livecd-online-repo is not reliable enough...
2013-03-25 22:52:19 +02:00
Michael Shigorin
0f4ee98fa4 live: reworked use/live/repo
The expected behaviour is to have online repositories enabled
when the livecd is running; the trouble with runtime detection
relates to the asynchronous nature of network configuration,
connection might get probed just before it is brought up
(thus failing the test).

Systems having been installed-from-live don't misbehave this way
so left unmolested.

Runtime detection is still available via use/live/repo/online
but is definitely not the default mechanism.
2013-03-25 22:52:19 +02:00
Michael Shigorin
1a7656b977 regular.mk: move -icewm packages to a pkglist
There happened to be quite a few of those added while working
with forum feedback but let's keep the makefile rather clean :-)
2013-03-25 22:52:19 +02:00
Michael Shigorin
e2a7465ee7 regular.mk: added leafpad to icewm
Thanks Speccyfighter and YYY at the forum:
http://forum.altlinux.org/index.php/topic,28619.msg201262.html#msg201262
2013-03-25 22:52:19 +02:00
Michael Shigorin
e65729b864 initial Kazakh language support
Thanks to Baurzhan Muftakhidinov's efforts along with help
from cas@ and zerg@, regular images should now support Kazakh
fairly well at least in terms of translation; this commit amends
these images with Ukrainian too and adds an experimental razorqt
based distribution that boots in kk_KZ by default.
2013-03-25 22:52:19 +02:00
Michael Shigorin
f4b88dc235 regular.mk: added fuse-exfat
...as proposed by Nenderus at the forum:
http://forum.altlinux.org/index.php/topic,28889.msg201168.html#msg201168
2013-03-25 22:52:19 +02:00
Michael Shigorin
4add5b8333 regular.mk: added rp-pppoe-gui to icewm
There's no NetworkManager or connman in this lightweight image
so let's put at least the lightweight connection specific GUIs
like this one; proposed on the forum by Speccyfighter and
acked by squire as useful for traffic-metered plans:
http://forum.altlinux.org/index.php/topic,28619.msg201159.html#msg201159
2013-03-25 22:52:19 +02:00
Michael Shigorin
d0a082029f desktop+regular: drop system-config-printer
Suggested by YYY; the initial plan was to include CUPS
in all the regular images but that turned out to be
impractical (too much bits added with too few actual
usage per bit expected).

So let's take s-c-p along with cups.
2013-03-25 22:52:19 +02:00
Michael Shigorin
9caa00e7b8 regular.mk: added SysVinit-usermode to icewm
Thanks YYY for suggestion aimed at enabling user-triggered
shutdown and reboot actions.
2013-03-25 22:52:19 +02:00
Michael Shigorin
f32da3af06 regular.mk: added tray_mixer_plus to icewm
Thanks YYY at the forum for both the package and suggestion;
see http://forum.altlinux.org/index.php/topic,8683.0.html
2013-03-25 22:52:19 +02:00
Michael Shigorin
96e075ad28 live: added cpufreq-simple to enabled services
It's a worthwhile addition to virtually any LiveCD
thus usually included (but can be left disabled).
2013-03-25 22:52:19 +02:00
Michael Shigorin
84f2231297 regular.mk: added screengrab, gqview to icewm
...and design-icewm-themes either.

Thanks Speccyfighter for this suggestion.
2013-03-25 22:52:19 +02:00
Michael Shigorin
6e51ce11f5 regular.mk: added sysklogd to icewm
A syslogd is required by interactivesystem and we definitely
don't want any extra systemd on a sysvinit image.

Thanks Speccyfighter on the forum for the observation.
2013-03-25 22:52:19 +02:00
Michael Shigorin
4be9af9c31 x11: added gst-libav, pulseaudio to gnome3
The former helps totem a lot regarding actual video reproduction,
suggested for gnome3-default metapackage; the latter helps aris@
to actually get any sound out, so is supposed to land there too.
2013-03-25 22:52:19 +02:00
Michael Shigorin
2b975e1bb8 regular.mk: left use/luks in bare
A duplicate has formed while factoring out bare target;
as currently only the rescue image uses it in a special way
and that one benefits from additional crypto packages as well,
let's put LUKS related packages into bare for the time being.
2013-03-25 22:52:19 +02:00
Michael Shigorin
4aaf58c69b regular.mk: moved +vmguest from bare to base
Otherwise virtualbox-guest-additions pull xinitrc in
which results in a whole bunch of extra X packages
(see also #28111).
2013-03-25 22:52:18 +02:00
Michael Shigorin
e6f331e4d7 Revert "live: temporary #28669 workaround (drop fbdev)"
This reverts commit 9c766cd9e4
since vboxdrv is already fixed by sin@ (thanks a lot, great timing!).
2013-03-25 22:51:32 +02:00
Michael Shigorin
e7a18c232a regular.mk: add persistent storage capability
The persistent storage is a nice addition to LiveCD images;
it doesn't come for free though in terms of performance
(especially for the first boot), so it should stay optional.

Note that use/live/rw belongs to base and not bare since
otherwise rescue becomes rescue+live which is superfluous;
hence the special use/rescue/rw.
2013-03-25 14:13:42 +04:00
Michael Shigorin
429ce58608 added live_rw support
There's a need for a separate boot target since
persistent storage is way slower than tmpfs indeed;
usbflash has a tendency for huge performance drops
given simultaneous writes in addition to reads which
are the bottleneck already.

make-initrd-propagator 0.18 introduced ext4 rw slice,
so the corresponding kernel module needs to be included
into stage1; see also #28289.

NB: not available on x86_64-efi (or hybrid GPT to be strict)
due to fragility of the hack being made: parted(8) panics
upon seeing that, and good ol' fdisk is unable to treat it.

NB: use/live/rw use/rescue/rx use/syslinux/ui/gfxboot
are unlikely to play very nice together due to the latter's
magic l10n: "session" label is taken by live_rw config snippet
and *is* translated in design-bootloader-source;
OTOH "rescue_session" is *not*.
2013-03-25 14:13:42 +04:00
Michael Shigorin
9c6b706576 isohybrid: drop postprocessing, xorriso is enough
The original mkisofs would only care for the proper ISO9660 image
but we've switched to xorriso which is able to perform the hack
to yield UEFI hybrid images; thus no need for the postprocessing.

Requires mkimage >= 0.2.5 and xorriso (obviously).
2013-03-25 14:13:42 +04:00
Denis Smirnov
e5533a7d6b xmonad: add livecd-regular-xmonad 2013-03-20 02:24:28 +04:00
Denis Smirnov
203ef6f0fc regular.mk: add regular-xmonad 2013-03-20 02:23:44 +04:00
Denis Smirnov
298f44d360 Add use/x11/xmonad and desktop+xmonad package list 2013-03-20 02:23:05 +04:00
Michael Shigorin
011d8634fc gear-store-tags 2013-03-18 16:37:53 +02:00
Michael Shigorin
890172bfed 0.9.10-alt1
- fonts: axios!
2013-03-18 16:37:00 +02:00
Michael Shigorin
88e2dcdcee live.mk: drop efi support for kiosk base target
UEFI means quite a chunk of additional packages that aren't really
required for the *base* target aimed at presumably minimalistic images.
2013-03-18 16:37:00 +02:00
Michael Shigorin
9e3ca09dd4 conf.d/live.mk: firefox/chromium kiosk support
As implemented in livecd-webkiosk-0.2.
2013-03-18 16:37:00 +02:00
Michael Shigorin
e4de48d477 xorg: re-added xorg-utils instead of its deps
Thanks sem@ for restoring xorg-utils, things are good again :)
(basically reverts d1a6eed839)
2013-03-18 16:37:00 +02:00
Michael Shigorin
e75e1f4458 ltsp += alterator-{standalone,ltsconf}
Looks like the cause to temporarily omit these is irrelevant.
2013-03-18 16:36:59 +02:00
Michael Shigorin
cdf86ff1da desktop.mk: the now-missing links
Added sysklogd and udev-rule-generator-net there too; if someone
needs to inherit a systemd based image from distro/.desktop-network
don't break the existing behaviour please.

Rebased tde flavours to .desktop-network as these were the actual
target to fix.
2013-03-18 16:36:59 +02:00
Michael Shigorin
97e4d03a75 desktop.mk: fall back to std-def for now
There's some peculiarity causing Sisyphus' initrd
(namely led-ws and make-initrd{,-propagator} of today
to die with this message while booting the resulting ISO:

  initrd: Running /scripts/pre/prepare/000-propagator
  FATAL ERROR IN INIT: mkdir

  I can't recover from this,please reboot manually and send bugreport.
2013-03-18 16:36:59 +02:00
Michael Shigorin
e37df0c72b regular.mk: enable plymouth for gnustep flavour
It might be in the base target if gdm3 weren't exposing bugs...
2013-03-18 16:36:59 +02:00
Michael Shigorin
a65d1c420c regular.mk: added wmaker livecd-install button
The setup has to be livecd-only thus made as a service, not a hook.
2013-03-18 16:36:59 +02:00
Michael Shigorin
d31a2ff745 regular.mk: initial regular-{wmaker,gnustep}
Thanks aen@ for the whole pkglist and vast amounts of advice
and inspiration; thanks real@ and kostyalamer for the packages
themselves.
2013-03-18 16:36:59 +02:00
Michael Shigorin
f4844483b9 x11: added generic sugar
...and introduced regular-sugar flavour immediately,
it's rather working by now.
2013-03-18 16:36:59 +02:00
Michael Shigorin
0e01a08378 initial desktop+sugar pkglist
Now waiting for the package base to stabilize...
2013-03-18 16:36:59 +02:00
Michael Shigorin
c5642bfb67 base+live: added fdisk
It's required by make-initrd-propagator in "rw slice" mode
when the remainder of an USB Flash drive is prepared and used
for persistent storage; fdisk is also immensely useful in general.
2013-03-18 16:36:59 +02:00
Michael Shigorin
be7507a9c4 firmware: dropped firmware-carl9170
It's been merged into recent firmware-linux, apparently.
2013-03-18 16:36:59 +02:00
Michael Shigorin
9c766cd9e4 live: temporary #28669 workaround (drop fbdev)
Please see the bug for explanations; too bad I chose to limit this
workaround to experimental gnustep image yesterday when aen@ suggested
to apply it universally...
2013-03-18 16:36:59 +02:00
Michael Shigorin
d3b9d7578a desktop+razorqt: s/arora/qupzilla/
Arora is long unsupported and left known buggy (#26937);
QupZilla is alive and kickin', on the other hand.
2013-03-18 16:36:59 +02:00
Michael Shigorin
19eb870338 regular.mk: pull desktop+regular in too
Whoops, and I was mildly wondering where are alterator modules...
thanks Speccyfighter again for bringing attention to the issue
which has turned out to be ultimately caused by an overlooked bit
being missing.
2013-03-18 16:36:33 +02:00
Michael Shigorin
07ac06abda desktop+regular: added alterator-{x11,xkb}
Added xkb module as per Speccyfighter's request on the forum
and x11 one due to aen@'s advice (which is fairly reasonable).
2013-03-13 02:42:48 +04:00
Michael Shigorin
03ea74647f rescue+extra: added fatresize too
The real issue was that regular-tde.iso was discovered to
lack FAT support in alterator-vm (known as #28470); as the
filesystem specific packages are pulled in via rescue lists
let's add it here along with dosfstools.

Thanks Speccyfighter at forum.altlinux.org for spotting this.
2013-03-13 02:29:23 +04:00
Michael Shigorin
d1a6eed839 xorg: dropped xorg-drv-video, xorg-utils
1.14 package set doesn't provide these convenient metapackages
anymore, unfortunately.
2013-03-12 13:15:23 +04:00
Michael Shigorin
27c49b2599 regular+kde4: keep synaptic-usermode outside
As zerg@ noted there's synaptic-kde already; I managed to overlook
that synaptic-usermode still gets into kde4 image as it's put into
base+regular pkglist.  Thanks aen@ for spotting.
2013-03-11 12:28:30 +02:00
Michael Shigorin
97816c354a ltsp: switch to led-ws on both x86 arches
The mechanics were simple and funny but having unified kernel
available is even better ;-)
2013-03-10 19:02:27 +02:00
Michael Shigorin
937a80015a xorg: dropped xorg-drv-s3 (no more in 1.14)
I've got some Trio64 cards, even...
2013-03-10 19:02:26 +02:00
Michael Shigorin
0fe3eed725 desktop.mk, server.mk: added use/stage2/net-eth
...so that enp0s3 is just not there.
2013-03-10 19:02:26 +02:00
Michael Shigorin
28e3cf21ef regular.mk: added hdt to rescue
It was proposed by someone and looks pretty reasonable.
2013-03-10 19:01:34 +02:00
Michael Shigorin
c6d9cae4b1 regular.mk: added graphics branding to base
Sort of unification; still the background of the regular builds should
rather be the particular DE's authentic one in the ideal case.
2013-03-10 18:59:48 +02:00
Michael Shigorin
dcdd444f61 rescue+misc: added make-initrd-*
plymouth helper omitted as it's not mission critical usually.
2013-03-06 01:21:03 +02:00
Michael Shigorin
0f77f9749d base+rescue: added apt-repo
apt-get is requisite for a network-enabled livecd
with rw overlay since it's almost universal then.
2013-03-06 01:21:03 +02:00
Michael Shigorin
92fb8bd361 rescue: add security related pkglists as well
It's currently security+extra.
2013-03-06 01:21:03 +02:00
Michael Shigorin
1f94112e7f initial rescue+misc
Things that weren't fit in the other rescue pkglists went here;
more are sure to follow.
2013-03-06 01:21:03 +02:00
Michael Shigorin
0c6cfd855e rescue: added server+network
It happens to hold a noticeable share of what might go into
rescue+misc, so why duplicate.
2013-03-06 01:21:03 +02:00
Michael Shigorin
a860b1792e rescue+{extra,fs}: facelift and exchange
Quite a few filesystem specific tools and utilities went into extra,
some of them pulled back from fs since the proper categorization will
clearly require even more effort.

Added utilities for: f2fs, nilfs, logfs, reiser4fs, clicfs, cloop,
ocfs2, exofs, zfs, cifs.
2013-03-06 01:21:03 +02:00
Michael Shigorin
32cc9a67dd live, stage2: net-eth moved
It would be better to put it into stage2 in the first place
but this somehow went over my head; rescue made a reminder.
2013-03-06 01:21:03 +02:00
Michael Shigorin
07d58b91cc regular.mk: introduced regular-rescue
This one was just asking to be built for quite a long time;
http://sourceforge.net/apps/trac/smartmontools/wiki/LiveCDs
specifically accenting use of smartmontools 6.0 has finally
persuaded me to roll out yet another rescue livecd, that is
on the regular basis.
2013-03-06 01:20:59 +02:00
Michael Shigorin
546fae5961 rescue: extended firmware support
As the firmware feature got more involved, this one
has successfully dodged the change but is amended now.
2013-03-06 01:20:37 +02:00
Michael Shigorin
50dccfc04d firmware: added "full" target
The reason is to contain the implementation details
within this feature while adding the ability to include
everything it can provide (e.g., for rescue images).
2013-03-06 01:20:37 +02:00
Michael Shigorin
12206fbbd3 regular.mk: generalize infinality font setup
It's been delegated to a fonts subfeature.
2013-03-06 01:20:37 +02:00
Michael Shigorin
fa96c6be18 fonts: added infinality fontconfig setup support
Thanks cow@ for both the packages and suggestion.
2013-03-06 01:20:37 +02:00
Michael Shigorin
4657181828 regular.mk: kde4 font setup
KDE4 is maintained by zerg@ as well as the vast RM experience
connected to it; so use/fonts/zerg there.
2013-03-06 01:20:37 +02:00
Michael Shigorin
5f44404182 initial fonts feature
This includes an updated version of 50-fontconfig script
which actually works (the preliminary one attached to #28612
didn't); thanks zerg@ and cow@ for providing the incentive
to introduce it.

Based on m-p-d and installer-feature-kdesktop-fontconfig.
2013-03-06 01:20:37 +02:00
Michael Shigorin
e03f103169 vmguest: fix targets
Thanks make(1) for the warning, `vmguest' target was
getting pulled in twice indeed.
2013-03-06 01:20:37 +02:00
Michael Shigorin
96ecdc90df regular.mk: added NM to lxde
...by popular demand, see also
http://forum.altlinux.org/index.php/topic,28619.html
2013-03-06 01:20:36 +02:00
Michael Shigorin
ee52093576 base+regular: dropped uvcview
Forum feedback has shown that it's a bit surprising
given the lack of other multimedia applications in
baseline package set; aen@ suggested to leave it out
and hardware support testing requires much more than
that anyways.
2013-03-06 01:20:36 +02:00
Michael Shigorin
35689d158d stage1: replace r8169 with r8168
The issue is that r8169 is rather broken nowadays while
r8168 tends to work on the same hardware; see also #28473.

Thanks zerg@ for having hinted that it's stage1 modules,
not the root squashfs.
2013-03-06 01:20:36 +02:00
Michael Shigorin
83705cd8ab regular-kde4: refactored and extended pkglist
The metapackage was fine, the "only one" additional package
was more or less okay, but there came a dozen more so it's
now reasonable to stash these into a separate pkglist.
2013-03-06 01:20:36 +02:00
Michael Shigorin
4e56d663f5 desktop+lxde+extra: put both terminal emulators in
...so that the benefits and shortcomings of each
"as is" in Sisyphus are more obvious.
2013-03-06 01:20:36 +02:00
Michael Shigorin
240907f533 regular.mk: added fontconfig-infinality to lxde
...and refactored its use in cinnamon image too;
this isn't a permanent solution though,
slated to move into fonts feature.

Thanks gns@ for suggestion.
2013-03-06 01:20:36 +02:00
Michael Shigorin
57ddb85d5b desktop+lxde: minor tweaks
Thanks aen@ for figuring these out and suggesting them.
2013-03-06 01:20:36 +02:00
Michael Shigorin
8f48544d94 regular.mk: merged regular-deepsolver into regular-icewm
There isn't much sense to keep an entirely separate flavour
as deepsolver starts being actually useful and icewm is
a somewhat special flavour for those who know their ways
around Linux plumbing.
2013-03-06 01:20:34 +02:00
Michael Pozhidaev
f52eecc8db Distro target set changes:
- regular-deepsolver.iso target is added using regular-icewm.iso as a base.
2013-03-05 18:55:58 +07:00
Michael Shigorin
b86a4f8f1c gear-store-tags 2013-02-26 01:00:30 +04:00
Michael Shigorin
6605eb61bd 0.9.9-alt1
- regular refactoring
2013-02-26 00:46:34 +04:00
Michael Shigorin
062a9d915a efi: specify minimal mkimage version for SB
Bump it to account for the useful fixes in mkimage-0.2.7.
2013-02-26 00:42:36 +04:00
Michael Shigorin
d207a1e963 desktop+mate: further 1.5 changes
Switched from mate-default to mate-full as aen@ asked to,
and dropped a few leftover packages which are now in
mate-default 1.5.0-alt3+.
2013-02-21 23:07:20 +04:00
Michael Shigorin
6fcbbccc4f QUICKSTART: mention `make help'
It wasn't really obvious what are the available targets;
sorry for that and thanks led@ for a suggestion.
2013-02-21 22:37:28 +04:00
Michael Shigorin
9629cbe143 efi: tweak shell setup
It's possible that use/efi/signed target has fired already
at the time when use/efi/shell is invoked; shouldn't clobber
the signed shell with unsigned one.
2013-02-21 22:37:28 +04:00
Michael Shigorin
9d09833121 live.mk: extended EFI support in rescue
Added rEFInd, EFI shell and SB stuff.
2013-02-21 22:37:28 +04:00
Michael Shigorin
716744888a server.mk: pretty-printing kmodules
Maybe it's worth moving to the kernel feature as well.
2013-02-21 22:37:28 +04:00
Michael Shigorin
753d827320 kernel: introduced use/kernel/net target
The various *8168 and friends among kernel modules
have finally been pushed into a designated target
so that RM doesn't have to care which particular
additional ethernet modules are available in this
particular branch and kernel.

Tweak distros as appropriate.

NB: *maybe* this is required by distro/.base either.
2013-02-21 22:37:28 +04:00
Michael Shigorin
ca517ecc48 firmware: introduced use/firmware/laptop
acpi_call is used far too often when dealing with the newer
portable x86 hardware, we're better off including it when
it's available.

regular.mk adjusted appropriately.
2013-02-21 22:37:23 +04:00
Michael Shigorin
a903457e65 firmware: factored out cpu ucode
Let's make CPU microcode an explicit target, it isn't
required at every host where firmware-linux is.

Adjusted its use accordingly.
2013-02-21 22:36:54 +04:00
Michael Shigorin
17736ec40e wireless: depend on firmware
Richard and Theo would probably roll their eyes at this point
but the unfortunate reality is that wireless hardware is very
much dependent on firmware being explicitly provided; so here
it is.

rtl8192 kernel module added since it's present in t6/branch
at least.
2013-02-21 22:36:27 +04:00
Michael Shigorin
85223fc12a refactored regular images
This change mostly concerns with making icewm flavour
the lean one again.

The goal is to widen the dynamic range of regular image features:
icewm is not a desktop thus can bear withouth systemd-logind
even if a bunch of network-managing-media-mounting crap has been
rigged to depend on it, and ALT domain client should be included
in most builds for convenient testing in SMB environments but can
stay out of this minimal and "different" image.

It also receives the "un-def" kernel flavour (3.8.0 as of today)
which might benefit from the more available testing facility too.

Its branding is also simplified, plain syslinux menu is fine;
in similar vein, refind feature is flipped from icewm-only to
all-but-icewm set of images with its state being good enough
as of refind 0.6.7 and mkimage 0.2.7.
2013-02-21 22:34:58 +04:00
Michael Shigorin
83790cbc31 regular.mk: e17: dropped xnest
It was gdm2.20's feature that requires further setup
to actually function; thanks aen@ for explanations.
2013-02-21 13:15:12 +04:00
Michael Shigorin
ea9353abfa regular.mk: added settime-rfc867 to kde4
ALT domain client regular.mk: added settime-rfc867 to kde4

Seems like this belongs to domain-client pkglist though...
2013-02-20 19:35:40 +04:00
Michael Shigorin
ba3ed689f0 desktop+mate: dropped stale comments
There were a few packages disappearing or changing
along the autoimport path, let's clean up the cruft.

mate-conf-gtk is now gone, so removed either.
2013-02-20 19:35:12 +04:00
Michael Shigorin
8bde78725d desktop+mate: dropped duplicates
mate-default pulls in mate-minimal and both of them
require packages which are also specified in this
pkglist; thus the pkglist should be pruned to avoid
double work and splits like "mate-vfs is dropped
from 1.5 package set, mate-default is adjusted but
the pkglist references the now-missing package".
2013-02-20 15:30:38 +04:00
Michael Shigorin
5fda2afe1f profile.mk: fixed arch test for "bulk repo" case
It happens when there are no separate arch/noarch subrepositories
but everything is dumped into a single directory like in installer
or live-builder environment (at least as of today).
2013-02-19 22:12:51 +04:00
Michael Shigorin
6038e55b3c regular.mk: razorqt uses its own lightdm greeter now
Relevant for 0.5.2-alt2+, ping me if a backport is needed.
2013-02-19 19:01:21 +02:00
Michael Shigorin
1fdee01921 x11: use/x11/lightdm/razorqt support added
razorqt-0.5.2 out there already, zerg@ reminded of the greeter,
maybe it's finally time to get the pieces together.
2013-02-19 19:01:21 +02:00
Michael Shigorin
f590b33a36 gear-store-tags 2013-02-19 18:57:27 +02:00
Michael Shigorin
f10f3b18db 0.9.8.1-alt1
- works with make-initrd 0.8.1+ (see #28578)
2013-02-19 20:55:19 +04:00
Michael Shigorin
6139571a8b stage2: fix 10-initrd-base for current make-initrd
It was removing autodetection setting completely
thus implicitly setting it to the default "all"
with make-initrd-0.8.1+; just set it to be empty.

Thanks legion@ and boyarsh@; see also #28578.
2013-02-19 20:51:15 +04:00
Michael Shigorin
d3a39f2168 gear-store-tags 2013-02-18 21:58:05 +02:00
Michael Shigorin
867b2f65c9 0.9.8-alt1
- live fixes/tweaks galore
2013-02-18 21:50:46 +02:00
Michael Shigorin
13094e7901 live.mk: use "net-eth" for kiosks
Added use/live/net-eth so that autoconfigured images
still work in predictable manner.

May those breaking trivial cases walk with zillion of
cdrom, modem, ethernet etc device nodes all around them!
2013-02-18 21:48:41 +02:00
Michael Shigorin
18e6406588 desktop+lxde: use altlinux settings
The inobvious issue is that while lxde-settings
is required by lxde-common and provided by both
lxde-settings-{altlinux,upstream}, we can't just
add the needed one via PACKAGES since the LISTS'
deps are expanded already with -upstream taking
lexicographical precedence.

This might become more serious if/when there are
several useful packages, -upstream isn't AFAIK
(thanks gns@ for explanation).
2013-02-18 21:48:41 +02:00
Michael Shigorin
f7a97306fb desktop+lxde: added eject for pcmanfm
A tiny small utility
that gives us the ability
to eject that noisy disc.
2013-02-18 21:48:41 +02:00
Michael Shigorin
92ff4c1cc8 desktop+lxde+extra: well, use sakura
Citing the initial comment: "lxterminal is reportedly
sub-par (gns@) but official (aen@)"; the functionality
PoV finally won.

Terminus fonts added to account for presets.

See also #28567.
2013-02-18 21:48:30 +02:00
Michael Shigorin
ba2ca7e578 base+regular: added eepm
As per lav@'s proposition at LVEE.
2013-02-18 22:15:10 +04:00
Michael Shigorin
971732bfe6 live.mk: specify exact browser
livecd-webkiosk used to support firefox only but has been changed
to do chromium either; now we need to be more specific.
2013-02-18 22:14:42 +04:00
Michael Shigorin
acf17cd785 live.mk: live-webkiosk-mini: use generic kernel
led-ws doesn't work for me with make-initrd 0.8.0-alt1 yet...
2013-02-18 22:14:42 +04:00
Michael Shigorin
6fa08c52e7 live.mk: added EFI support to kiosk images
UEFI systems encountered should work too.
2013-02-18 22:14:42 +04:00
Michael Shigorin
8645219667 live: added EFI to use/live/desktop
Its support is quite mature and practically useful by now.
Let's also add a convenient alias.
2013-02-18 22:14:42 +04:00
Michael Shigorin
a89fff3c6a live: fixed 40-autologin
It was bailing out due to the grossly unneeded -e;
thanks dans@ for bringing my attention to this
right at LVEE 2013 Winter.
2013-02-18 22:14:42 +04:00
Michael Shigorin
8fc64a023f desktop+live: added sudo, os-prober
sudo added by popular demand, see also this subthread:
http://lists.altlinux.org/pipermail/sisyphus/2013-February/359726.html

os-prober added on dubrsl@'s request (#altlinux)
after having a look at m-p-d as well.
2013-02-14 21:31:14 +04:00
Michael Shigorin
5fd2be3edd regular.mk: font tweaks for cinnamon
Vladimir Didenko suggested including fontconfig-infinality
into regular-cinnamon.iso, see this subthread:
http://lists.altlinux.org/pipermail/sisyphus/2013-February/359724.html
2013-02-14 21:30:36 +04:00
Michael Shigorin
cbf8426add live.mk: facelift due to fvwm addition
Added fvwm flavour specially for perestoronin from da LOR.

As if it wasn't enough,
- added UEFI support to desktop/,live-desktop intermediate target;
- added live installation capability to desktop/.livecd-install;
- added "net-eth" subfeature to get good ol' eth0 insteal of enp0s3;
- dropped use/x11/autologin as live subprofile sets up
  a supported DM for automatic login anyways.
2013-02-14 21:25:58 +04:00
Michael Shigorin
e5fdaacc94 x11: added fvwm support
It's becoming a relatively popular request ;-)
2013-02-14 21:25:38 +04:00
Michael Shigorin
91466e6643 net-eth: moved from regular.mk to live feature
It'd be better for this commit to appear before 0.9.7
(and clobber the original one) but at least the added
functionality has been tested; time to generalize it.
2013-02-14 21:25:38 +04:00
Michael Shigorin
375e1afe34 gear-store-tags 2013-02-11 22:03:27 +04:00
Michael Shigorin
eb569544ca 0.9.7-alt1
- going nightly
2013-02-11 21:43:46 +04:00
Michael Shigorin
77f1459f52 live: tweak 50-setup-network regarding resolving
The issue has shown up in regular-*-20130207: /etc/resolv.conf
would suddenly be empty upon successful bootup in virtualbox
with a single DHCP configurable ethernet.

dmesg has some trouble signs:

  aufs au_lkup_neg:267:kworker/0:2[998]:
  I/O Error, resolv.conf should be negative on b0

sem@ tells something like that has been seen before in a different
configuration (multiple aufs overlays with /etc/ and /var sitting
in different ones resulting in broken hardlinks); rescue boot with
a test "echo > /etc/resolv.conf" yields an I/O error either.

The patch is loosely based upon livecd-net-eth and
m-p-d::profiles/live/image-scripts.d/init3-{network,resolve}.

See also #28484 for the (still ongoing) discussion.
2013-02-11 21:29:16 +04:00
Michael Shigorin
28f7f9be27 regular.mk: get good ol' interface naming back
enp0s3 is quite inferior to eth0 in terms of usability
even if it might be more convenient for the machine{,ry}.

Let's stick with what works here in ALT Linux (see #28484).
2013-02-11 21:29:16 +04:00
Michael Shigorin
cec6b26207 live: employ livecd-net-eth
Once upon a time the first and only ethernet interface
on a Linux system used to be known under the name of eth0;
but years passed and the systemd shadow has drawn closer
even to the seemingly remote areas like interface names.

In short, it might get named e.g. enp0s3 (a more human
friendly name of course) and the exact name is to be
figured out in runtime as well.

Sigh.
2013-02-11 21:29:15 +04:00
Michael Shigorin
96bdf36935 regular.mk: added r8168
See #28390, #28473 and #28471; thanks zerg@ for reminder.
2013-02-11 21:29:15 +04:00
Michael Shigorin
c12f0c17bc syslinux: drop "menu label" for gfxboot
The issue is that gfxboot's gettext support works on "label"
strings but doesn't work properly on "menu label" ones as of 4.04
(the "menu label" translations pop up in the "Loading ..." window
but menu items themselves are unaffected thus untranslated).

NB: debian wheezy's syslinux-4.05 package patchset contains
somewhat related 07-gfxboot-menu-label.patch; might be worth
attention given that debian folks participate in upstream.
2013-02-11 21:29:15 +04:00
Michael Shigorin
5834dac8c8 server.mk: added mdadm, lvm support to server-mini
Pretty natural but delayed somehow...
2013-02-11 21:29:15 +04:00
Michael Shigorin
6a554e21ab regular.mk: added domain-client pkglist
It's specified in http://altlinux.org/regular and it rather modest
(~13M image size growth on i586).
2013-02-11 21:29:15 +04:00
Michael Shigorin
313b279d40 added domain-client pkglist
See also http://altlinux.org/domain for description;
this should allow for client support.
2013-02-11 21:29:15 +04:00
Michael Shigorin
ad264c7033 fixed mp-commit and its use
Now this is ugly: instead of commoditizing the repetitive code
the result ended up working differently by creating several
repositories for the target subdirs instead of the single one
for the generated subprofile as a whole.

This results in .disk/profile.tgz being basically useless
in every image since c4311108ea.
2013-02-11 21:29:15 +04:00
Michael Shigorin
ec8bcac5ff image.in: extended .gitignore a bit
These generated directories aren't part of a profile itself.
2013-02-11 21:29:15 +04:00
Michael Shigorin
3161ec500b regular.mk: use branding*graphics for gtk based
The same "regular-gtk" based set of images received common
desktop background provided; note that kde4 won't like it
(branding package didn't really anticipate kde4 and is to
be updated appropriately as well as extended for mate/fvwm).

This one is also used for lightdm/gtk.
2013-02-11 21:29:15 +04:00
Michael Shigorin
458d72b8c3 regular.mk: switch from gdm2.20 to lightdm/gtk
"regular-gtk" based images moved from the (unsupported) gdm2.20
to the (supported) lightdm with gtk greeter; while a couple of
gdm2 forks have emerged it's still unclear whether mate or mint
one will be actually alive, even short/mid-term.
2013-02-11 21:29:15 +04:00
Michael Shigorin
d83eb78762 efi: added fatresize
Helps with #28470 (FAT not being recognized) which is critical
due to ESP being FAT by spec :-/

Thanks timonbl4@ for the hint.
2013-02-11 21:29:15 +04:00
Michael Shigorin
61ead13d3a regular.mk: disable plymouth for gnome3-based distros
The issue is that it's suddenly broken in current Sisyphus,
looks like the peculiar set of assumptions in fedora-tweaked
systemd+plymouth+gdm3 relies on tty1 being the X session tty
and it's different here.
2013-02-11 21:29:09 +04:00
Michael Shigorin
d9ae996571 gear-store-tags 2013-02-04 22:19:49 +04:00
Michael Shigorin
5fcc2aaa78 0.9.6-alt1
- assorted fixes
2013-02-04 22:18:27 +04:00
Michael Shigorin
e46c259a90 ensure that IMAGEDIR exists (thus globbable)
It appears that manually specified IMAGEDIR, e.g. by adding

  IMAGEDIR = ~/out/$(shell date +%Y%m%d)

to ~/.mkimage/profiles.mk, might be problematic due to
missing globbing.  Let's make sure the paths are globbed
and directories are created -- since make's wildcard()
returns an empty string when there's nothing there [yet].
2013-02-04 22:18:27 +04:00
Michael Shigorin
692f8ec010 desktop+cinnamon+extra: drop the office
It's a bit superfluous so far; this isn't a final decision
but rather a current change of mind though.
2013-02-04 22:18:27 +04:00
Michael Shigorin
423c250ec8 regular.mk: regular-mate += branding-*-graphics
This is largely a workaround for #28239.
2013-02-04 22:18:27 +04:00
Michael Shigorin
de6598a6d9 desktop+mate: minor 1.5 related tweaks
The metapackage is out there but mate-media-apps seems
like not available at the moment.
2013-02-04 22:18:27 +04:00
Michael Shigorin
c133f161bf live: enable avahi service
Some file managers (particularly Dolphin) depend
on avahi for network service browsing; turn it on
if it's there.
2013-02-04 22:18:27 +04:00
Michael Shigorin
b3b09f55c0 live: added plymouth to enabled services list
This might have been related to the plymouth bar missing
at live system shutdown.
2013-02-04 22:18:27 +04:00
Michael Shigorin
e7fa4c466a plymouth: stage2 fix primarily for live
It appeared that plymouthd.conf wasn't set up properly
thus "service plymouth stop" didn't result in anything
meaningful; thanks boyarsh@ for his help figuring this
out again.
2013-02-04 22:18:27 +04:00
Michael Shigorin
a8819db073 regular.mk: re-added plymouth again
Looks like LUKS has had its share of testing,
now it's plymouth's time again.
2013-02-04 22:18:27 +04:00
Michael Shigorin
efd06839f7 live, slinux: use systemctl --no-reload
Thanks boyarsh@ for m-p-d implementation and sem@ for the hint.
2013-02-04 22:18:27 +04:00
Michael Shigorin
7603f0728a base+regular: added eject
It was missing indeed; thanks cas@.
2013-02-04 22:18:27 +04:00
Michael Shigorin
1eb0dbc534 desktop+cinnamon+extra: changed metapackage
Thanks cow@ for his work on Cinnamon and for being helpful;
see also http://altlinux.org/regular regarding the whole affair.
2013-02-04 22:18:27 +04:00
Michael Shigorin
aef58a4d60 mobile+mate: s/wpa_gui/NetworkManager-l2tp-gnome/
Thanks cas@ for suggesting to get rid of the former
for being superfluous and ugly as well as to add
the latter which has been missing.
2013-02-04 22:18:26 +04:00
Michael Shigorin
67c224fc67 power: added acpi to acpid as well
It's a must to look up battery charge, after all.
2013-02-04 22:18:26 +04:00
Michael Shigorin
6a4ede8ccd regular.mk: move things to a package list
These were becoming a bit longish already.
2013-02-04 22:18:26 +04:00
Michael Shigorin
8e668d4ff2 regular.mk: added sudo, acpi
As a matter of practical distribution use
these two appeared to be rather missing.
2013-02-04 22:18:26 +04:00
Michael Shigorin
6d8cbcb61d assumptions.txt: clarified sisyphus/branch status
Folks have been wondering already whether e.g. t6 breakage
qualifies as a bug; it does indeed unless the "broken" part
depends on the features not available with that branch yet,
e.g. EFI support.
2013-02-04 22:18:26 +04:00
Michael Shigorin
2d3e5f2b1c kernel: factor the former lib/kernel.mk in
It wasn't spotted when introducing the distinct kernel feature;
will need fixup as we meet packaged ARM/PPC kernels.
2013-02-04 22:18:26 +04:00
Michael Shigorin
fc061fba0c x11: fglrx related comment fixup
Somewhat silly but still: fglrx got fixed up for 1.12 by now
*but* 1.13 broke it as usual.  The updated warning thus holds.
2013-02-04 22:18:26 +04:00
Michael Shigorin
0f4e72cf79 kernel: move to std-def again
un-def was a desperate measure when std-def of the day
was suddenly plain broken.

This reverts 0e8871e7b4.
2013-02-04 22:18:26 +04:00
Michael Shigorin
9e776e3ade test.mk: drop distro/live-efi
No longer needed as every regular-* x86_64 image
would do UEFI by now.
2013-02-04 22:18:26 +04:00
Michael Shigorin
671c788e3a build-distro: drop sortfile on the floor
Its support was dropped in mkimage some time ago
since xorriso semantics changed quite considerably
and the tweak that was done here is now performed
out-of-box thus no longer needed.
2013-02-04 22:18:26 +04:00
Michael Shigorin
f576b01988 build-distro: trim BOOT_VOLI at 32 chars
The nice and pleasant effect of hitting this barrier
is build process break at (almost) the very end of it.
2013-02-04 22:18:26 +04:00
Michael Shigorin
40e680e50d efi: employ shim-signed
Was an oversight to miss it.
2013-02-04 22:18:26 +04:00
Michael Shigorin
fd461c7dd1 desktop+e17+extra: aligned to current sisyphus
connman is now required by econnman,
and aris@ has packaged e17-module-*.
2013-02-04 22:18:24 +04:00
Evgeny Sinelnikov
0d524763ed Rename kde minimal profile to distro/kde4-lite 2013-01-29 12:34:07 +04:00
Michael Pozhidaev
bee01a86cd Homeros:
- homeros-nano image is renamed to homeros-mini;
- homeros/homeros package list is added;
- default volume changed from 100% to 75.
2013-01-28 08:35:16 +07:00
Michael Shigorin
75c08d9f3c gear-store-tags 2013-01-21 18:26:00 +02:00
Michael Shigorin
b74ad4d592 0.9.5-alt1
- homeros
2013-01-21 18:24:01 +02:00
Michael Shigorin
29a94eaf23 firmware: added amd/intel ucode packages/utilities
Thanks lakostis@ for the suggestion; e.g. some Intel Mac systems
won't provide temperature sensors until microcode is updated.
2013-01-21 18:24:01 +02:00
Michael Shigorin
47c4dea456 image.in: bump optimal mkimage version
0.2.6 has fixes for xorriso and support for refind.
2013-01-21 13:49:21 +02:00
Michael Shigorin
ff1f5987b9 regular.mk: use kdm4 for regular-razorqt right now
Unfortunately, current lightdm is broken regarding autologin at least
(1.1 or 1.0 used to work just fine IIRC).
2013-01-21 13:49:21 +02:00
Michael Shigorin
f5893f398a regular.mk: use kde4-regular for regular-kde4
Thanks zerg@ for nice metapackage :)
Hope others will follow the suit.
2013-01-21 13:49:21 +02:00
Michael Shigorin
5810c0e7d2 regular.mk: added kdegames, kdeedu to regular-tde
As suggested by aen@.
2013-01-21 13:49:21 +02:00
Michael Shigorin
91a817a0a5 regular.mk: added mutt to regular-icewm
...since it's used as a default mail handler, which seems reasonable
for this particular case. (thanks aen@ for reminding)
2013-01-21 13:49:21 +02:00
Michael Shigorin
b603622dcd wireless: added iw as well
It's a next-get CLI for wireless interfaces, see also
http://linuxwireless.org/en/users/Documentation/iw
2013-01-21 13:49:21 +02:00
Michael Shigorin
dd140074b9 wireless: added crda package
See also http://wireless.kernel.org/en/developers/Regulatory/#CRDA
2013-01-21 13:49:21 +02:00
Michael Shigorin
915f2c2051 efi: introduced use/efi/shell
It's aimed at providing UEFI shell implementation which is very
useful for repairs and debug; if the "signed" mode is requested
then the signed variant is used either.

Please note that there are two distinct uses:
- a shell lying around on a filesystem to be copied by hand;
- a shell available in EFI part of boot media to be launched
  by firmware's or standalone boot manager (e.g. refind).
2013-01-21 13:49:21 +02:00
Michael Shigorin
84be7f5b0e live.mk: use/efi/signed
That enables additional packages and setup to deal with Restricted Boot.
2013-01-21 13:49:21 +02:00
Michael Shigorin
d004d09c7c efi: efi-shell and signed variants to the rescue
UEFI shell is pretty valuable debugging and fixup tool.

When one has to mess with Restricted Boot, openssl and
some PE signing tools might come handy either; see also
http://www.rodsbooks.com/efi-bootloaders/secureboot.html
2013-01-21 13:49:21 +02:00
Michael Shigorin
0ba8d3fbae efi: added refind to the rescue
Its bootloader autodetection capabilities can prove quite useful;
this particular addition has been "sponsored" by this thread:
http://lists.altlinux.org/pipermail/sisyphus/2013-January/subject.html#359481
2013-01-21 13:49:21 +02:00
Michael Shigorin
12470e01cc lxde+extra: added gvfs packages
PCManFM users seem to benefit from those being available;
thanks aen@ for the exact package list.
2013-01-21 13:49:21 +02:00
Michael Shigorin
cbbfddf86a live: try and enable connman too
Might come with e17 distros; the services should really become
configurable, msp@ and sem@ need that already.
2013-01-21 13:49:21 +02:00
Michael Shigorin
57168fe705 e17: added econnman
Thanks manowar@ for both fitting NM there and subsequently
wrestling EConnMan into its place, things seem better now.
2013-01-21 13:49:21 +02:00
Michael Shigorin
32b492c0c9 desktop+lxde: lxterminal again (moved to +extra)
Let's provide the official terminal emulator as the reference one,
and those preferring others are welcome to include these either.
(to some extent this commit is biased towards regular.mk though)
2013-01-21 13:49:21 +02:00
Michael Shigorin
25eba198f8 lxde: added lxshortcut, obconf
Both look like useful additions.
2013-01-21 13:49:21 +02:00
Michael Shigorin
2e2c7082a6 metadata: fix 50-metadata.mk's treatment of groups
It was missing THE_GROUPS rather completely (but should not care for
LIVE_GROUPS -- are these useful anyways?); thanks sem@ for spotting.
2013-01-21 13:49:09 +02:00
Michael Shigorin
eaee7b9378 regular.mk: added NM plasmoid to regular-kde4
Suggested by zerg@, aen@ and myself upon testing.
Happens to work these days, hooray!
2013-01-20 23:12:06 +04:00
Michael Shigorin
9ff596db7f syslinux: lowered livecd boot priority
The reason is that the most interesting live images by now are
installable ones, and while configurable boot order is not there yet
the "classic" livecd images will require manual choice to boot.

Thanks sem@ for reminding of that FR (which is still open).
2013-01-20 23:11:57 +04:00
Michael Shigorin
31b74b1272 regular.mk: added xxkb to regular-icewm
Thanks aen@ for suggesting this.
2013-01-20 23:11:57 +04:00
Michael Shigorin
31d694f18b regular.mk: initial regular-gnome3
It would be great to have #28289 fixed either so that aris@
could approve the image as usable (I totally agree that it's
a major piece of real world functionality currently missing)
looks like there's sense to prepare a starter iso for tests.
2013-01-20 23:11:57 +04:00
Michael Shigorin
146d1b0fe2 x11: initial gnome3
Seems working.
2013-01-20 23:11:57 +04:00
Michael Shigorin
e5619e904f live: initial rollback hook subsystem
Currently done for 40-autologin script only but might be
more widely useful: when describing an action to be done
while forming the LiveCD image, also prepare the one that
undoes the effect so that an installed LiveCD doesn't
(mis)behave as if it were young again.

NB: livecd-install provides 50-{gdm,kdm}-autologin-off.sh
hooks which can collide with ours, so let's override those
until things are sorted out properly at both sides.

PS: some half-year old nodm hacks are still in place for t6/branch
(and #27451 should be re-examined when dropping those).
2013-01-20 23:11:00 +04:00
Denis Smirnov
2ff873eb73 Add .gitignore for docs 2013-01-20 20:27:19 +04:00
Michael Pozhidaev
fbd3460684 Initial Homeros support
- added destination homeros-nano.iso yields   minimal
  speaking image;
- added "homeros" feature contain scripts appropriate
  for general Homeros functions but need further development.
2013-01-18 06:07:58 +07:00
Michael Shigorin
eb2489fe89 gear-store-tags 2013-01-14 22:07:19 +02:00
Michael Shigorin
a133490be9 0.9.4-alt1
- restricted boot
2013-01-15 00:02:26 +04:00
Michael Shigorin
3ff5f6a195 efi: slightly enhanced documentation
The variables are best influenced by targets and not directly
to avoid architecture dependent clashes.
2013-01-14 18:33:25 +02:00
Michael Shigorin
2234e6b70f regular.mk: test refind with regular-icewm.iso
The current refind support implementation doesn't boot
with either USB Flash or CD-ROM for me (due to the different
actual volumes, FAT vs El Torito, accordingly).

And when it does, a host with Secure Boot present and not
disabled yet would turn the unsigned kernel down unlike ELILO
(due to rEFInd using "natural" calls to boot it).

Both issues are reported upstream; in the meanwhile let's
migrate a single test image but build the rest with elilo.
2013-01-14 18:24:40 +02:00
Michael Shigorin
36a707bbb2 efi: refind support
mkimage > 0.2.5 should have received enhanced UEFI support
including the ability to setup refind (#28349);
make the feature ready for that.
2013-01-14 18:14:47 +02:00
Michael Shigorin
1db42ffcb1 regular.mk: use/efi/signed
Let's switch the UEFI SecureBoot (aka RestrictedBoot) shim on
for all the regular images.
2013-01-14 18:05:16 +02:00
Michael Shigorin
8c8d7c24d1 efi: initial signed bootloader support
The implementation goes the shim[1] way as described here[2];
many thanks to Matthew Garrett and Rod Smith.

[1] http://mjg59.dreamwidth.org/20303.html
[2] http://www.rodsbooks.com/efi-bootloaders/secureboot.html
2013-01-14 17:36:10 +02:00
Michael Shigorin
084c5af4cb regular.mk: add uvcview, powertop
All of these individual packages should get sorted out
and shifted to pkglists at some time.
2013-01-11 00:32:31 +04:00
Michael Shigorin
8c8a65a104 regular-tde: added NetworkManager
Suggested by rom_as@; see also #25713 at the moment.
2013-01-11 00:32:31 +04:00
Michael Shigorin
b7c1e3bda2 initial desktop+e17+extra pkglist
Thanks aris@ for advice again.
2013-01-11 00:32:31 +04:00
Michael Shigorin
95bc7fedd6 added desktop+e17 pkglist, use it in x11
It's not e17-default alone right now, gnome-icon-theme package
appears requisite at the moment so that menus and IBar aren't
half-empty regarding graphics.

Thanks aris@ for the advice and lots of patience with me.
2013-01-11 00:32:31 +04:00
Michael Shigorin
ed79d011b7 regular.mk: added net-tools
ifconfig(8) was requested by rom_as@ and someone at opennet too.
It's legacy but habits are valuable nevertheless.
2013-01-11 00:32:31 +04:00
Michael Shigorin
2cdb7d3df9 regular.mk: use/wireless
...instead of preliminary "statically linked" bits.
2013-01-11 00:32:31 +04:00
Michael Shigorin
61e4b26ffe initial features.in/wireless
The creeping wireless bits should be thrown together,
including kernel modules, firmware, CLI/GUI controls,
and any plumbing required.
2013-01-11 00:32:31 +04:00
Michael Shigorin
56b473b2da regular.mk: use std-def
So far it's what should be tested, after all...
and #27941 is not so clearly about the kernel.
2013-01-11 00:32:31 +04:00
Michael Shigorin
d6d7662ef8 x11: added evas_generic_loaders to e17 packages
This should really be done in e17-default but until it's there...
(thanks aris@ for advice)
2013-01-11 00:32:30 +04:00
Michael Shigorin
0b71c5fb07 regular: added rescue+extra pkglist
The things like fdisk are very useful on a livecd/liveflash
to carry in one's pocket indeed.
2013-01-11 00:32:30 +04:00
Michael Shigorin
d8de9b292b rescue+extra: postfix is a server, not a tool
Just drop it from this pkglist.
2013-01-11 00:32:30 +04:00
Michael Shigorin
24c1a45673 regular += wireless drivers
Thanks someone for feedback:
http://www.opennet.ru/openforum/vsluhforumID3/88025.html#285
2013-01-11 00:32:30 +04:00
Michael Shigorin
380dcb88d8 server.mk: add UEFI, move off el-smp
UEFI support is pretty requisite by now;
and el-smp hasn't seen updates for almost
half a year by now so an actively maintained
one is clearly preferred.
2013-01-11 00:32:30 +04:00
Denis Smirnov
7f805cdf79 Rename all scripts in */image-scripts.d to format \d\d-scriptname 2013-01-06 12:05:32 +04:00
Denis Smirnov
c509ddb954 /etc/firsttime.d support 2013-01-06 00:10:46 +04:00
Michael Shigorin
dfb2d2adef gear-store-tags 2012-12-31 22:01:27 +02:00
Michael Shigorin
29388ef555 0.9.3-alt1
- regular images
2012-12-31 21:41:19 +02:00
Michael Shigorin
d0d76633bb initial regular images
See http://www.altlinux.org/Регулярные_сборки_образов
for the idea behind this set of images; in short, it's
*not* a bunch of polished end-user distros in a moment
but rather to facilitate Sisyphus package base testing
in as-is state during branch pre-release time.
2012-12-31 21:39:31 +02:00
Michael Shigorin
43c6fce4d1 live: fix 20-locale
It shouldn't overwrite the pre-existing configuration
but should fire if there's none.
2012-12-31 21:39:31 +02:00
Michael Shigorin
d94232fb87 live: updated 40-autologin to support kdm4
Was long overdue already but let's leave that in 2012. :)
2012-12-31 21:36:04 +02:00
Michael Shigorin
a1c0e82e31 live: add use/live/repo
This one provides apt configuration for the LiveCD itself
as well as extra hooks for a livecd-install made system.
2012-12-31 22:16:57 +04:00
Michael Shigorin
78326d393a luks: it's not just BASE packages
Installable live systems can have LUKS as well
and it's welcome addition to rescue images too.
2012-12-31 18:10:12 +04:00
Michael Shigorin
bd606e6c60 build.mk: extended error regex yet again
This time it's

  xorriso : FAILURE : -volid: Text too long (33 > 32)

and todo-- as well.
2012-12-31 18:10:12 +04:00
Michael Shigorin
b9e93b699e luks: added alterator-luks
It's a separate installation step to set the LUKS password;
see also #28200 for (terse) discussion and instructions on
getting this actually working for a distro.
2012-12-31 18:10:12 +04:00
Michael Shigorin
9a86d7ec40 lists: initial desktop+nm
For MATE regular images right now
but should be more widely useful.
2012-12-31 18:10:12 +04:00
Michael Shigorin
2701a01f19 initial lxde pkglists
Thanks gns@ for his help in figuring these out;
some metapackage related optimization is still due.
2012-12-31 18:10:12 +04:00
Michael Shigorin
cf6411b3a1 desktop+xfce: refactor using metapackages
These are out there in Sisyphus and should be used
instead of copious lines in a package list.

Thanks sem@ for proposing gnome-icon-theme to supplement
the lack of icons in the default theme; note that tango
set doesn't quite cut it, even with extras.

Thunar -> thunar; xfcalendar -> orage
2012-12-31 18:10:12 +04:00
Michael Shigorin
cd9303e7b1 live: xdg-user-dirs tweak
Borrowed from m-p-d's init-xdg-user-dirs, of course.
2012-12-26 18:52:33 +02:00
Michael Shigorin
06c62ae440 live: mv 03services 03-services
Slowly fixing up the discrepancies...
2012-12-26 18:52:33 +02:00
Michael Shigorin
874c078eea x11: added use/x11/kde4
There's use/x11/kde already but that serves somewhat different
purpose as of today; the naming issue (kde vs kde4) was tersely
discussed with sin@ at the time of the merge of his KDE4 image
related bits and it's still not that clear.

Let's try this way and see if existing images would be ported
to use/x11/kde4.
2012-12-26 18:15:33 +04:00
Michael Shigorin
e7a4b39083 implement and use/x11/e17
This marks 0.17.0 hitting Sisyphus to much delight.
2012-12-26 18:15:33 +04:00
Michael Shigorin
d94ecb94d1 desktop+mate: fix build with 1.5
A few things have changed...
2012-12-26 18:15:33 +04:00
Michael Shigorin
3ae69fa5dc live.mk: live-rescue += use/efi
The whole live-rescue needs a massive facelift regarding
applications included and user experience achieved (remember
that folks are going to be stressed enough already with data
lost or system(s) not booting, and probably offline as well);
but at least it's UEFI bootable now.
2012-12-26 18:03:27 +04:00
Michael Shigorin
cd0db8d363 efi: handle rescue as well
The rescue feature intentionally doesn't pick up THE_PACKAGES
and THE_LISTS into stage2, so add EFI ones explicitly.
2012-12-26 18:02:11 +04:00
Michael Shigorin
162a824009 live.mk: rescue += EFI
It was long overdue since (U)EFI support for live images
has been there for some six weeks or so already.
2012-12-26 17:15:59 +04:00
Michael Shigorin
bad7fb53ca tags2lists: filter out vim swap files
The (funny but somewhat confusing) problem manifests itself as

  E: Couldn't find package Binary

during a build run in the profile where a tagged packagelist
referenced by a specific target being built is open with vim
(which results in .FILE.sw? temporary file lying aside).
2012-12-26 17:15:59 +04:00
Michael Shigorin
d045fe49e5 features.in: extended README a bit
The script hook naming advice and "+name" puropose explanation
seem to have been missing.
2012-12-26 17:15:59 +04:00
Michael Shigorin
b6eb7cb732 efi: skip on unsupported target architectures
There's a possibility to run into IA32 EFI but that's rather
uninteresting hardware (ancient Xeon servers and <s>outdated</s>
early Intel Mac laptops).  Just drop it on the floor.

As x86_64 UEFI support would result in "2D hybrid(r)(tm)" image
which boots with all combinations of BIOS/UEFI by CD|DVD/Flash
(or at least should boot), some downgrace seems due: use/efi will
turn use/isohybrid on non-x86_64 -- which will require further
tweaks on PPC/ARM some day.
2012-12-26 17:07:19 +04:00
Michael Shigorin
5da4b440be gear-store-tags 2012-12-17 17:57:11 +04:00
Michael Shigorin
70d1761780 0.9.2-alt1
- enhanced uefi support
2012-12-17 17:56:45 +04:00
Michael Shigorin
537374aa4a luks: drop obsolete comment
That FIXME has been FIXED already.
2012-12-17 15:22:44 +04:00
Michael Shigorin
393ef79235 stage1: added virtio drivers
I will test more in kvm
I will test more in kvm
I will test more in kvm
...
2012-12-17 14:47:42 +04:00
Michael Shigorin
2e776a082f initial server-efi.iso
Intermediate one: build-propagator *is* run off stage1,
no mkimage changes for that matter so far.  This means
that m-p still duplicates mki-pack-boot to some extent
but the way to dedup this is still not clear enough...
2012-12-17 14:40:55 +04:00
Michael Shigorin
5a61e2d4cc efi: employ mkimage
The initial approach required some quite involved postprocessing
as described in http://www.altlinux.org/UEFI#HOWTO; after having
ironed out the kinks so that initial EFI support could be merged
into mkimage proper we're better off just using it, eh?
2012-12-17 14:40:55 +04:00
Michael Shigorin
8d6f58fcd1 simply: fix installer boot (go sysvinit)
A next part in systemd conspiracy practice: this time it tried
to take over the installer but was caught on site!
2012-12-17 14:40:45 +04:00
Denis Smirnov
106137afff fix resolv.conf when build VE 2012-12-17 11:37:32 +04:00
Michael Shigorin
4d62c4ca24 gear-store-tags 2012-12-03 17:27:13 +02:00
Michael Shigorin
919b09313f 0.9.1-alt1
- initial kde4 support
2012-12-03 17:26:55 +02:00
Evgeny Sinelnikov
e00b52af47 Update kde minimal profile as distro/kde-lite 2012-12-03 17:19:35 +02:00
Evgeny Sinelnikov
91ebe4295b Add kde minimal desktop support 2012-12-03 17:19:35 +02:00
Evgeny Sinelnikov
2776acc2a8 Add experimental desktop+kde 2012-12-03 17:19:35 +02:00
Evgeny Sinelnikov
36b36faf55 lib/log.mk: fix hasher check 2012-12-03 17:19:35 +02:00
Michael Shigorin
8d8b23e685 rescue+extra pkglist: added whdd
As was proposed by Alexey Varakin in community@,
whdd was built for ALT Linux by drool@ and pauli@
with some help by torabora@ and mithraen@; looks like
it's a worthy addition to the rescue kit.
2012-12-03 17:18:27 +02:00
Michael Shigorin
40adf4ccf3 main.mk: escalate the comment to a warning
The problem manifests itself when the naive parser ignores
any conditions that might have been set in the makefiles
included with subsequent attempt to run a target which has
its actual rule defined within e.g. "ifdef DEBUG" clause
(as is the case for conf.d/test.mk); that will fail with
no proper diagnostics currently.

Maybe this would be of some use (but then again maybe not):
http://stackoverflow.com/questions/3063507/list-goals-targets-in-gnu-make
2012-12-03 17:18:27 +02:00
Michael Shigorin
e9f60f007c 03-test-kernel: silliest mistake II
The previous part was fixed and discussed in commit
c30490e2e884f8655a2704fa6a84e60b13876874;
so much for a deduplication effort...

This would result in almost immediate

  make[1]: *** [profile/populate] Error 2

as well.
2012-12-03 17:18:27 +02:00
Michael Shigorin
2e1e4d6f09 assumptions.txt: ported to make-3.82 already
That is, p6/t6 continue to use 3.81 (while providing 3.82
alongside with it), and Sisyphus has moved to 3.82 before
p7/t7.  We support both versions by now.
2012-12-03 17:18:27 +02:00
Michael Shigorin
4df837b9d3 live.mk: split live-builder into proper and -mini
While ildar@ has some reason for the slimmer image
the somewhat standalone one is documented in examples
for offline use, ruining it in-place is not an option.

Let's just do a split (and lose a target-specific variable
example in favour of a commodity pkglist by the way; oh well).
2012-12-03 17:18:26 +02:00
Ildar Mulyukov
e87399e1a6 live-builder: cut RPMs aka MAIN_PACKAGES from the image
a live-builder appliance is (or may be) usually used for building software
with many dependencies, hence needing access to external resources,
e.g. apt repos with lib${NAME}-devel packages.

This commit cuts RPM packages from the live-builder LiveCD.
2012-11-23 13:10:01 +06:00
Ildar Mulyukov
934a722bdd documentation: fix lists and blocks in QUICKSTART 2012-11-22 11:14:02 +06:00
Ildar Mulyukov
4302943861 documentation: fix bulleted lists marked with '+' 2012-11-22 10:56:57 +06:00
Michael Shigorin
20ad22e55b gear-store-tags 2012-11-19 23:33:53 +02:00
Michael Shigorin
a5ec5f2577 0.9.0-alt1
- initial uefi, luks, armh support
- enhanced arm, gnome3/systemd, vm support
2012-11-19 23:32:45 +02:00
Michael Shigorin
5e9ba6fb1a tar2vm: reworked to use sfdisk
The issue (#28002) resulting in vm image build error reading

  Syntax error at or above line 5 in file '/etc/lilo-loop.conf'

was caused by fdisk-2.22 changing its "-l" option output format
to drop the very mention of the long irrelevant crap named "CHS".

The problem is, however, that we still need that crap to piggyback
a loop device's fake geometry to lilo while installing it there.

Reported by icesik@.
2012-11-19 23:26:51 +02:00
Michael Shigorin
e179176b28 initial armh support
Somewhat kludgy unfortunately and might need even more tweaking,
I have only armv7l board handy at the moment to verify that
the transformation is going to work.

QEMU is bailing out here and now ("Exec format error").

Example sources.list.sisyphus.armh of the season:

  rpm http://ftp.altlinux.ru/pub/people/asdus/sisyphus armh classic
  rpm http://ftp.altlinux.ru/pub/people/asdus/sisyphus noarch classic
2012-11-19 23:26:51 +02:00
Andrey Liakhovets
edd959e182 Enable ubifs packing of result.
An example for sam9x25-ek:

make \
 PACK_UBI_MIN_IO_SIZE=2KiB \
 PACK_UBIFS_OPTS="-e 124KiB -c 1984" \
 PACK_UBI_OPTS="-p 128KiB -s 2048" \
 PACK_UBI_VOL_TYPE=dynamic \
 PACK_UBI_VOL_NAME=rootfs \
 PACK_UBI_VOL_FLAGS=autoresize \
 HSH_EXCLUDE_DOCS=1 ARCH=arm APTCONF=apt.conf.sisyphus.arm ve/generic.ubifs

https://bugzilla.altlinux.org/show_bug.cgi?id=27994#c0
2012-11-19 23:26:51 +02:00
Michael Shigorin
09cb29cb36 test.mk: initial desktop-luks
It's beta too but holding off the feature seems counterproductive.
2012-11-19 23:26:51 +02:00
Michael Shigorin
99a25867b2 initial luks feature
Based on timonbl4@'s advice; might need some bleeding edge
packages right now, feel free to ask (everything should be
in place by p7/branch though).
2012-11-19 23:26:51 +02:00
Timur Aitov
6ba5e45fbe don't cleanup crypto libraries (for LUKS) 2012-11-19 23:26:51 +02:00
Michael Shigorin
bd427df77a stage2: updated 80-make-initfs
propagator-20121109-alt1 obsoleted initfs (and dropped
mkinitfs script altogether); that was taken into account
in both make-initrd-propagator and mkimage-profiles-desktop
but not in mkimage proper, see also discussion in #27976.
2012-11-19 23:26:51 +02:00
Michael Shigorin
06b9785816 install2: drop empty tagged/image-scripts.d/
Tagged scripts got heavily postponed
for the lack of practicability
so far.
2012-11-19 23:26:51 +02:00
Michael Shigorin
595dfc2d02 test.mk: initial live-efi, icewm-efi
Both do require postprocessing (see http://www.altlinux.org/UEFI)
until mkimage receives xorriso support and efiboot.img is passed
down there somehow, but it's beta than nothin' so far.
2012-11-19 23:26:51 +02:00
Michael Shigorin
653b8e1df8 initial EFI support
EFI/UEFI is mostly about partitioning and bootloader setup,
at least from a distribution's point of view; so the
appropriate tools should be handy and firmware interface
module should not be exterminated from installer images
but get autoloaded instead.

Please note that while there exists 32-bit x86 EFI
we don't bother with it at the time being: it's relevant
to some irrelevant Xeon systems as well as for the older
Intel Macs (<2008) that are long out of fashion anyways.
That is, initially we deal with x86_64 EFI only.
2012-11-19 23:26:51 +02:00
Michael Shigorin
12340b3165 initial live-gnome
Thanks ildar@ for both the request and clarifications
regarding the build of the minimalistic GNOME3 LiveCD.

NB: current GNOME3 is hooked on systemd.
2012-11-19 23:26:50 +02:00
Michael Shigorin
165059b1bd live.mk: use/live/ru related refactoring
Introduced distro/.live-desktop-ru as a shortcut for
distro/.live-desktop use/live/ru which occurs several times
already (and the counter will increase right now).
2012-11-19 23:26:50 +02:00
Michael Shigorin
0efba3e42c live: support systemctl to enable *dm
systemd is a tricky beast: getting it to actually launch gdm
required considerable effort on the part of stupid myself.

The relevant links:
* https://wiki.archlinux.org/index.php/Systemd#Running_DEs_under_systemd
* http://unix.stackexchange.com/a/35626/15296

Still looks pretty dirty, and there's some duplication
with a hook in features.in/slinux as well.
2012-11-19 23:26:50 +02:00
Michael Shigorin
6a6a0e1c01 live: enable dm service if present
This was requested by aris@ for live-gnome.iso but is so far
reasonable enough to do by default: the case of a LiveCD
including X and a display manager but willing to get on
with startx by default is rather nonexistant by now.
2012-11-19 23:26:50 +02:00
Michael Shigorin
6aa5402d8b gear-store-tags 2012-11-12 00:10:45 +04:00
Michael Shigorin
a1119b74fe 0.8.7-alt1
- regressions--
2012-11-12 00:01:43 +04:00
Michael Shigorin
e6c59ac3f3 moved distro/syslinux from test.mk back to live.mk
Thanks go to ildar@ for spotting this: my ~/.mkimage/profiles.mk
routinely contains DEBUG = 1 line which effectively masked this
regression in commit 307fb51f15.

Wouldn't be a big deal but syslinux.iso is recommended in
tutorial docs being slim and fast-building, and it's also
what's buildable locally in live-builder.iso environment.
2012-11-12 00:01:43 +04:00
Michael Shigorin
6711fd92db lib/profile.mk: slightly improved arch test
ildar@ noted that the test involving whitespace is too
quirky for some quirky enough cases like

  rpm-dir file:/var/cache/apt/archives . x86_64

-- let's introduce word boundaries there.
2012-11-12 00:01:32 +04:00
Michael Shigorin
c30490e2e8 80-make-initfs: fix the silliest mistake ever
*Of course* the "weird" [ ... ] || ... construct meant to avoid
the non-zero exit status of the whole thing wasn't employed
where it actually does make the difference!

Thanks ildar@ for hitting and reporting this, as in

  + verbose '/usr/lib64/propagator exists'
  + '[' -n '' ']'
  mki-scripts: .../stage1/scripts.d/80-make-initfs: unable to run script.
  make[3]: *** [run-scripts] Error 1
2012-11-10 17:59:30 +04:00
Michael Shigorin
45cddfd25a stage1: added nfsv*.ko to modules
The newer kernels have versioned NFS support code moved
into a few separate modules with nice self-explanatory
messages reading "Protocol not supported" if one has
managed to overlook this; thanks boyarsh@ for heads-up
(based on f545923271f9d1938d1887632ab4697c4c009039 m-p-d).
2012-11-09 16:14:38 +04:00
Michael Shigorin
5300949cc5 gear-store-tags 2012-11-05 17:53:00 +04:00
Michael Shigorin
cebabf992f 0.8.6-alt1
- docs subpackage (HTML/PDF book)
2012-11-05 17:52:47 +04:00
Michael Shigorin
6694882715 doc/Makefile: refactoring
The initial sketch did work but was somewhat redundant
while lacking the knob conveniently change output directory
as well as means to get it cleaned up.
2012-11-05 17:20:12 +04:00
Michael Shigorin
12de346ddd asciidoc: use dejavu fonts
Thanks torabora@ for the tip along with reference to his
http://altlinux.org/asciidoc page.
2012-11-05 17:20:12 +04:00
Michael Shigorin
4e0cd6bdf6 asciidoc: moved support files into doc/
Docs should live happily together, after all,
and toplevel should be more or less uncluttered :)

Adjusted/rewrote as appropriate as well.
2012-11-05 17:20:12 +04:00
Michael Shigorin
ccf3b2220a asciidoc: avoid images/icons/note.png
It was actually an experiment leftover and spoils
toplevel completion so let's drop that one, just
as mentioned by torabora@.
2012-11-05 12:26:26 +02:00
Mike Radyuk
85217cd11d added asciidoc support 2012-10-31 21:22:06 +02:00
Michael Shigorin
301a13a015 use/live/desktop: added pciutils
It's not fun to boot into a livecd just to find that
there's no lspci around!
2012-10-30 21:59:17 +02:00
Michael Shigorin
103981a2bb gear-store-tags 2012-10-29 22:08:23 +02:00
Michael Shigorin
91a4cc986f 0.8.5-alt1
- diffable logs
- AMD APU support
2012-10-29 22:07:50 +02:00
Michael Shigorin
32719b3145 desktop+tde -= gtk2-themes-qtcurve
There's no gtk2-themes-qtcurve package in Sisyphus at the moment;
let's fix image build until it's back again (if it ever is).
2012-10-27 22:28:17 +03:00
Michael Shigorin
02791834f9 distro/installer, use/live/x11 += use/firmware
This is thanks to the fact that alterator-based install2 needs
alterator-browser-qt which needs X11 which needs working device drivers
-- and at least AMD C60 APU would only yield a nice dotted white screen
without that firmware.

Roughly the same for X11 bearing LiveCD images.
2012-10-27 22:27:22 +03:00
Michael Shigorin
63b515c922 live-webkiosk-mini, tde: use led-ws kernel flavour
The rationale for the former is that the image gets slightly
more compact (although the current sisyphus build is way larger
than the t6/branch build of the optimization time, need to look
into that...); and for the latter it's to provide yet another
installer with a different enough kernel so that there's one more
chance in a weird situation.
2012-10-27 22:21:00 +03:00
Michael Shigorin
d445f5e374 xorg: added xorg-drv-modesetting
Thanks boyarsh@ for a hint that VM-emulated cirrus VGA
actually requires xorg-drv-modesetting when used
with recent kernels.
2012-10-27 22:20:44 +03:00
Michael Shigorin
0e39602368 initial desktop+network+live
Actually just a split of livecd-webkiosk into the kiosk related
part and generic livecd firefox setup (turning off queries that
are pretty useless in that environment).
2012-10-27 22:19:15 +03:00
Michael Shigorin
f4d4544832 razorqt-0.5 support
Yet another rename, sigh.  The release is worth the trouble though.
2012-10-27 22:18:36 +03:00
Michael Shigorin
aa8699c4a4 reports.mk: diffable logs
This is a mild generalization of what has been done by hand
to figure out a problem with make-initrd-propagator-0.10-alt1:
stripping anything intrinsically volatile off the build.log.

The filter set isn't perfect, and the proper logging will
involve mkimage tweaks as well (e.g., one generally isn't
interested in instrumental chroots' population that much,
so it should only be verbose at the higher debug levels).
2012-10-27 22:13:58 +03:00
Michael Shigorin
8d96a102ae gear-store-tags 2012-10-16 12:20:21 +03:00
Michael Shigorin
939455e7a3 0.8.4-alt1
- worked around enhancements in current make-initrd-propagator
  (thus fixed live image boot, finally)
2012-10-16 12:17:28 +03:00
Michael Shigorin
aaddfb740c stage2: cope with current make-initrd-propagator
The issue that appeared pretty hard to diagnose occured
to be the enhancement made in make-initrd-propagator=0.8.1-alt1.2
(that didn't hit Sisyphus until merged into 0.10-alt1) which
drops propagator dependency.

And that was optimized out in m-p, of course.
2012-10-16 12:16:39 +03:00
Michael Shigorin
b8d711a005 gear-store-tags 2012-10-15 23:35:17 +03:00
Michael Shigorin
7a50acb5c4 0.8.3-alt1
- make-3.82 support
- fixed live image boot to some extent (see #27640, #27852)
2012-10-15 23:34:36 +03:00
Michael Shigorin
90b8fd49f4 80-make-initfs: fixed silly thinko
The added pdir check was a hillarious(tm) overlooked bug indeed:
I tried to put .../initfs/initfs instead of .../initfs as the result.

Duly spotted by torabora@, thanks a lot.

Still the kmod+propagator+kernel-image combo needed some tweaking too,
see #27640
2012-10-15 17:04:18 +03:00
Michael Shigorin
944e0341c5 stage2: brevity fix
A tiny bit less cut-n-paste. :)
2012-10-15 16:03:58 +03:00
Michael Shigorin
6f5be91827 make-3.82 adaptation
The issue actually hit image.in/Makefile: "metadata" target
in features.in/metadata/lib/50-metadata.mk wasn't reached
even if features.in/build-distro/lib/90-build-distro.mk
would ACK that the "whatever" actions included "metadata";
thus Metadata/pkg-groups.tar wasn't created and the installer
silently failed to install the .base system.

Let's armour the rest of the cases where the order of inclusion
might be important as well.
2012-10-10 16:18:35 +03:00
Michael Shigorin
718a50b9d0 relname: tweak the fix/diagnostics
The culprit would be that $RELNAME isn't really set there
($GLOBAL_RELNAME is), and sh -u will treat that as error.
2012-10-10 12:06:55 +03:00
Mike Radyuk
78684bfef3 fix RELNAME script and README 2012-10-10 12:00:17 +03:00
Mike Radyuk
cc623bc56b fix typo in RELNAME variable 2012-10-09 00:13:02 +03:00
Michael Shigorin
64536f62d1 bootloader README: a note on overriding
It's pretty ugly but dropping the current way
means losing the dependency tracking which is
critical to get the required alterator module
into install2.
2012-10-01 23:28:24 +03:00
Michael Shigorin
91053b9daf gear-store-tags 2012-09-24 21:52:10 +04:00
Michael Shigorin
b44705d25b 0.8.2-alt1
- fixed build with recent make-initrd-propagator
2012-09-24 21:21:49 +04:00
Michael Shigorin
12a2fc983c 80-make-initfs: fix for current make-initrd*
Thanks mithraen@ for spotting, boyarsh@ for explaining,
and legion@ for hearty support :)

The problem would manifest itself like this:

  /.host/script.sh: line 20: /usr/lib64/propagator/initfs: \
  No such file or directory
  mki-scripts: .../stage1/scripts.d/80-make-initfs: unable to run script.
2012-09-24 21:20:49 +04:00
Michael Shigorin
30d0340d56 install2: added convenient filesystems support
Thanks Serg Markov for bringing my attention to this:
http://www.opennet.ru/openforum/vsluhforumID3/86552.html#61

While the official distros might skip some filesystems for
support reasons there's no reason for community distros to
do so either.

Let's try that with icewm.iso...

NB: installer has a misfeature of dropping jfs/reiserfs
    support in runtime unless "expertmode" magic word
    is on the kernel bootargs string (#27763, #17368).
2012-09-24 11:07:49 +04:00
Michael Shigorin
2f357e44d6 clean.mk: skip if REPORT requested either
The problem would manifest itself like this:

..:..:.. cleaning up after build
sed: can't read .../build.log: No such file or directory
2012-09-24 11:07:45 +04:00
Michael Shigorin
a2b89e6647 ovz-server: add vzquota
Asked for by torabora@; indeed.
2012-09-23 11:46:52 +04:00
Michael Shigorin
56b3147eac README: minor readability fixes
Should be a tiny bit better this way.
2012-09-22 17:37:14 +04:00
Michael Shigorin
d5cf1ff3eb renamed menuitem-grub feature to relname
Its immediate purpose was influencing the GRUB boot menu
*but* the implemented mechanism is actually a part of the
long planned text branding and might be further merged
into branding when hierarchical features finally chime in.

So let's get the naming straight before it breeds.
2012-09-12 20:12:41 +03:00
Michael Shigorin
f44908ca78 proofreading of the merged commits
File contents should be correct.
2012-09-12 19:39:42 +03:00
Mike Radyuk
8233aa8424 added menuitem-grub feature 2012-09-12 19:23:55 +03:00
Mike Radyuk
a35b5fbc21 added MENUITEM variable 2012-09-12 19:19:37 +03:00
Michael Shigorin
c3a1b4a934 gear-store-tags 2012-09-03 20:22:54 +03:00
Michael Shigorin
061f299fa1 0.8.1-alt1
- misc fixes
2012-09-03 20:22:16 +03:00
Michael Shigorin
e52e21781f actually useful vm/icewm
See http://www.opennet.ru/openforum/vsluhforumID3/86239.html#1
for a query that has led to this one; in particular,
- xdm dropped (won't log in root and there are no users yet);
- network is brought up and configured via DHCP by default;
- apt-get works out-of-box;
- default image size is twice the chroot size.
2012-09-03 19:16:50 +03:00
Michael Shigorin
0e8871e7b4 use un-def kernel by default
3.5.2-std-def-alt2 brings boot problems which were absent
with 3.4.x-std-def and are absent with 3.5.x-un-def;
seems like it's better to stay with known good variant
at the moment instead of having to fall back to it.
2012-09-03 19:16:50 +03:00
Michael Shigorin
e064954e93 rescue += ipmitool
It was missing indeed; suggested by ildar@.
2012-09-03 19:16:50 +03:00
Michael Shigorin
83fa2544bc fix root directory permissions
hsh-initroot leaves the chroot's root directory permissions
as 1775 while these should really be 755 at most; let's fix it
(important for both VE and VM images, useful for rescue/livecd
ones as well -- especially those with an installer onboard).
2012-09-03 19:16:50 +03:00
Michael Shigorin
d0cb988897 desktop+live += su
Thanks aen@ for finally mentioning it
as I just used to cope without su. :)
2012-09-03 19:16:50 +03:00
Michael Shigorin
84591991cb no more *silent* aliases
The missing "; @:" at the end of the otherwise recipeless rule
resulted in target graph being broken; I should have checked this
when introducing these aliases (the intent was to reduce noise).
2012-09-03 19:16:50 +03:00
Michael Shigorin
d2581522d9 systemd += chkconfig
It appears that chkconfig wasn't getting pulled in
by now if not told so explicitly.  Still in need.
2012-09-03 19:16:50 +03:00
Michael Shigorin
705a20938a conf.d/test.mk: live-mate-systemd
Not even alpha quality yet but at least debuggable:
- X session doesn't autostart but service dm start works;
- keyboard layout indicator is missing until started by hand.
2012-09-03 19:16:50 +03:00
Michael Shigorin
f54a5660d1 MATE: current crop of packages
There's a bunch of additions to the MATE package list:
thanks viy@ for pulling extras into autoimports,
several more tweaks done due to hints by dek@,
and openssh packages added for debugging convenience.

The kernel's been changed for the latest one (un-def).
2012-09-03 19:16:50 +03:00
Michael Shigorin
e0a849e974 initial live-gns3
Someone over the internets suggested that such a LiveCD exist:
http://www.opennet.ru/openforum/vsluhforumID3/85817.html#24
...but then disappeared in the thin air, sigh.
2012-09-03 19:15:42 +03:00
Michael Shigorin
b5e5d4f223 gear-store-tags 2012-08-13 22:04:57 +03:00
Michael Shigorin
d1bbbbc10b 0.8.0-alt1
- stage2@live
2012-08-13 22:03:32 +03:00
Michael Shigorin
3a3893b664 rescue += firmware (server, wireless)
There's no use of a rescue image when it has no firmware
for the controller in the system being worked on...
so added some.
2012-08-13 15:51:53 +04:00
Michael Shigorin
23175f0020 merged experimental support for opensuse
This isn't ready for general consumption (just as centos one)
but the notion of REPO is floating around along with apt-conf
thoughts, and it might still be useful to someone poking around
conf.d/test.mk.

Request hasher-pkg-init.spec from mike@ or led@ if interested;
the experiments were carried out using openSUSE 11.4 repository
and slightly patched hasher (cpio blacklist for devices).
2012-08-11 23:24:23 +03:00
Michael Shigorin
eb3df648a2 minor documentation facelift
A few more items were asking for some attention.

In particular, build examples should start with
the most basic, error-proof and quick targets.
2012-08-11 22:56:41 +03:00
Michael Shigorin
d646e71906 doc/qemu.txt: mostly automated
This part of docs was pleading to put it into a small shell
script; it was done to facilitate kas@' debugging efforts
so that qemu-system-ppc might eventually get fixed, thus
livecd-qemu-arch package now "obsoletes" this file.
2012-08-11 22:56:24 +03:00
Michael Shigorin
c08e86afc5 features: hopefully better README
Thanks both drool@ for his mild frustration with the current
documentation as well as Greg Kroah-Hartman, Heikki Orsila
and Neil Brown for http://lwn.net/Articles/504814/ -- the docs
should really emphasize *why* something is done, not *how*,
as the "how" part is better documented with the code itself
(that doesn't mean that "the big picture" isn't needed).
2012-08-11 21:45:26 +03:00
Michael Shigorin
b21353a00c complex subprofile delimiter changed ("/" -> "@")
That sub/stage2/install2 was somewhat clumsy actually as it looked
like a hierarchical thing while being a substitution thing:
generic stage2 would get put in place renamed as install2.

This could only get worse with hierarchical features which have
already been both requested and considered for quite a time,
and "stage2 at install2" reads much more naturally.
2012-08-11 20:11:17 +03:00
Michael Shigorin
912dbcfd10 features: drop dirtags
Finishes what 3dd020338b
has essentially done... the path seems to be elsewhere.
2012-08-11 20:06:00 +03:00
Michael Shigorin
e6f13defcd razorqt += qps
Don't remember who exactly recommended this nice and elegant
system monitor but it fits just fine.
2012-08-10 19:48:04 +04:00
Michael Shigorin
c4311108ea git usage refactoring
There were heaps of "if type -t git" there already;
it wasn't an unintentional mishap but rather a moderate
copy-paste to get the use cases, and now these seem to
have essentially settled.

So time to scrap some dups.

NB: the scripts in the generated profile can't rely on
the contents of the metaprofile (these need to be able
to work in standalone case either), so a bit of crap
still lurks there.
2012-08-10 00:12:46 +03:00
Michael Shigorin
a3779231cb rescue += zerofree, wipefreespace
This kind of tools can be badly missing at times.
2012-08-09 23:40:25 +03:00
Michael Shigorin
9c16a9e6ff rescue += boot off sda/sdb
There's no (convenient) "eject" at times, so it's better to provide
extra ways of booting right away.
2012-08-08 20:39:26 +04:00
Michael Shigorin
70793436c7 rescue += openssh
Found myself pretty silly while sittin' at the rescue console
and bein' unable to leave the cool server room for a way
more comfortable armchair and a laptop's keyboard...

(yes, it was that disk array needing GPT tools)
2012-08-08 20:27:59 +04:00
Michael Shigorin
1cf14cda95 lists/tagged/rescue*: minor update
Several GPT-related packages added along with
a few more rescue related ones.
2012-08-08 16:38:12 +04:00
Michael Shigorin
05b3c65cd0 gear-store-tags 2012-08-07 00:04:47 +04:00
Michael Shigorin
55fda1a044 0.7.6-alt1
- minor improvements
2012-08-07 00:03:41 +04:00
Michael Shigorin
0d859e70fc image.in/Makefile: support image STATUS
Another feature suggested by Michael Radyuk (torabora):
some images are known alpha/beta quality, it's more handy
to just state this at the build time than to rename by hand.
2012-08-06 23:58:26 +04:00
Michael Shigorin
cbfc3db882 syslinux: honour META_VOL_SET for boot menu
This trots along the TODO item on text branding
and hopefully helps Michael Radyuk (torabora)
with his feature request to tweak the installer's
"Install ALT Linux" label; as an example, Simply
will now offer to "Install Simply Linux".
2012-08-06 23:58:26 +04:00
Michael Shigorin
43d62dd9bb live-builder.iso += livecd-qemu-arch
The package actually passed the test and just got uploaded
to Sisyphus proper; its aim is to help set up the cross-arch
QEMU build environment.

NB: there are known issues with PPC32-on-x86_64 (which were
the cause for this package and commit to be created in the
first place).
2012-08-06 23:56:32 +04:00
Michael Shigorin
307fb51f15 conf.d/test.mk: experimental stuff went here
Some images were unbuildable (at least without special setup,
like ve/centos), unusable or just not useful in any meaningful way
(like distro/live-isomd5sum); as these tend to get any attention
during experiments, I decided to put them together in a separate
configuration file that would be effectively skipped if DEBUG
is not requested.
2012-07-31 21:28:44 +04:00
Michael Shigorin
46e3c94707 syslinux: no ui, no escape
This one was suggested by enp@ for industrial use where
some extra protection for the boot process might be quite
desirable.

If no syslinux ui was specified (the stock configuration paths
ensure there is one) or if it was set to "none" explicitly,
then there's no boot: prompt (let alone any menu).

If there's a need to ensure that the boot process is not
interruptable by Ctrl/Shift/Caps Lock/Scroll Lock.
2012-07-31 13:51:34 +04:00
Michael Shigorin
78a660aed6 live-builder: added qemu-user-binfmt_misc
This provides the means to cross-build at least ARM chroots,
there are known problems with PowerPC for me so far:
http://lists.altlinux.org/pipermail/devel/2012-July/194855.html

See also http://www.altlinux.org/Ports/arm/chroot for /proc magic.
2012-07-30 23:15:36 +04:00
Michael Shigorin
d8f64c0c89 gear-store-tags 2012-07-30 20:15:24 +04:00
Michael Shigorin
2a437c4d22 0.7.5-alt1
- a bunch of fixups and cleanups
2012-07-30 20:14:48 +04:00
Michael Shigorin
3a8af6b55d lib/clean.mk: post-build cleanup revisited
The prerequisites for a cleanup after a successful build
were somewhat weird at this point; now the rules are:
- if DEBUG level is more than 1 or CHECK is set, don't do it;
- otherwise if at least one of the following conditions is true:
  + there's more than one target being built in a row;
  + the build was run by e.g. alterator-mkimage;
  + metaprofile directory is read only
  ...then do a distclean.

If these are still weird or feel unsuitable for profile hacking,
drop me a note (or a patch).
2012-07-30 19:59:41 +04:00
Michael Shigorin
ea1f039c02 server-nano += +power
Essentially all the relevant server images got cpufreq setup
and a power button handler; feel free to ask for revert if
this causes any harm in any situation.
2012-07-28 14:26:27 +04:00
Michael Shigorin
8fd4b396f3 branding: clarify README
It wasn't obvious at all what BRANDING variable is for
(at least until the source code and existing configurarion
has been examined).
2012-07-28 13:32:01 +04:00
Michael Shigorin
a680ea2862 Makefile: fix default target to provide help again
`help' used to be the default target described at the very top
of the toplevel makefile but that got broken with g2f307ff;
spotted while discussing m-p with enp@.
2012-07-28 13:26:08 +04:00
Michael Shigorin
57747b22a5 initial live-testserver.iso
Also pulled the pkglist/kmodule part out of distro/server-mini's
recipe and started off a standalone feature based on it.

NB: el-smp kernel now contains aufs as a module but propagator
doesn't try to modprobe it.
2012-07-28 13:22:59 +04:00
Michael Shigorin
7eaa868525 conf.d/live.mk: ugly thinko fix, thx enp@
"textinst" != "textinstall", so let's just stick to the latter form.
2012-07-28 00:42:16 +04:00
Michael Shigorin
cb6a71d97f lib/ve.mk: whoops, ve/bare misses /sbin/init
Actually the templates pretending to be usable missed the whole
interactivesystem (sysvinit would get pulled in by services as well).

Fixed somewhat but time and practice will tell.
2012-07-21 19:15:24 +03:00
Michael Shigorin
ceffac4035 x11: ensure kdm3 installation for tde
TDE distros don't really need kdm4 which was proposed as
a replacement by zerg@ (for all the valid reasons but kdm3
wasn't maintained at that point, this has changed since).
2012-07-19 15:39:30 +03:00
Michael Shigorin
6c00e10b31 live, rescue: fix stage2cfg.mk LISTS/PACKAGES order
The reason is that package lists and individual packages
are processed in different dependency resolution "transactions"
by mkimage; thus if packages (the more precise form of specifying
the contents) come first they can't override the lists appearing
later, and that's wrong: we should be able to specify the more
generic things and then pinpoint the specifics.

This became apparent while authoring [[Mkimage/Profiles/m-p/howto]]
asked for by drool@.
2012-07-19 13:32:53 +03:00
Michael Shigorin
cb764516eb build-vm: standalone build is a must, too
The problem was spotted by Alexander Bandura:
bin/tar2vm wasn't present in the generated profile.

I considered extending features.in/Makefile to include
bin/ alongside lib/ but that would make the helper's location
unpredictable (unless BUILDDIR is specified explicitly) so
restricting sudoers would be harder; worse yet, the copied file
would come with write access for the user building an image.

The implications in restricted case are complex enough anyways
so the recommended implementation would only include a fixed
readonly location like /usr/share/mkimage-profiles/bin/tar2vm
as laid out in doc/vm.txt, and that means it's in the metaprofile
not a generated profile.
2012-07-18 16:06:15 +03:00
Michael Shigorin
5f479eb80f conf.d/README: updated reference
Argh, is it overdocumentation already?
The temporary name bites once again...
2012-07-18 12:34:47 +03:00
Michael Shigorin
f3e923ad61 Makefile: drop extra >&2
say() redirects to stderr already.
2012-07-17 20:43:06 +03:00
Michael Shigorin
4ea5959f79 bin/mktmpdir: hasher might be unconfigured yet
No need to just go ahead and source files in potentially
unavailable directories, really.
2012-07-17 15:53:42 +03:00
Michael Shigorin
1b62f94bf3 gear-store-tags 2012-07-16 21:37:34 +03:00
Michael Shigorin
0a3aaf15c2 0.7.4-alt1
- ppc builds
2012-07-16 21:33:00 +03:00
Michael Shigorin
1ee997e832 initial PowerPC support
As it happens, adding another architecture required almost no changes;
native 32-bit ppc build took only ARCH and a repo, qemu-ppc one still
has problems (/.host/entry hangs while unpacking setup for fakedata).

Proof of concept on a QS22:

  $ make ve/bare.tar.gz
  ** ARCH: ppc
  /bin/sh: rpmvercmp: command not found
  21:41:01 cleaning up
  21:41:03 initializing BUILDDIR: build/
  21:41:03 preparing distro config
  21:41:05 starting image build (coffee time)
  21:42:48 done (1:42)
  ** image: $TMP/out/bare-20120716-ppc.tar.gz [21M]
2012-07-16 21:20:12 +03:00
Michael Shigorin
18f1a6360a bin/mktmpdir: grok NFS root
"df -l" is going to hurt (or at least spam) if it's a diskless node;
"df -P" helps maintain output parseability.  So be it.
2012-07-16 21:19:06 +03:00
Michael Shigorin
809ae4d9e8 live-builder: minor fixes
su wasn't making it into the image breaking ~/.git setup,
and there's no reason for a full default boot timeout either.
2012-07-16 18:24:18 +03:00
Michael Shigorin
24edc620d8 prep optimization
There was some extra duplication, just clean it up.
2012-07-16 18:24:18 +03:00
Michael Shigorin
d31a2555bd non-native ARM support via qemu
mkimage and hasher can make use of qemu to run
non-native binaries while working on the chroots;
thanks kas@, manowar@ and sbolshakov@ for implementing
this functionality as well as providing nice examples
through mkimage-profiles-arm and mkimage-profile-armrootfs.

This required the architecture check to be added since baking
a tarball with "arm" as its specified arch and x86_64 inside
isn't particularly good thing to let slip through; however
the implementation is quite fragile, bugreports and patches
are seriously welcome.

NB: APTCONF evaluation order between lazy make and nimble shell
turned out to be quite a delicate issue in this particular case.
2012-07-16 18:20:55 +03:00
Michael Shigorin
03ba4631f6 gear-store-tags 2012-07-09 23:47:49 +03:00
Michael Shigorin
49eb551fef 0.7.3-alt1
- arm builds
2012-07-09 23:46:49 +03:00
Michael Shigorin
3c26cc869d initial native ARM support
The only thing to be fixed was setarch(8) symlinks assumption
that is correct for x86 but not for ARM.

There's also some hasher(7) setup to be done:

  mkdir -p ~/.hasher
  echo >> ~/.hasher/config <<-EOF
  def_target=arm
  #cache_dir=$HOME/tmp	# depends on RAM/storage configuration
  EOF

...and of course apt(8) should be properly set up too.

An example PoC build on a CM-A510 board (tmpfs):

  $ make BRANDING=altlinux-centaurus ve/bare.tar.gz
  ** ARCH: arm
  18:10:45 initializing BUILDDIR: build/
  18:10:45 preparing distro config: build/distcfg.mk
  18:10:46 starting image build: tail -f build/build.log
  18:14:49 done (4:02)
  ** image: $TMP/out/bare-20120706-arm.tar.gz [23M]
2012-07-09 21:32:54 +03:00
Michael Shigorin
698c5e314a Makefile: drop noise when no config is found
~/.mkimage/profiles.mk is useful but not requisite by any margin;
no need to make noise trying to make it either.
2012-07-09 21:31:37 +03:00
Michael Shigorin
7683532ea2 lib/kernel.mk: single byte bugfix
Whoops, an overlooked character didn't bring too many
things down but was a BUG indeed :-/
2012-07-06 18:52:46 +03:00
Michael Shigorin
cf21fd4298 gear-store-tags 2012-07-02 16:19:06 +03:00
Michael Shigorin
b4560c7aee 0.7.2-alt1
- simply fixes
2012-07-02 16:17:22 +03:00
Michael Shigorin
bdb2ac05f8 50-setup-network: spelling fixes
It's not DHCP we're configuring but rather eth0.
(no need for trailing space either)
2012-07-02 16:14:34 +03:00
Michael Shigorin
cb55a89365 desktop.mk: use Croscore Arimo for most installers
The very basic bitmap fonts that were left in back a year ago
aren't particularly modern (even if they are somewhat elegant
and resource sparing which was the goal at that time).

So let's allow for something slightly prettier,
like Croscore Arimo kindly prepared by Steve Matteson,
provided by Google, packaged by Fedora and imported by
Igor Vlasenko.

Here's the news item behind this commit:
http://lwn.net/Articles/502371/
2012-07-02 16:14:34 +03:00
Michael Shigorin
ee3bdb2954 README: whoops, temporary name persisted
As they say there's nothing more permanent
than a temporary... params.txt and pkglists.txt
were known as vars-build.txt and vars-conf.mk
in the midst of reworking, and part of that
tried to stick.
2012-07-02 16:14:34 +03:00
Michael Shigorin
e36792ac90 lib/functions.mk: initial xport()
A few too many downstream makefiles employed the pattern
of "export GLOBAL_VAR := $(VAR)"; macroize that.
2012-07-02 16:14:34 +03:00
Michael Shigorin
fcf41f2201 proxy CLEANUP_PACKAGES down
mkimage implementation requires that the variables
to be passed to the scripts are to be prefixed with
GLOBAL_ or INFO_ tags as appropriate; in this case
the upstream makefile didn't care to.
2012-07-02 16:14:23 +03:00
Michael Shigorin
0e9a873608 build-vm: avoid dummy raw2raw conversion
It's better to rather just move the raw image instead
of specifically converting it into the same, and there's
no need for qemu-img altogether then.

Let's drop the intermediate raw image after successful
conversion as well.
2012-06-30 13:21:28 +03:00
Mikhail Efremov
bf5fd3f54e features.in/live: Don't use nopasswdlogin group in all cases.
Use it only for gdm and lightdm and only if it is used
in a PAM config.
2012-06-29 16:54:32 +04:00
Mikhail Efremov
87847ba744 slinux: Use installer-distro-simply-linux. 2012-06-28 19:41:37 +04:00
Mikhail Efremov
52ee4a826c live: Replace etcnet-dhcp hook with setup-network.
Setup network settings:
1. Init /etc/hosts with "127.0.0.1 localhost"
2. Set hostname, domainname
3. Set defaults for NetworkManager or
   attempt to autoconfigure eth0 by etcnet.

Based on init3-network script from m-p-d.
2012-06-27 20:00:53 +04:00
Mikhail Efremov
b8ece7f7be slinux/xfce: Added local-time hook.
Set system time to local time.
2012-06-26 20:24:27 +04:00
Mikhail Efremov
42d7025a7f slinux/xfce: gnome-screensaver -> xscreensaver. 2012-06-26 18:48:03 +04:00
Michael Shigorin
bb811eeae8 gear-store-tags 2012-06-25 20:29:59 +03:00
Michael Shigorin
5c4cedb873 0.7.1-alt1
- vm improvements and assorted tweaks/fixes
2012-06-25 20:29:06 +03:00
Michael Shigorin
9ba93dff2d 35-xdg-user-dirs: cope with missing control
There's no reason to bail out if xdg-user-dirs control
facility is not available within the branch used.
2012-06-25 19:29:38 +03:00
Michael Shigorin
f8af1c9243 docs updated
Minor tweaks to toplevel docs as well as some doc/*.txt,
doc/variables.txt renamed to doc/params.txt, and a brand new
doc/pkglists.txt is added (thanks manowar@ for his considerations).
2012-06-25 19:29:38 +03:00
Michael Shigorin
aa0f5c94e4 05live.cfg: drop "splash" by default
It's configured by plymouth feature when needed;
install2 bootargs support is generalized a bit
to become stage2 one as was intended anyways.
2012-06-25 19:29:38 +03:00
Michael Shigorin
83b7ca6982 live.mk: added live-webkiosk-flash
This one was requested by Andrew Churashev; please note
that the image in use must contain recent flash plugin
so that at least the already known vulnerabilities are
more or less plugged in it... and Sun Java plugin isn't
going to get secure either.
2012-06-25 19:29:38 +03:00
Michael Shigorin
09be84beee initial vm-{net,ssh} features
A virtual machine isn't very useful if there are no means
to access it; let's bring up the basic networking and provide
root SSH access via pre-existing public key.

As the remote access with known default credentials is roughly
equivalent to just lending one's VMs to anyone with network
access to it, the fallback root password is now exterminated;
you have to provide one (or a long enough random string
if you plan to use keys only, see e.g. apg utility).
2012-06-25 19:29:38 +03:00
Michael Shigorin
3f21b6b01c factor out openssh packages
There's no need to repeat the typical openssh-* triade
all over the place; those who need server and client
are better off pulling in "openssh" pkglist, and those
needing a particular package should specify it.
2012-06-25 19:29:38 +03:00
Michael Shigorin
b24bd31f45 build-vm: 06syslog should differ from VE's one
There's no need to disable console as it's emulated too,
and it still can be helpful or just convenient.
2012-06-25 19:29:38 +03:00
Michael Shigorin
11d4f4062e vm feature renamed to vmguest
The "vm" name became a bit confusing with the introduction
of build-vm feature; let's call this one "vmguest" until we do
hierarchical (sub)features.
2012-06-25 19:29:38 +03:00
Michael Shigorin
e355bd7ce9 bashize tar2vm
Finally tired of expr(1) quirks,
and even ash(1) does $((arithmetic-expansion))!
2012-06-25 19:29:38 +03:00
Michael Shigorin
0a5f164d65 cleanup, build-vm: mutual support
It appears that reusing installer-feature-*-stage3 packages
is perfectly fine with VM images; these just need to be removed
after the package scripts they carry have worked out.
2012-06-25 19:29:38 +03:00
Michael Shigorin
8a04d9b656 initial specific VM formats support
Raw disk images are convenient and universal
but there are custom formats like Qemu's qcow2
providing additional features, e.g. copy-on-write
or space savings.  All of this ultimately belongs
to mkimage but in the mean time has been implemented
here as well.
2012-06-25 19:29:38 +03:00
Michael Shigorin
90be07fbf8 initial conf.d/vm.mk
After we have built a bare virtual machine image successfully
some variations are due, and these are to be described here.
2012-06-25 19:29:38 +03:00
Michael Shigorin
72fc74d142 x11: use stage3 variations for THE_PACKAGES
installer-feature-no-xconsole depends on stage2 bits and is
NOT intended for installed/live systems at all; let's move
to the proper stage3 based one.
2012-06-25 19:29:38 +03:00
Michael Shigorin
f6462700ca README: single-byte bugfix
Was mentioning REPORTS while the variable name is REPORT.
2012-06-25 19:29:38 +03:00
Mikhail Efremov
bc4277ffe1 systemd: Add 20-systemd-locale hook on live.
Don't allow systemd to set LANG for all processes.
See ALT#27408 for details.
2012-06-22 15:38:00 +04:00
Mikhail Efremov
6c018082d6 live: Add 35-xdg-user-dirs hook.
Turn on xdg-user-dirs by default.
2012-06-21 20:55:02 +04:00
Mikhail Efremov
9addba0c9d live: Fixed 30-users hook.
Workaround for ALT#13213.
2012-06-21 20:06:22 +04:00
Mikhail Efremov
1a7940c86f Change link to the image format.
$(IMAGE_NAME).$(IMAGE_TYPE) -> $(IMAGE_NAME)-latest-$(ARCH).$(IMAGE_TYPE)
2012-06-21 17:12:27 +04:00
Mikhail Efremov
9bd853e88c Add LIBDIR variable.
Allow to put the log files and reports in a custom directory instead
of IMIGEDIR.
2012-06-21 17:11:02 +04:00
Michael Shigorin
fc716ec048 gear-store-tags 2012-06-18 21:58:42 +03:00
Michael Shigorin
4de50be84c 0.7.0-alt1
- new features:
  + initial build-vm
  + plymouth
2012-06-18 21:56:46 +03:00
Michael Shigorin
75f7c62bd1 initial build-vm feature
Yes, mkimage-profiles is now able to build VM disk images.
So far the support is pretty basic:

- a single hard drive image with a single partition/FS
- only stock root password is configurable
- LILO is hardwired as a bootloader

The resulting images tend to boot under qemu/kvm though.

Please see doc/vm.txt for the warning regarding additional
privileges and setup required.  This was started back in
February but I still hoped to avoid sudo/privileged helper
(and libguestfs is almost as undistributable as can be)...

Thanks:

- http://blog.quinthar.com/2008/07/building-1gb-bootable-qemu-image-using.html
- Alexey Morarash who reworked that as https://github.com/tuxofil/linsygen
- led@, legion@, vitty@, aen@ for providing advice and inspiration
2012-06-18 21:56:46 +03:00
Michael Shigorin
6ab9a3550b live-mate.iso: move to nodm
autologin won't register a consolekit session, and gnomes
are too greedy regarding sessions to let us go unmolested...

This particular image isn't production ready when built on
current Sisyphus yet due to unresolved NM/dbus problems
but I decided to at least archive the reached state.
2012-06-18 20:58:11 +03:00
Michael Shigorin
59c1bf9705 initial nodm autologin support
This one is contributed by Max Kosmach and somewhat
streamlined/tweaked by me; a part of it rather belongs to
nodm and xinitrc packages but is not exactly trivial to get it
there due to the looming systemd-logind/consolekit disaster;
see also #27449.

Several hacks to make NetworkManager usable in a LiveCD environment
are there too (but it resists so far).
2012-06-18 20:57:46 +03:00
Michael Shigorin
743bc279b1 initial live-mate
The second shot at an image worked out;
MATE packages are not in Sisyphus yet, use

rpm http://autoimports.altlinux.org/pub/ALTLinux/autoimports/Sisyphus $ARCH autoimports
rpm http://autoimports.altlinux.org/pub/ALTLinux/autoimports/Sisyphus noarch autoimports
2012-06-18 20:55:53 +03:00
Michael Shigorin
d565196878 live-tde += plymouth, use/live/install
These tweaks were suggested by rom_as@
based on his continued m-p-d work.

distro/.live-desktop also changed to depend
on use/plymouth/live
2012-06-18 20:55:52 +03:00
62d2353c3e update server-systemd
(mike@: actually no sense to set both
KFLAVOURS and STAGE1_KFLAVOUR to the same value
since the latter is derived from the former)
2012-06-18 20:55:52 +03:00
Michael Shigorin
2935c44dbb syslinux: get rid of ^s with gfxboot
Keyboard accelerators rather make sense
with menu/vesamenu UI.
2012-06-18 20:55:52 +03:00
Michael Shigorin
07d812d7ff 99cleanupdb: drop silly apt purge attempt
Why would anyone try to remove apt when it's needed
for package dependency tracking for the installation,
it only takes a less cursory look at the build.log
to figure out it didn't actually happen anyways...
2012-06-18 20:55:38 +03:00
Michael Shigorin
8989fc2771 added plymouth feature
An initial draft of it was done half a year ago but several tricky
thingies had kept the code from showing up as it was rather brittle
and incomplete.

This implementation involves quite a few changes all over the place
but finally works good enough for live and installer images.

Please pay attention to the versions of these packages:
- installer-feature-setup-plymouth (0.3.2-alt1+)
- branding-altlinux-sisyphus (20110706-alt2+ if used)
- plymouth (0.8.3-alt20.git20110406+)

See also:
- http://www.altlinux.org/Branding
- http://www.altlinux.org/Plymouth
2012-06-14 17:15:24 +03:00
Michael Shigorin
804daaa16b gear-store-tags 2012-05-28 22:15:59 +03:00
Michael Shigorin
ebeb52b5da 0.6.8-alt1
- minor bugfixes
2012-05-28 22:13:50 +03:00
Michael Shigorin
5c3d58b8e4 desktop: add glibc-locales, essentially
The more or less basic desktop appeared to lack
base locale support (starting with glibc-locales).
2012-05-26 15:10:20 +03:00
Michael Shigorin
860e20c62d lib/common.mk: avoid using uninitialized variables
It somehow managed to evade me that $(TMP) might be uninitialized;
definitely should be checked before stuffing into sed substitution
command.

NB: this could be done in pure make but my take was less readable.

Thanks shadowsbrother/gmail for hitting and reporting this.
2012-05-26 14:08:19 +03:00
Michael Shigorin
74e5734eae 80-make-initfs: optimize for newer make-initrd
legion@ implemented skipping depmod call, and that's several more
seconds for most of the images; let's shave these off if possible.
2012-05-25 16:55:54 +03:00
Michael Shigorin
3e7346f4e2 gear-store-tags 2012-05-21 21:30:37 +03:00
Michael Shigorin
128fc9d44d 0.6.7-alt1
- docs updates
2012-05-21 21:29:58 +03:00
Michael Shigorin
5dc8001a8a doc/features.txt: clarified the convention
It might be spottable but not immediately obvious that a feature
lives entirely in features.in/FEATURE and every target it provides
is described in the corresponding config.mk; thanks dkr@ for asking.
2012-05-21 21:04:00 +03:00
Michael Shigorin
8cc8d5ff36 doc/variables.txt: tweak CHECK description
It wasn't exactly obvious that the actual image build
isn't started with CHECK=1.
2012-05-21 21:04:00 +03:00
Michael Shigorin
d190e6ef1c Makefile: include ~/.mkimage/profile.mk as well
It appears that while splitting off main.mk we've lost
the ability to pass e.g. ARCHES via custom configuration;
thanks dkr@ for spotting this.
2012-05-21 21:04:00 +03:00
Michael Shigorin
9414bde4f5 added sub.in/{main,stage2}/lib/.gitignore
Whoops, forgot to feed placeholders for git to grok
the empty directories that are needed later...
2012-05-21 21:04:00 +03:00
Michael Shigorin
dc93c137d9 docs: more hints on features
It wasn't articulated clearly enough that features are strictly
incremental (while variables can be overridden).
2012-05-21 21:04:00 +03:00
Michael Shigorin
88481ecc81 live-razorqt: lightdm tweaks
lightdm-1.1+ handling had to be corrected
regarding the separate greeters.
2012-05-21 21:03:08 +03:00
Michael Shigorin
a304469699 vm: tweak virtualbox modules
virtualbox-addition modules need drm (see also #27344).
2012-05-16 15:17:57 +03:00
Michael Shigorin
695648f8b4 lib/check.mk: catch missing READMEs for features
`make check' is a bit more convenient than relying on my head...
2012-05-16 13:48:12 +03:00
Michael Shigorin
c42d635b55 features.in/{kernel,vm}: added READMEs
Shame on me, these shouldn't get forgotten in the first place.
2012-05-16 13:47:30 +03:00
Michael Shigorin
03f99d9ff2 gear-store-tags 2012-05-14 21:37:32 +03:00
Michael Shigorin
a4836609d9 0.6.6-alt1
- build helpers refactored
- initial frontend support
2012-05-14 20:48:21 +03:00
Michael Shigorin
d1922af0dd initial frontend support 2012-05-14 20:48:21 +03:00
Michael Shigorin
9eae9d7b15 lib/distro.mk: tiny ISO info tweak
udisks seem to pass up META_VOL_ID;
let's make it a bit more informative.
2012-05-10 21:19:32 +03:00
Michael Shigorin
8be6c2383d citramon: use proprietary 3d drivers
nouveau just didn't work out on a GF7100 at hand
(while nvidia did fine) as well as on a MX440.

Need more real hardware testing though.
2012-05-10 21:18:02 +03:00
Michael Shigorin
e6aa4eccd9 use/installer/kms
Just like livecd-install, graphical installer KMS support
looks better as an optional part of install2 feature.

Of course it's optional only if the release manager is fine
with VESA drivers and not KMS-requiring intel/radeon/nouveau;
thanks led@ for a confirmation just in case.
2012-05-10 21:18:02 +03:00
Michael Shigorin
6b0e583843 live: factored out installation options
After having added metadata dependency livecd-install
started to look more like a feature than like an intermediate
distribution target; so things were shuffled a bit that way.
2012-05-10 21:18:02 +03:00
Michael Shigorin
c83cc111a6 initial kernel and metadata features
This further refines the modular build by making
metadata being a clearly separated feature rather
than having to rely on runtime tests, and also by
moving the code which cares for kernel bits of base
installation (.base list) in a feature of its own.

There's more to it but let's get the ball rolling first.
2012-05-10 21:18:02 +03:00
Michael Shigorin
90930184f3 gear-store-tags 2012-05-07 23:12:29 +03:00
Michael Shigorin
57f7b70900 0.6.5-alt1
- branding feature
2012-05-07 23:11:59 +03:00
Michael Shigorin
c7f056412f branding: actually support installation
The initial work covered live images but missed an installer bit
(thus notes and slideshow were missing in install2) while forgetting
to put branding packages into base list (thus kindly making these
available for *manual* installation sometime after, ouch).
2012-05-07 22:06:16 +03:00
Michael Shigorin
a958b7450d simply: dvd refactoring 2012-05-06 21:58:25 +03:00
Gleb F-Malinovskiy
0d4181bee1 simply: trying to build simply-dvd 2012-05-06 19:27:53 +03:00
Gleb F-Malinovskiy
3e30ebdb4a simply: simplify 50services script 2012-05-06 19:27:50 +03:00
Gleb F-Malinovskiy
4e28b094e7 simply: support for lvm2 and raid in live 2012-05-06 19:27:45 +03:00
Michael Shigorin
71aac4587c initial live-enlightenment
E17 has a lil' bit too thorough setup sequence
for a LiveCD but hey it's worth it anyways :)
2012-05-06 19:17:10 +03:00
Michael Shigorin
efbecbe765 initial live-gimp
It's actually convenient to test new software (moreso stacks)
in a known clean isolated environment ;-)

Thanks "asd" at opennet for the motivation to do it all:
http://www.opennet.ru/openforum/vsluhforumID3/84402.html#109
2012-05-06 19:17:10 +03:00
Michael Shigorin
21325bb436 simply += localboot
It's a bit simpler to choose "boot from hdd"
than to eject a disk/ISO.

No need for the specific apt-conf either.
2012-05-06 19:17:10 +03:00
Michael Shigorin
d66d82943c server-ovz -= kernel-wifi
It doesn't really need WiFi support so far,
and when it does the feature should be done
properly (along with setup tools at least).
2012-05-06 19:17:10 +03:00
Michael Shigorin
ed9b394951 live: add variable debug target too
It was done in other stage2 mods already.
2012-05-06 19:17:10 +03:00
Michael Shigorin
454e7162f3 no build means *no* build (and less reports), really
It's hard to tell a successful build from a failed one
if downstream hides the exit code; it's useless to continue
a `for' loop if a pipe shoves that to a subshell; well it seems
that a bashism is worth a thousand quirks with extra fds here.
Minor regexp enhancements are also due.

reports.mk made a bit more resilient/prudent either.
2012-05-06 19:17:10 +03:00
Michael Shigorin
0439df3159 reports.mk: fixups and hardening
No need for .reports/ in toplevel directory even after build failure,
and a few more hasty hacking fixups are also due, shame on me.
2012-05-06 19:17:10 +03:00
Michael Shigorin
7d09fed79b simply: use/branding
NB: for the feature to work properly the chosen branding
package set should have proper Provides: and Conflicts:,
specifically it must explicitly conflict with the most
lexicographically cool package set around (these days
it's sisyphus-server-light).
2012-05-06 19:17:10 +03:00
Michael Shigorin
51f5b88062 initial branding feature
As duly noted by glebfm@, branding issues need more attention
by now since only stage1/install2 got some of it so far in this
regard.  Hence the dedicated feature comes to the rescue
(well no, it doesn't actually mess with rescue!).
2012-05-04 15:57:06 +03:00
Michael Shigorin
c20e820ac7 features.in: generalize lib/ handling
From now on, subprofiles can include the lib/*.mk
brought in by features just like image.in/ long did.
2012-04-25 14:31:26 +03:00
Michael Shigorin
57d31b9c94 initial `make check'
Thanks glebfm@ yet again :)
2012-04-24 11:11:04 +03:00
Michael Shigorin
1fc86f6e82 gear-store-tags 2012-04-23 23:53:10 +03:00
Michael Shigorin
e10d55d0ad 0.6.4-alt1
- simply better (tm)
2012-04-23 23:41:48 +03:00
Gleb Fotengauer-Malinovskiy
8c042fe775 add simply branding things 2012-04-23 23:35:43 +03:00
Gleb Fotengauer-Malinovskiy
5fc270f996 move simply to conf.d/simply.mk
There will be two types of Simply: DVD and Live versions.
2012-04-23 23:35:43 +03:00
Michael Shigorin
6e6f572b43 better output directory and results structuring
Following m-p-d, a more involved default output directory
structure is feasible now:

  ~/out/name/date/name-date-arch.type

instead of plain

  ~/out/name-date-arch.type

This particular behaviour can be achieved by passing
SORTDIR='$(IMAGE_NAME)/$(DATE)'; note the single quotes.

Reports are also saved in this resulting structure
albeit the place is still highly debatable.
2012-04-23 23:35:43 +03:00
Michael Shigorin
c692da6a06 reports.mk: cosmetic tweaks
REPORT_PATH comes from a makefile;
let's use corresponding notation.
2012-04-23 23:28:40 +03:00
Michael Shigorin
7221c53ccf Makefile: no build means no reports
Trying to extract reports for a failed build is a bad idea.
2012-04-23 23:28:32 +03:00
Michael Shigorin
aed6540702 conf.d/live.mk: dropped extra distro/live-simply-*
That's what command-line variables serve for
(without causing a combinatorial explosion) :)
2012-04-23 23:10:30 +03:00
Gleb Fotengauer-Malinovskiy
a83b7a17cb slinux hacking
- xfce-utils removed from Sisyphus
- apt-indicator needs gksu
- add slinux misc packages:
  + pm-utils
  + strace
- image-scripts.d/50services is a script which starts/stop some services
2012-04-23 23:10:30 +03:00
Gleb Fotengauer-Malinovskiy
3a4ba20a0f some fixes in slinux lists and configuration
use/slinux-live: in p6 slinux had install-dvd version too
lists/slinux/misc-dvd: user 3d-proprietary comes from use/x11/3d-proprietary
lists/slinux/misc-dvd:restore compiz
slinux: use/syslinux/localboot.cfg
2012-04-23 23:10:29 +03:00
Michael Shigorin
305e97d5a2 introduced lib/kernel.mk helper makefile
Sometimes it's desirable to provide the kernel supporting
maximal amount of RAM on the system; bad news is that x86
has a kludge named PAE, good news is that x86_64 doesn't
need it at all; but now we must be able to choose between
those.

BIGRAM will hold the flavour needed.
2012-04-23 23:10:29 +03:00
Michael Shigorin
6647e8996a reports.mk: fixed behaviour with no REPORT set
Toplevel Makefile is a bit optimistic regarding
calling reports.mk...
2012-04-23 23:10:29 +03:00
Michael Shigorin
6ada32dc91 reports.mk: added reports/scripts
This one extracts the exact time-ordered list of script hooks
run while building the image.

Some commons refactoring is also due.
2012-04-23 23:10:29 +03:00
Michael Shigorin
c66e8ae242 several features forgot to show up in FEATURES
This could harm the debug...
2012-04-23 23:10:29 +03:00
Michael Shigorin
674e1482ae live: added preliminary l10n support
The missing part so far is passing "lang=ab_CD" to the kernel;
it's done with gfxboot and is somewhat doable without it...
2012-04-23 23:10:29 +03:00
Michael Shigorin
600fc011cb live: added 03services hook
This script specifies the (excessive) lists of services
to be enabled and disabled explicitly; these are mostly based
on profiles/live/image-scripts.d/init3-services from m-p-d.

There might be systemd related pecularities though...
2012-04-23 23:10:29 +03:00
Michael Shigorin
f57759d6dc initial cinnamon support and livecd
Thanks slava@ for the packages and inspiration,
and aris@ for the useful advice and fixups.
2012-04-23 23:10:29 +03:00
Michael Shigorin
50bfea9d5c cleanup: *support* livecd-install
livecd-install support wasn't added properly;
fixed (thanks glebfm@ yet again).

Something like fine-grained KEEP_* might be due...
2012-04-23 23:10:29 +03:00
Michael Shigorin
d0a8ea6ba8 85cleanup-legacy: less cruel one
The early version considered ISO and KOI encoding families
as obsolete; the current one is a bit more wise and knows
these are just /rare/.  Thanks glebfm@ for #27168 research
and cinnamon by slava@ for ISO-related noises at startup.
2012-04-23 23:10:29 +03:00
Michael Shigorin
dc3002560a conf.d/server.mk: dropped wifi kernel modules
There's no real reason to keep bcmwl and ndiswrapper
around exclusively as the currently available support
vastly takes over the early attempts at the task.

(it's not about bare firmware though, and some day
something like use/hardware/wireless should get in)
2012-04-23 23:10:24 +03:00
Michael Shigorin
4858791145 virtualbox feature renamed to vm, extended
Initial SPICE support has been added for kvm/libvirt installation
and boot-up using qxl and spice by default as proposed by shaba@.

VirtualBox part is shifted a level deeper correspondingly
but otherwise stays the same.
2012-04-18 21:04:11 +03:00
Michael Shigorin
03de0aabac conf.d/live.mk: distro/live-simply
It is actually an effort by glebfm@ to create an experimental
systemd-based Simply Linux LiveCD; I merely reviewed the original
diff, moved kernel related bits to firmware (see preceding commits)
and introduced a dedicated pkglist namespace by creating a directory.
2012-04-11 16:21:08 +03:00
Michael Shigorin
8576a1655b bin/pkgdups: now with a UI frontend
Calling ../../bin/pkgdups with a bunch of pkglists was messy,
so is done algorithmically from now on while in pkg.in/lists:

  make pkgdups
2012-04-10 23:39:53 +04:00
Michael Shigorin
865f4c7614 firmware: mv {MAIN,THE}_PACKAGES
THE_PACKAGES_REGEXP is in place, let's rebase firmware packages
so these would be available in LiveCDs either.

The news for systems being installed is that MAIN_* is optional
while THE_* is included in base system; firmware packages tend
to be pretty tiny and harmless.

kernel-wifi pkglist has absolutely no sense by now, hence purged;
firmware-rt* and firmware-i2400m are merged into firmware-linux.
2012-04-10 23:39:53 +04:00
Michael Shigorin
86c42e2db6 implemented {THE,BASE,LIVE}_PACKAGES_REGEXP
There were STAGE1_PACKAGES_REGEXP and MAIN_PACKAGES_REGEXP
but adding more of those was postponed to avoid bloat and
bitrot; THE_PACKAGES_REGEXP is needed for use/firmware now
and looks like BASE_PACKAGES_REGEXP and LIVE_PACKAGES_REGEXP
will be useful before too long either.

Docs updated to include stage-specific package related vatiables.
2012-04-10 23:39:53 +04:00
Michael Shigorin
a6cc9fa8c3 lib/build.mk: tweaked wreckage filter
A pretty common issue breaking the image build is inter-package
file conflict resulting in hsh-install failure down there.
Let's bring that back to attention conveniently.
2012-04-10 23:39:53 +04:00
Michael Shigorin
780acc8e6b gear-store-tags 2012-04-09 23:02:24 +03:00
Michael Shigorin
d190759717 0.6.3-alt1
- massive squashfs tuning
2012-04-09 22:44:11 +03:00
Gleb Fotengauer-Malinovskiy
1432bb1607 add dummy distro/livecd-install
sub.in/stage2/image-scripts.d/99cleanup-boot,
livecd-install need /boot files too
2012-04-09 22:44:11 +03:00
Michael Shigorin
f4519332e9 READMEs: pkglist related clarification
glebfm@ asked what to do with new package lists: whether these
belong to features, or to distributions themselves.  This question
is actually open and up for discussion but there are guidelines
that can and should be written down already; and so they were.

Added pkgdups utility reference as well.
2012-04-09 22:21:10 +03:00
Michael Shigorin
acaf12c34e doc/variables.txt: ARCHES explained
Multiple ARCHES won't just magically work without
the ability to figure out the correct apt.conf;
fortunately there's just the right example handy
in profiles.mk.sample already.

Thanks glebfm@ for feedback.
2012-04-09 22:08:00 +03:00
Michael Shigorin
8d16069882 stage2: squashfs blocksize tweaks
Looks like the 128k default block size is pretty well chosen:
it saves ~6% of image size compared to 64k, and subsequent
differences are ~3% per doubling the block size up to 1M
(thanks led@ for carrying out the tests).

So we'll stick with 256k for "normal" xz compression (inodes
uncompressed) and get 512k back for "tight" one (compressed).
The runtime performance issues are to be examined yet when
bootchart or the like is deployed, nothing drastic though.

With "fast" (gzip/lzo) squash compression inodes go unmolested.

For the record, tight live-webkiosk builds as 95M image in 3:40,
and tight live-flightgear.iso builds as 669M image in 6:34.  Nice.

There's no much sense going for 1M block size: e.g. live-webkiosk
would drop to 93M (3:46) but its load time would increase up to
2:07 as compared to 1:48 for -b 524288 and 1:42 for -b 262144 -noI
on a Duron 500/512M system given the very same DVD+RW media.
2012-04-09 22:03:29 +03:00
Michael Shigorin
931d23e86c reports.mk: handle missing gra{phviz,cefully}
If there's no dot(1) then its input file should just be stored;
thanks glebfm@ for reminding about this.
2012-04-09 22:03:29 +03:00
Michael Shigorin
6fee43e9cb live: tweak autologin warning
Should be removed when console autologin is there
(mind the live-builder).
2012-04-09 22:03:29 +03:00
Michael Shigorin
fe58c46ead stage2: tunable squashfs compression
The existing implementation would handle kernel differences
just fine but a bit too automatically: if it sees xz support,
that's what will end up being used (and if there's -Xbcj binary
compression filter available for the target platform, it will
be applied unequivocally either).

It's perfectly suitabe for getting fine-tuned release images
but is also a bit too resource-consuming while developing the
image configuration which has no business with its compression.

The one and only knob is SQUASHFS (see doc/variables.txt);
to give an idea of the differences, here are some numbers
for a mostly-binary (43% as per 99-elf-stats) webkiosk livecd
and a rather less so (18%) flightgear one on a dual quad-core
X5570 node (each mksquashfs run used up all the cores):

SQUASHFS | live-webkiosk.iso | live-flightgear.iso
---------+-------------------+---------------------
fast     | 3:30 / 130M       | 5:11 / 852M
normal * | 3:37 / 100M       | 5:35 / 688M
tight    | 3:50 / 98M        | 6:47 / 683M

Thus if the knob isn't fiddled with, the defaults will allow
for a reasonably fast build of a pretty slim image; if one is
building a release or if a particular image is very sensitive
being close to the media capacity then just add SQUASHFS=tight
and see it a percent or two down on size.

Please note that lzo/gzip-compressed images are also quicker
to uncompress thus further helping with test iterations.

Thanks to led@ and glebfm@ for helpful hints and questions.
2012-04-09 22:03:29 +03:00
Michael Shigorin
0cc20d107d power: apm += lphdisk
APM enabled notebooks would usually hibernate to
a partition of special type and special format;
thus to make use of this APM BIOS feature folks
might need a corresponding formatter.
2012-04-09 22:03:29 +03:00
Michael Shigorin
c2996cc493 stage2: 99-elf-stats for squashfs tuning
This kind of test was proposed by led@ to gather statistics
on chroot's contents going to become squashfs (the script
optimizations lowering added overhead from ~10 sec down
to a subsecond range were also proposed by him).

Intentionally not documented in doc/variables.txt due to
the rather lowlevel nature of the probe (at least so far).

The knobs involved are SQUASHFS (the additional effort kicks
in only for "tight" case) and GLOBAL_SQUASHFS_SORT (must be
non-empty for this extra overhead to occur).

Additional experimentation is needed to find out whether
the difference in squashfs size and performance is worth
the trouble (seems the impact is non-zero but pretty minor).
2012-04-09 22:03:29 +03:00
Michael Shigorin
94b2052bfb stage1: halve squashfs block size
gns@ has 512k, led@ suggests that it's too much a bit;
let's try 256k.
2012-04-07 15:46:03 +03:00
Michael Shigorin
665c70a444 use PATH instead of hardwired pathlets
bin/ prefix tried to become a permatemp(tm).  No way.
2012-04-07 15:45:40 +03:00
Michael Shigorin
68022a3222 conf.d/live.mk: add joystick calibration tools
Thanks Chernetsky Andrey for testing and suggesting it.
(NB: currently only t6 build is proper, see input-utils bugs)
2012-04-06 12:41:05 +03:00
Michael Shigorin
88050c9742 lib/log.mk: check hasher version
There is at least one known deficiency for mkimage-profiles:
build.log will be truncated if verbose mode is enabled and
hasher version is lower than 1.3.22.

The check is done here since it's where the logging is arranged,
and doing it in image.in/Makefile would result in the warning
about log-truncating software being truncated by the said software.

Thanks Max Kosmach for reporting this inobviousity.
2012-04-03 16:26:25 +03:00
Michael Shigorin
c6ee8861f4 gear-store-tags 2012-04-02 18:22:09 +03:00
Michael Shigorin
5347d342cc 0.6.2-alt1
- better live-webkiosk and initial live-flightgear
- cleanup, syslinux, xorg feature tweaks
2012-04-02 18:18:52 +03:00
Michael Shigorin
74d1e45a1c docs update
Status updates and readability tweaks all over the place.
2012-04-02 18:13:14 +03:00
Michael Shigorin
dccf9a58b5 conf.d/server.mk += server-nano
A very basic server image with sshd onboard for testing
and very basic installs; thanks legion@ for the query.
2012-04-02 17:16:27 +03:00
Michael Shigorin
9fd0bc143e more readable `make help', finally
The output was still somewhat ragged in 80x24 terminal window
with fmt(1) which wasn't anticipating the word length difference
subsequent column(1) would have to cope with later on.

Thanks Loic Cattani for his shell columnizer implementation:
https://github.com/Arko/Columnize
2012-04-02 17:16:27 +03:00
Michael Shigorin
4afd735adb live-flightgear.iso lacked sound
Thanks snejok@ for spotting the missing, I didn't get around
to tests with headphones...

Also fixed nouveau getting in after target shuffling,
and tweaked firefox homepage to be useful in this context.
2012-03-31 21:08:09 +03:00
Michael Shigorin
3d649db656 live: introduce homepage redirector knobs
There are three more variables to adjust the redirect page:
HOMEPAGE, HOMENAME and HOMEWAIT; e.g. live-webkiosk is now
quite a bit more whitelabel.
2012-03-31 21:08:09 +03:00
Michael Shigorin
b5e6906b56 syslinux configuration revisited
- incompatible change (to fix the rather broken early style):
  use/syslinux/ui-% is now use/syslinux/ui/%;

- default timeout changed to 9 seconds (long enough and keeps
  the countdown in a single figure);

- added totaltimeout of 300 seconds;

- provided live kiosk images with almost-instant boot by default;

...and some other assorted tweaks here and there, sorry.
2012-03-31 21:08:09 +03:00
Michael Shigorin
afd84973d9 live-webkiosk-mini.iso: 85M is enough
Thanks to a reviewer who came with useful feedback and a goal:
http://www.opennet.ru/openforum/vsluhforumID3/83728.html#136
the live-webkiosk image got forked into a separate one:

- dropped DRI, virtualbox GA, mc & co, docs, rpmdb;
- added Russian keyboard layout (ctrl+shift to toggle);
- rebased live-webkiosk onto live-webkiosk-mini ;-)

Maybe vbox guest additions will get back but rpmdb is a bit
impractical on a kiosk squashfs image, even in presence of
aufs rw overlay.
2012-03-31 21:08:09 +03:00
Michael Shigorin
b129c86ac1 xorg reorg
Now is the time for all fonts to be pulled in when needed and not
along with the X server and hardware drivers; tablet support is
moved to a (preexisting) specific target either.

There's no need now to arch-discriminate a few older drivers too.
2012-03-31 21:08:09 +03:00
Michael Shigorin
1b885b3d24 cleanup scripts rehashed
There's much reason for reuse instead of duplication
among the different stage2-based subprofiles.

In particular, the rather monolithic driver cleanup script
of the ancient is better done in several clear pieces with
the final depmod run.

Scripts dropping apt/rpm databases will dump pkglist first.

A script purging /boot/* will honour live-install if present.

Minor inno^Wfixups all over the map too.
2012-03-31 21:08:09 +03:00
Michael Shigorin
ea5ae29ada mind the aptitude
Folks asked to include aptitude in desktop user distros:
http://www.opennet.ru/openforum/vsluhforumID3/83728.html#117
2012-03-30 23:38:26 +03:00
Michael Shigorin
ece828c0dc image.in/Makefile: output image size too
Checking the image size is one of the usual things
after building it, and there's some media related
testing to be ported from m-p-d as well.
2012-03-29 16:30:05 +03:00
Michael Shigorin
50a0c66899 fix live-install image
Removing /boot stuff from the live root was a nice idea
to spare some space except that live-install depends on it...
2012-03-28 21:46:29 +03:00
Michael Shigorin
5ff765275b initial live-flightgear.iso
This one should help (erm... hope not the other way around!)
testing both 3D setup and FlightGear packages I happen to
maintain in a known clean environment.
2012-03-28 21:38:14 +03:00
Michael Shigorin
9555f1f69a enhanced 3D graphics support
The previous configuration would result in intel-only
3D being available since nouveau and radeon kernel modules
are packaged separately with most kernel-images; getting
NVIDIA/AMD drivers in is more tricky due to availability
of both proprietary and free implementations with the choice
being rather a tradeoff in each case (somewhat less so with
ATI/AMD drivers).

So this is a first shot at the problem: FlightGear would
freeze on me with today's nouveau.
2012-03-28 21:38:14 +03:00
Michael Shigorin
87502d2a4a live-tde += ru
This is actually a band-aid until decent l10n is there...
2012-03-28 21:37:11 +03:00
Michael Shigorin
d39b0b984a live index.html: fix typo
The <html> tag wasn't closed but actually duplicated;
thanks Aleksey Ilchenko for spotting.
2012-03-27 11:30:50 +03:00
Michael Shigorin
587eac45ec tweak the fatal errorlevel
127 is also returned by dot(1), and we're toasted
if unable to create $(BUILDDIR).
2012-03-27 08:36:23 +03:00
Michael Shigorin
d6e899d129 gear-store-tags 2012-03-26 23:24:24 +03:00
Michael Shigorin
edfdeca311 0.6.1-alt1
- ISO9660 metadata support
- initial alien VE image
2012-03-26 23:23:30 +03:00
Michael Shigorin
b6e640bd8d slimmer webkiosk with Russian layout
Thanks someone for review and feedback:
http://www.opennet.ru/openforum/vsluhforumID3/83728.html#136

Better cleanup and i18n controls are due but in the meantime,
let's at least build something actually useful.
2012-03-26 23:17:41 +03:00
Michael Shigorin
0c41e39ec0 initial alien image support
"Alien" rather means "CentOS-based" than "xenophilic" here;
in case you still wonder: http://www.altlinux.org/Hasher/CentOS
2012-03-26 22:40:40 +03:00
Michael Shigorin
ed7bf0db9f initial ISO9660 metadata support
As was noted by Alexey Shabalin in libosinfo context,
current ALT Linux images tend to lack ISO9660 metadata
-- which they did have back in the day of Master 2.4.

Please note that the data collection occurs this way
due to mkimage's config.mk resetting the values to be
empty; this was worked around by using another config
file, $(BUILDDIR)lib/iso.mk, and including it later
but that would require a separate target with per-target
CONFIG variable which isn't elegant at all given the need
to actually build up the metadata set.

So the variables were changed (to be more readable anyways)
and then proxied back to BOOT_*.  This might be cleaned up
some day after the inclusion order is tweaked or mkimage
defaults get set-if-unset-yet (?=).
2012-03-26 22:23:28 +03:00
Michael Shigorin
17bd880e19 ve/generic += openssh suite
openssh-server is in need indeed on almost any server instance;
thanks Aleksey Cheusov for reporting the shortage.

This might be amended in the future but is reasonable right now.
2012-03-25 21:46:45 +03:00
Michael Shigorin
80090d1f1a minor tweaks (no functional changes)
Mostly multiline compactions, but also use/install2/net
got factored out from distro/server-ovz for future reuse.
2012-03-21 15:55:24 +02:00
Michael Shigorin
7ffd600076 gear-store-tags 2012-03-19 19:26:10 +02:00
Michael Shigorin
1b7ce25f10 0.6.0-alt1
- reports (targets graph)
2012-03-19 19:23:38 +02:00
Michael Shigorin
5dba27d011 main.mk: factored out help targets
These are better off in their own lib/help.mk
2012-03-19 19:23:38 +02:00
Michael Shigorin
79bb3f8d6e plant SHELL beacons into all config-forming rules
As noted in doc/assumptions.txt, the SHELL based target tracing
only works for rules with recipes, even empty but present ones.

The simplest thing to do is hooking "; @:" onto the rule's tail
(one-liner with a non-printing shell builting "true" command).
2012-03-19 19:23:38 +02:00
Michael Shigorin
788cad885e initial target tracing support and reporting
The purpose is being able to examine particular target interdependency
graph for a given image having been configured to avoid convoluted
dependencies (loops in particular).

The implementation is based on SHELL hook hint by John Graham-Cumming:
http://cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make
2012-03-19 19:23:38 +02:00
Michael Shigorin
a52b7476a4 initial "+shortcut" support and refactoring
It looks like the intermediate targets aren't all equal:
some define a finished feature while some create a common
lower level piece of configuration.

Let's do shortcuts for the former so that a distro line can be
more terse and descriptive; help targets in features.in/ tweaked
accordingly.
2012-03-19 13:14:07 +02:00
Michael Shigorin
deb63e0d63 gear-store-tags 2012-03-12 22:15:54 +02:00
Michael Shigorin
3f85ed2b19 0.5.7-alt1
- distro tweaks
2012-03-12 22:15:06 +02:00
Michael Shigorin
a07959e2f5 hide intermediate distro targets
There are pseudo-distro targets that are useful to combine
the needed bits and pieces for a few more different end-user
images but that are useless themselves (e.g. desktop-base
wouldn't even start X session before someone would have
installed a window manager).

Let's just hide these under the hood so that `make help',
`make everything' and potential frontends don't bother.
2012-03-12 22:07:18 +02:00
Michael Shigorin
af6b9940de initial TDE distros
A minimal live, tiny desktop system and a test LTSP installer;
all of these work.
2012-03-12 11:52:44 +02:00
Michael Shigorin
71f44090c5 initial TDE (KDE3 descendant) support
The package list taken from mkimage-profiles-desktop
and trimmed down due to current TDE packaging difference
as well as extras being defined elsewhere.
2012-03-12 11:52:44 +02:00
Michael Shigorin
872afb3c0c refactored base part from distro/ltsp-icewm
ltsp-icewm used to be the only ALTSP (testbed) distro over here
but now its terminal server part works good enough to seperate
it from the UI part.

A few additions to facilitate testing, tweaking and benchmarking:
iftop, openssh-server, mplayer
2012-03-12 11:49:48 +02:00
Michael Shigorin
191388d7cf tweak razor-qt extras list
ptbatterysystemtray is a bit annoying out-of-box,
should run only if battery found and should not
throw up a dialog upfront for no real reason.
2012-03-07 16:00:40 +02:00
Michael Shigorin
70f2a70fca conf.d/live.mk: autologin rehash
If we have a supported display manager, we should rather autoconfigure
that one for autologin instead of configuring autologin package:
those tend to play better with "modern" session management in terms
of runlevel control etc.

xdm doesn't really differ though.

TODO: maybe skip autologin *package* configuration if any dm found
in the live image-script?
2012-03-07 15:57:07 +02:00
Michael Shigorin
dc9b706619 features.in/live: implemented lightdm autologin
The main part is done as per
https://wiki.archlinux.org/index.php/LightDM#Enable_Autologin;
there's an issue that the lightdm developer insist that autologin
user belongs to "nopasswdlogin" group though.
2012-03-07 15:57:07 +02:00
Michael Shigorin
50c27a1782 ltsp += alsa-utils
alsamixer *is* useful :)
2012-03-07 14:21:57 +02:00
Michael Shigorin
3aaa45dd23 conf.d/live.mk: add firmware to all X11 livecds
GPU firmware might have been missing otherwise...
2012-03-05 18:16:46 +02:00
Michael Shigorin
a0af945d7f essentially added firefox to live-icewm
(via a specially crafted pkglist name)
2012-03-05 18:16:46 +02:00
Michael Shigorin
a681b4bd98 features.in/README: un-document tagged scripts
These are gone for now, this fix should have been done before.
2012-02-21 11:54:35 +02:00
Michael Shigorin
b7a395c012 gear-store-tags 2012-02-20 22:44:16 +02:00
Michael Shigorin
a8e70fd4e6 0.5.6-alt1
- minor fixups
2012-02-20 22:43:10 +02:00
Michael Shigorin
cff036c212 doc/assumptions.txt: specify minimal gmake version
From what I've read so far, most of the code should run on 3.80;
there seem to have been some bits that are dependent on 3.81
features, but there is not a bit that depends on 3.82+ features
so far.
2012-02-18 09:48:38 +02:00
Michael Shigorin
482e7bc9f3 features.in/x11: add lightdm support
It's preferred for Razor-qt's logout app to be able to turn
the system off or reboot it; xdm lacks consolekit support.

Thanks Alexander Sokoloff for the hint.
2012-02-17 12:11:11 +02:00
Michael Shigorin
e1ef65b410 live-razorqt: adapted for razor-qt 0.4.1 packages
The main package has been renamed from razorqt to razor-qt
to fit upstream brand better.
2012-02-16 13:42:42 +02:00
Michael Shigorin
a62cdfa69e 50-etcnet-dhcp: moved from dev to live feature
If there's an ethernet interface, a DHCP client, and these
can result in connectivity out-of-box, then it's rather
a feature for almost any LiveCD.

Thus the configuration script is moved from dev feature
to live one with the addition of dhcpcd/dhclient test.
This is asking for some more neat solution though...
2012-02-16 13:42:42 +02:00
Michael Shigorin
045ae269b2 updated ltsp pkglist
alterator-ltsconf needs further testing,
and aplay is handy for remote audio tests.
2012-02-14 20:25:12 +02:00
Michael Shigorin
345319805d 10bootloader: replace both grub and lilo
As it happens, I've stumbled upon a successfully built image
with alterator-grub in BASE and lilo in install2's installer-steps.
Of course the installer bailed out after dealing with packages :-/

Thanks Leo-sp50 for pointing out the (hopefully) right direction.
2012-02-09 17:47:10 +02:00
Michael Shigorin
9c6824ea57 grub by default in "production" targets
There's still an annoying problem (a race?) manifesting itself
as installer bailing out between packages installation and lilo
setup with X segfault in logs; while the culprit is not known yet,
let's avoid that for most images by moving the bootloader request
from the former "leaf" target (which noe became a "node") into an
experimental server-systemd one.

Thanks Leo-sp50 for bringing that to my attention again; see also
http://forum.russ2.com/index.php?showtopic=3310&pid=31364&st=0&#entry31364
2012-02-09 09:41:12 +02:00
Michael Shigorin
62ab13cc77 distro/installer related graph cleanup
As was duly noted by Leo-sp50, both server.mk and desktop.mk
duplicate a few bits layered over bare distro/installer which
happened to be both a dependency (thus should reduce redundancy)
and a "real distro" target (well, it doesn't just work yet, need
to provide networking and sources.list in install2 by hand).

Fixed by moving a "node" to distro/.installer along with typical
additions and leaving a bare installer as is by now; there's a
need to get it working at least for DHCP/ftp.altlinux.org case.
2012-02-09 09:33:39 +02:00
Michael Shigorin
4355f401db image.in/Makefile: introduced save-profile
From now on, non-empty SAVE_PROFILE variable will indicate
the need to carry the particular generated profile inside
the image built from it.

Thanks gns@ for this feature in liveflash.eeepc.
2012-02-07 22:21:33 +02:00
Michael Shigorin
3dd020338b "untag" install2 tagged scripts
So far the tagged scripts concept is too fragile,
and these were used unconditionally anyways.

features.in/Makefile is broken regarding copying
tagged scripts right now...
2012-02-07 22:19:17 +02:00
Michael Shigorin
402b6e080b pkg.in/lists/Makefile: fixed committing what's copied
Was broken during dot-base introduction
by wrong recipe split...
2012-02-06 21:49:31 +02:00
Michael Shigorin
ca67a20952 renamed base+server+disk pkglist to server+extra
This is to fit base/extra separation better
and to avoid lvm2 creeping into VE images.
2012-02-06 20:18:14 +02:00
Michael Shigorin
5c5c4a6a6b gear-store-tags 2012-02-06 17:10:41 +02:00
Michael Shigorin
0ad3c6b8bd 0.5.5-alt1
- live-related tweaks (including live.hooks support)
- terminal server and webkiosk images
2012-02-06 17:09:33 +02:00
Michael Shigorin
f044bdbc33 xorg: added xorg-dri-intel explicitly
xorg-drv-intel doesn't pull it in at the moment:
https://bugzilla.altlinux.org/25044
2012-02-06 13:14:35 +02:00
Michael Shigorin
202f473499 conf.d/live.mk: live-webkiosk += live.hooks
Rather convenient for native flash images but can also be
beneficial with usual ISO by editing one before burning it.
2012-02-06 12:58:20 +02:00
Michael Shigorin
97e1be6a31 features.in/live: introduced live.hooks support
The implementation builds upon liveflash.eeepc by gns@;
thanks <sol/codis.ru> who suggested adding it to live-webkiosk
2012-02-06 12:58:20 +02:00
Michael Shigorin
c39c100cdc conf.d/live.mk: initial live-webkiosk
This one starts up a Firefox session in kiosk mode
(there are several extensions, I find hsv@'s one
preferable) and tries to browse /image/index.html
which corresponds to index.html in the image root
(could be edited by means of e.g. isomaster).
2012-02-06 12:58:20 +02:00
Michael Shigorin
bc091ab919 conf.d/live.mk: factor commons into distro/.live-x11
It's rather unexpected that someone would do an X11 LiveCD
without user autologin -- but even if that's the case,
then this waypoint is just not used for it.
2012-02-06 12:58:20 +02:00
Michael Shigorin
8b39c4af27 lists/tagged/rescue+extra += chntpw
Thanks ildar@ for the reminder:
http://www.altlinux.org/Talk:ALT_Linux_5.0_Rescue
2012-02-06 12:58:20 +02:00
Michael Shigorin
6cd6a0ff0d features.in/bootloader: mind the make
Document the one-way nature of bootloader type switching.
2012-02-06 12:58:20 +02:00
Michael Shigorin
7a3ab55db4 image.in/Makefile: fixed thinko regression
MKI_VERSION was tested against even before the config.mk
that defines it got included.  Ouch.
2012-02-06 12:58:20 +02:00
Michael Shigorin
0c97aaf80b ltsp-icewm += firefox
That way it's at least marginally useful...
2012-02-06 12:58:20 +02:00
Michael Shigorin
01a03d037b features.in/ltsp: support x86_64 clients
Courtesy of prividen@, there's actual x86_64 client support in ALTSP.
Although led@ tells that it's i586 optimization that hurts on i686+
and should be replaced with either i486 or i686 for that matter...
2012-02-06 12:58:20 +02:00
Michael Shigorin
33fe8cbd1f initial ltsp feature
Sort of builds on current Sisyphus with ltsp-related packages
fixed up in a pocket but the latter are rather in need of some
proper face-lift.
2012-02-06 12:58:20 +02:00
Michael Shigorin
178a700e6e 03-test-kernel: tweak squashfs compression
A larger block size was recommended by led@;
gns@ seems to concur as the 512k value was borrowed
from liveflash.eeepc profile (along with -noI).

The other issue is with binary specific compressors:
x86 was clearly assumed while the data for an educated
guess are pretty handy.  Please note that using filters
incurs additional compression attempts for the utility
to choose the best result.
2012-01-18 23:33:29 +02:00
Michael Shigorin
3fcbed3378 features.in/live: added 90-cleanup-boot script
Spotted /boot/vmlinuz* in a live environment,
and wondered why waste a few megs of potentially
precious space...
2012-01-18 23:11:04 +02:00
Michael Shigorin
d9a0d305ee gear-store-tags 2012-01-16 22:38:37 +02:00
419 changed files with 6602 additions and 983 deletions

View File

@@ -1,23 +1,34 @@
Name: mkimage-profiles
Version: 0.5.4
Version: 1.1.11
Release: alt1
Summary: ALT Linux based distribution metaprofile
License: GPLv2+
Group: Development/Other
Url: http://www.altlinux.org/Mkimage/Profiles/m-p
Url: http://altlinux.org/m-p
Source: %name-%version.tar
Packager: Michael Shigorin <mike@altlinux.org>
BuildArch: noarch
BuildRequires: rsync asciidoc-a2x xmlgraphics-fop fonts-ttf-dejavu
BuildRequires: /proc
Requires: rsync git-core
Requires: time schedutils
Requires: mkimage >= 0.2.0
Requires: time schedutils sfdisk
Requires: mkimage >= 0.2.5
# Recommends: graphviz qemu-img
%define mpdir %_datadir/%name
%add_findreq_skiplist %mpdir/*.in/*
%define docs $HOME/docs
%package doc
Summary: %name documentation
Group: Development/Documentation
%description
mkimage-profiles is a collection of bits and pieces useful for
distributions construction: it contains package lists, features,
@@ -26,7 +37,7 @@ to choose from, and some ready-made image recipes as well.
Make no mistake: constructing distributions isn't just fun, it takes
a lot of passion and knowledge to produce a non-trivial one. So m-p
(the short nick for mkimage-profiles) is complex too. If you need
(the short alias for mkimage-profiles) is complex too. If you need
-- or want -- to make just a few tweaks to an existing recipe, it might
be easier to comprehend the generated profile (aka builddir) which
contains only the needed subprofiles, script hooks and package lists
@@ -37,17 +48,22 @@ Virtual environment template caches (OpenVZ/LXC) can be made either.
In short, setup hasher (http://en.altlinux.org/hasher) and here we go:
cd %mpdir
head README
make distro/syslinux.iso
make syslinux.iso
But if you're into regular distro hacking and are not afraid of make
and modest metaprogramming (some code generation and introspection),
welcome to the metaprofile itself; read the docs and get the git:
%url
%description doc
This package holds developer docs for %name
as a book in HTML and PDF formats.
%prep
%setup
%build
make BUILDDIR=%docs docs
%install
mkdir -p %buildroot%mpdir
@@ -55,10 +71,202 @@ cp -a * %buildroot%mpdir
%files
%mpdir/
%doc doc/
%doc README QUICKSTART
%files doc
%doc README
%doc QUICKSTART
%doc %docs/*
%changelog
* Mon Oct 14 2013 Michael Shigorin <mike@altlinux.org> 1.1.11-alt1
- luks better
* Mon Sep 30 2013 Michael Shigorin <mike@altlinux.org> 1.1.10-alt1
- regular tweaks
* Mon Sep 23 2013 Michael Shigorin <mike@altlinux.org> 1.1.9-alt1
- regular fixes
* Mon Sep 16 2013 Michael Shigorin <mike@altlinux.org> 1.1.8-alt1
- armh/p7/ve fixes
* Mon Aug 26 2013 Michael Shigorin <mike@altlinux.org> 1.1.7-alt1
- minor fixes
* Mon Aug 12 2013 Michael Shigorin <mike@altlinux.org> 1.1.6-alt1
- vm-net retired
* Mon Aug 05 2013 Michael Shigorin <mike@altlinux.org> 1.1.5-alt1
- armh related fixes
* Mon Jul 29 2013 Michael Shigorin <mike@altlinux.org> 1.1.4-alt1
- assorted fixups
* Mon Jul 22 2013 Michael Shigorin <mike@altlinux.org> 1.1.3-alt1
- armh fixes and tweaks
* Mon Jul 15 2013 Michael Shigorin <mike@altlinux.org> 1.1.2-alt1
- control and sound features
* Mon Jul 01 2013 Michael Shigorin <mike@altlinux.org> 1.1.1-alt1
- cuboxism
* Mon Jun 17 2013 Michael Shigorin <mike@altlinux.org> 1.1.0-alt1
- 1.1.x branch: public alpha development status
+ new subprofile: rootfs
+ new features: armh*, deflogin, init, services
+ refactored features: build-*, efi, fonts, live, x11*
+ tar2vm got rewritten as tar2fs, gained ARM support
- minor spec metadata update
* Mon Jun 17 2013 Michael Shigorin <mike@altlinux.org> 1.0.0-alt1
- 1.0
* Mon Jun 10 2013 Michael Shigorin <mike@altlinux.org> 0.9.16-alt1
- 1.0pre
* Mon May 27 2013 Michael Shigorin <mike@altlinux.org> 0.9.15-alt1
- +installer
* Mon May 20 2013 Michael Shigorin <mike@altlinux.org> 0.9.14-alt1
- more regular fixes
* Mon May 13 2013 Michael Shigorin <mike@altlinux.org> 0.9.13-alt1
- regular fixes
* Mon Apr 22 2013 Michael Shigorin <mike@altlinux.org> 0.9.12-alt1
- four weeks later...
* Mon Mar 25 2013 Michael Shigorin <mike@altlinux.org> 0.9.11-alt1
- persistent icewm
* Mon Mar 18 2013 Michael Shigorin <mike@altlinux.org> 0.9.10-alt1
- fonts: axios!
* Tue Feb 26 2013 Michael Shigorin <mike@altlinux.org> 0.9.9-alt1
- regular refactoring
* Tue Feb 19 2013 Michael Shigorin <mike@altlinux.org> 0.9.8.1-alt1
- works with make-initrd 0.8.1+ (see #28578)
* Mon Feb 18 2013 Michael Shigorin <mike@altlinux.org> 0.9.8-alt1
- live fixes/tweaks galore
* Mon Feb 11 2013 Michael Shigorin <mike@altlinux.org> 0.9.7-alt1
- going nightly
* Mon Feb 04 2013 Michael Shigorin <mike@altlinux.org> 0.9.6-alt1
- assorted fixes
* Mon Jan 21 2013 Michael Shigorin <mike@altlinux.org> 0.9.5-alt1
- homeros
* Mon Jan 14 2013 Michael Shigorin <mike@altlinux.org> 0.9.4-alt1
- restricted boot
* Mon Dec 31 2012 Michael Shigorin <mike@altlinux.org> 0.9.3-alt1
- regular images
* Mon Dec 17 2012 Michael Shigorin <mike@altlinux.org> 0.9.2-alt1
- enhanced uefi support
* Mon Dec 03 2012 Michael Shigorin <mike@altlinux.org> 0.9.1-alt1
- initial kde4 support
* Mon Nov 19 2012 Michael Shigorin <mike@altlinux.org> 0.9.0-alt1
- initial uefi, luks, armh support
- enhanced arm, gnome3/systemd, vm support
* Sun Nov 11 2012 Michael Shigorin <mike@altlinux.org> 0.8.7-alt1
- regressions--
* Mon Nov 05 2012 Michael Shigorin <mike@altlinux.org> 0.8.6-alt1
- docs subpackage (HTML/PDF book)
* Mon Oct 29 2012 Michael Shigorin <mike@altlinux.org> 0.8.5-alt1
- diffable logs
- AMD APU support
* Tue Oct 16 2012 Michael Shigorin <mike@altlinux.org> 0.8.4-alt1
- worked around enhancements in current make-initrd-propagator
(thus fixed live image boot, finally)
* Mon Oct 15 2012 Michael Shigorin <mike@altlinux.org> 0.8.3-alt1
- make-3.82 support
- fixed live image boot to some extent (see #27640, #27852)
* Mon Sep 24 2012 Michael Shigorin <mike@altlinux.org> 0.8.2-alt1
- fixed build with recent make-initrd-propagator
* Mon Sep 03 2012 Michael Shigorin <mike@altlinux.org> 0.8.1-alt1
- misc fixes
* Mon Aug 13 2012 Michael Shigorin <mike@altlinux.org> 0.8.0-alt1
- stage2@live
* Mon Aug 06 2012 Michael Shigorin <mike@altlinux.org> 0.7.6-alt1
- minor improvements
* Mon Jul 30 2012 Michael Shigorin <mike@altlinux.org> 0.7.5-alt1
- a bunch of fixups and cleanups
* Mon Jul 16 2012 Michael Shigorin <mike@altlinux.org> 0.7.4-alt1
- ppc builds
* Mon Jul 09 2012 Michael Shigorin <mike@altlinux.org> 0.7.3-alt1
- arm builds
* Mon Jul 02 2012 Michael Shigorin <mike@altlinux.org> 0.7.2-alt1
- simply fixes
* Mon Jun 25 2012 Michael Shigorin <mike@altlinux.org> 0.7.1-alt1
- vm improvements and assorted tweaks/fixes
* Mon Jun 18 2012 Michael Shigorin <mike@altlinux.org> 0.7.0-alt1
- new features:
+ initial build-vm
+ plymouth
* Mon May 28 2012 Michael Shigorin <mike@altlinux.org> 0.6.8-alt1
- minor bugfixes
* Mon May 21 2012 Michael Shigorin <mike@altlinux.org> 0.6.7-alt1
- docs updates
* Mon May 14 2012 Michael Shigorin <mike@altlinux.org> 0.6.6-alt1
- build helpers refactored
- initial frontend support
* Mon May 07 2012 Michael Shigorin <mike@altlinux.org> 0.6.5-alt1
- branding feature
* Mon Apr 23 2012 Michael Shigorin <mike@altlinux.org> 0.6.4-alt1
- simply better (tm)
* Mon Apr 09 2012 Michael Shigorin <mike@altlinux.org> 0.6.3-alt1
- massive squashfs tuning
* Mon Apr 02 2012 Michael Shigorin <mike@altlinux.org> 0.6.2-alt1
- better live-webkiosk and initial live-flightgear
- cleanup, syslinux, xorg feature tweaks
* Mon Mar 26 2012 Michael Shigorin <mike@altlinux.org> 0.6.1-alt1
- ISO9660 metadata support
- initial alien VE image
* Mon Mar 19 2012 Michael Shigorin <mike@altlinux.org> 0.6.0-alt1
- reports (targets graph)
* Mon Mar 12 2012 Michael Shigorin <mike@altlinux.org> 0.5.7-alt1
- distro tweaks
* Mon Feb 20 2012 Michael Shigorin <mike@altlinux.org> 0.5.6-alt1
- minor fixups
* Mon Feb 06 2012 Michael Shigorin <mike@altlinux.org> 0.5.5-alt1
- live-related tweaks (including live.hooks support)
- terminal server and webkiosk images
* Mon Jan 16 2012 Michael Shigorin <mike@altlinux.org> 0.5.4-alt1
- better diags for initial deployment

View File

@@ -0,0 +1,6 @@
object b4c7954db5017e87eb454ce3d24808d2c7a98d01
type commit
tag v1.1.10
tagger Michael Shigorin <mike@altlinux.org> 1380558365 +0400
regular tweaks

View File

@@ -1,6 +0,0 @@
object 672125b9e588b0a0bc6587680faf164da9f25af7
type commit
tag v0.5.3
tagger Michael Shigorin <mike@altlinux.org> 1325530888 +0200
main.mk

View File

@@ -1 +1 @@
4d92978230ee015e53f81c2f29f4ec40d8bcc822 v0.5.3
10a95494a4ac335ee2351f4e77aed250e92e651b v1.1.10

View File

@@ -1,38 +1,70 @@
# umbrella mkimage-profiles makefile:
# iterate over multiple goals/arches
# iterate over multiple goals/arches,
# collect proceedings
# preferences
-include $(HOME)/.mkimage/profiles.mk
# for immediate assignment
ifndef ARCH
ARCH := $(shell arch \
| sed 's/i686/i586/; s/armv7.*/armh/; s/armv.*/arm/; s/ppc.*/ppc/')
endif
# immediate assignment
ifndef ARCHES
ifdef ARCH
ARCHES := $(ARCH)
else
ARCHES := $(shell arch | sed 's/i686/i586/')
endif
export ARCHES ARCH
export PATH := $(CURDIR)/bin:$(PATH)
# supervise target tracing; leave stderr alone
ifdef REPORT
export REPORT_PATH := $(shell mktemp --tmpdir mkimage-profiles.report.XXXXXXX)
POSTPROC := | report-filter > $(REPORT_PATH)
endif
export ARCHES
# recursive make considered useful for m-p
MAKE += --no-print-directory
MAKE += -r --no-print-directory
.PHONY: clean distclean help
clean distclean help:
@$(MAKE) -f main.mk $@
DIRECT_TARGETS := help help/distro help/ve help/vm clean distclean check
.PHONY: $(DIRECT_TARGETS)
# these build nothing so no use of reports either
$(DIRECT_TARGETS):
@$(MAKE) -f main.mk REPORT= $@
export NUM_TARGETS := $(words $(MAKECMDGOALS))
# for pipefail
SHELL = /bin/bash
# don't even consider remaking a configuration file
.PHONY: $(HOME)/.mkimage/profiles.mk
# real targets need real work
%:
@n=1; \
set -o pipefail; \
say() { echo "$$@" >&2; }; \
if [ "$(NUM_TARGETS)" -gt 1 ]; then \
n="`echo $(MAKECMDGOALS) \
| tr '[[:space:]]' '\n' \
| grep -nx "$@" \
| cut -d: -f1`"; \
echo "** goal: $@ [$$n/$(NUM_TARGETS)]"; \
say "** goal: $@ [$$n/$(NUM_TARGETS)]"; \
fi; \
for ARCH in $(ARCHES); do \
if [ "$$ARCH" != "$(firstword $(ARCHES))" ]; then echo; fi; \
echo "** ARCH: $$ARCH"; \
$(MAKE) -f main.mk ARCH=$$ARCH $@; \
if [ "$$ARCH" != "$(firstword $(ARCHES))" ]; then say; fi; \
say "** ARCH: $$ARCH"; \
if $(MAKE) -f main.mk ARCH=$$ARCH $@ $(POSTPROC); then \
if [ -n "$$REPORT" ]; then \
$(MAKE) -f reports.mk ARCH=$$ARCH; \
fi; \
fi; \
done; \
if [ "$$n" -lt "$(NUM_TARGETS)" ]; then echo; fi
if [ "$$n" -lt "$(NUM_TARGETS)" ]; then say; fi
docs:
@$(MAKE) -C doc

View File

@@ -1,3 +1,6 @@
English quickstart: make syslinux.iso (after setting up
http://en.altlinux.org/Hasher; large tmpfs helps a lot).
требуется
~~~~~~~~~
- ALT Linux 6.0 или выше (возможна адаптация "вниз")
@@ -7,28 +10,44 @@
полезно
~~~~~~~
- смонтированный tmpfs на несколько гигабайт
+ например, в /tmp или /home/USER/hasher
+ каталог из prefix в /etc/hasher-priv/system
* например, в /tmp или /home/USER/hasher
* каталог из prefix в /etc/hasher-priv/system
- установленный git-core
- настроенный ~/.gitconfig
команды
~~~~~~~
- от имени root:
от имени root::
----
# apt-get install mkimage hasher git-core
# hasher-useradd USER
----
- от имени пользователя (после повторного входа):
от имени указанного пользователя (после повторного входа)::
----
$ git config --global user.email "my@email"
$ git config --global user.name "My Name"
$ mkdir ~/out
----
- тестовая сборка (см. тж. lib/distro.mk, doc/variables.txt):
$ make distro/icewm.iso
тестовая сборка::
----
$ make syslinux.iso
----
список доступных целей::
----
$ make help
----
переменные, влияющие на результат (подробнее в doc/params.txt)::
---
$ make ARCH=i586 APTCONF=~/apt/apt.conf.i586 REPORT=1 ve/generic.tar
---
ссылки
~~~~~~
- http://www.altlinux.org/tmpfs
- http://www.altlinux.org/hasher
- http://www.altlinux.org/mkimage
- http://www.altlinux.org/Mkimage/Profiles/m-p
- http://www.altlinux.org/m-p

99
README
View File

@@ -1,60 +1,77 @@
Welcome to mkimage-profiles!
== Welcome to m-p! ==
English quickstart: make distro/server-base.iso;
see http://en.altlinux.org/Hasher (and a large tmpfs).
*Brief summary*
Configurables: ~/.mkimage/profiles.mk;
see doc/profiles.mk.sample and libdistro.mk
Configurables: ~/.mkimage/profiles.mk;
see doc/params.txt and conf.d/README
License: GPLv2+, see COPYING.
License: GPLv2+, see COPYING
Most docs are in Russian, welcome to learn it or ask for English.
См. тж. http://www.altlinux.org/Mkimage/Profiles/m-p
Most docs are in Russian, welcome to learn it or ask for English.
Задача:
- конфигурирование и создание образов на базе ALT Linux
* конфигурирование и создание образов на базе ALT Linux
Концепция:
- конфигурация, как и образ -- объект постадийной сборки
- метапрофиль служит репозиторием для построения индивидуального
* конфигурация, как и образ -- объект постадийной сборки
* метапрофиль служит репозиторием для построения индивидуального
профиля, по которому создаётся итоговый образ
Особенности:
- метапрофиль может быть полностью read-only при сборке
- для сборки подыскивается предпочтительно tmpfs
- в профиль копируются только нужные объекты;
* метапрофиль может быть полностью read-only при сборке
* для сборки подыскивается предпочтительно tmpfs
* в профиль копируются только нужные объекты;
он автономен относительно метапрофиля
Стадии работы:
- инициализация сборочного профиля
- сборка конфигурации образа
- наполнение сборочного профиля
- сборка образа
* инициализация сборочного профиля
* сборка конфигурации образа
* наполнение сборочного профиля
* сборка образа
Объекты:
- дистрибутивы и виртуальные окружения:
+ описываются в conf.d/*.mk или соответственно lib/{distro,ve}.mk
+ могут основываться одно на другом
+ дистрибутивы также:
- включают один или более субпрофилей по надобности
+ желательно избегать множественного наследования, см. тж. фичи
- субпрофили:
+ список собирается в $(SUBPROFILES)
+ базовые комплекты помещены в подкаталогах под sub.in/;
их наборы скриптов могут расширяться фичами
- фичи:
+ список собирается в $(FEATURES)
+ законченные блоки функциональности (или наборы таковых)
+ описываются в индивидуальных features.in/*/config.mk
+ могут требовать другие фичи, а также субпрофили
+ при сборке $(BUILDDIR) содержимое фич добавляется в профиль
- списки пакетов (*_LISTS):
+ просьба по возможности избегать дублирования
- индивидуальные пакеты (*_PACKAGES): см. тж. conf.d/README
* дистрибутивы и виртуальные среды/машины:
** описываются в conf.d/*.mk или соответственно lib/{distro,ve,vm}.mk
** могут основываться на предшественниках, расширяя их
** дистрибутивы также:
*** включают один или более субпрофилей по надобности
** желательно избегать множественного наследования, см. тж. фичи
* субпрофили:
** список собирается в $(SUBPROFILES)
** базовые комплекты помещены в подкаталогах под sub.in/;
их наборы скриптов могут расширяться фичами
* фичи:
** законченные блоки функциональности (или наборы таковых)
** описываются в индивидуальных features.in/*/config.mk
** могут требовать другие фичи, а также субпрофили
** накопительный список собирается в $(FEATURES)
** при сборке $(BUILDDIR) содержимое фич добавляется в профиль
* списки пакетов (*_LISTS):
** просьба по возможности избегать дублирования (см. bin/pkgdups)
* индивидуальные пакеты (*_PACKAGES): см. тж. conf.d/README
Результат:
- при успешном завершении сборки образ называется по имени цели
* при успешном завершении сборки образ называется по имени цели
и укладывается в $(IMAGEDIR):
+ указанный явно,
+ либо ~/out/ (если возможно),
+ или $(BUILDDIR)/out/ иначе
** указанный явно,
** либо ~/out/ (если возможно),
** или $(BUILDDIR)/out/ иначе
* формируются отчёты, если запрошены (REPORT)
См. тж.:
* http://altlinux.org/m-p
* doc/:
** params.txt: переменные, указываемые при запуске сборки
** pkglists.txt: формирование состава образа
** features.txt: обзор подключаемых особенностей
Удачи; что не так -- пишите.
Michael Shigorin <mike@altlinux.org>

36
bin/columnize Executable file
View File

@@ -0,0 +1,36 @@
#!/bin/bash
# columnize.sh
# Take a list of values and output them in a nicely formatted column view.
# Author: Loïc Cattani "Arko" <loic cattani at gmail com>
# https://github.com/Arko/Columnize
values=($*)
longest_value=0
# Find the longest value
for value in ${values[@]}; do
if [[ ${#value} -gt $longest_value ]]; then
longest_value=${#value}
fi
done
# Compute column span
term_width=${COLUMNS:-$(tput cols)}
(( columns = $term_width / ($longest_value + 2) ))
# Print values with pretty column width
curr_col=0
for value in ${values[@]}; do
value_len=${#value}
echo -n $value
(( spaces_missing = $longest_value - $value_len + 2 ))
printf "%*s" $spaces_missing
(( curr_col++ ))
if [[ $curr_col == $columns ]]; then
echo
curr_col=0
fi
done
# Make sure there is a newline at the end
if [[ $curr_col != 0 ]]; then echo; fi

View File

@@ -12,7 +12,7 @@ try_source() { [ -f "$1" ] && . "$1"; }
# hasher accepted ones
get_prefices()
{
try_source /etc/hasher-priv/system
try_source /etc/hasher-priv/system || exit 1
try_source `/usr/libexec/hasher-priv/getconf.sh`
echo "$prefix" | tr ':' '\n' | while read i; do realpath "$i"; done
}
@@ -43,7 +43,7 @@ choose_tmpdir() {
for i in "$@"; do
[ -d "$i" -a -w "$i" ] || continue
echo -n "$i "
df -Tl "$i" | tail -1
df -PT "$i" | tail -1
done \
| sort -unk6 \
| while read dir dev fstype size used free percent mnt; do
@@ -61,19 +61,19 @@ choose_tmpdir() {
# bringing it all together
TMPDIRS="`contemplate_dirs $DIRS`"
if [ -z "$TMPDIRS" ]; then
echo "error: no suitable directories found;" >&2
echo "please check docs, filesystem and hasher setup" >&2
echo "(mount enough tmpfs into /tmp or fix hasher-priv prefix?)" >&2
echo "error: no suitable directories found;"
echo "please check QUICKSTART, filesystem and hasher setup"
echo "(mount enough tmpfs into /tmp or fix hasher-priv prefix?)"
exit 1
fi
fi >&2
TEMP="`choose_tmpdir $TMPDIRS`"
if [ -z "$TEMP" ]; then
echo "error: no suitable directories found;" >&2
echo "please check hasher docs and filesystem setup" >&2
echo "(nodev and/or noexec on an otherwise suitable filesystem?)" >&2
echo "error: no suitable directories found;"
echo "please check hasher docs and filesystem setup"
echo "(nodev and/or noexec on an otherwise suitable filesystem?)"
exit 1
fi
fi >&2
DIR="$TEMP/`dirname "$1"`"
NAME="`basename "${1:-tmpdir}"`"

27
bin/mp-commit Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/sh
# commit the directory ($1) with a message ($2) to git
. shell-error
INIT=
if [ "$1" = "-i" ]; then
INIT=yes
shift
fi
[ -d "$1" ] || fatal "$1 is not an existing directory"
if type -t git >&/dev/null && pushd "$1" >/dev/null; then
if [ -z "$(git config --global user.name)" ]; then
exit 0
fi
if [ -n "$INIT" -a ! -d .git ]; then
git init -q || fatal "git init failed"
fi
if [ -n "$(git status -s)" ]; then
git add . \
&& git commit -qam "$2" \
|| fatal "git add/commit failed"
fi
popd >/dev/null
fi

11
bin/mp-showref Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/sh
# report on git repo in the current directory
if type -t git >&/dev/null; then
if pushd "$1" >/dev/null && [ -d .git ]; then
git show-ref --head -ds -- HEAD
git status -s
echo
popd >/dev/null
fi
fi

4
bin/report-filter Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
# filter worker make stdout for report scripts
grep '^trace:building ' | uniq

33
bin/report-targets Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/sh
echo "digraph {"
echo " { node [fontname=Helvetica,fontsize=20];"
while read first second third rest; do
FROM=; TO=
case "$first" in
"trace:building")
case "$third" in
"->")
FROM="$second"; TO="$rest";;
*)
continue;;
esac
;;
*)
continue;;
esac
[ -n "$FROM" -a -n "$TO" ] || continue
for to in $TO; do
out=" \"$FROM\" -> \"$to\""
case $to in
*distro/*|*vm/*)
echo "$out [weight=10];";;
*)
echo "$out";;
esac
done
done
echo " }"
echo "}"

52
bin/report-targets2vars Executable file
View File

@@ -0,0 +1,52 @@
#!/bin/sh
DISTCFG=build/distcfg.mk
[ -s "$DISTCFG" ] || exit 1
VARIABLES=
echo "graph { rankdir=LR;"
echo " { node [height=.1,width=.3,fontname=Helvetica,fontsize=10];"
feat_vars()
{
FEATURE=
while read first second rest; do
case "$first" in
\#[A-Z]*)
continue;; # overridden feature
\#) # feature mark
case "$second" in
profile/*)
FEATURE=;;
*)
FEATURE="$second";;
esac
;;
*)
case "$second" in
=|+=|?=)
case "$first" in
DISTCFG_MK|SUBPROFILES|FEATURES|IMAGE*|MKIMAGE_*)
continue;;
*)
VAR="$first"
VARIABLES="$VARIABLES; $VAR"
;;
esac
;;
*)
continue;;
esac
;;
esac
[ -n "$FEATURE" -a -n "$VAR" ] || continue
echo " \"$FEATURE\" -- \"$VAR\";"
done < "$DISTCFG"
echo " { node [shape=box]$VARIABLES; }"
}
feat_vars | LC_COLLATE=C sort -ru
echo " }"
echo "}"

View File

@@ -30,4 +30,4 @@ transformed="$(sed \
-e "s, *) *, ) ,g")"
[ "$DEBUG" = 2 ] && echo "`basename $0`: transformed = \"$transformed\"" >&2
[ -z "$transformed" ] || find $transformed | sed 's,^\./,,'
[ -z "$transformed" ] || find $transformed | sed 's,^\./,,' | grep -v '\.sw.$'

233
bin/tar2fs Executable file
View File

@@ -0,0 +1,233 @@
#!/bin/bash -ex
# usage:
# tar2fs chroot.tar image.raw [size_in_bytes [fstype]]
. shell-error
if [ $# -lt 2 ]; then
fatal "error: tar2fs needs at least two arguments"
fi
# this needs env_keep sudo setup to actually work
if [ -n "$GLOBAL_BUILDDIR" ]; then
WORKDIR="$GLOBAL_BUILDDIR/vmroot"
else
WORKDIR="$(mktemp --tmpdir -d vmroot-XXXXX)"
fi
[ -n "$WORKDIR" ] || fatal "couldn't come up with suitable WORKDIR"
[ -n "$GLOBAL_DEBUG" ] || message "WORKDIR: $WORKDIR"
MB=1048576 # a parted's "megabyte" in bytes is *broken*
SIZE_FACTOR=2 # multiply the sizes found by this value
BOOT_SIZE_FACTOR=2 # multiply /boot size by this value additionally
CUR_BOUNDARY=0 # align first partition at 1MB for performance (+1)
INITRD_MODULES=
BOOTFSTYPE=
BOOTPART=
case "`arch`" in # NB: sudo => no GLOBAL_ will do either; mind qemu-*
*86*)
# NB: different storage modules might be needed for non-kvm
INITRD_MODULES="sd_mod ata_piix"
BLOCKDEV="/dev/sda" # might be /dev/vda for virtio
ROOTPART="1"
;;
arm*)
BOOTFSTYPE="ext2" # support expected in every sane target uboot
BLOCKDEV="/dev/mmcblk0p" # ...hopefully...
BOOTPART="1"
ROOTPART="2"
;;
esac
# figure out the part taken by /boot in the given tarball
boot_size() {
if [ -n "$BOOTPART" ]; then
tar tvf "$1" \
| awk ' \
BEGIN { sum=0 }
/^-.* \.\/boot\// { sum=sum+$3 }
END { print sum }'
else
echo "0"
fi
}
# parted wrapper for convenience
parting() { parted "$LOOPDEV" --align optimal --script -- "$@"; }
# unfortunately parted is insane enough to lump alignment controls
# into unit controls so creating adjacent partitions sized in MiB
# is not as straightforward as it might be... thus "+1" padding;
# see also http://www.gnu.org/software/parted/manual/parted.html#unit
mkpart() {
# a bit different start/end semantics to handle end of device too
local start="$(($CUR_BOUNDARY + 1))" # yes, we lose a megabyte
if [ -n "$1" ]; then
CUR_BOUNDARY="$(($start + $1))"
local end="$CUR_BOUNDARY"MiB
else
local end="-1s" # last sector of the image
fi
parting mkpart primary ext2 "$start"MiB "$end"
}
# a tarball containing chroot with a kernel
TAR="$1"
[ -s "$TAR" ] || fatal "source tarball doesn't really exist"
# a path to the image to be generated
IMG="$2"
[ -d "$(dirname "$IMG")" ] || fatal "target directory doesn't exist"
# 0 means auto; if a value is specified it holds (no /boot subtracted)
ROOTSIZE="$3"
[ -n "$ROOTSIZE" -a "$ROOTSIZE" != 0 ] || unset ROOTSIZE
# image size in bytes
TARSIZE="$(stat -Lc %s "$TAR")"
# /boot size in that tarball
BOOTSIZE="$(boot_size "$TAR")"
DEFSIZE="$(($SIZE_FACTOR * ($TARSIZE - $BOOTSIZE)))" # (exact sizes)
ROOTSIZE="$((${ROOTSIZE:-$DEFSIZE} + $MB - 1))" # for ceil rounding to MB
# image and /boot sizes in megabytes
ROOTSIZEM="$(($ROOTSIZE / $MB))"
BOOTSIZEM="$((($SIZE_FACTOR * $BOOT_SIZE_FACTOR * $BOOTSIZE + $MB - 1) / $MB))"
# tested to work: ext[234], jfs
# NB: xfs doesn't have a spare sector for the bootloader
ROOTFSTYPE="${4:-ext4}"
# single root partition hardwired so far,
# add another image for home/data/swap if needed
ROOTDEV="$BLOCKDEV$ROOTPART"
# last preparations...
MKFS="mkfs.$ROOTFSTYPE ${BOOTFSTYPE:+mkfs.$BOOTFSTYPE}"
for i in losetup sfdisk parted kpartx $MKFS; do
if ! type -t "$i" >&/dev/null; then
fatal "$i required but not found in host system"
fi
done
LOOPDEV="$(losetup --find)" # would be sad about non-binary megabytes too
ROOTFS="$WORKDIR/chroot"
BOOTFS=
if [ -n "$BOOTPART" ]; then
BOOTFS="$ROOTFS/boot"
fi
exit_handler() {
rc=$?
if [ -n "$ROOTFS" ]; then
umount ${BOOTFS:+"$BOOTFS"} "$ROOTFS"{/dev,/proc,/sys,}
if [ -n "$LOOPDEV" ]; then
kpartx -d "$LOOPDEV"
losetup --detach "$LOOPDEV"
fi
rm -r -- "$ROOTFS"
rmdir -- "$WORKDIR"
fi
exit $rc
}
# handle -e in shebang as well
trap exit_handler EXIT ERR
# prepare disk image and a filesystem inside it
rm -f -- "$IMG"
OFFSET="$(($CUR_BOUNDARY + $BOOTSIZEM + $ROOTSIZEM - 1))"
dd if=/dev/zero of="$IMG" conv=notrunc bs=$MB count=1 seek="$OFFSET"
losetup "$LOOPDEV" "$IMG"
parting mklabel msdos
if [ -n "$BOOTPART" ]; then
BOOTDEV="$BLOCKDEV$BOOTPART"
mkpart "$BOOTSIZEM"
fi
# not ROOTSIZEM but "the rest"; somewhat non-trivial arithmetics lurk in parted
mkpart
kpartx -a -s "$LOOPDEV"
LOOPROOT="/dev/mapper/$(basename "$LOOPDEV")p$ROOTPART"
mkfs."$ROOTFSTYPE" "$LOOPROOT"
if [ -n "$BOOTPART" ]; then
LOOPBOOT="/dev/mapper/$(basename "$LOOPDEV")p$BOOTPART"
mkfs."$BOOTFSTYPE" "$LOOPBOOT"
fi
# mount and populate it
mkdir -pm755 "$ROOTFS"
mount "$LOOPROOT" "$ROOTFS"
if [ -n "$BOOTPART" ]; then
mkdir -pm700 "$BOOTFS"
mount "$LOOPBOOT" "$BOOTFS"
fi
tar -C "$ROOTFS" --numeric-owner -xf "$TAR"
for i in /dev /proc /sys; do mount --bind "$i" "$ROOTFS$i"; done
# loop device so lilo could work...
echo "$LOOPROOT / $ROOTFSTYPE relatime 1 1" >> "$ROOTFS/etc/fstab"
# target device at once
if [ -n "$BOOTPART" ]; then
echo "$BOOTDEV /boot $BOOTFSTYPE defaults 1 2" >> "$ROOTFS/etc/fstab"
fi
echo "MODULES_PRELOAD=$INITRD_MODULES $ROOTFSTYPE" >> "$ROOTFS/etc/initrd.mk"
KERNEL="$(readlink $ROOTFS/boot/vmlinuz | sed 's,vmlinuz-,,')"
chroot "$ROOTFS" make-initrd -k "$KERNEL"
# ...target device too
sed -i "s,$LOOPROOT,$ROOTDEV," "$ROOTFS/etc/fstab"
if [ -x /sbin/lilo ]; then
# configure and install bootloader
REGEXP='^Disk .*: ([0-9]+) cylinders, ([0-9]+) heads, ([0-9]+) sectors/track*$'
set -- $(sfdisk -l "$LOOPDEV" | grep -E "$REGEXP" | sed -r "s@$REGEXP@\1 \2 \3@")
LILO_COMMON="lba32
delay=1
vga=0
image=/boot/vmlinuz
initrd=/boot/initrd.img
append=\"root=$ROOTDEV rootdelay=3 quiet\"
label=linux"
cat > "$ROOTFS"/etc/lilo-loop.conf <<-EOF
boot=$LOOPDEV
disk=$LOOPDEV
bios=0x80
cylinders=$1
heads=$2
sectors=$3
partition=$LOOPROOT
start=63
$LILO_COMMON
EOF
chroot "$ROOTFS" lilo -C /etc/lilo-loop.conf
cat > "$ROOTFS"/etc/lilo.conf <<-EOF
boot=$BLOCKDEV
$LILO_COMMON
EOF
fi
if [ -n "$SUDO_USER" ]; then
chown "$SUDO_USER" "$IMG" "$ROOTFS" "$WORKDIR"
fi

View File

@@ -1,6 +1,8 @@
== conf.d ==
Этот каталог содержит включаемые фрагменты конфигурации образов с тем,
чтобы было удобнее параллельно разрабатывать специфические дистрибутивы
и VE без излишних merge conflict'ов.
чтобы было удобнее параллельно разрабатывать специфические образы
без излишних merge conflict'ов.
Следует понимать, что основная цель появления mkimage-profiles на свет
-- это уменьшение "форков" внутри семейства дистрибутивных профилей.
@@ -10,25 +12,51 @@
Попросту говоря, copy-paste -- тревожный признак.
По переменным:
- SYSTEM_PACKAGES стоит применять крайне осторожно -- эти пакеты попадут
По переменным (см. тж. ../doc/pkglists.txt):
* для пользовательского окружения (live, main) предназначены
THE_PACKAGES, THE_LISTS, THE_GROUPS, THE_PACKAGES_REGEXP
* для "обычного общего" (live, main, rescue) есть COMMON_PACKAGES
(NB: тоже попадают в базовую установку)
* SYSTEM_PACKAGES стоит применять крайне осторожно -- эти пакеты попадут
во все стадии, в том числе в образ чувствительной к объёму install2
(в stage1 -- только в инструментальный чрут); применяйте для того,
что обязано быть и в инсталяторе, и в готовой системе
- для "обычного общего" (live, main, rescue) есть COMMON_PACKAGES
(NB: попадают в базовую систему)
- для "пользовательского" (live, main) есть THE_GROUPS, THE_LISTS
и THE_PACKAGES
- аналогично по модулям ядра:
+ STAGE1_KMODULES доступны в производных от stage2 (install2, live, rescue)
+ BASE_KMODULES попадут в установку по умолчанию
+ MAIN_KMODULES будут доступны для установки с носителя
+ LIVE_KMODULES предназначены для LiveCD/LiveFlash
+ THE_KMODULES попадут в "пользовательские" окружения
(live и установленную систему)
* для направленного действия служат:
** STAGE1_PACKAGES, STAGE1_PACKAGES_REGEXP (первая стадия загрузки)
** STAGE2_PACKAGES (инсталятор и спасательная/"живая" система)
** INSTALL2_PACKAGES (инсталятор)
** BASE_PACKAGES, BASE_LISTS, BASE_PACKAGES_REGEXP (базовая система)
** MAIN_PACKAGES, MAIN_LISTS, MAIN_PACKAGES_REGEXP (дополнительные пакеты)
** LIVE_PACKAGES, LIVE_LISTS, LIVE_PACKAGES_REGEXP ("живая" система)
* аналогично по модулям ядра:
** THE_KMODULES попадут в "пользовательскую" среду (live, main)
** STAGE1_KMODULES доступны в производных от stage2 (install2, live, rescue)
** BASE_KMODULES попадут в установку по умолчанию
** MAIN_KMODULES будут доступны для установки с носителя
** LIVE_KMODULES предназначены для LiveCD/LiveFlash
Не стоит бояться такого разнообразия, для большинства задач достаточно THE_*.
По подстановкам:
- $(VAR) подставляются перед их записью в $(CONFIG), который distcfg.mk
- $$(VAR) раскрываются позже, при включении $(CONFIG) и востребовании
* $(VAR) подставляются перед их записью в $(CONFIG), который distcfg.mk
* $$(VAR) раскрываются позже, при включении $(CONFIG) и востребовании
значений; в этом случае их значения могут изменяться до окончания
конфигурации, а также зависеть от значений других переменных
По спискам пакетов:
* на этапе экспериментирования можно забивать прямо в описание образа
* при фиксации состояния стоит воспользоваться существующими списками,
а дополнительные оформить как можно более чётко обособленными по тем
задачам, для решения которых они и подобраны
* повторяющиеся логически связанные группы списков может иметь смысл
выделить в фичу (см., например, power или x11)
* если явной фичи не наблюдается, но у группы дистрибутивов намечается
заметная общая часть -- её можно выделить в промежуточную цель вида
distro/.name, не являющуюся самостоятельно собираемой

94
conf.d/armh.mk Normal file
View File

@@ -0,0 +1,94 @@
ifeq (armh,$(ARCH))
ifeq (ve,$(IMAGE_CLASS))
# aliases for autobuild
ve/regular-nexus7-e17: ve/nexus7-e17; @:
ve/regular-nexus7-kde4: ve/nexus7-kde4; @:
ve/altlinux-p7-nexus7-e17: ve/nexus7-e17; @:
ve/altlinux-p7-nexus7-kde4: ve/nexus7-kde4; @:
ve/.tegra3-base: ve/.base use/armh use/kernel
@$(call add,BASE_PACKAGES,nvidia-tegra)
ve/.tegra3-tablet: ve/.tegra3-base use/armh-tegra3 +pulse
@$(call add,BASE_LISTS,$(call tags,base tablet))
ve/.nexus7-tablet: ve/.tegra3-tablet use/armh-nexus7 \
use/x11-autologin use/deflogin/altlinuxroot
@$(call set,KFLAVOURS,grouper) # fits tilapia just fine
@$(call set,BRANDING,altlinux-kdesktop) ### the only suitable so far
@$(call add,BASE_PACKAGES,mkinitrd) ### rootsubdir support
@$(call add,BASE_PACKAGES,firmware-nexus7)
@$(call add,BASE_PACKAGES,livecd-ru) ### until l10n is there
ve/nexus7-e17: ve/.nexus7-tablet use/x11/e17 use/x11/lightdm/gtk; @:
ve/nexus7-kde4: ve/.nexus7-tablet use/x11/lightdm/kde +systemd +pulse +nm
@$(call add,BASE_LISTS,$(call tags,base kde4mobile))
ve/nexus7-xfce: ve/.nexus7-tablet use/x11/xfce use/x11/lightdm/gtk +systemd
@$(call add,BASE_PACKAGES,florence at-spi2-atk)
endif
ifeq (vm,$(IMAGE_CLASS))
# NB: early dependency on use/kernel is on intent
vm/.arm-base: profile/bare use/kernel use/net-eth/dhcp use/net-ssh; @:
@$(call add,BASE_PACKAGES,interactivesystem e2fsprogs)
@$(call add,BASE_PACKAGES,apt)
@$(call add,BASE_PACKAGES,mkinitrd uboot-tools)
@$(call set,BRANDING,altlinux-kdesktop)
vm/.cubox-bare: vm/.arm-base use/armh-cubox use/net-ssh use/repo use/tty/S0
@$(call add,BASE_PACKAGES,glibc-locales vim-console rsync)
vm/.cubox-desktop: vm/.cubox-bare use/armh-dovefb +systemd +pulse \
use/armh-cubox use/branding use/xdg-user-dirs/deep
@$(call set,BRANDING,altlinux-kdesktop)
@$(call add,THE_BRANDING,alterator graphics indexhtml menu notes)
@$(call add,BASE_PACKAGES,parole gst-ffmpeg gst-plugins-vmeta)
@$(call add,BASE_PACKAGES,gst-plugins-good gst-plugins-nice)
@$(call add,BASE_PACKAGES,gst-plugins-bad gst-plugins-ugly)
@$(call add,BASE_PACKAGES,fonts-ttf-droid fonts-ttf-ubuntu-font-family)
@$(call add,BASE_PACKAGES,fonts-ttf-liberation fonts-ttf-dejavu)
@$(call add,BASE_PACKAGES,LibreOffice4-full LibreOffice4-langpack-ru)
@$(call add,BASE_LISTS,$(call tags,(base || desktop) && regular))
vm/cubox-xfce-ru: vm/.cubox-desktop use/deflogin/altlinuxroot \
use/slinux/arm use/x11/lightdm/gtk use/x11-autologin +nm
@$(call add,BASE_PACKAGES,livecd-ru)
# these images use a kind of OEM setup
vm/.cubox-oem: vm/.cubox-desktop use/oem; @:
vm/.cubox-gtk: vm/.cubox-oem use/x11/lightdm/gtk +nm; @:
vm/cubox-xfce: vm/.cubox-gtk \
use/slinux/arm use/net-usershares use/domain-client; @:
vm/cubox-mate: vm/.cubox-gtk use/x11/mate; @:
@$(call set,BRANDING,altlinux-centaurus)
@$(call add,THE_BRANDING,mate-settings)
vm/cubox-tde: vm/.cubox-oem use/net-eth/dhcp use/x11-autostart +tde
@$(call add,BASE_LISTS,openscada)
vm/cubox-kde4: vm/.cubox-oem use/x11/kde4 use/x11/kdm4 use/fonts/zerg +pulse
@$(call add,BASE_LISTS,$(call tags,desktop && kde4 && !extra))
vm/cubox-server: vm/.cubox-bare use/deflogin/altlinuxroot use/control/sudo-su \
+sysvinit
@$(call set,BRANDING,altlinux-centaurus)
@$(call add,BASE_PACKAGES,agetty fdisk)
@$(call add,BASE_LISTS,$(call tags,base security))
vm/arm-server: vm/.arm-base use/net-eth/dhcp use/cleanup/installer +sysvinit
@$(call set,KFLAVOURS,armadaxp)
@$(call add,BASE_PACKAGES,agetty)
@$(call add,BASE_LISTS,$(call tags,extra (server || network)))
endif
endif

View File

@@ -1,17 +1,26 @@
# desktop distributions
ifeq (distro,$(IMAGE_CLASS))
distro/desktop-base: distro/installer use/repo/main \
use/syslinux/ui-vesamenu use/x11/xorg use/bootloader/grub
distro/.desktop-base: distro/.installer use/syslinux/ui/vesamenu use/x11/xorg
@$(call set,INSTALLER,desktop)
distro/desktop-mini: distro/desktop-base \
use/lowmem use/x11/xdm use/bootloader/lilo \
use/power/acpi/button use/cleanup/alterator
distro/.desktop-mini: distro/.desktop-base use/x11/xdm +power; @:
distro/icewm: distro/desktop-mini
@$(call add,BASE_LISTS,$(call tags,icewm desktop))
distro/.desktop-network: distro/.desktop-mini use/stage2/net-eth +vmguest
@$(call add,SYSTEM_PACKAGES,fonts-ttf-google-croscore-arimo)
@$(call add,BASE_PACKAGES,udev-rule-generator-net sysklogd)
@$(call add,BASE_LISTS, \
$(call tags,(base || desktop) && (l10n || network)))
distro/desktop-systemd: distro/icewm use/systemd
distro/.desktop-extra:
@$(call add,BASE_LISTS,$(call tags,(archive || base) && (extra)))
distro/kde4-lite: distro/.desktop-mini distro/.desktop-network distro/.desktop-extra +kde4-lite
@$(call set,KFLAVOURS,std-def)
distro/tde: distro/.desktop-network +tde; @:
distro/icewm: distro/.desktop-network use/lowmem use/install2/fs +icewm; @:
distro/ltsp-tde: distro/tde +ltsp; @:
distro/ltsp-icewm: distro/icewm +ltsp; @:
endif

6
conf.d/homeros.mk Normal file
View File

@@ -0,0 +1,6 @@
ifeq (distro,$(IMAGE_CLASS))
distro/homeros-mini: distro/.live-base use/live/textinstall use/homeros; @:
endif

View File

@@ -1,40 +1,83 @@
# live images
ifeq (distro,$(IMAGE_CLASS))
distro/dos: distro/.init use/dos use/syslinux/ui-menu
distro/rescue: distro/.base use/rescue use/syslinux/ui-menu
distro/live: distro/.base use/live/base use/power/acpi/cpufreq
distro/live-systemd: distro/.base use/live/base use/systemd
distro/dos: distro/.init use/dos use/syslinux/ui/menu; @:
distro/live-isomd5sum: distro/.base use/live/base use/isomd5sum
@$(call add,LIVE_PACKAGES,livecd-isomd5sum)
distro/rescue: distro/.base use/rescue use/syslinux/ui/menu \
use/efi/signed use/efi/refind use/efi/shell; @:
distro/live-builder: pkgs := livecd-tmpfs livecd-online-repo mkimage-profiles
distro/live-builder: distro/.base use/repo/main \
use/live/base use/dev/mkimage use/power/acpi/button
@$(call add,LIVE_LISTS,$(call tags,base && (server || builder)))
@$(call add,LIVE_PACKAGES,$(pkgs))
@$(call add,LIVE_PACKAGES,zsh sudo apt-repo)
@$(call add,MAIN_PACKAGES,rpm-build basesystem)
@$(call add,MAIN_PACKAGES,fakeroot sisyphus_check)
distro/syslinux: distro/.init \
use/syslinux/localboot.cfg use/syslinux/ui/vesamenu use/hdt; @:
distro/.live-base: distro/.base use/live/base use/power/acpi/button; @:
distro/.live-x11: distro/.live-base use/live/x11; @:
distro/.live-desktop: distro/.base +live use/live/install use/stage2/net-eth \
use/plymouth/live; @:
distro/.live-desktop-ru: distro/.live-desktop use/live/ru; @:
distro/.live-kiosk: distro/.base use/live/base use/live/autologin +power \
use/syslinux/timeout/1 use/cleanup use/stage2/net-eth
@$(call add,LIVE_PACKAGES,fonts-ttf-dejavu)
@$(call add,CLEANUP_PACKAGES,'alterator*' 'guile*' 'vim-common')
distro/live-builder-mini: distro/.live-base use/dev/mkimage use/dev \
use/syslinux/timeout/30
@$(call set,KFLAVOURS,$(BIGRAM))
@$(call add,LIVE_LISTS,\
$(call tags,(base || live) && (server || builder)))
@$(call add,LIVE_PACKAGES,livecd-qemu-arch strace)
@$(call add,LIVE_PACKAGES,qemu-user-binfmt_misc)
@$(call add,LIVE_PACKAGES,zsh sudo)
distro/live-builder: distro/live-builder-mini \
use/live/rw use/live/repo use/dev/repo
@$(call add,MAIN_LISTS,$(call tags,live builder))
@$(call add,MAIN_PACKAGES,syslinux pciids memtest86+ mkisofs)
@$(call add,MAIN_PACKAGES,file make-initrd make-initrd-propagator)
@$(call add,MAIN_PACKAGES,$(pkgs))
distro/live-install: distro/.base use/live/base use/syslinux/localboot.cfg
@$(call add,LIVE_PACKAGES,live-install)
distro/live-install: distro/.live-base use/live/textinstall; @:
distro/.livecd-install: distro/.live-base use/live/install; @:
distro/live-icewm: distro/live use/live/autologin
@$(call add,LIVE_LISTS, \
$(call tags,(base || desktop) && (live || network || icewm)))
distro/live-icewm: distro/.live-desktop use/x11/lightdm/gtk +icewm; @:
distro/live-razorqt: distro/.live-desktop +razorqt; @:
distro/live-tde: distro/.live-desktop-ru use/live/install +tde; @:
distro/live-fvwm: distro/.live-desktop-ru use/x11/lightdm/gtk use/x11/fvwm; @:
distro/live-razorqt: distro/live use/live/autologin
@$(call add,LIVE_LISTS, \
$(call tags,(base || desktop) && (live || network || razorqt)))
distro/live-rescue: distro/live-icewm
distro/live-rescue: distro/live-icewm use/efi
@$(call add,LIVE_LISTS,$(call tags,rescue && (fs || live || x11)))
@$(call add,LIVE_LISTS, \
@$(call add,LIVE_LISTS,openssh \
$(call tags,(base || extra) && (archive || rescue || network)))
# NB: this one doesn't include the browser, needs to be chosen downstream
distro/.live-webkiosk: distro/.live-kiosk use/live/hooks use/live/ru use/sound
@$(call add,LIVE_LISTS,$(call tags,desktop && (live || network)))
@$(call add,CLEANUP_PACKAGES,'libqt4*' 'qt4*')
distro/live-webkiosk-mini: distro/.live-webkiosk
@$(call add,LIVE_PACKAGES,livecd-webkiosk-firefox)
# NB: flash/java plugins are predictable security holes
distro/live-webkiosk-flash: distro/live-webkiosk-mini use/plymouth/live +vmguest
@$(call add,LIVE_PACKAGES,mozilla-plugin-adobe-flash)
@$(call add,LIVE_PACKAGES,mozilla-plugin-java-1.6.0-sun)
distro/live-webkiosk: distro/live-webkiosk-mini use/live/desktop; @:
distro/live-webkiosk-chromium: distro/.live-webkiosk
@$(call add,LIVE_PACKAGES,livecd-webkiosk-chromium)
distro/live-flightgear: distro/.live-x11 use/x11/lightdm/gtk use/x11/3d +icewm
@$(call add,LIVE_LISTS,$(call tags,xorg misc))
@$(call add,LIVE_PACKAGES,FlightGear fgo input-utils)
@$(call try,HOMEPAGE,http://www.4p8.com/eric.brasseur/flight_simulator_tutorial.html)
distro/live-e17: distro/.live-desktop-ru use/x11/e17 use/x11/lightdm/gtk; @:
distro/live-gimp: distro/live-icewm use/live/ru
@$(call add,LIVE_PACKAGES,gimp tintii immix fim)
@$(call add,LIVE_PACKAGES,cvltonemap darktable geeqie rawstudio ufraw)
@$(call add,LIVE_PACKAGES,macrofusion python-module-pygtk-libglade)
@$(call add,LIVE_PACKAGES,qtfm openssh-clients rsync)
@$(call add,LIVE_PACKAGES,design-graphics-sisyphus2)
endif

27
conf.d/p7.mk Normal file
View File

@@ -0,0 +1,27 @@
# p7 base kits
mixin/p7:
@$(call set,BRANDING,altlinux-starterkit)
ifeq (distro,$(IMAGE_CLASS))
### kludge compatibility: introspection stub for ../main.mk :-/
distro/altlinux-p7-cinnamon: distro/regular-cinnamon mixin/p7; @:
distro/altlinux-p7-e17: distro/regular-e17 mixin/p7; @:
distro/altlinux-p7-icewm: distro/regular-icewm mixin/p7; @:
distro/altlinux-p7-gnome3: distro/regular-gnome3 mixin/p7; @:
distro/altlinux-p7-kde4: distro/regular-kde4 mixin/p7; @:
distro/altlinux-p7-lxde: distro/regular-lxde mixin/p7; @:
distro/altlinux-p7-mate: distro/regular-mate mixin/p7; @:
distro/altlinux-p7-razorqt: distro/regular-razorqt mixin/p7; @:
distro/altlinux-p7-rescue: distro/regular-rescue mixin/p7; @:
distro/altlinux-p7-tde: distro/regular-tde mixin/p7; @:
distro/altlinux-p7-xfce: distro/regular-xfce mixin/p7; @:
distro/altlinux-p7-server: distro/regular-server mixin/p7; @:
endif
ifeq (ve,$(IMAGE_CLASS))
ve/altlinux-p7: ve/generic mixin/p7; @:
endif

98
conf.d/regular.mk Normal file
View File

@@ -0,0 +1,98 @@
# regular build/usage images
ifeq (distro,$(IMAGE_CLASS))
# common ground
distro/.regular-bare: distro/.base +wireless use/efi/signed \
use/memtest use/stage2/net-eth use/kernel/net
@$(call try,SAVE_PROFILE,yes)
# graphical target (not enforcing xorg drivers or blobs)
distro/.regular-x11: distro/.regular-bare use/x11/wacom +vmguest \
use/live/x11 use/live/install use/live/repo use/live/rw \
use/luks use/branding
@$(call add,LIVE_LISTS,$(call tags,(base || desktop) && regular))
@$(call add,LIVE_LISTS,$(call tags,base rescue))
@$(call add,LIVE_PACKAGES,gpm livecd-install-apt-cache)
@$(call add,DEFAULT_SERVICES_ENABLE,gpm)
# WM base target
distro/.regular-base: distro/.regular-x11 use/x11/xorg
@$(call add,LIVE_PACKAGES,installer-feature-desktop-other-fs-stage2)
@$(call add,THE_BRANDING,indexhtml notes alterator)
@$(call add,THE_BRANDING,graphics)
# DE base target
# TODO: use/plymouth/live when luks+plymouth is done, see also #28255
distro/.regular-desktop: distro/.regular-base \
use/syslinux/ui/gfxboot use/firmware/laptop use/efi/refind +systemd
@$(call add,LIVE_PACKAGES,fuse-exfat)
@$(call add,LIVE_LISTS,domain-client)
@$(call add,THE_BRANDING,bootloader)
@$(call set,KFLAVOURS,std-def)
distro/.regular-gtk: distro/.regular-desktop use/x11/lightdm/gtk +plymouth; @:
distro/regular-icewm: distro/.regular-base use/init/sysv \
use/x11/lightdm/gtk +icewm
@$(call add,LIVE_LISTS,$(call tags,regular icewm))
@$(call set,KFLAVOURS,un-def)
distro/regular-wmaker: distro/.regular-desktop use/x11/lightdm/gtk \
use/x11/wmaker
@$(call add,LIVE_PACKAGES,livecd-install-wmaker)
@$(call add,LIVE_PACKAGES,xxkb)
ifeq (i586,$(ARCH))
distro/regular-gnustep: distro/regular-wmaker use/x11/gnustep +plymouth
@$(call add,THE_BRANDING,graphics)
else
distro/regular-gnustep:
$(error $@ is known buggy on non-i586 at the moment)
endif
distro/regular-xfce: distro/.regular-gtk use/x11/xfce +nm; @:
distro/regular-lxde: distro/.regular-gtk use/x11/lxde use/fonts/infinality +nm
@$(call add,LIVE_LISTS,$(call tags,desktop gvfs))
distro/regular-xmonad: distro/.regular-gtk use/x11/xmonad
@$(call add,LIVE_PACKAGES,livecd-regular-xmonad)
distro/regular-mate: distro/.regular-gtk use/x11/mate +nm
@$(call add,LIVE_LISTS,$(call tags,mobile mate))
distro/regular-e17: distro/.regular-gtk use/x11/e17 use/fonts/infinality
@$(call add,LIVE_PACKAGES,xterm)
distro/regular-cinnamon: distro/.regular-gtk \
use/x11/cinnamon use/fonts/infinality
@$(call set,META_VOL_ID,ALT Linux $(IMAGE_NAME)) # see also #28271
distro/regular-gnome3: distro/.regular-desktop use/x11/gnome3 +plymouth; @:
distro/regular-tde: distro/.regular-desktop use/net-eth/dhcp +tde +plymouth +nm
@$(call add,LIVE_PACKAGES,kdegames kdeedu)
@$(call add,LIVE_LISTS,openscada)
distro/regular-kde4: distro/.regular-desktop use/x11/kde4 use/x11/kdm4 \
use/fonts/zerg +pulse +plymouth
@$(call add,LIVE_LISTS,$(call tags,regular kde4))
distro/regular-razorqt: distro/.regular-desktop +razorqt +plymouth; @:
distro/regular-sugar: distro/.regular-gtk use/x11/sugar; @:
distro/regular-rescue: distro/.regular-bare use/rescue/rw \
use/syslinux/ui/menu use/hdt use/efi/refind
@$(call set,KFLAVOURS,un-def)
@$(call add,RESCUE_PACKAGES,gpm)
distro/regular-server: distro/.regular-bare +installer +sysvinit +power \
use/install2/fs use/bootloader/lilo use/firmware use/server/mini \
use/branding use/luks
@$(call add,THE_LISTS,$(call tags,(base || server) && regular))
@$(call set,INSTALLER,altlinux-server)
@$(call add,INSTALL2_BRANDING,alterator notes)
@$(call add,THE_BRANDING,alterator)
endif

View File

@@ -1,38 +1,28 @@
# server distributions
ifeq (distro,$(IMAGE_CLASS))
distro/server-base: distro/installer use/repo/main \
use/syslinux/ui-menu use/memtest use/bootloader/grub
@$(call add,BASE_LISTS,server-base)
distro/.server-base: distro/.installer use/syslinux/ui/menu use/memtest \
use/cleanup/x11-alterator
@$(call add,BASE_LISTS,server-base openssh)
distro/server-mini: distro/server-base use/cleanup/x11-alterator
@$(call set,KFLAVOURS,el-smp)
@$(call add,THE_KMODULES,e1000e igb)
@$(call add,STAGE1_KMODULES,e1000e igb)
@$(call add,BASE_LISTS,\
$(call tags,base && (server || network || security || pkg)))
@$(call add,BASE_LISTS,$(call tags,extra network))
distro/server-nano: distro/.server-base use/bootloader/lilo +power
@$(call add,BASE_LISTS,$(call tags,server network))
@$(call add,BASE_PACKAGES,dhcpcd cpio)
distro/server-systemd: distro/server-mini use/systemd
distro/server-mini: distro/.server-base use/server/mini use/kernel/net \
use/efi use/stage2/net-eth
@$(call add,BASE_PACKAGES,make-initrd-mdadm make-initrd-lvm)
distro/server-ovz: distro/server-mini \
use/hdt use/rescue use/firmware/server use/power/acpi/button
distro/server-ovz: distro/server-mini use/install2/net use/hdt use/rescue \
use/firmware/server use/firmware/cpu use/power/acpi/button +wireless
@$(call set,STAGE1_KFLAVOUR,std-def)
@$(call set,KFLAVOURS,std-def ovz-el)
@$(call add,BASE_KMODULES,rtl8168 rtl8192)
@$(call add,MAIN_KMODULES,bcmwl ndiswrapper)
@$(call add,MAIN_KMODULES,ipset ipt-netflow opendpi pf_ring xtables-addons)
@$(call add,MAIN_KMODULES,ipset ipt-netflow opendpi pf_ring)
@$(call add,MAIN_KMODULES,xtables-addons) # t6/branch
@$(call add,MAIN_KMODULES,drbd83 kvm)
@$(call add,INSTALL2_PACKAGES,curl) ### should become curl-mini
@$(call add,BASE_LISTS,ovz-server)
@$(call add,MAIN_LISTS,kernel-wifi)
@$(call add,MAIN_GROUPS,dns-server http-server ftp-server kvm-server)
@$(call add,MAIN_GROUPS,ipmi mysql-server dhcp-server mail-server)
@$(call add,MAIN_GROUPS,monitoring diag-tools)
# tiny network-only server-ovz installer (stage2 comes over net too)
distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \
use/syslinux/ui-menu use/syslinux/localboot.cfg use/memtest
@$(call add,SYSLINUX_CFG,netinstall2)
endif

12
conf.d/simply.mk Normal file
View File

@@ -0,0 +1,12 @@
# simply images
ifeq (distro,$(IMAGE_CLASS))
distro/live-simply: distro/.livecd-install use/slinux/full
@$(call add,THE_LISTS,slinux/live-install)
distro/simply: distro/.installer use/slinux/full
@$(call set,INSTALLER,simply-linux)
@$(call add,INSTALL2_PACKAGES,sysvinit)
endif

80
conf.d/test.mk Normal file
View File

@@ -0,0 +1,80 @@
# debug/test/experimental images
ifneq (,$(DEBUG))
ifeq (distro,$(IMAGE_CLASS))
distro/syslinux-auto: distro/.init use/hdt use/syslinux/timeout/1; @:
distro/syslinux-noescape: distro/syslinux-auto use/syslinux/noescape.cfg; @:
distro/live-systemd: distro/.base use/live/base +systemd; @:
distro/live-plymouth: distro/.live-base use/plymouth/live; @:
distro/live-isomd5sum: distro/.base use/live/base use/isomd5sum
@$(call add,LIVE_PACKAGES,livecd-isomd5sum)
distro/live-testserver: distro/live-install use/server/mini
@$(call set,KFLAVOURS,std-def el-smp)
distro/live-gns3: distro/live-icewm
@$(call add,LIVE_LISTS,gns3)
@$(call add,LIVE_KMODULES,kvm virtualbox)
distro/icewm-efi: distro/icewm use/efi/debug use/firmware
@$(call add,INSTALL2_PACKAGES,strace)
distro/razorqt-kz: distro/regular-razorqt
@$(call set,GLOBAL_BOOT_LANG,kk_KZ)
@$(call add,LIVE_PACKAGES,hunspell-kk)
distro/server-systemd: distro/server-mini +systemd
@$(call set,KFLAVOURS,std-def)
distro/server-test: distro/server-mini use/relname
@$(call set,RELNAME,Test-Server)
# something marginally useful (as a network-only installer)
# NB: doesn't carry stage3 thus cannot use/bootloader
distro/netinst: distro/.base use/install2/net; @:
# tiny network-only server-ovz installer (stage2 comes over net too)
distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \
use/syslinux/ui/menu use/syslinux/localboot.cfg use/memtest
@$(call add,SYSLINUX_CFG,netinstall2)
distro/desktop-luks: distro/icewm use/luks; @:
distro/desktop-systemd: distro/icewm +systemd; @:
distro/desktop-plymouth: distro/icewm +plymouth; @:
distro/server-efi: distro/server-mini use/efi/debug; @:
endif # IMAGE_CLASS: distro
ifeq (ve,$(IMAGE_CLASS))
ifeq (centos,$(REPO))
ve/.centos-base: ve/.bare
@$(call set,IMAGE_INIT_LIST,hasher-pkg-init)
ve/centos: ve/.centos-base
@$(call add,BASE_PACKAGES,openssh-server)
endif # REPO: centos
ifeq (opensuse,$(REPO))
ve/.opensuse-base: ve/.bare
@$(call set,IMAGE_INIT_LIST,hasher-pkg-init)
@$(call add,BASE_PACKAGES,aaa_base)
endif # REPO: opensuse
endif # IMAGE_CLASS: ve
ifeq (vm,$(IMAGE_CLASS))
vm/net-static: vm/bare use/net-eth use/net-ssh
@$(call add,NET_ETH,eth0:static:10.0.2.16/24:10.0.2.2)
endif # IMAGE_CLASS: vm
endif

27
conf.d/ve.mk Normal file
View File

@@ -0,0 +1,27 @@
ifeq (ve,$(IMAGE_CLASS))
# no "vzctl enter"
ve/bare: ve/.base use/init/sysv; @:
# /dev/pty and friends start here
ve/base: ve/bare
@$(call add,BASE_PACKAGES,interactivesystem)
# a particular package list
ve/ldv: ve/bare
@$(call add,BASE_PACKAGES,xz bzip2 glibc hostinfo less)
@$(call add,BASE_PACKAGES,vim-console netlist rsync time)
@$(call add,BASE_PACKAGES,openssh-blacklist openssh-server)
@$(call add,BASE_PACKAGES,shadow-edit shadow-groups)
# this should be more or less convenient
ve/generic: ve/base use/repo
@$(call add,BASE_PACKAGES,vim-console etckeeper)
@$(call add,BASE_LISTS,openssh \
$(call tags,base && (server || network || security || pkg)))
# example of service-specific template
ve/openvpn: ve/bare
@$(call add,BASE_LISTS,$(call tags,server openvpn))
endif

14
conf.d/vm.mk Normal file
View File

@@ -0,0 +1,14 @@
# virtual machines
ifeq (vm,$(IMAGE_CLASS))
vm/bare: vm/.bare
@$(call add,BASE_PACKAGES,apt)
vm/net: vm/bare use/net-eth/dhcp use/net-ssh
@$(call add,BASE_PACKAGES,su)
# NB: use/x11 employs some installer-feature packages
vm/icewm: vm/net use/cleanup/installer use/repo use/deflogin/altlinuxroot \
use/x11/xorg use/x11/lightdm/gtk use/x11-autologin +icewm; @:
endif

54
doc/.fop.xconf Normal file
View File

@@ -0,0 +1,54 @@
<?xml version="1.0"?>
<!-- $Id: fop.xconf 901793 2010-01-21 17:37:07Z jeremias $ -->
<!-- NOTE: This is the version of the configuration -->
<fop version="1.0">
<base>.</base>
<source-resolution>72</source-resolution>
<target-resolution>72</target-resolution>
<default-page-settings height="11in" width="8.26in"/>
<renderers>
<renderer mime="application/pdf">
<filterList>
<value>flate</value>
</filterList>
<fonts>
<auto-detect/>
</fonts>
</renderer>
<renderer mime="application/x-afp">
<images mode="b+w" bits-per-pixel="8"/>
<renderer-resolution>240</renderer-resolution>
<resource-group-file>resources.afp</resource-group-file>
</renderer>
<renderer mime="application/postscript">
</renderer>
<renderer mime="application/vnd.hp-PCL">
</renderer>
<renderer mime="image/svg+xml">
<format type="paginated"/>
<link value="true"/>
<strokeText value="false"/>
</renderer>
<renderer mime="application/awt">
</renderer>
<renderer mime="image/png">
</renderer>
<renderer mime="image/tiff">
</renderer>
<renderer mime="text/xml">
</renderer>
</renderers>
</fop>

4
doc/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
mkimage-profiles.chunked
docbook-xsl.css
mkimage-profiles.pdf
mkimage-profiles.html

50
doc/Makefile Normal file
View File

@@ -0,0 +1,50 @@
# build asciidoc books
ifdef BUILDDIR
DEST = -D "$(BUILDDIR)"
endif
ifdef DEBUG
VERBOSE = --verbose
endif
PROJECT = mkimage-profiles
TOPLEVEL_DOC = $(PROJECT).asciidoc
RESOURCE_FILES = /etc/asciidoc
A2X = a2x
FXC = .fop.xconf
L = ru
DEPTH = 3
# common args (and the source file to process) come last
XSLT_ARGS = --stringparam toc.max.depth $(DEPTH)
COMMON_ARGS = -d book -a lang="$L" $(DEST) $(VERBOSE) $(TOPLEVEL_DOC)
HTML_ARGS = -a data-uri --icons -r $(RESOURCE_FILES) -r . \
--xsltproc-opts='$(XSLT_ARGS)' $(COMMON_ARGS)
.PHONY: all prep chunked xhtml pdf clean
all: chunked xhtml pdf
prep:
@if [ -n "$(BUILDDIR)" ]; then mkdir -p "$(BUILDDIR)"; fi
chunked xhtml: prep
@echo "** building $@ book"
@$(A2X) -f $@ $(HTML_ARGS)
pdf: prep
@echo "** building $@ book"
@$(A2X) --xsltproc-opts='$(XSLT_ARGS) \
--stringparam title.font.family "DejaVu Sans" \
--stringparam body.font.family "DejaVu Serif" \
--stringparam monospace.font.family "DejaVu Sans Mono"' \
--fop --fop-opts='-c $(FXC)' -f pdf $(COMMON_ARGS)
clean:
@echo "** cleaning up"
@if [ -d "$(BUILDDIR)" ]; then cd "$(BUILDDIR)"; fi; \
rm -f $(PROJECT).pdf $(PROJECT).html docbook-xsl.css; \
rm -rf $(PROJECT).chunked/

View File

@@ -1,37 +1,53 @@
предположения фрагментов кода об окружении
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
== Предположения ==
NB: пути приводятся от верхнего уровня
Некоторые фрагменты кода закладываются на определённое поведение
других частей mkimage-profiles либо содержание переменных.
- pkg.in/lists/Makefile
+ ожидает, что названия пакаджлистов указываются в переменных
NB: пути приводятся от верхнего уровня; проект в целом предполагает
ALT Linux 6.0+ и GNU make 3.81+ (на которых и разрабатывается),
но может быть портирован вместе с mkimage. Если что-либо не работает
или не собирается, стоит проверить на Sisyphus (mkimage, make, hasher,
собственно пакетная база), поскольку именно на нём происходит основная
разработка mkimage-profiles. Сломанная сборка на текущем стабильном
бранче считается ошибкой и подлежит исправлению, если оно технически
возможно на базе этого бранча.
* lib/report.mk
** ожидает, что каждая подлежащая трассированию цель каждого
makefile при сборке конфигурации образа содержит непустой
recipe -- хотя бы "; @:" -- т.к. зависит от запуска $(SHELL)
** характерный признак пропуска -- разрыв графа (report-targets.png)
* pkg.in/lists/Makefile
** ожидает, что названия пакаджлистов указываются в переменных
вида *_LISTS, и копирует в генерируемый профиль только их
+ если задать имя файла пакаджлиста непосредственно в Makefile
** если задать имя файла пакаджлиста непосредственно в Makefile
субпрофиля, он не будет скопирован
+ характерное сообщение об ошибке:
** характерное сообщение об ошибке:
E: Couldn't find package
- features.in/stage2/stage1/scripts.d/02-kdefault
- features.in/stage2/stage1/scripts.d/03-test-kernel
- sub.in/stage1/Makefile
+ ожидают, что в stage1 попадёт строго одно ядро сообразно
* features.in/stage2/stage1/scripts.d/02-kdefault
* features.in/stage2/stage1/scripts.d/03-test-kernel
* sub.in/stage1/Makefile
** ожидают, что в stage1 попадёт строго одно ядро сообразно
явному указанию в STAGE1_KFLAVOUR (либо последнее указанное
в KFLAVOURS)
+ если добавить какой-либо kernel-image в STAGE1_PACKAGES*,
** если добавить какой-либо kernel-image в STAGE1_PACKAGES*,
результат может быть неожиданным
+ вероятная ошибка: незагрузка полученного squashfs
** вероятная ошибка: незагрузка полученного squashfs
- features.in/install2/install2/stage2cfg.mk
- features.in/live/live/stage2cfg.mk
- features.in/rescue/rescue/stage2cfg.mk
- features.in/syslinux/cfg.in/15live.cfg
- features.in/syslinux/cfg.in/20install2.cfg
- features.in/syslinux/cfg.in/80rescue.cfg
- features.in/syslinux/scripts.d/20-propagator-ramdisk
+ ожидают, что названия squashfs-образов второй стадии инсталятора,
* features.in/install2/install2/stage2cfg.mk
* features.in/live/live/stage2cfg.mk
* features.in/rescue/rescue/stage2cfg.mk
* features.in/syslinux/cfg.in/15live.cfg
* features.in/syslinux/cfg.in/20install2.cfg
* features.in/syslinux/cfg.in/80rescue.cfg
* features.in/syslinux/scripts.d/20-propagator-ramdisk
** ожидают, что названия squashfs-образов второй стадии инсталятора,
livecd и спасательной системы соответственно altinst, live и rescue
- image.in/Makefile
+ ожидает, что конфигурация будет в distcfg.mk (см. тж. lib/profile.mk),
* image.in/Makefile
** ожидает, что конфигурация будет в distcfg.mk (см. тж. lib/profile.mk),
а лог сборки -- в build.log (см. тж. lib/log.mk); альтернативой было
бы пробрасывание переменных с полным путём ради единственного места

View File

@@ -1,21 +1,25 @@
ловля плюх
~~~~~~~~~~
== Ловля плюх ==
При отладке сборки конфигурации или самого дистрибутива
могут оказаться полезными следующие средства:
- build/distcfg.mk
+ формируется автоматически в процессе построения конфигурации;
+ содержит трассировочную информацию (откуда что взялось);
+ этот файл применяется как авторитетный конфигурационный
* build/distcfg.mk
** формируется автоматически в процессе построения конфигурации;
** содержит трассировочную информацию (откуда что взялось);
** этот файл применяется как авторитетный конфигурационный
- build/build.log
+ подробность зависит от значения переменной DEBUG,
которую можно передать при запуске make (см. variables.txt);
+ содержит коммит, из которого происходит сборка, и признак
"грязности" рабочего каталога при наличии модификаций после
этого коммита;
+ содержит список конфигурационных переменных и их конечных значений,
созданный на основании distcfg.mk (см. тж. build/vars.mk)
* build/build.log
** подробность зависит от значения переменной DEBUG,
которую можно передать при запуске make (см. params.txt);
** содержит коммит, из которого происходит сборка, и признак
"грязности" рабочего каталога при наличии модификаций после
этого коммита;
** содержит список конфигурационных переменных и их конечных значений,
созданный на основании distcfg.mk (см. тж. build/vars.mk)
* REPORT=1 включает генерацию дополнительного вывода:
** build/reports/targets.png -- граф зависимостей между целями
** build/reports/scripts.log -- порядок запуска скриптовых хуков
** build/reports/cleanlog.log -- более пригодный для diff(1) журнал сборки
Общая информация по отладке сборки профилей mkimage:
Общая информация по отладке сборки профилей mkimage доступна на вики:
http://www.altlinux.org/Mkimage/debug

View File

@@ -1,8 +1,9 @@
фичи
~~~~
== Фичи ==
Особенности дистрибутива, не учитываемые в пакетной базе
или зависящие от переменных времени сборки/установки образа,
могут быть оформлены несколькими образами:
или зависящие от переменных времени сборки/установки образа;
по необходимости влияют на конфигурацию, приносят с собой
или запрашивают скрипты, которые могут быть оформлены как:
* scripts.d/ или image-scripts.d/ различных стадий;
* пакеты installer-feature-*
@@ -10,14 +11,14 @@
В большинстве случаев можно рекомендовать создание feature
средствами метапрофиля, поскольку при этом дерево кода более
удобно для анализа и обновления (и в отличие от m-p-d, нет
удобно для анализа и обновления (и в отличие от _m-p-d_ -- нет
вынужденной необходимости либо контролировать включение нужных
фич "вручную" в скриптах по косвенным признакам, либо выносить
их в пакеты installer-feature-*).
Создание и упаковку installer-feature-* можно рекомендовать, если:
* необходимы пакетные зависимости;
* необходимы пакетные зависимости (в т.ч. версии/конфликты);
* требуется компилируемый платформозависимый код (для чего бы...);
* код фичи достаточно специфичен, нетривиален и объёмен,
чтобы загромождать метапрофиль было не очень осмысленно;
@@ -27,3 +28,12 @@
Стоит избегать изменения пакетных умолчаний в случае, когда их
представляется осмысленным и возможным скорректировать в пакете:
таким образом они станут более дистрибутивными.
Обратите внимание, что фичи включаются в комплект инкрементально:
что добавили, то уже не убрать; поэтому при необходимости следует
выделять промежуточные цели сборки, собирающие необходимые фичи
и оставляющие те, по которым есть расхождения, на включение ближе
к конечной дистрибутивной цели.
Соглашение по именованию таково, что цели use/ФИЧА и use/ФИЧА/...
определяются в файле features.in/ФИЧА/config.mk и только в нём.

16
doc/gen-asciidoc.txt Normal file
View File

@@ -0,0 +1,16 @@
== Генерация документации ==
При желании сгенерировать PDF устанавливаем необходимые пакеты:
# apt-get install asciidoc-a2x xmlgraphics-fop fonts-ttf-dejavu
// Внимание! FOP со всем нужным весьма увесист (несколько сот мегабайт).
Для генерации текущей документации посредством ASCIIDOC выполнить по вкусу:
$ make pdf
$ make xhtml
Сгенерируются соответственно mkimage-profiles.pdf или mkimage-profiles.html
(в текущем каталоге либо BUILDDIR, если задан).
Для очистки:
$ make clean

View File

@@ -0,0 +1,81 @@
= mkimage-profiles =
Michael Shigorin <mike@altlinux.org>
:DocVersion: v1.0
:DocDate: Jun 2013
= Введение =
mkimage-profiles, или _m-p_ — результат осмысления и обобщения опыта создания
семейств дистрибутивов свободного программного обеспечения на базе ALT Linux.
*Цели*
* пригодность к применению как очень крутыми хакерами, так и новичками
* относительно низкая трудоёмкость использования
* поощрение совместной работы
*Средства*
Двухуровневость:
* метапрофиль более объёмен и сложен, но выгоден для долгосрочной разработки
* сгенерированный дистрибутивный профиль более легко обозрим и модифицируем как одноразовый форк
* наследственность на уровне индивидуальных особенностей и образов в целом
* прозрачность и диагностируемость формирования конфигурации
* документированность
*Примеры использования*
Выполняем начальные инструкции по документации
git clone git://git.altlinux.org/people/mike/packages/mkimage-profiles.git
cd mkimage-profiles
make icewm.iso
= Основы =
include::../README[]
include::params.txt[]
include::features.txt[]
include::pkglists.txt[]
= Каталоги =
include::../conf.d/README[]
include::../image.in/README[]
include::../features.in/README[]
include::../sub.in/README[]
include::../sub.in/main/README[]
include::../sub.in/stage1/README[]
include::../sub.in/stage2/README[]
include::../pkg.in/README[]
include::../pkg.in/lists/README[]
include::../pkg.in/lists/tagged/README[]
include::../pkg.in/groups/README[]
include::../lib/README[]
= Приложения =
include::assumptions.txt[]
include::debug.txt[]
include::style.txt[]
include::vm.txt[]
include::qemu.txt[]

117
doc/params.txt Normal file
View File

@@ -0,0 +1,117 @@
== Переменные make ==
При запуске на сборку принимается ряд переменных
(см. тж. profiles.mk.sample):
* APTCONF
** задаёт путь к требуемому apt.conf
** значение: пусто (по умолчанию системный) либо строка
** см. ../image.in/Makefile, apt.conf.sample
* ARCH
** задаёт целевую архитектуру образов
** значение: пусто (по умолчанию авто), i586, x86_64, arm, ppc
** см. ../lib/build.mk
* ARCHES
** задаёт набор целевых архитектур при параметрическом задании APTCONF
** значение: пусто (по умолчанию авто) либо список через пробел
** см. ../Makefile, profiles.mk.sample
* BELL
** подаёт сигнал после завершения сборки
** значение: пусто (по умолчанию нет) либо любая строка
** см. ../lib/build.mk
* BUILDDIR
** задаёт каталог генерируемого профиля и сборки
** значение: пусто (по умолчанию авто) либо строка
** см. ../lib/profile.mk
* BUILDDIR_PREFIX
** задаёт префикс каталога генерируемого профиля и сборки
** значение: строка; по умолчанию выбирается алгоритмически
** см. ../main.mk
* BUILDLOG
** задаёт путь к файлу журнала сборки/очистки
** значение: по умолчанию $(BUILDDIR)/build.log либо строка
** см. ../lib/log.mk
* CHECK
** включает режим проверки сборки конфигурации (без сборки образа)
** значение: пусто (по умолчанию) либо любая строка
** см. ../lib/build.mk, ../lib/clean.mk
* CLEAN
** экономия RAM+swap при сборке в tmpfs, иначе места на диске
** очистка рабочего каталога после успешной сборки очередной стадии
** может помешать использовать некоторые варианты отладки
** значение: пусто, 0, 1, 2; по умолчанию пусто при DEBUG, иначе 1
** см. ../lib/clean.mk
* DEBUG
** включает средства отладки, может отключить зачистку после сборки
** значение: пусто (по умолчанию), 1 или 2
** см. ../lib/log.mk, ../lib/clean.mk
* HOMEPAGE, HOMENAME, HOMEWAIT
** указывают адрес, название и таймаут перехода для домашней страницы
** значение: корректный URL, строка, целое неотрицательное число
** см. ../features.in/live/generate.mk (тж. по умолчаниям)
* ISOHYBRID
** включает создание гибриднго ISO-образа
** значение: пусто (по умолчанию) либо любая строка
** см. ../features.in/pack/config.mk
* NICE
** понижает нагрузку системы сборочной задачей
** значение: пусто (по умолчанию) либо любая строка
** см. ../lib/build.mk
* REPORT
** запрашивает создание отчётов о собранном образе
** значение: пусто (по умолчанию) либо любая строка
** NB: в силу специфики обработки передаётся только явно
** см. ../Makefile, ../report.mk, ../lib/report.mk
* ROOTPW
** устанавливает пароль root по умолчанию для образов виртуальных машин
** значение: пусто (по умолчанию root) либо строка
** см. ../features.in/build-vm/image-scripts.d/00root
* SAVE_PROFILE
** сохраняет архив сгенерированного профиля в .disk/
** значение: пусто (по умолчанию) либо любая строка
** см. ../image.in/Makefile
* SORTDIR
** дополнительно структурирует каталог собранных образов
** значение: пусто (по умолчанию) либо строка
*** например, '$(IMAGE_NAME)/$(DATE)'
** см. ../image.in/Makefile
* SQUASHFS
** определяет характер сжатия squashfs для stage2
** значение:
*** пусто (по умолчанию) либо normal: xz
*** tight: xz с -Xbcj по платформе (лучше, но дольше -- подбор в два прохода)
*** fast: gzip/lzo (быстрее запаковывается и распаковывается, меньше степень)
** см. ../features.in/stage2/stage1/scripts.d/03-test-kernel
* STATUS
** добавляет в имя образа указанный префикс
** значение:
*** пусто (по умолчанию) либо строка (например, "alpha", "beta")
** см. ../image.in/Makefile
* VM_SIZE
** задаёт размер несжатого образа виртуальной машины в байтах
** значение: пусто (по умолчанию двойной размер чрута) или целое
** см. ../features.in/build-vm/lib/90-build-vm.mk, ../bin/tar2fs
[float]
=== пример ===
make DEBUG=1 CLEAN=1 syslinux.iso

51
doc/pkglists.txt Normal file
View File

@@ -0,0 +1,51 @@
== Списки пакетов ==
Состав пакетной базы субпрофилей определяется значенями
следующих переменных профиля (см. тж. ../conf.d/README;
некоторые "*" ниже заэкранированы ради парсера asciidoc):
* main: пакетная база для установки
** sub.in/main/Makefile, features.in/\*/main/lib/*.mk
** THE_LISTS, BASE_LISTS, MAIN_LISTS
** THE_GROUPS, MAIN_GROUPS
** THE_PACKAGES, BASE_PACKAGES, MAIN_PACKAGES,
SYSTEM_PACKAGES, COMMON_PACKAGES
** THE_PACKAGES_REGEXP, BASE_PACKAGES_REGEXP, MAIN_PACKAGES_REGEXP
** THE_KMODULES, BASE_KMODULES, MAIN_KMODULES, BASE_KMODULES_REGEXP
*** KFLAVOURS
* stage2: общая часть installer, live, rescue
** sub.in/stage2/Makefile, features.in/\*/stage2/lib/*.mk
** SYSTEM_PACKAGES, STAGE2_PACKAGES
** STAGE1_KMODULES, STAGE1_KMODULES_REGEXP,
STAGE2_KMODULES, STAGE2_KMODULES_REGEXP
*** STAGE1_KFLAVOUR или последний из KFLAVOURS
* installer: компактная "живая" система, содержащая только инсталятор
** см. stage2
*** features.in/install2/install2/stage2cfg.mk,
features.in/\*/install2/lib/*.mk
*** INSTALL2_PACKAGES
* live: пользовательский LiveCD (может содержать также инсталятор)
** см. stage2
** features.in/live/live/stage2cfg.mk,
features.in/\*/live/lib/*.mk
** THE_LISTS, LIVE_LISTS
** THE_GROUPS, LIVE_GROUPS
** THE_PACKAGES, LIVE_PACKAGES, COMMON_PACKAGES
** THE_PACKAGES_REGEXP, LIVE_PACKAGES_REGEXP
** THE_KMODULES, LIVE_KMODULES
* rescue: спасательный LiveCD
** см. stage2
** features.in/rescue/rescue/stage2cfg.mk
** RESCUE_PACKAGES, COMMON_PACKAGES
** RESCUE_LISTS
* stage1: ядро и загрузчик второй стадии
** sub.in/stage1/Makefile, features.in/\*/stage1/lib/*.mk
** STAGE1_PACKAGES, SYSTEM_PACKAGES
** STAGE1_PACKAGES_REGEXP
** STAGE1_KMODULES_REGEXP
*** STAGE1_KFLAVOUR или последний из KFLAVOURS

View File

@@ -1,4 +1,5 @@
# sample ~/.mkimage/profiles.mk
# NB: REPORT doesn't work here, it's somewhat special
# where to look for apt.conf; system one used by default
#APTCONF = ~/apt/apt.conf.$(ARCH)

11
doc/qemu.txt Normal file
View File

@@ -0,0 +1,11 @@
== QEMU ==
Для сборки на "неродной" архитектуре с применением трансляции
посредством QEMU установите пакет livecd-qemu-arch и выполните
команду register-qemu-arm от имени root (также предоставляется
register-qemu-ppc, но как минимум при сборке под ppc32 на x86_64
известны проблемы эмуляции).
Пример запуска:
make ARCH=arm APTCONF=/etc/apt/apt.conf.sisyphus.arm ve/bare.tar

View File

@@ -1,8 +1,8 @@
требования по оформлению кода
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
== Оформление кода ==
* постарайтесь не вносить без обсуждения разнобой стилей,
если есть предметные пожелания по коррекции текущего --
пишите в devel-distro@, обсудим;
пишите в devel-distro@ или мне (mike@), обсудим;
* перед тем, как делать существенные переработки уже имеющегося
кода -- опять же опишите проблему, идею и предполагаемый результат,
@@ -11,8 +11,9 @@
* документируйте на русском (README) или английском (README.en) языке
то, что написали или изменили.
рекомендации
~~~~~~~~~~~~
[float]
=== рекомендации ===
* трезво относитесь ко входным данным и не пренебрегайте кавычками:
название дистрибутива с пробелом или получение текста ошибки вместо
ожидаемого вывода команды могут привести к сложнодиагностируемым
@@ -30,7 +31,9 @@
* постарайтесь не вылазить за 80 колонок.
ссылки
~~~~~~
[float]
=== ссылки ===
* https://lists.altlinux.org/mailman/listinfo/devel-distro
(подписка по приглашению)

View File

@@ -1,70 +0,0 @@
переменные make
~~~~~~~~~~~~~~~
При запуске на сборку принимается ряд переменных
(см. тж. profiles.mk.sample):
- APTCONF
+ задаёт путь к требуемому apt.conf
+ значение: пусто (по умолчанию системный) либо строка
+ см. ../image.in/Makefile, apt.conf.sample
- ARCH
+ задаёт целевую архитектуру образов
+ значение: пусто (по умолчанию авто), i586 или x86_64
+ см. ../lib/build.mk
- ARCHES
+ задаёт набор целевых архитектур образов
+ значение: пусто (по умолчанию авто) либо список через пробел
+ см. ../Makefile
- BELL
+ подаёт сигнал после завершения сборки
+ значение: пусто (по умолчанию нет) либо любая строка
+ см. ../lib/build.mk
- BUILDDIR
+ задаёт каталог генерируемого профиля и сборки
+ значение: пусто (по умолчанию авто) либо строка
+ см. ../lib/profile.mk
- BUILDDIR_PREFIX
+ задаёт префикс каталога генерируемого профиля и сборки
+ значение: строка; по умолчанию выбирается алгоритмически
+ см. ../main.mk
- BUILDLOG
+ задаёт путь к файлу журнала сборки/очистки
+ значение: по умолчанию $(BUILDDIR)/build.log либо строка
+ см. ../lib/log.mk
- CHECK
+ включает режим проверки сборки конфигурации
+ значение: пусто (по умолчанию) либо любая строка
+ см. ../lib/build.mk
- CLEAN
+ экономия RAM+swap при сборке в tmpfs, иначе места на диске
+ очистка рабочего каталога после успешной сборки очередной стадии
+ может помешать использовать некоторые варианты отладки
+ значение: любая строка; по умолчанию пусто при DEBUG, иначе 1
+ см. ../lib/clean.mk
- DEBUG
+ включает средства отладки
+ значение: пусто (по умолчанию), 1 или 2
+ см. ../lib/log.mk
- ISOHYBRID
+ включает постобработку ISO-образа isohybrid
+ значение: пусто (по умолчанию) либо любая строка
+ см. ../features.in/pack/config.mk
- NICE
+ понижает нагрузку системы сборочной задачей
+ значение: пусто (по умолчанию) либо любая строка
+ см. ../lib/build.mk
пример
~~~~~~
make DEBUG=1 CLEAN=1 distro/syslinux.iso

34
doc/vm.txt Normal file
View File

@@ -0,0 +1,34 @@
== Сборка образов VM ==
*ВНИМАНИЕ:* заключительная операция создания образа жёсткого диска
из архива с содержимым корневой файловой системы требует доступа
к sudo и разрешения на выполнение скрипта bin/tar2fs в корневом
каталоге метапрофиля при установке mkimage-profiles из пакета
(это в планах исправить, но подход к libguestfs пока успехом
не увенчался).
Соответствующий фрагмент конфигурации sudo(8) может выглядеть как:
mike ALL=NOPASSWD: /usr/share/mkimage-profiles/bin/tar2fs
При работе с локальной копией mkimage-profiles.git следует иметь
в виду, что предоставлять недоверенному пользователю право выполнять
от имени root доступный ему по записи скрипт равнозначно предоставлению
полных привилегий root.
Для работы с более специфичными форматами, чем raw ("буквальный"
образ диска), потребуется утилита qemu-img из одноименного пакета;
см. тж. вывод команды make help/vm
Также потребуется пакет multipath-tools (/sbin/kpartx).
Пример сборки и запуска VM:
$ make ROOTPW=reallysecret1 vm/bare.img && kvm -hda ~/out/bare.img
Если при сборке образа файловой системы произойдёт сбой, может оказаться
нужным вручную освободить используемые loop-устройства, например, так:
# losetup -a
# kpartx -d /dev/loop0
# losetup -d /dev/loop0

View File

@@ -15,18 +15,23 @@
в списке, содержащемся в этой переменной, то она не задействуется
при построении профиля, а только при сборке конфигурации.
Для наиболее ходовых целей use/*, особенно если их много, можно
создавать цели-алиасы +* (например, +power). Просьба относиться
вдумчиво, т.к. в дальнейшем предполагается визуализировать такие
цели в UI конфигурирования образа.
Остальное содержимое является дополнительным и используется
в таком порядке (см. ../Makefile):
- сперва в $(BUILDDIR)/image/ копируются все подкаталоги,
* сперва в $(BUILDDIR)/image/ копируются все подкаталоги,
соответствующие итоговым именам субпрофилей, запрошенных
для профиля образа; при этом они сливаются с деревом,
которое уже сформировано субпрофилями (../sub.in/*) и уже
скопированными фичами; если какие-либо файлы перекрылись
по именам, rsync должен оставить резервные копии (*~),
которые должны просигнализировать о беспорядке;
- запускается generate.sh, если существует и исполнимый;
- применяется generate.mk, если существует и непустой.
* запускается generate.sh, если существует и исполнимый;
* применяется generate.mk, если существует и непустой.
Например, если используются субпрофили stage1, stage2/install2
и main, можно решить собрать специфические для фичи скрипты

View File

@@ -5,7 +5,7 @@
# NB: to be executed, it must be marked executable first :)
# let's do something very useful
echo "$0: WORKDIR=$WORKDIR; directory listig:"
echo "$0: WORKDIR=$WORKDIR; directory listing:"
ls -l "$WORKDIR"
# and let's _not_ terminate with non-zero for no real reason;

View File

@@ -2,23 +2,42 @@
# (only regarding the needed subprofiles)
ifndef BUILDDIR
help all:
help/plus all: banner
@$(call grepper,'^+')
help/features: banner
@$(call grepper,'^use/')
banner:
@echo "** BUILDDIR not defined; available features:"
grepper = $(and $(1),$(grepper_body))
define grepper_body
@for dir in */; do \
echo -n "$$dir: "; \
grep -h '^use/' $$dir/config.mk \
out="`grep -h $(1) $$dir/config.mk \
| cut -f1 -d: \
| tr ' ' '\n\n' \
| grep $(1) \
| tr '\n' ' ' \
| sort -u; \
| sort -u`"; \
[ -z "$$out" ] || echo "$$dir: $$out"; \
done
endef
%:
$(error BUILDDIR not defined)
else
export BUILDDIR
include $(BUILDDIR)/distcfg.mk
# first rsync what's static, and make backups (*~) --
# these might signal of file clashes (or plain dirt);
# second, care for toplevel and tagged script dirs;
# then handle two more ways of implementing a feature
# second, care for toplevel dirs;
# then handle feature generator scripts
#
# NB: some subprofiles will be specified as "src/dst"
# -- then both src/ and dst/ can hold the addons;
@@ -39,6 +58,11 @@ prep:
fi
# feat
# NB: this is somewhat complicated since it has to handle "$sub" like:
# - "/": copy feature's toplevel parts to the BUILDDIR toplevel
# - "stage1": copy feature's stage1 parts into stage1 subprofile
# - "stage2@live": copy feature's stage2 parts into live subprofile
# - "rootfs@/": copy feature's rootfs parts into BUILDDIR toplevel
$(FEATURES):
@feat=$@; \
if [ -n "$(GLOBAL_DEBUG)" ]; then \
@@ -46,27 +70,29 @@ $(FEATURES):
fi; \
pushd "$$feat" >/dev/null && \
for sub in / $(SUBPROFILES); do \
dirtags=; \
if [ "$$sub" = / ]; then \
parts=lib; \
srcdirs="."; \
dst="."; \
else \
parts=; \
src="$${sub%/*}"; \
dst="$${sub#*/}"; \
src="$${sub%@*}"; \
dst="$${sub#*@}"; \
if [ "$$src" = / ]; then \
echo "** src=/: you don't want this" >&2; \
exit 1; \
fi; \
if [ "$$dst" = / -o "$$dst" = "" ]; then \
dst="."; \
fi; \
srcdirs=; \
if [ -d "$$src" ]; then \
srcdirs="$$src"; \
dirtags="&& $$src"; \
fi; \
if [ -d "$$dst" -a "$$dst" != "$$src" ]; then \
srcdirs="$$srcdirs $$dst"; \
dirtags="&& ($$src || $$dst)"; \
srcdirs="$${srcdirs:+$$srcdirs }$$dst"; \
fi; \
: "why this overduplication was done? (still needed)"; \
for srcdir in $$srcdirs; do \
rsync -qab --exclude tagged \
"$$srcdir/" "$(BUILDDIR)/$$dst/"; \
rsync -qab "$$srcdir/" "$(BUILDDIR)/$$dst/"; \
done; \
fi; \
if [ -n "$(GLOBAL_DEBUG)" ]; then \
@@ -75,45 +101,25 @@ $(FEATURES):
for srcdir in $$srcdirs; do \
[ -d "$$srcdir" ] || continue; \
pushd "$$srcdir" >&/dev/null; \
for part in $$parts {image-,}scripts.d; do \
for part in lib {image-,}scripts.d; do \
destdir="$(BUILDDIR)/$$dst/$$part"; \
[ -d "$$destdir" ] || continue; \
if [ "$$sub" = / -a -d "$$part" ]; then \
rsync -qab "$$part/" "$$destdir/"; \
fi; \
[ -d "tagged/$$part" ] || continue; \
[ "$$srcdir" != "." ] || continue; \
pushd "tagged/$$part" >/dev/null; \
echo "$$feat $$dirtags" \
| tags2lists . \
| xargs -r cp -vpLt "$$destdir" --; \
popd >/dev/null; \
done; \
popd >&/dev/null; \
done; \
if type -t git >&/dev/null && \
pushd "$(BUILDDIR)/$$dst/" >/dev/null; then \
test -n "`git status -s`" && \
git add . && \
if [ -n "$$dst" ]; then \
the="$$sub subprofile"; \
else \
the="toplevel"; \
fi && \
git commit -qam "$$feat feature: $$the part added"; \
popd >/dev/null; \
if [ -n "$$dst" -a "$$dst" != "." ]; then \
the="$$sub subprofile"; \
else \
the="toplevel"; \
fi; \
mp-commit "$(BUILDDIR)/$$dst/" "$$feat feature: $$the part added"; \
done; \
if [ -x "generate.sh" ]; then sh generate.sh; fi; \
if [ -s "generate.mk" ]; then $(MAKE) -f generate.mk; fi; \
if type -t git >&/dev/null && \
pushd "$(BUILDDIR)/" >/dev/null; then \
if [ -n "`git status -s`" ]; then \
git add . && \
git commit -qam "$$feat feature generation complete"; \
fi; \
popd >/dev/null; \
fi; \
mp-commit "$(BUILDDIR)" "$$feat feature generation complete"; \
popd >/dev/null
finalize:

View File

@@ -1,32 +1,42 @@
Этот каталог содержит т.н. фичи (features, особенности) --
каталоги, содержимое каждого из которых реализует одну из
подключаемых автономных возможностей образа.
== features.in ==
Каждая фича должна содержать задействуемый при построении
конфигурации будущего образа файл config.mk, включаемый
в ../main.mk; он может описывать одну или более целей
вида use/*, дополняющих конфигурацию, и при наличии
дополнительных хуков для копирования или generate.*
обязан добавить имя фичи в $(FEATURES), для чего
создана функция add_feature без аргументов.
Этот каталог содержит т.н. фичи (features, особенности).
Фича -- отдельно подключаемая сущность, которая содержит
повторно используемые конфигурацию/код и определяет одну
из особенностей создаваемого образа. Может зависеть от
других фич либо субпрофилей.
Каждая фича должна содержать файл config.mk, включаемый
в ../main.mk при построении конфигурации будущего профиля;
он может описывать одну или более целей вида use/*,
дополняющих конфигурацию, и обязан добавить имя фичи
в $(FEATURES), для чего создана функция add_feature.
На этапе генерации сборочного профиля фичи рассматриваются
после инициализации профиля (см. ../image.in/) и копирования
субпрофилей (см. ../sub.in/). Для каждой фичи, указанной
в $(FEATURES), копируются подкаталоги сообразно субпрофилям,
а также производится обработка {tagged/,}{image-,}scripts.d/;
затем выполняется скрипт generate.sh и задействуется generate.mk
(при их наличии).
NB: тегированные скрипты являются экспериментальными,
возможны недоработки и существенные изменения!
в $(FEATURES), копируются подкаталоги сообразно включенным
субпрофилям, а также lib/ и {image-,}scripts.d/; затем
выполняются generate.sh и generate.mk при их наличии.
Если фича дополняет хуками семейство целевых субпрофилей,
построенных на одном базовом, можно воспользоваться подкаталогом
с именем исходного базового субпрофиля (см. $src, $dst в Makefile).
Рекомендуется давать несколько различающиеся имена скриптам,
которые одна и та же фича может добавлять в различные стадии,
чтобы они не выглядели одинаково в логе сборки.
Наиболее востребованные цели можно снабжать "ярлычками" вроде
"+icewm" с тем, чтобы сделать более краткими и выразительными
использующие их правила. Просьба не злоупотреблять количеством,
такие имена предполагается показывать в интерфейсе к профилю.
Каталог lib/ является специфическим для фич, определяющих
построение конкретного вида образа -- см. build-*/.
Несложный пример содержится в 00example/, более близкий к жизни
и нынешним пределам возможностей метапрофиля -- в syslinux/.
См. тж. файлы README в каталогах фич (отсутствие -- баг!).

View File

@@ -0,0 +1 @@
Поддержка SolidRun Cubox в расчёте на подключенный по HDMI дисплей FullHD.

View File

@@ -0,0 +1,3 @@
use/armh-cubox: use/armh
@$(call add_feature)
@$(call set,KFLAVOURS,cubox)

View File

@@ -0,0 +1,19 @@
#!/bin/sh
mkdir -p /boot
# 1920x1080 version of the boot script
cat > /boot/boot << EOF
setenv bootargs 'console=ttyS0,115200 root=/dev/mmcblk0p2 ro video=dovefb:lcd0:1920x1080-32@60-edid clcd.lcd0_enable=1 clcd.lcd1_enable=0 vmalloc=128M panic=3'
ext2load mmc 0:1 2000000 uimage
ext2load mmc 0:1 2800000 uinitrd
bootm 2000000 2800000
EOF
# 1280x720 version of the boot script (not used at the moment)
cat > /boot/boot.720 << EOF
setenv bootargs 'console=ttyS0,115200 root=/dev/mmcblk0p2 ro video=dovefb:lcd0:1280x720-24@60-edid clcd.lcd0_enable=1 clcd.lcd1_enable=0 vmalloc=128M panic=3'
ext2load mmc 0:1 2000000 uimage
ext2load mmc 0:1 2800000 uinitrd
bootm 2000000 2800000
EOF

View File

@@ -0,0 +1 @@
Эта фича обеспечивает начальное конфигурирование Marvell Dove GPU.

View File

@@ -0,0 +1,3 @@
use/armh-dovefb: use/armh
@$(call add_feature)
@$(call add,THE_PACKAGES,xorg-drv-dovefb)

View File

@@ -0,0 +1,106 @@
#!/bin/sh
mkdir -p /etc/udev/rules.d
cd /etc/udev/rules.d
cat > 99-bmm.rules << EOF
KERNEL=="bmm|bmm[0-9]", GROUP="xgrp", MODE="0660"
EOF
cat > 99-fb.rules << EOF
KERNEL=="fb|fb[0-9]", GROUP="xgrp", MODE="0660"
EOF
cat > 99-galcore.rules << EOF
KERNEL=="galcore|galcore[0-9]", GROUP="xgrp", MODE="0660"
EOF
cat > 99-uio.rules << EOF
KERNEL=="uio|uio[0-9]", GROUP="xgrp", MODE="0660"
EOF
mkdir -p /etc/X11
cd /etc/X11
cat > xorg.conf.720 << EOF
Section "Device"
Identifier "Videocard0"
Driver "dovefb"
# Option "ExaAccel" "on"
Option "Solid" "on"
Option "Copy" "on"
Option "Composite" "on"
Option "Commit" "on"
Option "XvAccel" "on"
Option "UseGPU" "on"
EndSection
Section "Monitor"
Identifier "LCD0"
Option "PreferredMode" "1280x720"
EndSection
Section "Screen"
Identifier "Screen 0"
Device "Videocard0"
Monitor "LCD0"
DefaultDepth 24
DefaultFbBpp 24
SubSection "Display"
Depth 24
Modes "1280x720"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Main Layout"
Screen 0 "Screen 0"
EndSection
EOF
cat > xorg.conf.1080 << EOF
Section "Device"
Identifier "Videocard0"
Driver "dovefb"
# Option "ExaAccel" "on"
Option "Solid" "on"
Option "Copy" "on"
Option "Composite" "on"
Option "Commit" "on"
Option "XvAccel" "on"
Option "UseGPU" "on"
#Option "Debug" "on"
EndSection
Section "Monitor"
Identifier "LCD0"
Option "PreferredMode" "1920x1080"
EndSection
Section "Screen"
Identifier "Screen 0"
Device "Videocard0"
Monitor "LCD0"
DefaultDepth 16
DefaultFbBpp 16
SubSection "Display"
Depth 16
Modes "1920x1080@60"
EndSubSection
SubSection "Display"
Depth 24
Modes "1920x1080@60"
EndSubSection
SubSection "Display"
Depth 32
Modes "800x600@60"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Main Layout"
Screen 0 "Screen 0"
EndSection
EOF
ln -s xorg.conf.1080 xorg.conf

View File

@@ -0,0 +1 @@
Эта фича конфигурирует специфические для Google/ASUS Nexus7 аспекты.

View File

@@ -0,0 +1,2 @@
use/armh-nexus7:
@$(call add_feature)

View File

@@ -0,0 +1,172 @@
#!/bin/sh
# FIXME: the exact partition may vary
cat >> /etc/fstab << EOF
# YMMV, this might be /dev/mmcblk0p10 either
/dev/mmcblk0p9 / ext4 defaults 1 1
EOF
cd /etc/udev/rules.d || exit 1
cat > 90-tegra-rt5640.rules << EOF
SUBSYSTEM!="sound", GOTO="tegra_rt5640_end"
ACTION!="change", GOTO="tegra_rt5640_end"
KERNEL!="card*", GOTO="tegra_rt5640_end"
ATTRS{id}=="tegrart5640", ENV{PULSE_PROFILE_SET}="tegra-nexus7.conf"
LABEL="tegra_rt5640_end"
EOF
cd /usr/share/pulseaudio/alsa-mixer/profile-sets || exit 1
cat > tegra-nexus7.conf << EOF
[General]
auto-profiles = yes
[Mapping analog-stereo]
device-strings = front:%f hw:%f plughw:%f
channel-map = left,right
paths-output = tegra-nexus7-speaker tegra-nexus7-headphone
paths-input = tegra-nexus7-intmic
priority = 10
EOF
cd /etc/X11 || exit 1
cat > xorg.conf << EOF
Section "Device"
Identifier "nexus"
Driver "tegra"
EndSection
EOF
cd /etc/X11/xorg.conf.d || exit 1
cat > 99-nexus-calibration.conf << EOF
Section "InputClass"
Identifier "Nexus 7 Touchscreen"
MatchIsTouchscreen "on"
MatchProduct "elan-touchscreen"
MatchDevicePath "/dev/input/event*"
MatchDriver "evdev"
# Option "Calibration" "29 2125 106 1356"
# Option "SwapAxes" "0"
# Option "Calibration" "566 1201 1025 2075"
# Option "SwapAxes" "1"
Option "Calibration" "6 2132 29 1294"
Option "SwapAxes" "0"
EndSection
EOF
cat > 99-nexus-rotation.conf << EOF
Section "Monitor"
Identifier "Monitor"
Option "Rotate" "right"
EndSection
Section "Screen"
Identifier "Screen"
Monitor "Monitor"
EndSection
EOF
cd /usr/share/pulseaudio/alsa-mixer/paths || exit 1
cat > tegra-nexus7-headphone.conf << EOF
[General]
priority = 90
name = analog-output-headphones
[Jack HP-detect]
state.plugged = yes
[Element Master]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
[Element HP]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
[Element Headphone Jack]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
[Element Int Spk]
switch = off
; Due to a kernel bug (?) the "Int Mic" is a playback control.
; Therefore we enable it here instead of in the proper place
[Element Int Mic]
switch = on
EOF
cat > tegra-nexus7-intmic.conf << EOF
[General]
priority = 90
name = analog-input-microphone-internal
[Element ADC]
; For some reason the ADC volume seems not to be affecting input gain
switch = mute
volume = zero
override-map.1 = all
override-map.2 = all-left,all-right
[Element ADC Boost Gain]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
[Element Int Mic]
switch = mute
[Element DMIC]
enumeration = select
[Option DMIC:DMIC1]
priority = 89
name = analog-input-internal-microphone
EOF
cat > tegra-nexus7-speaker.conf << EOF
[General]
priority = 100
name = analog-output-speaker
[Jack HP-detect]
state.plugged = no
state.unplugged = unknown
[Element Master]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
[Element Speaker]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
[Element Int Spk]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
[Element Headphone Jack]
switch = off
; Due to a kernel bug (?) the "Int Mic" is a playback control.
; Therefore we enable it here instead of in the proper place
[Element Int Mic]
switch = on
EOF

View File

@@ -0,0 +1 @@
Эта фича предназначена для базовой поддержки систем на чипсете NVIDIA Tegra3.

View File

@@ -0,0 +1,2 @@
use/armh-tegra3:
@$(call add_feature)

View File

@@ -0,0 +1,28 @@
#!/bin/sh
cd /etc/udev/rules.d || exit 1
cat > 69-tegra-gpu.rules << EOF
# Set the right permissions to the devices provided by the
# tegra driver
ENV{ACL_MANAGE}=="0", GOTO="tegra_gpu_end"
ACTION!="add|change", GOTO="tegra_gpu_end"
# root only devices
KERNEL=="knvrm" OWNER="root" GROUP="root" MODE="0660"
KERNEL=="knvmap" OWNER="root" GROUP="root" MODE="0660"
# graphics devices
ACTION=="add|change", KERNEL=="nvhost*", GROUP="xgrp", MODE="0660"
ACTION=="add|change", KERNEL=="nvmap*", GROUP="xgrp", MODE="0660"
ACTION=="add|change", KERNEL=="tegra*", GROUP="xgrp", MODE="0660"
ACTION=="add|change", KERNEL=="nvram", GROUP="xgrp", MODE="0660"
ACTION=="add|change", KERNEL=="nvhdcp*", GROUP="xgrp", MODE="0660"
LABEL="tegra_gpu_end"
EOF
# FIXME: xgrp is a kludge
cat > 69-tegra-touchscreen.rules << EOF
SUBSYSTEM=="input",ACTION=="add|change",KERNEL=="event*",ATTRS{name}=="elan-touchscreen", SYMLINK+="twofingtouch", MODE="0660", GROUP="xgrp"
EOF

2
features.in/armh/README Normal file
View File

@@ -0,0 +1,2 @@
Эта фича занимается тем подмножеством необходимой для ARM-образов
функциональности, которую получается как-то обобщить.

View File

@@ -0,0 +1,2 @@
use/armh: use/control/sudo-su
@$(call add_feature)

View File

@@ -0,0 +1,2 @@
#!/bin/sh
echo 'HWCLOCK_SET_TIME_AT_START=false' >> /etc/sysconfig/clock

View File

@@ -0,0 +1,48 @@
#!/bin/sh
kver="$(rpm -qa 'kernel-image*' \
--qf '%{installtime} %{version}-%{name}-%{release}\n' \
| sort -n \
| tail -n 1 \
| cut -f 2 -d ' ' \
| sed 's/kernel-image-//')"
[ -h /boot/vmlinuz ] || ln -s vmlinuz-$kver /boot/vmlinuz
[ -h /boot/initrd.img ] || ln -s initrd-$kver.img /boot/initrd.img
# NB: mkinitrd-3.0.16+ has rootsubdir support which is critical
# for TWRP based ARM "VE" chroots (e.g. for nexus7);
# should be implemented in make-initrd either
### rootfs type should become configurable
if rpm -q mkinitrd; then
mkinitrd --with ext4 -f /boot/initrd-$kver.img "$kver"
fi
# NB: if the adresses ever become different this "API" _will_ change
# NB: initrd compression (-C) might change, armadaxp handles gzip
umk() {
[ $# = 4 ] || exit 1
cd /boot
umkimage \
-A arm \
-O linux \
-T "$1" \
-C none \
-a "$2" \
-e "$2" \
-n "`readlink "$3"`" \
-d "$3" \
"$4"
}
### the addresses will become variables some day probably
if rpm -q uboot-tools; then
umk kernel 0x00008000 vmlinuz uimage
umk ramdisk 0x00800000 initrd.img uinitrd
if [ -s boot ]; then
umk script 0 boot boot.scr
fi
fi
:

View File

@@ -0,0 +1,40 @@
#!/bin/sh
# DESCRIPTION
#
# Setup network settings
# 1. Truncate /etc/resolv.conf
# 2. Init /etc/hosts with "127.0.0.1 localhost"
# 3. Set hostname, domainname
# 4. Set defaults for NetworkManager.
# REQUIRES
#
# Nothing
# INFO
# At startup time hostname may be changed by live-hostname package.
. shell-config
NAME="init3-network"
verbose()
{
if [ -n "$GLOBAL_VERBOSE" ]; then
echo "HOOK: $NAME: $@"
fi
}
verbose "has started"
DOMAINNAME="localdomain"
HOSTNAME="localhost.localdomain"
verbose "Init /etc/hosts with 127.0.0.1 localhost"
echo "127.0.0.1 localhost localhost.localdomain" > /etc/hosts
verbose "Truncate /etc/resolv.conf"
echo nameserver 8.8.8.8 >/etc/resolv.conf

View File

@@ -0,0 +1,7 @@
#!/bin/sh
# Sisyphus/armh is not being signed as of June, 2013
repo_source='/etc/apt/sources.list.d/alt.list'
[ -s "$repo_source" ] || exit 0
sed -i 's, \[alt\],,' "$repo_source" ||:

View File

@@ -5,4 +5,14 @@
систему (он НЕ должен требоваться пакету installer-distro-*)
и требует пакет выбранного загрузчика.
Обратите внимание: в процессе конфигурирования дистрибутива
"переключение" загрузчика может происходить только в одну сторону
-- если выставлен grub, произведено переключение на lilo и затем
произведена ещё одна попытка переключения на grub, то в конфигурации
останется lilo как последняя "новая" цель с точки зрения make.
При необходимости всё-таки "пересилить" последнее изменение можно
@$(call set,BASE_BOOTLOADER,grub_или_lilo)
Реализация экспериментальная (нужно модуляризовать installer-steps).

View File

@@ -1,8 +1,11 @@
# TODO: invent something prettier (think "lilo+grub" -- or error out?)
# - add,BASE_PACKAGES,alterator-$* is overly additive
# NB: due to make target becoming having been made,
# the last different one wins
# - remember .base if adding yet another *_PACKAGES
use/bootloader: use/install2 sub/main
@$(call add_feature)
@$(call add,BASE_PACKAGES,alterator-$$(BASE_BOOTLOADER))
use/bootloader/grub use/bootloader/lilo: use/bootloader/%: use/bootloader

View File

@@ -0,0 +1,26 @@
Эта фича врезается в makefile субпрофилей и обеспечивает
добавление задающих внешний вид и сообщения дистрибутива
пакетов; см. тж. http://www.altlinux.org/Branding
Реализация "двумерная" -- отдельно задаётся BRANDING
(см. пакеты branding-*-%version-%release.src.rpm),
затем отдельно указывается, какие и куда помещать
компоненты заданного брендинга.
Назначение и возможные значения (если требуются):
* STAGE1_BRANDING
** относится к загрузке со сгенерированного образа (например, ISO)
** bootloader bootsplash (при старте)
* STAGE2_BRANDING
** общая часть для всех вариантов stage2
** bootsplash (при выключении)
* INSTALL2_BRANDING
** специфические пакеты брендирования инсталятора
** notes slideshow
* THE_BRANDING
** общий список для использования в установленной системе и LiveCD
** alterator bootsplash graphics indexhtml notes slideshow

View File

@@ -0,0 +1,11 @@
# NB: release part of branding goes to install2 feature
use/branding:
@$(call add_feature)
# NB: not every distro might have all the branding of its own
use/branding/full: use/branding use/syslinux/ui/gfxboot
@$(call add,THE_BRANDING,alterator bootsplash graphics)
@$(call add,THE_BRANDING,indexhtml notes slideshow)
use/branding/complete: use/branding/full use/plymouth/full
@$(call add,INSTALL2_BRANDING,notes slideshow)

View File

@@ -0,0 +1 @@
IMAGE_PACKAGES_REGEXP += $(call branding,$(INSTALL2_BRANDING))

View File

@@ -0,0 +1,4 @@
# step 4: build the distribution image
# NB: this comes just before build-distro.mk
DOT_BASE += $(call branding,$(THE_BRANDING))

View File

@@ -0,0 +1 @@
IMAGE_PACKAGES_REGEXP += $(call branding,$(THE_BRANDING))

View File

@@ -0,0 +1 @@
IMAGE_PACKAGES_REGEXP += $(call branding,$(THE_BRANDING))

View File

@@ -0,0 +1 @@
CHROOT_PACKAGES_REGEXP += $(call branding,$(STAGE1_BRANDING))

View File

@@ -0,0 +1 @@
IMAGE_PACKAGES_REGEXP += $(call branding,$(STAGE2_BRANDING))

View File

@@ -1,4 +1,5 @@
Эта фича конфигурирует создание образа дистрибутива, включая работу
с субпрофилями -- которая сейчас нужна только дистрибутивным целям.
Дополняет финальную стадию сборки (lib/, scripts.d/).
Дополняет финальную стадию сборки (lib/, scripts.d/)
и тесно с ней связана.

View File

@@ -0,0 +1,35 @@
# step 4: build the distribution image
# take the latter part for complex-specified subprofiles like stage2@live;
# care to exclude non-directories holding no makefiles like rootfs
SUBDIRS = $(sort $(dir $(wildcard $(addsuffix /Makefile,$(SUBPROFILE_DIRS)))))
# proxy over the ISO metadata collected; see also genisoimagerc(5)
BOOT_SYSI := $(META_SYSTEM_ID)
BOOT_PUBL := $(META_PUBLISHER)
BOOT_PREP := $(META_PREPARER)
BOOT_APPI := $(META_APP_ID)
BOOT_VOLI := $(shell echo $(META_VOL_ID) | cut -c1-32)
BOOT_VOLS := $(META_VOL_SET)
BOOT_BIBL := $(META_BIBLIO)
BOOT_ABST := $(META_ABSTRACT)
DATE_F := $(shell date +%F)
BOOT_TYPE := isolinux
all: $(GLOBAL_DEBUG) prep copy-subdirs copy-tree run-scripts pack-image \
postprocess $(GLOBAL_CLEAN_WORKDIR)
prep: $(GLOBAL_DEBUG) dot-disk $(WHATEVER)
# can't use mp-showref which belongs to the metaprofile
dot-disk:
@mkdir -p files/.disk
@echo "$(META_VOL_ID) $(DATE_F)" >files/.disk/info
@echo "$(ARCH)" >files/.disk/arch
@echo "$(DATE)" >files/.disk/date
@if type -t git >&/dev/null; then \
( cd $(TOPDIR) && test -d .git && \
git show-ref --head -ds -- HEAD ||:) \
>files/.disk/commit 2>/dev/null; \
fi

View File

@@ -1,46 +0,0 @@
# step 4: build the distribution image
# for complex-specified subprofiles like stage2/live,
# take the latter part
SUBDIRS = $(notdir $(SUBPROFILES))
BOOT_TYPE = isolinux
# Metadata/ needed only for installers (and not for e.g. syslinux.iso)
# FIXME: installable live needs it too, don't move to install2 feature
### see also .../pkg.in/lists/Makefile
ifneq (,$(findstring install2,$(FEATURES)))
METADATA = metadata
endif
# see also ../scripts.d/01-isosort; needs mkimage-0.2.2+
MKI_SORTFILE := /tmp/isosort
all: $(GLOBAL_DEBUG) prep copy-subdirs copy-tree run-scripts pack-image \
postprocess $(GLOBAL_CLEAN_WORKDIR)
prep: $(GLOBAL_DEBUG) dot-disk $(METADATA) imagedir
metadata: dot-base
@mkdir -p files/Metadata
@rm -f files/Metadata/pkg-groups.tar
# see also alterator-pkg (backend3/pkg-install); we only tar up what's up to it
@tar -cvf files/Metadata/pkg-groups.tar -C $(PKGDIR) \
$$(echo $(call list,$(MAIN_GROUPS) .base) \
$(call group,$(MAIN_GROUPS)) \
| sed 's,$(PKGDIR)/*,,g')
dot-base:
@p="$(call kpackages,$(THE_KMODULES) $(BASE_KMODULES),$(KFLAVOURS))"; \
echo -e "\n## added by build-distro.mk\n$$p" >> $(call list,.base)
dot-disk:
@mkdir -p files/.disk
@echo "ALT Linux based" >files/.disk/info
@echo "$(ARCH)" >files/.disk/arch
@echo "$(DATE)" >files/.disk/date
@if type -t git >&/dev/null; then \
( cd $(TOPDIR) && test -d .git && \
git show-ref --head -ds -- HEAD ||:) \
>files/.disk/commit 2>/dev/null; \
fi

View File

@@ -1,14 +0,0 @@
#!/bin/sh
# provide mkisofs with image contents sort order hints
### split over features or leave in a single piece?
# NB: only a single space/tab in between, no trailing whitespace
cat > /tmp/isosort <<__EOF__
ALTLinux 0
Metadata 100
altinst 700
rescue 800
live 900
syslinux 1000
__EOF__

View File

@@ -1,3 +1,5 @@
Эта фича конфигурирует создание образа виртуального окружения (VE).
Эта фича конфигурирует создание образа виртуального окружения (VE),
что используется для сборки шаблонов OpenVZ и ARM-чрутов для TWRP.
Дополняет финальную стадию сборки (lib/, image-scripts.d/).
Дополняет финальную стадию сборки (lib/, image-scripts.d/)
и тесно с ней связана.

View File

@@ -1,3 +1,3 @@
# hooked from ../../lib/sugar.mk
use/build-ve:
use/build-ve: sub/rootfs@/
@$(call add_feature)

View File

@@ -8,6 +8,6 @@
[ -x /sbin/chkconfig ] || exit 0
for i in network random syslogd random; do chkconfig $i on; done
for i in network random syslogd; do chkconfig $i on; done
for i in fbsetfont netfs rawdevices; do chkconfig $i off; done
:

View File

@@ -0,0 +1,6 @@
#!/bin/sh
[ -s /etc/fstab ] || cat >> /etc/fstab <<-EOF
proc /proc proc nosuid,noexec,gid=proc 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
EOF

View File

@@ -0,0 +1,9 @@
#!/bin/sh
# by default hasher copy resolv.conf and /etc/hosts from host system
# we need to change it to useful defaults
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
echo 'nameserver 8.8.4.4' > /etc/resolv.conf
#echo 'nameserver 2001:4860:4860::8888' > /etc/resolv.conf
#echo 'nameserver 2001:4860:4860::8844' > /etc/resolv.conf
echo '127.0.0.1 localhost.localdomain localhost' > /etc/hosts

View File

@@ -8,12 +8,14 @@ ifeq (cpio,$(IMAGE_PACKTYPE))
MKI_CPIO_COMPRESS = $(IMAGE_COMPRESS)
endif
IMAGE_PACKAGES = $(call list,$(BASE_LISTS)) \
# some VEs _can_ contain kernels (think ARM multiboot
# but this can also help VE/VM hybrid images)
IMAGE_PACKAGES = $(DOT_BASE) \
$(SYSTEM_PACKAGES) \
$(COMMON_PACKAGES) \
$(BASE_PACKAGES)
$(BASE_PACKAGES) \
$(THE_PACKAGES) \
$(call list,$(BASE_LISTS) $(THE_LISTS))
all: $(GLOBAL_DEBUG) build-image copy-tree run-image-scripts pack-image \
postprocess $(GLOBAL_CLEAN_WORKDIR)
prep: imagedir

View File

@@ -0,0 +1,3 @@
Эта фича конфигурирует создание образа виртуальной машины (VM).
Дополняет финальную стадию сборки (lib/, image-scripts.d/).
Требует для работы sudo(8) -- см. тж. ../../doc/vm.txt .

View File

@@ -0,0 +1,3 @@
# hooked from ../../lib/sugar.mk
use/build-vm: sub/rootfs@/ use/kernel use/deflogin
@$(call add_feature)

View File

@@ -0,0 +1,4 @@
# copy tar2fs helper into generated profile to enable standalone builds
all:
@install -pD $(MKIMAGE_PROFILES)/bin/tar2fs $(BUILDDIR)/bin/tar2fs

View File

@@ -0,0 +1,9 @@
#!/bin/sh
# VMs might have no means to communicate with the outer
# world except for networking
[ -x /sbin/chkconfig ] || exit 0
for i in network random syslogd; do chkconfig $i on; done
for i in fbsetfont netfs rawdevices; do chkconfig $i off; done
:

View File

@@ -0,0 +1,4 @@
#!/bin/sh -e
# we don't need no extra gettys in VMs
[ -s /etc/inittab ] || exit 0
sed -i 's,^[3-9]\+:[0-9]\+:respawn:/sbin/mingetty.*,#&,' /etc/inittab

View File

@@ -0,0 +1,12 @@
#!/bin/sh -e
# tweak syslog configuration to avoid hard sync logging (one is better off
# doing remote syslog if you do care for reliable data anyways)
# credits: vvk@, thresh@ (2010)
CONFIG=/etc/syslog.conf
[ ! -f "$CONFIG" ] || \
sed -i \
-e 's,-/var/log/,/var/log/,g' \
-e 's,/var/log/,-/var/log/,g' \
"$CONFIG"

View File

@@ -0,0 +1,13 @@
#!/bin/sh
# predictable file locations make bootloader configuration simple;
# this script relates to .../features.in/stage2/stage1/scripts.d/80-make-initfs
kver="$(rpm -qa 'kernel-image*' \
--qf '%{installtime} %{version}-%{name}-%{release}\n' \
| sort -n \
| tail -n 1 \
| cut -f 2 -d ' ' \
| sed 's/kernel-image-//')"
ln -s vmlinuz-$kver /boot/vmlinuz
ln -s initrd-$kver.img /boot/initrd.img

View File

@@ -0,0 +1,49 @@
# step 4: build the virtual machine image
IMAGE_PACKAGES = $(DOT_BASE) \
$(SYSTEM_PACKAGES) \
$(COMMON_PACKAGES) \
$(BASE_PACKAGES) \
$(THE_PACKAGES) \
$(call list,$(BASE_LISTS) $(THE_LISTS))
# intermediate chroot archive
VM_TARBALL := $(IMAGE_OUTDIR)/$(IMAGE_NAME).tar
VM_RAWDISK := $(IMAGE_OUTDIR)/$(IMAGE_NAME).raw
VM_FSTYPE ?= ext4
VM_SIZE ?= 0
check-sudo:
@if ! type -t sudo >&/dev/null; then \
echo "** error: sudo not available, see doc/vm.txt" >&2; \
exit 1; \
fi
prepare-image: check-sudo
@if ! sudo $(TOPDIR)/bin/tar2fs \
"$(VM_TARBALL)" "$(VM_RAWDISK)" $(VM_SIZE) $(VM_FSTYPE); then \
echo "** error: sudo tar2fs failed, see also doc/vm.txt" >&2; \
exit 1; \
fi
convert-image: prepare-image
@case "$(IMAGE_TYPE)" in \
"img") mv "$(VM_RAWDISK)" "$(IMAGE_OUTPATH)"; exit 0;; \
"vhd") VM_FORMAT="vpc";; \
*) VM_FORMAT="$(IMAGE_TYPE)"; \
esac; \
if ! type -t qemu-img >&/dev/null; then \
echo "** warning: qemu-img not available" >&2; \
else \
qemu-img convert -O "$$VM_FORMAT" \
"$(VM_RAWDISK)" "$(IMAGE_OUTPATH)"; \
rm "$(VM_RAWDISK)"; \
fi
run-image-scripts: GLOBAL_CLEANUP_PACKAGES := $(CLEANUP_PACKAGES)
# override
pack-image: MKI_PACK_RESULTS := tar:$(VM_TARBALL)
all: $(GLOBAL_DEBUG) build-image copy-tree run-image-scripts pack-image \
convert-image postprocess $(GLOBAL_CLEAN_WORKDIR)

View File

@@ -1,5 +1,6 @@
use/cleanup:
@$(call add_feature)
@$(call xport,CLEANUP_PACKAGES)
use/cleanup/installer: use/cleanup
@$(call add,CLEANUP_PACKAGES,'installer-*')

View File

@@ -0,0 +1,7 @@
#!/bin/sh -efu
# remove temporary packages from the installed system
[ -n "$GLOBAL_CLEANUP_PACKAGES" ] || exit 0
list="$(rpmquery -a --qf='%{NAME}\n' $GLOBAL_CLEANUP_PACKAGES)"
[ -z "$list" ] || apt-get remove -f -y -- $list

View File

@@ -14,7 +14,7 @@ cat > "$SCRIPT" << EOF
# don't override the script start message on the same line
echo "removing $GLOBAL_CLEANUP_PACKAGES"
# remove extra packages from installed system
# remove temporary packages from the installed system
list="\$(exec_chroot rpmquery -a --qf='%{NAME}\\n' $GLOBAL_CLEANUP_PACKAGES)"
[ -z "\$list" ] || exec_chroot apt-get remove -f -y -- \$list
EOF

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