2010-12-03 17:53:02 +03:00
# step 3: copy the needed features to $(BUILDDIR)
# (only regarding the needed subprofiles)
2011-06-12 19:06:36 +04:00
i f n d e f B U I L D D I R
$( error BUILDDIR not defined )
e n d i f
2011-08-22 20:29:22 +04:00
i n c l u d e $( BUILDDIR ) / d i s t c f g . m k
2010-09-14 14:18:53 +04:00
2011-08-22 20:29:22 +04:00
# first rsync what's static, and make backups (*~) --
2010-09-14 14:18:53 +04:00
# these might signal of file clashes (or plain dirt);
# then handle two more ways of implementing a feature
2011-09-11 17:08:31 +04:00
# NB: some subprofiles will be specified as "src/dst"
# (then both src/ and dst/ can hold the addons)
2010-09-09 13:50:29 +04:00
all :
2010-09-14 14:18:53 +04:00
@echo "** starting feature configuration"
2011-09-11 17:08:31 +04:00
@if [ -n " $( GLOBAL_DEBUG) " ] ; then \
echo " ** target subprofiles: $( SUBPROFILES) " ; \
2011-08-22 20:29:22 +04:00
echo " ** requested features: $( FEATURES) " ; \
fi
server-ovz; KDEFAULT; syslinux features reworked
Renamed server-light.iso into server-ovz.iso to avoid brand dilution
and confusion (rider@'s server-light rather favours kvm, anyways).
Introduced KDEFAULT: a reliable default kernel chooser knob
since apt's regex ordering proved pretty unreliable.
Spelling things explicitly is better anyways.
SYSLINUX related features undergone pretty major rewrite
(that includes syslinux, hdt and memtest).
The problem to tackle was features.in/syslinux/generate.mk
assuming syslinux and pciids available in build *host* system;
this well might not be the case (or worse yet, those can be
just different). So now we're a bit less elegant and a bit
more enterprise, stuffing things into chroot and working there.
Bunch of other fixes along the road, including ; to name a few:
- fixed memtest entry (overlooked while renaming SYSLINUX_ITEMS)
- new and shiny doc/CodingStyle
- gfxboot, stage1 target chain, hdt tweaks
- distro.mk rehashed
- README++
- TODO: dropped (integer overflow anyways)
+ actually moved off-tree to reduce commit spam
- s,\.config\.mk,distcfg.mk,g
- doc/profiles.mk.sample: sample ~/.mkimage/profiles.mk
- ...and assorted fixups/additions
Sorry for convoluted commit, this would have been pretty hard to
rework into some really readable shape (and you might be interested
in the original repo's history horrors then, anyways).
2011-05-31 02:05:33 +04:00
@for dir in $( FEATURES) ; do \
2011-09-11 17:08:31 +04:00
pushd " $$ dir " && \
2010-09-09 13:50:29 +04:00
for sub in $( SUBPROFILES) ; do \
2011-09-11 17:08:31 +04:00
src = " $$ {sub%/*}/ " ; \
dst = " $$ {sub#*/}/ " ; \
if [ -d " $$ src/ " ] ; then rsync -qab " $$ src " " $( BUILDDIR) / $$ dst/ " ; fi ; \
if [ -d " $$ dst/ " ] ; then rsync -qab " $$ dst " " $( BUILDDIR) / $$ dst/ " ; fi ; \
type -t git >& /dev/null && \
pushd " $( BUILDDIR) / $$ dst/ " && \
git add . && \
git commit -qam " $$ dir feature ( $$ sub subprofile part) " || :; \
popd; \
2010-09-09 13:50:29 +04:00
done ; \
2011-08-22 22:37:21 +04:00
for scripts in scripts.d image-scripts.d; do \
2011-09-11 17:08:31 +04:00
if [ -d " $( BUILDDIR) / $$ scripts " -a -d " $$ scripts " ] ; then \
if rsync -qab " $$ scripts/ " " $( BUILDDIR) / $$ scripts/ " ; then \
2011-08-22 22:37:21 +04:00
type -t git >& /dev/null && \
pushd " $( BUILDDIR) / $$ scripts/ " && \
git add . && \
git commit -qam " $$ dir feature (toplevel $$ scripts) " || :; \
popd; \
fi ; \
fi ; \
done ; \
2011-09-11 17:08:31 +04:00
if [ -x "generate.sh" ] ; then sh generate.sh; fi ; \
if [ -s "generate.mk" ] ; then $( MAKE) -f generate.mk; fi ; \
2011-08-22 20:29:22 +04:00
type -t git >& /dev/null && \
pushd " $( BUILDDIR) / " && \
git add . && \
git commit -qam " $$ dir feature generation complete " || :; \
popd; \
2011-09-11 17:08:31 +04:00
popd; \
2010-09-14 09:44:35 +04:00
done
2011-08-22 20:29:22 +04:00
@find " $( BUILDDIR) / " -name '*~' \
| sed " s, $( BUILDDIR) /,** warning: file clash: , " >& 2
2010-09-18 18:46:32 +04:00
2011-08-22 20:29:22 +04:00
# FIXME: drop or fix regarding undefined BUILDDIR being ok
#help:
# @echo "** available features:"
# @grep -h '^use/' */config.mk | fmt -sw"$$((COLUMNS>>1))" | column -t