Compare commits

..

21 Commits

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

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

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

Thanks Vladimir Gusev for spotting [a part of] this.
2013-05-23 16:00:23 +04:00
Michael Shigorin
727f0c8384 regular.mk: re-added plymouth support to cinnamon
Thanks cow@ cinnamon is back in Sisyphus thus in regular builds;
the old gdm3/plymouth issue seems gone just as with gnome3 flavour.
2013-05-23 15:54:17 +04:00
Michael Shigorin
8bf876f16b gear-store-tags 2013-05-20 13:11:43 +03:00
45 changed files with 234 additions and 135 deletions

View File

@@ -1,5 +1,5 @@
Name: mkimage-profiles Name: mkimage-profiles
Version: 0.9.14 Version: 1.0.0
Release: alt1 Release: alt1
Summary: ALT Linux based distribution metaprofile Summary: ALT Linux based distribution metaprofile
@@ -78,6 +78,15 @@ cp -a * %buildroot%mpdir
%doc %docs/* %doc %docs/*
%changelog %changelog
* Mon Jun 17 2013 Michael Shigorin <mike@altlinux.org> 1.0.0-alt1
- 1.0
* Mon Jun 10 2013 Michael Shigorin <mike@altlinux.org> 0.9.16-alt1
- 1.0pre
* Mon May 27 2013 Michael Shigorin <mike@altlinux.org> 0.9.15-alt1
- +installer
* Mon May 20 2013 Michael Shigorin <mike@altlinux.org> 0.9.14-alt1 * Mon May 20 2013 Michael Shigorin <mike@altlinux.org> 0.9.14-alt1
- more regular fixes - more regular fixes

View File

@@ -1,6 +0,0 @@
object 4b642fe5384d3b9a0c7f318fd373b027ba902e4c
type commit
tag v0.9.13
tagger Michael Shigorin <mike@altlinux.org> 1368475772 +0300
regular fixes

View File

@@ -0,0 +1,6 @@
object 57b368d75d54ef23b7d8b564e826efcb11e6a4d7
type commit
tag v0.9.16
tagger Michael Shigorin <mike@altlinux.org> 1370880061 +0400
1.0pre

View File

@@ -1 +1 @@
1c9a213ce4260afc13497b81c5a192224be58361 v0.9.13 c00468bd4033aa25fe1bb5af8c874b02bb492969 v0.9.16

7
README
View File

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

View File

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

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

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

View File

@@ -2,16 +2,17 @@
ifeq (distro,$(IMAGE_CLASS)) ifeq (distro,$(IMAGE_CLASS))
# common ground # common ground
distro/.regular-bare: distro/.base +wireless use/efi/signed use/luks \ distro/.regular-bare: distro/.base +wireless use/efi/signed \
use/memtest use/stage2/net-eth use/kernel/net use/memtest use/stage2/net-eth use/kernel/net
@$(call try,SAVE_PROFILE,yes) @$(call try,SAVE_PROFILE,yes)
# WM base target # WM base target
distro/.regular-base: distro/.regular-bare +vmguest +live \ distro/.regular-base: distro/.regular-bare +vmguest +live \
use/live/ru use/live/install use/live/repo use/live/rw \ use/live/ru use/live/install use/live/repo use/live/rw \
use/x11/3d-free use/branding use/luks use/x11/3d-free use/branding
@$(call add,LIVE_LISTS,$(call tags,(base || desktop) && regular)) @$(call add,LIVE_LISTS,$(call tags,(base || desktop) && regular))
@$(call add,LIVE_LISTS,$(call tags,base rescue)) @$(call add,LIVE_LISTS,$(call tags,base rescue))
@$(call add,LIVE_PACKAGES,installer-feature-desktop-other-fs-stage2)
@$(call add,THE_BRANDING,indexhtml notes alterator) @$(call add,THE_BRANDING,indexhtml notes alterator)
@$(call add,THE_BRANDING,graphics) @$(call add,THE_BRANDING,graphics)
@@ -49,10 +50,10 @@ distro/regular-xmonad: distro/.regular-gtk use/x11/xmonad
distro/regular-mate: distro/.regular-gtk distro/regular-mate: distro/.regular-gtk
@$(call add,LIVE_LISTS,$(call tags,(desktop || mobile) && (mate || nm))) @$(call add,LIVE_LISTS,$(call tags,(desktop || mobile) && (mate || nm)))
distro/regular-e17: distro/.regular-gtk use/x11/e17 distro/regular-e17: distro/.regular-gtk use/x11/e17 use/fonts/infinality
@$(call add,LIVE_PACKAGES,xterm) @$(call add,LIVE_PACKAGES,xterm)
distro/regular-cinnamon: distro/.regular-desktop \ distro/regular-cinnamon: distro/.regular-gtk \
use/x11/cinnamon use/fonts/infinality use/x11/cinnamon use/fonts/infinality
@$(call set,META_VOL_ID,ALT Linux $(IMAGE_NAME)) # see also #28271 @$(call set,META_VOL_ID,ALT Linux $(IMAGE_NAME)) # see also #28271
@@ -74,4 +75,8 @@ distro/regular-rescue: distro/.regular-bare use/rescue/rw \
use/syslinux/ui/menu use/hdt use/efi/refind use/syslinux/ui/menu use/hdt use/efi/refind
@$(call set,KFLAVOURS,un-def) @$(call set,KFLAVOURS,un-def)
distro/regular-server: distro/.regular-bare +installer \
use/bootloader/grub use/firmware use/server/mini
@$(call add,THE_LISTS,$(call tags,(base || server) && regular))
endif endif

View File

@@ -1,16 +1,16 @@
# server distributions # server distributions
ifeq (distro,$(IMAGE_CLASS)) ifeq (distro,$(IMAGE_CLASS))
distro/.server-base: distro/.installer use/syslinux/ui/menu use/memtest distro/.server-base: distro/.installer use/syslinux/ui/menu use/memtest \
use/cleanup/x11-alterator
@$(call add,BASE_LISTS,server-base openssh) @$(call add,BASE_LISTS,server-base openssh)
distro/server-nano: distro/.server-base \ distro/server-nano: distro/.server-base use/bootloader/lilo +power
use/cleanup/x11-alterator use/bootloader/lilo +power
@$(call add,BASE_LISTS,$(call tags,server network)) @$(call add,BASE_LISTS,$(call tags,server network))
@$(call add,BASE_PACKAGES,dhcpcd cpio) @$(call add,BASE_PACKAGES,dhcpcd cpio)
distro/server-mini: distro/.server-base use/server/mini use/kernel/net \ distro/server-mini: distro/.server-base use/server/mini use/kernel/net \
use/cleanup/x11-alterator use/efi use/stage2/net-eth use/efi use/stage2/net-eth
@$(call add,BASE_PACKAGES,make-initrd-mdadm make-initrd-lvm) @$(call add,BASE_PACKAGES,make-initrd-mdadm make-initrd-lvm)
distro/server-ovz: distro/server-mini use/install2/net use/hdt use/rescue \ distro/server-ovz: distro/server-mini use/install2/net use/hdt use/rescue \

View File

@@ -32,6 +32,10 @@ distro/server-systemd: distro/server-mini use/systemd
distro/server-test: distro/server-mini use/relname distro/server-test: distro/server-mini use/relname
@$(call set,RELNAME,Test-Server) @$(call set,RELNAME,Test-Server)
# something marginally useful (as a network-only installer)
# NB: doesn't carry stage3 thus cannot use/bootloader
distro/netinst: distro/.base use/install2/net; @:
# tiny network-only server-ovz installer (stage2 comes over net too) # tiny network-only server-ovz installer (stage2 comes over net too)
distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \ distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \
use/syslinux/ui/menu use/syslinux/localboot.cfg use/memtest use/syslinux/ui/menu use/syslinux/localboot.cfg use/memtest

View File

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

View File

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

View File

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

View File

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

View File

@@ -114,4 +114,4 @@
[float] [float]
=== пример === === пример ===
make DEBUG=1 CLEAN=1 distro/syslinux.iso make DEBUG=1 CLEAN=1 syslinux.iso

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
== Сборка образов виртуальных машин == == Сборка образов VM ==
*ВНИМАНИЕ:* заключительная операция создания образа жёсткого диска *ВНИМАНИЕ:* заключительная операция создания образа жёсткого диска
из архива с содержимым корневой файловой системы требует доступа из архива с содержимым корневой файловой системы требует доступа

View File

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

View File

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

View File

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

View File

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

View File

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

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

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

View File

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

View File

@@ -1,16 +1,28 @@
# alterator-based installer, second (livecd) stage # alterator-based installer, second (livecd) stage
+installer: use/install2/full; @:
use/install2: use/stage2 sub/stage2@install2 use/metadata use/cleanup/installer use/install2: use/stage2 sub/stage2@install2 use/metadata use/cleanup/installer
@$(call add_feature) @$(call add_feature)
@$(call set,INSTALL2_PACKAGES,installer-distro-$$(INSTALLER)-stage2) @$(call try,INSTALLER,altlinux-generic) # might be replaced later
@$(call add,INSTALL2_PACKAGES,installer-distro-$$(INSTALLER)-stage2)
@$(call add,INSTALL2_PACKAGES,branding-$$(BRANDING)-alterator) @$(call add,INSTALL2_PACKAGES,branding-$$(BRANDING)-alterator)
@$(call add,BASE_PACKAGES,branding-$$(BRANDING)-release) @$(call add,BASE_PACKAGES,branding-$$(BRANDING)-release)
@$(call add,BASE_LISTS,$(call tags,basesystem)) @$(call add,BASE_LISTS,$(call tags,basesystem))
@$(call xport,BASE_BOOTLOADER) @$(call xport,BASE_BOOTLOADER)
# doesn't use/install2/fs on purpose (at least so far)
use/install2/full: use/install2/packages use/install2/kms use/install2/kvm \
use/syslinux/localboot.cfg use/syslinux/ui/menu; @:
# stash local packages within installation media
use/install2/packages: use/install2 use/repo/main; @:
# for alterator-pkg to use
use/install2/net: use/install2 use/install2/net: use/install2
@$(call add,INSTALL2_PACKAGES,curl) @$(call add,INSTALL2_PACKAGES,curl)
# modern free xorg drivers for mainstream hardware requires KMS support # modern free xorg drivers for mainstream hardware require KMS support
use/install2/kms: use/stage2/kms use/install2/kms: use/stage2/kms
@$(call add,BASE_KMODULES_REGEXP,drm.*) @$(call add,BASE_KMODULES_REGEXP,drm.*)

View File

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

View File

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

View File

@@ -1,4 +1,6 @@
Эта фича определяет формат упаковки создаваемого образа. Эта фича определяет формат упаковки создаваемого образа.
На данный момент поддерживаются iso (загрузочный ISO9660 На данный момент поддерживаются iso (загрузочный ISO9660
для дистрибутивов) и tar/cpio с возможностью сжатия gz/xz для дистрибутивов), tar/cpio с возможностью сжатия gz/xz
(виртуальные окружения). (виртуальные окружения), а также различные варианты для
образов виртуальных машин, поддерживаемые qemu-img.

View File

@@ -1,6 +1,3 @@
Эта фича конфигурирует поддержку управления питанием Эта фича конфигурирует поддержку управления питанием
-- выключение и регулировку частоты CPU для ACPI, -- выключение и регулировку частоты CPU для ACPI,
засыпание для APM (не проверялось). засыпание для APM (не проверялось).
TODO: учесть изложенное в https://bugzilla.altlinux.org/25018
(для gnome & co)

View File

@@ -1,3 +1,2 @@
Эта фича заменяет в базовой системе sysvinit на systemd; Эта фича заменяет в базовой системе sysvinit на systemd;
в настоящее время является экспериментальной, читайте см. тж. http://www.altlinux.org/systemd
http://www.altlinux.org/systemd

View File

@@ -1,15 +1,17 @@
== image.in == == image.in ==
Этот каталог копируется из метапрофиля в профиль "как есть" Этот каталог копируется из метапрофиля в профиль "как есть"
и формирует "заготовку" финальной стадии, собирающей собственно и формирует "заготовку" финальной стадии, собирающей собственно
образ из результатов работы индивидуальных субпрофилей образ из результатов работы индивидуальных субпрофилей
(для distro/*) либо непосредственно "на месте" (для ve/*). (для distro) либо непосредственно "на месте" (для ve, vm).
Содержимое files/ копируется в корень образа. Содержимое files/ копируется в корень образа.
Соответственно для сборки также потребуется или Соответственно для сборки также потребуется одна из фич
../features.in/build-distro, или ../features.in/build-ve. ../features.in/build-*.
Пакетная база рабочего чрута минимальна (может чуть расширяться Пакетная база рабочего чрута минимальна (может чуть расширяться
фичами -- см. ../features.in/repo/lib/build-genbasedir.mk фичами -- см. ../features.in/repo/lib/50-genbasedir.mk
в качестве примера). в качестве примера).
Если требуется какая-либо иная обработка чрута, следует Если требуется какая-либо иная обработка чрута, следует

View File

@@ -1,4 +1,5 @@
== lib == == lib ==
Этот каталог содержит вспомогательные makefiles, Этот каталог содержит вспомогательные makefiles,
обеспечивающие основную функциональность создания обеспечивающие основную функциональность создания
конфигурации образа и генерации соответствующего конфигурации образа и генерации соответствующего

View File

@@ -28,12 +28,7 @@ distro/.base: distro/.init use/kernel
@$(call set,META_VOL_ID,ALT Linux $(IMAGE_NAME)/$(ARCH)) @$(call set,META_VOL_ID,ALT Linux $(IMAGE_NAME)/$(ARCH))
@$(call set,META_VOL_SET,ALT Linux) @$(call set,META_VOL_SET,ALT Linux)
# something marginally useful (as a network-only installer) # this one should not be fundamental as it appears (think armh)
# NB: doesn't carry stage3 thus cannot use/bootloader distro/.installer: distro/.base use/bootloader/grub +installer; @:
distro/installer: distro/.base use/syslinux/localboot.cfg \
use/install2 use/install2/kms use/firmware use/install2/kvm
@$(call set,INSTALLER,altlinux-generic)
distro/.installer: distro/installer use/bootloader/grub use/repo/main; @:
endif endif

View File

@@ -1,4 +1,5 @@
== pkg.in == == pkg.in ==
Этот каталог содержит все возможные списки пакетов и описания групп, Этот каталог содержит все возможные списки пакетов и описания групп,
которые по мере необходимости копируются из метапрофиля в формируемый которые по мере необходимости копируются из метапрофиля в формируемый
профиль. профиль.

View File

@@ -1,5 +1,6 @@
[float] [float]
=== pkg.in/groups === === pkg.in/groups ===
Этот каталог содержит описания групп, копируемые из метапрофиля Этот каталог содержит описания групп, копируемые из метапрофиля
в создаваемый профиль по необходимости (только фигурирующие в в создаваемый профиль по необходимости (только фигурирующие в
списке, которым является значение переменной MAIN_GROUPS). списке, которым является значение переменной MAIN_GROUPS).

View File

@@ -1,3 +1,5 @@
=== pkg.in/lists ===
Этот каталог содержит списки пакетов, копируемые из метапрофиля Этот каталог содержит списки пакетов, копируемые из метапрофиля
в создаваемый профиль по необходимости (определяется по наличию в создаваемый профиль по необходимости (определяется по наличию
имён списков в переменных *_LISTS, см. реализацию в Makefile). имён списков в переменных *_LISTS, см. реализацию в Makefile).

View File

@@ -1,9 +1,10 @@
=== pkg.in/lists/tagged === === pkg.in/lists/tagged ===
Этот каталог содержит тегированные списки; на данный момент Этот каталог содержит тегированные списки; на данный момент
реализация (../../../bin/tags2lists) требует, чтобы каждый реализация (../../../bin/tags2lists) требует, чтобы каждый
из тегов был отдельным словом, состоящим из символов из набора из тегов был отдельным словом, состоящим из символов из набора
a-zA-Z0-9_ (внимание: не используйте в слове "-"); рекомендуется [a-zA-Z0-9_] (внимание: не используйте в слове "-");
разделять слова "+". рекомендуется разделять слова "+".
Применение: дополнение жёстко статически заданной функциональности Применение: дополнение жёстко статически заданной функциональности
более "плавающим" в долгосрочном плане результатом раскрытия более "плавающим" в долгосрочном плане результатом раскрытия

View File

@@ -1,3 +1,9 @@
xfsprogs
jfsprogs
ntfs-3g
dosfstools
fatresize
lvm2 lvm2
make-initrd-lvm make-initrd-lvm
@@ -13,15 +19,8 @@ acpi
apt-repo apt-repo
update-kernel update-kernel
synaptic-usermode
eepm eepm
bash-completion bash-completion
alterator-standalone
cpufreq-simple cpufreq-simple
xdg-user-dirs
eject eject
firefox-ru
firefox-uk
firefox-kk

View File

@@ -1,2 +1,2 @@
cinnamon-default cinnamon-regular
installer-feature-xdg-user-dirs installer-feature-xdg-user-dirs

View File

@@ -1,4 +1,11 @@
synaptic synaptic
synaptic-usermode
xdg-user-dirs
firefox-ru
firefox-uk
firefox-kk
alterator-browser-qt alterator-browser-qt
alterator-standalone alterator-standalone

View File

@@ -0,0 +1,4 @@
sysklogd
vim-console
nano
mc

View File

@@ -17,19 +17,19 @@
Краткое описание существующих вариантов: Краткое описание существующих вариантов:
- stage1: propagator и загрузчик (совместно с фичей syslinux); * stage1: propagator и загрузчик (совместно с фичей syslinux);
типично требуется для инсталяторов, live- и rescue-образов, типично требуется для инсталяторов, live- и rescue-образов,
но может использоваться без добавления таковых в образ, но может использоваться без добавления таковых в образ,
обеспечивая сетевую загрузку второй стадии обеспечивая сетевую загрузку второй стадии
- stage2: наиболее сложный технологически субпрофиль, поскольку * stage2: наиболее сложный технологически субпрофиль, поскольку
он является только базовым для получения ряда итоговых частей он является только базовым для получения ряда итоговых частей
дистрибутива (install2, live, rescue); задействуется для этого дистрибутива (install2, live, rescue); задействуется для этого
только опосредованно через use/stage2/* и модифицирует stage1 только опосредованно через use/stage2/* и модифицирует stage1
в силу наличия связи между ними (в stage1 попадает образ ядра в силу наличия связи между ними (в stage1 попадает образ ядра
и firmware, в stage2 -- соответствующие модули) и firmware, в stage2 -- соответствующие модули)
- main: пакетная база, укладываемая на образ (NB: поскольку рабочий * main: пакетная база, укладываемая на образ (NB: поскольку рабочий
чрут в этом случае не содержит ничего, кроме пакетов, добавлять чрут в этом случае не содержит ничего, кроме пакетов, добавлять
image-scripts.d/* смысла нет, только scripts.d/*) image-scripts.d/* смысла нет, только scripts.d/*)

View File

@@ -6,12 +6,13 @@
как локальный репозиторий для сборки. как локальный репозиторий для сборки.
Подбирает: Подбирает:
* SYSTEM_PACKAGES, COMMON_PACKAGES, BASE_PACKAGES, BASE_LISTS: * SYSTEM_PACKAGES, COMMON_PACKAGES, BASE_PACKAGES, BASE_LISTS:
в установку по умолчанию; в установку по умолчанию;
* MAIN_PACKAGES, MAIN_LISTS: дополнительные пакеты. * MAIN_PACKAGES, MAIN_LISTS: дополнительные пакеты.
В image-scripts.d/* смысла нет, только scripts.d/* -- В image-scripts.d смысла нет, только scripts.d, т.к. рабочий чрут
рабочий чрут не содержит исполняемых файлов. не содержит исполняемых файлов.
Не следует использовать этот субпрофиль напрямую, для добавления Не следует использовать этот субпрофиль напрямую, для добавления
пакетного репозитория в образ предназначена фича use/repo/main. пакетного репозитория в образ предназначена фича use/repo/main.

View File

@@ -1,4 +1,5 @@
=== sub.in/stage1 === === sub.in/stage1 ===
Этот каталог содержит субпрофиль первой стадии загрузки; Этот каталог содержит субпрофиль первой стадии загрузки;
здесь место syslinux (загрузчик) и propagator (ориентировка здесь место syslinux (загрузчик) и propagator (ориентировка
на местности, вытягивание второй стадии с CD/FTP/...). на местности, вытягивание второй стадии с CD/FTP/...).