Compare commits

...

441 Commits

Author SHA1 Message Date
Michael Shigorin
f47091fc8f 1.1.14-alt1
- important bugfix: THE_PACKAGES weren't getting through to .base
- regular-sysv-tde related churn
2013-11-25 21:04:02 +04:00
Michael Shigorin
c18ef37274 desktop+network+live: was redundant
live-webkiosk doesn't really need it and mixin/desktop-installer
was picking it up due to d+n+l satisfying d+n query.  This could
be fixed with && !live but fixing bitrot is the better way to go.
2013-11-25 19:42:42 +04:00
Michael Shigorin
3c40bb0d46 metadata: fix THE_PACKAGES processing
Actually the issue was worse in general: *_PACKAGES
weren't quoted when put into .base thus resulting
in a potentially broken echo command (silent one).

The macro scheme used was overgeneralized; stuffing
quoting differentiation into it was doable but ugly
(unless one is able to pass an unquoted quote sign
as a function's parameter in some elegant manner),
let's just make it straightforward.
2013-11-25 09:30:36 +04:00
Michael Shigorin
f6f7caec30 install2: support vbox guest
It's still inconvenient to discover mouse pointer
captured inside a box, let's overthrow the hardware
node and free it.
2013-11-25 00:38:01 +04:00
Michael Shigorin
815b4ebbe0 speech: should use/sound too
It's sort of pointless otherwise.
2013-11-25 00:17:32 +04:00
Michael Shigorin
f383969f37 desktop.mk: mixin/desktop-installer should use/sound
Its scope of desktop does cover basic multimedia.
2013-11-25 00:17:02 +04:00
Michael Shigorin
7a75cb1320 speech: use emacspeak pkglist
...which has just been imported from m-p-d and looked like
badly missing (yasr wasn't starting).
2013-11-25 00:17:02 +04:00
Michael Shigorin
220c760708 base+regular: added zsh
It's /the/ shell.
2013-11-25 00:17:02 +04:00
Michael Shigorin
9ff4d968d8 regular.mk: add luks to .regular-install
distro/.regular-install depends on use/luks now too;
this isn't a hard decision but so far looks good
given the overall functionality range and balance
within regular builds.
2013-11-24 21:29:04 +04:00
Michael Shigorin
e329617c57 regular.mk: move server to grub for the time being
alterator-lilo needs facelift unfortunately.
2013-11-24 21:29:04 +04:00
Michael Shigorin
b1c18d43da branding: added bootloader to components
branding-*-bootloader was handled for stage1 by syslinux feature
but somehow got missed regarding the installed system; let's fix.
2013-11-24 21:29:04 +04:00
Michael Shigorin
45842a0773 pkglists.txt: s/installer/install2/
It was less clear/greppable what "installer" refers to...
or maybe so it seems to me.
2013-11-24 21:29:04 +04:00
Michael Shigorin
6d1f4f6b89 regular.mk, p7.mk: initial sysvinit tde installer
I've been considering a way to avoid confusion between:
- a tde based livecd with systemd;
- a tde based livecd with sysvinit;
- a tde based installer with sysvinit
and finally came to conclusion that regular-sysv prefix
will be common for installers with sysvinit within regular.mk
and p7.mk; this might be not perfect but should be good enough.

Note that while regular-sysv-tde.iso is buildable and installs
just fine at the moment I don't plan to publish Sisyphus based
installer builds as a rule since these require extra knowledge
regarding daily use (starting with http://altlinux.org/changes
and/or https://lists.altlinux.org/mailman/listinfo/sisyphus ML
subscription).

Sisyphus-based rescue image is fine as well as LiveCDs are;
installable LiveCDs (most of regular-*.iso) are actually
risky in case user actually installs *and* updates those
having ignored the red "unstable" status in the branding,
and that's the line I'm not going to cross that often.
2013-11-24 21:29:04 +04:00
Michael Shigorin
93cd57c8d2 regular.mk: split out a mixin
Parts common to both livecd and installer images factored out
to avoid duplication.
2013-11-24 21:29:04 +04:00
Michael Shigorin
00c58c3725 bootloader: add a guardian
BASE_BOOTLOADER must have been set to any of the supported
bootloader names somewhere during configuration; it is not
impossible to avoid this elsewhere so let's put a guardian
script which will stop the build which is known to result
in a broken image.
2013-11-24 21:29:04 +04:00
Michael Shigorin
657c0bf6ef 00example, bootloader, install2: drop sub/main
sub/main subprofile should not be requested directly
as documented in its README but rather via use/repo/main;
let's fix this discrepancy and check that no regressions
come hurling down.
2013-11-24 21:29:04 +04:00
Michael Shigorin
02e3012d3b regular.mk: grub by default for installers
This image family doesn't inherit from distro/.installer
and thus could miss the bootloader setup with no problems
(at least until an installed system would attempt booting
without a bootloader).

The whole thing requires some more thinking over and probably
moving more bits to mixins but in the mean time let's make sure
the bootloader *is* configured.
2013-11-24 21:29:04 +04:00
Michael Shigorin
b5b96931ad regular.mk: regular-server refactoring
distro/.regular-install is now factored out to be reused in
tde based installer (and potentially more images later on).

This implies sysvinit at the moment which might change too
but looks just fine right now.
2013-11-24 21:29:04 +04:00
Michael Shigorin
f8bdbdd607 desktop.mk: cosmetics
Fixed line length for distro/kde4-lite target,
shouldn't wrap with good ol' 80x24 xterm.
2013-11-24 21:29:04 +04:00
Michael Shigorin
20138959de desktop.mk: split out a mixin
What was added for networked desktop installers is now needed
for regular desktop installers as well; moved to a mixin.
These will probably get reshaked at some point.
2013-11-24 21:29:03 +04:00
Michael Shigorin
87a22774c0 regular.mk: tde bits: move to mixin
distro/.regular-tde-extras is now mixin/regular-tde which pulls in
several extra bits in addition to just the lists.
2013-11-24 21:29:03 +04:00
Michael Shigorin
3c61d471a0 desktop+razorqt: psi-plus was missing!
It's amazing but I've managed to miss out this brilliant
Qt-based Jabber client; a small selection of plugins is
added as well, suggestions are welcome.
2013-11-24 21:19:37 +04:00
Michael Shigorin
737d0d3cb0 rescue+extra: testdisk-doc is no more
...and it was pretty much useless anyways
(real docs are online).
2013-11-24 21:19:37 +04:00
Michael Shigorin
326142c8f6 speech: handle Headphone output too
...and generalize/de-noise the script a bit.
2013-11-22 21:41:33 +04:00
Michael Shigorin
e469a19e2a speech-*: refactored and unified
These two features were largely an internal fork,
let's refactor them into a single tunable one.
2013-11-22 21:28:37 +04:00
Michael Pozhidaev
5dc287f885 Homeros distro changes:
- speech-ru and speech-en features are added;
- speech-related things removed from homeros features;
- speech/ directory for package lists added and other corresponding changes.
2013-11-12 14:05:41 +07:00
Michael Shigorin
08706b6f43 gear-store-tags 2013-11-04 18:56:05 +04:00
Michael Shigorin
251c26da57 1.1.13-alt1
- rescue friday
2013-11-04 18:54:59 +04:00
Michael Shigorin
da5eae9b17 rescue: set up apt sources unconditionally
Networking is *not* brought up by these rescue images
by default, one is expected to know enough to do that
by hand if needed; still there's no harm to have apt
preconfigured so that it would be operational then.
2013-11-01 20:22:23 +04:00
Michael Shigorin
d3636555b2 rescue: insist on sysvinit
systemd would get pulled in via journal but both are really
irrelevant for these rescue images.
2013-11-01 20:22:09 +04:00
Michael Shigorin
ae10a1bf7c regular.mk: rescue += EFI shell
Wonder how this got missed.
2013-11-01 19:03:39 +04:00
Michael Shigorin
b94bc99e3f rescue: added grub2, syslinux
There are various bootloaders around there and some of them
are supported in ALT Linux; let's provide all the mainstream
ones so that knowledgeable root@ has every tool needed for
most situations needing bootloader repairs.

These might require particular knowledge or special boot mode
(like EFI ones).
2013-11-01 19:03:39 +04:00
Michael Shigorin
e3f5060d90 rescue: added archive/backup/comm pkglists
Being able to handle [compressed] archives of all kinds
tends to be pretty instrumental in rescue operations,
and some backup system clients won't hurt either.

Some ancient Serial words like "minicom" still come handy
at times too.

Comments, constructive criticism and proposals are welcome.
2013-11-01 19:03:39 +04:00
Michael Shigorin
db279fc279 archive+extra: added lziprecover
This doesn't add much but complements the compression utilities.
Maybe it should be moved to rescue+archive, especially if more
tools of this kind get written and packaged.
2013-11-01 19:03:38 +04:00
Michael Shigorin
8b3b306685 rescue+backup: rescue might mean restore
This package list is somewhat non-trivial and controversial:
- bacula client support is a pretty tiny addition; it does require
  extensive knowledge of what's being done and too new client version
  can actually hurt (as the bacula director version must not be lower);
- duplicity was added due to lav@ seemingly using it (it's tiny either).

Suggestions are welcome.
2013-11-01 19:03:38 +04:00
Michael Shigorin
b3e3234c1c rescue+*: added assorted extra packages
It was the proposal to add fsarchiver that has started this;
the package was there in X11-bearing live-rescue.iso but appears
to be a console program thus moved to rescue+misc pkglist;
more than a few rescue-grade utilities have turned up during
a quick look at what else is missing.

shellinabox and dvdsaster have been "added" as candidates since
the former does require additional actions but can provide a nice
security hole if these are taken without extra consideration,
and the latter is just pretty large although might still be useful.
2013-11-01 19:03:38 +04:00
Michael Shigorin
9cebd23bcf desktop+tde: added filelight
This neat little utility helps immendely to deal with
the eternal "where all of my mega/giga/tera/petabyte disk
space went so busy?"... wonder how it could evade m-p ;-)
2013-10-30 21:37:50 +04:00
Michael Shigorin
8834dd824f regular.mk: sync regular-tde{,-sysv} as in extras
I considered these two to be either close forks differing in init system
used (and things involved too much like NM at the moment), or to bring
some more choice along; this commit sticks with the former approach,
namely "let's only toggle the init system and let the rest be the same"
so that choosing the particular implementation can be based on this very
difference and not any other ones added along with it.
2013-10-30 15:33:47 +04:00
Michael Shigorin
cf838e7859 regular.mk: wmaker += gfxboot
...so that locale is selectable at boot (unfortunately there's no
way to do that with text menu so far as cmdline is only changed
in its entirety there and generating it from the bits involved
is Not Implemented Yet as usual).
2013-10-30 15:33:47 +04:00
Michael Shigorin
9e1c834b0d p7.mk: added altlinux-p7-{wmaker,tde-sysv}
Sigh, this kludgy bridge does need maintenance indeed. :-/
2013-10-30 15:33:26 +04:00
Michael Shigorin
1cf502329c gear-store-tags 2013-10-21 22:37:30 +04:00
Michael Shigorin
c104fd0341 1.1.12-alt1
- live-builder update
2013-10-21 22:36:35 +04:00
Michael Shigorin
884c37f044 regular.mk: add /notes/license
Or at least regular-tde-sysv.iso would lack it for livecd-install.
2013-10-21 22:35:10 +04:00
Michael Shigorin
8b4208bd9c spec: require mkimage-preinstall for good
...so that the images are buildable immediately.

It's basically required by mkimage since Linux 3.6,
see the description of that package.
2013-10-21 20:39:01 +04:00
Michael Shigorin
44dbda4170 live+builder: add isoinfo
Helps to analyze the resulting ISO9660 images.
2013-10-21 20:39:01 +04:00
Michael Shigorin
bcaa37704d live.mk: predictable eth setup for live-builder
...as it *does* rely on connectivity.
2013-10-21 20:39:01 +04:00
Michael Shigorin
fde155993a regular.mk: added a few wmaker packages
...to RPMS.main; those eager to use them can install by hand
and configure properly.
2013-10-21 20:39:01 +04:00
Michael Shigorin
af739c1d3d desktop+wmaker+extra: initial pkglist
Some of the excluded dockapps would crash on startup
or just require manual configuration thus getting those
into the default menu on a live image would rather harm.
2013-10-21 20:39:01 +04:00
Michael Shigorin
b44e6e2ed0 regular.mk: more sysvinit-based images
distro/.regular-sysv{,-gtk} intermediate targets are factored out
to form the base for more image targets as at least e17, icewm,
tde and wmaker are fine without systemd-logind.  These represent
both GTK and Qt based environments hence the two footholds.
2013-10-21 20:38:49 +04:00
Michael Shigorin
0ab00c0902 gear-store-tags 2013-10-14 21:13:04 +04:00
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
284 changed files with 3422 additions and 851 deletions

View File

@@ -1,12 +1,12 @@
Name: mkimage-profiles
Version: 0.9.4
Version: 1.1.14
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>
@@ -17,6 +17,7 @@ BuildRequires: /proc
Requires: rsync git-core
Requires: time schedutils sfdisk
Requires: mkimage >= 0.2.5
Requires: mkimage-preinstall
# Recommends: graphviz qemu-img
@@ -37,7 +38,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
@@ -78,6 +79,99 @@ cp -a * %buildroot%mpdir
%doc %docs/*
%changelog
* Mon Nov 25 2013 Michael Shigorin <mike@altlinux.org> 1.1.14-alt1
- important bugfix: THE_PACKAGES weren't getting through to .base
- regular-sysv-tde related churn
* Mon Nov 04 2013 Michael Shigorin <mike@altlinux.org> 1.1.13-alt1
- rescue friday
* Mon Oct 21 2013 Michael Shigorin <mike@altlinux.org> 1.1.12-alt1
- live-builder update
* 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

View File

@@ -1,6 +0,0 @@
object 29388ef555bcc2811d5713e3b6b8a22413f9e1c7
type commit
tag v0.9.3
tagger Michael Shigorin <mike@altlinux.org> 1356984082 +0200
regular

View File

@@ -0,0 +1,6 @@
object 251c26da57b04666a2c074744bf91f0bd7df83d6
type commit
tag v1.1.13
tagger Michael Shigorin <mike@altlinux.org> 1383576950 +0400
rescue friday

View File

@@ -1 +1 @@
e0c9f3e51f9d4cf7dd205a0f15586d5866e1eaf2 v0.9.3
ef6d21aa51ad57e7cba3de2f86f23beff6dbe0cc v1.1.13

View File

@@ -6,15 +6,16 @@
-include $(HOME)/.mkimage/profiles.mk
# for immediate assignment
ifndef ARCHES
ifdef ARCH
ARCHES := $(ARCH)
else
ARCHES := $(shell arch \
ifndef ARCH
ARCH := $(shell arch \
| sed 's/i686/i586/; s/armv7.*/armh/; s/armv.*/arm/; s/ppc.*/ppc/')
endif
ifndef ARCHES
ARCHES := $(ARCH)
endif
export ARCHES
export ARCHES ARCH
export PATH := $(CURDIR)/bin:$(PATH)
@@ -29,8 +30,10 @@ MAKE += -r --no-print-directory
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 $@
@$(MAKE) -f main.mk REPORT= $@
export NUM_TARGETS := $(words $(MAKECMDGOALS))

View File

@@ -30,11 +30,21 @@ $ git config --global user.name "My Name"
$ mkdir ~/out
----
тестовая сборка (см. тж. lib/distro.mk, doc/params.txt)::
тестовая сборка::
----
$ 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

7
README
View File

@@ -1,5 +1,6 @@
[float]
=== Welcome to mkimage-profiles! ===
== Welcome to m-p! ==
*Brief summary*
Configurables: ~/.mkimage/profiles.mk;
see doc/params.txt and conf.d/README
@@ -43,7 +44,7 @@
* субпрофили:
** список собирается в $(SUBPROFILES)
** базовые комплекты помещены в подкаталогах под sub.in/;
их наборы скриптов могут расширяться фичами
их наборы скриптов могут расширяться фичами
* фичи:
** законченные блоки функциональности (или наборы таковых)
** описываются в индивидуальных features.in/*/config.mk

View File

@@ -3,13 +3,19 @@
. 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 [ ! -d .git ]; then
if [ -n "$INIT" -a ! -d .git ]; then
git init -q || fatal "git init failed"
fi
if [ -n "$(git status -s)" ]; then

View File

@@ -21,7 +21,7 @@ while read first second third rest; do
for to in $TO; do
out=" \"$FROM\" -> \"$to\""
case $to in
*distro/*)
*distro/*|*vm/*)
echo "$out [weight=10];";;
*)
echo "$out";;

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,133 +0,0 @@
#!/bin/bash -e
# usage:
# tar2vm chroot.tar image.raw [size_in_bytes]
. shell-error
if [ $# -lt 2 ]; then
fatal "error: tar2vm 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"
# 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"
# image size in bytes (256M is a fallback)
TARSIZE="$(stat -Lc %s "$TAR")"
DEFSIZE="$((2 * $TARSIZE))"
DISKSIZE="${3:-${DEFSIZE:-268435456}}"
# ...and in megabytes
DISKSIZEM="$(($DISKSIZE / 1048576))"
# tested to work: ext[234], jfs
ROOTFSTYPE="${4:-ext4}"
# single root partition hardwired so far,
# add another image for swap if needed
ROOTDEV="/dev/sda1"
# last preparations...
for i in losetup sfdisk parted kpartx mkfs."$ROOTFSTYPE"; do
if ! type -t "$i" >&/dev/null; then
fatal "$i required but not found"
fi
done
LOOPDEV="$(losetup --find)"
ROOTFS="$WORKDIR/chroot"
exit_handler()
{
rc=$?
if [ -n "$ROOTFS" ]; then
umount "$ROOTFS"{/dev,/proc,/sys,}
if [ -n "$LOOPDEV" ]; then
kpartx -d "$LOOPDEV"
losetup --detach "$LOOPDEV"
fi
rm -r -- "$ROOTFS"
rmdir -- "$WORKDIR"
fi
exit $rc
}
trap exit_handler EXIT
# prepare disk image and a filesystem inside it
rm -f -- "$IMG"
dd if=/dev/zero of="$IMG" conv=notrunc \
bs=1 count=1 seek="$(($DISKSIZE - 1))"
losetup "$LOOPDEV" "$IMG"
parted --script "$LOOPDEV" mklabel msdos
parted --script "$LOOPDEV" mkpart primary ext2 1 "$DISKSIZEM"
kpartx -a "$LOOPDEV"
LOOPDEV1="/dev/mapper/$(basename "$LOOPDEV")p1"
mkfs."$ROOTFSTYPE" "$LOOPDEV1"
# mount and populate it
mkdir -pm755 "$ROOTFS"
mount "$LOOPDEV1" "$ROOTFS"
tar -C "$ROOTFS" --numeric-owner -xf "$TAR"
for i in /dev /proc /sys; do mount --bind "$i" "$ROOTFS$i"; done
# NB: different storage modules might be needed for non-kvm
echo "$LOOPDEV1 / $ROOTFSTYPE defaults 1 1" >> "$ROOTFS/etc/fstab"
echo "MODULES_PRELOAD=sd_mod ata_piix $ROOTFSTYPE" >> "$ROOTFS/etc/initrd.mk"
KERNEL="$(readlink $ROOTFS/boot/vmlinuz | sed 's,vmlinuz-,,')"
chroot "$ROOTFS" make-initrd -k "$KERNEL"
sed -i "s,$LOOPDEV1,$ROOTDEV," "$ROOTFS/etc/fstab"
# 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\"
label=linux"
cat > "$ROOTFS"/etc/lilo-loop.conf << EOF
boot=$LOOPDEV
disk=$LOOPDEV
bios=0x80
cylinders=$1
heads=$2
sectors=$3
partition=$LOOPDEV1
start=63
$LILO_COMMON
EOF
chroot "$ROOTFS" lilo -C /etc/lilo-loop.conf
cat > "$ROOTFS"/etc/lilo.conf << EOF
boot=${ROOTDEV%[0-9]*}
$LILO_COMMON
EOF
if [ -n "$SUDO_USER" ]; then
chown "$SUDO_USER" "$IMG" "$ROOTFS" "$WORKDIR"
fi

View File

@@ -1,7 +1,8 @@
== conf.d ==
Этот каталог содержит включаемые фрагменты конфигурации образов с тем,
чтобы было удобнее параллельно разрабатывать специфические дистрибутивы
и VE без излишних merge conflict'ов.
чтобы было удобнее параллельно разрабатывать специфические образы
без излишних merge conflict'ов.
Следует понимать, что основная цель появления mkimage-profiles на свет
-- это уменьшение "форков" внутри семейства дистрибутивных профилей.
@@ -13,47 +14,49 @@
По переменным (см. тж. ../doc/pkglists.txt):
- для пользовательского окружения (live, main) предназначены
* для пользовательского окружения (live, main) предназначены
THE_PACKAGES, THE_LISTS, THE_GROUPS, THE_PACKAGES_REGEXP
- для "обычного общего" (live, main, rescue) есть COMMON_PACKAGES
* для "обычного общего" (live, main, rescue) есть COMMON_PACKAGES
(NB: тоже попадают в базовую установку)
- SYSTEM_PACKAGES стоит применять крайне осторожно -- эти пакеты попадут
* SYSTEM_PACKAGES стоит применять крайне осторожно -- эти пакеты попадут
во все стадии, в том числе в образ чувствительной к объёму install2
(в stage1 -- только в инструментальный чрут); применяйте для того,
что обязано быть и в инсталяторе, и в готовой системе
- для направленного действия служат:
* 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 ("живая" система)
* для направленного действия служат:
** 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_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

@@ -6,20 +6,23 @@ distro/.desktop-base: distro/.installer use/syslinux/ui/vesamenu use/x11/xorg
distro/.desktop-mini: distro/.desktop-base use/x11/xdm +power; @:
distro/.desktop-network: distro/.desktop-mini +vmguest
mixin/desktop-installer: use/x11-autostart use/sound +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-network: distro/.desktop-mini \
mixin/desktop-installer use/stage2/net-eth; @:
distro/.desktop-extra:
@$(call add,BASE_LISTS,$(call tags,(archive || base) && (extra)))
distro/tde: distro/.desktop-mini +tde
@$(call set,KFLAVOURS,led-ws)
distro/kde-lite: distro/.desktop-mini distro/.desktop-network distro/.desktop-extra +kde
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; @:

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 use/speech/en use/isohybrid; @:
endif

View File

@@ -2,21 +2,27 @@
ifeq (distro,$(IMAGE_CLASS))
distro/dos: distro/.init use/dos use/syslinux/ui/menu; @:
distro/rescue: distro/.base use/rescue use/efi use/syslinux/ui/menu; @:
distro/rescue: distro/.base use/rescue use/syslinux/ui/menu \
use/efi/signed use/efi/refind use/efi/shell; @:
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-desktop: distro/.base +live use/plymouth/live; @:
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 \
use/syslinux/timeout/1 use/cleanup +power
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
use/stage2/net-eth use/net-eth/dhcp use/syslinux/timeout/30
@$(call set,KFLAVOURS,$(BIGRAM))
@$(call add,LIVE_LISTS,\
$(call tags,(base || live) && (server || builder)))
@@ -24,54 +30,50 @@ distro/live-builder-mini: distro/.live-base use/dev/mkimage use/dev \
@$(call add,LIVE_PACKAGES,qemu-user-binfmt_misc)
@$(call add,LIVE_PACKAGES,zsh sudo)
distro/live-builder: distro/live-builder-mini use/dev/repo
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)
distro/live-install: distro/.live-base use/live/textinstall; @:
distro/.livecd-install: distro/.live-base use/live/install; @:
distro/live-icewm: distro/.live-desktop use/live/autologin +icewm; @:
distro/live-razorqt: distro/.live-desktop use/live/autologin +razorqt; @:
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-rescue: distro/live-icewm use/efi
@$(call add,LIVE_LISTS,$(call tags,rescue && (fs || live || x11)))
@$(call add,LIVE_LISTS,openssh \
$(call tags,(base || extra) && (archive || rescue || network)))
distro/live-webkiosk-mini: distro/.live-kiosk use/live/hooks use/live/ru
# 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,LIVE_PACKAGES,livecd-webkiosk)
@$(call add,CLEANUP_PACKAGES,'libqt4*' 'qt4*')
@$(call set,KFLAVOURS,led-ws)
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)
@$(call add,LIVE_PACKAGES,alsa-utils udev-alsa)
distro/live-webkiosk: distro/live-webkiosk-mini use/live/desktop; @:
distro/live-flightgear: distro/live-icewm use/live/sound use/x11/3d-proprietary
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-gnome: distro/.live-desktop-ru use/systemd use/live/nodm use/x11/3d-proprietary
@$(call add,LIVE_PACKAGES,gnome3-default)
distro/live-e17: distro/.live-desktop-ru use/x11/e17 use/x11/lightdm/gtk; @:
distro/live-cinnamon: distro/.live-desktop-ru use/live/autologin \
use/x11/cinnamon use/x11/3d-proprietary; @:
distro/live-mate: distro/.live-desktop-ru use/live/nodm use/x11/3d-free
@$(call add,LIVE_LISTS,openssh $(call tags,(desktop || mobile) && mate))
@$(call set,KFLAVOURS,un-def) # the newest one
distro/live-e17: distro/.live-desktop-ru use/live/autologin \
use/x11/e17 use/x11/gdm2.20; @:
distro/live-gimp: distro/live-icewm use/x11/3d-free use/live/ru
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)

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

@@ -0,0 +1,31 @@
# 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-tde-sysv: distro/regular-tde-sysv mixin/p7; @:
distro/altlinux-p7-wmaker: distro/regular-wmaker mixin/p7; @:
distro/altlinux-p7-xfce: distro/regular-xfce mixin/p7; @:
distro/altlinux-p7-sysv-tde: distro/regular-sysv-tde mixin/p7; @:
distro/altlinux-p7-server: distro/regular-server mixin/p7; @:
endif
ifeq (ve,$(IMAGE_CLASS))
ve/altlinux-p7: ve/generic mixin/p7; @:
endif

View File

@@ -1,45 +1,118 @@
# regular build/usage images
ifeq (distro,$(IMAGE_CLASS))
# TODO: use/plymouth/live when luks+plymouth is done, see also #28255
distro/.regular-desktop: distro/.base +live +wireless use/live/ru \
use/live/install use/live/repo use/x11/3d-free use/systemd \
use/firmware/wireless use/efi/signed use/luks \
+vmguest use/memtest use/branding use/syslinux/ui/gfxboot
@$(call add,LIVE_PACKAGES,openssh strace alterator-standalone)
@$(call add,LIVE_PACKAGES,cpufreq-simple)
@$(call add,LIVE_PACKAGES,livecd-online-repo apt-repo)
@$(call add,LIVE_PACKAGES,xdg-user-dirs)
@$(call add,LIVE_PACKAGES,synaptic-usermode)
@$(call add,LIVE_PACKAGES,firefox-ru)
@$(call add,LIVE_PACKAGES,net-tools)
@$(call add,LIVE_PACKAGES,uvcview)
@$(call add,LIVE_PACKAGES,powertop)
@$(call add,LIVE_LISTS,$(call tags,rescue extra))
@$(call add,THE_BRANDING,indexhtml notes alterator bootloader)
@$(call set,KFLAVOURS,std-def)
# 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)
distro/.regular-gtk: distro/.regular-desktop use/x11/gdm2.20; @:
# 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)
distro/regular-icewm: distro/.regular-gtk +icewm use/efi/refind; @:
distro/regular-xfce: distro/.regular-gtk use/x11/xfce; @:
distro/regular-lxde: distro/.regular-gtk use/x11/lxde; @:
# common WM live/installer bits
mixin/regular-desktop: use/x11/xorg use/sound use/xdg-user-dirs
@$(call add,THE_PACKAGES,installer-feature-desktop-other-fs-stage2)
@$(call add,THE_PACKAGES,alterator-notes)
@$(call add,THE_BRANDING,alterator graphics indexhtml notes)
distro/regular-mate: distro/.regular-gtk
@$(call add,LIVE_LISTS,$(call tags,(desktop || mobile) && (mate || nm)))
# WM base target
distro/.regular-base: distro/.regular-x11 mixin/regular-desktop
distro/regular-e17: distro/.regular-gtk use/x11/e17; @:
@$(call add,LIVE_PACKAGES,xterm xorg-xnest)
@$(call add,THE_KMODULES,sound)
# 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-cinnamon: distro/.regular-desktop use/x11/cinnamon
distro/.regular-gtk: distro/.regular-desktop use/x11/lightdm/gtk +plymouth; @:
distro/.regular-sysv: distro/.regular-base +sysvinit; @:
distro/.regular-sysv-gtk: distro/.regular-sysv use/x11/lightdm/gtk; @:
distro/.regular-install: distro/.regular-bare +installer +sysvinit +power \
use/branding use/bootloader/grub use/luks
@$(call add,INSTALL2_BRANDING,alterator notes)
@$(call add,THE_BRANDING,alterator)
distro/.regular-install-x11: distro/.regular-install mixin/regular-desktop
@$(call set,INSTALLER,desktop)
distro/regular-icewm: distro/.regular-sysv-gtk +icewm
@$(call add,LIVE_LISTS,$(call tags,regular icewm))
@$(call set,KFLAVOURS,un-def)
distro/regular-wmaker: distro/.regular-sysv-gtk use/x11/wmaker \
use/syslinux/ui/gfxboot use/efi/refind
@$(call add,LIVE_PACKAGES,livecd-install-wmaker)
@$(call add,LIVE_PACKAGES,xxkb)
@$(call add,MAIN_PACKAGES,wmgtemp wmhdaps wmpomme wmxkbru)
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-tde: distro/.regular-desktop +tde
@$(call add,LIVE_LISTS,$(call tags,desktop nm))
distro/regular-gnome3: distro/.regular-desktop use/x11/gnome3 +plymouth; @:
distro/regular-kde4: distro/.regular-desktop use/x11/kde4 use/x11/kdm4; @:
distro/regular-razorqt: distro/.regular-desktop +razorqt; @:
# reusable bits
mixin/regular-tde: use/syslinux/ui/gfxboot +tde +plymouth
@$(call add,THE_PACKAGES,kdegames kdeedu)
@$(call add,THE_LISTS,openscada)
distro/regular-tde: distro/.regular-desktop mixin/regular-tde +nm; @:
distro/regular-tde-sysv: distro/.regular-sysv mixin/regular-tde \
use/net-eth/dhcp use/efi/refind; @:
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 use/efi/shell
@$(call set,KFLAVOURS,un-def)
@$(call add,RESCUE_PACKAGES,gpm)
distro/regular-sysv-tde: distro/.regular-install-x11 \
mixin/desktop-installer mixin/regular-tde use/branding/complete \
use/net-eth/dhcp use/install2/fs use/efi/refind; @:
distro/regular-server: distro/.regular-install \
use/install2/fs use/server/mini
@$(call add,THE_LISTS,$(call tags,(base || server) && regular))
@$(call set,INSTALLER,altlinux-server)
endif

View File

@@ -1,24 +1,24 @@
# server distributions
ifeq (distro,$(IMAGE_CLASS))
distro/.server-base: distro/.installer use/syslinux/ui/menu use/memtest
distro/.server-base: distro/.installer use/syslinux/ui/menu use/memtest \
use/cleanup/x11-alterator
@$(call add,BASE_LISTS,server-base openssh)
distro/server-nano: distro/.server-base \
use/cleanup/x11-alterator use/bootloader/lilo +power
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-mini: distro/.server-base use/server/mini \
use/cleanup/x11-alterator use/efi
@$(call set,KFLAVOURS,led-ws)
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/install2/net use/hdt use/rescue \
use/firmware/server use/firmware/wireless use/power/acpi/button
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,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,BASE_LISTS,ovz-server)
@$(call add,MAIN_GROUPS,dns-server http-server ftp-server kvm-server)

View File

@@ -6,7 +6,7 @@ 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 use/systemd; @:
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
@@ -19,27 +19,31 @@ distro/live-gns3: distro/live-icewm
@$(call add,LIVE_LISTS,gns3)
@$(call add,LIVE_KMODULES,kvm virtualbox)
distro/live-efi: distro/live-install use/efi
@$(call set,KFLAVOURS,un-def) ### CONFIG_FB_EFI
distro/icewm-efi: distro/icewm use/efi/debug use/firmware
@$(call add,INSTALL2_PACKAGES,strace)
distro/server-systemd: distro/server-mini use/systemd
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 use/systemd; @:
distro/desktop-systemd: distro/icewm +systemd; @:
distro/desktop-plymouth: distro/icewm +plymouth; @:
distro/live-mate-systemd: distro/live-mate use/systemd use/live/install; @:
distro/server-efi: distro/server-mini use/efi/debug; @:
endif # IMAGE_CLASS: distro
@@ -68,9 +72,8 @@ endif # IMAGE_CLASS: ve
ifeq (vm,$(IMAGE_CLASS))
vm/net-static: vm/bare use/vm-net/static use/vm-ssh
@$(call set,VM_NET_IPV4ADDR,10.0.2.16/24)
@$(call set,VM_NET_IPV4GW,10.0.2.2)
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

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

View File

@@ -1,9 +1,14 @@
# virtual machines
ifeq (vm,$(IMAGE_CLASS))
vm/net: vm/bare use/vm-net/dhcp use/vm-ssh; @:
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 +icewm; @:
vm/icewm: vm/net use/cleanup/installer use/repo use/deflogin/altlinuxroot \
use/x11/xorg use/x11/lightdm/gtk use/x11-autologin +icewm; @:
endif

4
doc/.gitignore vendored Normal file
View File

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

View File

@@ -1,8 +1,16 @@
== Предположения фрагментов кода об окружении ==
== Предположения ==
Некоторые фрагменты кода закладываются на определённое поведение
других частей mkimage-profiles либо содержание переменных.
NB: пути приводятся от верхнего уровня; проект в целом предполагает
ALT Linux 6.0+ и GNU make 3.81+ (на которых и разрабатывается),
но может быть портирован вместе с mkimage.
но может быть портирован вместе с mkimage. Если что-либо не работает
или не собирается, стоит проверить на Sisyphus (mkimage, make, hasher,
собственно пакетная база), поскольку именно на нём происходит основная
разработка mkimage-profiles. Сломанная сборка на текущем стабильном
бранче считается ошибкой и подлежит исправлению, если оно технически
возможно на базе этого бранча.
* lib/report.mk
** ожидает, что каждая подлежащая трассированию цель каждого

View File

@@ -10,12 +10,16 @@
* build/build.log
** подробность зависит от значения переменной DEBUG,
которую можно передать при запуске make (см. params.txt);
которую можно передать при запуске make (см. params.txt);
** содержит коммит, из которого происходит сборка, и признак
"грязности" рабочего каталога при наличии модификаций после
этого коммита;
"грязности" рабочего каталога при наличии модификаций после
этого коммита;
** содержит список конфигурационных переменных и их конечных значений,
созданный на основании distcfg.mk (см. тж. build/vars.mk)
созданный на основании 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

@@ -11,14 +11,14 @@
В большинстве случаев можно рекомендовать создание feature
средствами метапрофиля, поскольку при этом дерево кода более
удобно для анализа и обновления (и в отличие от m-p-d -- нет
удобно для анализа и обновления (и в отличие от _m-p-d_ -- нет
вынужденной необходимости либо контролировать включение нужных
фич "вручную" в скриптах по косвенным признакам, либо выносить
их в пакеты installer-feature-*).
Создание и упаковку installer-feature-* можно рекомендовать, если:
* необходимы пакетные зависимости;
* необходимы пакетные зависимости (в т.ч. версии/конфликты);
* требуется компилируемый платформозависимый код (для чего бы...);
* код фичи достаточно специфичен, нетривиален и объёмен,
чтобы загромождать метапрофиль было не очень осмысленно;

View File

@@ -1,11 +1,11 @@
= mkimage-profiles =
Michael Shigorin <mike@altlinux.org>
:DocVersion: v0.2.0
:DocDate: Oct 2012
:DocVersion: v1.0
:DocDate: Jun 2013
= Введение =
mkimage-profiles, или m-p — результат осмысления и обобщения опыта создания
mkimage-profiles, или _m-p_ — результат осмысления и обобщения опыта создания
семейств дистрибутивов свободного программного обеспечения на базе ALT Linux.
*Цели*
@@ -17,11 +17,11 @@ mkimage-profiles, или m-p — результат осмысления и об
*Средства*
Двухуровневость:
метапрофиль более объёмен и сложен, но выгоден для долгосрочной разработки
сгенерированный дистрибутивный профиль более легко обозрим и модифицируем как одноразовый форк
наследственность на уровне индивидуальных особенностей и образов в целом
прозрачность и диагностируемость формирования конфигурации
документированность
* метапрофиль более объёмен и сложен, но выгоден для долгосрочной разработки
* сгенерированный дистрибутивный профиль более легко обозрим и модифицируем как одноразовый форк
* наследственность на уровне индивидуальных особенностей и образов в целом
* прозрачность и диагностируемость формирования конфигурации
* документированность
*Примеры использования*
@@ -29,40 +29,25 @@ mkimage-profiles, или m-p — результат осмысления и об
git clone git://git.altlinux.org/people/mike/packages/mkimage-profiles.git
cd mkimage-profiles
make distro/icewm.iso
include::../README[]
make icewm.iso
= Основы =
include::assumptions.txt[]
include::debug.txt[]
include::features.txt[]
include::../README[]
include::params.txt[]
include::features.txt[]
include::pkglists.txt[]
include::qemu.txt[]
include::style.txt[]
include::vm.txt[]
= Каталоги =
include::../conf.d/README[]
include::../features.in/README[]
include::../image.in/README[]
include::../lib/README[]
include::../pkg.in/README[]
include::../features.in/README[]
include::../sub.in/README[]
@@ -71,3 +56,26 @@ 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[]

View File

@@ -47,7 +47,7 @@
** экономия RAM+swap при сборке в tmpfs, иначе места на диске
** очистка рабочего каталога после успешной сборки очередной стадии
** может помешать использовать некоторые варианты отладки
** значение: любая строка; по умолчанию пусто при DEBUG, иначе 1
** значение: пусто, 0, 1, 2; по умолчанию пусто при DEBUG, иначе 1
** см. ../lib/clean.mk
* DEBUG
@@ -61,7 +61,7 @@
** см. ../features.in/live/generate.mk (тж. по умолчаниям)
* ISOHYBRID
** включает постобработку ISO-образа isohybrid
** включает создание гибриднго ISO-образа
** значение: пусто (по умолчанию) либо любая строка
** см. ../features.in/pack/config.mk
@@ -109,9 +109,9 @@
* VM_SIZE
** задаёт размер несжатого образа виртуальной машины в байтах
** значение: пусто (по умолчанию двойной размер чрута) или целое
** см. ../features.in/build-vm/lib/90-build-vm.mk, ../bin/tar2vm
** см. ../features.in/build-vm/lib/90-build-vm.mk, ../bin/tar2fs
[float]
=== пример ===
make DEBUG=1 CLEAN=1 distro/syslinux.iso
make DEBUG=1 CLEAN=1 syslinux.iso

View File

@@ -1,10 +1,11 @@
== Списки пакетов ==
Состав пакетной базы субпрофилей определяется значенями
следующих переменных профиля (см. тж. ../conf.d/README):
следующих переменных профиля (см. тж. ../conf.d/README;
некоторые "*" ниже заэкранированы ради парсера asciidoc):
* main: пакетная база для установки
** sub.in/main/Makefile, features.in/*/main/lib/*.mk
** 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,
@@ -13,23 +14,23 @@
** THE_KMODULES, BASE_KMODULES, MAIN_KMODULES, BASE_KMODULES_REGEXP
*** KFLAVOURS
* stage2: общая часть installer, live, rescue
** sub.in/stage2/Makefile, features.in/*/stage2/lib/*.mk
* stage2: общая часть install2, 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: компактная "живая" система, содержащая только инсталятор
* install2: компактная "живая" система, содержащая только инсталятор
** см. stage2
*** features.in/install2/install2/stage2cfg.mk,
features.in/*/install2/lib/*.mk
features.in/\*/install2/lib/*.mk
*** INSTALL2_PACKAGES
* live: пользовательский LiveCD (может содержать также инсталятор)
** см. stage2
** features.in/live/live/stage2cfg.mk,
features.in/*/live/lib/*.mk
features.in/\*/live/lib/*.mk
** THE_LISTS, LIVE_LISTS
** THE_GROUPS, LIVE_GROUPS
** THE_PACKAGES, LIVE_PACKAGES, COMMON_PACKAGES
@@ -43,7 +44,7 @@
** RESCUE_LISTS
* stage1: ядро и загрузчик второй стадии
** sub.in/stage1/Makefile, features.in/*/stage1/lib/*.mk
** sub.in/stage1/Makefile, features.in/\*/stage1/lib/*.mk
** STAGE1_PACKAGES, SYSTEM_PACKAGES
** STAGE1_PACKAGES_REGEXP
** STAGE1_KMODULES_REGEXP

View File

@@ -1,4 +1,4 @@
== Требования по оформлению кода ==
== Оформление кода ==
* постарайтесь не вносить без обсуждения разнобой стилей,
если есть предметные пожелания по коррекции текущего --

View File

@@ -1,15 +1,15 @@
== Сборка образов виртуальных машин ==
== Сборка образов VM ==
*ВНИМАНИЕ:* заключительная операция создания образа жёсткого диска
из архива с содержимым корневой файловой системы требует доступа
к sudo и разрешения на выполнение скрипта bin/tar2vm в корневом
к sudo и разрешения на выполнение скрипта bin/tar2fs в корневом
каталоге метапрофиля при установке mkimage-profiles из пакета
(это в планах исправить, но подход к libguestfs пока успехом
не увенчался).
Соответствующий фрагмент конфигурации sudo(8) может выглядеть как:
mike ALL=NOPASSWD: /usr/share/mkimage-profiles/bin/tar2vm
mike ALL=NOPASSWD: /usr/share/mkimage-profiles/bin/tar2fs
При работе с локальной копией mkimage-profiles.git следует иметь
в виду, что предоставлять недоверенному пользователю право выполнять
@@ -25,3 +25,10 @@
Пример сборки и запуска 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

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

View File

@@ -8,6 +8,6 @@
#
# for somewhat more involved example, see syslinux feature
use/00example: sub/main use/anotherfeature
use/00example: use/repo/main use/anotherfeature
@$(call add_feature)
@$(call add,MAIN_PACKAGES,hello)

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

@@ -36,8 +36,8 @@ 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;
@@ -58,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 \
@@ -71,6 +76,13 @@ $(FEATURES):
else \
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"; \
@@ -78,9 +90,9 @@ $(FEATURES):
if [ -d "$$dst" -a "$$dst" != "$$src" ]; then \
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 \
@@ -98,7 +110,7 @@ $(FEATURES):
done; \
popd >&/dev/null; \
done; \
if [ -n "$$dst" ]; then \
if [ -n "$$dst" -a "$$dst" != "." ]; then \
the="$$sub subprofile"; \
else \
the="toplevel"; \

View File

@@ -1,4 +1,5 @@
== features.in ==
Этот каталог содержит т.н. фичи (features, особенности).
Фича -- отдельно подключаемая сущность, которая содержит
@@ -37,3 +38,5 @@
Несложный пример содержится в 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

@@ -12,6 +12,7 @@
останется lilo как последняя "новая" цель с точки зрения make.
При необходимости всё-таки "пересилить" последнее изменение можно
@$(call set,BASE_BOOTLOADER,grub_или_lilo)
Реализация экспериментальная (нужно модуляризовать installer-steps).

View File

@@ -4,7 +4,7 @@
# the last different one wins
# - remember .base if adding yet another *_PACKAGES
use/bootloader: use/install2 sub/main
use/bootloader:
@$(call add_feature)
@$(call add,BASE_PACKAGES,alterator-$$(BASE_BOOTLOADER))

View File

@@ -0,0 +1,6 @@
#!/bin/sh
if [ -z "$GLOBAL_BASE_BOOTLOADER" ]; then
echo "** error: BASE_BOOTLOADER empty while bootloader feature requested" >&2
exit 1
fi

View File

@@ -9,18 +9,18 @@
Назначение и возможные значения (если требуются):
- STAGE1_BRANDING
* относится к загрузке со сгенерированного образа (например, ISO)
* bootloader bootsplash (при старте)
* STAGE1_BRANDING
** относится к загрузке со сгенерированного образа (например, ISO)
** bootloader bootsplash (при старте)
- STAGE2_BRANDING
* общая часть для всех вариантов stage2
* bootsplash (при выключении)
* STAGE2_BRANDING
** общая часть для всех вариантов stage2
** bootsplash (при выключении)
- INSTALL2_BRANDING
* специфические пакеты брендирования инсталятора
* notes slideshow
* INSTALL2_BRANDING
** специфические пакеты брендирования инсталятора
** notes slideshow
- THE_BRANDING
* общий список для использования в установленной системе и LiveCD
* alterator bootsplash graphics indexhtml notes slideshow
* THE_BRANDING
** общий список для использования в установленной системе и LiveCD
** alterator bootsplash graphics indexhtml notes slideshow

View File

@@ -4,7 +4,7 @@ use/branding:
# 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,alterator bootloader bootsplash graphics)
@$(call add,THE_BRANDING,indexhtml notes slideshow)
use/branding/complete: use/branding/full use/plymouth/full

View File

@@ -1,23 +1,22 @@
# step 4: build the distribution image
# take the latter part for complex-specified subprofiles like stage2@live
SUBDIRS = $(SUBPROFILE_DIRS)
# 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 := $(META_VOL_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
# 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)
@@ -26,7 +25,7 @@ prep: $(GLOBAL_DEBUG) dot-disk $(WHATEVER)
# can't use mp-showref which belongs to the metaprofile
dot-disk:
@mkdir -p files/.disk
@echo "ALT Linux based" >files/.disk/info
@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 \

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,4 +1,5 @@
Эта фича конфигурирует создание образа виртуального окружения (VE).
Эта фича конфигурирует создание образа виртуального окружения (VE),
что используется для сборки шаблонов OpenVZ и ARM-чрутов для TWRP.
Дополняет финальную стадию сборки (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,10 +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)

View File

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

View File

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

View File

@@ -1,11 +0,0 @@
#!/bin/sh
if [ -n "$GLOBAL_ROOTPW" ]; then
if type -t chpasswd >&/dev/null; then
echo "root:$GLOBAL_ROOTPW" | chpasswd
else
echo "** warning: chpasswd binary missing" >&2
fi
else
echo "** warning: no root password provided, you're on your own" >&2
fi

View File

@@ -1,3 +0,0 @@
#!/bin/sh
# Run scripts from /etc/firsttime.d at first start
[ -f "/var/lock/TMP_1ST" ] || touch "/var/lock/TMP_1ST"

View File

@@ -1,19 +1,17 @@
# step 4: build the virtual machine image
IMAGE_PACKAGES = $(SYSTEM_PACKAGES) \
IMAGE_PACKAGES = $(DOT_BASE) \
$(SYSTEM_PACKAGES) \
$(COMMON_PACKAGES) \
$(BASE_PACKAGES) \
$(THE_PACKAGES) \
$(call list,$(BASE_LISTS) $(THE_LISTS)) \
$(call kpackages,$(THE_KMODULES) $(BASE_KMODULES),$(KFLAVOURS))
$(call list,$(BASE_LISTS) $(THE_LISTS))
# intermediate chroot archive
VM_TARBALL := $(IMAGE_OUTDIR)/$(IMAGE_NAME).tar
VM_RAWDISK := $(IMAGE_OUTDIR)/$(IMAGE_NAME).raw
ifeq (,$(ROOTPW))
$(error please provide root password via ROOTPW)
endif
VM_FSTYPE ?= ext4
VM_SIZE ?= 0
check-sudo:
@if ! type -t sudo >&/dev/null; then \
@@ -22,9 +20,9 @@ check-sudo:
fi
prepare-image: check-sudo
@if ! sudo $(TOPDIR)/bin/tar2vm \
"$(VM_TARBALL)" "$(VM_RAWDISK)" $$VM_SIZE; then \
echo "** error: sudo tar2vm failed, see also doc/vm.txt" >&2; \
@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
@@ -43,7 +41,6 @@ convert-image: prepare-image
fi
run-image-scripts: GLOBAL_CLEANUP_PACKAGES := $(CLEANUP_PACKAGES)
run-image-scripts: GLOBAL_ROOTPW := $(ROOTPW)
# override
pack-image: MKI_PACK_RESULTS := tar:$(VM_TARBALL)

View File

@@ -0,0 +1,2 @@
Эта фича предоставляет интерфейс для конфигурирования дистрибутивных
значений по умолчанию control(8); см. тж. http://altlinux.org/control

View File

@@ -0,0 +1,8 @@
use/control:
@$(call add_feature)
@$(call add,THE_PACKAGES,control)
@$(call xport,CONTROL)
# some presets
use/control/sudo-su: use/control
@$(call add,CONTROL,su:public sudo:public)

View File

@@ -0,0 +1,11 @@
#!/bin/sh
# setup control(8) states
[ -z "$GLOBAL_CONTROL" ] ||
echo "$GLOBAL_CONTROL" \
| tr ' ' '\n' \
| while IFS=':' read facility state; do
[ -z "$facility" -o -z "$state" ] ||
control "$facility" "$state"
done
:

View File

@@ -0,0 +1,4 @@
Эта фича конфигурирует root login и пользователей по умолчанию.
ВНИМАНИЕ: применяйте разумно, т.к. крайне легко создать и оставить
дыру в безопасности!

View File

@@ -0,0 +1,29 @@
# WARNING: the variable values are stored in build config/log!
use/deflogin:
@$(call add_feature)
@$(call add,THE_PACKAGES,shadow-utils passwd)
@$(call xport,ROOTPW)
@$(call xport,USERS)
@$(call xport,GROUPS)
# some presets
# USERS variable chunk format is "login:passwd:admin:sudo"
# GROUPS are just stashed there to include USERS logins created
# livecd: root and altlinux users with no password at all
use/deflogin/empty: use/deflogin use/deflogin/altlinux
@$(call set,ROOTPW,)
@$(call add,USERS,altlinux::1:1)
# mostly used to allow access to videocard and desktop related hardware
use/deflogin/xgrp: use/deflogin
@$(call add,GROUPS,xgrp)
# appliances: "root:altlinux"; "altlinux:root" in "xgrp" group
use/deflogin/altlinuxroot: use/deflogin/xgrp
@$(call try,ROOTPW,altlinux)
@$(call add,USERS,altlinux:root:1:1)
# could also be passed on the commandline
use/deflogin/root: use/deflogin
@$(call try,ROOTPW,altlinux)

View File

@@ -0,0 +1,10 @@
#!/bin/sh
# set root password if any; no-op if it is unset
test="${GLOBAL_ROOTPW=:unset}"
if [ "$test" = ":unset" ]; then
echo "** warning: no root password provided, you're on your own" >&2
else
echo "$GLOBAL_ROOTPW" | passwd --stdin root
fi

View File

@@ -0,0 +1,33 @@
#!/bin/bash
# add regular user(s) assigning passwords and attributes of power
# NB: care that the utilities exist; shadow-utils is warranted
add_user() {
useradd -m "$1" &&
usermod -p "" "$1" &&
if [ -n "$GLOBAL_GROUPS" ]; then
usermod -a --groups "${GLOBAL_GROUPS// /,}" "$1" # bashism
fi ||
echo "*** failed to add user '$1'"
}
set_password() { echo "$1:$2" | chpasswd; }
set_admin() { usermod -a --groups "wheel" "$1"; }
set_sudo() {
[ ! -w "/etc/sudoers" ] ||
echo "$1 ALL=(ALL) ALL" >> "/etc/sudoers"
}
# chpasswd is inteded for batch use but that would be less comprehensible
[ -z "$GLOBAL_USERS" ] ||
echo "$GLOBAL_USERS" \
| tr ' ' '\n' \
| while IFS=':' read login passwd admin sudo; do
add_user "$login"
[ -z "$passwd" ] || set_password "$login" "$passwd"
[ -z "$admin" ] || set_admin "$login"
[ -z "$sudo" ] || set_sudo "$login"
done

View File

@@ -1,6 +1,7 @@
use/dev:
use/dev: use/control
@$(call add_feature)
@$(call add,THE_PACKAGES,git-core hasher gear)
@$(call add,CONTROL,pam_mktemp:enabled)
use/dev/mkimage: use/dev
@$(call add,THE_PACKAGES,mkimage shadow-change su)

View File

@@ -28,7 +28,6 @@ fi
# $TMP
TMP="/tmp/.private/$USER"
control pam_mktemp enabled
sed -i '/^%_tmppath.*tmp$/d' "$HOME/.rpmmacros"
echo "%_tmppath $TMP" >> "$HOME/.rpmmacros"

View File

@@ -0,0 +1,3 @@
Эта фича конфигурирует поддержку клиента домена ALT Linux.
NB: не проверена на инсталяторах!

View File

@@ -0,0 +1,4 @@
use/domain-client: use/net/dhcp
@$(call add_feature)
@$(call add,THE_LISTS,domain-client)
@$(call add,DEFAULT_SERVICES_ENABLE,avahi-daemon)

View File

@@ -0,0 +1,10 @@
#!/bin/sh -efu
dhcpcd_conf="/etc/dhcpcd.conf"
[ -f "$dhcpcd_conf" ] || exit 0
grep -q '^option[[:blank:]]\+vendor_encapsulated_options' "$dhcpcd_conf" || {
echo "# added by 70-network-shares-dhcpcd.sh"
echo "option vendor_encapsulated_options"
} >> "$dhcpcd_conf"

View File

@@ -0,0 +1,6 @@
#!/bin/sh
# bump name services caching time up
[ -s /etc/nscd.conf ] || exit 0
sed -i 's/\(positive-time-to-live[^0-9]*\)[0-9]*$/\1 31536000/g' /etc/nscd.conf

View File

@@ -0,0 +1,117 @@
#!/bin/sh -efu
##
# This script:
# 1) updates pam_mount configuration
# 2) updates pam configuration
#
# NB: network shares automounted only for a particular uid range
. shell-error
msg() {
printf "$* \n"
}
pmconf="/etc/security/pam_mount.conf.xml"
pamconf="/etc/pam.d/system-auth-krb5"
##
# Update pam_mount configuration file
#
update_pmconf() {
local insert_at tmp_conf
tmp_conf="${pmconf}.new"
# no pam_mount: impossible(tm)
[ -w "$pmconf" ] || return 1
# already configured
grep -qs dnssd_lookup "$pmconf" 2>/dev/null && return 0
# configure pam_mount to use avahi
insert_at="$(sed -n '/<!-- Volume definitions -->/=' "$pmconf" \
| head -n 1)"
if [ -z "$insert_at" ]; then
msg "Can't find position for injection in $pmconf"
return 1
fi
# part 1 (head)
head -n $((insert_at-1)) "$pmconf" > "$tmp_conf"
# part 2 (inserted text)
cat >> "$tmp_conf" <<'__EOF__'
<!-- # inserted by 70-network-shares-samba.sh ##################### -->
<volume uid="5000-10000" fstype="cifs" dnssd_lookup="1" mountpoint="/home/%(USER)/share" options="sec=krb5,cruid=%(USERUID)" />
<cifsmount>/sbin/mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o %(OPTIONS)</cifsmount>
<cifsumount>/sbin/umount.cifs %(MNTPT)</cifsumount>
<!-- ############################################################## -->
__EOF__
# part 3 (tail)
sed -n "$insert_at,\$p" "$pmconf" >> "$tmp_conf"
# update config
chown root:root "$tmp_conf"
chmod 644 "$tmp_conf"
mv -f "$tmp_conf" "$pmconf"
# XXX: REMOVE FOR RELEASE
# sed -i -e '/debug enable/ s/0/1/' "$pmconf"
}
##
# Update pam configuration
#
update_pam() {
local append_after
# no pam-config: impossible(tm)
[ -w "$pamconf" ] || return 1
if [ -L "$pamconf" ]; then
pamconf="$(realpath "$pamconf")"
fi
# already configured
grep -qs pam_mount "$pamconf" && return 0
append_after="$(sed -n '/^auth[[:space:]]\+required/=' "$pamconf" \
| tail -n 1)"
[ -n "$append_after" ] &&
sed -i \
-e "$append_after a auth optional pam_mount.so" \
"$pamconf"
append_after="$(sed -n '/^session[[:space:]]\+required/=' "$pamconf" \
| tail -n 1)"
[ -n "$append_after" ] &&
sed -i \
-e "$append_after a session optional pam_mount.so" \
"$pamconf"
append_after="$(sed -n '/^auth[[:space:]]\+required/=' \
"$pamconf"_ccreds | tail -n 1)"
[ -n "$append_after" ] &&
sed -i \
-e "$append_after a auth optional pam_mount.so" \
"$pamconf"_ccreds
### set ccache to predicadable value (ouch!)
sed -i 's|pam_krb5.so use_first_pass$|pam_krb5.so use_first_pass ccache=/tmp/krb5cc_%u|' "$pamconf"
}
##
# Start
#
update_pmconf &&
update_pam

View File

@@ -1,3 +1,5 @@
+efi: use/efi; @:
ifeq (x86_64,$(ARCH))
EFI_LISTS := $(call tags,base efi)
@@ -7,14 +9,24 @@ use/efi:
@$(call set,MKI_VER_MINIMAL,0.2.5) # see #28219
@$(call add,THE_LISTS,$(EFI_LISTS))
@$(call add,RESCUE_LISTS,$(EFI_LISTS))
@$(call add,INSTALL2_PACKAGES,dosfstools)
@$(call add,THE_PACKAGES,$$(EFI_SHELL))
@$(call add,RESCUE_PACKAGES,refind $$(EFI_SHELL))
@$(call add,INSTALL2_PACKAGES,dosfstools fatresize)
@$(call try,EFI_BOOTLOADER,elilo) # default one
use/efi/refind: use/efi
@$(call set,EFI_BOOTLOADER,refind)
use/efi/signed: use/efi
@$(call set,MKI_VER_MINIMAL,0.2.7) # refind->elilo handoff
@$(call set,EFI_CERT,altlinux)
@$(call add,THE_PACKAGES,shim-signed)
@$(call set,EFI_SHELL,efi-shell-signed) # even more useful
@$(call add,RESCUE_PACKAGES,refind-signed)
@$(call add,RESCUE_PACKAGES,openssl sbsigntools)
use/efi/shell: use/efi
@$(call try,EFI_SHELL,efi-shell)
use/efi/debug: use/efi
@$(call add,STAGE2_PACKAGES,efibootmgr gdisk)
@@ -23,6 +35,6 @@ use/efi/debug: use/efi
else
# ignore on an unsupported target arch but make it hybrid at least
use/efi use/efi/refind use/efi/signed use/efi/debug: use/isohybrid
use/efi use/efi/refind use/efi/signed use/efi/shell use/efi/debug: use/isohybrid
endif

View File

@@ -0,0 +1,4 @@
#!/bin/sh
# see also https://bugzilla.altlinux.org/27970
grep -q efivars /etc/modules || echo efivars >> /etc/modules

View File

@@ -1,4 +1,4 @@
#!/bin/sh
# see also https://bugzilla.altlinux.org/27970
echo efivars >> /etc/modules
grep -q efivars /etc/modules || echo efivars >> /etc/modules

View File

@@ -6,6 +6,11 @@ use/firmware:
@$(call add_feature)
@$(call add,SYSTEM_PACKAGES,firmware-linux)
use/firmware/full: use/firmware/server use/firmware/laptop
use/firmware/cpu: use/firmware
@$(call add,THE_PACKAGES,microcode-data-intel microcode_ctl)
use/firmware/server: use/firmware
@$(call add,SYSTEM_PACKAGES,firmware-aic94xx-seq)
@$(call add,THE_PACKAGES_REGEXP,firmware-ql.*)
@@ -17,9 +22,12 @@ use/firmware/wireless: use/firmware
@$(call add,THE_KMODULES,bcmwl ndiswrapper)
@$(call add,THE_PACKAGES,firmware-acx100)
@#$(call add,THE_PACKAGES,firmware-i2400m)
@$(call add,THE_PACKAGES_REGEXP,firmware-carl9170.*)
@#$(call add,THE_PACKAGES_REGEXP,firmware-carl9170.*)
@$(call add,THE_PACKAGES_REGEXP,firmware-prism.*)
@$(call add,THE_PACKAGES_REGEXP,firmware-ipw.*)
@#$(call add,THE_PACKAGES_REGEXP,firmware-iwl.*)
@#$(call add,THE_PACKAGES_REGEXP,firmware-rt.*)
@$(call add,THE_PACKAGES_REGEXP,firmware-zd.*)
use/firmware/laptop: use/firmware/wireless use/firmware/cpu
@$(call add,KMODULES,acpi_call)

5
features.in/fonts/README Normal file
View File

@@ -0,0 +1,5 @@
Эта фича позволяет системно конфигурировать файлы
конфигурации подсистемы конфигурирования шрифтов
fontconfig (sic!), заодно предоставляя прошедшие
обкатку в дистрибутивах варианты предварительно
заданной конфигурации для удобства.

View File

@@ -0,0 +1,15 @@
use/fonts:
@$(call add_feature)
@$(call xport,FONT_FEATURES_ENABLE)
@$(call xport,FONT_FEATURES_DISABLE)
# just stating that kernels and font habits are pretty individual
use/fonts/zerg: use/fonts
@$(call set,FONT_FEATURES_ENABLE,antialias lcdfilter-default \
hinting style-full sub-pixel-rgb)
@$(call set,FONT_FEATURES_DISABLE,no-antialias lcdfilter-none \
unhinted no-sub-pixel)
# nothing configured to add_feature but let's not skip that for consistency
use/fonts/infinality: use/fonts
@$(call add,THE_PACKAGES,libfreetype-infinality fontconfig-infinality)

View File

@@ -0,0 +1,33 @@
#!/bin/sh
# fontconfig-config-config
verbose="${GLOBAL_VERBOSE:+-v}"
verbose() { [ -z "$GLOBAL_VERBOSE" ] || echo "HOOK: 50-fontconfig: $@"; }
verbose "has started"
CONF_DIR="/etc/fonts/conf.d"
AVAIL_DIR="/etc/fonts/conf.avail"
list() { ls "$1"/??-"$2".conf 2>/dev/null; }
enable() {
for i in "$@"; do
if ! list "$CONF_DIR" "$i"; then
AVAIL="$(list "$AVAIL_DIR" "$i" | head -1)"
if [ -n "$AVAIL" ]; then
ln -s $verbose "$AVAIL" "$CONF_DIR/$CONF_ADD"
fi
fi
done
}
disable() {
for i in "$@"; do
$(list "$CONF_DIR" "$i") | xargs -r rm -f $verbose --
done
}
disable $GLOBAL_FONT_FEATURES_DISABLE
enable $GLOBAL_FONT_FEATURES_ENABLE
:

View File

@@ -0,0 +1,5 @@
Каталог содержит основную feature для создания адаптированного
дистрибутива Homeros. Это промежуточный вариант, при помощи которого
можно получить минимальный разговаривающий образ, но, возможно, помимо
его дальнейшего естественного развития требуется ещё осмысление с
точки зрения идей mkimage-profiles.

View File

@@ -0,0 +1,7 @@
use/homeros: use/control/sudo-su use/services
@$(call add_feature)
# @$(call set,BRANDING,simply-linux)
@$(call add,THE_LISTS,homeros/homeros)
@$(call add,THE_LISTS,homeros/yasr)
@$(call add,THE_LISTS,homeros/tools)
@$(call add,DEFAULT_SERVICES_ENABLE,sshd)

View File

@@ -0,0 +1,8 @@
#!/bin/sh -e
echo 'KEYTABLE=ruwin_ct_sh-UTF-8' > /etc/sysconfig/keyboard
cat <<EOF > /etc/sysconfig/i18n
SYSFONT=UniCyr_8x16
LANG=ru_RU.UTF-8
SUPPORTED=ru_RU.UTF-8
EOF

View File

@@ -0,0 +1,4 @@
#!/bin/sh -e
mkdir -p /etc/sudo.d
chmod 700 /etc/sudo.d

View File

@@ -0,0 +1,5 @@
#!/bin/sh -e
useradd altlinux
echo 'altlinux ALL=NOPASSWD:ALL' > /etc/sudo.d/altlinux
chmod 400 /etc/sudo.d/altlinux

View File

@@ -0,0 +1,13 @@
#!/bin/sh
subst s/'^\(1:2345:respawn.*\)$'/'#\1'/ /etc/inittab
cat <<EOF >> /etc/inittab
# yasr is always available on 1-st console;
yasr:2345:respawn:/bin/openvt -w -f -c 1 -- su -l altlinux -c /usr/local/bin/yasr-with-linux-term
EOF
cat <<EOF > /usr/local/bin/yasr-with-linux-term
#!/bin/sh
TERM=linux /usr/bin/yasr
exit \$?
EOF
chmod 755 /usr/local/bin/yasr-with-linux-term

11
features.in/init/README Normal file
View File

@@ -0,0 +1,11 @@
Эта фича определяет систему инициализации, которая будет использована
в пользовательской среде (livecd, установленный дистрибутив, vm).
Она не влияет на состав инсталятора и rescue-образа.
Обратите внимание: как и с use/bootloader/%, в силу особенностей make
переключение в каждую позицию возможно лишь один раз, далее эта цель
считается достигнутой и при последующих вызовах не отрабатывает.
См. тж.:
http://altlinux.org/sysvinit
http://altlinux.org/systemd

View File

@@ -0,0 +1,17 @@
+sysvinit: use/init/sysv; @:
+systemd: use/init/systemd; @:
use/init:
@$(call add_feature)
@$(call add,THE_LISTS,$$(INIT_TYPE))
# THE_LISTS is too late when BASE_PACKAGES have pulled in
# the wrong syslogd-daemon provider already
use/init/sysv: use/init
@$(call set,INIT_TYPE,sysvinit)
@$(call add,BASE_PACKAGES,syslogd)
### i-f should be dropped as soon as rootfs scripts are effective there
use/init/systemd: use/init
@$(call set,INIT_TYPE,systemd)
@$(call add,BASE_PACKAGES,installer-feature-systemd-stage3)

View File

@@ -0,0 +1,25 @@
#!/bin/sh
# the part below relates to systemd as init specifically
rpm -q systemd-sysvinit || exit 0
# file str [str...]
# NB: str is also treated as a regex,
# be careful if you copy the function
sub() {
local file="$1"
shift
for i in "$@"; do
grep -q "^$i" "$file" || echo "$i" >> "$file"
done
}
# tune make-initrd
sub /etc/initrd.mk 'FEATURES += systemd' 'MODULES_PRELOAD += autofs4'
# don't allow systemd to set LANG (see also #27408)
sub /etc/locale.conf 'LANG='
# aufs2 root is rw in reality; but don't bother if there's a record already
grep -q '[[:space:]]/[[:space:]]' /etc/fstab ||
sub /etc/fstab '/dev/root / auto defaults 0 0'

View File

@@ -2,6 +2,9 @@
специфическими для инсталяционного образа настройками
и скриптовыми хуками.
Рекомендуется подключать при помощи +installer, чтобы обеспечить
включение типового набора связанных с инсталятором функций.
При добавлении скриптов в image-scripts.d/ следует позаботиться,
чтобы в компактном livecd, которым является инсталятор, оказались
нужные им утилиты (INSTALL2_PACKAGES). Перегружать его не следует,

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