Compare commits

..

24 Commits

Author SHA1 Message Date
Michael Shigorin
ebeb52b5da 0.6.8-alt1
- minor bugfixes
2012-05-28 22:13:50 +03:00
Michael Shigorin
5c3d58b8e4 desktop: add glibc-locales, essentially
The more or less basic desktop appeared to lack
base locale support (starting with glibc-locales).
2012-05-26 15:10:20 +03:00
Michael Shigorin
860e20c62d lib/common.mk: avoid using uninitialized variables
It somehow managed to evade me that $(TMP) might be uninitialized;
definitely should be checked before stuffing into sed substitution
command.

NB: this could be done in pure make but my take was less readable.

Thanks shadowsbrother/gmail for hitting and reporting this.
2012-05-26 14:08:19 +03:00
Michael Shigorin
74e5734eae 80-make-initfs: optimize for newer make-initrd
legion@ implemented skipping depmod call, and that's several more
seconds for most of the images; let's shave these off if possible.
2012-05-25 16:55:54 +03:00
Michael Shigorin
3e7346f4e2 gear-store-tags 2012-05-21 21:30:37 +03:00
Michael Shigorin
128fc9d44d 0.6.7-alt1
- docs updates
2012-05-21 21:29:58 +03:00
Michael Shigorin
5dc8001a8a doc/features.txt: clarified the convention
It might be spottable but not immediately obvious that a feature
lives entirely in features.in/FEATURE and every target it provides
is described in the corresponding config.mk; thanks dkr@ for asking.
2012-05-21 21:04:00 +03:00
Michael Shigorin
8cc8d5ff36 doc/variables.txt: tweak CHECK description
It wasn't exactly obvious that the actual image build
isn't started with CHECK=1.
2012-05-21 21:04:00 +03:00
Michael Shigorin
d190e6ef1c Makefile: include ~/.mkimage/profile.mk as well
It appears that while splitting off main.mk we've lost
the ability to pass e.g. ARCHES via custom configuration;
thanks dkr@ for spotting this.
2012-05-21 21:04:00 +03:00
Michael Shigorin
9414bde4f5 added sub.in/{main,stage2}/lib/.gitignore
Whoops, forgot to feed placeholders for git to grok
the empty directories that are needed later...
2012-05-21 21:04:00 +03:00
Michael Shigorin
dc93c137d9 docs: more hints on features
It wasn't articulated clearly enough that features are strictly
incremental (while variables can be overridden).
2012-05-21 21:04:00 +03:00
Michael Shigorin
88481ecc81 live-razorqt: lightdm tweaks
lightdm-1.1+ handling had to be corrected
regarding the separate greeters.
2012-05-21 21:03:08 +03:00
Michael Shigorin
a304469699 vm: tweak virtualbox modules
virtualbox-addition modules need drm (see also #27344).
2012-05-16 15:17:57 +03:00
Michael Shigorin
695648f8b4 lib/check.mk: catch missing READMEs for features
`make check' is a bit more convenient than relying on my head...
2012-05-16 13:48:12 +03:00
Michael Shigorin
c42d635b55 features.in/{kernel,vm}: added READMEs
Shame on me, these shouldn't get forgotten in the first place.
2012-05-16 13:47:30 +03:00
Michael Shigorin
03f99d9ff2 gear-store-tags 2012-05-14 21:37:32 +03:00
Michael Shigorin
a4836609d9 0.6.6-alt1
- build helpers refactored
- initial frontend support
2012-05-14 20:48:21 +03:00
Michael Shigorin
d1922af0dd initial frontend support 2012-05-14 20:48:21 +03:00
Michael Shigorin
9eae9d7b15 lib/distro.mk: tiny ISO info tweak
udisks seem to pass up META_VOL_ID;
let's make it a bit more informative.
2012-05-10 21:19:32 +03:00
Michael Shigorin
8be6c2383d citramon: use proprietary 3d drivers
nouveau just didn't work out on a GF7100 at hand
(while nvidia did fine) as well as on a MX440.

Need more real hardware testing though.
2012-05-10 21:18:02 +03:00
Michael Shigorin
e6aa4eccd9 use/installer/kms
Just like livecd-install, graphical installer KMS support
looks better as an optional part of install2 feature.

Of course it's optional only if the release manager is fine
with VESA drivers and not KMS-requiring intel/radeon/nouveau;
thanks led@ for a confirmation just in case.
2012-05-10 21:18:02 +03:00
Michael Shigorin
6b0e583843 live: factored out installation options
After having added metadata dependency livecd-install
started to look more like a feature than like an intermediate
distribution target; so things were shuffled a bit that way.
2012-05-10 21:18:02 +03:00
Michael Shigorin
c83cc111a6 initial kernel and metadata features
This further refines the modular build by making
metadata being a clearly separated feature rather
than having to rely on runtime tests, and also by
moving the code which cares for kernel bits of base
installation (.base list) in a feature of its own.

There's more to it but let's get the ball rolling first.
2012-05-10 21:18:02 +03:00
Michael Shigorin
90930184f3 gear-store-tags 2012-05-07 23:12:29 +03:00
37 changed files with 174 additions and 96 deletions

View File

@@ -1,5 +1,5 @@
Name: mkimage-profiles
Version: 0.6.5
Version: 0.6.8
Release: alt1
Summary: ALT Linux based distribution metaprofile
@@ -61,6 +61,16 @@ cp -a * %buildroot%mpdir
%doc README QUICKSTART
%changelog
* Mon May 28 2012 Michael Shigorin <mike@altlinux.org> 0.6.8-alt1
- minor bugfixes
* Mon May 21 2012 Michael Shigorin <mike@altlinux.org> 0.6.7-alt1
- docs updates
* 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

View File

@@ -1,6 +0,0 @@
object e10d55d0adfb991d4152794d01e6273fe21240b0
type commit
tag v0.6.4
tagger Michael Shigorin <mike@altlinux.org> 1335214381 +0300
simply better

View File

@@ -0,0 +1,6 @@
object 128fc9d44d3bd99c631a31ad8941f3370bf62f50
type commit
tag v0.6.7
tagger Michael Shigorin <mike@altlinux.org> 1337625023 +0300
docsies

View File

@@ -1 +1 @@
028d4ddb3f38f92ac39f3d0a7df072847d34336c v0.6.4
91bffd88341fa5c0516f7a663e8eb6f6235cbb2c v0.6.7

View File

@@ -2,6 +2,9 @@
# iterate over multiple goals/arches,
# collect proceedings
# preferences
-include $(HOME)/.mkimage/profiles.mk
# for immediate assignment
ifndef ARCHES
ifdef ARCH
@@ -23,7 +26,7 @@ endif
# recursive make considered useful for m-p
MAKE += -r --no-print-directory
DIRECT_TARGETS := clean distclean check help
DIRECT_TARGETS := clean distclean check help help/distro help/ve
.PHONY: $(DIRECT_TARGETS)
$(DIRECT_TARGETS):
@$(MAKE) -f main.mk $@

2
README
View File

@@ -43,7 +43,7 @@ Most docs are in Russian, welcome to learn it or ask for English.
+ базовые комплекты помещены в подкаталогах под sub.in/;
их наборы скриптов могут расширяться фичами
- фичи:
+ список собирается в $(FEATURES)
+ накопительный список собирается в $(FEATURES)
+ законченные блоки функциональности (или наборы таковых)
+ описываются в индивидуальных features.in/*/config.mk
+ могут требовать другие фичи, а также субпрофили

View File

@@ -7,7 +7,8 @@ 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
@$(call add,BASE_LISTS,$(call tags,(base || desktop) && network))
@$(call add,BASE_LISTS, \
$(call tags,(base || desktop) && (l10n || network)))
distro/icewm: distro/.desktop-network use/lowmem +icewm; @:
distro/tde: distro/.desktop-mini +tde; @:

View File

@@ -28,14 +28,11 @@ distro/live-builder: distro/.live-base use/dev/mkimage use/dev/repo
@$(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/.livecd-install: distro/.live-base use/syslinux/localboot.cfg
@$(call add,LIVE_PACKAGES,livecd-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; @:
distro/live-razorqt: distro/.live-desktop use/live/autologin +razorqt; @:
distro/live-tde: distro/.live-desktop use/live/ru +tde; @:
distro/live-rescue: distro/live-icewm
@@ -55,9 +52,10 @@ distro/live-flightgear: distro/live-icewm use/live/sound use/x11/3d-proprietary
@$(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
use/x11/cinnamon use/x11/3d-proprietary
distro/live-enlightenment: distro/.live-desktop use/live/autologin use/live/ru use/x11/3d-free
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

View File

@@ -1,8 +1,9 @@
фичи
~~~~
Особенности дистрибутива, не учитываемые в пакетной базе
или зависящие от переменных времени сборки/установки образа,
могут быть оформлены как:
или зависящие от переменных времени сборки/установки образа;
по необходимости влияют на конфигурацию, приносят с собой
или запрашивают скрипты, которые могут быть оформлены как:
* scripts.d/ или image-scripts.d/ различных стадий;
* пакеты installer-feature-*
@@ -27,3 +28,12 @@
Стоит избегать изменения пакетных умолчаний в случае, когда их
представляется осмысленным и возможным скорректировать в пакете:
таким образом они станут более дистрибутивными.
Обратите внимание, что фичи включаются в комплект инкрементально:
что добавили, то уже не убрать; поэтому при необходимости следует
выделять промежуточные цели сборки, собирающие необходимые фичи
и оставляющие те, по которым есть расхождения, на включение ближе
к конечной дистрибутивной цели.
Соглашение по именованию таково, что цели use/ФИЧА и use/ФИЧА/...
определяются в файле features.in/ФИЧА/config.mk и только в нём.

View File

@@ -39,7 +39,7 @@
+ см. ../lib/log.mk
- CHECK
+ включает режим проверки сборки конфигурации
+ включает режим проверки сборки конфигурации (без сборки образа)
+ значение: пусто (по умолчанию) либо любая строка
+ см. ../lib/build.mk

View File

@@ -16,36 +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); \
if [ -n "$$DOT_BASE" ]; then \
echo -e "\n## DOT_BASE\n$$DOT_BASE" >> $(call list,.base); \
fi
prep: $(GLOBAL_DEBUG) dot-disk $(WHATEVER) imagedir
#prep: $(GLOBAL_DEBUG) dot-disk metadata imagedir
dot-disk:
@mkdir -p files/.disk

View File

@@ -1,4 +1,5 @@
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)
@@ -8,6 +9,10 @@ use/install2: use/stage2 sub/stage2/install2 use/cleanup/installer
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)

View File

@@ -0,0 +1 @@
Эта фича привносит код, имеющий смысл при добавлении в образ ядра.

View File

@@ -0,0 +1,4 @@
###
use/kernel:
@$(call add_feature)
@$(call set,KFLAVOURS,std-def)

View 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))

View File

@@ -16,6 +16,14 @@ use/live/desktop: use/live/base use/x11/wacom use/live/sound +vmguest +power
@$(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

View File

@@ -0,0 +1,3 @@
Эта фича занимается метаданными в составе образов --
в первую очередь инсталяционных и пригодных к установке
"живых".

View File

@@ -0,0 +1,2 @@
use/metadata:
@$(call add_feature)

View 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

View File

@@ -1,15 +1,26 @@
#!/bin/sh -efu
# NB: /etc/initrd.mk carefully prepared by earlier scripts
kver="$(rpm -qa 'kernel-image*' --qf '%{installtime} %{version}-%{name}-%{release}\n' \
kver="$(rpm -qa 'kernel-image*' \
--qf '%{installtime} %{version}-%{name}-%{release}\n' \
| sort -n \
| tail -n 1 \
| cut -f 2 -d ' ' \
| sed 's/kernel-image-//')"
make-initrd --no-checks -k $kver \
&& gzip < /boot/initrd-$kver.img > $(getconf LIBDIR)/propagator/initfs \
|| exit 1
MAKE_INITRD_OPTS="--no-checks -k $kver"
MAKE_INITRD_VER="`make-initrd -V \
| sed -rn 's/^make-initrd version ([0-9.]+)/\1/p'`"
if [ "`rpmvercmp "$MAKE_INITRD_VER" "0.7.8"`" != "-1" ]; then
MAKE_INITRD_OPTS="$MAKE_INITRD_OPTS --no-depmod"
fi
if make-initrd $MAKE_INITRD_OPTS; then
gzip < /boot/initrd-$kver.img > $(getconf LIBDIR)/propagator/initfs
else
exit 1
fi
[ -h /boot/vmlinuz ] || ln -s vmlinuz-$kver /boot/vmlinuz
[ -h /boot/initrd.img ] || ln -s initrd-$kver.img /boot/initrd.img

2
features.in/vm/README Normal file
View File

@@ -0,0 +1,2 @@
Эта фича предназначена для конфигурирования поддержки
виртуальных машин; в данный момент со стороны гостевой ОС.

View File

@@ -2,7 +2,7 @@
use/vm/virtualbox/guest:
@$(call add_feature)
@$(call add,THE_KMODULES,virtualbox-addition)
@$(call add,THE_KMODULES,virtualbox-addition drm)
@$(call add,THE_PACKAGES,virtualbox-guest-additions)
# NB: only reasonable for X11-bearing images

View File

@@ -1,5 +1,5 @@
+icewm: use/x11/icewm; @:
+razorqt: use/x11/razorqt use/x11/lightdm; @:
+razorqt: use/x11/razorqt use/x11/lightdm/qt; @:
+tde: use/x11/tde use/x11/kdm; @:
use/x11/xorg:
@@ -30,8 +30,8 @@ use/x11/xdm: use/x11/runlevel5
@$(call add,THE_PACKAGES,xdm installer-feature-no-xconsole)
### : some set()-like thing might be better?
use/x11/lightdm: use/x11/runlevel5
@$(call add,THE_PACKAGES,lightdm)
use/x11/lightdm/qt use/x11/lightdm/gtk: use/x11/lightdm/%: use/x11/runlevel5
@$(call add,THE_PACKAGES,lightdm-$*-greeter)
use/x11/kdm: use/x11/runlevel5
@$(call add,THE_PACKAGES,kdebase-kdm)

View File

@@ -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)))

View File

@@ -9,3 +9,9 @@ check:
| while read line; do \
echo "chmod 755 $$line"; \
done
@find features.in -maxdepth 1 -type d \
| while read dir; do \
if [ ! -s "$$dir/README" ]; then \
echo "$$dir: missing README"; \
fi; \
done

View File

@@ -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 \

View File

@@ -7,10 +7,17 @@ BUILD_LOG = build.log
SYMLINK = build
# brevity postprocessor; not exported, for toplevel use only
SHORTEN = $(shell \
echo -n "| sed"; \
SHORTEN = $(shell FILTER=; \
if [ -s "$(SYMLINK)" ]; then \
echo -n " -e 's,$(BUILDDIR),$(SYMLINK),'"; \
FILTER=" -e 's,$(BUILDDIR),$(SYMLINK),'"; \
fi; \
if [ -n "$$TMP" ]; then \
FILTER="$$FILTER -e 's,$$TMP,\$$TMP,'"; \
fi; \
if [ -n "$$HOME" ]; then \
FILTER="$$FILTER -e 's,$$HOME,~,'"; \
fi; \
if [ -n "$$FILTER" ]; then \
echo -n "| sed $$FILTER"; \
fi; \
echo -n " -e 's,$(TMP),\$$TMP,' -e 's,$(HOME),~,'"; \
)

View File

@@ -23,18 +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/install2/kvm \
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; @:

View File

@@ -1,8 +1,20 @@
# 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:'; \
columnize $(sort $(DISTROS:distro/%=%))
$(call help,distribution,$(sort $(DISTROS:distro/%=%)))
help/ve:
@echo '** available virtual environment targets:'; \

View File

@@ -18,13 +18,6 @@ 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 \
@@ -47,23 +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)
# BASE_PACKAGES, BASE_LISTS and whatever else goes into base install
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)

0
sub.in/main/lib/.gitignore vendored Normal file
View File

0
sub.in/stage2/lib/.gitignore vendored Normal file
View File