Compare commits

...

20 Commits

Author SHA1 Message Date
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
39 changed files with 526 additions and 246 deletions

View File

@@ -1,5 +1,5 @@
Name: mkimage-profiles Name: mkimage-profiles
Version: 0.8.3 Version: 0.8.6
Release: alt1 Release: alt1
Summary: ALT Linux based distribution metaprofile Summary: ALT Linux based distribution metaprofile
@@ -11,6 +11,9 @@ Source: %name-%version.tar
Packager: Michael Shigorin <mike@altlinux.org> Packager: Michael Shigorin <mike@altlinux.org>
BuildArch: noarch BuildArch: noarch
BuildRequires: rsync asciidoc-a2x xmlgraphics-fop fonts-ttf-dejavu
BuildRequires: /proc
Requires: rsync git-core Requires: rsync git-core
Requires: time schedutils Requires: time schedutils
Requires: mkimage >= 0.2.0 Requires: mkimage >= 0.2.0
@@ -20,6 +23,12 @@ Requires: mkimage >= 0.2.0
%define mpdir %_datadir/%name %define mpdir %_datadir/%name
%add_findreq_skiplist %mpdir/*.in/* %add_findreq_skiplist %mpdir/*.in/*
%define docs $HOME/docs
%package doc
Summary: %name documentation
Group: Development/Documentation
%description %description
mkimage-profiles is a collection of bits and pieces useful for mkimage-profiles is a collection of bits and pieces useful for
distributions construction: it contains package lists, features, 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: welcome to the metaprofile itself; read the docs and get the git:
%url %url
%description doc
This package holds developer docs for %name
as a book in HTML and PDF formats.
%prep %prep
%setup %setup
%build %build
make BUILDDIR=%docs docs
%install %install
mkdir -p %buildroot%mpdir mkdir -p %buildroot%mpdir
@@ -57,10 +71,24 @@ cp -a * %buildroot%mpdir
%files %files
%mpdir/ %mpdir/
%doc doc/
%doc README QUICKSTART %files doc
%doc README
%doc QUICKSTART
%doc %docs/*
%changelog %changelog
* 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 * Mon Oct 15 2012 Michael Shigorin <mike@altlinux.org> 0.8.3-alt1
- make-3.82 support - make-3.82 support
- fixed live image boot to some extent (see #27640, #27852) - fixed live image boot to some extent (see #27640, #27852)

View File

@@ -0,0 +1,6 @@
object 91a4cc986fcc061bed80a3c8f7cee114b8986db1
type commit
tag v0.8.5
tagger Michael Shigorin <mike@altlinux.org> 1351541298 +0200
diffable logs

View File

@@ -1,6 +0,0 @@
object b44705d25baf5b0f0c0abb526d42c42b312026e9
type commit
tag v0.8.2
tagger Michael Shigorin <mike@altlinux.org> 1348509116 +0400
propagator joy

View File

@@ -1 +1 @@
8e161378cc7ad174898a8d51697730334b1b712a v0.8.2 88fce54e081dd8b4d8664f30193e8ce371d172b2 v0.8.5

View File

@@ -61,3 +61,6 @@ SHELL = /bin/bash
fi; \ fi; \
done; \ done; \
if [ "$$n" -lt "$(NUM_TARGETS)" ]; then say; fi if [ "$$n" -lt "$(NUM_TARGETS)" ]; then say; fi
docs:
@$(MAKE) -C doc

95
README
View File

@@ -1,69 +1,76 @@
Welcome to mkimage-profiles! [float]
=== Welcome to mkimage-profiles! ===
Configurables: ~/.mkimage/profiles.mk; Configurables: ~/.mkimage/profiles.mk;
see doc/params.txt and conf.d/README 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. 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 * дистрибутивы и виртуальные среды/машины:
+ могут основываться на предшественниках, расширяя их ** описываются в conf.d/*.mk или соответственно lib/{distro,ve,vm}.mk
+ дистрибутивы также: ** могут основываться на предшественниках, расширяя их
- включают один или более субпрофилей по надобности ** дистрибутивы также:
+ желательно избегать множественного наследования, см. тж. фичи *** включают один или более субпрофилей по надобности
- субпрофили: ** желательно избегать множественного наследования, см. тж. фичи
+ список собирается в $(SUBPROFILES) * субпрофили:
+ базовые комплекты помещены в подкаталогах под sub.in/; ** список собирается в $(SUBPROFILES)
** базовые комплекты помещены в подкаталогах под sub.in/;
их наборы скриптов могут расширяться фичами их наборы скриптов могут расширяться фичами
- фичи: * фичи:
+ законченные блоки функциональности (или наборы таковых) ** законченные блоки функциональности (или наборы таковых)
+ описываются в индивидуальных features.in/*/config.mk ** описываются в индивидуальных features.in/*/config.mk
+ могут требовать другие фичи, а также субпрофили ** могут требовать другие фичи, а также субпрофили
+ накопительный список собирается в $(FEATURES) ** накопительный список собирается в $(FEATURES)
+ при сборке $(BUILDDIR) содержимое фич добавляется в профиль ** при сборке $(BUILDDIR) содержимое фич добавляется в профиль
- списки пакетов (*_LISTS): * списки пакетов (*_LISTS):
+ просьба по возможности избегать дублирования (см. bin/pkgdups) ** просьба по возможности избегать дублирования (см. bin/pkgdups)
- индивидуальные пакеты (*_PACKAGES): см. тж. conf.d/README * индивидуальные пакеты (*_PACKAGES): см. тж. conf.d/README
Результат: Результат:
- при успешном завершении сборки образ называется по имени цели
* при успешном завершении сборки образ называется по имени цели
и укладывается в $(IMAGEDIR): и укладывается в $(IMAGEDIR):
+ указанный явно, ** указанный явно,
+ либо ~/out/ (если возможно), ** либо ~/out/ (если возможно),
+ или $(BUILDDIR)/out/ иначе ** или $(BUILDDIR)/out/ иначе
- формируются отчёты, если запрошены (REPORT) * формируются отчёты, если запрошены (REPORT)
См. тж.: См. тж.:
- http://altlinux.org/m-p
- doc/: * http://altlinux.org/m-p
+ params.txt: переменные, указываемые при запуске сборки * doc/:
+ pkglists.txt: формирование состава образа ** params.txt: переменные, указываемые при запуске сборки
+ features.txt: обзор подключаемых особенностей ** pkglists.txt: формирование состава образа
** features.txt: обзор подключаемых особенностей
Удачи; что не так -- пишите. Удачи; что не так -- пишите.
--
Michael Shigorin <mike@altlinux.org> Michael Shigorin <mike@altlinux.org>

View File

@@ -1,3 +1,4 @@
== conf.d ==
Этот каталог содержит включаемые фрагменты конфигурации образов с тем, Этот каталог содержит включаемые фрагменты конфигурации образов с тем,
чтобы было удобнее параллельно разрабатывать специфические дистрибутивы чтобы было удобнее параллельно разрабатывать специфические дистрибутивы
и VE без излишних merge conflict'ов. и VE без излишних merge conflict'ов.

View File

@@ -11,8 +11,10 @@ distro/.desktop-network: distro/.desktop-mini +vmguest
@$(call add,BASE_LISTS, \ @$(call add,BASE_LISTS, \
$(call tags,(base || desktop) && (l10n || network))) $(call tags,(base || desktop) && (l10n || network)))
distro/tde: distro/.desktop-mini +tde
@$(call set,KFLAVOURS,led-ws)
distro/icewm: distro/.desktop-network use/lowmem use/install2/fs +icewm; @: distro/icewm: distro/.desktop-network use/lowmem use/install2/fs +icewm; @:
distro/tde: distro/.desktop-mini +tde; @:
distro/ltsp-tde: distro/tde +ltsp; @: distro/ltsp-tde: distro/tde +ltsp; @:
distro/ltsp-icewm: distro/icewm +ltsp; @: distro/ltsp-icewm: distro/icewm +ltsp; @:

View File

@@ -40,6 +40,7 @@ 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_LISTS,$(call tags,desktop && (live || network)))
@$(call add,LIVE_PACKAGES,livecd-webkiosk) @$(call add,LIVE_PACKAGES,livecd-webkiosk)
@$(call add,CLEANUP_PACKAGES,'libqt4*' 'qt4*') @$(call add,CLEANUP_PACKAGES,'libqt4*' 'qt4*')
@$(call set,KFLAVOURS,led-ws)
# NB: flash/java plugins are predictable security holes # NB: flash/java plugins are predictable security holes
distro/live-webkiosk-flash: distro/live-webkiosk-mini use/plymouth/live +vmguest distro/live-webkiosk-flash: distro/live-webkiosk-mini use/plymouth/live +vmguest

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>

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

View File

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

View File

@@ -1,50 +1,50 @@
списки пакетов == Списки пакетов ==
~~~~~~~~~~~~~~
Состав пакетной базы субпрофилей определяется значенями Состав пакетной базы субпрофилей определяется значенями
следующих переменных профиля (см. тж. ../conf.d/README): следующих переменных профиля (см. тж. ../conf.d/README):
- 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,
SYSTEM_PACKAGES, COMMON_PACKAGES SYSTEM_PACKAGES, COMMON_PACKAGES
+ THE_PACKAGES_REGEXP, BASE_PACKAGES_REGEXP, MAIN_PACKAGES_REGEXP ** THE_PACKAGES_REGEXP, BASE_PACKAGES_REGEXP, MAIN_PACKAGES_REGEXP
+ THE_KMODULES, BASE_KMODULES, MAIN_KMODULES, BASE_KMODULES_REGEXP ** THE_KMODULES, BASE_KMODULES, MAIN_KMODULES, BASE_KMODULES_REGEXP
- 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
- STAGE1_KFLAVOUR или последний из KFLAVOURS *** STAGE1_KFLAVOUR или последний из KFLAVOURS
- 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
+ THE_PACKAGES_REGEXP, LIVE_PACKAGES_REGEXP ** THE_PACKAGES_REGEXP, LIVE_PACKAGES_REGEXP
+ THE_KMODULES, LIVE_KMODULES ** THE_KMODULES, LIVE_KMODULES
- rescue: спасательный LiveCD * rescue: спасательный LiveCD
+ см. stage2 ** см. stage2
+ features.in/rescue/rescue/stage2cfg.mk ** features.in/rescue/rescue/stage2cfg.mk
+ RESCUE_PACKAGES, COMMON_PACKAGES ** RESCUE_PACKAGES, COMMON_PACKAGES
+ 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
- STAGE1_KFLAVOUR или последний из KFLAVOURS *** STAGE1_KFLAVOUR или последний из KFLAVOURS

View File

@@ -1,3 +1,5 @@
== QEMU ==
Для сборки на "неродной" архитектуре с применением трансляции Для сборки на "неродной" архитектуре с применением трансляции
посредством QEMU установите пакет livecd-qemu-arch и выполните посредством QEMU установите пакет livecd-qemu-arch и выполните
команду register-qemu-arm от имени root (также предоставляется команду register-qemu-arm от имени root (также предоставляется

View File

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

View File

@@ -1,6 +1,6 @@
сборка образов виртуальных машин == Сборка образов виртуальных машин ==
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ВНИМАНИЕ: заключительная операция создания образа жёсткого диска *ВНИМАНИЕ:* заключительная операция создания образа жёсткого диска
из архива с содержимым корневой файловой системы требует доступа из архива с содержимым корневой файловой системы требует доступа
к sudo и разрешения на выполнение скрипта bin/tar2vm в корневом к sudo и разрешения на выполнение скрипта bin/tar2vm в корневом
каталоге метапрофиля при установке mkimage-profiles из пакета каталоге метапрофиля при установке mkimage-profiles из пакета
@@ -9,7 +9,7 @@
Соответствующий фрагмент конфигурации sudo(8) может выглядеть как: Соответствующий фрагмент конфигурации sudo(8) может выглядеть как:
mike ALL=NOPASSWD: /usr/share/mkimage-profiles/bin/tar2vm mike ALL=NOPASSWD: /usr/share/mkimage-profiles/bin/tar2vm
При работе с локальной копией mkimage-profiles.git следует иметь При работе с локальной копией mkimage-profiles.git следует иметь
в виду, что предоставлять недоверенному пользователю право выполнять в виду, что предоставлять недоверенному пользователю право выполнять
@@ -24,4 +24,4 @@ mike ALL=NOPASSWD: /usr/share/mkimage-profiles/bin/tar2vm
Пример сборки и запуска VM: Пример сборки и запуска 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

@@ -1,3 +1,4 @@
== features.in ==
Этот каталог содержит т.н. фичи (features, особенности). Этот каталог содержит т.н. фичи (features, особенности).
Фича -- отдельно подключаемая сущность, которая содержит Фича -- отдельно подключаемая сущность, которая содержит

View File

@@ -10,7 +10,7 @@ use/live/base: use/live use/syslinux/ui/menu
@$(call add,LIVE_LISTS,$(call tags,base && (live || network))) @$(call add,LIVE_LISTS,$(call tags,base && (live || network)))
# a very simplistic one # 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) @$(call add,LIVE_PACKAGES,xinit)
# optimized out: use/x11/xorg # optimized out: use/x11/xorg
@@ -18,6 +18,7 @@ use/live/desktop: use/live/base use/x11/wacom use/live/sound +vmguest +power
@$(call add,LIVE_LISTS,$(call tags,desktop && (live || network))) @$(call add,LIVE_LISTS,$(call tags,desktop && (live || network)))
@$(call add,LIVE_LISTS,$(call tags,base l10n)) @$(call add,LIVE_LISTS,$(call tags,base l10n))
@$(call add,LIVE_PACKAGES,fonts-ttf-dejavu fonts-ttf-droid) @$(call add,LIVE_PACKAGES,fonts-ttf-dejavu fonts-ttf-droid)
@$(call add,LIVE_PACKAGES,pciutils)
@$(call add,SYSLINUX_CFG,localboot) @$(call add,SYSLINUX_CFG,localboot)
# alterator-based permanent installation # alterator-based permanent installation

View File

@@ -1,7 +1,7 @@
# "1" is not a typo # "1" is not a typo
use/stage2: sub/stage1 use/stage2: sub/stage1
@$(call add_feature) @$(call add_feature)
@$(call add,STAGE1_PACKAGES,file make-initrd make-initrd-propagator) @$(call add,STAGE1_PACKAGES,file make-initrd make-initrd-propagator propagator)
use/stage2/kms: use/stage2/kms:
@$(call add,STAGE1_KMODULES_REGEXP,drm.*) @$(call add,STAGE1_KMODULES_REGEXP,drm.*)

View File

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

View File

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

View File

@@ -31,7 +31,7 @@ distro/.base: distro/.init use/kernel
# something marginally useful (as a network-only installer) # something marginally useful (as a network-only installer)
# NB: doesn't carry stage3 thus cannot use/bootloader # NB: doesn't carry stage3 thus cannot use/bootloader
distro/installer: distro/.base use/syslinux/localboot.cfg \ distro/installer: distro/.base use/syslinux/localboot.cfg \
use/install2 use/install2/kms use/install2/kvm use/install2 use/install2/kms use/firmware use/install2/kvm
@$(call set,INSTALLER,altlinux-generic) @$(call set,INSTALLER,altlinux-generic)
distro/.installer: distro/installer use/bootloader/grub use/repo/main; @: distro/.installer: distro/installer use/bootloader/grub use/repo/main; @:

View File

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

View File

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

View File

@@ -1,3 +1,4 @@
=== pkg.in/lists/tagged ===
Этот каталог содержит тегированные списки; на данный момент Этот каталог содержит тегированные списки; на данный момент
реализация (../../../bin/tags2lists) требует, чтобы каждый реализация (../../../bin/tags2lists) требует, чтобы каждый
из тегов был отдельным словом, состоящим из символов из набора из тегов был отдельным словом, состоящим из символов из набора

View File

@@ -0,0 +1 @@
livecd-firefox

View File

@@ -1,4 +1,4 @@
razor-qt razorqt
arora arora
qtfm qtfm
qterminal qterminal

View File

@@ -7,7 +7,7 @@ kdegraphics-ksnapshot
kdegraphics-kview kdegraphics-kview
kdeutils-laptop kdeutils-laptop
kdepim-akregator kdepim-akregator
gtk2-themes-qtcurve #gtk2-themes-qtcurve
#kde-styles-qtcurve #kde-styles-qtcurve
kdeutils-ark kdeutils-ark
#kdebluetooth #kdebluetooth

View File

@@ -6,6 +6,7 @@ xorg-drv-fbdev
xorg-drv-intel xorg-drv-intel
xorg-drv-joystick xorg-drv-joystick
xorg-drv-mga xorg-drv-mga
xorg-drv-modesetting
xorg-drv-multimedia xorg-drv-multimedia
xorg-drv-nouveau xorg-drv-nouveau
xorg-drv-nv xorg-drv-nv

View File

@@ -17,7 +17,7 @@ ifneq (1,$(NUM_TARGETS))
SHORTEN := >/dev/null SHORTEN := >/dev/null
endif endif
all: reports/targets reports/scripts all: reports/targets reports/scripts reports/cleanlog
@if [ -n "$(IMAGE_OUTPATH)" ]; then \ @if [ -n "$(IMAGE_OUTPATH)" ]; then \
cp -a "$(REPORTDIR)" "$(LOGDIR)/$(IMAGE_OUTFILE).reports"; \ cp -a "$(REPORTDIR)" "$(LOGDIR)/$(IMAGE_OUTFILE).reports"; \
fi fi
@@ -25,6 +25,31 @@ all: reports/targets reports/scripts
reports/prep: reports/prep:
@mkdir -p "$(REPORTDIR)" @mkdir -p "$(REPORTDIR)"
# try to drop common noise rendering diff(1) mostly useless
reports/cleanlog: reports/prep
@OUT="$(REPORTDIR)/$(@F).log"; \
sed -r \
-e 's,$(BUILDDIR),,g' \
-e '/\/var\/lib\/apt\/lists/d' \
-e 's/... .. ..:..:..//g' \
-e 's/\[[0-9]+\]//g' \
-e '/^(Reading Package Lists|Building Dependency Tree)/d' \
-e '/^(Fetched|Need to get|After unpacking) /d' \
-e '/^(Preparing packages for installation|Done\.)/d' \
-e '/^hsh(|-(initroot|install|fakedev|(mk|rm)chroot|run)): /d' \
-e '/^(hasher-priv|mkaptbox|(mk|rm)dir): /d' \
-e '/^mki-((invalidate-|)cache|check-obsolete|prepare): /d' \
-e '/^(mode of|changed (group|ownership)|removed) /d' \
-e '/^chroot\/.in\//d' \
-e '/ has started executing\.$$/d' \
-e '/\/var\/log\/apt\.log$$/d' \
-e '/\/usr\/share\/apt\/scripts\/log\.lua/d' \
-e '/\.rpm$$/d' \
-e "/' -> '/d" \
< $(BUILDLOG) \
> "$(REPORTDIR)/$(@F).log" \
&& echo "** diffable log: $$OUT" $(SHORTEN)
reports/scripts: reports/prep reports/scripts: reports/prep
@OUT="$(REPORTDIR)/$(@F).log"; \ @OUT="$(REPORTDIR)/$(@F).log"; \
grep "^mki.*scripts: Run: " $(BUILDLOG) \ grep "^mki.*scripts: Run: " $(BUILDLOG) \

View File

@@ -1,3 +1,5 @@
== sub.in ==
Этот каталог содержит субпрофили; содержимое затребованных Этот каталог содержит субпрофили; содержимое затребованных
(названия которых содержатся в значении переменной SUBPROFILES, (названия которых содержатся в значении переменной SUBPROFILES,
которую заполняют цели sub/* -- см. ../lib/distro.mk) будет которую заполняют цели sub/* -- см. ../lib/distro.mk) будет

View File

@@ -1,12 +1,14 @@
=== sub.in/main ===
Этот каталог содержит субпрофиль main, собирающий пакетную базу Этот каталог содержит субпрофиль main, собирающий пакетную базу
для локальной инсталяции дистрибутива из полученного образа, для локальной инсталяции дистрибутива из полученного образа,
включая необязательные пакеты; в distro/live-builder применяется включая необязательные пакеты; в distro/live-builder применяется
как локальный репозиторий для сборки. как локальный репозиторий для сборки.
Подбирает: Подбирает:
- 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/* --
рабочий чрут не содержит исполняемых файлов. рабочий чрут не содержит исполняемых файлов.

View File

@@ -1,3 +1,4 @@
=== sub.in/stage1 ===
Этот каталог содержит субпрофиль первой стадии загрузки; Этот каталог содержит субпрофиль первой стадии загрузки;
здесь место syslinux (загрузчик) и propagator (ориентировка здесь место syslinux (загрузчик) и propagator (ориентировка
на местности, вытягивание второй стадии с CD/FTP/...). на местности, вытягивание второй стадии с CD/FTP/...).
@@ -17,7 +18,3 @@ STAGE1_KMODULES_REGEXP -- будет подмножество модулей
(в силу зависимости stage2 от stage1). (в силу зависимости stage2 от stage1).
Результат -- каталог syslinux/ для копирования в образ. Результат -- каталог syslinux/ для копирования в образ.
TODO (3.2+): "The network drivers directory (drivers/net)
has been massively rearranged with most drivers moved into
media-specific or protocol-specific subdirectories."

View File

@@ -1,3 +1,5 @@
=== sub.in/stage2 ===
Этот каталог содержит общий базовый субпрофиль "живой" второй стадии, Этот каталог содержит общий базовый субпрофиль "живой" второй стадии,
используемый для сборки образов install2, live, rescue (возможно, используемый для сборки образов install2, live, rescue (возможно,
нескольких одновременно в составе одного дистрибутива). нескольких одновременно в составе одного дистрибутива).