Compare commits

...

242 Commits

Author SHA1 Message Date
Michael Shigorin
9c09cd1447 1.1.2-alt1
- control and sound features
2013-07-15 22:21:37 +04:00
Michael Shigorin
72986b5321 build-distro: un-hardwire .disk/info
It used to be a hasty static string; something like
"ALT Linux regular-e17/x86_64" seems more relevant.
2013-07-15 21:32:13 +04:00
Michael Shigorin
a10125ffb2 services: update README
The extent of this feature's action should be clear
as well as its prerequisite.
2013-07-15 21:20:59 +04:00
Michael Shigorin
da65dc2fd9 build-distro: skip pseudo subprofiles
rootfs presented a special case when there is no resulting
directory at all as it gets merged with the target subprofile
by design.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Details:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thanks sem@ and boyarsh@ for discussion.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

XFS doesn't spare that space.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tweak distros as appropriate.

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

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

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

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

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

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

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

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

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

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

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

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

Terminus fonts added to account for presets.

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

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

As if it wasn't enough,
- added UEFI support to desktop/,live-desktop intermediate target;
- added live installation capability to desktop/.livecd-install;
- added "net-eth" subfeature to get good ol' eth0 insteal of enp0s3;
- dropped use/x11/autologin as live subprofile sets up
  a supported DM for automatic login anyways.
2013-02-14 21:25:58 +04:00
Michael Shigorin
e5fdaacc94 x11: added fvwm support
It's becoming a relatively popular request ;-)
2013-02-14 21:25:38 +04:00
Michael Shigorin
91466e6643 net-eth: moved from regular.mk to live feature
It'd be better for this commit to appear before 0.9.7
(and clobber the original one) but at least the added
functionality has been tested; time to generalize it.
2013-02-14 21:25:38 +04:00
Michael Shigorin
375e1afe34 gear-store-tags 2013-02-11 22:03:27 +04:00
214 changed files with 2746 additions and 714 deletions

View File

