Go to file
Michael Shigorin 1aec6cee40 alt-server.mk: put the horse before the tug
There was something wrong about that order of additives
and the base configuration; let's make it straight,
putting the foundation first and architecture-dependent
additions on top of it.

Note that double-colon syntax is specifically allowing
for multiple rules adding up their recipes (and prereqs),
but all of those rules must be specified as double-colon
(this was violated in the previous state of alt-server.mk).

See-also: http://www.gnu.org/software/make/manual/make.html#Double_002dColon
Fixes: 33436b6b1b
Fixes: c06f87539d
2020-08-31 19:30:25 +03:00
.gear gear-store-tags 2020-08-17 23:57:46 +07:00
bin tar2fs: Set flag boot on root part for u-boot bootloader 2020-07-16 02:28:58 +07:00
conf.d alt-server.mk: put the horse before the tug 2020-08-31 19:30:25 +03:00
doc doc/archdep.txt: adjust accordingly 2019-10-23 15:33:44 +03:00
features.in e2k: avoid online repos during install2 2020-08-31 19:19:12 +03:00
image.in Stop treating all ppc* architectures as ppc 2019-08-19 23:30:38 +03:00
lib profile.mk: pinned package branding-$$(BRANDING)-release 2020-05-01 23:49:56 +07:00
pkg.in education/*: skip i-f-repo-add on e2k 2020-08-31 14:34:39 +03:00
sub.in Revert "stage1, stage2: allow multiple kernels" 2020-08-17 23:43:40 +07:00
.gitignore .gitignore: add image.in/files/* 2019-05-29 19:21:57 +03:00
COPYING actually released as free software 2011-11-04 16:15:30 +02:00
main.mk main.mk: Added vm/, ve/ targets into everything target 2020-08-27 23:39:54 +07:00
Makefile Ensure non-zero exit code on make failure 2019-09-23 19:41:46 +03:00
QUICKSTART docs update 2017-06-09 19:31:42 +03:00
README README, pkglists.txt: minor fixes 2016-02-10 16:49:17 +03:00
reports.mk reports.mk: not show reports message on users screen 2020-01-20 22:46:08 +07:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

== Welcome to m-p! ==

*Brief summary*

  Configurables: ~/.mkimage/profiles.mk;
  see doc/params.txt and conf.d/README

  License: GPLv2+, see COPYING

  Most docs are in Russian, welcome to learn it or ask for English.

Задача:

* конфигурирование и создание образов на базе ALT Linux

Концепция:

* конфигурация, как и образ -- объект постадийной сборки
* метапрофиль служит репозиторием для построения индивидуального
  профиля, по которому создаётся итоговый образ

Особенности:

* метапрофиль при сборке может быть доступен только на чтение
* для сборки подыскивается предпочтительно tmpfs
* в профиль копируются только нужные объекты;
  он автономен относительно метапрофиля

Стадии работы:

* инициализация сборочного профиля
* сборка конфигурации образа
* наполнение сборочного профиля
* сборка образа

Объекты:

* дистрибутивы и виртуальные среды/машины:
** описываются в conf.d/*.mk
** могут основываться на предшественниках, расширяя их
** дистрибутивы также включают один или более субпрофилей по надобности
** желательно избегать множественного наследования, см. тж. фичи

* субпрофили:
** список собирается в $(SUBPROFILES)
** базовые комплекты помещены в подкаталогах под sub.in/;
   их наборы скриптов могут расширяться фичами

* фичи:
** законченные блоки функциональности (или наборы таковых)
** описываются в индивидуальных features.in/*/config.mk
** могут требовать другие фичи, а также субпрофили
** накопительный список собирается в $(FEATURES)
** при сборке $(BUILDDIR) содержимое фич добавляется в профиль

* списки пакетов (*_LISTS):
** _внимание_: не надо создавать фичу, если достаточно списка пакетов!
** просьба по возможности избегать дублирования (см. bin/pkgdups)

* индивидуальные пакеты (*_PACKAGES): см. тж. conf.d/README

Результат:

* при успешном завершении сборки образ называется по имени цели
  и укладывается в $(IMAGEDIR):
** указанный явно,
** либо ~/out/ (если возможно),
** или $(BUILDDIR)/out/ иначе
* формируются отчёты, если запрошены (REPORT)

См. тж.:

* http://altlinux.org/m-p: обзорная документация, в т.ч. howto
* doc/:
** params.txt: переменные, указываемые при запуске сборки
** pkglists.txt: формирование состава образа
** features.txt: обзор подключаемых особенностей

Примечание: пути в документации задаются от каталога верхнего уровня,
если не указаны как относительные в явном виде (./) или по смыслу.

Удачи; что не так -- пишите.

Michael Shigorin <mike@altlinux.org>