Compare commits

...

207 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
208 changed files with 2362 additions and 596 deletions

View File

@@ -1,12 +1,12 @@
Name: mkimage-profiles
Version: 1.0.0
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,57 @@ 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

View File

@@ -1,6 +0,0 @@
object 5ffd07c65e360561c7a04f41aff746d9caa165cd
type commit
tag v1.0.0
tagger Michael Shigorin <mike@altlinux.org> 1371463392 +0400
1.0

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 @@
5f4103e2678b4db8760eda8622f094f694f9cdcd v1.0.0
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

@@ -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,134 +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
# NB: xfs doesn't have a spare sector for the bootloader
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

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,16 +6,20 @@ 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 use/stage2/net-eth +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/kde4-lite: distro/.desktop-mini distro/.desktop-network distro/.desktop-extra +kde4-lite
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; @:

View File

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

View File

@@ -10,8 +10,10 @@ distro/syslinux: distro/.init \
use/syslinux/localboot.cfg use/syslinux/ui/vesamenu use/hdt; @:
distro/.live-base: distro/.base use/live/base use/power/acpi/button; @:
distro/.live-x11: distro/.live-base use/live/x11; @:
distro/.live-desktop: distro/.base +live use/live/install use/stage2/net-eth \
use/plymouth/live use/efi; @:
use/plymouth/live; @:
distro/.live-desktop-ru: distro/.live-desktop use/live/ru; @:
distro/.live-kiosk: distro/.base use/live/base use/live/autologin +power \
@@ -20,7 +22,7 @@ distro/.live-kiosk: distro/.base use/live/base use/live/autologin +power \
@$(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)))
@@ -47,9 +49,8 @@ distro/live-rescue: distro/live-icewm use/efi
$(call tags,(base || extra) && (archive || rescue || network)))
# NB: this one doesn't include the browser, needs to be chosen downstream
distro/.live-webkiosk: distro/.live-kiosk use/live/hooks use/live/ru
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,alsa-utils udev-alsa)
@$(call add,CLEANUP_PACKAGES,'libqt4*' 'qt4*')
distro/live-webkiosk-mini: distro/.live-webkiosk
@@ -65,30 +66,18 @@ distro/live-webkiosk: distro/live-webkiosk-mini use/live/desktop; @:
distro/live-webkiosk-chromium: distro/.live-webkiosk
@$(call add,LIVE_PACKAGES,livecd-webkiosk-chromium)
distro/live-flightgear: distro/live-icewm use/live/sound use/x11/3d-proprietary
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)
@$(call add,LIVE_PACKAGES,qtfm openssh-clients rsync)
@$(call add,LIVE_PACKAGES,design-graphics-sisyphus2)
distro/live-sugar: distro/.live-desktop-ru use/x11/sugar; @:
endif

View File

@@ -1,9 +1,10 @@
# p7 base kits
ifeq (distro,$(IMAGE_CLASS))
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; @:
@@ -15,6 +16,16 @@ 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