@@ -1,12 +1,12 @@
Name: mkimage-profiles
Version: 0.9.7
Version: 1.1.2
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>
@@ -37,7 +37,7 @@ to choose from, and some ready-made image recipes as well.
Make no mistake: constructing distributions isn't just fun, it takes
a lot of passion and knowledge to produce a non-trivial one. So m-p
(the short nick for mkimage-profiles) is complex too. If you need
(the short alias for mkimage-profiles) is complex too. If you need
-- or want -- to make just a few tweaks to an existing recipe, it might
be easier to comprehend the generated profile (aka builddir) which
contains only the needed subprofiles, script hooks and package lists
@@ -78,6 +78,53 @@ cp -a * %buildroot%mpdir
%doc %docs/*
%changelog
* Mon Jul 15 2013 Michael Shigorin <mike@altlinux.org> 1.1.2-alt1
- control and sound features
* Mon Jul 01 2013 Michael Shigorin <mike@altlinux.org> 1.1.1-alt1
- cuboxism
* Mon Jun 17 2013 Michael Shigorin <mike@altlinux.org> 1.1.0-alt1
- 1.1.x branch: public alpha development status
+ new subprofile: rootfs
+ new features: armh*, deflogin, init, services
+ refactored features: build-*, efi, fonts, live, x11*
+ tar2vm got rewritten as tar2fs, gained ARM support
- minor spec metadata update
* Mon Jun 17 2013 Michael Shigorin <mike@altlinux.org> 1.0.0-alt1
- 1.0
* Mon Jun 10 2013 Michael Shigorin <mike@altlinux.org> 0.9.16-alt1
- 1.0pre
* Mon May 27 2013 Michael Shigorin <mike@altlinux.org> 0.9.15-alt1
- +installer
* Mon May 20 2013 Michael Shigorin <mike@altlinux.org> 0.9.14-alt1
- more regular fixes
* Mon May 13 2013 Michael Shigorin <mike@altlinux.org> 0.9.13-alt1
- regular fixes
* Mon Apr 22 2013 Michael Shigorin <mike@altlinux.org> 0.9.12-alt1
- four weeks later...
* Mon Mar 25 2013 Michael Shigorin <mike@altlinux.org> 0.9.11-alt1
- persistent icewm
* Mon Mar 18 2013 Michael Shigorin <mike@altlinux.org> 0.9.10-alt1
- fonts: axios!
* Tue Feb 26 2013 Michael Shigorin <mike@altlinux.org> 0.9.9-alt1
- regular refactoring
* Tue Feb 19 2013 Michael Shigorin <mike@altlinux.org> 0.9.8.1-alt1
- works with make-initrd 0.8.1+ (see #28578)
* Mon Feb 18 2013 Michael Shigorin <mike@altlinux.org> 0.9.8-alt1
- live fixes/tweaks galore
* Mon Feb 11 2013 Michael Shigorin <mike@altlinux.org> 0.9.7-alt1
- going nightly

View File

@@ -1,6 +0,0 @@
object 5fcc2aaa78b5704b4bc4ec448322680efa2cc332
type commit
tag v0.9.6
tagger Michael Shigorin <mike@altlinux.org> 1360001972 +0400
assorted fixes

View File

@@ -0,0 +1,6 @@
object 40468c8395516cf29c7c6f16b56d46bbb23c3f9f
type commit
tag v1.1.1
tagger Michael Shigorin <mike@altlinux.org> 1372711661 +0000
cuboxism

View File

@@ -1 +1 @@
a3ac943cc53163809f63f514f0f0cc33fff19119 v0.9.6
f48e25ec93bdc02ceda53058eb16780369a41738 v1.1.1

View File

@@ -29,8 +29,10 @@ MAKE += -r --no-print-directory
DIRECT_TARGETS := help help/distro help/ve help/vm clean distclean check
.PHONY: $(DIRECT_TARGETS)
# these build nothing so no use of reports either
$(DIRECT_TARGETS):
@$(MAKE) -f main.mk $@
@$(MAKE) -f main.mk REPORT= $@
export NUM_TARGETS := $(words $(MAKECMDGOALS))

View File

@@ -30,11 +30,21 @@ $ git config --global user.name "My Name"
$ mkdir ~/out
----
тестовая сборка (см. тж. lib/distro.mk, doc/params.txt)::
тестовая сборка::
----
$ make syslinux.iso
----
список доступных целей::
----
$ make help
----
переменные, влияющие на результат (подробнее в doc/params.txt)::
---
$ make ARCH=i586 APTCONF=~/apt/apt.conf.i586 REPORT=1 ve/generic.tar
---
ссылки
~~~~~~
- http://www.altlinux.org/tmpfs

7
README
View File

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

View File

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

238
bin/tar2fs Executable file
View File

@@ -0,0 +1,238 @@
#!/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 "$LOOPDEV"
LOOPROOT="/dev/mapper/$(basename "$LOOPDEV")p$ROOTPART"
# might take a tiny bit of time to actually appear
for i in `seq 10`; do
[ -b "$LOOPROOT" ] && break || sleep 0.1
done
mkfs."$ROOTFSTYPE" "$LOOPROOT"
if [ -n "$BOOTPART" ]; then
LOOPBOOT="/dev/mapper/$(basename "$LOOPDEV")p$BOOTPART"
mkfs."$BOOTFSTYPE" "$LOOPBOOT"
fi
# mount and populate it
mkdir -pm755 "$ROOTFS"
mount "$LOOPROOT" "$ROOTFS"
if [ -n "$BOOTPART" ]; then
mkdir -pm700 "$BOOTFS"
mount "$LOOPBOOT" "$BOOTFS"
fi
tar -C "$ROOTFS" --numeric-owner -xf "$TAR"
for i in /dev /proc /sys; do mount --bind "$i" "$ROOTFS$i"; done
# loop device so lilo could work...
echo "$LOOPROOT / $ROOTFSTYPE relatime 1 1" >> "$ROOTFS/etc/fstab"
# target device at once
if [ -n "$BOOTPART" ]; then
echo "$BOOTDEV /boot $BOOTFSTYPE defaults 1 2" >> "$ROOTFS/etc/fstab"
fi
echo "MODULES_PRELOAD=$INITRD_MODULES $ROOTFSTYPE" >> "$ROOTFS/etc/initrd.mk"
KERNEL="$(readlink $ROOTFS/boot/vmlinuz | sed 's,vmlinuz-,,')"
chroot "$ROOTFS" make-initrd -k "$KERNEL"
# ...target device too
sed -i "s,$LOOPROOT,$ROOTDEV," "$ROOTFS/etc/fstab"
if [ -x /sbin/lilo ]; then
# configure and install bootloader
REGEXP='^Disk .*: ([0-9]+) cylinders, ([0-9]+) heads, ([0-9]+) sectors/track*$'
set -- $(sfdisk -l "$LOOPDEV" | grep -E "$REGEXP" | sed -r "s@$REGEXP@\1 \2 \3@")
LILO_COMMON="lba32
delay=1
vga=0
image=/boot/vmlinuz
initrd=/boot/initrd.img
append=\"root=$ROOTDEV rootdelay=3 quiet\"
label=linux"
cat > "$ROOTFS"/etc/lilo-loop.conf <<-EOF
boot=$LOOPDEV
disk=$LOOPDEV
bios=0x80
cylinders=$1
heads=$2
sectors=$3
partition=$LOOPROOT
start=63
$LILO_COMMON
EOF
chroot "$ROOTFS" lilo -C /etc/lilo-loop.conf
cat > "$ROOTFS"/etc/lilo.conf <<-EOF
boot=$BLOCKDEV
$LILO_COMMON
EOF
fi
if [ -n "$SUDO_USER" ]; then
chown "$SUDO_USER" "$IMG" "$ROOTFS" "$WORKDIR"
fi

View File

@@ -1,133 +0,0 @@
#!/bin/bash -e
# usage:
# tar2vm chroot.tar image.raw [size_in_bytes]
. shell-error
if [ $# -lt 2 ]; then
fatal "error: tar2vm needs at least two arguments"
fi
# this needs env_keep sudo setup to actually work
if [ -n "$GLOBAL_BUILDDIR" ]; then
WORKDIR="$GLOBAL_BUILDDIR/vmroot"
else
WORKDIR="$(mktemp --tmpdir -d vmroot-XXXXX)"
fi
[ -n "$WORKDIR" ] || fatal "couldn't come up with suitable WORKDIR"
[ -n "$GLOBAL_DEBUG" ] || message "WORKDIR: $WORKDIR"
# a tarball containing chroot with a kernel
TAR="$1"
[ -s "$TAR" ] || fatal "source tarball doesn't really exist"
# a path to the image to be generated
IMG="$2"
[ -d "$(dirname "$IMG")" ] || fatal "target directory doesn't exist"
# image size in bytes (256M is a fallback)
TARSIZE="$(stat -Lc %s "$TAR")"
DEFSIZE="$((2 * $TARSIZE))"
DISKSIZE="${3:-${DEFSIZE:-268435456}}"
# ...and in megabytes
DISKSIZEM="$(($DISKSIZE / 1048576))"
# tested to work: ext[234], jfs
ROOTFSTYPE="${4:-ext4}"
# single root partition hardwired so far,
# add another image for swap if needed
ROOTDEV="/dev/sda1"
# last preparations...
for i in losetup sfdisk parted kpartx mkfs."$ROOTFSTYPE"; do
if ! type -t "$i" >&/dev/null; then
fatal "$i required but not found"
fi
done
LOOPDEV="$(losetup --find)"
ROOTFS="$WORKDIR/chroot"
exit_handler()
{
rc=$?
if [ -n "$ROOTFS" ]; then
umount "$ROOTFS"{/dev,/proc,/sys,}
if [ -n "$LOOPDEV" ]; then
kpartx -d "$LOOPDEV"
losetup --detach "$LOOPDEV"
fi
rm -r -- "$ROOTFS"
rmdir -- "$WORKDIR"
fi
exit $rc
}
trap exit_handler EXIT
# prepare disk image and a filesystem inside it
rm -f -- "$IMG"
dd if=/dev/zero of="$IMG" conv=notrunc \
bs=1 count=1 seek="$(($DISKSIZE - 1))"
losetup "$LOOPDEV" "$IMG"
parted --script "$LOOPDEV" mklabel msdos
parted --script "$LOOPDEV" mkpart primary ext2 1 "$DISKSIZEM"
kpartx -a "$LOOPDEV"
LOOPDEV1="/dev/mapper/$(basename "$LOOPDEV")p1"
mkfs."$ROOTFSTYPE" "$LOOPDEV1"
# mount and populate it
mkdir -pm755 "$ROOTFS"
mount "$LOOPDEV1" "$ROOTFS"
tar -C "$ROOTFS" --numeric-owner -xf "$TAR"
for i in /dev /proc /sys; do mount --bind "$i" "$ROOTFS$i"; done
# NB: different storage modules might be needed for non-kvm
echo "$LOOPDEV1 / $ROOTFSTYPE defaults 1 1" >> "$ROOTFS/etc/fstab"
echo "MODULES_PRELOAD=sd_mod ata_piix $ROOTFSTYPE" >> "$ROOTFS/etc/initrd.mk"
KERNEL="$(readlink $ROOTFS/boot/vmlinuz | sed 's,vmlinuz-,,')"
chroot "$ROOTFS" make-initrd -k "$KERNEL"
sed -i "s,$LOOPDEV1,$ROOTDEV," "$ROOTFS/etc/fstab"
# configure and install bootloader
REGEXP='^Disk .*: ([0-9]+) cylinders, ([0-9]+) heads, ([0-9]+) sectors/track*$'
set -- $(sfdisk -l "$LOOPDEV" | grep -E "$REGEXP" | sed -r "s@$REGEXP@\1 \2 \3@")
LILO_COMMON="lba32
delay=1
vga=0
image=/boot/vmlinuz
initrd=/boot/initrd.img
append=\"root=$ROOTDEV rootdelay=3\"
label=linux"
cat > "$ROOTFS"/etc/lilo-loop.conf << EOF
boot=$LOOPDEV
disk=$LOOPDEV
bios=0x80
cylinders=$1
heads=$2
sectors=$3
partition=$LOOPDEV1
start=63
$LILO_COMMON
EOF
chroot "$ROOTFS" lilo -C /etc/lilo-loop.conf
cat > "$ROOTFS"/etc/lilo.conf << EOF
boot=${ROOTDEV%[0-9]*}
$LILO_COMMON
EOF
if [ -n "$SUDO_USER" ]; then
chown "$SUDO_USER" "$IMG" "$ROOTFS" "$WORKDIR"
fi

View File

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

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

@@ -0,0 +1,66 @@
ifeq (armh,$(ARCH))
ifeq (ve,$(IMAGE_CLASS))
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/vm-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 use/armh-cubox use/services/ssh +systemd \
use/cleanup/installer use/repo use/branding use/xdg-user-dirs/deep \
+pulse
@$(call set,KFLAVOURS,cubox)
@$(call set,BRANDING,altlinux-kdesktop)
@$(call add,THE_BRANDING,alterator graphics indexhtml menu notes)
@$(call add,BASE_PACKAGES,glibc-locales vim-console rsync)
@$(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-base: vm/.cubox-bare use/deflogin/altlinuxroot; @:
vm/.cubox-gtk: vm/.cubox-base use/x11/lightdm/gtk +nm; @:
vm/cubox-xfce: vm/.cubox-bare use/slinux/arm use/oem use/net-usershares \
use/domain-client +nm; @:
vm/cubox-xfce-ru: vm/.cubox-gtk use/slinux/arm use/x11-autologin
@$(call add,BASE_PACKAGES,livecd-ru)
vm/cubox-mate: vm/.cubox-gtk use/x11/mate; @:
endif
endif

View File

@@ -6,20 +6,19 @@ distro/.desktop-base: distro/.installer use/syslinux/ui/vesamenu use/x11/xorg
distro/.desktop-mini: distro/.desktop-base use/x11/xdm +power; @:
distro/.desktop-network: distro/.desktop-mini +vmguest
distro/.desktop-network: distro/.desktop-mini use/stage2/net-eth +vmguest
@$(call add,SYSTEM_PACKAGES,fonts-ttf-google-croscore-arimo)
@$(call add,BASE_PACKAGES,udev-rule-generator-net sysklogd)
@$(call add,BASE_LISTS, \
$(call tags,(base || desktop) && (l10n || network)))
distro/.desktop-extra:
@$(call add,BASE_LISTS,$(call tags,(archive || base) && (extra)))
distro/tde: distro/.desktop-mini +tde
@$(call set,KFLAVOURS,led-ws)
distro/kde4-lite: distro/.desktop-mini distro/.desktop-network distro/.desktop-extra +kde4-lite
@$(call set,KFLAVOURS,std-def)
distro/tde: distro/.desktop-network +tde; @:
distro/icewm: distro/.desktop-network use/lowmem use/install2/fs +icewm; @:
distro/ltsp-tde: distro/tde +ltsp; @:
distro/ltsp-icewm: distro/icewm +ltsp; @:

View File

@@ -2,16 +2,22 @@
ifeq (distro,$(IMAGE_CLASS))
distro/dos: distro/.init use/dos use/syslinux/ui/menu; @:
distro/rescue: distro/.base use/rescue use/efi/signed use/syslinux/ui/menu; @:
distro/rescue: distro/.base use/rescue use/syslinux/ui/menu \
use/efi/signed use/efi/refind use/efi/shell; @:
distro/syslinux: distro/.init \
use/syslinux/localboot.cfg use/syslinux/ui/vesamenu use/hdt; @:
distro/.live-base: distro/.base use/live/base use/power/acpi/button; @:
distro/.live-desktop: distro/.base +live use/plymouth/live; @:
distro/.live-x11: distro/.live-base use/live/x11; @:
distro/.live-desktop: distro/.base +live use/live/install use/stage2/net-eth \
use/plymouth/live; @:
distro/.live-desktop-ru: distro/.live-desktop use/live/ru; @:
distro/.live-kiosk: distro/.base use/live/base use/live/autologin \
use/syslinux/timeout/1 use/cleanup +power
distro/.live-kiosk: distro/.base use/live/base use/live/autologin +power \
use/syslinux/timeout/1 use/cleanup use/stage2/net-eth
@$(call add,LIVE_PACKAGES,fonts-ttf-dejavu)
@$(call add,CLEANUP_PACKAGES,'alterator*' 'guile*' 'vim-common')
@@ -24,54 +30,51 @@ distro/live-builder-mini: distro/.live-base use/dev/mkimage use/dev \
@$(call add,LIVE_PACKAGES,qemu-user-binfmt_misc)
@$(call add,LIVE_PACKAGES,zsh sudo)
distro/live-builder: distro/live-builder-mini use/dev/repo
distro/live-builder: distro/live-builder-mini \
use/live/rw use/live/repo use/dev/repo
@$(call add,MAIN_LISTS,$(call tags,live builder))
@$(call add,MAIN_PACKAGES,syslinux pciids memtest86+ mkisofs)
distro/live-install: distro/.live-base use/live/textinstall; @:
distro/.livecd-install: distro/.live-base use/live/install; @:
distro/live-icewm: distro/.live-desktop use/live/autologin +icewm; @:
distro/live-razorqt: distro/.live-desktop use/live/autologin +razorqt; @:
distro/live-icewm: distro/.live-desktop use/x11/lightdm/gtk +icewm; @:
distro/live-razorqt: distro/.live-desktop +razorqt; @:
distro/live-tde: distro/.live-desktop-ru use/live/install +tde; @:
distro/live-fvwm: distro/.live-desktop-ru use/x11/lightdm/gtk use/x11/fvwm; @:
distro/live-rescue: distro/live-icewm use/efi
@$(call add,LIVE_LISTS,$(call tags,rescue && (fs || live || x11)))
@$(call add,LIVE_LISTS,openssh \
$(call tags,(base || extra) && (archive || rescue || network)))
distro/live-webkiosk-mini: distro/.live-kiosk use/live/hooks use/live/ru
# NB: this one doesn't include the browser, needs to be chosen downstream
distro/.live-webkiosk: distro/.live-kiosk use/live/hooks use/live/ru \
use/sound/alsa
@$(call add,LIVE_LISTS,$(call tags,desktop && (live || network)))
@$(call add,LIVE_PACKAGES,livecd-webkiosk)
@$(call add,CLEANUP_PACKAGES,'libqt4*' 'qt4*')
@$(call set,KFLAVOURS,led-ws)
distro/live-webkiosk-mini: distro/.live-webkiosk
@$(call add,LIVE_PACKAGES,livecd-webkiosk-firefox)
# NB: flash/java plugins are predictable security holes
distro/live-webkiosk-flash: distro/live-webkiosk-mini use/plymouth/live +vmguest
@$(call add,LIVE_PACKAGES,mozilla-plugin-adobe-flash)
@$(call add,LIVE_PACKAGES,mozilla-plugin-java-1.6.0-sun)
@$(call add,LIVE_PACKAGES,alsa-utils udev-alsa)
distro/live-webkiosk: distro/live-webkiosk-mini use/live/desktop; @:
distro/live-flightgear: distro/live-icewm use/live/sound use/x11/3d-proprietary
distro/live-webkiosk-chromium: distro/.live-webkiosk
@$(call add,LIVE_PACKAGES,livecd-webkiosk-chromium)
distro/live-flightgear: distro/.live-x11 use/x11/lightdm/gtk use/x11/3d +icewm
@$(call add,LIVE_LISTS,$(call tags,xorg misc))
@$(call add,LIVE_PACKAGES,FlightGear fgo input-utils)
@$(call try,HOMEPAGE,http://www.4p8.com/eric.brasseur/flight_simulator_tutorial.html)
distro/live-gnome: distro/.live-desktop-ru use/systemd use/live/nodm use/x11/3d-proprietary
@$(call add,LIVE_PACKAGES,gnome3-default)
distro/live-e17: distro/.live-desktop-ru use/x11/e17 use/x11/lightdm/gtk; @:
distro/live-cinnamon: distro/.live-desktop-ru use/live/autologin \
use/x11/cinnamon use/x11/3d-proprietary; @:
distro/live-mate: distro/.live-desktop-ru use/live/nodm use/x11/3d-free
@$(call add,LIVE_LISTS,openssh $(call tags,(desktop || mobile) && mate))
@$(call set,KFLAVOURS,un-def) # the newest one
distro/live-e17: distro/.live-desktop-ru use/live/autologin \
use/x11/e17 use/x11/gdm2.20; @:
distro/live-gimp: distro/live-icewm use/x11/3d-free use/live/ru
distro/live-gimp: distro/live-icewm use/live/ru
@$(call add,LIVE_PACKAGES,gimp tintii immix fim)
@$(call add,LIVE_PACKAGES,cvltonemap darktable geeqie rawstudio ufraw)
@$(call add,LIVE_PACKAGES,macrofusion python-module-pygtk-libglade)

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

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

View File

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

View File

@@ -1,24 +1,24 @@
# server distributions
ifeq (distro,$(IMAGE_CLASS))
distro/.server-base: distro/.installer use/syslinux/ui/menu use/memtest
distro/.server-base: distro/.installer use/syslinux/ui/menu use/memtest \
use/cleanup/x11-alterator
@$(call add,BASE_LISTS,server-base openssh)
distro/server-nano: distro/.server-base \
use/cleanup/x11-alterator use/bootloader/lilo +power
distro/server-nano: distro/.server-base use/bootloader/lilo +power
@$(call add,BASE_LISTS,$(call tags,server network))
@$(call add,BASE_PACKAGES,dhcpcd cpio)
distro/server-mini: distro/.server-base use/server/mini \
use/cleanup/x11-alterator use/efi
distro/server-mini: distro/.server-base use/server/mini use/kernel/net \
use/efi use/stage2/net-eth
@$(call add,BASE_PACKAGES,make-initrd-mdadm make-initrd-lvm)
distro/server-ovz: distro/server-mini use/install2/net use/hdt use/rescue \
use/firmware/server use/firmware/wireless use/power/acpi/button
use/firmware/server use/firmware/cpu use/power/acpi/button +wireless
@$(call set,STAGE1_KFLAVOUR,std-def)
@$(call set,KFLAVOURS,std-def ovz-el)
@$(call add,BASE_KMODULES,rtl8168 rtl8192)
@$(call add,MAIN_KMODULES,ipset ipt-netflow opendpi pf_ring xtables-addons)
@$(call add,MAIN_KMODULES,ipset ipt-netflow opendpi pf_ring)
@$(call add,MAIN_KMODULES,xtables-addons) # t6/branch
@$(call add,MAIN_KMODULES,drbd83 kvm)
@$(call add,BASE_LISTS,ovz-server)
@$(call add,MAIN_GROUPS,dns-server http-server ftp-server kvm-server)

View File

@@ -6,7 +6,7 @@ ifeq (distro,$(IMAGE_CLASS))
distro/syslinux-auto: distro/.init use/hdt use/syslinux/timeout/1; @:
distro/syslinux-noescape: distro/syslinux-auto use/syslinux/noescape.cfg; @:
distro/live-systemd: distro/.base use/live/base use/systemd; @:
distro/live-systemd: distro/.base use/live/base +systemd; @:
distro/live-plymouth: distro/.live-base use/plymouth/live; @:
distro/live-isomd5sum: distro/.base use/live/base use/isomd5sum
@@ -22,21 +22,28 @@ distro/live-gns3: distro/live-icewm
distro/icewm-efi: distro/icewm use/efi/debug use/firmware
@$(call add,INSTALL2_PACKAGES,strace)
distro/server-systemd: distro/server-mini use/systemd
distro/razorqt-kz: distro/regular-razorqt
@$(call set,GLOBAL_BOOT_LANG,kk_KZ)
@$(call add,LIVE_PACKAGES,hunspell-kk)
distro/server-systemd: distro/server-mini +systemd
@$(call set,KFLAVOURS,std-def)
distro/server-test: distro/server-mini use/relname
@$(call set,RELNAME,Test-Server)
# something marginally useful (as a network-only installer)
# NB: doesn't carry stage3 thus cannot use/bootloader
distro/netinst: distro/.base use/install2/net; @:
# tiny network-only server-ovz installer (stage2 comes over net too)
distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \
use/syslinux/ui/menu use/syslinux/localboot.cfg use/memtest
@$(call add,SYSLINUX_CFG,netinstall2)
distro/desktop-luks: distro/icewm use/luks; @:
distro/desktop-systemd: distro/icewm use/systemd; @:
distro/desktop-systemd: distro/icewm +systemd; @:
distro/desktop-plymouth: distro/icewm +plymouth; @:
distro/live-mate-systemd: distro/live-mate use/systemd use/live/install; @:
distro/server-efi: distro/server-mini use/efi/debug; @:
endif # IMAGE_CLASS: distro

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

@@ -0,0 +1,20 @@
ifeq (ve,$(IMAGE_CLASS))
# no "vzctl enter"
ve/bare: ve/.base
@$(call add,BASE_PACKAGES,sysvinit)
# /dev/pty and friends start here
ve/base: ve/bare
@$(call add,BASE_PACKAGES,interactivesystem)
# this should be more or less deployable
ve/generic: ve/base
@$(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/vm-net/dhcp use/vm-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

@@ -1,4 +1,7 @@
== Предположения фрагментов кода об окружении ==
== Предположения ==
Некоторые фрагменты кода закладываются на определённое поведение
других частей mkimage-profiles либо содержание переменных.
NB: пути приводятся от верхнего уровня; проект в целом предполагает
ALT Linux 6.0+ и GNU make 3.81+ (на которых и разрабатывается),

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -36,8 +36,8 @@ include $(BUILDDIR)/distcfg.mk
# first rsync what's static, and make backups (*~) --
# these might signal of file clashes (or plain dirt);
# second, care for toplevel and tagged script dirs;
# then handle two more ways of implementing a feature
# second, care for toplevel dirs;
# then handle feature generator scripts
#
# NB: some subprofiles will be specified as "src/dst"
# -- then both src/ and dst/ can hold the addons;
@@ -58,6 +58,11 @@ prep:
fi
# feat
# NB: this is somewhat complicated since it has to handle "$sub" like:
# - "/": copy feature's toplevel parts to the BUILDDIR toplevel
# - "stage1": copy feature's stage1 parts into stage1 subprofile
# - "stage2@live": copy feature's stage2 parts into live subprofile
# - "rootfs@/": copy feature's rootfs parts into BUILDDIR toplevel
$(FEATURES):
@feat=$@; \
if [ -n "$(GLOBAL_DEBUG)" ]; then \
@@ -71,6 +76,13 @@ $(FEATURES):
else \
src="$${sub%@*}"; \
dst="$${sub#*@}"; \
if [ "$$src" = / ]; then \
echo "** src=/: you don't want this" >&2; \
exit 1; \
fi; \
if [ "$$dst" = / -o "$$dst" = "" ]; then \
dst="."; \
fi; \
srcdirs=; \
if [ -d "$$src" ]; then \
srcdirs="$$src"; \
@@ -78,9 +90,9 @@ $(FEATURES):
if [ -d "$$dst" -a "$$dst" != "$$src" ]; then \
srcdirs="$${srcdirs:+$$srcdirs }$$dst"; \
fi; \
: "why this overduplication was done? (still needed)"; \
for srcdir in $$srcdirs; do \
rsync -qab --exclude tagged \
"$$srcdir/" "$(BUILDDIR)/$$dst/"; \
rsync -qab "$$srcdir/" "$(BUILDDIR)/$$dst/"; \
done; \
fi; \
if [ -n "$(GLOBAL_DEBUG)" ]; then \
@@ -98,7 +110,7 @@ $(FEATURES):
done; \
popd >&/dev/null; \
done; \
if [ -n "$$dst" ]; then \
if [ -n "$$dst" -a "$$dst" != "." ]; then \
the="$$sub subprofile"; \
else \
the="toplevel"; \

View File

@@ -1,4 +1,5 @@
== features.in ==
Этот каталог содержит т.н. фичи (features, особенности).
Фича -- отдельно подключаемая сущность, которая содержит
@@ -37,3 +38,5 @@
Несложный пример содержится в 00example/, более близкий к жизни
и нынешним пределам возможностей метапрофиля -- в syslinux/.
См. тж. файлы README в каталогах фич (отсутствие -- баг!).

View File

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

View File

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

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:
@$(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,8 @@
#!/bin/sh
# poor man's root switch
# NB: 50-users creates predefined users
cat >> /etc/openssh/sshd_config << EOF
PermitRootLogin yes
UseDNS no
EOF

View File

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

View File

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

View File

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

View File

@@ -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)
@@ -23,7 +24,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)" >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:
@$(call add,CONTROL,su:public sudo:public)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,3 +1,5 @@
+efi: use/efi; @:
ifeq (x86_64,$(ARCH))
EFI_LISTS := $(call tags,base efi)
@@ -16,6 +18,7 @@ use/efi/refind: use/efi
@$(call set,EFI_BOOTLOADER,refind)
use/efi/signed: use/efi
@$(call set,MKI_VER_MINIMAL,0.2.7) # refind->elilo handoff
@$(call set,EFI_CERT,altlinux)
@$(call add,THE_PACKAGES,shim-signed)
@$(call set,EFI_SHELL,efi-shell-signed) # even more useful
@@ -23,7 +26,7 @@ use/efi/signed: use/efi
@$(call add,RESCUE_PACKAGES,openssl sbsigntools)
use/efi/shell: use/efi
@$(call set,EFI_SHELL,efi-shell)
@$(call try,EFI_SHELL,efi-shell)
use/efi/debug: use/efi
@$(call add,STAGE2_PACKAGES,efibootmgr gdisk)

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

@@ -5,6 +5,10 @@
use/firmware:
@$(call add_feature)
@$(call add,SYSTEM_PACKAGES,firmware-linux)
use/firmware/full: use/firmware/server use/firmware/laptop
use/firmware/cpu: use/firmware
@$(call add,THE_PACKAGES,firmware-amd-ucode)
@$(call add,THE_PACKAGES,microcode-data-intel microcode_ctl)
@@ -19,9 +23,12 @@ use/firmware/wireless: use/firmware
@$(call add,THE_KMODULES,bcmwl ndiswrapper)
@$(call add,THE_PACKAGES,firmware-acx100)
@#$(call add,THE_PACKAGES,firmware-i2400m)
@$(call add,THE_PACKAGES_REGEXP,firmware-carl9170.*)
@#$(call add,THE_PACKAGES_REGEXP,firmware-carl9170.*)
@$(call add,THE_PACKAGES_REGEXP,firmware-prism.*)
@$(call add,THE_PACKAGES_REGEXP,firmware-ipw.*)
@#$(call add,THE_PACKAGES_REGEXP,firmware-iwl.*)
@#$(call add,THE_PACKAGES_REGEXP,firmware-rt.*)
@$(call add,THE_PACKAGES_REGEXP,firmware-zd.*)
use/firmware/laptop: use/firmware/wireless use/firmware/cpu
@$(call add,KMODULES,acpi_call)

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

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
use/homeros:
use/homeros: use/control/sudo-su
@$(call add_feature)
# @$(call set,BRANDING,simply-linux)
# @$(call add,THE_BRANDING,menu xfce-settings)

View File

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

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,14 @@
+sysvinit: use/init/sysv; @:
+systemd: use/init/systemd; @:
use/init:
@$(call add_feature)
@$(call add,THE_LISTS,$$(INIT_TYPE))
use/init/sysv: use/init
@$(call set,INIT_TYPE,sysvinit)
### i-f should be dropped as soon as rootfs scripts are effective there
use/init/systemd: use/init
@$(call set,INIT_TYPE,systemd)
@$(call add,BASE_PACKAGES,installer-feature-systemd-stage3)

View File

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

View File

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

View File

@@ -1,16 +1,28 @@
# alterator-based installer, second (livecd) stage
+installer: use/install2/full; @:
use/install2: use/stage2 sub/stage2@install2 use/metadata use/cleanup/installer
@$(call add_feature)
@$(call set,INSTALL2_PACKAGES,installer-distro-$$(INSTALLER)-stage2)
@$(call try,INSTALLER,altlinux-generic) # might be replaced later
@$(call add,INSTALL2_PACKAGES,installer-distro-$$(INSTALLER)-stage2)
@$(call add,INSTALL2_PACKAGES,branding-$$(BRANDING)-alterator)
@$(call add,BASE_PACKAGES,branding-$$(BRANDING)-release)
@$(call add,BASE_LISTS,$(call tags,basesystem))
@$(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/syslinux/localboot.cfg use/syslinux/ui/menu; @:
# stash local packages within installation media
use/install2/packages: use/install2 use/repo/main; @:
# for alterator-pkg to use
use/install2/net: use/install2
@$(call add,INSTALL2_PACKAGES,curl)
# modern free xorg drivers for mainstream hardware requires KMS support
# modern free xorg drivers for mainstream hardware require KMS support
use/install2/kms: use/stage2/kms
@$(call add,BASE_KMODULES_REGEXP,drm.*)

View File

@@ -1,5 +1,9 @@
# stage2 mod: build install2 subprofile (installer "live" part)
ifndef INSTALLER
$(error install2 feature enabled but INSTALLER undefined)
endif
IMAGE_PACKAGES = $(INSTALL2_PACKAGES) \
udev e2fsprogs glibc-nss

View File

@@ -1,6 +1,6 @@
Эта фича производит постобработку ISO-образа утилитой isohybrid
с целью обеспечения возможности его загрузки как с CD/DVD,
так и с USB-флэшки.
Эта фича обеспечивает формирование ISO-образа с добавлением липовой
таблицы разделов с целью обеспечения возможности его загрузки
как с CD/DVD, так и с USB-флэшки.
Можно указать в цепочке зависимостей дистрибутива явно с тем,
чтобы гарантировать гибридный вид образа, либо запросить включение
@@ -8,5 +8,5 @@
(ISOHYBRID=1, см. ../pack/config.mk).
Обратите внимание: в propagator до 20101130-alt15 поддержка
автоматической загрузки с флэш-носителя и при этом ISO-образа
автоматической загрузки с флэш-носителя, содержащего ISO-образ,
отсутствует, что компенсируется специальной обработкой в gfxboot.

View File

@@ -1,3 +1,4 @@
use/isohybrid:
@$(call add_feature)
@$(call add,POSTPROCESS_TARGETS,80isohybrid)
@$(call try,ISOHYBRID,1)
@$(call set,MKI_VER_MINIMAL,0.2.5)

View File

@@ -1,4 +0,0 @@
CHROOT_PACKAGES += syslinux
postprocess-80isohybrid:
@isohybrid "$(IMAGEDIR)/$(IMAGE_OUTFILE)"

View File

@@ -1,2 +1,7 @@
Эта фича привносит код, имеющий смысл при добавлении в образ ядра,
и задаёт начальный вариант такового.
Также занимается складированием наборов имён пакетов kernel-modules-*
с тем, чтобы избавить релиз-менеджеров от необходимости учитывать
полные списки и точные имена дополнительных модулей для поддержки,
скажем, Ethernet.

View File

@@ -8,3 +8,6 @@ endif
use/kernel:
@$(call add_feature)
@$(call set,KFLAVOURS,std-def)
use/kernel/net:
@$(call add,THE_KMODULES,e1000e igb r8168 rtl8168)

View File

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

View File

@@ -2,32 +2,45 @@
# 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*')
use/live/base: use/live use/syslinux/ui/menu
@$(call add,LIVE_LISTS,$(call tags,base && (live || network)))
# a very simplistic one
use/live/x11: use/live use/firmware use/x11/xorg
@$(call add,LIVE_PACKAGES,xinit)
# rw slice, see http://www.altlinux.org/make-initrd-propagator and #28289
ifeq (,$(EFI_BOOTLOADER))
use/live/rw: use/live use/syslinux
@$(call add,SYSLINUX_CFG,live_rw)
else
use/live/rw: use/live; @:
endif
# optimized out: use/x11/xorg
use/live/desktop: use/live/base use/x11/wacom use/live/sound +vmguest +power
# 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:
@$(call add,LIVE_PACKAGES,livecd-online-repo)
use/live/repo: use/live
@$(call add,LIVE_PACKAGES,installer-feature-online-repo)
@$(call try,LIVE_REPO,http/alt)
@$(call xport,LIVE_REPO)
# preconfigure apt in runtime (less reliable)
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)
@@ -35,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

@@ -22,7 +22,6 @@ switch() {
ENABLE="
dm
gdm
kdm
wdm
prefdm
@@ -34,6 +33,7 @@ livecd-save-nfs
livecd-setauth
livecd-setlocale
livecd-net-eth
livecd-install-wmaker
network
NetworkManager
connman
@@ -41,24 +41,33 @@ random
rpcbind
plymouth
avahi-daemon
cpufreq-simple
"
# NB: dnsmasq: https://bugzilla.altlinux.org/show_bug.cgi?id=18799
# NB: sshd might be needed for some particular cases
DISABLE="
anacron
blk-availability
bridge
clamd
crond
dhcpd
dmeventd
dnsmasq
lvm2-lvmetad
lvm2-monitor
mdadm
netfs
o2cb
ocfs2
openvpn
postfix
rawdevices
slapd
smartd
sshd
sysstat
update_wms
xinetd
"

View File

@@ -2,7 +2,7 @@
# * reset password for root
# * add user `altlinux' (without password)
GRPLIST="users scanner audio radio proc cdrom cdwriter wheel fuse"
GRPLIST="users scanner audio radio proc cdrom cdwriter wheel fuse netadmin"
verbose()
{

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