Compare commits
66 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
a4836609d9 | ||
|
d1922af0dd | ||
|
9eae9d7b15 | ||
|
8be6c2383d | ||
|
e6aa4eccd9 | ||
|
6b0e583843 | ||
|
c83cc111a6 | ||
|
90930184f3 | ||
|
57f7b70900 | ||
|
c7f056412f | ||
|
a958b7450d | ||
|
0d4181bee1 | ||
|
3e30ebdb4a | ||
|
4e28b094e7 | ||
|
71aac4587c | ||
|
efbecbe765 | ||
|
21325bb436 | ||
|
d66d82943c | ||
|
ed9b394951 | ||
|
454e7162f3 | ||
|
0439df3159 | ||
|
7d09fed79b | ||
|
51f5b88062 | ||
|
c20e820ac7 | ||
|
57d31b9c94 | ||
|
1fc86f6e82 | ||
|
e10d55d0ad | ||
|
8c042fe775 | ||
|
5fc270f996 | ||
|
6e6f572b43 | ||
|
c692da6a06 | ||
|
7221c53ccf | ||
|
aed6540702 | ||
|
a83b7a17cb | ||
|
3a4ba20a0f | ||
|
305e97d5a2 | ||
|
6647e8996a | ||
|
6ada32dc91 | ||
|
c66e8ae242 | ||
|
674e1482ae | ||
|
600fc011cb | ||
|
f57759d6dc | ||
|
50bfea9d5c | ||
|
d0a8ea6ba8 | ||
|
dc3002560a | ||
|
4858791145 | ||
|
03de0aabac | ||
|
8576a1655b | ||
|
865f4c7614 | ||
|
86c42e2db6 | ||
|
a6cc9fa8c3 | ||
|
780acc8e6b | ||
|
d190759717 | ||
|
1432bb1607 | ||
|
f4519332e9 | ||
|
acaf12c34e | ||
|
8d16069882 | ||
|
931d23e86c | ||
|
6fee43e9cb | ||
|
fe58c46ead | ||
|
0cc20d107d | ||
|
c2996cc493 | ||
|
94b2052bfb | ||
|
665c70a444 | ||
|
68022a3222 | ||
|
88050c9742 |
@@ -1,5 +1,5 @@
|
||||
Name: mkimage-profiles
|
||||
Version: 0.6.2
|
||||
Version: 0.6.6
|
||||
Release: alt1
|
||||
|
||||
Summary: ALT Linux based distribution metaprofile
|
||||
@@ -61,6 +61,19 @@ cp -a * %buildroot%mpdir
|
||||
%doc README QUICKSTART
|
||||
|
||||
%changelog
|
||||
* Mon May 14 2012 Michael Shigorin <mike@altlinux.org> 0.6.6-alt1
|
||||
- build helpers refactored
|
||||
- initial frontend support
|
||||
|
||||
* Mon May 07 2012 Michael Shigorin <mike@altlinux.org> 0.6.5-alt1
|
||||
- branding feature
|
||||
|
||||
* Mon Apr 23 2012 Michael Shigorin <mike@altlinux.org> 0.6.4-alt1
|
||||
- simply better (tm)
|
||||
|
||||
* Mon Apr 09 2012 Michael Shigorin <mike@altlinux.org> 0.6.3-alt1
|
||||
- massive squashfs tuning
|
||||
|
||||
* Mon Apr 02 2012 Michael Shigorin <mike@altlinux.org> 0.6.2-alt1
|
||||
- better live-webkiosk and initial live-flightgear
|
||||
- cleanup, syslinux, xorg feature tweaks
|
||||
|
6
.gear/tags/2875a11aad94e07a8a7183698f1481cb441e1c6d
Normal file
6
.gear/tags/2875a11aad94e07a8a7183698f1481cb441e1c6d
Normal file
@@ -0,0 +1,6 @@
|
||||
object 57f7b70900d8764dd39eb78b1281769edc971db8
|
||||
type commit
|
||||
tag v0.6.5
|
||||
tagger Michael Shigorin <mike@altlinux.org> 1336421542 +0300
|
||||
|
||||
branding
|
@@ -1,6 +0,0 @@
|
||||
object 5347d342cca7ad1c23b866a81a70735b7b59616f
|
||||
type commit
|
||||
tag v0.6.2
|
||||
tagger Michael Shigorin <mike@altlinux.org> 1333380199 +0300
|
||||
|
||||
webkiosk
|
@@ -1 +1 @@
|
||||
5b441e948d3bca3360d062ec7a36cdfa348f67f7 v0.6.2
|
||||
2875a11aad94e07a8a7183698f1481cb441e1c6d v0.6.5
|
||||
|
20
Makefile
20
Makefile
@@ -12,24 +12,31 @@ 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 := | bin/report-filter > $(REPORT_PATH)
|
||||
POSTPROC := | report-filter > $(REPORT_PATH)
|
||||
endif
|
||||
|
||||
# recursive make considered useful for m-p
|
||||
MAKE += -r --no-print-directory
|
||||
|
||||
.PHONY: clean distclean help
|
||||
clean distclean help:
|
||||
DIRECT_TARGETS := clean distclean check help help/distro help/ve
|
||||
.PHONY: $(DIRECT_TARGETS)
|
||||
$(DIRECT_TARGETS):
|
||||
@$(MAKE) -f main.mk $@
|
||||
|
||||
export NUM_TARGETS := $(words $(MAKECMDGOALS))
|
||||
|
||||
# for pipefail
|
||||
SHELL = /bin/bash
|
||||
|
||||
# real targets need real work
|
||||
%:
|
||||
@n=1; \
|
||||
set -o pipefail; \
|
||||
say() { echo "$$@" >&2; }; \
|
||||
if [ "$(NUM_TARGETS)" -gt 1 ]; then \
|
||||
n="`echo $(MAKECMDGOALS) \
|
||||
@@ -41,7 +48,10 @@ export NUM_TARGETS := $(words $(MAKECMDGOALS))
|
||||
for ARCH in $(ARCHES); do \
|
||||
if [ "$$ARCH" != "$(firstword $(ARCHES))" ]; then say; fi; \
|
||||
say "** ARCH: $$ARCH" >&2; \
|
||||
$(MAKE) -f main.mk ARCH=$$ARCH $@ $(POSTPROC); \
|
||||
$(MAKE) -f reports.mk ARCH=$$ARCH; \
|
||||
if $(MAKE) -f main.mk ARCH=$$ARCH $@ $(POSTPROC); then \
|
||||
if [ -n "$$REPORT" ]; then \
|
||||
$(MAKE) -f reports.mk ARCH=$$ARCH; \
|
||||
fi; \
|
||||
fi; \
|
||||
done; \
|
||||
if [ "$$n" -lt "$(NUM_TARGETS)" ]; then say; fi
|
||||
|
@@ -17,18 +17,34 @@
|
||||
что обязано быть и в инсталяторе, и в готовой системе
|
||||
- для "обычного общего" (live, main, rescue) есть COMMON_PACKAGES
|
||||
(NB: попадают в базовую систему)
|
||||
- для "пользовательского" (live, main) есть THE_GROUPS, THE_LISTS
|
||||
и THE_PACKAGES
|
||||
- для "пользовательского" окружения (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 ("живая" система)
|
||||
- аналогично по модулям ядра:
|
||||
+ 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, не являющуюся самостоятельно собираемой
|
||||
|
@@ -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 use/virtualbox/guest
|
||||
distro/.desktop-network: distro/.desktop-mini +vmguest
|
||||
@$(call add,BASE_LISTS,$(call tags,(base || desktop) && network))
|
||||
|
||||
distro/icewm: distro/.desktop-network use/lowmem +icewm; @:
|
||||
|
@@ -21,14 +21,15 @@ 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))
|
||||
@$(call add,MAIN_PACKAGES,$(pkgs))
|
||||
@$(call add,MAIN_PACKAGES,syslinux pciids memtest86+ mkisofs)
|
||||
|
||||
distro/live-install: distro/.live-base use/syslinux/localboot.cfg
|
||||
@$(call add,LIVE_PACKAGES,live-install)
|
||||
distro/live-install: distro/.live-base use/live/textinst; @:
|
||||
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 +razorqt; @:
|
||||
@@ -47,7 +48,20 @@ 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)
|
||||
@$(call add,LIVE_PACKAGES,FlightGear fgo input-utils)
|
||||
@$(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-proprietary
|
||||
|
||||
distro/live-enlightenment: distro/.live-desktop use/live/autologin use/live/ru use/x11/3d-free
|
||||
@$(call add,LIVE_PACKAGES,enlightenment)
|
||||
|
||||
distro/live-gimp: distro/live-icewm use/x11/3d-free use/live/ru
|
||||
@$(call add,LIVE_PACKAGES,gimp tintii immix fim)
|
||||
@$(call add,LIVE_PACKAGES,cvltonemap darktable geeqie rawstudio ufraw)
|
||||
@$(call add,LIVE_PACKAGES,macrofusion python-module-pygtk-libglade)
|
||||
@$(call add,LIVE_PACKAGES,qtfm openssh-clients rsync)
|
||||
@$(call add,LIVE_PACKAGES,design-graphics-sisyphus2)
|
||||
|
||||
endif
|
||||
|
@@ -19,16 +19,14 @@ 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/power/acpi/button
|
||||
distro/server-ovz: distro/server-mini use/install2/net use/hdt use/rescue \
|
||||
use/firmware/server use/firmware/wireless use/power/acpi/button
|
||||
@$(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)
|
||||
@$(call add,MAIN_LISTS,kernel-wifi)
|
||||
@$(call add,MAIN_GROUPS,dns-server http-server ftp-server kvm-server)
|
||||
@$(call add,MAIN_GROUPS,ipmi mysql-server dhcp-server mail-server)
|
||||
@$(call add,MAIN_GROUPS,monitoring diag-tools)
|
||||
|
11
conf.d/simply.mk
Normal file
11
conf.d/simply.mk
Normal file
@@ -0,0 +1,11 @@
|
||||
# simply images
|
||||
|
||||
ifeq (distro,$(IMAGE_CLASS))
|
||||
|
||||
distro/live-simply: distro/.livecd-install use/slinux/full
|
||||
@$(call add,THE_LISTS,slinux/live-install)
|
||||
|
||||
distro/simply: distro/.installer use/slinux/full
|
||||
@$(call set,INSTALLER,desktop)
|
||||
|
||||
endif
|
@@ -14,9 +14,9 @@
|
||||
+ см. ../lib/build.mk
|
||||
|
||||
- ARCHES
|
||||
+ задаёт набор целевых архитектур образов
|
||||
+ задаёт набор целевых архитектур при параметрическом задании APTCONF
|
||||
+ значение: пусто (по умолчанию авто) либо список через пробел
|
||||
+ см. ../Makefile
|
||||
+ см. ../Makefile, profiles.mk.sample
|
||||
|
||||
- BELL
|
||||
+ подаёт сигнал после завершения сборки
|
||||
@@ -71,7 +71,7 @@
|
||||
+ см. ../lib/build.mk
|
||||
|
||||
- REPORT
|
||||
+ запрашивает создание отчёта о собранном образе
|
||||
+ запрашивает создание отчётов о собранном образе
|
||||
+ значение: пусто (по умолчанию) либо любая строка
|
||||
+ NB: в силу специфики обработки передаётся только явно
|
||||
+ см. ../Makefile, ../report.mk, ../lib/report.mk
|
||||
@@ -81,6 +81,20 @@
|
||||
+ значение: пусто (по умолчанию) либо любая строка
|
||||
+ см. ../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
|
||||
|
@@ -25,6 +25,9 @@ define grepper_body
|
||||
done
|
||||
endef
|
||||
|
||||
%:
|
||||
$(error BUILDDIR not defined)
|
||||
|
||||
else
|
||||
|
||||
include $(BUILDDIR)/distcfg.mk
|
||||
@@ -62,11 +65,9 @@ $(FEATURES):
|
||||
for sub in / $(SUBPROFILES); do \
|
||||
dirtags=; \
|
||||
if [ "$$sub" = / ]; then \
|
||||
parts=lib; \
|
||||
srcdirs="."; \
|
||||
dst="."; \
|
||||
else \
|
||||
parts=; \
|
||||
src="$${sub%/*}"; \
|
||||
dst="$${sub#*/}"; \
|
||||
srcdirs=; \
|
||||
@@ -89,7 +90,7 @@ $(FEATURES):
|
||||
for srcdir in $$srcdirs; do \
|
||||
[ -d "$$srcdir" ] || continue; \
|
||||
pushd "$$srcdir" >&/dev/null; \
|
||||
for part in $$parts {image-,}scripts.d; do \
|
||||
for part in lib {image-,}scripts.d; do \
|
||||
destdir="$(BUILDDIR)/$$dst/$$part"; \
|
||||
[ -d "$$destdir" ] || continue; \
|
||||
if [ "$$sub" = / -a -d "$$part" ]; then \
|
||||
|
@@ -5,6 +5,7 @@
|
||||
# - 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
|
||||
|
3
features.in/branding/README
Normal file
3
features.in/branding/README
Normal file
@@ -0,0 +1,3 @@
|
||||
Эта фича врезается в makefile субпрофилей и обеспечивает
|
||||
добавление задающих внешний вид и сообщения дистрибутива
|
||||
пакетов; см. тж. http://www.altlinux.org/Branding
|
12
features.in/branding/config.mk
Normal file
12
features.in/branding/config.mk
Normal file
@@ -0,0 +1,12 @@
|
||||
use/branding:
|
||||
@$(call add_feature)
|
||||
@### see install2
|
||||
@#$(call add,BASE_PACKAGES,branding-$$(BRANDING)-release)
|
||||
|
||||
# NB: not every distro might have all the branding of its own
|
||||
use/branding/full: use/branding use/syslinux/ui/gfxboot
|
||||
@$(call add,THE_BRANDING,alterator bootsplash graphics)
|
||||
@$(call add,THE_BRANDING,indexhtml notes slideshow)
|
||||
|
||||
use/branding/complete: use/branding/full
|
||||
@$(call add,INSTALL2_BRANDING,notes slideshow)
|
1
features.in/branding/install2/lib/50branding.mk
Normal file
1
features.in/branding/install2/lib/50branding.mk
Normal file
@@ -0,0 +1 @@
|
||||
IMAGE_PACKAGES_REGEXP += $(call branding,$(INSTALL2_BRANDING))
|
4
features.in/branding/lib/20-branding.mk
Normal file
4
features.in/branding/lib/20-branding.mk
Normal file
@@ -0,0 +1,4 @@
|
||||
# step 4: build the distribution image
|
||||
# NB: this comes just before build-distro.mk
|
||||
|
||||
DOT_BASE += $(call branding,$(THE_BRANDING))
|
1
features.in/branding/live/lib/50branding.mk
Normal file
1
features.in/branding/live/lib/50branding.mk
Normal file
@@ -0,0 +1 @@
|
||||
IMAGE_PACKAGES_REGEXP += $(call branding,$(THE_BRANDING))
|
1
features.in/branding/main/lib/50branding.mk
Normal file
1
features.in/branding/main/lib/50branding.mk
Normal file
@@ -0,0 +1 @@
|
||||
IMAGE_PACKAGES_REGEXP += $(call branding,$(THE_BRANDING))
|
1
features.in/branding/stage1/lib/50branding.mk
Normal file
1
features.in/branding/stage1/lib/50branding.mk
Normal file
@@ -0,0 +1 @@
|
||||
CHROOT_PACKAGES_REGEXP += $(call branding,$(STAGE1_BRANDING))
|
@@ -16,33 +16,14 @@ BOOT_ABST := $(META_ABSTRACT)
|
||||
|
||||
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
|
||||
|
||||
# see also ../scripts.d/01-isosort; needs mkimage-0.2.2+
|
||||
MKI_SORTFILE := /tmp/isosort
|
||||
|
||||
all: $(GLOBAL_DEBUG) prep copy-subdirs copy-tree run-scripts pack-image \
|
||||
postprocess $(GLOBAL_CLEAN_WORKDIR)
|
||||
|
||||
prep: $(GLOBAL_DEBUG) dot-disk $(METADATA) imagedir
|
||||
|
||||
metadata: dot-base
|
||||
@mkdir -p files/Metadata
|
||||
@rm -f files/Metadata/pkg-groups.tar
|
||||
# see also alterator-pkg (backend3/pkg-install); we only tar up what's up to it
|
||||
@tar -cvf files/Metadata/pkg-groups.tar -C $(PKGDIR) \
|
||||
$$(echo $(call list,$(MAIN_GROUPS) .base) \
|
||||
$(call group,$(MAIN_GROUPS)) \
|
||||
| sed 's,$(PKGDIR)/*,,g')
|
||||
|
||||
dot-base:
|
||||
@p="$(call kpackages,$(THE_KMODULES) $(BASE_KMODULES),$(KFLAVOURS))"; \
|
||||
echo -e "\n## added by build-distro.mk\n$$p" >> $(call list,.base)
|
||||
prep: $(GLOBAL_DEBUG) dot-disk $(WHATEVER) imagedir
|
||||
#prep: $(GLOBAL_DEBUG) dot-disk metadata imagedir
|
||||
|
||||
dot-disk:
|
||||
@mkdir -p files/.disk
|
@@ -8,6 +8,6 @@
|
||||
|
||||
[ -x /sbin/chkconfig ] || exit 0
|
||||
|
||||
for i in network random syslogd random; do chkconfig $i on; done
|
||||
for i in network random syslogd; do chkconfig $i on; done
|
||||
for i in fbsetfont netfs rawdevices; do chkconfig $i off; done
|
||||
:
|
||||
|
@@ -3,17 +3,23 @@
|
||||
# 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,MAIN_PACKAGES_REGEXP,firmware-ql.*)
|
||||
@$(call add,THE_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,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.*)
|
||||
@$(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.*)
|
||||
|
@@ -1,10 +1,18 @@
|
||||
use/install2: use/stage2 sub/stage2/install2 use/cleanup/installer
|
||||
# alterator-based installer, second (livecd) stage
|
||||
use/install2: use/stage2 sub/stage2/install2 use/metadata use/cleanup/installer
|
||||
@$(call add_feature)
|
||||
@$(call set,INSTALL2_PACKAGES,installer-distro-$$(INSTALLER)-stage2)
|
||||
@$(call add,INSTALL2_PACKAGES,branding-$$(BRANDING)-alterator)
|
||||
@$(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)
|
||||
|
||||
# modern free xorg drivers for mainstream hardware requires KMS support
|
||||
use/install2/kms:
|
||||
@$(call set,STAGE1_KMODULES_REGEXP,drm.*)
|
||||
|
||||
# see also use/vm/kvm/guest; qxl included in xorg pkglist
|
||||
use/install2/kvm:
|
||||
@$(call add,INSTALL2_PACKAGES,spice-vdagent xorg-drv-qxl)
|
||||
|
4
features.in/kernel/config.mk
Normal file
4
features.in/kernel/config.mk
Normal file
@@ -0,0 +1,4 @@
|
||||
###
|
||||
use/kernel:
|
||||
@$(call add_feature)
|
||||
@$(call set,KFLAVOURS,std-def)
|
4
features.in/kernel/lib/10-kernel.mk
Normal file
4
features.in/kernel/lib/10-kernel.mk
Normal file
@@ -0,0 +1,4 @@
|
||||
# step 4: build the distribution image
|
||||
# take care for kernel bits
|
||||
|
||||
DOT_BASE += $(call kpackages,$(THE_KMODULES) $(BASE_KMODULES),$(KFLAVOURS))
|
@@ -10,12 +10,20 @@ 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/virtualbox/guest \
|
||||
use/live/sound +power
|
||||
use/live/desktop: use/live/base use/x11/wacom use/live/sound +vmguest +power
|
||||
@$(call add,LIVE_LISTS,$(call tags,desktop && (live || network)))
|
||||
@$(call add,LIVE_LISTS,$(call tags,base l10n))
|
||||
@$(call add,LIVE_PACKAGES,fonts-ttf-dejavu fonts-ttf-droid)
|
||||
@$(call add,SYSLINUX_CFG,localboot)
|
||||
|
||||
# alterator-based permanent installation
|
||||
use/live/install: use/metadata use/syslinux/localboot.cfg
|
||||
@$(call add,LIVE_PACKAGES,livecd-install)
|
||||
|
||||
# text-based installation script
|
||||
use/live/textinstall: use/syslinux/localboot.cfg
|
||||
@$(call add,LIVE_PACKAGES,live-install)
|
||||
|
||||
# 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
|
||||
# for the cases when there should be no display manager
|
||||
|
42
features.in/live/live/image-scripts.d/03services
Executable file
42
features.in/live/live/image-scripts.d/03services
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/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
|
||||
:
|
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh -ef
|
||||
|
||||
if [ ! -x /usr/bin/X ]; then
|
||||
echo "warning: autologin feature requested but X not installed" >&2
|
||||
echo "SKIP autologin: X not installed" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
@@ -2,6 +2,9 @@
|
||||
|
||||
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) \
|
||||
@@ -9,3 +12,7 @@ IMAGE_PACKAGES = $(COMMON_PACKAGES) $(THE_PACKAGES) $(LIVE_PACKAGES) \
|
||||
interactivesystem
|
||||
|
||||
MKI_PACK_RESULTS = squash:live
|
||||
|
||||
debug::
|
||||
@echo "** live: IMAGE_PACKAGES: $(IMAGE_PACKAGES)"
|
||||
@echo "** live: IMAGE_PACKAGES_REGEXP: $(IMAGE_PACKAGES_REGEXP)"
|
||||
|
@@ -1,6 +1,7 @@
|
||||
+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)
|
||||
|
3
features.in/metadata/README
Normal file
3
features.in/metadata/README
Normal file
@@ -0,0 +1,3 @@
|
||||
Эта фича занимается метаданными в составе образов --
|
||||
в первую очередь инсталяционных и пригодных к установке
|
||||
"живых".
|
2
features.in/metadata/config.mk
Normal file
2
features.in/metadata/config.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
use/metadata:
|
||||
@$(call add_feature)
|
37
features.in/metadata/lib/50-metadata.mk
Normal file
37
features.in/metadata/lib/50-metadata.mk
Normal file
@@ -0,0 +1,37 @@
|
||||
# step 4: build the distribution image
|
||||
|
||||
# package lists are needed for installer and live-install images
|
||||
METADIR := files/Metadata
|
||||
|
||||
# preparation targets of ../../build-distro/lib/build-distro.mk
|
||||
WHATEVER += metadata
|
||||
|
||||
# args: name, suffix, command
|
||||
define dump-THEM
|
||||
if [ -n "$($(1)_$(2))" ]; then echo -e "\n## $(1)_$(2)"; $(3) $($(1)_$(2)); fi;
|
||||
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;
|
||||
# thus construct requisite .base packagelist for alterator-pkg
|
||||
metadata-.base:
|
||||
@cd $(call list,/); \
|
||||
{ \
|
||||
echo "## generated by features.in/metadata/lib/metadata.mk"; \
|
||||
$(foreach p,SYSTEM COMMON THE BASE,$(call dump-PACKAGES,$(p))) \
|
||||
$(foreach l,THE BASE,$(call dump-LISTS,$(l))) \
|
||||
if [ -n "$(DOT_BASE)" ]; then \
|
||||
echo -e "\n## DOT_BASE\n$(DOT_BASE)"; \
|
||||
fi; \
|
||||
} | sed -re '/^[^[:space:]#]/ s/[[:space:]]+/\n/g' > .base
|
||||
|
||||
# see also alterator-pkg (backend3/pkg-install);
|
||||
# we only tar up what's up to it
|
||||
metadata: metadata-.base
|
||||
@mkdir -p $(METADIR); \
|
||||
tar -C $(PKGDIR) -cvf - \
|
||||
$(call rlist,$(MAIN_GROUPS) .base) \
|
||||
$(call rgroup,$(MAIN_GROUPS)) \
|
||||
> $(METADIR)/pkg-groups.tar
|
@@ -3,6 +3,7 @@
|
||||
# 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
|
||||
@@ -20,4 +21,4 @@ use/power/acpi/powersave: use/power/acpi
|
||||
|
||||
# legacy power management
|
||||
use/power/apm: use/power
|
||||
@$(call add,COMMON_PACKAGES,apmd)
|
||||
@$(call add,COMMON_PACKAGES,apmd lphdisk)
|
||||
|
1
features.in/slinux/README
Normal file
1
features.in/slinux/README
Normal file
@@ -0,0 +1 @@
|
||||
Наборы пакетов для семейства дистрибутивов Simply Linux.
|
20
features.in/slinux/config.mk
Normal file
20
features.in/slinux/config.mk
Normal file
@@ -0,0 +1,20 @@
|
||||
use/slinux: use/x11/xfce use/x11/gdm2.20
|
||||
@$(call add_feature)
|
||||
@$(call set,BRANDING,simply-linux)
|
||||
@$(call add,THE_BRANDING,menu xfce-settings)
|
||||
@$(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))
|
||||
|
||||
use/slinux/full: use/isohybrid use/slinux use/systemd \
|
||||
use/firmware/wireless use/branding/complete \
|
||||
use/x11/drm use/x11/3d-proprietary
|
||||
@$(call add,THE_PACKAGES,apt-conf-sisyphus)
|
29
features.in/slinux/live/image-scripts.d/50services
Executable file
29
features.in/slinux/live/image-scripts.d/50services
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
# see also m-p-d::profiles/live/image-scripts.d/init3-services
|
||||
|
||||
#[ -x /bin/systemctl ] || exit 0
|
||||
#[ -x /bin/systemctl ] || exit 0
|
||||
|
||||
ENABLE="
|
||||
network
|
||||
NetworkManager
|
||||
lvm2-monitor
|
||||
mdadm
|
||||
"
|
||||
|
||||
# NB: dnsmasq: https://bugzilla.altlinux.org/show_bug.cgi?id=18799
|
||||
# NB: sshd might be needed for some particular cases
|
||||
DISABLE="
|
||||
sshd
|
||||
"
|
||||
|
||||
for i in $ENABLE; do
|
||||
[ -x /bin/systemctl ] && /bin/systemctl enable ${i}.service
|
||||
[ -x /sbin/chkconfig ] && /sbin/chkconfig $i on
|
||||
done
|
||||
|
||||
for i in $DISABLE; do
|
||||
[ -x /bin/systemctl ] && /bin/systemctl disable ${i}.service
|
||||
[ -x /sbin/chkconfig ] && /sbin/chkconfig $i off
|
||||
done
|
||||
:
|
@@ -1,32 +1,55 @@
|
||||
#!/bin/sh
|
||||
# NB: -f prohibited in this shebang
|
||||
# check relevant kernel features availability
|
||||
|
||||
GZ_OPTS="-comp gzip"
|
||||
XZ_OPTS="-comp xz -b 524288 -noI"
|
||||
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"
|
||||
|
||||
# test for installer-required filesystems support
|
||||
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
|
||||
for opt in SQUASHFS AUFS_FS; do
|
||||
configured "$opt=[my]" || fatal "stage1 kernel must have $opt support"
|
||||
done
|
||||
|
||||
# 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"
|
||||
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"
|
||||
fi
|
||||
fi
|
||||
echo "PACK_SQUASHFS_OPTS=$XZ_OPTS" > /.image/squashcfg.mk
|
||||
else
|
||||
echo "PACK_SQUASHFS_OPTS=$GZ_OPTS" > /.image/squashcfg.mk
|
||||
fi
|
||||
}
|
||||
|
||||
echo "PACK_SQUASHFS_OPTS=-no-recovery `options`" > /.image/squashcfg.mk
|
||||
|
@@ -9,7 +9,7 @@ use/syslinux/ui/%: use/syslinux
|
||||
@$(call set,SYSLINUX_UI,$*)
|
||||
@if [ "$*" == gfxboot ]; then \
|
||||
$(call add,STAGE1_PACKAGES,gfxboot); \
|
||||
$(call add,STAGE1_PACKAGES,branding-$$(BRANDING)-bootloader); \
|
||||
$(call add,STAGE1_BRANDING,bootloader); \
|
||||
fi
|
||||
|
||||
# modules and config snippets just add up
|
||||
|
@@ -1,4 +0,0 @@
|
||||
use/virtualbox/guest:
|
||||
@$(call add_feature)
|
||||
@$(call add,THE_KMODULES,virtualbox-addition)
|
||||
@$(call add,THE_PACKAGES,virtualbox-guest-additions)
|
13
features.in/vm/config.mk
Normal file
13
features.in/vm/config.mk
Normal file
@@ -0,0 +1,13 @@
|
||||
+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
|
@@ -3,6 +3,7 @@
|
||||
+tde: use/x11/tde use/x11/kdm; @:
|
||||
|
||||
use/x11/xorg:
|
||||
@$(call add_feature)
|
||||
@$(call add,THE_LISTS,xorg)
|
||||
|
||||
use/x11/wacom: use/x11/xorg
|
||||
@@ -35,6 +36,9 @@ 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))
|
||||
|
||||
@@ -43,3 +47,9 @@ 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))
|
||||
|
@@ -11,6 +11,7 @@ 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
|
||||
@@ -26,9 +27,19 @@ $(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_LINK := $(IMAGE_NAME).$(IMAGE_TYPE)
|
||||
IMAGE_OUTFILE := $(IMAGE_NAME)-$(DATE)-$(ARCH).$(IMAGE_TYPE)
|
||||
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)
|
||||
MKI_PACK_RESULTS = $(IMAGE_PACKTYPE):$(IMAGE_OUTFILE)
|
||||
|
||||
# these get opied over as is
|
||||
@@ -44,7 +55,7 @@ include lib/*.mk
|
||||
include $(MKIMAGE_PREFIX)/targets.mk
|
||||
|
||||
# specified only for the final image (target-specific)
|
||||
pack-image: OUTDIR = $(IMAGEDIR)
|
||||
pack-image: OUTDIR = $(IMAGE_OUTDIR)
|
||||
pack-image: imagedir
|
||||
|
||||
copy-tree: $(SAVE_PROFILE:%=save-profile)
|
||||
@@ -57,18 +68,18 @@ save-profile:
|
||||
.PHONY: imagedir postprocess debug
|
||||
|
||||
imagedir:
|
||||
@mkdir -p "$(IMAGEDIR)"
|
||||
@mkdir -p "$(IMAGE_OUTDIR)"
|
||||
|
||||
postprocess: | $(addprefix postprocess-,$(sort $(POSTPROCESS_TARGETS)))
|
||||
@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)"; \
|
||||
@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)"; \
|
||||
if [ -n "$(GLOBAL_DEBUG)" ]; then \
|
||||
cp -a build.log "$$OUTPATH.log"; \
|
||||
cp -a distcfg.mk "$$OUTPATH.cfg"; \
|
||||
cp -a build.log "$(IMAGE_OUTPATH).log"; \
|
||||
cp -a distcfg.mk "$(IMAGE_OUTPATH).cfg"; \
|
||||
fi
|
||||
|
||||
debug:
|
||||
|
@@ -5,11 +5,13 @@ PKGDIR := $(GLOBAL_BUILDDIR)/pkg
|
||||
ARCH ?= $(shell arch | sed 's/i686/i586/')
|
||||
DATE ?= $(shell date +%Y%m%d)
|
||||
|
||||
# prefix pkglist name with its directory to form a path
|
||||
list = $(1:%=$(PKGDIR)/lists/%)
|
||||
# prefix pkglist name with its directory to form a path (relative/absolute)
|
||||
rlist = $(1:%=lists/%)
|
||||
list = $(addprefix $(PKGDIR)/,$(call rlist,$(1)))
|
||||
|
||||
# prefix/suffix group name to form a path
|
||||
group = $(1:%=$(PKGDIR)/groups/%.directory)
|
||||
# prefix/suffix group name to form a path (relative/absolute)
|
||||
rgroup = $(1:%=groups/%.directory)
|
||||
group = $(addprefix $(PKGDIR)/,$(call rgroup,$(1)))
|
||||
|
||||
# map first argument (a function) onto second one (an argument list)
|
||||
map = $(foreach a,$(2),$(call $(1),$(a)))
|
||||
@@ -19,5 +21,9 @@ NULL :=
|
||||
SPACE := $(NULL) # the officially documented way of getting a space
|
||||
|
||||
list2re = $(subst $(SPACE),|,$(strip $(1)))
|
||||
|
||||
# args: KMODULES, KFLAVOURS
|
||||
kpackages = ^kernel-(image|modules-($(call list2re,$(1))))-($(call list2re,$(2)))$$
|
||||
|
||||
# arg: branding subpackages
|
||||
branding = ^branding-$(BRANDING)-($(call list2re,$(1)))$$
|
||||
|
10
lib/build.mk
10
lib/build.mk
@@ -2,6 +2,9 @@
|
||||
ANSI_OK ?= 1;32
|
||||
ANSI_FAIL ?= 1;31
|
||||
|
||||
MAX_ERRORS = 3
|
||||
GOTCHA := ^(((\*\* )?(E:|[Ee]rror|[Ww]arning).*)|(.* (conflicts|Depends:) .*)|(.* (Stop|failed)\.))$$
|
||||
|
||||
ifndef MKIMAGE_PROFILES
|
||||
$(error this makefile is designed to be included in toplevel one)
|
||||
endif
|
||||
@@ -48,8 +51,10 @@ 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: .*$$' ||:; \
|
||||
RETVAL=0; \
|
||||
else \
|
||||
RETVAL=$$?; \
|
||||
echo -n "$(TIME) failed, see log"; \
|
||||
if [ -z "$(DEBUG)" ]; then \
|
||||
echo ": $(BUILDLOG)" $(SHORTEN); \
|
||||
@@ -59,9 +64,10 @@ build-image: profile/populate
|
||||
fi; \
|
||||
tail -200 "$(BUILDLOG)" \
|
||||
| GREP_COLOR="$(ANSI_FAIL)" GREP_OPTIONS="--color=auto" \
|
||||
egrep "^((E:|[Ee]rror|[Ww]arning).*)|(.* Stop\.)$$"; \
|
||||
egrep -m "$(MAX_ERRORS)" "$(GOTCHA)"; \
|
||||
df -P $(BUILDDIR) | awk 'END { if ($$4 < $(LOWSPACE)) \
|
||||
{ print "NB: low space on "$$6" ("$$5" used)"}}'; \
|
||||
fi; \
|
||||
if [ -n "$(BELL)" ]; then echo -ne '\a'; fi; \
|
||||
exit $$RETVAL; \
|
||||
} >&2
|
||||
|
11
lib/check.mk
Normal file
11
lib/check.mk
Normal file
@@ -0,0 +1,11 @@
|
||||
ifndef MKIMAGE_PROFILES
|
||||
$(error this makefile is designed to be included in toplevel one)
|
||||
endif
|
||||
|
||||
check:
|
||||
@find sub.in features.in \
|
||||
-path '*scripts.d/*' \
|
||||
\! \( -perm 755 -o -name .gitignore \) \
|
||||
| while read line; do \
|
||||
echo "chmod 755 $$line"; \
|
||||
done
|
@@ -53,7 +53,7 @@ distclean: clean
|
||||
# than BUILDDIR is -- usually it's unneeded afterwards so just zap it
|
||||
postclean: build-image
|
||||
@{ \
|
||||
if [ "$(NUM_TARGETS)" -gt 1 -a -z "$(DEBUG)" ] || \
|
||||
if [ "$(NUM_TARGETS)" -gt 1 -a -z "$(DEBUG)" -a -z "$(__frontend)" ] ||\
|
||||
[ ! -L "$(SYMLINK)" -a "0$(DEBUG)" -lt 2 ]; then \
|
||||
echo "$(TIME) cleaning up after build"; \
|
||||
$(MAKE) -C "$(BUILDDIR)" distclean \
|
||||
|
16
lib/common.mk
Normal file
16
lib/common.mk
Normal file
@@ -0,0 +1,16 @@
|
||||
# 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),~,'"; \
|
||||
)
|
@@ -23,17 +23,16 @@ distro/.init: profile/bare
|
||||
|
||||
# NB: the last flavour in KFLAVOURS gets to be the default one;
|
||||
# the kernel packages regexp evaluation has to take place at build stage
|
||||
distro/.base: distro/.init
|
||||
@$(call set,KFLAVOURS,std-def)
|
||||
distro/.base: distro/.init use/kernel
|
||||
@$(call set,META_SYSTEM_ID,LINUX)
|
||||
@$(call set,META_VOL_ID,ALT Linux $(ARCH))
|
||||
@$(call set,META_VOL_ID,ALT Linux $(IMAGE_NAME)/$(ARCH))
|
||||
@$(call set,META_VOL_SET,ALT Linux)
|
||||
|
||||
# something marginally useful (as a network-only installer)
|
||||
# NB: doesn't carry stage3 thus cannot use/bootloader
|
||||
distro/installer: distro/.base use/install2 use/syslinux/localboot.cfg
|
||||
distro/installer: distro/.base use/syslinux/localboot.cfg \
|
||||
use/install2 use/install2/kms use/install2/kvm
|
||||
@$(call set,INSTALLER,altlinux-generic)
|
||||
@$(call set,STAGE1_KMODULES_REGEXP,drm.*) # for KMS
|
||||
|
||||
distro/.installer: distro/installer use/bootloader/grub use/repo/main; @:
|
||||
|
||||
|
@@ -47,7 +47,8 @@ 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)" | bin/tags2lists pkg.in/lists/tagged)))
|
||||
tags = $(and $(strip $(1)),$(addprefix tagged/,$(shell echo "$(1)" \
|
||||
| tags2lists pkg.in/lists/tagged)))
|
||||
|
||||
# toplevel Makefile convenience
|
||||
addsuffices = $(foreach s,$(1),$(call addsuffix,$s,$(2)))
|
||||
|
18
lib/help.mk
18
lib/help.mk
@@ -1,12 +1,24 @@
|
||||
# this makefile holds the most helpful bits for the toplevel one
|
||||
|
||||
ifdef __frontend
|
||||
define help_body
|
||||
@for i in $(2); do echo $$i; done
|
||||
endef
|
||||
else
|
||||
define help_body
|
||||
@echo '** available $(1) targets:'; \
|
||||
columnize $(2)
|
||||
endef
|
||||
endif
|
||||
|
||||
help = $(and $(2),$(help_body))
|
||||
|
||||
help/distro:
|
||||
@echo '** available distribution targets:'; \
|
||||
bin/columnize $(sort $(DISTROS:distro/%=%))
|
||||
$(call help,distribution,$(sort $(DISTROS:distro/%=%)))
|
||||
|
||||
help/ve:
|
||||
@echo '** available virtual environment targets:'; \
|
||||
bin/columnize $(sort $(VES))
|
||||
columnize $(sort $(VES))
|
||||
|
||||
help: | help/distro help/space help/ve; @:
|
||||
help/space:; @echo
|
||||
|
10
lib/kernel.mk
Normal file
10
lib/kernel.mk
Normal file
@@ -0,0 +1,10 @@
|
||||
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
|
19
lib/log.mk
19
lib/log.mk
@@ -6,7 +6,15 @@ ifndef MKIMAGE_PROFILES
|
||||
$(error this makefile is designed to be included in toplevel one)
|
||||
endif
|
||||
|
||||
BUILDLOG ?= $(BUILDDIR)/build.log
|
||||
# 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)
|
||||
|
||||
# LOG holds a redirecting postprocessor
|
||||
ifdef DEBUG
|
||||
@@ -27,12 +35,3 @@ 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),~,'"; \
|
||||
)
|
||||
|
@@ -2,8 +2,6 @@ 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
|
||||
@@ -15,7 +13,7 @@ if [ -s "$(SYMLINK)" -a "$(NUM_TARGETS)" = 1 ] && \
|
||||
then \
|
||||
echo "$(BUILDLINK)"; \
|
||||
else \
|
||||
bin/mktmpdir $(BUILDDIR_PREFIX) || exit 200; \
|
||||
mktmpdir $(BUILDDIR_PREFIX) || exit 200; \
|
||||
fi; )
|
||||
endif
|
||||
|
||||
@@ -26,9 +24,7 @@ endif
|
||||
# even smart caching only hurts when every build goes from scratch
|
||||
NO_CACHE ?= 1
|
||||
|
||||
PATH := $(CURDIR)/bin:$(PATH)
|
||||
|
||||
export BUILDDIR NO_CACHE PATH
|
||||
export BUILDDIR NO_CACHE
|
||||
|
||||
CONFIG := $(BUILDDIR)/distcfg.mk
|
||||
RC := $(HOME)/.mkimage/profiles.mk
|
||||
|
2
main.mk
2
main.mk
@@ -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
|
||||
|
@@ -2,20 +2,22 @@
|
||||
# (and only those!) over to $(BUILDDIR)
|
||||
|
||||
ifndef BUILDDIR
|
||||
$(error BUILDDIR not defined)
|
||||
endif
|
||||
|
||||
pkgdups:
|
||||
@find -type f ! -name README ! -name Makefile \
|
||||
| grep -v '~$$' \
|
||||
| sed 's,^\./,,g' \
|
||||
| xargs ../../bin/pkgdups
|
||||
|
||||
%:
|
||||
$(error BUILDDIR not defined)
|
||||
|
||||
else
|
||||
|
||||
include $(BUILDDIR)/distcfg.mk
|
||||
SUFFIX := pkg/lists
|
||||
TARGET := $(BUILDDIR)/$(SUFFIX)
|
||||
|
||||
# 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) copy-lists copy-groups
|
||||
@if type -t git >&/dev/null && cd $(TARGET); then \
|
||||
if [ -n "`git status -s`" ]; then \
|
||||
@@ -38,22 +40,6 @@ copy-groups:
|
||||
cp -at $(TARGET) -- $(THE_GROUPS) $(MAIN_GROUPS); \
|
||||
fi
|
||||
|
||||
# args: name, suffix, command
|
||||
define dump-THEM
|
||||
if [ -n "$($(1)_$(2))" ]; then echo -e "\n## $(1)_$(2)"; $(3) $($(1)_$(2)); fi;
|
||||
endef
|
||||
|
||||
dump-PACKAGES = $(call dump-THEM,$(1),PACKAGES,echo)
|
||||
dump-LISTS = $(call dump-THEM,$(1),LISTS,cat)
|
||||
|
||||
dot-base:
|
||||
@# construct .base packagelist for alterator-pkg
|
||||
@{ \
|
||||
echo "## generated by pkg.in/lists/Makefile"; \
|
||||
$(foreach p,SYSTEM COMMON THE BASE,$(call dump-PACKAGES,$(p))) \
|
||||
$(foreach l,THE BASE,$(call dump-LISTS,$(l))) \
|
||||
} | sed -re '/^[^[:space:]#]/ s/[[:space:]]+/\n/g' >$(TARGET)/.base
|
||||
|
||||
# do beforehand as foreach gets expanded before recipe execution
|
||||
$(TARGET):
|
||||
@mkdir -p $(TARGET)
|
||||
@@ -64,3 +50,5 @@ debug:
|
||||
$(filter %_LISTS,$(sort $(.VARIABLES))), \
|
||||
$(if $(filter environment% file,$(origin $V)),\
|
||||
$(shell echo '\\n"**"' $V: $(value $V)))) '\n'
|
||||
|
||||
endif
|
||||
|
@@ -8,3 +8,8 @@
|
||||
|
||||
Подкаталог tagged/ содержит тегированные списки, имена которых
|
||||
удобно получать функцией tags() (см. ../../lib/functions.mk).
|
||||
|
||||
Для выявления дубликатов в составе списков служит `make pkgdups';
|
||||
пытаться избежать дублей на 100% скорее бесполезно, но бродячие
|
||||
устойчивые группы пакетов могут заслуживать выделения отдельным
|
||||
списком.
|
||||
|
2
pkg.in/lists/gnome-p2p
Normal file
2
pkg.in/lists/gnome-p2p
Normal file
@@ -0,0 +1,2 @@
|
||||
transmission-gtk
|
||||
eiskaltdcpp-gtk
|
@@ -1 +0,0 @@
|
||||
firmware-rt73
|
2
pkg.in/lists/slinux/dropbox
Normal file
2
pkg.in/lists/slinux/dropbox
Normal file
@@ -0,0 +1,2 @@
|
||||
dropbox
|
||||
thunar-dropbox-plugin
|
17
pkg.in/lists/slinux/games
Normal file
17
pkg.in/lists/slinux/games
Normal file
@@ -0,0 +1,17 @@
|
||||
# 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
|
18
pkg.in/lists/slinux/games-dvd
Normal file
18
pkg.in/lists/slinux/games-dvd
Normal file
@@ -0,0 +1,18 @@
|
||||
freeciv
|
||||
wesnoth
|
||||
ppracer
|
||||
sauerbraten
|
||||
|
||||
instead-launcher
|
||||
instead-cat
|
||||
|
||||
Ri-li
|
||||
openttd
|
||||
openastromenace
|
||||
PokerTH
|
||||
|
||||
celestia-gnome
|
||||
|
||||
gcompris
|
||||
gcompris-voices-en
|
||||
gcompris-voices-ru
|
10
pkg.in/lists/slinux/graphics
Normal file
10
pkg.in/lists/slinux/graphics
Normal file
@@ -0,0 +1,10 @@
|
||||
gimp2
|
||||
gimp-plugin-gutenprint
|
||||
xsane-gimp2
|
||||
# inkscape
|
||||
gphoto2
|
||||
sane
|
||||
xsane
|
||||
|
||||
gthumb
|
||||
yagf
|
3
pkg.in/lists/slinux/graphics-dvd-blender
Normal file
3
pkg.in/lists/slinux/graphics-dvd-blender
Normal file
@@ -0,0 +1,3 @@
|
||||
blender
|
||||
blender-plugins-yafaray
|
||||
blender-plugins-localdocs
|
1
pkg.in/lists/slinux/graphics-dvd-inkscape
Normal file
1
pkg.in/lists/slinux/graphics-dvd-inkscape
Normal file
@@ -0,0 +1 @@
|
||||
inkscape
|
1
pkg.in/lists/slinux/graphics-dvd-shotwell
Normal file
1
pkg.in/lists/slinux/graphics-dvd-shotwell
Normal file
@@ -0,0 +1 @@
|
||||
shotwell
|
1
pkg.in/lists/slinux/graphics-dvd-synfigstudio
Normal file
1
pkg.in/lists/slinux/graphics-dvd-synfigstudio
Normal file
@@ -0,0 +1 @@
|
||||
synfigstudio
|
0
pkg.in/lists/slinux/i586
Normal file
0
pkg.in/lists/slinux/i586
Normal file
18
pkg.in/lists/slinux/live
Normal file
18
pkg.in/lists/slinux/live
Normal file
@@ -0,0 +1,18 @@
|
||||
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-
|
2
pkg.in/lists/slinux/live-install
Normal file
2
pkg.in/lists/slinux/live-install
Normal file
@@ -0,0 +1,2 @@
|
||||
installer-feature-simply-livecd
|
||||
livecd-setlocale
|
111
pkg.in/lists/slinux/misc
Normal file
111
pkg.in/lists/slinux/misc
Normal file
@@ -0,0 +1,111 @@
|
||||
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-
|
||||
|
||||
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
|
||||
|
||||
# disks
|
||||
lvm2
|
||||
mdadm
|
15
pkg.in/lists/slinux/misc-dvd
Normal file
15
pkg.in/lists/slinux/misc-dvd
Normal file
@@ -0,0 +1,15 @@
|
||||
#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
|
5
pkg.in/lists/slinux/multimedia
Normal file
5
pkg.in/lists/slinux/multimedia
Normal file
@@ -0,0 +1,5 @@
|
||||
easytag
|
||||
gnome-mplayer
|
||||
gecko-mediaplayer
|
||||
audacious
|
||||
audacious-plugins
|
1
pkg.in/lists/slinux/multimedia-dvd-audacity
Normal file
1
pkg.in/lists/slinux/multimedia-dvd-audacity
Normal file
@@ -0,0 +1 @@
|
||||
audacity
|
1
pkg.in/lists/slinux/multimedia-dvd-pitivi
Normal file
1
pkg.in/lists/slinux/multimedia-dvd-pitivi
Normal file
@@ -0,0 +1 @@
|
||||
pitivi
|
1
pkg.in/lists/slinux/multimedia-dvd-sound-juicer
Normal file
1
pkg.in/lists/slinux/multimedia-dvd-sound-juicer
Normal file
@@ -0,0 +1 @@
|
||||
sound-juicer
|
36
pkg.in/lists/slinux/network
Normal file
36
pkg.in/lists/slinux/network
Normal file
@@ -0,0 +1,36 @@
|
||||
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
|
48
pkg.in/lists/slinux/x86_64
Normal file
48
pkg.in/lists/slinux/x86_64
Normal file
@@ -0,0 +1,48 @@
|
||||
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
|
69
pkg.in/lists/slinux/xfce
Normal file
69
pkg.in/lists/slinux/xfce
Normal file
@@ -0,0 +1,69 @@
|
||||
#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
|
2
pkg.in/lists/tagged/desktop+cinnamon
Normal file
2
pkg.in/lists/tagged/desktop+cinnamon
Normal file
@@ -0,0 +1,2 @@
|
||||
cinnamon-default
|
||||
installer-feature-xdg-user-dirs
|
3
pkg.in/lists/tagged/desktop+cinnamon+extra
Normal file
3
pkg.in/lists/tagged/desktop+cinnamon+extra
Normal file
@@ -0,0 +1,3 @@
|
||||
gnome3-default
|
||||
libreoffice libreoffice-gnome libreoffice-langpack-ru
|
||||
gimp
|
@@ -1,4 +1,5 @@
|
||||
xdm
|
||||
xinit
|
||||
xinitrc
|
||||
livecd-setlocale
|
||||
installer-feature-runlevel5-stage3
|
||||
|
12
pkg.in/lists/tagged/desktop+xfce
Normal file
12
pkg.in/lists/tagged/desktop+xfce
Normal file
@@ -0,0 +1,12 @@
|
||||
xfce4-taskmanager
|
||||
xfce4-appfinder
|
||||
xfce4-settings
|
||||
xfcalendar
|
||||
xfce4-mixer
|
||||
gst-plugins-base
|
||||
xfce4-minimal
|
||||
xfce4-panel
|
||||
xfce4-icon-theme
|
||||
xfce4-session
|
||||
xfconf-utils
|
||||
Thunar
|
63
reports.mk
63
reports.mk
@@ -1,14 +1,57 @@
|
||||
# collect what's left
|
||||
|
||||
all: reports/targets
|
||||
ifneq (,$(REPORT))
|
||||
|
||||
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" \
|
||||
&& mv "$$REPORT_PATH" "$$BUILDDIR/targets.log"; \
|
||||
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
|
||||
@if [ -n "$(IMAGE_OUTPATH)" ]; then \
|
||||
cp -a $(REPORTDIR) $(IMAGE_OUTPATH).reports; \
|
||||
fi
|
||||
|
||||
reports/prep:
|
||||
@mkdir -p "$(REPORTDIR)"
|
||||
|
||||
reports/scripts: reports/prep
|
||||
@OUT="$(REPORTDIR)/$(@F).log"; \
|
||||
grep "^mki.*scripts: Run: " $(BUILDLOG) \
|
||||
| sed -rn "s,^.*($(BUILDDIR)|$(SYMLINK))/(.*)'$$,\2,p" > "$$OUT" \
|
||||
&& if [ -s "$$OUT" ]; then \
|
||||
echo "** scripts report: $$OUT" $(SHORTEN); \
|
||||
fi
|
||||
|
||||
reports/targets: reports/prep
|
||||
@if ! [ -n "$(REPORT_PATH)" -a -s "$(REPORT_PATH)" ]; then \
|
||||
exit 0; \
|
||||
fi; \
|
||||
if type -t dot >&/dev/null; then \
|
||||
OUT="$(REPORTDIR)/$(@F).png"; \
|
||||
report-targets < "$(REPORT_PATH)" \
|
||||
| dot -Tpng -o "$$OUT" \
|
||||
&& if [ -s "$$OUT" ]; then \
|
||||
echo "** target graph report: $$OUT"; \
|
||||
fi; \
|
||||
else \
|
||||
OUT="$(BUILDDIR)/targets.dot"; \
|
||||
report-targets < "$(REPORT_PATH)" > "$$OUT" \
|
||||
&& if [ -s "$$OUT" ]; then \
|
||||
echo "** graphviz missing, " \
|
||||
"target graph dot file: $$OUT"; \
|
||||
fi; \
|
||||
fi $(SHORTEN); \
|
||||
mv "$(REPORT_PATH)" "$(REPORTDIR)/$(@F).log"
|
||||
|
||||
else
|
||||
all:; @:
|
||||
endif
|
||||
|
@@ -12,7 +12,9 @@ include $(MKIMAGE_PREFIX)/config.mk
|
||||
|
||||
CHROOT_PACKAGES = apt-utils rsync
|
||||
|
||||
IMAGE_PACKAGES_REGEXP = $(MAIN_PACKAGES_REGEXP) \
|
||||
IMAGE_PACKAGES_REGEXP = $(THE_PACKAGES_REGEXP) \
|
||||
$(BASE_PACKAGES_REGEXP) \
|
||||
$(MAIN_PACKAGES_REGEXP) \
|
||||
$(call kpackages, \
|
||||
$(THE_KMODULES) \
|
||||
$(BASE_KMODULES) \
|
||||
@@ -26,6 +28,8 @@ IMAGE_PACKAGES = $(call map,list, \
|
||||
$(SYSTEM_PACKAGES) $(COMMON_PACKAGES) \
|
||||
$(THE_PACKAGES) $(BASE_PACKAGES) $(MAIN_PACKAGES)
|
||||
|
||||
-include lib/*.mk
|
||||
|
||||
MKI_DESTDIR = ALTLinux/RPMS.main
|
||||
MKI_PACK_RESULTS = data
|
||||
|
||||
|
@@ -38,6 +38,11 @@ endif
|
||||
CHROOT_PACKAGES_REGEXP += $(STAGE1_PACKAGES_REGEXP)
|
||||
CHROOT_PACKAGES = $(STAGE1_PACKAGES) $(SYSTEM_PACKAGES)
|
||||
|
||||
# pass for use/stage2
|
||||
GLOBAL_SQUASHFS := $(SQUASHFS)
|
||||
|
||||
-include lib/*.mk
|
||||
|
||||
# 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) \
|
||||
|
@@ -3,8 +3,7 @@
|
||||
на местности, вытягивание второй стадии с CD/FTP/...).
|
||||
|
||||
Скрипты запускаются извне формируемого образа (scripts.d/);
|
||||
следует крайне бережно относиться к составу STAGE1_PACKAGES
|
||||
и объёму этой стадии.
|
||||
следует крайне бережно относиться к объёму этой стадии.
|
||||
|
||||
Обратите внимание: если не указать явно требуемый вариант
|
||||
ядра посредством STAGE1_KFLAVOUR, будет взят последний
|
||||
|
@@ -31,17 +31,31 @@ $(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
|
||||
IMAGE_PACKAGES_REGEXP = $(call kpackages, \
|
||||
$(STAGE1_KMODULES) $(STAGE2_KMODULES), \
|
||||
$(STAGE1_KFLAVOUR))
|
||||
# these go into work chroot; NB: no vmlinuz there (unless live-install)
|
||||
IMAGE_PACKAGES_REGEXP += $(call kpackages, \
|
||||
$(STAGE1_KMODULES) $(STAGE2_KMODULES), \
|
||||
$(STAGE1_KFLAVOUR))
|
||||
|
||||
-include lib/*.mk
|
||||
|
||||
# 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)
|
||||
|
||||
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 pack-image \
|
||||
all: | $(GLOBAL_DEBUG) \
|
||||
build-image run-image-scripts run-scripts pack-image \
|
||||
$(GLOBAL_CLEAN_WORKDIR)
|
||||
|
||||
# dummy
|
||||
|
@@ -1,5 +1,8 @@
|
||||
#!/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*
|
||||
|
@@ -1,7 +1,11 @@
|
||||
#!/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 *ISO* *KOI* [1456]*
|
||||
cd /usr/share/fonts/bitmap/misc/ && rm -f [1456]*
|
||||
|
||||
# l10n
|
||||
cd /usr/share/X11/locale/ && rm -rf *[^C8]/ iso*
|
||||
@@ -10,6 +14,7 @@ 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* ISO* *JIS* KOI* HP* MAC*
|
||||
cd /usr/lib*/gconv && rm -f CP* *JIS* HP* MAC*
|
||||
|
||||
:
|
||||
|
@@ -1,6 +1,11 @@
|
||||
#!/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
|
||||
|
||||
:
|
||||
|
@@ -1,5 +1,10 @@
|
||||
#!/bin/sh
|
||||
# no sense in xorg-dri-* without kernel-modules-drm*
|
||||
|
||||
# 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/
|
||||
|
||||
:
|
||||
|
@@ -1,7 +1,12 @@
|
||||
#!/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
|
||||
|
||||
:
|
||||
|
@@ -1,6 +1,9 @@
|
||||
#!/bin/sh
|
||||
# no need for the kernel in live root
|
||||
# (unless it's a live-install):
|
||||
# it's been booted already
|
||||
|
||||
[ -x /usr/sbin/live-install ] || rm -f /boot/*
|
||||
# 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/*
|
||||
|
||||
:
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user