@@ -6,49 +6,73 @@ distro/.regular-bare: distro/.base +wireless use/efi/signed \
use/memtest use/stage2/net-eth use/kernel/net
@$(call try,SAVE_PROFILE,yes)
# WM base target
distro/.regular-base: distro/.regular-bare +vmguest +live \
use/live/ru use/live/install use/live/repo use/live/rw \
use/luks use/x11/3d-free use/branding
# 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,installer-feature-desktop-other-fs-stage2)
@$(call add,THE_BRANDING,indexhtml notes alterator)
@$(call add,THE_BRANDING,graphics)
@$(call add,LIVE_PACKAGES,gpm livecd-install-apt-cache)
@$(call add,DEFAULT_SERVICES_ENABLE,gpm)
# 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)
# WM base target
distro/.regular-base: distro/.regular-x11 mixin/regular-desktop
# DE base target
# TODO: use/plymouth/live when luks+plymouth is done, see also #28255
distro/.regular-desktop: distro/.regular-base \
use/systemd use/syslinux/ui/gfxboot use/firmware/laptop use/efi/refind
use/syslinux/ui/gfxboot use/firmware/laptop use/efi/refind +systemd
@$(call add,LIVE_PACKAGES,fuse-exfat)
@$(call add,LIVE_LISTS,domain-client)
@$(call add,THE_BRANDING,bootloader)
@$(call set,KFLAVOURS,std-def)
distro/.regular-gtk: distro/.regular-desktop use/x11/lightdm/gtk +plymouth; @:
distro/.regular-sysv: distro/.regular-base +sysvinit; @:
distro/.regular-sysv-gtk: distro/.regular-sysv use/x11/lightdm/gtk; @:
distro/regular-icewm: distro/.regular-base use/x11/lightdm/gtk +icewm
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-desktop use/x11/lightdm/gtk \
use/x11/wmaker
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; @:
distro/regular-xfce: distro/.regular-gtk use/x11/xfce +nm; @:
distro/regular-lxde: distro/.regular-gtk use/x11/lxde use/fonts/infinality
@$(call add,LIVE_LISTS,$(call tags,desktop 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
@$(call add,LIVE_LISTS,$(call tags,(desktop || mobile) && (mate || nm)))
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)
@@ -59,12 +83,18 @@ distro/regular-cinnamon: distro/.regular-gtk \
distro/regular-gnome3: distro/.regular-desktop use/x11/gnome3 +plymouth; @:
distro/regular-tde: distro/.regular-desktop +tde +plymouth
@$(call add,LIVE_LISTS,$(call tags,desktop nm))
@$(call add,LIVE_PACKAGES,kdegames kdeedu)
# 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 +plymouth
use/fonts/zerg +pulse +plymouth
@$(call add,LIVE_LISTS,$(call tags,regular kde4))
distro/regular-razorqt: distro/.regular-desktop +razorqt +plymouth; @:
@@ -72,11 +102,17 @@ 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/syslinux/ui/menu use/hdt use/efi/refind use/efi/shell
@$(call set,KFLAVOURS,un-def)
@$(call add,RESCUE_PACKAGES,gpm)
distro/regular-server: distro/.regular-bare +installer \
use/bootloader/grub use/firmware use/server/mini
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

@@ -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
@@ -26,7 +26,7 @@ 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 use/systemd
distro/server-systemd: distro/server-mini +systemd
@$(call set,KFLAVOURS,std-def)
distro/server-test: distro/server-mini use/relname
@@ -42,9 +42,8 @@ distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \
@$(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
@@ -73,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

View File

@@ -17,11 +17,11 @@ mkimage-profiles, или _m-p_ — результат осмысления и о
*Средства*
Двухуровневость:
метапрофиль более объёмен и сложен, но выгоден для долгосрочной разработки
сгенерированный дистрибутивный профиль более легко обозрим и модифицируем как одноразовый форк
наследственность на уровне индивидуальных особенностей и образов в целом
прозрачность и диагностируемость формирования конфигурации
документированность
* метапрофиль более объёмен и сложен, но выгоден для долгосрочной разработки
* сгенерированный дистрибутивный профиль более легко обозрим и модифицируем как одноразовый форк
* наследственность на уровне индивидуальных особенностей и образов в целом
* прозрачность и диагностируемость формирования конфигурации
* документированность
*Примеры использования*

View File

@@ -47,7 +47,7 @@
** экономия RAM+swap при сборке в tmpfs, иначе места на диске
** очистка рабочего каталога после успешной сборки очередной стадии
** может помешать использовать некоторые варианты отладки
** значение: любая строка; по умолчанию пусто при DEBUG, иначе 1
** значение: пусто, 0, 1, 2; по умолчанию пусто при DEBUG, иначе 1
** см. ../lib/clean.mk
* DEBUG
@@ -109,7 +109,7 @@
* 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]
=== пример ===

View File

@@ -14,14 +14,14 @@
** THE_KMODULES, BASE_KMODULES, MAIN_KMODULES, BASE_KMODULES_REGEXP
*** KFLAVOURS
* stage2: общая часть installer, live, rescue
* 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

View File

@@ -2,14 +2,14 @@
*ВНИМАНИЕ:* заключительная операция создания образа жёсткого диска
из архива с содержимым корневой файловой системы требует доступа
к 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

@@ -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

@@ -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

@@ -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

@@ -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

@@ -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,7 +1,8 @@
# 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)
@@ -12,6 +13,7 @@ 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
@@ -23,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,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

@@ -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

@@ -9,7 +9,6 @@ use/firmware:
use/firmware/full: use/firmware/server use/firmware/laptop
use/firmware/cpu: use/firmware
@$(call add,THE_PACKAGES,firmware-amd-ucode)
@$(call add,THE_PACKAGES,microcode-data-intel microcode_ctl)
use/firmware/server: use/firmware

View File

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

View File

@@ -10,6 +10,6 @@ use/fonts/zerg: use/fonts
@$(call set,FONT_FEATURES_DISABLE,no-antialias lcdfilter-none \
unhinted no-sub-pixel)
# nothing configured to add_feature, let's skip that this time
use/fonts/infinality:
# 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

@@ -1,10 +1,7 @@
use/homeros:
use/homeros: use/control/sudo-su use/services
@$(call add_feature)
# @$(call set,BRANDING,simply-linux)
# @$(call add,THE_BRANDING,menu xfce-settings)
@$(call add,THE_LISTS,homeros/voiceman)
@$(call add,THE_LISTS,homeros/homeros)
@$(call add,THE_LISTS,homeros/tts)
@$(call add,THE_LISTS,homeros/yasr)
@$(call add,THE_LISTS,homeros/tools)
# @$(call set,META_VOL_SET,Homeros)
@$(call add,DEFAULT_SERVICES_ENABLE,sshd)

View File

@@ -1,13 +0,0 @@
#!/bin/sh
cat <<EOF > /etc/rc.d/rc.local
#!/bin/sh
amixer set Master 75%
amixer set Master toggle
amixer set PCM 75%
amixer set PCM toggle
EOF
chmod 755 /etc/rc.d/rc.local

View File

@@ -1,4 +0,0 @@
#!/bin/sh -e
/bin/ln -s /etc/tts.d/rhvoice-en.voiceman /etc/voiceman.d/rhvoice-en.output
/bin/ln -s /etc/tts.d/rhvoice.voiceman /etc/voiceman.d/rhvoice.output

View File

@@ -1,3 +0,0 @@
#!/bin/sh -e
chkconfig sshd on

View File

@@ -2,5 +2,3 @@
mkdir -p /etc/sudo.d
chmod 700 /etc/sudo.d
control su public
control sudo public

View File

@@ -1,3 +0,0 @@
#!/bin/sh -e
chkconfig voiceman on

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,7 +2,8 @@
+installer: use/install2/full; @:
use/install2: use/stage2 sub/stage2@install2 use/metadata use/cleanup/installer
use/install2: use/stage2 sub/stage2@install2 use/metadata \
use/cleanup/installer use/bootloader
@$(call add_feature)
@$(call try,INSTALLER,altlinux-generic) # might be replaced later
@$(call add,INSTALL2_PACKAGES,installer-distro-$$(INSTALLER)-stage2)
@@ -12,7 +13,8 @@ use/install2: use/stage2 sub/stage2@install2 use/metadata use/cleanup/installer
@$(call xport,BASE_BOOTLOADER)
# doesn't use/install2/fs on purpose (at least so far)
use/install2/full: use/install2/packages use/install2/kms use/install2/kvm \
use/install2/full: use/install2/packages use/install2/kms \
use/install2/kvm use/install2/vbox \
use/syslinux/localboot.cfg use/syslinux/ui/menu; @:
# stash local packages within installation media
@@ -30,6 +32,10 @@ use/install2/kms: use/stage2/kms
use/install2/kvm:
@$(call add,INSTALL2_PACKAGES,spice-vdagent xorg-drv-qxl)
# virtualbox guest support for installer
use/install2/vbox:
@$(call add,STAGE1_KMODULES,virtualbox-addition)
# filesystems handling
use/install2/fs: use/install2/xfs use/install2/jfs use/install2/reiserfs; @:

View File

@@ -2,3 +2,8 @@
специфическими для полноценного LiveCD настройками
и скриптовыми хуками, а также создаёт файл index.html
с домашней страницей (редиректором) в корне образа.
Графический вариант безусловно требует x11-autologin,
при появлении необходимости обойтись без него можно
временно продублировать содержимое цели и сообщить
о таком случае.

View File

@@ -2,7 +2,7 @@
# copy stage2 as live
# NB: starts to preconfigure but doesn't use/cleanup yet
use/live: use/stage2 sub/stage2@live
use/live: use/stage2 sub/rootfs@live sub/stage2@live
@$(call add_feature)
@$(call add,CLEANUP_PACKAGES,'installer*')
@@ -17,19 +17,18 @@ else
use/live/rw: use/live; @:
endif
# a very simplistic one
use/live/x11: use/live use/firmware use/x11/xorg
@$(call add,LIVE_PACKAGES,xinit)
# optimized out: use/x11/xorg
use/live/desktop: use/live/base use/x11/wacom use/live/sound \
+vmguest +power +efi
# graphical target (not enforcing xorg drivers or blobs)
use/live/x11: use/live/base use/x11-autologin use/sound +power +efi
@$(call add,LIVE_LISTS,$(call tags,desktop && (live || network)))
@$(call add,LIVE_LISTS,$(call tags,base l10n))
@$(call add,LIVE_PACKAGES,fonts-ttf-dejavu fonts-ttf-droid)
@$(call add,LIVE_PACKAGES,pciutils)
@$(call add,SYSLINUX_CFG,localboot)
# this target specifically pulls free xorg drivers in (and a few more bits)
use/live/desktop: use/live/x11 use/x11/xorg use/x11/wacom \
use/xdg-user-dirs/deep +vmguest; @:
# preconfigure apt for both live and installed-from-live systems
use/live/repo: use/live
@$(call add,LIVE_PACKAGES,installer-feature-online-repo)
@@ -41,7 +40,7 @@ use/live/repo/online:
@$(call add,LIVE_PACKAGES,livecd-online-repo)
# alterator-based permanent installation
use/live/install: use/metadata use/syslinux/localboot.cfg
use/live/install: use/metadata use/xdg-user-dirs use/syslinux/localboot.cfg
@$(call add,LIVE_PACKAGES,livecd-install)
@$(call add,LIVE_PACKAGES,livecd-installer-features)
@@ -49,20 +48,21 @@ use/live/install: use/metadata use/syslinux/localboot.cfg
use/live/textinstall: use/syslinux/localboot.cfg
@$(call add,LIVE_PACKAGES,live-install)
# NB: there's an unconditional live/image-scripts.d/40-autologin script
# *but* it only configures some of the *existing* means; let's add one
# or another for the cases when there should be no display manager
use/live/autologin: use/live/x11
# a very simplistic one
use/live/.x11: use/live use/x11 use/x11-autologin
@$(call add,LIVE_PACKAGES,xinit)
# NB: some implementation has to be added if it's not a display manager
use/live/autologin: use/live/.x11
@$(call add,LIVE_PACKAGES,autologin)
use/live/nodm: use/live/x11
use/live/nodm: use/live/.x11
@$(call add,LIVE_PACKAGES,nodm)
# see also http://www.altlinux.org/Netbook-live/hooks
use/live/hooks: use/live
@$(call add,LIVE_PACKAGES,livecd-run-hooks)
# a crude hack to make sure Russian is supported in a particular image
use/live/ru: use/live
@$(call add,LIVE_PACKAGES,livecd-ru)
use/live/sound: use/live
@$(call add,LIVE_PACKAGES,amixer alsa-utils aplay udev-alsa)

View File

@@ -53,6 +53,7 @@ bridge
clamd
crond
dhcpd
dmeventd
dnsmasq
lvm2-lvmetad
lvm2-monitor

View File

@@ -1,12 +0,0 @@
#!/bin/sh
# Turn on xdg-user-dirs.
# NB: not yet available on t6/p6 hence the warning
. shell-config
if control xdg-user-dirs enabled; then
shell_config_set /etc/xdg/user-dirs.defaults MOVIES 'Documents/Videos'
shell_config_set /etc/xdg/user-dirs.defaults PHOTOS 'Documents/Pictures'
else
echo "** warning: control xdg-user-dirs failed" >&2
fi

View File

@@ -1,6 +1,6 @@
+ltsp: use/ltsp/base; @:
use/ltsp:
use/ltsp: use/sound
@$(call add_feature)
@$(call add,INSTALL2_PACKAGES,installer-feature-ltsp-stage2)
@$(call add,MAIN_LISTS,ltsp-client)

View File

@@ -1,5 +1,7 @@
LUKS_LISTS := $(call tags,security luks)
use/luks:
@$(call add_feature)
@$(call add,BASE_PACKAGES,make-initrd-luks)
@$(call add,THE_LISTS,$(LUKS_LISTS))
@$(call add,RESCUE_LISTS,$(LUKS_LISTS))

View File

@@ -0,0 +1,9 @@
#!/bin/sh
# let's check if support is there until installer-steps are dynamic
CONFIG="/usr/share/install2/installer-steps"
if ! grep -q '^luks$' "$CONFIG"; then
PKG="$(rpm -qf "$CONFIG")"
echo "** warning: luks step missing in ${PKG:-$CONFIG}" >&2
fi

View File

@@ -1,3 +0,0 @@
#!/bin/sh
echo 'FEATURES += luks' >> /etc/initrd.mk

View File

@@ -9,22 +9,25 @@ WHATEVER += metadata
# handle these too
DOT_BASE += $(BASE_PACKAGES_REGEXP)
# args: name, suffix, command
define dump-THEM
if [ -n "$($(1)_$(2))" ]; then echo -e "\n## $(1)_$(2)"; $(3) $($(1)_$(2)); fi;
# args: type, name
define dump
if [ -n "$($(2)_$(1))" ]; then \
echo -e "\n## $(2)_$(1)"; \
case "$(1)" in \
PACKAGES) echo "$($(2)_$(1))";; \
LISTS) cat $($(2)_$(1));; \
esac; \
fi;
endef
dump-PACKAGES = $(call dump-THEM,$(1),PACKAGES,echo)
dump-LISTS = $(call dump-THEM,$(1),LISTS,cat)
# BASE_PACKAGES, BASE_LISTS and whatever else goes into base install;
# thus construct requisite .base packagelist for alterator-pkg
metadata-.base:
@cd $(call list,/); \
{ \
echo "## generated by features.in/metadata/lib/metadata.mk"; \
$(foreach p,SYSTEM COMMON THE BASE,$(call dump-PACKAGES,$(p))) \
$(foreach l,THE BASE,$(call dump-LISTS,$(l))) \
echo "## generated by features.in/metadata/lib/50-metadata.mk";\
$(foreach p,SYSTEM COMMON THE BASE,$(call dump,PACKAGES,$(p))) \
$(foreach l,THE BASE,$(call dump,LISTS,$(l))) \
if [ -n "$(DOT_BASE)" ]; then \
echo -e "\n## DOT_BASE\n$(DOT_BASE)"; \
fi; \

View File

@@ -0,0 +1 @@
Эта фича позволяет задать конфигурацию Ethernet-интерфейсов.

View File

@@ -0,0 +1,9 @@
use/net-eth: use/net
@$(call add_feature)
@$(call xport,NET_ETH)
# typical boilerplate
use/net-eth/dhcp: use/net-eth use/net/dhcp
@$(call add,NET_ETH,eth0:dhcp)
# use e.g. eth0:static:10.0.0.2/24:10.0.0.1 for predefined static configuration

View File

@@ -0,0 +1,51 @@
#!/bin/sh
# parse interface configuration tuples:
# iface:proto[:ipv4addr/netmask[:ipv4gw]]
# and write it down as intended
fatal() { echo "error: $*" >&2; exit 1; }
# simple etcnet configurations are also picked up by NM
if type -t NetworkManager >&/dev/null ||
type -t connmand >&/dev/null; then
NMCTL=yes
else
NMCTL=no
fi
IFACEDIR="/etc/net/ifaces"
# uses global variables
write_iface() {
dir="$IFACEDIR/$iface"
mkdir -p "$dir"
case "$proto" in
dhcp)
;;
static)
[ -n "$ipv4addr" ] || fatal "ipv4addr missing"
echo "$ipv4addr" > "$dir/ipv4address"
[ -z "$ipv4gw" ] ||
echo "default via $ipv4gw" > "$dir/ipv4route"
;;
*)
fatal "unknown proto value: $proto"
;;
esac
{
echo "TYPE=eth"
echo "DISABLED=no"
echo "BOOTPROTO=$proto"
echo "NM_CONTROLLED=$NMCTL"
echo "DISABLED=$NMCTL"
echo "#USE_IFPLUGD=yes"
} > "$dir/options"
}
[ -z "$GLOBAL_NET_ETH" ] ||
echo "$GLOBAL_NET_ETH" \
| tr ' ' '\n' \
| while IFS=':' read iface proto ipv4addr ipv4gw; do
[ -n "$iface" -a -n "$proto" ] || continue
write_iface
done

