- 06 Nov, 2011 12 commits
-
-
Michael Shigorin authored
- toplevel README received some long-needed refactoring + lowlevel detail moved, well, to lowlevel READMEs - reflected more thoroughly that m-p is not about distros anymore - dropped features.in/00example/README.en: it's already out-of-date a bit, and there's no perceived need in thorough English docs so far - wiki article got split into parts and somewhat rewritten, links updated - mv doc/{CodingStyle,style.txt}
-
Michael Shigorin authored
This only deals with console output (a text livecd doesn't ask the user regarding the preferred language so far). Refer to these discussions if needed: https://bugzilla.altlinux.org/show_bug.cgi?id=25225 https://lists.altlinux.org/pipermail/devel-conf/2005-August/001785.html
-
Michael Shigorin authored
The bigger goal was being able to set up build in a way that would allow for images (with configs and logs) be deposited in per-IMAGE_NAME subdirectories of IMAGEDIR; that's not done yet but a part of it is ready. NB: in BUILDDIR, symlinking the just-built image is now replaced with symlinking the IMAGEDIR since its location is then predictable thus .gitignore-able for further work on a generated profile, and more documentable as well. It's not a hard change though, if you miss the image link just drop me a note (or a commit).
-
Michael Shigorin authored
Essentially some more polishing: - image path extracted from downstream build log; - extended error/warning regexp a bit so those with color grep options get even prettier output. Notes: - "1024" a magic number (briefly explained when introduced) moved to a sort of variable; - "100 lines" for tail(1) is a rule-of-thumb taking into account typical amount of hasher/mkimage exhaust given GLOBAL_VERBOSE.
-
Michael Shigorin authored
Preferences might be somewhat interesting too: while the official ones shouldn't influence the build result at all, there's no whitelist so all kinds of weirdness can be stuffed into local config in principle. That should be diagnosable at least.
-
Michael Shigorin authored
This one regulates the build wrapper: if the value is non-empty then nice(1) and ionice(1) will be attempted so that the build behaves better in regard to other tasks running on the system. A few doc/variables.txt updates along the way.
-
Michael Shigorin authored
Back then I didn't come up with anything smarter than "mkimage-profiles 2.0" (with my tongue in a cheek), but as m-p has grown up to 0.4 it's time to fix this. When done properly, all of the string should be brandable (with some sane default value inheriting from image name), but let's do it at least bit by bit.
-
Michael Shigorin authored
Thanks torabora@ for yet again seemingly obvious feature request which strangely managed to evade implementation before. On an afterthought, mass builds would suggest too much coffee instead of a progress indicator -- so implemented the latter. NB: the actual downstream-make-calling rule would expand the "naive" $(shell date) too early: the rule is evaluated before starting its execution, and as it's the time consuming one the shell evaluation was in need, not make's. The result is less generally available (needs to be double quoted and won't work inside e.g. awk programs) but way more precise.
-
Michael Shigorin authored
The seemingly obvious feature was proposed by torabora@. APTCONF complicates things a bit of course... (and was slightly kludgy btw; fixed)
-
Michael Shigorin authored
Also added to the live-builder ISO which is now self-hosted (sans full repo): one can build an image capable of rebuilding itself (which is not that useful) and of building other goodies on some temporarily unused RAM-filled hardware (which is the goal).
-
Michael Shigorin authored
If you make distro/live-builder.iso, the result is an image containing almost everything (short of actual full enough repository) to rebuild itself. It will attempt to configure eth0 with DHCP and reach http://ftp.altlinux.org for packages. RAM requirements start with 2Gb, self-build is accomplished on a 4Gb host with "make CLEAN=1 distro/live-builder.iso". Packages required for "make distro/syslinux.iso" get included. (some due fixups all over the place too)
-
Michael Shigorin authored
With not-that-recent mkimage-profiles development, it's no longer apparent that at least a gigabyte of free space is required to build something useful (at least for the tests, like syslinux.iso). In short, the guesser cutoff margin is now 256M.
-
- 04 Nov, 2011 28 commits
-
-
Michael Shigorin authored
Unfortunately apt configuration is not straightforward at all regarding being overridden: one can't just provide sources.list but needs a corresponding apt.conf along with it, and that apt.conf must disable the SysV-style snippet directories to avoid interesting side effects of all the things getting overlaid. So it's not surprising that torabora has asked for an example... (thanks go to boyarsh@ since I asked him for an example long ago)
-
Michael Shigorin authored
Implemented opportunistic alarm support as proposed by torabora; the actual result depends on readline and/or terminal settings (read up on "visual bell" vs "audible bell" in case it's wrong). TODO: this ought to be shifted downstream when proper logging framework is there.
-
Michael Shigorin authored
This was asked for by Leo-sp50 and torabora, and seems quite reasonable: let's provide means to keep at least some distribution configurations a bit apart, so that these can be considered more standalone in terms of hard warranted functionality but at the same time enjoying the common infrastructure. Considering lib/distro.mk: it's now experimentally pulled apart so that parallel development of different distro families can go on without major merge hassles. *Please* don't abuse with massive copy-paste. And before you ask: this might get extended to allow for "private" out-of-tree configurations being included since apparently there are goals with no meaning outside of some very particular context... but otherwise I'd like to encourage getting reusable bits in-tree.
-
Michael Shigorin authored
Employed double colon targets to eliminate warning: ignoring old commands for target `debug'
-
Michael Shigorin authored
The same change as in m-p-d f1c5dd0 (discussed in #22486). Seems it wasn't the culprit regarding the "BIOS won't boot off this DVD" but is also recommended in README.gfxboot.
-
Michael Shigorin authored
Borrowed from wmsmall iso by kostyalamer@.
-
Michael Shigorin authored
src/dst tags might have been empty confusing tags2lists; the current implementation is more robust (along with slightly better debug within bin/tags2lists itself). pushd/popd spam tamed too (replaced by nice log messages).
-
Michael Shigorin authored
...and create a symlink to a just-built image from builddir too.
-
Michael Shigorin authored
If the build is (re-)run withing generated profile directory, the makefiles no longer have ARCH passed by upstream -- the upstream might be unreachable at that point indeed. This is unfortunate but we should cope with that. NB: might be revisited when architecture-specific packagelists emerge since currently there's no difference in package lists so we can just re-run the build for a different architecture but this might change...
-
Michael Shigorin authored
Typical (to-be-refactored when having settled down) "cd/git .../cd -" sequences are tweaked to safeguard against changing back without having actually changed to, just in case. features.in/Makefile left with pushd/popd due to its three-level diving course (which somewhat asks to be refactores in functions either but is intrinsically somewhat complex OTOH).
-
Michael Shigorin authored
This is quite a large-scale change since mkimage-profiles got used to baking distributions over the last year, and virtual environments are quite different, so e.g. image.in/Makefile had to be split in two with the main part of it moved into features.in/iso/lib/. Short overview: - features.in/Makefile: lib/ support (supporting VE images requires dynamic modifications to image.in/Makefile before starting the build; the most natural way to achieve that seems to use features mechanism along with makefile include dir) - packaging format related part moved into features.in/pack (should be better prepared for diversity either) - features.in/iso renamed to features.in/build-distro - features.in/ve renamed to features.in/build-ve + NB: these could not be merged as e.g. features.in/build due to completely different script hooks - lib/image.mk renamed to lib/build.mk - image, config, log postprocessing moved downstream - added a sort of a topping in the form of lib/sugar.mk - assorted style fixups (like ifeq usage) - clean.mk: reliability fix (the problem was observed by Oleg Ivanov and me too but finally it did get the attention quantum) - reviewed, updated and extended docs + QUICKSTART: should be[come] a step-by-step guide (thanks Leo-sp50 for prodiving feedback)
-
Michael Shigorin authored
install2 cleanups: - functionally indifferent ones: particularly, install2/*/98system's "mkdir -p /image" was superfluous as it was done by that time already by sub.in/stage2/image-scripts.d/00stage1 - taken apart, prepared for tags: so far it's a mostly moot change since the installer cleanup scripts themselves are mostly the same as preceding 90cleanup was (with some additions corresponding to recent kernel development); it's still unclear what the mechanism for configuring the cleanups in effect will be, either directory/package regex lists or tagged scripts excluded from execution by yet another tag fixes: - image.in/Makefile: fix metadata related test; the actual test was assuming that stage1 kernel means installer, which is not the case since generic stage2 introduction; oh well - 85cleanup-lowmem: a "_" too much was the culprit in destroying the needed translations along with those deemed superfluous; thanks go to Oleg Ivanov and Lenar Shakirov for finding the bug and proposing the fix altogether additions: - features.in/Makefile: reworked help target; it was rather inaccessible due to BUILDDIR normally undefined at the time of direct make invocation, and BUILDDIR is normally defined during normal builds anyways so let's try it this way. - README++ daydreams: - 01-genbasedir: we should drop bzip2 compressed pkglists some day but see genbasedir and apt-cdrom first, 90-pkg.sh (alterator-pkg) will fail miserably otherwise
-
Michael Shigorin authored
Just in case the build.log will be inobvious, and it's easy to diagnose automatically. Thanks Andrey Stroganov for this use case. Thanks for improving the initial implementation go to raorn@ for kind commit lynch and to Yuri Bushmelev for actually suggesting something more concise. BTW the "1024" magic number was taken out of thin air: the "no free space" errors are most likely to happen while forming/populating a chroot (apt/rpm errors out) and chroots are roughly two orders of magnitude heftier than a megabyte.
-
Michael Shigorin authored
"echo ... | xargs cp -t" is a bit more complicated compared to plain "copy ..."
-
Michael Shigorin authored
The extra tag to filter on was omitted while moving the code from features.in/cleanup/generate.mk into the more generic features.in/Makefile; fixed. Auto-added tags will definitely see an overhaul when it's more clear what can be done with them.
-
Michael Shigorin authored
The reason not to add server cleanup right into distro/server-base is the possibility to build combined installers (read centaurus). Gotta sort it out some day...
-
Michael Shigorin authored
Applying set() and only set() to a GLOBAL_* is safe but still a potentially confusing example; so let's just do it right (and warn unsuspecting folks too).
-
Michael Shigorin authored
This was done while debugging GLOBAL_CLEANUP_PACKAGES getting doubled... as it got no hard initial value but rather was always added to, it appeared that at least stage2/Makefile would obtain a once-initialized value from upstream and double it while including distcfg.mk itself. It's way less hassle to just proxy the value once.
-
Michael Shigorin authored
This is a sort of anti-feature which removes and not builds; still with mkimage-profiles' approach we can at least build up the removal procedures as well. It's what triggered the tagged scripts, BTW.
-
Michael Shigorin authored
From now on a feature can contain this tree: . +- scripts.d/ +- image-scripts.d/ `- tagged/ +- scripts.d/ `- image-scripts.d/ ...per subprofile part or in its root -- the latter one gets merged into toplevel directory responsible for the final image build. NB: autoselected tags include only subprofile names (or both parts, for complex subprofiles) -- this is highly prone to change yet!
-
Michael Shigorin authored
Mostly needed for tags2lists at the moment; note that PATH is exported for make recipes but has no effect on make functions.
-
Michael Shigorin authored
$(IMAGES) in prerequisites definitely won't work, so let's do it straightforward.
-
Michael Shigorin authored
The docs would be purged anyways, let's not install them either.
-
Michael Shigorin authored
Somewhat more uniform style and a few additional bits.
-
Michael Shigorin authored
Introduced support for hooks to be added to every derivative substage of a "base" stage (think stage2/*). Specific hooks for e.g. stage2/live would live in features.in/*/live/*scripts.d/ while generic for stage2/* in features.in/*/stage2/*scripts.d/
-
Michael Shigorin authored
(these *really* should be added atomically with the changes!)
-
Michael Shigorin authored
This was tackled before but it took raorn@'s hint regarding sys-freedos-linux (ms-sys has no bootsectors compatible with freedos currently) and gns@' quick rush at make-freedos-floppy script to wrap things up. Should be further developed to become actually useful though.
-
Michael Shigorin authored
wm-select should only be needed when multiple window managers are available.
-