Compare commits
23 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
55fda1a044 | ||
|
0d859e70fc | ||
|
cbfc3db882 | ||
|
43d62dd9bb | ||
|
307fb51f15 | ||
|
46e3c94707 | ||
|
78a660aed6 | ||
|
d8f64c0c89 | ||
|
2a437c4d22 | ||
|
3a8af6b55d | ||
|
ea1f039c02 | ||
|
8fd4b396f3 | ||
|
a680ea2862 | ||
|
57747b22a5 | ||
|
7eaa868525 | ||
|
cb6a71d97f | ||
|
ceffac4035 | ||
|
6c00e10b31 | ||
|
cb764516eb | ||
|
5f479eb80f | ||
|
f3e923ad61 | ||
|
4ea5959f79 | ||
|
1b62f94bf3 |
@@ -1,5 +1,5 @@
|
||||
Name: mkimage-profiles
|
||||
Version: 0.7.4
|
||||
Version: 0.7.6
|
||||
Release: alt1
|
||||
|
||||
Summary: ALT Linux based distribution metaprofile
|
||||
@@ -61,6 +61,12 @@ cp -a * %buildroot%mpdir
|
||||
%doc README QUICKSTART
|
||||
|
||||
%changelog
|
||||
* Mon Aug 06 2012 Michael Shigorin <mike@altlinux.org> 0.7.6-alt1
|
||||
- minor improvements
|
||||
|
||||
* Mon Jul 30 2012 Michael Shigorin <mike@altlinux.org> 0.7.5-alt1
|
||||
- a bunch of fixups and cleanups
|
||||
|
||||
* Mon Jul 16 2012 Michael Shigorin <mike@altlinux.org> 0.7.4-alt1
|
||||
- ppc builds
|
||||
|
||||
|
6
.gear/tags/50e9488f26557b8bcab412e07ae6265c1270938d
Normal file
6
.gear/tags/50e9488f26557b8bcab412e07ae6265c1270938d
Normal file
@@ -0,0 +1,6 @@
|
||||
object 2a437c4d2225bdfd1406765711ba46694c9ed2aa
|
||||
type commit
|
||||
tag v0.7.5
|
||||
tagger Michael Shigorin <mike@altlinux.org> 1343664913 +0400
|
||||
|
||||
fixups
|
@@ -1,6 +0,0 @@
|
||||
object 49eb551fefafb42ea72fbe460f7dff0f326165b5
|
||||
type commit
|
||||
tag v0.7.3
|
||||
tagger Michael Shigorin <mike@altlinux.org> 1341866845 +0300
|
||||
|
||||
arm builds
|
@@ -1 +1 @@
|
||||
ad042fed42eebceae830142ad84d7742bdce509d v0.7.3
|
||||
50e9488f26557b8bcab412e07ae6265c1270938d v0.7.5
|
||||
|
4
Makefile
4
Makefile
@@ -26,7 +26,7 @@ endif
|
||||
# recursive make considered useful for m-p
|
||||
MAKE += -r --no-print-directory
|
||||
|
||||
DIRECT_TARGETS := clean distclean check help help/distro help/ve help/vm
|
||||
DIRECT_TARGETS := help help/distro help/ve help/vm clean distclean check
|
||||
.PHONY: $(DIRECT_TARGETS)
|
||||
$(DIRECT_TARGETS):
|
||||
@$(MAKE) -f main.mk $@
|
||||
@@ -53,7 +53,7 @@ SHELL = /bin/bash
|
||||
fi; \
|
||||
for ARCH in $(ARCHES); do \
|
||||
if [ "$$ARCH" != "$(firstword $(ARCHES))" ]; then say; fi; \
|
||||
say "** ARCH: $$ARCH" >&2; \
|
||||
say "** ARCH: $$ARCH"; \
|
||||
if $(MAKE) -f main.mk ARCH=$$ARCH $@ $(POSTPROC); then \
|
||||
if [ -n "$$REPORT" ]; then \
|
||||
$(MAKE) -f reports.mk ARCH=$$ARCH; \
|
||||
|
18
bin/mktmpdir
18
bin/mktmpdir
@@ -12,7 +12,7 @@ try_source() { [ -f "$1" ] && . "$1"; }
|
||||
# hasher accepted ones
|
||||
get_prefices()
|
||||
{
|
||||
try_source /etc/hasher-priv/system
|
||||
try_source /etc/hasher-priv/system || exit 1
|
||||
try_source `/usr/libexec/hasher-priv/getconf.sh`
|
||||
echo "$prefix" | tr ':' '\n' | while read i; do realpath "$i"; done
|
||||
}
|
||||
@@ -61,19 +61,19 @@ choose_tmpdir() {
|
||||
# bringing it all together
|
||||
TMPDIRS="`contemplate_dirs $DIRS`"
|
||||
if [ -z "$TMPDIRS" ]; then
|
||||
echo "error: no suitable directories found;" >&2
|
||||
echo "please check docs, filesystem and hasher setup" >&2
|
||||
echo "(mount enough tmpfs into /tmp or fix hasher-priv prefix?)" >&2
|
||||
echo "error: no suitable directories found;"
|
||||
echo "please check QUICKSTART, filesystem and hasher setup"
|
||||
echo "(mount enough tmpfs into /tmp or fix hasher-priv prefix?)"
|
||||
exit 1
|
||||
fi
|
||||
fi >&2
|
||||
|
||||
TEMP="`choose_tmpdir $TMPDIRS`"
|
||||
if [ -z "$TEMP" ]; then
|
||||
echo "error: no suitable directories found;" >&2
|
||||
echo "please check hasher docs and filesystem setup" >&2
|
||||
echo "(nodev and/or noexec on an otherwise suitable filesystem?)" >&2
|
||||
echo "error: no suitable directories found;"
|
||||
echo "please check hasher docs and filesystem setup"
|
||||
echo "(nodev and/or noexec on an otherwise suitable filesystem?)"
|
||||
exit 1
|
||||
fi
|
||||
fi >&2
|
||||
|
||||
DIR="$TEMP/`dirname "$1"`"
|
||||
NAME="`basename "${1:-tmpdir}"`"
|
||||
|
@@ -10,7 +10,7 @@
|
||||
|
||||
Попросту говоря, copy-paste -- тревожный признак.
|
||||
|
||||
По переменным (см. тж. ../doc/vars-conf.txt):
|
||||
По переменным (см. тж. ../doc/pkglists.txt):
|
||||
|
||||
- для пользовательского окружения (live, main) предназначены
|
||||
THE_PACKAGES, THE_LISTS, THE_GROUPS, THE_PACKAGES_REGEXP
|
||||
|
@@ -1,6 +0,0 @@
|
||||
ve/.centos-base: ve/.bare
|
||||
@$(call set,IMAGE_INIT_LIST,hasher-pkg-init)
|
||||
|
||||
ve/centos: ve/.centos-base
|
||||
@$(call add,BASE_PACKAGES,openssh-server)
|
||||
|
@@ -15,7 +15,5 @@ distro/icewm: distro/.desktop-network use/lowmem +icewm; @:
|
||||
distro/tde: distro/.desktop-mini +tde; @:
|
||||
distro/ltsp-tde: distro/tde +ltsp; @:
|
||||
distro/ltsp-icewm: distro/icewm +ltsp; @:
|
||||
distro/desktop-systemd: distro/icewm use/systemd; @:
|
||||
distro/desktop-plymouth: distro/icewm +plymouth; @:
|
||||
|
||||
endif
|
||||
|
@@ -1,12 +1,8 @@
|
||||
# live images
|
||||
ifeq (distro,$(IMAGE_CLASS))
|
||||
|
||||
distro/syslinux: distro/.init \
|
||||
use/syslinux/localboot.cfg use/syslinux/ui/vesamenu use/hdt; @:
|
||||
|
||||
distro/dos: distro/.init use/dos use/syslinux/ui/menu; @:
|
||||
distro/rescue: distro/.base use/rescue use/syslinux/ui/menu; @:
|
||||
distro/live-systemd: distro/.base use/live/base use/systemd; @:
|
||||
|
||||
distro/.live-base: distro/.base use/live/base use/power/acpi/button; @:
|
||||
distro/.live-desktop: distro/.base +live use/plymouth/live; @:
|
||||
@@ -16,26 +12,24 @@ distro/.live-kiosk: distro/.base use/live/base use/live/autologin \
|
||||
@$(call add,LIVE_PACKAGES,fonts-ttf-dejavu)
|
||||
@$(call add,CLEANUP_PACKAGES,'alterator*' 'guile*' 'vim-common')
|
||||
|
||||
distro/live-isomd5sum: distro/.base use/live/base use/isomd5sum
|
||||
@$(call add,LIVE_PACKAGES,livecd-isomd5sum)
|
||||
|
||||
distro/live-builder: pkgs := livecd-tmpfs livecd-online-repo mkimage-profiles
|
||||
distro/live-builder: distro/.live-base use/dev/mkimage use/dev/repo \
|
||||
use/syslinux/timeout/30
|
||||
@$(call set,KFLAVOURS,$(BIGRAM))
|
||||
@$(call add,LIVE_LISTS,$(call tags,base && (server || builder)))
|
||||
@$(call add,LIVE_PACKAGES,livecd-qemu-arch strace)
|
||||
@$(call add,LIVE_PACKAGES,qemu-user-binfmt_misc)
|
||||
@$(call add,LIVE_PACKAGES,zsh sudo)
|
||||
@$(call add,LIVE_PACKAGES,$(pkgs))
|
||||
@$(call add,MAIN_PACKAGES,$(pkgs))
|
||||
@$(call add,MAIN_PACKAGES,syslinux pciids memtest86+ mkisofs)
|
||||
|
||||
distro/live-install: distro/.live-base use/live/textinst; @:
|
||||
distro/live-install: distro/.live-base use/live/textinstall; @:
|
||||
distro/.livecd-install: distro/.live-base use/live/install; @:
|
||||
|
||||
distro/live-icewm: distro/.live-desktop use/live/autologin +icewm; @:
|
||||
distro/live-razorqt: distro/.live-desktop use/live/autologin +razorqt; @:
|
||||
distro/live-tde: distro/.live-desktop use/live/ru use/live/install +tde; @:
|
||||
distro/live-plymouth: distro/.live-base use/plymouth/live; @:
|
||||
|
||||
distro/live-rescue: distro/live-icewm
|
||||
@$(call add,LIVE_LISTS,$(call tags,rescue && (fs || live || x11)))
|
||||
|
@@ -5,20 +5,12 @@ distro/.server-base: distro/.installer use/syslinux/ui/menu use/memtest
|
||||
@$(call add,BASE_LISTS,server-base openssh)
|
||||
|
||||
distro/server-nano: distro/.server-base \
|
||||
use/cleanup/x11-alterator use/bootloader/lilo
|
||||
use/cleanup/x11-alterator use/bootloader/lilo +power
|
||||
@$(call add,BASE_LISTS,$(call tags,server network))
|
||||
@$(call add,BASE_PACKAGES,dhcpcd cpio)
|
||||
|
||||
distro/server-mini: distro/.server-base use/cleanup/x11-alterator
|
||||
distro/server-mini: distro/.server-base use/server/mini use/cleanup/x11-alterator
|
||||
@$(call set,KFLAVOURS,el-smp)
|
||||
@$(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 (server || network)))
|
||||
|
||||
distro/server-systemd: distro/server-mini use/systemd
|
||||
@$(call set,KFLAVOURS,std-def)
|
||||
|
||||
distro/server-ovz: distro/server-mini use/install2/net use/hdt use/rescue \
|
||||
use/firmware/server use/firmware/wireless use/power/acpi/button
|
||||
@@ -32,9 +24,4 @@ distro/server-ovz: distro/server-mini use/install2/net use/hdt use/rescue \
|
||||
@$(call add,MAIN_GROUPS,ipmi mysql-server dhcp-server mail-server)
|
||||
@$(call add,MAIN_GROUPS,monitoring diag-tools)
|
||||
|
||||
# tiny network-only server-ovz installer (stage2 comes over net too)
|
||||
distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \
|
||||
use/syslinux/ui/menu use/syslinux/localboot.cfg use/memtest
|
||||
@$(call add,SYSLINUX_CFG,netinstall2)
|
||||
|
||||
endif
|
||||
|
52
conf.d/test.mk
Normal file
52
conf.d/test.mk
Normal file
@@ -0,0 +1,52 @@
|
||||
# debug/test/experimental images
|
||||
ifneq (,$(DEBUG))
|
||||
|
||||
ifeq (distro,$(IMAGE_CLASS))
|
||||
|
||||
distro/syslinux: distro/.init \
|
||||
use/syslinux/localboot.cfg use/syslinux/ui/vesamenu use/hdt; @:
|
||||
|
||||
distro/syslinux-auto: distro/.init use/hdt use/syslinux/timeout/1; @:
|
||||
distro/syslinux-noescape: distro/syslinux-auto use/syslinux/noescape.cfg; @:
|
||||
|
||||
distro/live-systemd: distro/.base use/live/base use/systemd; @:
|
||||
distro/live-plymouth: distro/.live-base use/plymouth/live; @:
|
||||
|
||||
distro/live-isomd5sum: distro/.base use/live/base use/isomd5sum
|
||||
@$(call add,LIVE_PACKAGES,livecd-isomd5sum)
|
||||
|
||||
distro/live-testserver: distro/live-install use/server/mini
|
||||
@$(call set,KFLAVOURS,std-def el-smp)
|
||||
|
||||
distro/server-systemd: distro/server-mini use/systemd
|
||||
@$(call set,KFLAVOURS,std-def)
|
||||
|
||||
# tiny network-only server-ovz installer (stage2 comes over net too)
|
||||
distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \
|
||||
use/syslinux/ui/menu use/syslinux/localboot.cfg use/memtest
|
||||
@$(call add,SYSLINUX_CFG,netinstall2)
|
||||
|
||||
distro/desktop-systemd: distro/icewm use/systemd; @:
|
||||
distro/desktop-plymouth: distro/icewm +plymouth; @:
|
||||
|
||||
endif # IMAGE_CLASS: distro
|
||||
|
||||
ifeq (ve,$(IMAGE_CLASS))
|
||||
|
||||
ve/.centos-base: ve/.bare
|
||||
@$(call set,IMAGE_INIT_LIST,hasher-pkg-init)
|
||||
|
||||
ve/centos: ve/.centos-base
|
||||
@$(call add,BASE_PACKAGES,openssh-server)
|
||||
|
||||
endif # IMAGE_CLASS: ve
|
||||
|
||||
ifeq (vm,$(IMAGE_CLASS))
|
||||
|
||||
vm/net-static: vm/bare use/vm-net/static use/vm-ssh
|
||||
@$(call set,VM_NET_IPV4ADDR,10.0.2.16/24)
|
||||
@$(call set,VM_NET_IPV4GW,10.0.2.2)
|
||||
|
||||
endif # IMAGE_CLASS: vm
|
||||
|
||||
endif
|
@@ -6,8 +6,4 @@ vm/icewm: vm/bare use/cleanup/installer use/x11/xdm +icewm; @:
|
||||
|
||||
vm/net: vm/bare use/vm-net/dhcp use/vm-ssh; @:
|
||||
|
||||
vm/net-static: vm/bare use/vm-net/static use/vm-ssh
|
||||
@$(call set,VM_NET_IPV4ADDR,10.0.2.16/24)
|
||||
@$(call set,VM_NET_IPV4GW,10.0.2.2)
|
||||
|
||||
endif
|
||||
|
@@ -41,7 +41,7 @@
|
||||
- CHECK
|
||||
+ включает режим проверки сборки конфигурации (без сборки образа)
|
||||
+ значение: пусто (по умолчанию) либо любая строка
|
||||
+ см. ../lib/build.mk
|
||||
+ см. ../lib/build.mk, ../lib/clean.mk
|
||||
|
||||
- CLEAN
|
||||
+ экономия RAM+swap при сборке в tmpfs, иначе места на диске
|
||||
@@ -51,9 +51,9 @@
|
||||
+ см. ../lib/clean.mk
|
||||
|
||||
- DEBUG
|
||||
+ включает средства отладки
|
||||
+ включает средства отладки, может отключить зачистку после сборки
|
||||
+ значение: пусто (по умолчанию), 1 или 2
|
||||
+ см. ../lib/log.mk
|
||||
+ см. ../lib/log.mk, ../lib/clean.mk
|
||||
|
||||
- HOMEPAGE, HOMENAME, HOMEWAIT
|
||||
+ указывают адрес, название и таймаут перехода для домашней страницы
|
||||
@@ -86,6 +86,12 @@
|
||||
+ значение: пусто (по умолчанию) либо любая строка
|
||||
+ см. ../image.in/Makefile
|
||||
|
||||
- SORTDIR
|
||||
+ дополнительно структурирует каталог собранных образов
|
||||
+ значение: пусто (по умолчанию) либо строка
|
||||
- например, '$(IMAGE_NAME)/$(DATE)'
|
||||
+ см. ../image.in/Makefile
|
||||
|
||||
- SQUASHFS
|
||||
+ определяет характер сжатия squashfs для stage2
|
||||
+ значение:
|
||||
@@ -94,10 +100,10 @@
|
||||
- fast: gzip/lzo (быстрее запаковывается и распаковывается, меньше степень)
|
||||
+ см. ../features.in/stage2/stage1/scripts.d/03-test-kernel
|
||||
|
||||
- SORTDIR
|
||||
+ дополнительно структурирует каталог собранных образов
|
||||
+ значение: пусто (по умолчанию) либо строка
|
||||
- например, '$(IMAGE_NAME)/$(DATE)'
|
||||
- STATUS
|
||||
+ добавляет в имя образа указанный префикс
|
||||
+ значение:
|
||||
- пусто (по умолчанию) либо строка (например, "alpha", "beta")
|
||||
+ см. ../image.in/Makefile
|
||||
|
||||
пример
|
||||
|
@@ -2,6 +2,11 @@
|
||||
добавление задающих внешний вид и сообщения дистрибутива
|
||||
пакетов; см. тж. http://www.altlinux.org/Branding
|
||||
|
||||
Реализация "двумерная" -- отдельно задаётся BRANDING
|
||||
(см. пакеты branding-*-%version-%release.src.rpm),
|
||||
затем отдельно указывается, какие и куда помещать
|
||||
компоненты заданного брендинга.
|
||||
|
||||
Назначение и возможные значения (если требуются):
|
||||
|
||||
- STAGE1_BRANDING
|
||||
|
4
features.in/build-vm/generate.mk
Normal file
4
features.in/build-vm/generate.mk
Normal file
@@ -0,0 +1,4 @@
|
||||
# copy tar2vm helper into generated profile to enable standalone builds
|
||||
|
||||
all:
|
||||
@install -pD $(MKIMAGE_PROFILES)/bin/tar2vm $(BUILDDIR)/bin/tar2vm
|
@@ -5,10 +5,10 @@ STAGE2_KMODULES = $(THE_KMODULES) $(LIVE_KMODULES)
|
||||
IMAGE_PACKAGES_REGEXP = $(THE_PACKAGES_REGEXP) \
|
||||
$(LIVE_PACKAGES_REGEXP)
|
||||
|
||||
IMAGE_PACKAGES = $(COMMON_PACKAGES) $(THE_PACKAGES) $(LIVE_PACKAGES) \
|
||||
$(call map,list, \
|
||||
IMAGE_PACKAGES = $(call map,list, \
|
||||
$(THE_LISTS) $(THE_GROUPS) \
|
||||
$(LIVE_LISTS) $(LIVE_GROUPS)) \
|
||||
$(COMMON_PACKAGES) $(THE_PACKAGES) $(LIVE_PACKAGES) \
|
||||
interactivesystem
|
||||
|
||||
MKI_PACK_RESULTS = squash:live
|
||||
|
@@ -1,8 +1,8 @@
|
||||
# stage2 mod: rescue "live" image
|
||||
|
||||
IMAGE_PACKAGES = $(COMMON_PACKAGES) \
|
||||
IMAGE_PACKAGES = $(call list,$(RESCUE_LISTS)) \
|
||||
$(COMMON_PACKAGES) \
|
||||
$(RESCUE_PACKAGES) \
|
||||
$(call list,$(RESCUE_LISTS)) \
|
||||
interactivesystem startup-rescue
|
||||
|
||||
MKI_PACK_RESULTS = squash:rescue
|
||||
|
2
features.in/server/README
Normal file
2
features.in/server/README
Normal file
@@ -0,0 +1,2 @@
|
||||
Эта фича предоставляет типичные для серверных образов
|
||||
наборы списков пакетов и модулей ядра.
|
9
features.in/server/config.mk
Normal file
9
features.in/server/config.mk
Normal file
@@ -0,0 +1,9 @@
|
||||
use/server:
|
||||
@$(call add_feature)
|
||||
|
||||
use/server/mini: use/server
|
||||
@$(call add,THE_KMODULES,e1000e igb)
|
||||
@$(call add,STAGE1_KMODULES,e1000e igb)
|
||||
@$(call add,THE_LISTS,\
|
||||
$(call tags,base && (server || network || security || pkg)))
|
||||
@$(call add,THE_LISTS,$(call tags,extra (server || network)))
|
@@ -13,6 +13,7 @@ use/slinux: use/x11/xfce use/x11/gdm2.20
|
||||
@$(call add,THE_LISTS,slinux/network)
|
||||
@$(call add,THE_LISTS,slinux/xfce)
|
||||
@$(call add,THE_LISTS,$(call tags,base l10n))
|
||||
@$(call set,META_VOL_SET,Simply Linux)
|
||||
|
||||
use/slinux/full: use/isohybrid use/slinux use/systemd \
|
||||
use/firmware/wireless use/branding/complete \
|
||||
|
@@ -1,6 +1,10 @@
|
||||
Добавление поддержки syslinux; требуется для инсталяторов, live/rescue;
|
||||
реализуется в рамках stage1.
|
||||
|
||||
Самостоятельное творческое использование на данный момент подразумевает
|
||||
знакомство с /usr/share/doc/syslinux-*/syslinux.txt и изучение кусочков
|
||||
конфигурации, которые уже существуют.
|
||||
|
||||
Цели config.mk:
|
||||
* use/syslinux/ui/% -- конфигурирование интерфейса (см. cfg.in/00*.cfg);
|
||||
при использовании автоматически добавляют syslinux в FEATURES;
|
||||
@@ -17,8 +21,3 @@
|
||||
|
||||
Здесь производится первичная обработка конфигурационных данных,
|
||||
окончательно проверяемых и используемых уже в инструментальном чруте.
|
||||
|
||||
TODO: может потребоваться обобщение механизма генерации с учётом
|
||||
многоуровневых меню и включаемых файлов (которыми лучше не злоупотреблять
|
||||
из соображений скорости инициализации загрузчика); требуется обеспечить
|
||||
брендирование заголовков.
|
||||
|
1
features.in/syslinux/cfg.in/01none.cfg
Normal file
1
features.in/syslinux/cfg.in/01none.cfg
Normal file
@@ -0,0 +1 @@
|
||||
prompt 0
|
2
features.in/syslinux/cfg.in/02noescape.cfg
Normal file
2
features.in/syslinux/cfg.in/02noescape.cfg
Normal file
@@ -0,0 +1,2 @@
|
||||
noescape 1
|
||||
|
@@ -1,5 +1,5 @@
|
||||
label linux
|
||||
menu label ^Install ALT Linux
|
||||
menu label ^Install @distro@
|
||||
kernel alt0/vmlinuz
|
||||
append initrd=alt0/full.cz changedisk fastboot showopts automatic=method:cdrom ramdisk_size=@altinst_size@ vga=0x314 @bootargs@
|
||||
|
||||
|
@@ -17,8 +17,8 @@ endif
|
||||
ifdef SYSLINUX_UI
|
||||
SYSLINUX_MODULES := $(SYSLINUX_MODULES) $(SYSLINUX_UI)
|
||||
else
|
||||
$(warning no syslinux ui configured, default is plain text prompt)
|
||||
SYSLINUX_UI := prompt
|
||||
$(warning no syslinux ui configured, default is now none)
|
||||
SYSLINUX_UI := none
|
||||
endif
|
||||
|
||||
# SUBPROFILES are considered SYSLINUX_CFG too
|
||||
@@ -26,7 +26,6 @@ endif
|
||||
# 01defaults.cfg is included indefinitely
|
||||
SYSLINUX_CFG := $(SYSLINUX_CFG) $(notdir $(SUBPROFILES)) defaults
|
||||
|
||||
### have to operate BUILDDIR, not pretty...
|
||||
DSTDIR := $(BUILDDIR)/stage1/files/syslinux/.in
|
||||
|
||||
# we can do SYSLINUX_{CFG,MODULES,FILES}
|
||||
@@ -55,7 +54,7 @@ all: debug timeout
|
||||
@echo $(SYSLINUX_FILES) > $(DSTDIR)/syslinux.list
|
||||
|
||||
# integerity check
|
||||
timeout: bootargs
|
||||
timeout: distro
|
||||
@if [ "$(SYSLINUX_TIMEOUT)" -ge 0 ] 2>/dev/null; then \
|
||||
TIMEOUT="$(SYSLINUX_TIMEOUT)"; \
|
||||
else \
|
||||
@@ -63,6 +62,14 @@ timeout: bootargs
|
||||
fi; \
|
||||
sed -i "s,@timeout@,$$TIMEOUT," $(DSTDIR)/*.cfg
|
||||
|
||||
distro: bootargs
|
||||
@if [ -n "$(META_VOL_SET)" ]; then \
|
||||
DISTRO="$(META_VOL_SET)"; \
|
||||
else \
|
||||
DISTRO="ALT Linux"; \
|
||||
fi; \
|
||||
sed -i "s,@distro@,$$DISTRO," $(DSTDIR)/*.cfg
|
||||
|
||||
# pass over additional parameters, if any
|
||||
bootargs: clean
|
||||
@if [ -n "$(STAGE2_BOOTARGS)" ]; then \
|
||||
|
@@ -3,6 +3,7 @@
|
||||
# copy modules; see also ../../generate.mk
|
||||
|
||||
MODDIR="/usr/lib/syslinux"
|
||||
CFG="$GLOBAL_BOOTLOADER.cfg"
|
||||
|
||||
mkdir -p "$WORKDIR/syslinux"
|
||||
cd "$WORKDIR/syslinux"
|
||||
@@ -30,7 +31,18 @@ if [ -n "$SYSLINUX_MODULES" ]; then
|
||||
fi
|
||||
|
||||
# number ordering sponsored by shell's pathname expansion
|
||||
grep -hv '^#' .in/[0-9][0-9]*.cfg > "$GLOBAL_BOOTLOADER.cfg"
|
||||
grep -hv '^#' .in/[0-9][0-9]*.cfg > "$CFG"
|
||||
|
||||
# there should be either DEFAULT or UI directive there
|
||||
if ! egrep -i '^(default|ui)' "$CFG"; then
|
||||
DEFAULT="$(grep -i '^label ' "$CFG" | head -1 | cut -f2 -d' ')"
|
||||
if [ -n "$DEFAULT" ]; then
|
||||
echo "default $DEFAULT" >> "$CFG"
|
||||
else
|
||||
echo "error: no DEFAULT or UI directive and cannot guess" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# snippets are not going into the actual image
|
||||
if [ "$DEBUG" != 2 ]; then rm -r .in/; fi
|
||||
|
@@ -34,7 +34,7 @@ use/x11/lightdm/qt use/x11/lightdm/gtk: use/x11/lightdm/%: use/x11/runlevel5
|
||||
@$(call add,THE_PACKAGES,lightdm-$*-greeter)
|
||||
|
||||
use/x11/kdm: use/x11/runlevel5
|
||||
@$(call add,THE_PACKAGES,kdebase-kdm)
|
||||
@$(call add,THE_PACKAGES,kdebase-kdm<4)
|
||||
|
||||
use/x11/gdm2.20: use/x11/runlevel5
|
||||
@$(call add,THE_PACKAGES,gdm2.20)
|
||||
|
@@ -32,7 +32,7 @@ IMAGE_SORTDIR := $(SORTDIR)
|
||||
|
||||
# reconstruct instead of passing yet another variable
|
||||
IMAGE_OUTDIR := $(IMAGEDIR)$(IMAGE_SORTDIR:%=/%)
|
||||
IMAGE_OUTFILE := $(IMAGE_NAME)-$(DATE)-$(ARCH).$(IMAGE_TYPE)
|
||||
IMAGE_OUTFILE := $(IMAGE_NAME)-$(STATUS)$(DATE)-$(ARCH).$(IMAGE_TYPE)
|
||||
IMAGE_OUTPATH := $(IMAGE_OUTDIR)/$(IMAGE_OUTFILE)
|
||||
IMAGE_RELPATH := $(IMAGE_SORTDIR:%=%/)$(IMAGE_OUTFILE)
|
||||
IMAGE_RELDIR := $(IMAGE_OUTDIR:$(GLOBAL_BUILDDIR)/%=%)
|
||||
|
10
lib/clean.mk
10
lib/clean.mk
@@ -50,11 +50,15 @@ distclean: clean
|
||||
} >&2
|
||||
|
||||
# builddir existing outside read-only metaprofile is less ephemeral
|
||||
# than BUILDDIR is -- usually it's unneeded afterwards so just zap it
|
||||
# than BUILDDIR variable is -- usually it's unneeded afterwards
|
||||
# so just zap it unless DEBUG has been requested (moreso for multi
|
||||
# image builds, UI based ones, and readonly metaprofile; or CHECK)
|
||||
postclean: build-image
|
||||
@{ \
|
||||
if [ "$(NUM_TARGETS)" -gt 1 -a -z "$(DEBUG)" -a -z "$(__frontend)" ] ||\
|
||||
[ ! -L "$(SYMLINK)" -a "0$(DEBUG)" -lt 2 ]; then \
|
||||
if [ "0$(DEBUG)" -lt 2 -a -z "$(CHECK)" ] && \
|
||||
[ "$(NUM_TARGETS)" -gt 1 \
|
||||
-o -n "$(__frontend)" \
|
||||
-o ! -L "$(SYMLINK)" ]; then \
|
||||
echo "$(TIME) cleaning up after build"; \
|
||||
$(MAKE) -C "$(BUILDDIR)" distclean \
|
||||
GLOBAL_BUILDDIR="$(BUILDDIR)" $(LOG) ||:; \
|
||||
|
14
lib/ve.mk
14
lib/ve.mk
@@ -6,17 +6,25 @@ endif
|
||||
|
||||
ifeq (ve,$(IMAGE_CLASS))
|
||||
|
||||
# no package management and networking
|
||||
ve/.bare: profile/bare
|
||||
@$(call add,BASE_PACKAGES,basesystem)
|
||||
|
||||
# no "vzctl enter"
|
||||
ve/bare: ve/.bare
|
||||
@$(call add,BASE_PACKAGES,apt)
|
||||
@$(call add,BASE_PACKAGES,sysvinit etcnet apt)
|
||||
|
||||
ve/generic: ve/.bare
|
||||
# /dev/pty and friends start here
|
||||
ve/base: ve/bare
|
||||
@$(call add,BASE_PACKAGES,interactivesystem)
|
||||
|
||||
# this should be more or less deployable
|
||||
ve/generic: ve/base
|
||||
@$(call add,BASE_LISTS,openssh \
|
||||
$(call tags,base && (server || network || security || pkg)))
|
||||
|
||||
ve/openvpn: ve/.bare
|
||||
# example of service-specific template
|
||||
ve/openvpn: ve/bare
|
||||
@$(call add,BASE_LISTS,$(call tags,server openvpn))
|
||||
|
||||
endif
|
||||
|
4
main.mk
4
main.mk
@@ -6,8 +6,6 @@
|
||||
# --- in BUILDDIR
|
||||
# 4. build subprofiles and subsequently an image
|
||||
|
||||
MKIMAGE_PROFILES := $(dir $(lastword $(MAKEFILE_LIST)))
|
||||
|
||||
# deal with one target at a time
|
||||
IMAGE_TARGET := $(firstword $(MAKECMDGOALS))# ve/generic.tar.gz
|
||||
ifeq (./,$(dir $(IMAGE_TARGET)))# convenience fallback
|
||||
@@ -26,6 +24,8 @@ else
|
||||
BUILDDIR_PREFIX ?= mkimage-profiles.build/$(IMAGE_CONF).$(ARCH)
|
||||
endif
|
||||
|
||||
export MKIMAGE_PROFILES := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
|
||||
|
||||
# preferences
|
||||
-include $(HOME)/.mkimage/profiles.mk
|
||||
|
||||
|
Reference in New Issue
Block a user