Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
e97c111f33 | ||
|
41a0b63051 | ||
|
f0414f8208 | ||
|
c5e559b7b9 | ||
|
d6972a39bf | ||
|
dbed41bf81 | ||
|
1d07b8f11b | ||
|
16a06f51d0 | ||
|
1b3b38b7c5 | ||
|
6fadf7e0e9 | ||
|
1d66879681 | ||
|
e89a0f1c62 | ||
|
c400ba59df | ||
|
ed0842b745 | ||
|
390f4f6bc8 | ||
|
a1d0b4a7c0 |
@@ -1,5 +1,5 @@
|
||||
Name: mkimage-profiles
|
||||
Version: 0.5.1
|
||||
Version: 0.5.2
|
||||
Release: alt1
|
||||
|
||||
Summary: ALT Linux based distribution metaprofile
|
||||
@@ -59,6 +59,10 @@ cp -a * %buildroot%mpdir
|
||||
%doc README QUICKSTART
|
||||
|
||||
%changelog
|
||||
* Mon Dec 19 2011 Michael Shigorin <mike@altlinux.org> 0.5.2-alt1
|
||||
- THE_{KMODULES,PACKAGES,LISTS,GROUPS}
|
||||
- incremental development, refactoring and bugfixing
|
||||
|
||||
* Fri Dec 02 2011 Michael Shigorin <mike@altlinux.org> 0.5.1-alt1
|
||||
- generic VE archive type (added cpio and xz either)
|
||||
- minor additions/fixes
|
||||
|
6
.gear/tags/461cfaf9fc1fffe08daf223d04fd3f52edd21c16
Normal file
6
.gear/tags/461cfaf9fc1fffe08daf223d04fd3f52edd21c16
Normal file
@@ -0,0 +1,6 @@
|
||||
object ae85287f97ae2879647491b4e3b0467ea250d931
|
||||
type commit
|
||||
tag v0.5.1
|
||||
tagger Michael Shigorin <mike@altlinux.org> 1322849338 +0200
|
||||
|
||||
cpio.xz
|
@@ -1,6 +0,0 @@
|
||||
object 48272c7119328f0c68142087edba1494c6442cbc
|
||||
type commit
|
||||
tag v0.5.0
|
||||
tagger Michael Shigorin <mike@altlinux.org> 1321878408 +0200
|
||||
|
||||
add_feature
|
@@ -1 +1 @@
|
||||
851085a67914bd2f9470cf81f552b06a9b98d83d v0.5.0
|
||||
461cfaf9fc1fffe08daf223d04fd3f52edd21c16 v0.5.1
|
||||
|
@@ -11,15 +11,24 @@
|
||||
Попросту говоря, copy-paste -- тревожный признак.
|
||||
|
||||
По переменным:
|
||||
* SYSTEM_PACKAGES стоит применять крайне осторожно -- эти пакеты попадут
|
||||
- SYSTEM_PACKAGES стоит применять крайне осторожно -- эти пакеты попадут
|
||||
во все стадии, в том числе в образ чувствительной к объёму install2
|
||||
(в stage1 -- только в инструментальный чрут); применяйте для того,
|
||||
что обязано быть и в инсталяторе, и в готовой системе;
|
||||
* для "обычного общего" (main, live, rescue) есть COMMON_PACKAGES
|
||||
(NB: попадают в базовую систему).
|
||||
что обязано быть и в инсталяторе, и в готовой системе
|
||||
- для "обычного общего" (live, main, rescue) есть COMMON_PACKAGES
|
||||
(NB: попадают в базовую систему)
|
||||
- для "пользовательского" (live, main) есть THE_GROUPS, THE_LISTS
|
||||
и THE_PACKAGES
|
||||
- аналогично по модулям ядра:
|
||||
+ STAGE1_KMODULES доступны в производных от stage2 (install2, live, rescue)
|
||||
+ BASE_KMODULES попадут в установку по умолчанию
|
||||
+ MAIN_KMODULES будут доступны для установки с носителя
|
||||
+ LIVE_KMODULES предназначены для LiveCD/LiveFlash
|
||||
+ THE_KMODULES попадут в "пользовательские" окружения
|
||||
(live и установленную систему)
|
||||
|
||||
По подстановкам:
|
||||
* $(VAR) подставляются перед их записью в $(CONFIG), который distcfg.mk;
|
||||
* $$(VAR) раскрываются позже, при включении $(CONFIG) и востребовании
|
||||
значений -- таким образом их значения могут изменяться до окончания
|
||||
конфигурации, а также зависеть от значений других переменных;
|
||||
- $(VAR) подставляются перед их записью в $(CONFIG), который distcfg.mk
|
||||
- $$(VAR) раскрываются позже, при включении $(CONFIG) и востребовании
|
||||
значений; в этом случае их значения могут изменяться до окончания
|
||||
конфигурации, а также зависеть от значений других переменных
|
||||
|
@@ -4,10 +4,11 @@ ifeq (distro,$(IMAGE_CLASS))
|
||||
distro/desktop-base: distro/installer use/repo/main \
|
||||
use/syslinux/ui-vesamenu use/x11/xorg use/bootloader/grub
|
||||
|
||||
distro/icewm: distro/desktop-base \
|
||||
use/lowmem use/x11/xdm use/x11/runlevel5 \
|
||||
use/bootloader/lilo use/power/acpi/button \
|
||||
use/cleanup/alterator
|
||||
distro/desktop-mini: distro/desktop-base \
|
||||
use/lowmem use/x11/xdm use/bootloader/lilo \
|
||||
use/power/acpi/button use/cleanup/alterator
|
||||
|
||||
distro/icewm: distro/desktop-mini
|
||||
@$(call add,BASE_LISTS,$(call tags,icewm desktop))
|
||||
|
||||
distro/desktop-systemd: distro/icewm use/systemd
|
||||
|
@@ -5,13 +5,6 @@ distro/dos: distro/.init use/dos use/syslinux/ui-menu
|
||||
distro/rescue: distro/.base use/rescue use/syslinux/ui-menu
|
||||
distro/live: distro/.base use/live/base use/power/acpi/cpufreq
|
||||
distro/live-systemd: distro/.base use/live/base use/systemd
|
||||
distro/live-install: distro/.base use/live/install use/syslinux/localboot.cfg
|
||||
distro/live-icewm: distro/live use/live/icewm
|
||||
|
||||
distro/live-rescue: distro/live-icewm
|
||||
@$(call add,LIVE_LISTS,$(call tags,rescue && (live || x11)))
|
||||
@$(call add,LIVE_LISTS, \
|
||||
$(call tags,(base || extra) && (archive || rescue || network)))
|
||||
|
||||
distro/live-isomd5sum: distro/.base use/live/base use/isomd5sum
|
||||
@$(call add,LIVE_PACKAGES,livecd-isomd5sum)
|
||||
@@ -28,4 +21,20 @@ distro/live-builder: distro/.base use/repo/main \
|
||||
@$(call add,MAIN_PACKAGES,file make-initrd make-initrd-propagator)
|
||||
@$(call add,MAIN_PACKAGES,$(pkgs))
|
||||
|
||||
distro/live-install: distro/.base use/live/base use/syslinux/localboot.cfg
|
||||
@$(call add,LIVE_PACKAGES,live-install)
|
||||
|
||||
distro/live-icewm: distro/live use/live/autologin
|
||||
@$(call add,LIVE_LISTS, \
|
||||
$(call tags,(base || desktop) && (live || network || icewm)))
|
||||
|
||||
distro/live-razorqt: distro/live use/live/autologin
|
||||
@$(call add,LIVE_LISTS, \
|
||||
$(call tags,(base || desktop) && (live || network || razorqt)))
|
||||
|
||||
distro/live-rescue: distro/live-icewm
|
||||
@$(call add,LIVE_LISTS,$(call tags,rescue && (fs || live || x11)))
|
||||
@$(call add,LIVE_LISTS, \
|
||||
$(call tags,(base || extra) && (archive || rescue || network)))
|
||||
|
||||
endif
|
||||
|
@@ -7,7 +7,8 @@ distro/server-base: distro/installer use/repo/main \
|
||||
|
||||
distro/server-mini: distro/server-base use/cleanup/x11-alterator
|
||||
@$(call set,KFLAVOURS,el-smp)
|
||||
@$(call add,KMODULES,e1000e igb)
|
||||
@$(call add,THE_KMODULES,e1000e igb)
|
||||
@$(call add,STAGE1_KMODULES,e1000e igb)
|
||||
@$(call add,BASE_LISTS,\
|
||||
$(call tags,base && (server || network || security || pkg)))
|
||||
@$(call add,BASE_LISTS,$(call tags,extra network))
|
||||
@@ -18,9 +19,10 @@ distro/server-ovz: distro/server-mini \
|
||||
use/hdt use/rescue use/firmware/server use/power/acpi/button
|
||||
@$(call set,STAGE1_KFLAVOUR,std-def)
|
||||
@$(call set,KFLAVOURS,std-def ovz-el)
|
||||
@$(call add,KMODULES,bcmwl ndiswrapper rtl8168 rtl8192)
|
||||
@$(call add,KMODULES,ipset ipt-netflow opendpi pf_ring xtables-addons)
|
||||
@$(call add,KMODULES,drbd83 kvm)
|
||||
@$(call add,BASE_KMODULES,rtl8168 rtl8192)
|
||||
@$(call add,MAIN_KMODULES,bcmwl ndiswrapper)
|
||||
@$(call add,MAIN_KMODULES,ipset ipt-netflow opendpi pf_ring xtables-addons)
|
||||
@$(call add,MAIN_KMODULES,drbd83 kvm)
|
||||
@$(call add,INSTALL2_PACKAGES,curl) ### should become curl-mini
|
||||
@$(call add,BASE_LISTS,ovz-server)
|
||||
@$(call add,MAIN_LISTS,kernel-wifi)
|
||||
|
@@ -22,6 +22,11 @@
|
||||
+ значение: пусто (по умолчанию авто) либо строка
|
||||
+ см. ../lib/profile.mk
|
||||
|
||||
- CHECK
|
||||
+ включает режим проверки сборки конфигурации
|
||||
+ значение: пусто (по умолчанию) либо любая строка
|
||||
+ см. ../lib/build.mk
|
||||
|
||||
- CLEAN
|
||||
+ экономия RAM+swap при сборке в tmpfs, иначе места на диске
|
||||
+ очистка рабочего каталога после успешной сборки очередной стадии
|
||||
@@ -34,6 +39,11 @@
|
||||
+ значение: пусто (по умолчанию), 1 или 2
|
||||
+ см. ../lib/log.mk
|
||||
|
||||
- ISOHYBRID
|
||||
+ включает постобработку ISO-образа isohybrid
|
||||
+ значение: пусто (по умолчанию) либо любая строка
|
||||
+ см. ../features.in/pack/config.mk
|
||||
|
||||
- NICE
|
||||
+ понижает нагрузку системы сборочной задачей
|
||||
+ значение: пусто (по умолчанию) либо любая строка
|
||||
|
@@ -25,88 +25,99 @@ include $(BUILDDIR)/distcfg.mk
|
||||
# still both pieces go into a single destination
|
||||
|
||||
### sorry for somewhat complicated and overly long lines
|
||||
all:
|
||||
|
||||
TARGETS := prep $(FEATURES) finalize
|
||||
|
||||
.PHONY: $(TARGETS)
|
||||
all: | $(TARGETS)
|
||||
|
||||
prep:
|
||||
@echo "** starting feature configuration"
|
||||
@if [ -n "$(GLOBAL_DEBUG)" ]; then \
|
||||
echo "** target subprofiles: $(SUBPROFILES)"; \
|
||||
echo "** requested features: $(FEATURES)"; \
|
||||
fi
|
||||
@for feat in $(FEATURES); do \
|
||||
if [ -n "$(GLOBAL_DEBUG)" ]; then \
|
||||
echo "** adding $$feat feature"; \
|
||||
fi; \
|
||||
pushd "$$feat" >/dev/null && \
|
||||
for sub in / $(SUBPROFILES); do \
|
||||
dirtags=; \
|
||||
if [ "$$sub" = / ]; then \
|
||||
parts=lib; \
|
||||
srcdirs="."; \
|
||||
dst="."; \
|
||||
else \
|
||||
parts=; \
|
||||
src="$${sub%/*}"; \
|
||||
dst="$${sub#*/}"; \
|
||||
srcdirs=; \
|
||||
if [ -d "$$src" ]; then \
|
||||
srcdirs="$$src"; \
|
||||
dirtags="&& $$src"; \
|
||||
fi; \
|
||||
if [ -d "$$dst" -a "$$dst" != "$$src" ]; then \
|
||||
srcdirs="$$srcdirs $$dst"; \
|
||||
dirtags="&& ($$src || $$dst)"; \
|
||||
fi; \
|
||||
for srcdir in $$srcdirs; do \
|
||||
rsync -qab --exclude tagged \
|
||||
"$$srcdir/" "$(BUILDDIR)/$$dst/"; \
|
||||
done; \
|
||||
|
||||
# feat
|
||||
$(FEATURES):
|
||||
@feat=$@; \
|
||||
if [ -n "$(GLOBAL_DEBUG)" ]; then \
|
||||
echo "** adding $$feat feature"; \
|
||||
fi; \
|
||||
pushd "$$feat" >/dev/null && \
|
||||
for sub in / $(SUBPROFILES); do \
|
||||
dirtags=; \
|
||||
if [ "$$sub" = / ]; then \
|
||||
parts=lib; \
|
||||
srcdirs="."; \
|
||||
dst="."; \
|
||||
else \
|
||||
parts=; \
|
||||
src="$${sub%/*}"; \
|
||||
dst="$${sub#*/}"; \
|
||||
srcdirs=; \
|
||||
if [ -d "$$src" ]; then \
|
||||
srcdirs="$$src"; \
|
||||
dirtags="&& $$src"; \
|
||||
fi; \
|
||||
if [ -n "$(GLOBAL_DEBUG)" ]; then \
|
||||
echo "** src=[$$src] dst=[$$dst] srcdirs=[$$srcdirs]"; \
|
||||
if [ -d "$$dst" -a "$$dst" != "$$src" ]; then \
|
||||
srcdirs="$$srcdirs $$dst"; \
|
||||
dirtags="&& ($$src || $$dst)"; \
|
||||
fi; \
|
||||
for srcdir in $$srcdirs; do \
|
||||
[ -d "$$srcdir" ] || continue; \
|
||||
pushd "$$srcdir" >&/dev/null; \
|
||||
for part in $$parts {image-,}scripts.d; do \
|
||||
destdir="$(BUILDDIR)/$$dst/$$part"; \
|
||||
[ -d "$$destdir" ] || continue; \
|
||||
if [ "$$sub" = / -a -d "$$part" ]; then \
|
||||
rsync -qab "$$part/" "$$destdir/"; \
|
||||
fi; \
|
||||
[ -d "tagged/$$part" ] || continue; \
|
||||
[ "$$srcdir" != "." ] || continue; \
|
||||
pushd "tagged/$$part" >/dev/null; \
|
||||
echo "$$feat $$dirtags" \
|
||||
| tags2lists . \
|
||||
| xargs -r cp -vpLt "$$destdir" --; \
|
||||
popd >/dev/null; \
|
||||
done; \
|
||||
popd >&/dev/null; \
|
||||
rsync -qab --exclude tagged \
|
||||
"$$srcdir/" "$(BUILDDIR)/$$dst/"; \
|
||||
done; \
|
||||
if type -t git >&/dev/null && \
|
||||
pushd "$(BUILDDIR)/$$dst/" >/dev/null; then \
|
||||
test -n "`git status -s`" && \
|
||||
git add . && \
|
||||
if [ -n "$$dst" ]; then \
|
||||
the="$$sub subprofile"; \
|
||||
else \
|
||||
the="toplevel"; \
|
||||
fi && \
|
||||
git commit -qam "$$feat feature: $$the part added"; \
|
||||
fi; \
|
||||
if [ -n "$(GLOBAL_DEBUG)" ]; then \
|
||||
echo "** src=[$$src] dst=[$$dst] srcdirs=[$$srcdirs]"; \
|
||||
fi; \
|
||||
for srcdir in $$srcdirs; do \
|
||||
[ -d "$$srcdir" ] || continue; \
|
||||
pushd "$$srcdir" >&/dev/null; \
|
||||
for part in $$parts {image-,}scripts.d; do \
|
||||
destdir="$(BUILDDIR)/$$dst/$$part"; \
|
||||
[ -d "$$destdir" ] || continue; \
|
||||
if [ "$$sub" = / -a -d "$$part" ]; then \
|
||||
rsync -qab "$$part/" "$$destdir/"; \
|
||||
fi; \
|
||||
[ -d "tagged/$$part" ] || continue; \
|
||||
[ "$$srcdir" != "." ] || continue; \
|
||||
pushd "tagged/$$part" >/dev/null; \
|
||||
echo "$$feat $$dirtags" \
|
||||
| tags2lists . \
|
||||
| xargs -r cp -vpLt "$$destdir" --; \
|
||||
popd >/dev/null; \
|
||||
fi; \
|
||||
done; \
|
||||
popd >&/dev/null; \
|
||||
done; \
|
||||
if [ -x "generate.sh" ]; then sh generate.sh; fi; \
|
||||
if [ -s "generate.mk" ]; then $(MAKE) -f generate.mk; fi; \
|
||||
if type -t git >&/dev/null && \
|
||||
pushd "$(BUILDDIR)/" >/dev/null; then \
|
||||
if test -n "`git status -s`"; then \
|
||||
git add . && \
|
||||
git commit -qam "$$feat feature generation complete"; \
|
||||
fi; \
|
||||
pushd "$(BUILDDIR)/$$dst/" >/dev/null; then \
|
||||
test -n "`git status -s`" && \
|
||||
git add . && \
|
||||
if [ -n "$$dst" ]; then \
|
||||
the="$$sub subprofile"; \
|
||||
else \
|
||||
the="toplevel"; \
|
||||
fi && \
|
||||
git commit -qam "$$feat feature: $$the part added"; \
|
||||
popd >/dev/null; \
|
||||
fi; \
|
||||
done; \
|
||||
if [ -x "generate.sh" ]; then sh generate.sh; fi; \
|
||||
if [ -s "generate.mk" ]; then $(MAKE) -f generate.mk; fi; \
|
||||
if type -t git >&/dev/null && \
|
||||
pushd "$(BUILDDIR)/" >/dev/null; then \
|
||||
if test -n "`git status -s`"; then \
|
||||
git add . && \
|
||||
git commit -qam "$$feat feature generation complete"; \
|
||||
fi; \
|
||||
popd >/dev/null; \
|
||||
done
|
||||
fi; \
|
||||
popd >/dev/null
|
||||
|
||||
finalize:
|
||||
@find "$(BUILDDIR)/" -name '*~' \
|
||||
| sed "s,$(BUILDDIR)/,** warning: file clash: ," >&2
|
||||
|
||||
endif
|
||||
|
@@ -1,2 +1,3 @@
|
||||
use/build-distro: boot/isolinux
|
||||
# hooked from ../../lib/sugar.mk
|
||||
use/build-distro:
|
||||
@$(call add_feature)
|
||||
|
@@ -8,6 +8,7 @@ BOOT_TYPE = isolinux
|
||||
|
||||
# Metadata/ needed only for installers (and not for e.g. syslinux.iso)
|
||||
# FIXME: installable live needs it too, don't move to install2 feature
|
||||
### see also .../pkg.in/lists/Makefile
|
||||
ifneq (,$(findstring install2,$(FEATURES)))
|
||||
METADATA = metadata
|
||||
endif
|
||||
@@ -27,10 +28,8 @@ metadata: dot-base
|
||||
| sed 's,$(PKGDIR)/*,,g')
|
||||
|
||||
dot-base:
|
||||
@{ \
|
||||
echo -e "\n## added by image.in/Makefile"; \
|
||||
echo "$(call kpackages,$(KMODULES),$(KFLAVOURS))"; \
|
||||
} >> $(call list,.base)
|
||||
@p="$(call kpackages,$(THE_KMODULES) $(BASE_KMODULES),$(KFLAVOURS))"; \
|
||||
echo -e "\n## added by build-distro.mk\n$$p" >> $(call list,.base)
|
||||
|
||||
dot-disk:
|
||||
@mkdir -p files/.disk
|
||||
|
@@ -1,2 +1,3 @@
|
||||
# hooked from ../../lib/sugar.mk
|
||||
use/build-ve:
|
||||
@$(call add_feature)
|
||||
|
@@ -2,5 +2,5 @@ use/install2: use/stage2 sub/stage2/install2 use/cleanup/installer
|
||||
@$(call add_feature)
|
||||
@$(call set,INSTALL2_PACKAGES,installer-distro-$$(INSTALLER)-stage2)
|
||||
@$(call add,INSTALL2_PACKAGES,branding-$$(BRANDING)-alterator)
|
||||
@$(call add,MAIN_PACKAGES,branding-$$(BRANDING)-release)
|
||||
@$(call add,BASE_PACKAGES,branding-$$(BRANDING)-release)
|
||||
@$(call add,BASE_LISTS,$(call tags,basesystem))
|
||||
|
9
features.in/isohybrid/README
Normal file
9
features.in/isohybrid/README
Normal file
@@ -0,0 +1,9 @@
|
||||
Эта фича производит постобработку ISO-образа утилитой isohybrid
|
||||
с целью обеспечения возможности его загрузки как с CD/DVD,
|
||||
так и с USB-флэшки.
|
||||
|
||||
Можно указать в цепочке зависимостей дистрибутива явно с тем,
|
||||
чтобы гарантировать гибридный вид образа; в экспериментальном
|
||||
порядке сделана возможность запросить включение этой фичи при
|
||||
сборке конфигурации произвольного дистрибутива
|
||||
(ISOHYBRID=1, см. ../pack/config.mk).
|
3
features.in/isohybrid/config.mk
Normal file
3
features.in/isohybrid/config.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
use/isohybrid:
|
||||
@$(call add_feature)
|
||||
@$(call add,POSTPROCESS_TARGETS,80isohybrid)
|
4
features.in/isohybrid/lib/build-isohybrid.mk
Normal file
4
features.in/isohybrid/lib/build-isohybrid.mk
Normal file
@@ -0,0 +1,4 @@
|
||||
CHROOT_PACKAGES += syslinux
|
||||
|
||||
postprocess-80isohybrid:
|
||||
@isohybrid "$(IMAGEDIR)/$(IMAGE_OUTFILE)"
|
@@ -1,3 +1,3 @@
|
||||
use/isomd5sum:
|
||||
@$(call add_feature)
|
||||
@$(call add,POSTPROCESS_TARGETS,isomd5sum)
|
||||
@$(call add,POSTPROCESS_TARGETS,90isomd5sum)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
CHROOT_PACKAGES += isomd5sum
|
||||
|
||||
postprocess-isomd5sum:
|
||||
postprocess-90isomd5sum:
|
||||
@implantisomd5 "$(IMAGEDIR)/$(IMAGE_OUTFILE)"
|
||||
|
@@ -1,18 +1,13 @@
|
||||
# copy stage2 as live
|
||||
use/live: use/stage2 sub/stage2/live
|
||||
@$(call add_feature)
|
||||
|
||||
use/live/base: use/live use/syslinux/ui-menu
|
||||
@$(call add,LIVE_LISTS,$(call tags,base && (live || network)))
|
||||
|
||||
use/live/x11: use/live/base use/x11/xorg use/x11/wacom use/virtualbox/guest
|
||||
|
||||
# NB: there's an unconditional live/image-scripts.d/40-autologin script
|
||||
# *but* it only configures some of the *existing* means; let's add one
|
||||
use/live/autologin: use/live/base
|
||||
use/live/autologin: use/live/x11
|
||||
@$(call add,LIVE_PACKAGES,autologin xinit)
|
||||
|
||||
use/live/icewm: use/live/autologin
|
||||
@$(call add,LIVE_LISTS, \
|
||||
$(call tags,(base || desktop) && (live || network || icewm)))
|
||||
|
||||
# this is a manual installation script (text-based)
|
||||
use/live/install: use/live/base
|
||||
@$(call add,LIVE_PACKAGES,live-install)
|
||||
|
@@ -1,8 +1,11 @@
|
||||
# stage2 mod: livecd
|
||||
|
||||
IMAGE_PACKAGES = $(COMMON_PACKAGES) \
|
||||
$(LIVE_PACKAGES) \
|
||||
$(call map,list,$(LIVE_LISTS) $(LIVE_MAIN_GROUPS)) \
|
||||
STAGE2_KMODULES = $(THE_KMODULES) $(LIVE_KMODULES)
|
||||
|
||||
IMAGE_PACKAGES = $(COMMON_PACKAGES) $(THE_PACKAGES) $(LIVE_PACKAGES) \
|
||||
$(call map,list, \
|
||||
$(THE_LISTS) $(THE_GROUPS) \
|
||||
$(LIVE_LISTS) $(LIVE_GROUPS)) \
|
||||
interactivesystem
|
||||
|
||||
MKI_PACK_RESULTS = squash:live
|
||||
|
@@ -3,7 +3,9 @@ DISTRO_EXTS := .iso
|
||||
use/pack:
|
||||
@$(call add_feature)
|
||||
|
||||
use/pack/iso: use/pack boot/isolinux
|
||||
# conventional ISO9660 image hybridization
|
||||
# for direct bootable usbflash imaging
|
||||
use/pack/iso: use/pack boot/isolinux $(ISOHYBRID:%=use/isohybrid)
|
||||
ifeq (distro,$(IMAGE_CLASS))
|
||||
@$(call set,IMAGE_PACKTYPE,isoboot)
|
||||
else
|
||||
|
@@ -1 +1,2 @@
|
||||
timeout 200
|
||||
|
||||
|
@@ -1,4 +1,5 @@
|
||||
label live
|
||||
menu label ^LiveCD (no hard disk needed)
|
||||
kernel alt0/vmlinuz
|
||||
append initrd=alt0/full.cz live ramdisk_size=@live_size@ fastboot stagename=live showopts automatic=method:cdrom
|
||||
append initrd=alt0/full.cz fastboot live lowmem showopts automatic=method:cdrom ramdisk_size=@live_size@ stagename=live
|
||||
|
||||
|
@@ -1,3 +1,4 @@
|
||||
label harddisk
|
||||
menu label ^Boot from hard drive as usual
|
||||
localboot 0x80
|
||||
|
||||
|
@@ -1,3 +1,4 @@
|
||||
label removable
|
||||
menu label Boot from ^removable drive
|
||||
menu label Boot from removable ^drive
|
||||
localboot 0x00
|
||||
|
||||
|
@@ -1,8 +1,10 @@
|
||||
label linux
|
||||
menu label ^Install ALT Linux
|
||||
kernel alt0/vmlinuz
|
||||
append initrd=alt0/full.cz ramdisk_size=@altinst_size@ changedisk vga=0x314 quiet=1 showopts automatic=method:cdrom
|
||||
append initrd=alt0/full.cz changedisk fastboot showopts automatic=method:cdrom quiet=1 ramdisk_size=@altinst_size@ vga=0x314
|
||||
|
||||
label noapic
|
||||
menu label ^Failsafe install
|
||||
kernel alt0/vmlinuz
|
||||
append initrd=alt0/full.cz ramdisk_size=@altinst_size@ changedisk showopts nolapic noapic
|
||||
append initrd=alt0/full.cz changedisk lowmem noapic nolapic showopts ramdisk_size=@altinst_size@
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
label linux
|
||||
menu label Install server-ovz via internet
|
||||
label netinst
|
||||
menu label Install server-ovz via inter^net
|
||||
kernel alt0/vmlinuz
|
||||
append initrd=alt0/full.cz ramdisk_size=131072 vga=0x314 quiet=1 showopts automatic=method:http,network:dhcp,server:ftp.linux.kiev.ua,directory:/pub/Linux/ALT/people/mike/iso/mkimage-profiles/netinst/server-ovz/x86_64
|
||||
### ramdisk_size=@altinst_size@
|
||||
### $(IMAGE_NAME)
|
||||
append initrd=alt0/full.cz fastboot showopts automatic=method:http,network:dhcp,server:ftp.linux.kiev.ua,directory:/pub/Linux/ALT/people/mike/iso/mkimage-profiles/netinst/server-ovz/x86_64 quiet=1 ramdisk_size=131072 vga=0x314
|
||||
### hardwired parameters and strings should become dynamic someday
|
||||
|
||||
|
@@ -1,4 +1,5 @@
|
||||
label rescue
|
||||
menu label ^Rescue LiveCD
|
||||
kernel alt0/vmlinuz
|
||||
append initrd=alt0/full.cz live ramdisk_size=@rescue_size@ fastboot stagename=rescue showopts automatic=method:cdrom
|
||||
append initrd=alt0/full.cz fastboot live showopts automatic=method:cdrom ramdisk_size=@rescue_size@ stagename=rescue
|
||||
|
||||
|
@@ -1,4 +1,5 @@
|
||||
label freedos
|
||||
menu label Live ^FreeDOS
|
||||
menu label Live Free^DOS
|
||||
kernel memdisk
|
||||
append initrd=freedos.img
|
||||
|
||||
|
@@ -6,3 +6,4 @@ label hdt
|
||||
com32 hdt.c32
|
||||
append quiet
|
||||
# no reed for "append pciids=pci.ids memtest=memtest", defaults are fine
|
||||
|
||||
|
@@ -1,3 +1,4 @@
|
||||
label memtest
|
||||
menu label ^Memory Test
|
||||
linux memtest.bin
|
||||
|
||||
|
3
features.in/syslinux/cfg.in/Makefile
Normal file
3
features.in/syslinux/cfg.in/Makefile
Normal file
@@ -0,0 +1,3 @@
|
||||
# check for shortcut overlaps
|
||||
check:
|
||||
@sed -n 's/^.*\^\(.\).*$$/\1/p' *.cfg | sort | uniq -c
|
16
features.in/syslinux/cfg.in/README
Normal file
16
features.in/syslinux/cfg.in/README
Normal file
@@ -0,0 +1,16 @@
|
||||
Здесь хранятся кусочки конфигурации для syslinux,
|
||||
нужные из которых копируются с подстановкой значений
|
||||
из метапрофиля в профиль и уже там в зависимости от
|
||||
доступных модулей собираются в конфигурационный файл.
|
||||
|
||||
При изменении или добавлении просьба по оформлению
|
||||
с тем, чтобы легче было отсматривать и сводить:
|
||||
|
||||
- параметры append перечисляются в следующем порядке:
|
||||
+ initrd=...
|
||||
+ по алфавиту те, что без аргументов
|
||||
+ по алфавиту те, что имеют аргументы
|
||||
- в конце файла пустая строка
|
||||
|
||||
Для проверки уникальности клавиатурных сокращений
|
||||
служит команда "make check".
|
@@ -1,4 +1,4 @@
|
||||
use/virtualbox/guest:
|
||||
@$(call add_feature)
|
||||
@$(call add,KMODULES,virtualbox-addition)
|
||||
@$(call add,BASE_PACKAGES,virtualbox-guest-additions)
|
||||
@$(call add,THE_KMODULES,virtualbox-addition)
|
||||
@$(call add,THE_PACKAGES,virtualbox-guest-additions)
|
||||
|
@@ -1,10 +1,14 @@
|
||||
use/x11/xorg:
|
||||
@$(call add,BASE_LISTS,xorg)
|
||||
@$(call add,THE_LISTS,xorg)
|
||||
@$(call add,THE_KMODULES,drm)
|
||||
|
||||
use/x11/wacom: use/x11/xorg
|
||||
@$(call add,THE_PACKAGES,xorg-drv-wacom)
|
||||
|
||||
### strictly speaking, runlevel5 should require a *dm, not vice versa
|
||||
use/x11/runlevel5: use/x11/xorg
|
||||
@$(call add,BASE_PACKAGES,installer-feature-runlevel5-stage3)
|
||||
@$(call add,THE_PACKAGES,installer-feature-runlevel5-stage3)
|
||||
|
||||
### xdm: see also #23108
|
||||
use/x11/xdm: use/x11/runlevel5
|
||||
@$(call add,BASE_PACKAGES,xdm installer-feature-no-xconsole)
|
||||
@$(call add,THE_PACKAGES,xdm installer-feature-no-xconsole)
|
||||
|
@@ -47,7 +47,7 @@ pack-image: imagedir
|
||||
imagedir:
|
||||
@mkdir -p "$(IMAGEDIR)"
|
||||
|
||||
postprocess: $(addprefix postprocess-,$(POSTPROCESS_TARGETS))
|
||||
postprocess: | $(addprefix postprocess-,$(sort $(POSTPROCESS_TARGETS)))
|
||||
@OUTPATH="$(IMAGEDIR)/$(IMAGE_OUTFILE)"; \
|
||||
echo "** image: $$OUTPATH" >&2 && \
|
||||
ln -sf "$(IMAGE_OUTFILE)" "$(IMAGEDIR)/$(IMAGE_LINK)" && \
|
||||
|
22
lib/build.mk
22
lib/build.mk
@@ -29,8 +29,12 @@ IMAGEDIR ?= $(shell [ -d "$$HOME/out" -a -w "$$HOME/out" ] \
|
||||
|
||||
# poehali
|
||||
build: profile/populate
|
||||
@echo -n "$(TIME) starting image build"
|
||||
@if [ -n "$(DEBUG)" ]; then \
|
||||
@if [ -n "$(CHECK)" ]; then \
|
||||
echo "$(TIME) skipping actual image build (CHECK is set)"; \
|
||||
exit; \
|
||||
fi; \
|
||||
echo -n "$(TIME) starting image build"; \
|
||||
if [ -n "$(DEBUG)" ]; then \
|
||||
echo ": tail -f $(BUILDLOG)" $(SHORTEN); \
|
||||
else \
|
||||
if [ -n "$(ALL)" ]; then \
|
||||
@@ -38,12 +42,12 @@ build: profile/populate
|
||||
else \
|
||||
echo " (coffee time)"; \
|
||||
fi; \
|
||||
fi
|
||||
@if $(START) $(MAKE) -C $(BUILDDIR)/ $(LOG); then \
|
||||
fi; \
|
||||
if $(START) $(MAKE) -C $(BUILDDIR)/ $(LOG); then \
|
||||
echo "$(TIME) done (`tail -1 $(BUILDLOG) | cut -f1 -d.`)"; \
|
||||
tail -200 "$(BUILDLOG)" \
|
||||
tail -200 "$(BUILDLOG)" $(SHORTEN) \
|
||||
| GREP_COLOR="$(ANSI_OK)" \
|
||||
grep --color=always '^\*\* image: .*' $(SHORTEN) ||:; \
|
||||
grep --color=auto '^\*\* image: .*' ||:; \
|
||||
else \
|
||||
echo "$(TIME) failed, see log: $(BUILDLOG)" $(SHORTEN); \
|
||||
if [ -z "$(DEBUG)" ]; then \
|
||||
@@ -51,8 +55,8 @@ build: profile/populate
|
||||
fi; \
|
||||
tail -200 "$(BUILDLOG)" \
|
||||
| GREP_COLOR="$(ANSI_FAIL)" \
|
||||
egrep --color=always "^(E:|[Ee]rror|[Ww]arning).*"; \
|
||||
egrep --color=auto "^(E:|[Ee]rror|[Ww]arning).*"; \
|
||||
df -P $(BUILDDIR) | awk 'END { if ($$4 < $(LOWSPACE)) \
|
||||
{ print "NB: low space on "$$6" ("$$5" used)"}}'; \
|
||||
fi
|
||||
@if [ -n "$(BELL)" ]; then echo -ne '\a' >&2; fi
|
||||
fi; \
|
||||
if [ -n "$(BELL)" ]; then echo -ne '\a' >&2; fi
|
||||
|
@@ -11,7 +11,7 @@ sub/%:
|
||||
@$(call add,SUBPROFILES,$(@:sub/%=%))
|
||||
|
||||
# install media bootloader
|
||||
boot/%: profile/bare use/syslinux
|
||||
boot/%: use/syslinux
|
||||
@$(call set,BOOTLOADER,$*)
|
||||
|
||||
# fundamental targets
|
||||
@@ -25,8 +25,8 @@ distro/.base: distro/.init
|
||||
|
||||
# bootloader test target
|
||||
distro/syslinux: distro/.init \
|
||||
use/syslinux use/syslinux/localboot.cfg \
|
||||
use/syslinux/ui-vesamenu use/hdt use/memtest
|
||||
use/syslinux/localboot.cfg use/syslinux/ui-vesamenu \
|
||||
use/hdt use/memtest
|
||||
|
||||
# something marginally useful (as a network-only installer)
|
||||
# NB: doesn't carry stage3 thus cannot use/bootloader
|
||||
|
@@ -10,9 +10,10 @@ SUFFIX := pkg/groups
|
||||
TARGET := $(BUILDDIR)/$(SUFFIX)
|
||||
|
||||
all: $(GLOBAL_DEBUG)
|
||||
@if [ -n "$(MAIN_GROUPS)" ]; then \
|
||||
@if [ -n "$(THE_GROUPS)$(MAIN_GROUPS)" ]; then \
|
||||
mkdir -p $(TARGET) && \
|
||||
cp -at $(TARGET) -- $(addsuffix .directory,$(MAIN_GROUPS)); \
|
||||
cp -at $(TARGET) -- \
|
||||
$(addsuffix .directory,$(THE_GROUPS) $(MAIN_GROUPS)); \
|
||||
if type -t git >&/dev/null && cd $(TARGET); then \
|
||||
if [ -n "`git status -s`" ]; then \
|
||||
git add . && \
|
||||
@@ -23,4 +24,5 @@ all: $(GLOBAL_DEBUG)
|
||||
fi
|
||||
|
||||
debug:
|
||||
@echo "** THE_GROUPS: $(THE_GROUPS)"
|
||||
@echo "** MAIN_GROUPS: $(MAIN_GROUPS)"
|
||||
|
@@ -9,13 +9,23 @@ include $(BUILDDIR)/distcfg.mk
|
||||
SUFFIX := pkg/lists
|
||||
TARGET := $(BUILDDIR)/$(SUFFIX)
|
||||
|
||||
all: $(TARGET) $(GLOBAL_DEBUG)
|
||||
# Metadata/ needed only for installers (and not for e.g. syslinux.iso)
|
||||
# FIXME: installable live needs it too, don't move to install2 feature
|
||||
### see also .../features.in/build-distro/lib/build-distro.mk
|
||||
ifneq (,$(findstring install2,$(FEATURES)))
|
||||
DOTBASE := dot-base
|
||||
endif
|
||||
|
||||
all: $(TARGET) $(GLOBAL_DEBUG) $(DOTBASE)
|
||||
@# env | sort -u | grep _LISTS | xargs cp
|
||||
@$(foreach V, \
|
||||
$(filter %_LISTS,$(sort $(.VARIABLES))), \
|
||||
$(if $(filter environment% file,$(origin $V)),\
|
||||
$(shell cp --parents -at $(TARGET) \
|
||||
-- $(value $V))))
|
||||
|
||||
### FIXME: move to iterator/static pattern rule
|
||||
dot-base:
|
||||
@# construct .base packagelist for alterator-pkg
|
||||
@{ \
|
||||
echo "## generated by pkg.in/lists/Makefile"; \
|
||||
@@ -28,15 +38,21 @@ all: $(TARGET) $(GLOBAL_DEBUG)
|
||||
if [ -n "$(COMMON_PACKAGES)" ]; then \
|
||||
echo -e "\n## COMMON_PACKAGES\n$(COMMON_PACKAGES)"; \
|
||||
fi; \
|
||||
if [ -n "$(THE_PACKAGES)" ]; then \
|
||||
echo -e "\n## THE_PACKAGES\n$(THE_PACKAGES)"; \
|
||||
fi; \
|
||||
if [ -n "$(BASE_PACKAGES)" ]; then \
|
||||
echo -e "\n## BASE_PACKAGES\n$(BASE_PACKAGES)"; \
|
||||
fi; \
|
||||
if [ -n "$(THE_LISTS)" ]; then \
|
||||
echo -e "\n## THE_LISTS"; cat $(THE_LISTS); \
|
||||
fi; \
|
||||
if [ -n "$(BASE_LISTS)" ]; then \
|
||||
echo -e "\n## BASE_LISTS"; cat $(BASE_LISTS); \
|
||||
fi; \
|
||||
} | sed -re '/^[^[:space:]#]/ s/[[:space:]]+/\n/g' >$(TARGET)/.base
|
||||
@if [ -n "$(MAIN_GROUPS)" ]; then \
|
||||
cp -at $(TARGET) -- $(MAIN_GROUPS); \
|
||||
@if [ -n "$(THE_GROUPS)$(MAIN_GROUPS)" ]; then \
|
||||
cp -at $(TARGET) -- $(THE_GROUPS) $(MAIN_GROUPS); \
|
||||
fi
|
||||
@if type -t git >&/dev/null && cd $(TARGET); then \
|
||||
if [ -n "`git status -s`" ]; then \
|
||||
|
10
pkg.in/lists/tagged/desktop+razorqt
Normal file
10
pkg.in/lists/tagged/desktop+razorqt
Normal file
@@ -0,0 +1,10 @@
|
||||
razorqt
|
||||
arora
|
||||
qtfm
|
||||
qterminal
|
||||
juffed
|
||||
juffed-plugins
|
||||
screengrab
|
||||
xscreensaver
|
||||
icon-theme-oxygen
|
||||
x-cursor-theme-jimmac
|
18
pkg.in/lists/tagged/desktop+razorqt+extra
Normal file
18
pkg.in/lists/tagged/desktop+razorqt+extra
Normal file
@@ -0,0 +1,18 @@
|
||||
# carefully chosen
|
||||
x-cursor-theme-BlueGlass3D
|
||||
x-cursor-theme-CP38
|
||||
x-cursor-theme-Obsidian
|
||||
x-cursor-theme-oxy-white
|
||||
|
||||
# a bit lacking
|
||||
icon-theme-simple
|
||||
|
||||
# nice and useful qt4 apps
|
||||
bsc
|
||||
clementine
|
||||
fatrat
|
||||
focuswriter
|
||||
qt4-settings
|
||||
qtparted
|
||||
tubularix
|
||||
smplayer
|
@@ -1,3 +1,2 @@
|
||||
httperf
|
||||
nepim
|
||||
|
||||
|
@@ -12,6 +12,8 @@ evms
|
||||
evms-ncurses
|
||||
fdisk
|
||||
gpart
|
||||
iotop
|
||||
iperf
|
||||
hdparm
|
||||
lvm2
|
||||
mdadm
|
||||
|
@@ -2,7 +2,6 @@ cpipe
|
||||
dar
|
||||
ddrescue
|
||||
foremost
|
||||
ntfsprogs
|
||||
sleuthkit
|
||||
xfsdump
|
||||
#zfs-fuse
|
||||
|
@@ -30,3 +30,6 @@
|
||||
- main: пакетная база, укладываемая на образ (NB: поскольку рабочий
|
||||
чрут в этом случае не содержит ничего, кроме пакетов, добавлять
|
||||
image-scripts.d/* смысла нет, только scripts.d/*)
|
||||
|
||||
Шаблонное правило сейчас определено в ../lib/distro.mk,
|
||||
поскольку субпрофили востребованы только дистрибутивами.
|
||||
|
@@ -12,14 +12,19 @@ include $(MKIMAGE_PREFIX)/config.mk
|
||||
|
||||
CHROOT_PACKAGES = apt-utils rsync
|
||||
|
||||
IMAGE_PACKAGES_REGEXP = $(call kpackages,$(KMODULES),$(KFLAVOURS)) \
|
||||
$(MAIN_PACKAGES_REGEXP)
|
||||
IMAGE_PACKAGES_REGEXP = $(MAIN_PACKAGES_REGEXP) \
|
||||
$(call kpackages, \
|
||||
$(THE_KMODULES) \
|
||||
$(BASE_KMODULES) \
|
||||
$(MAIN_KMODULES), \
|
||||
$(KFLAVOURS))
|
||||
|
||||
IMAGE_PACKAGES = $(call map,list,$(BASE_LISTS) $(MAIN_LISTS) $(MAIN_GROUPS)) \
|
||||
$(SYSTEM_PACKAGES) \
|
||||
$(COMMON_PACKAGES) \
|
||||
$(BASE_PACKAGES) \
|
||||
$(MAIN_PACKAGES)
|
||||
IMAGE_PACKAGES = $(call map,list, \
|
||||
$(THE_LISTS) $(THE_GROUPS) \
|
||||
$(BASE_LISTS) \
|
||||
$(MAIN_LISTS) $(MAIN_GROUPS)) \
|
||||
$(SYSTEM_PACKAGES) $(COMMON_PACKAGES) \
|
||||
$(THE_PACKAGES) $(BASE_PACKAGES) $(MAIN_PACKAGES)
|
||||
|
||||
MKI_DESTDIR = ALTLinux/RPMS.main
|
||||
MKI_PACK_RESULTS = data
|
||||
|
@@ -29,8 +29,9 @@ STAGE1_KFLAVOUR ?= $(lastword $(KFLAVOURS))
|
||||
# propagator needed iff stage1 kernel installed (not for e.g. syslinux.iso)
|
||||
ifneq "$(STAGE1_KFLAVOUR)" ""
|
||||
BUILD_PROPAGATOR = build-propagator
|
||||
CHROOT_PACKAGES_REGEXP := $(call kpackages,$(STAGE1_KMODULES_REGEXP),$(STAGE1_KFLAVOUR))
|
||||
INFO_STAGE1_KFLAVOUR := $(STAGE1_KFLAVOUR)
|
||||
CHROOT_PACKAGES_REGEXP := $(call kpackages, \
|
||||
$(STAGE1_KMODULES_REGEXP),$(STAGE1_KFLAVOUR))
|
||||
endif
|
||||
|
||||
CHROOT_PACKAGES_REGEXP += $(STAGE1_PACKAGES_REGEXP)
|
||||
|
@@ -32,7 +32,9 @@ endif
|
||||
|
||||
# need kernel modules only (which require corresponding kernel-image);
|
||||
# these go into work chroot; NB: no vmlinuz there
|
||||
IMAGE_PACKAGES_REGEXP = $(call kpackages,$(STAGE1_KMODULES),$(STAGE1_KFLAVOUR))
|
||||
IMAGE_PACKAGES_REGEXP = $(call kpackages, \
|
||||
$(STAGE1_KMODULES) $(STAGE2_KMODULES), \
|
||||
$(STAGE1_KFLAVOUR))
|
||||
|
||||
include $(MKIMAGE_PREFIX)/targets.mk
|
||||
|
||||
|
@@ -5,6 +5,9 @@
|
||||
Зависимость на него стоит прописывать в таких фичах;
|
||||
сама по себе (без нужного stage2cfg.mk) смысла не имеет.
|
||||
|
||||
Обратите внимание, что набор потенциально доступных в stage1
|
||||
модулей ядра для stage2 может быть расширен (STAGE2_KMODULES).
|
||||
|
||||
Результат -- соответственно названный файл со squashfs,
|
||||
подлежащий копированию в итоговый образ.
|
||||
|
||||
|
Reference in New Issue
Block a user