Compare commits

..

8 Commits

Author SHA1 Message Date
Michael Shigorin
0950c70adc 0.6.2.2-alt0.M60T.1
- backported pkg/lists fix (and the commit before it)
2015-02-02 23:51:33 +03:00
Michael Shigorin
a0d39e2ed1 pkg/lists: uncrustify Makefile
The problem with the changed piece of code is that it would
- both call cp(1) multiple times if multiple *_LIST variables
  were non-empty (which is usually the case), and
- try to evaluate stdout of the called commands as a shell
  script (which would be empty unless someone passed e.g. -v
  to that cp(1) but it's crazy to rely on things like this).

So the functions should prepare arguments for a single copy
command that is predictable and could be made verbose.

Ouch.
2015-02-02 23:50:41 +03:00
Michael Shigorin
33d35de8fb pkg/lists: tweak Makefile to expand variables
The issue at hand is the hack to be employed in the init feature:

	@$(call add,THE_LISTS,$$(INIT_TYPE))

where INIT_TYPE is set separately; $(value $V) would leave that kind
of substitution unmolested while we would actually need it done.
2015-02-02 23:50:26 +03:00
Michael Shigorin
51e0fb762e gear-store-tags 2014-03-25 00:00:25 +04:00
Michael Shigorin
71c4404c4e 0.6.2.1-alt0.M60T.1
- altlinux-t6-server-ovz
2014-03-24 16:35:23 +04:00
Michael Shigorin
ed2d904ef0 install2: added branding-*-notes
Fix "License file not found" at the second step.
2014-03-24 15:58:25 +04:00
Michael Shigorin
b356d98baa t6.mk: barebones name proxy
Just like p7.mk in 1.1.x/1.0.x, this file is a kludge
serving to "rename" a particular image.
2014-03-24 15:41:22 +04:00
Michael Shigorin
33e6100d02 server.mk: more complete installer to server-ovz
It's not about "desktop vs server" but about installer-steps
included; hiddenman@ badly needs network and users setup,
those have been dropped from installer-distro-altlinux-generic
to trim testing cycles and -desktop has those.
2014-03-24 15:41:22 +04:00
81 changed files with 149 additions and 918 deletions

View File

@@ -1,6 +1,6 @@
Name: mkimage-profiles
Version: 0.6.4
Release: alt1
Version: 0.6.2.2
Release: alt0.M60T.1
Summary: ALT Linux based distribution metaprofile
License: GPLv2+
@@ -61,11 +61,11 @@ cp -a * %buildroot%mpdir
%doc README QUICKSTART
%changelog
* Mon Apr 23 2012 Michael Shigorin <mike@altlinux.org> 0.6.4-alt1
- simply better (tm)
* Mon Feb 02 2015 Michael Shigorin <mike@altlinux.org> 0.6.2.2-alt0.M60T.1
- backported pkg/lists fix (and the commit before it)
* Mon Apr 09 2012 Michael Shigorin <mike@altlinux.org> 0.6.3-alt1
- massive squashfs tuning
* Mon Mar 24 2014 Michael Shigorin <mike@altlinux.org> 0.6.2.1-alt0.M60T.1
- altlinux-t6-server-ovz
* Mon Apr 02 2012 Michael Shigorin <mike@altlinux.org> 0.6.2-alt1
- better live-webkiosk and initial live-flightgear

View File

@@ -0,0 +1,6 @@
object 71c4404c4e405b547040f81931c1b8a7ea82134b
type commit
tag v0.6.2.1
tagger Michael Shigorin <mike@altlinux.org> 1395691214 +0400
altlinux-t6-server-ovz

View File

@@ -1,6 +0,0 @@
object d190759717b97a39e5d0de0ffb555424d6b1c335
type commit
tag v0.6.3
tagger Michael Shigorin <mike@altlinux.org> 1334001608 +0300
squash!

View File

@@ -1 +1 @@
5090c03579f3fc620063211417b18e9a57a0eb8d v0.6.3
500eea7e501647e4e9fb90f59064539392ebc25c v0.6.2.1

View File

@@ -12,12 +12,10 @@ endif
endif
export ARCHES
export PATH := $(CURDIR)/bin:$(PATH)
# supervise target tracing; leave stderr alone
ifdef REPORT
export REPORT_PATH := $(shell mktemp --tmpdir mkimage-profiles.report.XXXXXXX)
POSTPROC := | report-filter > $(REPORT_PATH)
POSTPROC := | bin/report-filter > $(REPORT_PATH)
endif
# recursive make considered useful for m-p
@@ -43,10 +41,7 @@ export NUM_TARGETS := $(words $(MAKECMDGOALS))
for ARCH in $(ARCHES); do \
if [ "$$ARCH" != "$(firstword $(ARCHES))" ]; then say; fi; \
say "** ARCH: $$ARCH" >&2; \
if $(MAKE) -f main.mk ARCH=$$ARCH $@ $(POSTPROC); then \
if [ -n "$$REPORT" ]; then \
$(MAKE) -f reports.mk ARCH=$$ARCH; \
fi; \
fi; \
$(MAKE) -f main.mk ARCH=$$ARCH $@ $(POSTPROC); \
$(MAKE) -f reports.mk ARCH=$$ARCH; \
done; \
if [ "$$n" -lt "$(NUM_TARGETS)" ]; then say; fi

View File

@@ -17,34 +17,18 @@
что обязано быть и в инсталяторе, и в готовой системе
- для "обычного общего" (live, main, rescue) есть COMMON_PACKAGES
(NB: попадают в базовую систему)
- для "пользовательского" окружения (live, main) предназначены
THE_PACKAGES, THE_LISTS, THE_GROUPS, THE_PACKAGES_REGEXP
- для строго направленного действия служат:
+ STAGE1_PACKAGES, STAGE1_PACKAGES_REGEXP (первая стадия загрузки)
+ INSTALL2_PACKAGES (инсталятор)
+ BASE_PACKAGES, BASE_LISTS, BASE_PACKAGES_REGEXP (базовая система)
+ MAIN_PACKAGES, MAIN_LISTS, MAIN_PACKAGES_REGEXP (дополнительные пакеты)
+ LIVE_PACKAGES, LIVE_LISTS, LIVE_PACKAGES_REGEXP ("живая" система)
- для "пользовательского" (live, main) есть THE_GROUPS, THE_LISTS
и THE_PACKAGES
- аналогично по модулям ядра:
+ THE_KMODULES попадут в "пользовательскую" среду (live, main)
+ STAGE1_KMODULES доступны в производных от stage2 (install2, live, rescue)
+ BASE_KMODULES попадут в установку по умолчанию
+ MAIN_KMODULES будут доступны для установки с носителя
+ LIVE_KMODULES предназначены для LiveCD/LiveFlash
+ THE_KMODULES попадут в "пользовательские" окружения
(live и установленную систему)
По подстановкам:
- $(VAR) подставляются перед их записью в $(CONFIG), который distcfg.mk
- $$(VAR) раскрываются позже, при включении $(CONFIG) и востребовании
значений; в этом случае их значения могут изменяться до окончания
конфигурации, а также зависеть от значений других переменных
По спискам пакетов:
- на этапе экспериментирования можно забивать прямо в описание образа
- при фиксации состояния стоит воспользоваться существующими списками,
а дополнительные оформить как можно более чётко обособленными по тем
задачам, для решения которых они и подобраны
- повторяющиеся логически связанные группы списков может иметь смысл
выделить в фичу (см., например, power или x11)
- если явной фичи не наблюдается, но у группы дистрибутивов намечается
заметная общая часть -- её можно выделить в промежуточную цель вида
distro/.name, не являющуюся самостоятельно собираемой

View File

@@ -6,7 +6,7 @@ distro/.desktop-base: distro/.installer use/syslinux/ui/vesamenu use/x11/xorg
distro/.desktop-mini: distro/.desktop-base use/x11/xdm +power; @:
distro/.desktop-network: distro/.desktop-mini +vmguest
distro/.desktop-network: distro/.desktop-mini use/virtualbox/guest
@$(call add,BASE_LISTS,$(call tags,(base || desktop) && network))
distro/icewm: distro/.desktop-network use/lowmem +icewm; @:

View File

@@ -21,7 +21,6 @@ distro/live-isomd5sum: distro/.base use/live/base use/isomd5sum
distro/live-builder: pkgs := livecd-tmpfs livecd-online-repo mkimage-profiles
distro/live-builder: distro/.live-base use/dev/mkimage use/dev/repo
@$(call set,KFLAVOURS,$(BIGRAM))
@$(call add,LIVE_LISTS,$(call tags,base && (server || builder)))
@$(call add,LIVE_PACKAGES,zsh sudo)
@$(call add,LIVE_PACKAGES,$(pkgs))
@@ -31,9 +30,6 @@ distro/live-builder: distro/.live-base use/dev/mkimage use/dev/repo
distro/live-install: distro/.live-base use/syslinux/localboot.cfg
@$(call add,LIVE_PACKAGES,live-install)
distro/.livecd-install: distro/.live-base
@$(call add,LIVE_PACKAGES,livecd-install)
distro/live-icewm: distro/.live-desktop use/live/autologin +icewm; @:
distro/live-razorqt: distro/.live-desktop +razorqt; @:
distro/live-tde: distro/.live-desktop use/live/ru +tde; @:
@@ -51,10 +47,7 @@ distro/live-webkiosk-mini: distro/.live-kiosk use/live/hooks use/live/ru
distro/live-webkiosk: distro/live-webkiosk-mini use/live/desktop; @:
distro/live-flightgear: distro/live-icewm use/live/sound use/x11/3d-proprietary
@$(call add,LIVE_PACKAGES,FlightGear fgo input-utils)
@$(call add,LIVE_PACKAGES,FlightGear fgo)
@$(call try,HOMEPAGE,http://www.4p8.com/eric.brasseur/flight_simulator_tutorial.html)
distro/live-cinnamon: distro/.live-desktop use/live/autologin use/live/ru \
use/x11/cinnamon use/x11/3d-free
endif

View File

@@ -19,11 +19,13 @@ distro/server-mini: distro/.server-base use/cleanup/x11-alterator
distro/server-systemd: distro/server-mini use/systemd use/bootloader/lilo; @:
distro/server-ovz: distro/server-mini use/install2/net use/hdt use/rescue \
use/firmware/server use/firmware/wireless use/power/acpi/button
distro/server-ovz: distro/server-mini use/install2/net \
use/hdt use/rescue use/firmware/server use/power/acpi/button
@$(call set,INSTALLER,desktop)
@$(call set,STAGE1_KFLAVOUR,std-def)
@$(call set,KFLAVOURS,std-def ovz-el)
@$(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,BASE_LISTS,ovz-server)

View File

@@ -1,9 +0,0 @@
# simply images
ifeq (distro,$(IMAGE_CLASS))
distro/live-simply: distro/.livecd-install use/isohybrid use/slinux-live use/systemd \
use/firmware/wireless use/x11/drm use/x11/3d-proprietary use/syslinux/ui/gfxboot
@$(call set,BRANDING,simply-linux)
endif

7
conf.d/t6.mk Normal file
View File

@@ -0,0 +1,7 @@
# t6 base kits
ifeq (distro,$(IMAGE_CLASS))
distro/altlinux-t6-server-ovz: distro/server-ovz; @:
endif

View File

@@ -14,9 +14,9 @@
+ см. ../lib/build.mk
- ARCHES
+ задаёт набор целевых архитектур при параметрическом задании APTCONF
+ задаёт набор целевых архитектур образов
+ значение: пусто (по умолчанию авто) либо список через пробел
+ см. ../Makefile, profiles.mk.sample
+ см. ../Makefile
- BELL
+ подаёт сигнал после завершения сборки
@@ -71,7 +71,7 @@
+ см. ../lib/build.mk
- REPORT
+ запрашивает создание отчётов о собранном образе
+ запрашивает создание отчёта о собранном образе
+ значение: пусто (по умолчанию) либо любая строка
+ NB: в силу специфики обработки передаётся только явно
+ см. ../Makefile, ../report.mk, ../lib/report.mk
@@ -81,20 +81,6 @@
+ значение: пусто (по умолчанию) либо любая строка
+ см. ../image.in/Makefile
- SQUASHFS
+ определяет характер сжатия squashfs для stage2
+ значение:
- пусто (по умолчанию) либо normal: xz
- tight: xz с -Xbcj по платформе (лучше, но дольше -- подбор в два прохода)
- fast: gzip/lzo (быстрее запаковывается и распаковывается, меньше степень)
+ см. ../features.in/stage2/stage1/scripts.d/03-test-kernel
- SORTDIR
+ дополнительно структурирует каталог собранных образов
+ значение: пусто (по умолчанию) либо строка
- например, '$(IMAGE_NAME)/$(DATE)'
+ см. ../image.in/Makefile
пример
~~~~~~
make DEBUG=1 CLEAN=1 distro/syslinux.iso

View File

@@ -25,9 +25,6 @@ define grepper_body
done
endef
%:
$(error BUILDDIR not defined)
else
include $(BUILDDIR)/distcfg.mk

View File

@@ -5,7 +5,6 @@
# - remember .base if adding yet another *_PACKAGES
use/bootloader: use/install2 sub/main
@$(call add_feature)
@$(call add,BASE_PACKAGES,alterator-$$(BASE_BOOTLOADER))
use/bootloader/grub use/bootloader/lilo: use/bootloader/%: use/bootloader

View File

@@ -8,6 +8,6 @@
[ -x /sbin/chkconfig ] || exit 0
for i in network random syslogd; do chkconfig $i on; done
for i in network random syslogd random; do chkconfig $i on; done
for i in fbsetfont netfs rawdevices; do chkconfig $i off; done
:

View File

@@ -3,23 +3,17 @@
# for mkmodpack to use
use/firmware:
@$(call add_feature)
@$(call add,SYSTEM_PACKAGES,firmware-linux)
use/firmware/server: use/firmware
@$(call add,SYSTEM_PACKAGES,firmware-aic94xx-seq)
@$(call add,THE_PACKAGES_REGEXP,firmware-ql.*)
@$(call add,MAIN_PACKAGES_REGEXP,firmware-ql.*)
# NB: individual firmwarez would sometimes conflict
# with ones newly merged into firmware-linux
# FIXME: kernel modules rather belong to use/hardware
use/firmware/wireless: use/firmware
@$(call add,THE_KMODULES,bcmwl ndiswrapper)
@$(call add,THE_PACKAGES,firmware-acx100)
@#$(call add,THE_PACKAGES,firmware-i2400m)
@$(call add,THE_PACKAGES_REGEXP,firmware-carl9170.*)
@$(call add,THE_PACKAGES_REGEXP,firmware-prism.*)
@$(call add,THE_PACKAGES_REGEXP,firmware-ipw.*)
@#$(call add,THE_PACKAGES_REGEXP,firmware-iwl.*)
@#$(call add,THE_PACKAGES_REGEXP,firmware-rt.*)
@$(call add,THE_PACKAGES_REGEXP,firmware-zd.*)
@$(call add,MAIN_PACKAGES,firmware-acx100)
@$(call add,MAIN_PACKAGES,firmware-i2400m)
@$(call add,MAIN_PACKAGES_REGEXP,firmware-carl9170.*)
@$(call add,MAIN_PACKAGES_REGEXP,firmware-ipw.*)
@#$(call add,MAIN_PACKAGES_REGEXP,firmware-iwl.*)
@$(call add,MAIN_PACKAGES_REGEXP,firmware-rt.*)
@$(call add,MAIN_PACKAGES_REGEXP,firmware-zd.*)

View File

@@ -2,12 +2,10 @@ 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,INSTALL2_PACKAGES,branding-$$(BRANDING)-notes)
@$(call add,BASE_PACKAGES,branding-$$(BRANDING)-release)
@$(call add,BASE_LISTS,$(call tags,basesystem))
### FR: curl-mini
use/install2/net: use/install2
@$(call add,INSTALL2_PACKAGES,curl)
# see also use/vm/kvm/guest; qxl included in xorg pkglist
use/install2/kvm:
@$(call add,INSTALL2_PACKAGES,spice-vdagent xorg-drv-qxl)

View File

@@ -10,9 +10,9 @@ use/live/base: use/live use/syslinux/ui/menu
@$(call add,LIVE_LISTS,$(call tags,base && (live || network)))
# optimized out: use/x11/xorg
use/live/desktop: use/live/base use/x11/wacom use/live/sound +vmguest +power
use/live/desktop: use/live/base use/x11/wacom use/virtualbox/guest \
use/live/sound +power
@$(call add,LIVE_LISTS,$(call tags,desktop && (live || network)))
@$(call add,LIVE_LISTS,$(call tags,base l10n))
@$(call add,LIVE_PACKAGES,fonts-ttf-dejavu fonts-ttf-droid)
@$(call add,SYSLINUX_CFG,localboot)

View File

@@ -1,42 +0,0 @@
#!/bin/sh
# see also m-p-d::profiles/live/image-scripts.d/init3-services
[ -x /sbin/chkconfig ] || exit 0
ENABLE="
alteratord
livecd-evms
livecd-fstab
livecd-hostname
livecd-save-nfs
livecd-setauth
livecd-setlocale
network
NetworkManager
random
rpcbind
"
# NB: dnsmasq: https://bugzilla.altlinux.org/show_bug.cgi?id=18799
# NB: sshd might be needed for some particular cases
DISABLE="
anacron
bridge
clamd
crond
dhcpd
dnsmasq
mdadm
netfs
openvpn
rawdevices
slapd
smartd
sshd
update_wms
xinetd
"
for i in $ENABLE; do chkconfig $i on 2>/dev/null; done
for i in $DISABLE; do chkconfig $i off 2>/dev/null; done
:

View File

@@ -1,7 +1,7 @@
#!/bin/sh -ef
if [ ! -x /usr/bin/X ]; then
echo "SKIP autologin: X not installed" >&2
echo "warning: autologin feature requested but X not installed" >&2
exit 0
fi

View File

@@ -2,9 +2,6 @@
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, \
$(THE_LISTS) $(THE_GROUPS) \

View File

@@ -1,7 +1,6 @@
+ltsp: use/ltsp/base; @:
use/ltsp:
@$(call add_feature)
@$(call add,INSTALL2_PACKAGES,installer-feature-ltsp-stage2)
@$(call add,MAIN_LISTS,ltsp-client ltsp-client.$(ARCH))
@$(call add,BASE_LISTS,ltsp)

View File

@@ -3,7 +3,6 @@
# common
# TODO: invent multi-target scripts and integrate that 08-powerbutton
use/power:
@$(call add_feature)
@$(call add,COMMON_PACKAGES,installer-feature-powerbutton-stage3)
# modern power management
@@ -21,4 +20,4 @@ use/power/acpi/powersave: use/power/acpi
# legacy power management
use/power/apm: use/power
@$(call add,COMMON_PACKAGES,apmd lphdisk)
@$(call add,COMMON_PACKAGES,apmd)

View File

@@ -1 +0,0 @@
Наборы пакетов для семейства дистрибутивов Simply Linux.

View File

@@ -1,17 +0,0 @@
use/slinux: use/x11/xfce use/x11/gdm2.20
@$(call add_feature)
@$(call add,THE_LISTS,gnome-p2p)
@$(call add,THE_LISTS,slinux/$(ARCH))
@$(call add,THE_LISTS,slinux/games)
@$(call add,THE_LISTS,slinux/graphics)
@$(call add,THE_LISTS,slinux/live)
@$(call add,THE_LISTS,slinux/misc)
@$(call add,THE_LISTS,slinux/misc-dvd)
@$(call add,THE_LISTS,slinux/multimedia)
@$(call add,THE_LISTS,slinux/network)
@$(call add,THE_LISTS,slinux/xfce)
@$(call add,THE_LISTS,$(call tags,base l10n))
@$(call add,THE_PACKAGES,apt-conf-sisyphus)
use/slinux-live: use/slinux
@$(call add,THE_LISTS,slinux/live-install)

View File

@@ -1,38 +0,0 @@
#!/bin/sh -x
SYSTEMCTL=/bin/systemctl
CHKCONFIG=/sbin/chkconfig
turn_on() {
if [ -x $SYSTEMCTL ]; then
$SYSTEMCTL enable ${*}.service
else if [ -x $CHKCONFIG ]; then
$CHKCONFIG $* on
else
exit 0
fi
fi
}
turn_off() {
if [ -x $SYSTEMCTL ]; then
$SYSTEMCTL disable ${*}.service
else if [ -x $CHKCONFIG ]; then
$CHKCONFIG $* off
else
exit 0
fi
fi
}
SERVICES_TO_ENABLE="NetworkManager"
SERVICES_TO_DISABLE=
for i in $SERVICES_TO_ENABLE; do
turn_on $i;
done
for i in $SERVICES_TO_DISABLE; do
turn_off $i;
done
:

View File

@@ -1,55 +1,32 @@
#!/bin/sh
# NB: -f prohibited in this shebang
# check relevant kernel features availability
CONFIGS=/boot/config-*
GZ_OPTS="-comp gzip -noI"
XZ_OPTS="-comp xz"
LZO_OPTS="-comp lzo -noI"
verbose() { [ -n "$GLOBAL_VERBOSE" ] && echo "** $@" >&2; }
fatal() { echo "** error: $@" >&2; exit 1; }
configured()
{
local option="CONFIG_$1"
if grep -q "^$option" $CONFIGS; then
verbose "${option%=*} available"
return 0
else
return 1
fi
}
ls $CONFIGS >&/dev/null || fatal "no stage1 kernel config found in /boot"
GZ_OPTS="-comp gzip"
XZ_OPTS="-comp xz -b 524288 -noI"
# test for installer-required filesystems support
for opt in SQUASHFS AUFS_FS; do
configured "$opt=[my]" || fatal "stage1 kernel must have $opt support"
done
verbose "GLOBAL_SQUASHFS: $GLOBAL_SQUASHFS"
options()
{
# squashfs options: not really neccessary but better than none
# NB: this config file should be carried over into install2
if [ "$GLOBAL_SQUASHFS" != "fast" ] && configured "SQUASHFS_XZ=y"; then
# NB: the decompression filter overhead might hurt
# NB: there are arm, powerpc and some other filters too
if [ "$GLOBAL_SQUASHFS" = "tight" ] && configured "X86"; then
XZ_OPTS="$XZ_OPTS -b 524288 -Xbcj x86"
else
XZ_OPTS="$XZ_OPTS -b 262144 -noI"
fi
echo "$XZ_OPTS"
else # go fast, or even faster if possible
if configured "SQUASHFS_LZO=y"; then
echo "$LZO_OPTS"
else # safe default
echo "$GZ_OPTS"
for opt in CONFIG_SQUASHFS CONFIG_AUFS_FS; do
if grep -q "^$opt=[my]$" /boot/config-*; then
[ -n "$GLOBAL_VERBOSE" ] && echo "** $opt available"
else
if [ "$?" = 1 ]; then # a file exists but lacks the pattern
echo "** error: stage1 kernel must have $opt support" >&2
exit 1
fi
fi
}
done
echo "PACK_SQUASHFS_OPTS=-no-recovery `options`" > /.image/squashcfg.mk
# squashfs options: not really neccessary but better than none
# NB: this config file should be carried over into install2
if grep -q '^CONFIG_SQUASHFS_XZ=y$' /boot/config-*; then
# TODO: figure out if it's generally worth it even on x86:
# if binaries account for less than ~70% of blocks,
# the decompression filter overhead might hurt
# NB: there are arm, powerpc and some other filters too
if grep -q "^CONFIG_X86" /boot/config-*; then
XZ_OPTS="$XZ_OPTS -Xbcj x86"
fi
echo "PACK_SQUASHFS_OPTS=$XZ_OPTS" > /.image/squashcfg.mk
else
echo "PACK_SQUASHFS_OPTS=$GZ_OPTS" > /.image/squashcfg.mk
fi

View File

@@ -0,0 +1,4 @@
use/virtualbox/guest:
@$(call add_feature)
@$(call add,THE_KMODULES,virtualbox-addition)
@$(call add,THE_PACKAGES,virtualbox-guest-additions)

View File

@@ -1,13 +0,0 @@
+vmguest: use/vm/virtualbox/guest use/vm/kvm/guest; @:
use/vm/virtualbox/guest:
@$(call add_feature)
@$(call add,THE_KMODULES,virtualbox-addition)
@$(call add,THE_PACKAGES,virtualbox-guest-additions)
# NB: only reasonable for X11-bearing images
use/vm/kvm/guest:
@$(call add_feature)
@$(call add,THE_PACKAGES,spice-vdagent)
# see also use/install2/kvm

View File

@@ -3,7 +3,6 @@
+tde: use/x11/tde use/x11/kdm; @:
use/x11/xorg:
@$(call add_feature)
@$(call add,THE_LISTS,xorg)
use/x11/wacom: use/x11/xorg
@@ -36,9 +35,6 @@ use/x11/lightdm: use/x11/runlevel5
use/x11/kdm: use/x11/runlevel5
@$(call add,THE_PACKAGES,kdebase-kdm)
use/x11/gdm2.20: use/x11/runlevel5
@$(call add,THE_PACKAGES,gdm2.20)
use/x11/icewm: use/x11/xorg
@$(call add,THE_LISTS,$(call tags,icewm desktop))
@@ -47,9 +43,3 @@ use/x11/razorqt: use/x11/xorg
use/x11/tde: use/x11/xorg
@$(call add,THE_LISTS,$(call tags,tde desktop))
use/x11/xfce: use/x11/xorg
@$(call add,THE_LISTS,$(call tags,xfce desktop))
use/x11/cinnamon: use/x11/xorg use/x11/drm
@$(call add,THE_LISTS,$(call tags,cinnamon desktop))

View File

@@ -11,7 +11,6 @@ MKI_VER_OPTIMAL = 0.2.0
include distcfg.mk
include functions.mk
# check the build environment
ifeq (,$(realpath $(MKIMAGE_PREFIX)/config.mk))
$(error please apt-get install mkimage and have a look at QUICKSTART as well)
endif
@@ -27,19 +26,9 @@ $(info warning: mkimage-$(MKI_VERSION) is suboptimal, consider upgrading)
$(warning consider upgrading mkimage to $(MKI_VER_OPTIMAL) or better)
endif
# additional means to reduce havoc in IMAGEDIR
IMAGE_SORTDIR := $(SORTDIR)
# reconstruct instead of passing yet another variable
IMAGE_OUTDIR := $(IMAGEDIR)$(IMAGE_SORTDIR:%=/%)
IMAGE_OUTFILE := $(IMAGE_NAME)-$(DATE)-$(ARCH).$(IMAGE_TYPE)
IMAGE_OUTPATH := $(IMAGE_OUTDIR)/$(IMAGE_OUTFILE)
IMAGE_RELPATH := $(IMAGE_SORTDIR:%=%/)$(IMAGE_OUTFILE)
IMAGE_RELDIR := $(IMAGE_OUTDIR:$(GLOBAL_BUILDDIR)/%=%)
IMAGE_LINK := $(IMAGE_NAME).$(IMAGE_TYPE)
IMAGE_LINKPATH := $(IMAGEDIR)/$(IMAGE_LINK)
### multi-pack can be useful (think netinst iso/tree)
IMAGE_LINK := $(IMAGE_NAME).$(IMAGE_TYPE)
IMAGE_OUTFILE := $(IMAGE_NAME)-$(DATE)-$(ARCH).$(IMAGE_TYPE)
MKI_PACK_RESULTS = $(IMAGE_PACKTYPE):$(IMAGE_OUTFILE)
# these get opied over as is
@@ -55,7 +44,7 @@ include lib/*.mk
include $(MKIMAGE_PREFIX)/targets.mk
# specified only for the final image (target-specific)
pack-image: OUTDIR = $(IMAGE_OUTDIR)
pack-image: OUTDIR = $(IMAGEDIR)
pack-image: imagedir
copy-tree: $(SAVE_PROFILE:%=save-profile)
@@ -68,18 +57,18 @@ save-profile:
.PHONY: imagedir postprocess debug
imagedir:
@mkdir -p "$(IMAGE_OUTDIR)"
@mkdir -p "$(IMAGEDIR)"
postprocess: | $(addprefix postprocess-,$(sort $(POSTPROCESS_TARGETS)))
@OUTSIZE="`ls -lh "$(IMAGE_OUTPATH)" | cut -f5 -d' '`"; \
echo "** image: $(IMAGE_OUTPATH) [$$OUTSIZE]" >&2 && \
echo "IMAGE_OUTPATH = $(IMAGE_OUTPATH)" && \
ln -sf "$(IMAGE_RELPATH)" "$(IMAGE_LINKPATH)" && \
ln -sf "$(IMAGE_RELDIR)" "$(OUT_LINK)" && \
ln -sf "$(IMAGE_LINK)" "$(IMAGEDIR)/$(CURRENT_LINK).$(IMAGE_TYPE)"; \
@OUTPATH="$(IMAGEDIR)/$(IMAGE_OUTFILE)"; \
OUTSIZE="`ls -lh "$$OUTPATH" | cut -f5 -d' '`"; \
echo "** image: $$OUTPATH [$$OUTSIZE]" >&2 && \
ln -sf "$(IMAGE_OUTFILE)" "$(IMAGEDIR)/$(IMAGE_LINK)" && \
ln -sf "$${IMAGEDIR#`pwd`/}" "$(OUT_LINK)"; \
ln -sf "$(IMAGE_LINK)" $(OUT_LINK)/"$(CURRENT_LINK).$(IMAGE_TYPE)"; \
if [ -n "$(GLOBAL_DEBUG)" ]; then \
cp -a build.log "$(IMAGE_OUTPATH).log"; \
cp -a distcfg.mk "$(IMAGE_OUTPATH).cfg"; \
cp -a build.log "$$OUTPATH.log"; \
cp -a distcfg.mk "$$OUTPATH.cfg"; \
fi
debug:

View File

@@ -2,8 +2,6 @@
ANSI_OK ?= 1;32
ANSI_FAIL ?= 1;31
GOTCHA := ^(((\*\* )?(E:|[Ee]rror|[Ww]arning).*)|(.* (Stop|failed)\.))$$
ifndef MKIMAGE_PROFILES
$(error this makefile is designed to be included in toplevel one)
endif
@@ -50,7 +48,7 @@ build-image: profile/populate
echo "$(TIME) done (`tail -1 $(BUILDLOG) | cut -f1 -d.`)"; \
tail -200 "$(BUILDLOG)" $(SHORTEN) \
| GREP_COLOR="$(ANSI_OK)" GREP_OPTIONS="--color=auto" \
grep '^\*\* image: .*$$' ||:; \
grep '^\*\* image: .*' ||:; \
else \
echo -n "$(TIME) failed, see log"; \
if [ -z "$(DEBUG)" ]; then \
@@ -61,7 +59,7 @@ build-image: profile/populate
fi; \
tail -200 "$(BUILDLOG)" \
| GREP_COLOR="$(ANSI_FAIL)" GREP_OPTIONS="--color=auto" \
egrep "$(GOTCHA)"; \
egrep "^((E:|[Ee]rror|[Ww]arning).*)|(.* Stop\.)$$"; \
df -P $(BUILDDIR) | awk 'END { if ($$4 < $(LOWSPACE)) \
{ print "NB: low space on "$$6" ("$$5" used)"}}'; \
fi; \

View File

@@ -1,16 +0,0 @@
# common bits for building and reporting parts
# somewhat reusable
BUILD_LOG = build.log
# link it to BUILDDIR if possible
SYMLINK = build
# brevity postprocessor; not exported, for toplevel use only
SHORTEN = $(shell \
echo -n "| sed"; \
if [ -s "$(SYMLINK)" ]; then \
echo -n " -e 's,$(BUILDDIR),$(SYMLINK),'"; \
fi; \
echo -n " -e 's,$(TMP),\$$TMP,' -e 's,$(HOME),~,'"; \
)

View File

@@ -31,8 +31,7 @@ distro/.base: distro/.init
# something marginally useful (as a network-only installer)
# NB: doesn't carry stage3 thus cannot use/bootloader
distro/installer: distro/.base use/install2 use/install2/kvm \
use/syslinux/localboot.cfg
distro/installer: distro/.base use/install2 use/syslinux/localboot.cfg
@$(call set,INSTALLER,altlinux-generic)
@$(call set,STAGE1_KMODULES_REGEXP,drm.*) # for KMS

View File

@@ -47,8 +47,7 @@ add_feature = $(call add,FEATURES,$(word 2,$(subst /, ,$@)))
# convert tag list into a list of relative package list paths
# NB: tags can do boolean expressions: (tag1 && !(tag2 || tag3))
tags = $(and $(strip $(1)),$(addprefix tagged/,$(shell echo "$(1)" \
| tags2lists pkg.in/lists/tagged)))
tags = $(and $(strip $(1)),$(addprefix tagged/,$(shell echo "$(1)" | bin/tags2lists pkg.in/lists/tagged)))
# toplevel Makefile convenience
addsuffices = $(foreach s,$(1),$(call addsuffix,$s,$(2)))

View File

@@ -2,11 +2,11 @@
help/distro:
@echo '** available distribution targets:'; \
columnize $(sort $(DISTROS:distro/%=%))
bin/columnize $(sort $(DISTROS:distro/%=%))
help/ve:
@echo '** available virtual environment targets:'; \
columnize $(sort $(VES))
bin/columnize $(sort $(VES))
help: | help/distro help/space help/ve; @:
help/space:; @echo

View File

@@ -1,10 +0,0 @@
ifndef MKIMAGE_PROFILES
$(error this makefile is designed to be included in toplevel one)
endif
# choose std kernel flavour for max RAM size support
ifeq (i586,$(ARCH))
BIGRAM := std-pae
else
BUGRAM := std-def
endif

View File

@@ -6,15 +6,7 @@ ifndef MKIMAGE_PROFILES
$(error this makefile is designed to be included in toplevel one)
endif
# 1.3.22 fixes http://bugzilla.altlinux.org/26217
HSH_VER_OPTIMAL = 1.3.22
HSH_VERSION := $(shell hsh -V | sed -n 's/^.* version \([0-9.]\+\).*$$/\1/p')
ifeq (-,$(shell rpmvercmp $(HSH_VERSION) $(HSH_VER_OPTIMAL) | tr -d [0-9]))
$(info warning: hasher-$(HSH_VERSION) is suboptimal, consider upgrading)
endif
BUILDLOG ?= $(BUILDDIR)/$(BUILD_LOG)
BUILDLOG ?= $(BUILDDIR)/build.log
# LOG holds a redirecting postprocessor
ifdef DEBUG
@@ -35,3 +27,12 @@ DATE = $(shell date +%Y%m%d)
TIME = `date +%H:%M:%S`
export BUILDLOG DATE GLOBAL_DEBUG GLOBAL_VERBOSE LOG MAKE SHELL
# brevity postprocessor; not exported, for toplevel use only
SHORTEN = $(shell \
echo -n "| sed"; \
if [ -s "$(SYMLINK)" ]; then \
echo -n " -e 's,$(BUILDDIR),$(SYMLINK),'"; \
fi; \
echo -n " -e 's,$(TMP),\$$TMP,' -e 's,$(HOME),~,'"; \
)

View File

@@ -2,6 +2,8 @@ ifndef MKIMAGE_PROFILES
$(error this makefile is designed to be included in toplevel one)
endif
SYMLINK = build
# this could have come from env; or could be symlinked; or is made anew
# (the reuse rationale is avoiding extra tmpdir lookups)
# NB: immediate assignment matters
@@ -13,7 +15,7 @@ if [ -s "$(SYMLINK)" -a "$(NUM_TARGETS)" = 1 ] && \
then \
echo "$(BUILDLINK)"; \
else \
mktmpdir $(BUILDDIR_PREFIX) || exit 200; \
bin/mktmpdir $(BUILDDIR_PREFIX) || exit 200; \
fi; )
endif
@@ -24,7 +26,9 @@ endif
# even smart caching only hurts when every build goes from scratch
NO_CACHE ?= 1
export BUILDDIR NO_CACHE
PATH := $(CURDIR)/bin:$(PATH)
export BUILDDIR NO_CACHE PATH
CONFIG := $(BUILDDIR)/distcfg.mk
RC := $(HOME)/.mkimage/profiles.mk

View File

@@ -6,7 +6,7 @@
# --- in BUILDDIR
# 4. build subprofiles and subsequently an image
MKIMAGE_PROFILES := $(dir $(lastword $(MAKEFILE_LIST)))
MKIMAGE_PROFILES = $(dir $(lastword $(MAKEFILE_LIST)))
# deal with one target at a time
IMAGE_TARGET := $(firstword $(MAKECMDGOALS))# ve/generic.tar.gz

View File

@@ -2,17 +2,8 @@
# (and only those!) over to $(BUILDDIR)
ifndef BUILDDIR
pkgdups:
@find -type f ! -name README ! -name Makefile \
| grep -v '~$$' \
| sed 's,^\./,,g' \
| xargs ../../bin/pkgdups
%:
$(error BUILDDIR not defined)
else
$(error BUILDDIR not defined)
endif
include $(BUILDDIR)/distcfg.mk
SUFFIX := pkg/lists
@@ -34,13 +25,12 @@ all: $(TARGET) $(GLOBAL_DEBUG) $(DOTBASE) copy-lists copy-groups
cd - >&/dev/null; \
fi
# env | sort -u | grep _LISTS | xargs cp
copy-lists:
@# 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))))
@cp --parents -at $(TARGET) -- \
$(foreach V, \
$(filter %_LISTS,$(sort $(.VARIABLES))), \
$(if $(filter environment% file,$(origin $V)),$($V)))
copy-groups:
@if [ -n "$(THE_GROUPS)$(MAIN_GROUPS)" ]; then \
@@ -55,7 +45,6 @@ endef
dump-PACKAGES = $(call dump-THEM,$(1),PACKAGES,echo)
dump-LISTS = $(call dump-THEM,$(1),LISTS,cat)
# BASE_PACKAGES, BASE_LISTS and whatever else goes into base install
dot-base:
@# construct .base packagelist for alterator-pkg
@{ \
@@ -73,6 +62,5 @@ debug:
@echo -e $(foreach V, \
$(filter %_LISTS,$(sort $(.VARIABLES))), \
$(if $(filter environment% file,$(origin $V)),\
$(shell echo '\\n"**"' $V: $(value $V)))) '\n'
$(shell echo '\\n"**"' $V: $($V)))) '\n'
endif

View File

@@ -8,8 +8,3 @@
Подкаталог tagged/ содержит тегированные списки, имена которых
удобно получать функцией tags() (см. ../../lib/functions.mk).
Для выявления дубликатов в составе списков служит `make pkgdups';
пытаться избежать дублей на 100% скорее бесполезно, но бродячие
устойчивые группы пакетов могут заслуживать выделения отдельным
списком.

View File

@@ -1,2 +0,0 @@
transmission-gtk
eiskaltdcpp-gtk

1
pkg.in/lists/kernel-wifi Normal file
View File

@@ -0,0 +1 @@
firmware-rt73

View File

@@ -1,2 +0,0 @@
dropbox
thunar-dropbox-plugin

View File

@@ -1,17 +0,0 @@
# gnome-games
#gnome-games-glines
#gnome-games-gnect
#gnome-games-gnibbles
gnome-games-gnobots
#gnome-games-quadrapassel
gnome-games-gnomine
gnome-games-gnotravex
gnome-games-gnotski
#gnome-games-gtali
#gnome-games-iagno
gnome-games-mahjongg
#gnome-games-swell-foop
gnome-games-sol
gnome-games-sudoku
gnome-games-glchess

View File

@@ -1,18 +0,0 @@
freeciv
wesnoth
ppracer
sauerbraten
instead-launcher
instead-cat
Ri-li
openttd
openastromenace
PokerTH
celestia-gnome
gcompris
gcompris-voices-en
gcompris-voices-ru

View File

@@ -1,10 +0,0 @@
gimp2
gimp-plugin-gutenprint
xsane-gimp2
# inkscape
gphoto2
sane
xsane
gthumb
yagf

View File

@@ -1,3 +0,0 @@
blender
blender-plugins-yafaray
blender-plugins-localdocs

View File

@@ -1 +0,0 @@
inkscape

View File

@@ -1 +0,0 @@
shotwell

View File

@@ -1 +0,0 @@
synfigstudio

View File

@@ -1,18 +0,0 @@
lftp-
python-module-PyQt4-
libqt4-test-
libqt4-uitools-
libqt4-xmlpatterns-
libqt4-declarative-
libqt4-scripttools-
libqt4-svg-
libqt4-help-
libqt4-designer-
libqt4-webkit-
libqt4-multimedia-
libqt4-opengl-
libqt4-clucene-
libqt4-script-
libqt4-qt3support-
libqt4-sql-

View File

@@ -1,2 +0,0 @@
installer-feature-simply-livecd
livecd-setlocale

View File

@@ -1,124 +0,0 @@
strace
pm-utils
fvwm-
fvwm-full-
altlinux-freedesktop-menu-shallow-menu
altlinux-freedesktop-menu-icon-theme-default
#altlinux-freedesktop-menu-common
docs-simply-linux
docs-linux_intro
fonts-ttf-droid
fonts-ttf-ubuntu-font-family
fonts-ttf-liberation
fonts-ttf-dejavu
gnome-system-monitor
gnome-icon-theme
#tango-icon-theme
#tango-icon-theme-extras
gdm2.20-help
ntfsprogs-
driconf-
# Branding things
branding-simply-linux-xfce-settings
branding-simply-linux-menu
branding-simply-linux-alterator
branding-sisyphus-server-light-alterator-
#branding-simply-linux-bootloader
#branding-simply-linux-bootsplash
branding-simply-linux-graphics
branding-simply-linux-indexhtml
branding-simply-linux-notes
#branding-simply-linux-release
branding-simply-linux-slideshow
#added through use/syslinux/gfx... ?
#branding-simply-linux-bootloader
gdm-theme-simply
kde4libs-
kde-common-
kde3-menu-common-
kde3-menu-resources-
kde4-menu-common-
kde4-menu-resources-
firefox
firefox-ru
xulrunner-gnome-support
file-roller
unzip
unrar
unarj
dbus-tools-gui
brasero
medit
gcalctool
synaptic
synaptic-usermode
apt-indicator
gksu
cups
ghostscript-cups
cups-pdf
avahi-daemon
blueman
update-kernel
printer-drivers-base
udev-extras
hostname-hook-hosts
libnss-mdns
pulseaudio-daemon
pulseaudio-utils
pavucontrol
alsa-plugins-pulse
fdisk
cpufreq-simple
attr
rfkill
# Alterator
alterator-x11
alterator-auth
alterator-xkb
alterator-pkg
alterator-packages
alterator-datetime
alterator-standalone
alterator-sysconfig
# Additional
gnome-search-tool
yelp
# Compiz things
compiz
python-module-fusion-icon-gtk
compiz-gtk
#aen
#elinks-
rpminstall
system-config-printer
system-config-printer-udev
#krb5-ticket-watcher-
apt-repo
#krb5-ticket-watcher-
rekonq-
xdg-user-dirs
x-cursor-theme-jimmac
plymouth
#branding-simply-linux-bootsplash
# Office
java-1.6.0-sun
libreoffice
libreoffice-gnome
libreoffice-langpack-ru
evince
stardict-gtk
stardict-mueller7

View File

@@ -1,15 +0,0 @@
#mintmenu
homebank
aspell-uk
libreoffice-langpack-ru
stardict-slovnyk_ru-en
stardict-slovnyk_en-uk
stardict-slovnyk_uk-en
stardict-slovnyk_uk-ru
vlock
hplip-PPDs
tango-icon-theme
tango-icon-theme-extras

View File

@@ -1,5 +0,0 @@
easytag
gnome-mplayer
gecko-mediaplayer
audacious
audacious-plugins

View File

@@ -1 +0,0 @@
audacity

View File

@@ -1 +0,0 @@
pitivi

View File

@@ -1 +0,0 @@
sound-juicer

View File

@@ -1,36 +0,0 @@
mozilla-plugin-adobe-flash
firefox-yandexbar
mozilla-plugin-java-1.6.0-sun
thunderbird
thunderbird-ru
pidgin
pidgin-libnotify
chestnut-dialer-gtk2
aspell-ru-lebedev
alterator-net-pptp
alterator-net-eth
alterator-net-pppoe
alterator-net-general
rdesktop
telnet
remmina
remmina-plugins
b43-fwcutter
bcm43xx-fwcutter
NetworkManager
NetworkManager-vpnc
NetworkManager-openvpn
NetworkManager-pptp
#NetworkManager-l2tp
NetworkManager-openvpn-gnome
NetworkManager-pptp-gnome
NetworkManager-vpnc-gnome
#NetworkManager-l2tp-gnome
usb-modeswitch
alsa-utils
dialog

View File

@@ -1,48 +0,0 @@
i586-glibc-core
i586-libalsa
i586-libssl7
i586-libXv
i586-libXScrnSaver
i586-libdbus
i586-libqt4-xml
i586-libqt4-core
i586-libqt4-dbus
i586-libqt4-gui
i586-libqt4-network
i586-libv4l
i586-libpulseaudio
i586-libsndfile
i586-libwrap
i586-libasyncns
i586-libogg
i586-libflac8
i586-libvorbis
i586-libavahi
i586-libgcc1
i586-libstdc++6
i586-libXext
i586-libX11
i586-glib2
i586-libpng12
i586-zlib
i586-libfreetype
i586-libSM
i586-libICE
i586-libXi
i586-libXrender
i586-libXrandr
i586-libXfixes
i586-libXcursor
i586-libXinerama
i586-fontconfig
i586-libssl10
i586-libxcb
i586-libpcre3
i586-libuuid
i586-libexpat
i586-libkrb5
i586-libXau
i586-libXdmcp
i586-libcom_err
i586-libkeyutils
i586-libxcbutil

View File

@@ -1,69 +0,0 @@
#main-xfce
#xfce4-icon-theme
xfce4-xkb-plugin
xfce4-appfinder
xfce4-settings
xfcalendar
xfce4-mixer
xfce4-minimal
xfce4-session
xfce4-panel
xfce4-screenshooter
xfconf-utils
xfce4-power-manager
Thunar
Terminal
libexo
xfce4-default
#xfce4-full
gvfs
gvfs-backends
udisks2
#xfce-additional
#xfprint
thunar-media-tags-plugin
thunar-volman-plugin
#thunar-shares-plugin
thunar-archive-plugin
#screensaver
gnome-screensaver
#gnome-screensaver-utils
#samba
thunar-shares-plugin
xscreensaver-
xscreensaver-hacks-gl-
xscreensaver-modules-gl-
xfce4-wmdock-plugin-
xfce4-radio-plugin-
xfce4-genmon-plugin-
xfwm4-themes
#xfce4-dict
xfcalendar
xfce4-screenshooter
xfce4-clipman-plugin
xfce4-cpufreq-plugin
#xfce4-globalmenu-plugin
xfce4-xkb-plugin
xfce4-timer-plugin
xfce4-datetime-plugin
xfce4-places-plugin
xfce4-quicklauncher-plugin
xfce4-time-out-plugin
xfce4-fsguard-plugin
xfce4-mailwatch-plugin
xfce4-battery-plugin
xfce4-verve-plugin
xfce4-diskperf-plugin
xfce4-eyes-plugin
xfce4-notes-plugin
xfce4-netload-plugin
xfce4-mount-plugin
#xfce4-weather-plugin
xfce4-systemload-plugin
xfce4-cpugraph-plugin
#xfce4-xfapplet-plugin

View File

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

View File

@@ -1,3 +0,0 @@
gnome3-default
libreoffice libreoffice-gnome libreoffice-langpack-ru
gimp

View File

@@ -1,5 +1,4 @@
xdm
xinit
xinitrc
livecd-setlocale
installer-feature-runlevel5-stage3

View File

@@ -1,12 +0,0 @@
xfce4-taskmanager
xfce4-appfinder
xfce4-settings
xfcalendar
xfce4-mixer
gst-plugins-base
xfce4-minimal
xfce4-panel
xfce4-icon-theme
xfce4-session
xfconf-utils
Thunar

View File

@@ -1,49 +1,14 @@
# collect what's left
ifneq (,$(REPORT))
all: reports/targets
include lib/common.mk
BUILDDIR := $(shell sed -n 's/^.* BUILDDIR = \(.*\)/\1/p' "$(REPORT_PATH)")
BUILDLOG := $(BUILDDIR)/$(BUILD_LOG)
REPORTDIR := $(BUILDDIR)/reports/
IMAGE_OUTPATH := $(shell sed -n 's/^IMAGE_OUTPATH = \(.*\)/\1/p' $(BUILDLOG))
# for a multi-image build there's no sense to refer to buildroot
# contained reports as these are very ephemeral between builds
ifneq (1,$(NUM_TARGETS))
SHORTEN := >/dev/null
endif
all: reports/targets reports/scripts
@cp -a $(REPORTDIR) $(IMAGE_OUTPATH).reports
reports/prep:
@mkdir -p "$(REPORTDIR)"
reports/scripts: reports/prep
@grep "^mki.*scripts: Run: " $(BUILDLOG) \
| sed -rn "s,^.*($(BUILDDIR)|$(SYMLINK))/(.*)'$$,\2,p" \
> "$(REPORTDIR)/$*.log" \
&& echo "** scripts report: $(BUILDDIR)/$(@F).log" $(SHORTEN)
reports/targets: reports/prep
@if ! [ -n "$(REPORT_PATH)" -a -s "$(REPORT_PATH)" ]; then \
exit 0; \
fi; \
if type -t dot >&/dev/null; then \
REPORT_IMAGE="$(BUILDDIR)/$@.png"; \
report-targets < "$(REPORT_PATH)" \
reports/targets:
@if [ -n "$$REPORT_PATH" -a -s "$$REPORT_PATH" ]; then \
BUILDDIR="`sed -n 's/^.* BUILDDIR = \(.*\)/\1/p' \
"$$REPORT_PATH"`"; \
REPORT_IMAGE="$$BUILDDIR/targets.png"; \
bin/report-targets < "$$REPORT_PATH" \
| dot -Tpng -o "$$REPORT_IMAGE" \
&& echo "** target graph report: $$REPORT_IMAGE"; \
else \
REPORT_DOT="$(BUILDDIR)/targets.dot"; \
report-targets < "$(REPORT_PATH)" > "$$REPORT_DOT" \
&& echo "** graphviz missing, " \
"target graph dot file: $$REPORT_DOT"; \
fi $(SHORTEN); \
mv "$(REPORT_PATH)" "$(REPORTDIR)/$(@F).log"
else
all:; @:
endif
&& echo "** target graph report: $$REPORT_IMAGE" \
&& mv "$$REPORT_PATH" "$$BUILDDIR/targets.log"; \
fi

View File

@@ -12,9 +12,7 @@ include $(MKIMAGE_PREFIX)/config.mk
CHROOT_PACKAGES = apt-utils rsync
IMAGE_PACKAGES_REGEXP = $(THE_PACKAGES_REGEXP) \
$(BASE_PACKAGES_REGEXP) \
$(MAIN_PACKAGES_REGEXP) \
IMAGE_PACKAGES_REGEXP = $(MAIN_PACKAGES_REGEXP) \
$(call kpackages, \
$(THE_KMODULES) \
$(BASE_KMODULES) \

View File

@@ -38,9 +38,6 @@ endif
CHROOT_PACKAGES_REGEXP += $(STAGE1_PACKAGES_REGEXP)
CHROOT_PACKAGES = $(STAGE1_PACKAGES) $(SYSTEM_PACKAGES)
# pass for use/stage2
GLOBAL_SQUASHFS := $(SQUASHFS)
# scripts prepare bootloader configuration, too
# NB: we pass tested squashfs options for ../stage2/Makefile to include
all: | debug prepare-workdir copy-tree run-scripts $(BUILD_PROPAGATOR) \

View File

@@ -3,7 +3,8 @@
на местности, вытягивание второй стадии с CD/FTP/...).
Скрипты запускаются извне формируемого образа (scripts.d/);
следует крайне бережно относиться к объёму этой стадии.
следует крайне бережно относиться к составу STAGE1_PACKAGES
и объёму этой стадии.
Обратите внимание: если не указать явно требуемый вариант
ядра посредством STAGE1_KFLAVOUR, будет взят последний

View File

@@ -31,29 +31,17 @@ $(error STAGE1_KFLAVOUR is utterly empty; cannot guess either)
endif
# need kernel modules only (which require corresponding kernel-image);
# these go into work chroot; NB: no vmlinuz there (unless live-install)
IMAGE_PACKAGES_REGEXP += $(call kpackages, \
$(STAGE1_KMODULES) $(STAGE2_KMODULES), \
$(STAGE1_KFLAVOUR))
# see also scripts.d/99-elf-stats
ifdef GLOBAL_SQUASHFS_SORT
ifeq (tight,$(SQUASHFS))
CHROOT_PACKAGES += file
pack-image: PACK_SQUASHFS_OPTS += -sort /.our/elf.lst
pack-image: CLEANUP_OUTDIR=
endif
endif
GLOBAL_SQUASHFS := $(SQUASHFS)
# these go into work chroot; NB: no vmlinuz there
IMAGE_PACKAGES_REGEXP = $(call kpackages, \
$(STAGE1_KMODULES) $(STAGE2_KMODULES), \
$(STAGE1_KFLAVOUR))
include $(MKIMAGE_PREFIX)/targets.mk
# NB: it's a collector variable, add()ing to a GLOBAL_ results in lost hair
GLOBAL_CLEANUP_PACKAGES := $(CLEANUP_PACKAGES)
all: | $(GLOBAL_DEBUG) \
build-image run-image-scripts run-scripts pack-image \
all: | $(GLOBAL_DEBUG) build-image run-image-scripts pack-image \
$(GLOBAL_CLEAN_WORKDIR)
# dummy

View File

@@ -1,8 +1,5 @@
#!/bin/sh
# don't cripple the image to be copied over
[ -x /usr/sbin/live-install -o -x /usr/sbin/livecd-install ] && exit 0
# remove unused fonts
cd /usr/share/fonts/bitmap/misc/ &&
rm -f *ja.* *ko.* han* gb* jis* k14* rk* *rk.* *kana* cl* *JIS*

View File

@@ -1,11 +1,7 @@
#!/bin/sh
# don't cripple the image to be copied over
[ -x /usr/sbin/live-install -o -x /usr/sbin/livecd-install ] && exit 0
# remove unused legacy/tiny fonts
#cd /usr/share/fonts/bitmap/misc/ && rm -f *ISO* *KOI* [1456]*
cd /usr/share/fonts/bitmap/misc/ && rm -f [1456]*
cd /usr/share/fonts/bitmap/misc/ && rm -f *ISO* *KOI* [1456]*
# l10n
cd /usr/share/X11/locale/ && rm -rf *[^C8]/ iso*
@@ -14,7 +10,6 @@ cd /usr/share/X11/locale/ && rm -rf *[^C8]/ iso*
cd /usr/share/X11/xkb/symbols && rm -rf *_vndr
# gconv
#cd /usr/lib*/gconv && rm -f CP* ISO* *JIS* KOI* HP* MAC*
cd /usr/lib*/gconv && rm -f CP* *JIS* HP* MAC*
cd /usr/lib*/gconv && rm -f CP* ISO* *JIS* KOI* HP* MAC*
:

View File

@@ -1,11 +1,6 @@
#!/bin/sh
# outstanding binaries
# don't cripple the image to be copied over
[ -x /usr/sbin/live-install -o -x /usr/sbin/livecd-install ] && exit 0
# purge outstanding binaries
rm -f /sbin/{sash,sln,tc}
rm -f /usr/bin/{openssl,ipv6log*}
rm -f /bin/ipv6calc
:

View File

@@ -1,10 +1,5 @@
#!/bin/sh
# don't cripple the image to be copied over
[ -x /usr/sbin/live-install -o -x /usr/sbin/livecd-install ] && exit 0
# no sense in xorg-dri-* without kernel-modules-drm*
stat /lib/modules/*/kernel/drivers/gpu/drm >&/dev/null \
|| rm -rf /usr/lib*/X11/modules/dri/
:

View File

@@ -1,12 +1,7 @@
#!/bin/sh
# don't cripple the image to be copied over
[ -x /usr/sbin/live-install -o -x /usr/sbin/livecd-install ] && exit 0
# blacklisted kernel modules
sed -n 's/^blacklist[[:space:]]\+\([^[:space:]]\+\).*/\1/p' /etc/modprobe.d/* |
while read i; do
find /lib/modules/ -type f -name "$i.ko" -delete
done
:

View File

@@ -1,9 +1,6 @@
#!/bin/sh
# no need for the kernel in live root
# (unless it's a live-install):
# it's been booted already
# don't cripple the image to be copied over
[ -x /usr/sbin/live-install -o -x /usr/sbin/livecd-install ] && exit 0
# no need for the kernel in live root otherwise: it's been booted already
rm -f /boot/*
:
[ -x /usr/sbin/live-install ] || rm -f /boot/*

View File

@@ -1,48 +0,0 @@
#!/bin/sh -e
# tally up sizes of chroot's ELF binaries for squashfs tuning
# NB: it's unclear so far whether mksquashfs -sort is beneficial
if [ -z "$GLOBAL_SQUASHFS_SORT" -o "$GLOBAL_SQUASHFS" != "tight" ]; then
echo "SKIP elf-stats: looks like it's not needed" >&2
exit 0
fi
exit_handler()
{
local rc=$1
rm -f -- "$TMPFILE"
exit $rc
}
# it's controlled environment
TMPFILE="$(mktemp)"
trap 'exit_handler $?' EXIT HUP PIPE INT QUIT TERM
# a list of ELF binaries (both executables and shared libraries)
ELFLIST=/.our/elf.lst
cd "$WORKDIR"
# let's parallelize a bit, chroot should be on tmpfs or just-cached
du -bsx | cut -f1 > "$TMPFILE" &
elf="$(find {,usr/}{lib*,{,s}bin} \
-path lib/modules -prune -o \
-path usr/lib/locale -prune -o \
-type f \
| file -nN -e ascii -e compress -e tar -e elf -f - \
| sed -n "/: ELF /s/: .*$//p" \
| tee "$ELFLIST.in" \
| tr '\n' '\0' \
| du -cb --files0-from=- \
| tail -1 \
| cut -f1)"
wait
read root < "$TMPFILE"
echo "** live chroot ELF ratio: $((100*$elf/$root))% ($elf/$root)" >&2
# add priorities
sed 's,^.*$,& 1,' < "$ELFLIST.in" > "$ELFLIST"