View File

@@ -0,0 +1,3 @@
Эта фича предназначена для добавления в образ поддержки SSH:
добавляется клиент и конфигурируется сервер (требуется задание
пути к существующему публичному ключу посредством переменной SSH_KEY).

View File

@@ -0,0 +1,4 @@
use/net-ssh: use/net use/services
@$(call add_feature)
@$(call add,THE_LISTS,openssh)
@$(call add,DEFAULT_SERVICES_ENABLE,sshd)

View File

@@ -2,11 +2,12 @@ ifdef BUILDDIR
include $(BUILDDIR)/distcfg.mk
# prepare the provided public SSH key to be carried over into the VM image
# prepare the provided public SSH key to be carried over into the image
all: SSH_DIR = $(BUILDDIR)/files/root/.ssh
all:
@if [ -s "$(SSH_KEY)" ]; then \
install -pD "$(SSH_KEY)" "$(SSH_DIR)/authorized_keys"; \
mkdir -pm0700 "$(SSH_DIR)"; \
install -pm0600 "$(SSH_KEY)" "$(SSH_DIR)/authorized_keys"; \
fi
endif

View File

@@ -0,0 +1,5 @@
Эта фича выполняет предварительное конфигурирование системы
для работы плагинов файл-менеджеров, реализующих взаимодействие
с Samba-сервером для динамического создания разделяемых файловых
ресурсов ("пользовательских шар"). Без добавления соответствующего
файл-менеджера и нужного плагина смысла не имеет.

View File

@@ -0,0 +1,5 @@
# requires thunar-shares-plugin or mate-user-share to make sense
use/net-usershares: use/services use/deflogin
@$(call add,GROUPS,sambashare)
@$(call add,DEFAULT_SERVICES_ENABLE,smb nmb)
@$(call add,THE_PACKAGES,libshell)

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