Compare commits

...

256 Commits

Author SHA1 Message Date
Michael Shigorin
f10f3b18db 0.9.8.1-alt1
- works with make-initrd 0.8.1+ (see #28578)
2013-02-19 20:55:19 +04:00
Michael Shigorin
6139571a8b stage2: fix 10-initrd-base for current make-initrd
It was removing autodetection setting completely
thus implicitly setting it to the default "all"
with make-initrd-0.8.1+; just set it to be empty.

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

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

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

Terminus fonts added to account for presets.

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

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

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

dmesg has some trouble signs:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  E: Couldn't find package Binary

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

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

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

This would result in almost immediate

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thanks ildar@ for hitting and reporting this, as in

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

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

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

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

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

Duly spotted by torabora@, thanks a lot.

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

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

The problem would manifest itself like this:

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

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

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

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

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

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

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

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

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

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

So time to scrap some dups.

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

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

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

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

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

See also http://www.altlinux.org/Ports/arm/chroot for /proc magic.
2012-07-30 23:15:36 +04:00
Michael Shigorin
d8f64c0c89 gear-store-tags 2012-07-30 20:15:24 +04:00
202 changed files with 1759 additions and 610 deletions

View File

@@ -1,5 +1,5 @@
Name: mkimage-profiles
Version: 0.7.5
Version: 0.9.8.1
Release: alt1
Summary: ALT Linux based distribution metaprofile
@@ -11,15 +11,24 @@ Source: %name-%version.tar
Packager: Michael Shigorin <mike@altlinux.org>
BuildArch: noarch
Requires: rsync git-core
Requires: time schedutils
Requires: mkimage >= 0.2.0
BuildRequires: rsync asciidoc-a2x xmlgraphics-fop fonts-ttf-dejavu
BuildRequires: /proc
# Recommends: graphviz
Requires: rsync git-core
Requires: time schedutils sfdisk
Requires: mkimage >= 0.2.5
# Recommends: graphviz qemu-img
%define mpdir %_datadir/%name
%add_findreq_skiplist %mpdir/*.in/*
%define docs $HOME/docs
%package doc
Summary: %name documentation
Group: Development/Documentation
%description
mkimage-profiles is a collection of bits and pieces useful for
distributions construction: it contains package lists, features,
@@ -46,10 +55,15 @@ and modest metaprogramming (some code generation and introspection),
welcome to the metaprofile itself; read the docs and get the git:
%url
%description doc
This package holds developer docs for %name
as a book in HTML and PDF formats.
%prep
%setup
%build
make BUILDDIR=%docs docs
%install
mkdir -p %buildroot%mpdir
@@ -57,10 +71,74 @@ cp -a * %buildroot%mpdir
%files
%mpdir/
%doc doc/
%doc README QUICKSTART
%files doc
%doc README
%doc QUICKSTART
%doc %docs/*
%changelog
* Tue Feb 19 2013 Michael Shigorin <mike@altlinux.org> 0.9.8.1-alt1
- works with make-initrd 0.8.1+ (see #28578)
* Mon Feb 18 2013 Michael Shigorin <mike@altlinux.org> 0.9.8-alt1
- live fixes/tweaks galore
* Mon Feb 11 2013 Michael Shigorin <mike@altlinux.org> 0.9.7-alt1
- going nightly
* Mon Feb 04 2013 Michael Shigorin <mike@altlinux.org> 0.9.6-alt1
- assorted fixes
* Mon Jan 21 2013 Michael Shigorin <mike@altlinux.org> 0.9.5-alt1
- homeros
* Mon Jan 14 2013 Michael Shigorin <mike@altlinux.org> 0.9.4-alt1
- restricted boot
* Mon Dec 31 2012 Michael Shigorin <mike@altlinux.org> 0.9.3-alt1
- regular images
* Mon Dec 17 2012 Michael Shigorin <mike@altlinux.org> 0.9.2-alt1
- enhanced uefi support
* Mon Dec 03 2012 Michael Shigorin <mike@altlinux.org> 0.9.1-alt1
- initial kde4 support
* Mon Nov 19 2012 Michael Shigorin <mike@altlinux.org> 0.9.0-alt1
- initial uefi, luks, armh support
- enhanced arm, gnome3/systemd, vm support
* Sun Nov 11 2012 Michael Shigorin <mike@altlinux.org> 0.8.7-alt1
- regressions--
* Mon Nov 05 2012 Michael Shigorin <mike@altlinux.org> 0.8.6-alt1
- docs subpackage (HTML/PDF book)
* Mon Oct 29 2012 Michael Shigorin <mike@altlinux.org> 0.8.5-alt1
- diffable logs
- AMD APU support
* Tue Oct 16 2012 Michael Shigorin <mike@altlinux.org> 0.8.4-alt1
- worked around enhancements in current make-initrd-propagator
(thus fixed live image boot, finally)
* Mon Oct 15 2012 Michael Shigorin <mike@altlinux.org> 0.8.3-alt1
- make-3.82 support
- fixed live image boot to some extent (see #27640, #27852)
* Mon Sep 24 2012 Michael Shigorin <mike@altlinux.org> 0.8.2-alt1
- fixed build with recent make-initrd-propagator
* Mon Sep 03 2012 Michael Shigorin <mike@altlinux.org> 0.8.1-alt1
- misc fixes
* Mon Aug 13 2012 Michael Shigorin <mike@altlinux.org> 0.8.0-alt1
- stage2@live
* Mon Aug 06 2012 Michael Shigorin <mike@altlinux.org> 0.7.6-alt1
- minor improvements
* Mon Jul 30 2012 Michael Shigorin <mike@altlinux.org> 0.7.5-alt1
- a bunch of fixups and cleanups

View File

@@ -1,6 +0,0 @@
object 0a3aaf15c2a8d8860e6e05729ad8ad3a706675a9
type commit
tag v0.7.4
tagger Michael Shigorin <mike@altlinux.org> 1342463836 +0300
ppc builds

View File

@@ -0,0 +1,6 @@
object 867b2f65c9b571ab54a4bc7e158bcaaa3d80756b
type commit
tag v0.9.8
tagger Michael Shigorin <mike@altlinux.org> 1361217242 +0200
live fixes

View File

@@ -1 +1 @@
86f3e957f38ad46ca4305e7ce190e36b0d9d71ff v0.7.4
9f5450c9dc242a2ea3e07973a06f6c8821ed4672 v0.9.8

View File

@@ -10,7 +10,8 @@ ifndef ARCHES
ifdef ARCH
ARCHES := $(ARCH)
else
ARCHES := $(shell arch | sed 's/i686/i586/; s/armv.*/arm/; s/ppc.*/ppc/')
ARCHES := $(shell arch \
| sed 's/i686/i586/; s/armv7.*/armh/; s/armv.*/arm/; s/ppc.*/ppc/')
endif
endif
export ARCHES
@@ -61,3 +62,6 @@ SHELL = /bin/bash
fi; \
done; \
if [ "$$n" -lt "$(NUM_TARGETS)" ]; then say; fi
docs:
@$(MAKE) -C doc

View File

@@ -1,5 +1,5 @@
English quickstart: make server-mini.iso; see also
http://en.altlinux.org/Hasher (a large tmpfs is nice).
English quickstart: make syslinux.iso (after setting up
http://en.altlinux.org/Hasher; large tmpfs helps a lot).
требуется
~~~~~~~~~
@@ -10,28 +10,34 @@ http://en.altlinux.org/Hasher (a large tmpfs is nice).
полезно
~~~~~~~
- смонтированный tmpfs на несколько гигабайт
+ например, в /tmp или /home/USER/hasher
+ каталог из prefix в /etc/hasher-priv/system
* например, в /tmp или /home/USER/hasher
* каталог из prefix в /etc/hasher-priv/system
- установленный git-core
- настроенный ~/.gitconfig
команды
~~~~~~~
- от имени root:
от имени root::
----
# apt-get install mkimage hasher git-core
# hasher-useradd USER
----
- от имени указанного пользователя (после повторного входа):
от имени указанного пользователя (после повторного входа)::
----
$ git config --global user.email "my@email"
$ git config --global user.name "My Name"
$ mkdir ~/out
----
- тестовая сборка (см. тж. lib/distro.mk, doc/params.txt):
$ make icewm.iso
тестовая сборка (см. тж. lib/distro.mk, doc/params.txt)::
----
$ make syslinux.iso
----
ссылки
~~~~~~
- http://www.altlinux.org/tmpfs
- http://www.altlinux.org/hasher
- http://www.altlinux.org/mkimage
- http://www.altlinux.org/Mkimage/Profiles/m-p
- http://www.altlinux.org/m-p

100
README
View File

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

27
bin/mp-commit Executable file
View File

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

11
bin/mp-showref Executable file
View File

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

View File

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

View File

@@ -1,4 +1,6 @@
#!/bin/bash -e
# usage:
# tar2vm chroot.tar image.raw [size_in_bytes]
. shell-error
@@ -27,7 +29,7 @@ IMG="$2"
# image size in bytes (256M is a fallback)
TARSIZE="$(stat -Lc %s "$TAR")"
DEFSIZE="$((3 * $TARSIZE / 2))"
DEFSIZE="$((2 * $TARSIZE))"
DISKSIZE="${3:-${DEFSIZE:-268435456}}"
# ...and in megabytes
DISKSIZEM="$(($DISKSIZE / 1048576))"
@@ -40,7 +42,7 @@ ROOTFSTYPE="${4:-ext4}"
ROOTDEV="/dev/sda1"
# last preparations...
for i in losetup parted kpartx mkfs."$ROOTFSTYPE"; do
for i in losetup sfdisk parted kpartx mkfs."$ROOTFSTYPE"; do
if ! type -t "$i" >&/dev/null; then
fatal "$i required but not found"
fi
@@ -96,8 +98,8 @@ chroot "$ROOTFS" make-initrd -k "$KERNEL"
sed -i "s,$LOOPDEV1,$ROOTDEV," "$ROOTFS/etc/fstab"
# configure and install bootloader
REGEXP='^([0-9]+) heads, ([0-9]+) sectors/track, ([0-9]+) cylinders.*$'
set -- $(fdisk -l "$LOOPDEV" | grep -E "$REGEXP" | sed -r "s@$REGEXP@\1 \2 \3@")
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
@@ -111,9 +113,9 @@ cat > "$ROOTFS"/etc/lilo-loop.conf << EOF
boot=$LOOPDEV
disk=$LOOPDEV
bios=0x80
heads=$1
sectors=$2
cylinders=$3
cylinders=$1
heads=$2
sectors=$3
partition=$LOOPDEV1
start=63
$LILO_COMMON

View File

@@ -1,3 +1,4 @@
== conf.d ==
Этот каталог содержит включаемые фрагменты конфигурации образов с тем,
чтобы было удобнее параллельно разрабатывать специфические дистрибутивы
и VE без излишних merge conflict'ов.
@@ -24,19 +25,19 @@
что обязано быть и в инсталяторе, и в готовой системе
- для направленного действия служат:
+ 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_*.

View File

@@ -1,6 +0,0 @@
ve/.centos-base: ve/.bare
@$(call set,IMAGE_INIT_LIST,hasher-pkg-init)
ve/centos: ve/.centos-base
@$(call add,BASE_PACKAGES,openssh-server)

View File

@@ -11,11 +11,17 @@ distro/.desktop-network: distro/.desktop-mini +vmguest
@$(call add,BASE_LISTS, \
$(call tags,(base || desktop) && (l10n || network)))
distro/icewm: distro/.desktop-network use/lowmem +icewm; @:
distro/tde: distro/.desktop-mini +tde; @:
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/icewm: distro/.desktop-network use/lowmem use/install2/fs +icewm; @:
distro/ltsp-tde: distro/tde +ltsp; @:
distro/ltsp-icewm: distro/icewm +ltsp; @:
distro/desktop-systemd: distro/icewm use/systemd; @:
distro/desktop-plymouth: distro/icewm +plymouth; @:
endif

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

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

View File

@@ -1,51 +1,52 @@
# live images
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/syslinux: distro/.init \
use/syslinux/localboot.cfg use/syslinux/ui/vesamenu use/hdt; @:
distro/dos: distro/.init use/dos use/syslinux/ui/menu; @:
distro/rescue: distro/.base use/rescue use/syslinux/ui/menu; @:
distro/live-systemd: distro/.base use/live/base use/systemd; @:
distro/.live-base: distro/.base use/live/base use/power/acpi/button; @:
distro/.live-desktop: distro/.base +live use/plymouth/live; @:
distro/.live-desktop: distro/.base +live use/live/install use/live/net-eth \
use/plymouth/live use/efi; @:
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/efi/signed use/live/net-eth
@$(call add,LIVE_PACKAGES,fonts-ttf-dejavu)
@$(call add,CLEANUP_PACKAGES,'alterator*' 'guile*' 'vim-common')
distro/live-isomd5sum: distro/.base use/live/base use/isomd5sum
@$(call add,LIVE_PACKAGES,livecd-isomd5sum)
distro/live-builder: pkgs := livecd-tmpfs livecd-online-repo mkimage-profiles
distro/live-builder: distro/.live-base use/dev/mkimage use/dev/repo \
distro/live-builder-mini: distro/.live-base use/dev/mkimage use/dev \
use/syslinux/timeout/30
@$(call set,KFLAVOURS,$(BIGRAM))
@$(call add,LIVE_LISTS,$(call tags,base && (server || builder)))
@$(call add,LIVE_LISTS,\
$(call tags,(base || live) && (server || builder)))
@$(call add,LIVE_PACKAGES,livecd-qemu-arch strace)
@$(call add,LIVE_PACKAGES,qemu-user-binfmt_misc)
@$(call add,LIVE_PACKAGES,zsh sudo)
@$(call add,LIVE_PACKAGES,$(pkgs))
@$(call add,MAIN_PACKAGES,$(pkgs))
distro/live-builder: distro/live-builder-mini 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-tde: distro/.live-desktop use/live/ru use/live/install +tde; @:
distro/live-plymouth: distro/.live-base use/plymouth/live; @:
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
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
@$(call add,LIVE_LISTS,$(call tags,desktop && (live || network)))
@$(call add,LIVE_PACKAGES,livecd-webkiosk)
@$(call add,LIVE_PACKAGES,livecd-webkiosk-firefox)
@$(call add,CLEANUP_PACKAGES,'libqt4*' 'qt4*')
@#$(call set,KFLAVOURS,led-ws)
# NB: flash/java plugins are predictable security holes
distro/live-webkiosk-flash: distro/live-webkiosk-mini use/plymouth/live +vmguest
@@ -59,15 +60,18 @@ distro/live-flightgear: distro/live-icewm use/live/sound use/x11/3d-proprietary
@$(call add,LIVE_PACKAGES,FlightGear fgo input-utils)
@$(call try,HOMEPAGE,http://www.4p8.com/eric.brasseur/flight_simulator_tutorial.html)
distro/live-cinnamon: distro/.live-desktop use/live/autologin use/live/ru \
distro/live-gnome: distro/.live-desktop-ru use/systemd use/live/nodm use/x11/3d-proprietary
@$(call add,LIVE_PACKAGES,gnome3-default)
distro/live-cinnamon: distro/.live-desktop-ru use/live/autologin \
use/x11/cinnamon use/x11/3d-proprietary; @:
distro/live-mate: distro/.live-desktop use/live/nodm use/live/ru use/x11/3d-free
@$(call add,LIVE_LISTS,$(call tags,(desktop || mobile) && mate))
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-enlightenment: distro/.live-desktop use/live/autologin \
use/live/ru use/x11/3d-free
@$(call add,LIVE_PACKAGES,enlightenment)
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
@$(call add,LIVE_PACKAGES,gimp tintii immix fim)
@@ -76,7 +80,4 @@ distro/live-gimp: distro/live-icewm use/x11/3d-free use/live/ru
@$(call add,LIVE_PACKAGES,qtfm openssh-clients rsync)
@$(call add,LIVE_PACKAGES,design-graphics-sisyphus2)
distro/live-testserver: distro/live-install use/server/mini
@$(call set,KFLAVOURS,std-def el-smp)
endif

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

@@ -0,0 +1,49 @@
# 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/live/net-eth 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,THE_BRANDING,indexhtml notes alterator bootloader)
@$(call set,KFLAVOURS,std-def)
@$(call add,KMODULES,r8168)
@$(call try,SAVE_PROFILE,yes)
distro/.regular-gtk: distro/.regular-desktop use/x11/lightdm/gtk +plymouth; @:
@$(call add,THE_BRANDING,graphics)
distro/regular-icewm: distro/.regular-gtk +icewm use/efi/refind
@$(call add,LIVE_PACKAGES,xxkb mutt)
distro/regular-xfce: distro/.regular-gtk use/x11/xfce; @:
distro/regular-lxde: distro/.regular-gtk use/x11/lxde; @:
distro/regular-mate: distro/.regular-gtk
@$(call add,LIVE_LISTS,$(call tags,(desktop || mobile) && (mate || nm)))
distro/regular-e17: distro/.regular-gtk use/x11/e17
@$(call add,LIVE_PACKAGES,xterm xorg-xnest)
distro/regular-cinnamon: distro/.regular-desktop use/x11/cinnamon
@$(call set,META_VOL_ID,ALT Linux $(IMAGE_NAME)) # see also #28271
@$(call add,LIVE_PACKAGES,fontconfig-infinality)
distro/regular-gnome3: distro/.regular-desktop use/x11/gnome3; @:
distro/regular-tde: distro/.regular-desktop +tde +plymouth
@$(call add,LIVE_LISTS,$(call tags,desktop 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-razorqt: distro/.regular-desktop use/x11/razorqt use/x11/kdm4 \
+plymouth; @:
endif

View File

@@ -9,11 +9,9 @@ distro/server-nano: distro/.server-base \
@$(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
@$(call set,KFLAVOURS,el-smp)
distro/server-systemd: distro/server-mini use/systemd
@$(call set,KFLAVOURS,std-def)
distro/server-mini: distro/.server-base use/server/mini \
use/cleanup/x11-alterator use/efi
@$(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
@@ -27,9 +25,4 @@ distro/server-ovz: distro/server-mini use/install2/net use/hdt use/rescue \
@$(call add,MAIN_GROUPS,ipmi mysql-server dhcp-server mail-server)
@$(call add,MAIN_GROUPS,monitoring diag-tools)
# tiny network-only server-ovz installer (stage2 comes over net too)
distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \
use/syslinux/ui/menu use/syslinux/localboot.cfg use/memtest
@$(call add,SYSLINUX_CFG,netinstall2)
endif

View File

@@ -7,5 +7,6 @@ distro/live-simply: distro/.livecd-install use/slinux/full
distro/simply: distro/.installer use/slinux/full
@$(call set,INSTALLER,simply-linux)
@$(call add,INSTALL2_PACKAGES,sysvinit)
endif

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

@@ -0,0 +1,74 @@
# debug/test/experimental images
ifneq (,$(DEBUG))
ifeq (distro,$(IMAGE_CLASS))
distro/syslinux-auto: distro/.init use/hdt use/syslinux/timeout/1; @:
distro/syslinux-noescape: distro/syslinux-auto use/syslinux/noescape.cfg; @:
distro/live-systemd: distro/.base use/live/base use/systemd; @:
distro/live-plymouth: distro/.live-base use/plymouth/live; @:
distro/live-isomd5sum: distro/.base use/live/base use/isomd5sum
@$(call add,LIVE_PACKAGES,livecd-isomd5sum)
distro/live-testserver: distro/live-install use/server/mini
@$(call set,KFLAVOURS,std-def el-smp)
distro/live-gns3: distro/live-icewm
@$(call add,LIVE_LISTS,gns3)
@$(call add,LIVE_KMODULES,kvm virtualbox)
distro/icewm-efi: distro/icewm use/efi/debug use/firmware
@$(call add,INSTALL2_PACKAGES,strace)
distro/server-systemd: distro/server-mini use/systemd
@$(call set,KFLAVOURS,std-def)
distro/server-test: distro/server-mini use/relname
@$(call set,RELNAME,Test-Server)
# 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-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
ifeq (ve,$(IMAGE_CLASS))
ifeq (centos,$(REPO))
ve/.centos-base: ve/.bare
@$(call set,IMAGE_INIT_LIST,hasher-pkg-init)
ve/centos: ve/.centos-base
@$(call add,BASE_PACKAGES,openssh-server)
endif # REPO: centos
ifeq (opensuse,$(REPO))
ve/.opensuse-base: ve/.bare
@$(call set,IMAGE_INIT_LIST,hasher-pkg-init)
@$(call add,BASE_PACKAGES,aaa_base)
endif # REPO: opensuse
endif # IMAGE_CLASS: ve
ifeq (vm,$(IMAGE_CLASS))
vm/net-static: vm/bare use/vm-net/static use/vm-ssh
@$(call set,VM_NET_IPV4ADDR,10.0.2.16/24)
@$(call set,VM_NET_IPV4GW,10.0.2.2)
endif # IMAGE_CLASS: vm
endif

View File

@@ -1,13 +1,9 @@
# virtual machines
ifeq (vm,$(IMAGE_CLASS))
# NB: use/x11 employs some installer-feature packages
vm/icewm: vm/bare use/cleanup/installer use/x11/xdm +icewm; @:
vm/net: vm/bare use/vm-net/dhcp use/vm-ssh; @:
vm/net-static: vm/bare use/vm-net/static use/vm-ssh
@$(call set,VM_NET_IPV4ADDR,10.0.2.16/24)
@$(call set,VM_NET_IPV4GW,10.0.2.2)
# NB: use/x11 employs some installer-feature packages
vm/icewm: vm/net use/cleanup/installer use/repo +icewm; @:
endif

54
doc/.fop.xconf Normal file
View File

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

4
doc/.gitignore vendored Normal file
View File

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

50
doc/Makefile Normal file
View File

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

View File

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

View File

@@ -1,20 +1,20 @@
ловля плюх
~~~~~~~~~~
== Ловля плюх ==
При отладке сборки конфигурации или самого дистрибутива
могут оказаться полезными следующие средства:
- build/distcfg.mk
+ формируется автоматически в процессе построения конфигурации;
+ содержит трассировочную информацию (откуда что взялось);
+ этот файл применяется как авторитетный конфигурационный
* build/distcfg.mk
** формируется автоматически в процессе построения конфигурации;
** содержит трассировочную информацию (откуда что взялось);
** этот файл применяется как авторитетный конфигурационный
- build/build.log
+ подробность зависит от значения переменной DEBUG,
* build/build.log
** подробность зависит от значения переменной DEBUG,
которую можно передать при запуске make (см. params.txt);
+ содержит коммит, из которого происходит сборка, и признак
** содержит коммит, из которого происходит сборка, и признак
"грязности" рабочего каталога при наличии модификаций после
этого коммита;
+ содержит список конфигурационных переменных и их конечных значений,
** содержит список конфигурационных переменных и их конечных значений,
созданный на основании distcfg.mk (см. тж. build/vars.mk)
Общая информация по отладке сборки профилей mkimage:

View File

@@ -1,5 +1,5 @@
фичи
~~~~
== Фичи ==
Особенности дистрибутива, не учитываемые в пакетной базе
или зависящие от переменных времени сборки/установки образа;
по необходимости влияют на конфигурацию, приносят с собой

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

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

View File

@@ -0,0 +1,73 @@
= mkimage-profiles =
Michael Shigorin <mike@altlinux.org>
:DocVersion: v0.2.0
:DocDate: Oct 2012
= Введение =
mkimage-profiles, или m-p — результат осмысления и обобщения опыта создания
семейств дистрибутивов свободного программного обеспечения на базе ALT Linux.
*Цели*
* пригодность к применению как очень крутыми хакерами, так и новичками
* относительно низкая трудоёмкость использования
* поощрение совместной работы
*Средства*
Двухуровневость:
метапрофиль более объёмен и сложен, но выгоден для долгосрочной разработки
сгенерированный дистрибутивный профиль более легко обозрим и модифицируем как одноразовый форк
наследственность на уровне индивидуальных особенностей и образов в целом
прозрачность и диагностируемость формирования конфигурации
документированность
*Примеры использования*
Выполняем начальные инструкции по документации
git clone git://git.altlinux.org/people/mike/packages/mkimage-profiles.git
cd mkimage-profiles
make distro/icewm.iso
include::../README[]
= Основы =
include::assumptions.txt[]
include::debug.txt[]
include::features.txt[]
include::params.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::../sub.in/README[]
include::../sub.in/main/README[]
include::../sub.in/stage1/README[]
include::../sub.in/stage2/README[]

View File

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

View File

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

View File

@@ -1,26 +1,11 @@
Для сборки с применением трансляции посредством QEMU
выполните от имени root следующие команды:
== QEMU ==
apt-get install qemu-user-binfmt_misc
modprobe binfmt_misc
echo 32768 > /proc/sys/vm/mmap_min_addr
Для сборки на "неродной" архитектуре с применением трансляции
посредством QEMU установите пакет livecd-qemu-arch и выполните
команду register-qemu-arm от имени root (также предоставляется
register-qemu-ppc, но как минимум при сборке под ppc32 на x86_64
известны проблемы эмуляции).
и сконфигурируйте его применение для требуемых платформ:
Пример запуска:
echo ":arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/.host/qemu-arm:" > /proc/sys/fs/binfmt_misc/register
echo ':ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/.host/qemu-ppc:' > /proc/sys/fs/binfmt_misc/register
Если файл /proc/sys/fs/binfmt_misc/register не существует,
потребуется установить и загрузить иное ядро (например, std-def).
Также нужен sources.list с указанием соответствующего репозитория
и ссылающийся на него apt.conf (см. apt.conf.sample); например:
--- sources.list.sisyphus.arm
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus arm classic
---
--- sources.list.4.1.ppc
rpm http://ftp.altlinux.org/pub/people/wart/repos/lioka/powerpc ppc classic
rpm http://ftp.altlinux.org/pub/people/wart/repos/lioka/powerpc noarch classic
---
make ARCH=arm APTCONF=/etc/apt/apt.conf.sisyphus.arm ve/bare.tar

View File

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

View File

@@ -1,17 +1,20 @@
сборка образов виртуальных машин
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ВНИМАНИЕ: заключительная операция создания образа жёсткого диска
== Сборка образов виртуальных машин ==
*ВНИМАНИЕ:* заключительная операция создания образа жёсткого диска
из архива с содержимым корневой файловой системы требует доступа
к sudo и разрешения на выполнение скрипта bin/tar2vm в корневом
каталоге метапрофиля при установке mkimage-profiles из пакета.
каталоге метапрофиля при установке mkimage-profiles из пакета
(это в планах исправить, но подход к libguestfs пока успехом
не увенчался).
Соответствующий фрагмент конфигурации sudo(8) может выглядеть как:
mike ALL=NOPASSWD: /usr/share/mkimage-profiles/bin/tar2vm
mike ALL=NOPASSWD: /usr/share/mkimage-profiles/bin/tar2vm
При работе с git следует иметь в виду, что предоставлять недоверенному
пользователю право выполнять с повышенными привилегиями доступный ему
по записи скрипт равнозначно предоставлению полных привилегий root.
При работе с локальной копией mkimage-profiles.git следует иметь
в виду, что предоставлять недоверенному пользователю право выполнять
от имени root доступный ему по записи скрипт равнозначно предоставлению
полных привилегий root.
Для работы с более специфичными форматами, чем raw ("буквальный"
образ диска), потребуется утилита qemu-img из одноименного пакета;
@@ -21,4 +24,4 @@ mike ALL=NOPASSWD: /usr/share/mkimage-profiles/bin/tar2vm
Пример сборки и запуска VM:
$ make ROOTPW=reallysecret1 vm/bare.img && kvm -hda ~/out/bare.img
$ make ROOTPW=reallysecret1 vm/bare.img && kvm -hda ~/out/bare.img

View File

@@ -65,21 +65,18 @@ $(FEATURES):
fi; \
pushd "$$feat" >/dev/null && \
for sub in / $(SUBPROFILES); do \
dirtags=; \
if [ "$$sub" = / ]; then \
srcdirs="."; \
dst="."; \
else \
src="$${sub%/*}"; \
dst="$${sub#*/}"; \
src="$${sub%@*}"; \
dst="$${sub#*@}"; \
srcdirs=; \
if [ -d "$$src" ]; then \
srcdirs="$$src"; \
dirtags="&& $$src"; \
fi; \
if [ -d "$$dst" -a "$$dst" != "$$src" ]; then \
srcdirs="$$srcdirs $$dst"; \
dirtags="&& ($$src || $$dst)"; \
srcdirs="$${srcdirs:+$$srcdirs }$$dst"; \
fi; \
for srcdir in $$srcdirs; do \
rsync -qab --exclude tagged \
@@ -98,39 +95,19 @@ $(FEATURES):
if [ "$$sub" = / -a -d "$$part" ]; then \
rsync -qab "$$part/" "$$destdir/"; \
fi; \
[ -d "tagged/$$part" ] || continue; \
[ "$$srcdir" != "." ] || continue; \
pushd "tagged/$$part" >/dev/null; \
echo "$$feat $$dirtags" \
| tags2lists . \
| xargs -r cp -vpLt "$$destdir" --; \
popd >/dev/null; \
done; \
popd >&/dev/null; \
done; \
if type -t git >&/dev/null && \
pushd "$(BUILDDIR)/$$dst/" >/dev/null; then \
test -n "`git status -s`" && \
git add . && \
if [ -n "$$dst" ]; then \
the="$$sub subprofile"; \
else \
the="toplevel"; \
fi && \
git commit -qam "$$feat feature: $$the part added"; \
popd >/dev/null; \
if [ -n "$$dst" ]; then \
the="$$sub subprofile"; \
else \
the="toplevel"; \
fi; \
mp-commit "$(BUILDDIR)/$$dst/" "$$feat feature: $$the part added"; \
done; \
if [ -x "generate.sh" ]; then sh generate.sh; fi; \
if [ -s "generate.mk" ]; then $(MAKE) -f generate.mk; fi; \
if type -t git >&/dev/null && \
pushd "$(BUILDDIR)/" >/dev/null; then \
if [ -n "`git status -s`" ]; then \
git add . && \
git commit -qam "$$feat feature generation complete"; \
fi; \
popd >/dev/null; \
fi; \
mp-commit "$(BUILDDIR)" "$$feat feature generation complete"; \
popd >/dev/null
finalize:

View File

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

View File

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

View File

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

View File

@@ -1,29 +1,26 @@
# step 4: build the distribution image
# for complex-specified subprofiles like stage2/live,
# take the latter part
SUBDIRS = $(notdir $(SUBPROFILES))
# take the latter part for complex-specified subprofiles like stage2@live
SUBDIRS = $(SUBPROFILE_DIRS)
# proxy over the ISO metadata collected; see also genisoimagerc(5)
BOOT_SYSI := $(META_SYSTEM_ID)
BOOT_PUBL := $(META_PUBLISHER)
BOOT_PREP := $(META_PREPARER)
BOOT_APPI := $(META_APP_ID)
BOOT_VOLI := $(META_VOL_ID)
BOOT_VOLI := $(shell echo $(META_VOL_ID) | cut -c1-32)
BOOT_VOLS := $(META_VOL_SET)
BOOT_BIBL := $(META_BIBLIO)
BOOT_ABST := $(META_ABSTRACT)
BOOT_TYPE := isolinux
# see also ../scripts.d/01-isosort; needs mkimage-0.2.2+
MKI_SORTFILE := /tmp/isosort
all: $(GLOBAL_DEBUG) prep copy-subdirs copy-tree run-scripts pack-image \
postprocess $(GLOBAL_CLEAN_WORKDIR)
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

View File

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

View File

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

View File

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

View File

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

10
features.in/efi/README Normal file
View File

@@ -0,0 +1,10 @@
Фича добавляет в образы необходимое для поддержки EFI/UEFI.
Конфигурируется заданием загрузчика (EFI_BOOTLOADER)
и файла сертификата (EFI_CERT) при помощи целей;
пример использования доступен в ../../conf.d/regular.mk
См. тж.:
* http://www.altlinux.org/UEFI
* http://www.rodsbooks.com/efi-bootloaders/
* https://bugzilla.altlinux.org/showdependencytree.cgi?id=27804

39
features.in/efi/config.mk Normal file
View File

@@ -0,0 +1,39 @@
+efi: use/efi; @:
ifeq (x86_64,$(ARCH))
EFI_LISTS := $(call tags,base efi)
use/efi:
@$(call add_feature)
@$(call set,MKI_VER_MINIMAL,0.2.5) # see #28219
@$(call add,THE_LISTS,$(EFI_LISTS))
@$(call add,RESCUE_LISTS,$(EFI_LISTS))
@$(call add,THE_PACKAGES,$$(EFI_SHELL))
@$(call add,RESCUE_PACKAGES,refind $$(EFI_SHELL))
@$(call add,INSTALL2_PACKAGES,dosfstools fatresize)
@$(call try,EFI_BOOTLOADER,elilo) # default one
use/efi/refind: use/efi
@$(call set,EFI_BOOTLOADER,refind)
use/efi/signed: use/efi
@$(call set,EFI_CERT,altlinux)
@$(call add,THE_PACKAGES,shim-signed)
@$(call set,EFI_SHELL,efi-shell-signed) # even more useful
@$(call add,RESCUE_PACKAGES,refind-signed)
@$(call add,RESCUE_PACKAGES,openssl sbsigntools)
use/efi/shell: use/efi
@$(call set,EFI_SHELL,efi-shell)
use/efi/debug: use/efi
@$(call add,STAGE2_PACKAGES,efibootmgr gdisk)
@$(call set,KFLAVOURS,led-ws)
else
# ignore on an unsupported target arch but make it hybrid at least
use/efi use/efi/refind use/efi/signed use/efi/shell use/efi/debug: use/isohybrid
endif

View File

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

View File

@@ -5,6 +5,8 @@
use/firmware:
@$(call add_feature)
@$(call add,SYSTEM_PACKAGES,firmware-linux)
@$(call add,THE_PACKAGES,firmware-amd-ucode)
@$(call add,THE_PACKAGES,microcode-data-intel microcode_ctl)
use/firmware/server: use/firmware
@$(call add,SYSTEM_PACKAGES,firmware-aic94xx-seq)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,5 +1,5 @@
# alterator-based installer, second (livecd) stage
use/install2: use/stage2 sub/stage2/install2 use/metadata use/cleanup/installer
use/install2: use/stage2 sub/stage2@install2 use/metadata use/cleanup/installer
@$(call add_feature)
@$(call set,INSTALL2_PACKAGES,installer-distro-$$(INSTALLER)-stage2)
@$(call add,INSTALL2_PACKAGES,branding-$$(BRANDING)-alterator)
@@ -17,3 +17,15 @@ use/install2/kms: use/stage2/kms
# see also use/vmguest/kvm; qxl included in xorg pkglist
use/install2/kvm:
@$(call add,INSTALL2_PACKAGES,spice-vdagent xorg-drv-qxl)
# filesystems handling
use/install2/fs: use/install2/xfs use/install2/jfs use/install2/reiserfs; @:
use/install2/xfs:
@$(call add,INSTALL2_PACKAGES,xfsprogs)
use/install2/jfs:
@$(call add,INSTALL2_PACKAGES,jfsutils)
use/install2/reiserfs:
@$(call add,INSTALL2_PACKAGES,reiserfsprogs)

View File

@@ -19,11 +19,14 @@ rm -rf /usr/share/awk/
### TODO: x11vnc, xorg-xvfb: fix installer-common-stage2
rpmquery -a cpp\* gcc\* perl-base file ipv6calc \
bind-utils libbind \
gnupg libgcrypt libgnutls\* libgpg-error libsoup\* \
libsoup\* \
libGL glxinfo xdriinfo \
make make-initrd x11vnc xorg-xvfb \
| xargs -r rpmi -e --nodeps --
### TODO: unless LUKS luks feature is requested we can also drop
### gnupg libgcrypt libgnutls\* libgpg-error
rpmquery -a bind-utils libbind \
| xargs -r rpmi -e --

View File

@@ -17,7 +17,7 @@ rm -rf /lib/modules/*/kernel/drivers/char/{ipmi,hw_random,mwave,tpm}
rm -rf /lib/modules/*/kernel/drivers/char/watchdog
rm -rf /lib/modules/*/kernel/drivers/cpufreq
rm -rf /lib/modules/*/kernel/drivers/edac
rm -rf /lib/modules/*/kernel/drivers/firmware ###
#rm -rf /lib/modules/*/kernel/drivers/firmware ### EFI
rm -rf /lib/modules/*/kernel/drivers/gpio
rm -rf /lib/modules/*/kernel/drivers/hwmon
rm -rf /lib/modules/*/kernel/drivers/infiniband ###

View File

@@ -1 +1,2 @@
Эта фича привносит код, имеющий смысл при добавлении в образ ядра.
Эта фича привносит код, имеющий смысл при добавлении в образ ядра,
и задаёт начальный вариант такового.

View File

@@ -1,4 +1,10 @@
###
# choose std kernel flavour for max RAM size support
ifeq (i586,$(ARCH))
BIGRAM := std-pae
else
BIGRAM := std-def
endif
use/kernel:
@$(call add_feature)
@$(call set,KFLAVOURS,std-def)

View File

@@ -2,7 +2,7 @@
# copy stage2 as live
# NB: starts to preconfigure but doesn't use/cleanup yet
use/live: use/stage2 sub/stage2/live
use/live: use/stage2 sub/stage2@live
@$(call add_feature)
@$(call add,CLEANUP_PACKAGES,'installer*')
@@ -10,19 +10,27 @@ 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/x11/xorg
use/live/x11: use/live use/firmware use/x11/xorg
@$(call add,LIVE_PACKAGES,xinit)
# optimized out: use/x11/xorg
use/live/desktop: use/live/base use/x11/wacom use/live/sound +vmguest +power
use/live/desktop: use/live/base use/x11/wacom use/live/sound \
+vmguest +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)
# preconfigure apt for both live and installed-from-live systems
use/live/repo:
@$(call add,LIVE_PACKAGES,livecd-online-repo)
@$(call add,LIVE_PACKAGES,installer-feature-online-repo)
# alterator-based permanent installation
use/live/install: use/metadata use/syslinux/localboot.cfg
@$(call add,LIVE_PACKAGES,livecd-install)
@$(call add,LIVE_PACKAGES,livecd-installer-features)
# text-based installation script
use/live/textinstall: use/syslinux/localboot.cfg
@@ -45,3 +53,8 @@ use/live/ru: use/live
use/live/sound: use/live
@$(call add,LIVE_PACKAGES,amixer alsa-utils aplay udev-alsa)
# eth0 instead of enp0s3
use/live/net-eth: use/live
@$(call add,STAGE1_PACKAGES,udev-rule-generator-net)
@$(call add,STAGE2_PACKAGES,udev-rule-generator-net livecd-net-eth)

View File

@@ -1,9 +1,31 @@
#!/bin/sh
# see also m-p-d::profiles/live/image-scripts.d/init3-services
[ -x /sbin/chkconfig ] || exit 0
[ -x /sbin/chkconfig -o -x /bin/systemctl ] || exit 0
switch() {
case "$2" in
on)
cc=on; sc=enable;;
off)
cc=off; sc=disable;;
esac
{
[ ! -x /bin/systemctl ] ||
/bin/systemctl --no-reload $sc $1.service
[ ! -x /sbin/chkconfig ] ||
/sbin/chkconfig $1 $cc
} 2>/dev/null
}
ENABLE="
dm
gdm
kdm
wdm
prefdm
alteratord
livecd-evms
livecd-fstab
@@ -11,10 +33,14 @@ livecd-hostname
livecd-save-nfs
livecd-setauth
livecd-setlocale
livecd-net-eth
network
NetworkManager
connman
random
rpcbind
plymouth
avahi-daemon
"
# NB: dnsmasq: https://bugzilla.altlinux.org/show_bug.cgi?id=18799
@@ -37,6 +63,6 @@ update_wms
xinetd
"
for i in $ENABLE; do chkconfig $i on 2>/dev/null; done
for i in $DISABLE; do chkconfig $i off 2>/dev/null; done
for i in $ENABLE; do switch $i on; done
for i in $DISABLE; do switch $i off; done
:

View File

@@ -1,8 +1,10 @@
#!/bin/sh -efu
# if no means for locale setup are employed,
# it should still be somewhat reasonable
# it should still be at least marginally reasonable
# NB: keyboard layout not included!
if [ -s /etc/sysconfig/i18n ]; then exit 0; fi
mkdir -p /etc/sysconfig
cat >> /etc/sysconfig/i18n << _EOF_
# mkimage-profiles live 20-locale hook

View File

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

View File

@@ -1,4 +1,4 @@
#!/bin/sh -e
#!/bin/sh
if [ ! -x /usr/bin/X ]; then
echo "SKIP autologin: X not installed" >&2
@@ -15,6 +15,28 @@ add_nopasswdlogin_group()
gpasswd -a "$USER" nopasswdlogin
}
BAK=".save"
backup() {
[ -f "$1" -a ! -f "$1$BAK" ] || return 1
cp -av "$1" "$1$BAK"
}
restore_later() {
[ -n "$1" ] || return 0
local prefix="/usr/lib/alterator/hooks/livecd-preinstall.d"
[ -d "$prefix" ] || mkdir -p "$prefix"
local hook="$prefix/51-disable-autologin-again.sh"
[ -s "$hook" ] || cat >> "$hook" <<- EOF
#!/bin/sh
. livecd-functions
EOF
echo mv -v "\$destdir$1$BAK" "\$destdir$1" >> "$hook"
chmod +x "$hook"
}
## setup runlevel
INITTAB=/etc/inittab
if [ -f "$INITTAB" ]; then
@@ -23,61 +45,92 @@ if [ -f "$INITTAB" ]; then
fi
## autologin^2
AUTOLOGIN_CFG=/etc/sysconfig/autologin
if [ -x /usr/sbin/autologin ]; then
cat << E_O_F >> /etc/sysconfig/autologin
USER=$USER
AUTOLOGIN=yes
E_O_F
backup "$AUTOLOGIN_CFG"
cat >> "$AUTOLOGIN_CFG" <<- EOF
USER=$USER
AUTOLOGIN=yes
EOF
restore_later "$AUTOLOGIN_CFG"
fi
## lightdm autologin
LIGHTDM_CONF=/etc/lightdm/lightdm.conf
if [ -f "$LIGHTDM_CONF" ]; then
backup "$LIGHTDM_CONF"
sed -i \
-e "s/^#\(autologin-user=\).*$/\1$USER/" \
-e "s/^#\(autologin-user-timeout=0\)/\1/" \
"$LIGHTDM_CONF"
backup "/etc/group"
add_nopasswdlogin_group lightdm ||:
restore_later "$LIGHTDM_CONF"
restore_later "/etc/group"
fi
## gdm2 autologin
GDM_CONF=/etc/X11/gdm/custom.conf
if [ -f "$GDM_CONF" ]; then
backup "$GDM_CONF"
sed -i -e '/\[daemon\]/aAutomaticLoginEnable=true\nAutomaticLogin='$USER \
"$GDM_CONF"
backup "/etc/group"
add_nopasswdlogin_group gdm ||:
restore_later "$GDM_CONF"
restore_later "/etc/group"
fi
## kdm3 autologin
# TODO: iterate over kdm{,4} if feasible
KDMRC=/etc/X11/kdm/kdmrc
if [ -f "$KDMRC" ]; then
autologin_kdm() {
backup "$1"
sed -i \
-e '/AutoLoginEnable/ s,^.*$,AutoLoginEnable=true,' \
-e '/AutoLoginUser/ s,^.*$,AutoLoginUser='$USER',' \
"$KDMRC"
"$1"
restore_later "$1"
}
## kdm3 autologin
# FIXME: tde packages have kdmrc in /usr via an absolute symlink :-(
KDM_ETC=/etc/X11/kdm
KDM_USR=/usr/share/kde/config/kdm
if [ "$(readlink "$KDM_ETC")" = "$KDM_USR" ]; then
rm -f "$KDM_ETC"
ln -s ../.."$KDM_USR" "$KDM_ETC"
fi
KDMRC=/etc/X11/kdm/kdmrc
if [ -f "$KDMRC" ]; then autologin_kdm "$KDMRC"; fi
## kdm4 autologin
KDMRC=/etc/X11/kdm4/kdmrc
if [ -f "$KDMRC" ]; then autologin_kdm "$KDMRC"; fi
## nodm autologin (the last since the most intrusive)
# FIXME nodm and xinitrc should be modified (also in p6)
NODM_RC=/etc/sysconfig/nodm
NODM_EXE=/usr/sbin/nodm
if [ -x "$NODM_EXE" ]; then
cat << E_O_F >> "$NODM_RC"
export NODM_USER=$USER
E_O_F
backup "$NODM_RC"
cat >> "$NODM_RC" <<- EOF
export NODM_USER=$USER
EOF
restore_later "$NODM_RC"
else
exit 0
fi
# FIXME: drop when #27449 is fixed
# FIXME: drop since #27449 is fixed
PREFDM=/etc/X11/prefdm
if [ -f "$PREFDM" ] && ! grep -q nodm "$PREFDM"; then
backup "$PREFDM"
sed -i \
-e '/AUTOLOGIN_EXE=/ s,^.*$,AUTOLOGIN_EXE='$NODM_EXE',' \
-e '/AUTOLOGIN_CFG=/ s,^.*$,AUTOLOGIN_CFG='$NODM_RC',' \
"$PREFDM"
restore_later "$PREFDM"
fi
# FIXME: drop when #27451 is fixed

View File

@@ -23,6 +23,18 @@ DOMAINNAME="localdomain"
verbose "Init /etc/hosts with 127.0.0.1 localhost"
echo "127.0.0.1 localhost localhost.localdomain" > /etc/hosts
prefix="/etc/net/ifaces"
# seems like aufs bug on O_TRUNC writes:
# aufs au_lkup_neg:267:kworker/0:2[998]:
# I/O Error, resolv.conf should be negative on b0.
# OTOH lo interface is now brought up in initrd
# so this shoudn't really matter
if [ -d "$prefix"/lo ]; then
echo 'nameserver 8.8.8.8' >> "$prefix"/lo/resolv.conf
fi
find /var -name resolv.conf -or -name nsswitch.conf -delete
netcfg="/etc/sysconfig/network"
verbose "Enable networking, set hostname to $HOSTNAME, domainname to $DOMAINNAME"
@@ -30,21 +42,22 @@ shell_config_set "$netcfg" NETWORKING yes
shell_config_set "$netcfg" HOSTNAME "$HOSTNAME"
shell_config_set "$netcfg" DOMAINNAME "$DOMAINNAME"
if [ -x /usr/sbin/NetworkManager ] ; then
verbose "Setup defaults for NetworkManager"
shell_config_set /etc/net/ifaces/default/options-eth NM_CONTROLLED yes
shell_config_set /etc/net/ifaces/default/options-eth DISABLED yes
shell_config_set /etc/net/ifaces/default/options-eth BOOTPROTO dhcp
# NB: see also #28484 and livecd-net-eth for runtime configuration
defcfg="$prefix/default/options-eth"
if [ -x /usr/sbin/NetworkManager -o -x /usr/sbin/connmand ] ; then
verbose "Setup defaults for NetworkManager/connman"
shell_config_set "$defcfg" NM_CONTROLLED yes
shell_config_set "$defcfg" DISABLED yes
shell_config_set "$defcfg" BOOTPROTO dhcp
else
# attempt to autoconfigure ethernet by etcnet
if [ -x /sbin/dhcpcd -o -x /sbin/dhclient ]; then
if [ -x /lib/udev/write_net_rules ] &&
[ -x /sbin/dhcpcd -o -x /sbin/dhclient ]; then
verbose "configuring DHCP for eth0"
mkdir -p /etc/net/ifaces/eth0 && {
mkdir -p "$prefix"/eth0 && {
echo TYPE=eth
echo BOOTPROTO=dhcp
} > /etc/net/ifaces/eth0/options
} > "$prefix"/eth0/options
else
verbose "NOT configuring eth0 for DHCP"
fi

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

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

View File

@@ -0,0 +1,5 @@
LUKS_LISTS := $(call tags,security luks)
use/luks:
@$(call add,THE_LISTS,$(LUKS_LISTS))
@$(call add,RESCUE_LISTS,$(LUKS_LISTS))

View File

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

View File

@@ -35,6 +35,6 @@ metadata-.base:
metadata: metadata-.base
@mkdir -p $(METADIR); \
tar -C $(PKGDIR) -cvf - \
$(call rlist,$(MAIN_GROUPS) .base) \
$(call rgroup,$(MAIN_GROUPS)) \
$(call rlist,$(THE_GROUPS) $(MAIN_GROUPS) .base) \
$(call rgroup,$(THE_GROUPS) $(MAIN_GROUPS)) \
> $(METADIR)/pkg-groups.tar

View File

@@ -10,13 +10,13 @@ use/pack:
# for direct bootable usbflash imaging
use/pack/iso: use/pack boot/isolinux $(ISOHYBRID:%=use/isohybrid)
ifeq (distro,$(IMAGE_CLASS))
@$(call set,IMAGE_PACKTYPE,isoboot)
@$(call set,IMAGE_PACKTYPE,boot)
else
@$(call set,IMAGE_PACKTYPE,isodata)
endif
# virtual environments
VE_ARCHIVES := tar cpio
VE_ARCHIVES := tar cpio ubifs
VE_COMPRESSORS := gz xz# there's no sense in bzip2 by now
VE_ZIPS := $(call addsuffices, \
$(addprefix .,$(VE_COMPRESSORS)), \

View File

@@ -1,8 +1,8 @@
+plymouth: use/plymouth/full; @:
# and a few silent aliases
use/plymouth/live: use/plymouth/stage2
use/plymouth/install2: use/plymouth/stage2
# and a few aliases
use/plymouth/live: use/plymouth/stage2; @:
use/plymouth/install2: use/plymouth/stage2; @:
use/plymouth:
@$(call add_feature)

View File

@@ -1,3 +1,9 @@
#!/bin/sh
CONFIG=/etc/plymouth/plymouthd.conf
if [ -f "$CONFIG" ]; then
grep -q '^Theme=' "$CONFIG" || sed -i 's/#\([T\[]\)/\1/' "$CONFIG"
fi
cp -a /usr/share/plymouth/default-install-duration /var/lib/plymouth/boot-duration

View File

@@ -8,7 +8,7 @@ use/power:
# modern power management
use/power/acpi: use/power
@$(call add,COMMON_PACKAGES,acpid)
@$(call add,COMMON_PACKAGES,acpid acpi)
use/power/acpi/button: use/power/acpi
@$(call add,COMMON_PACKAGES,acpid-events-power)

View File

@@ -0,0 +1,4 @@
Эта фича меняет содержимое файла /etc/altlinux-release в соответствии
с установленной переменной RELNAME, что изменяет пункты загрузки GRUB.
Применяется при необходимости перекрыть внесенный брендингом текст.

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