- 03 Jun, 2015 1 commit
-
-
Michael Shigorin authored
`make help/distro' would yield a needless complaint that's been suppressed for `make help' already... Fixes: f1479275
-
- 09 Apr, 2015 1 commit
-
-
Michael Shigorin authored
e.g., `make distro/icewm' instead of `make distro/icewm.iso' would be "successful" as there's a corresponding target indeed but the "success" would just mean building the configuration without running the actual build. Thanks cas@ for hitting this issue and reporting it. PS: note that the initial flagless implementation turned out to produce false positives for e.g. `make distclean'.
-
- 20 Jun, 2013 1 commit
-
-
Michael Shigorin authored
The issue with the original hasty code that stuck around was that it bluntly ignored any ifdef/ifeq constructs due to an obvious reason of being essentially a grep, not a makefile interpreter. It's now fixed so that e.g. arch-specific targets won't pop up for no good reason. Thanks ldv@ for discussion and a reminder about the dump mode (make -p).
-
- 17 Jun, 2013 1 commit
-
-
Michael Shigorin authored
I've finally moved away from LC_MESSAGES=C on my main development system half a year ago and finally spotted that a grep for "Stop\.$" stopped to yield anything now.
-
- 04 Feb, 2013 1 commit
-
-
Michael Shigorin authored
It appears that manually specified IMAGEDIR, e.g. by adding IMAGEDIR = ~/out/$(shell date +%Y%m%d) to ~/.mkimage/profiles.mk, might be problematic due to missing globbing. Let's make sure the paths are globbed and directories are created -- since make's wildcard() returns an empty string when there's nothing there [yet].
-
- 03 Dec, 2012 1 commit
-
-
Michael Shigorin authored
The problem manifests itself when the naive parser ignores any conditions that might have been set in the makefiles included with subsequent attempt to run a target which has its actual rule defined within e.g. "ifdef DEBUG" clause (as is the case for conf.d/test.mk); that will fail with no proper diagnostics currently. Maybe this would be of some use (but then again maybe not): http://stackoverflow.com/questions/3063507/list-goals-targets-in-gnu-make
-
- 10 Oct, 2012 1 commit
-
-
Michael Shigorin authored
The issue actually hit image.in/Makefile: "metadata" target in features.in/metadata/lib/50-metadata.mk wasn't reached even if features.in/build-distro/lib/90-build-distro.mk would ACK that the "whatever" actions included "metadata"; thus Metadata/pkg-groups.tar wasn't created and the installer silently failed to install the .base system. Let's armour the rest of the cases where the order of inclusion might be important as well.
-
- 18 Jul, 2012 1 commit
-
-
Michael Shigorin authored
The problem was spotted by Alexander Bandura: bin/tar2vm wasn't present in the generated profile. I considered extending features.in/Makefile to include bin/ alongside lib/ but that would make the helper's location unpredictable (unless BUILDDIR is specified explicitly) so restricting sudoers would be harder; worse yet, the copied file would come with write access for the user building an image. The implications in restricted case are complex enough anyways so the recommended implementation would only include a fixed readonly location like /usr/share/mkimage-profiles/bin/tar2vm as laid out in doc/vm.txt, and that means it's in the metaprofile not a generated profile.
-
- 18 Jun, 2012 1 commit
-
-
Michael Shigorin authored
Yes, mkimage-profiles is now able to build VM disk images. So far the support is pretty basic: - a single hard drive image with a single partition/FS - only stock root password is configurable - LILO is hardwired as a bootloader The resulting images tend to boot under qemu/kvm though. Please see doc/vm.txt for the warning regarding additional privileges and setup required. This was started back in February but I still hoped to avoid sudo/privileged helper (and libguestfs is almost as undistributable as can be)... Thanks: - http://blog.quinthar.com/2008/07/building-1gb-bootable-qemu-image-using.html - Alexey Morarash who reworked that as https://github.com/tuxofil/linsygen - led@, legion@, vitty@, aen@ for providing advice and inspiration
-
- 07 Apr, 2012 1 commit
-
-
Michael Shigorin authored
bin/ prefix tried to become a permatemp(tm). No way.
-
- 19 Mar, 2012 1 commit
-
-
Michael Shigorin authored
These are better off in their own lib/help.mk
-
- 16 Jan, 2012 1 commit
-
-
Michael Shigorin authored
There was a somewhat subtle Makefile->main.mk rename leftover lurking in "everything" target: the default Makefile got used, not the supposed main.mk -- which resulted in an attempt to get way too much job done (the number of builds per target became $ARCH squared, not just $ARCH). Huge thanks to led@ for being an inspiring pedantic!
-
- 02 Jan, 2012 1 commit
-
-
Michael Shigorin authored
The former toplevel Makefile is now toplevel main.mk; this change allows for multi-target, multi-arch processing in the current toplevel Makefile. As the "build" symlink semantics change quite considerably when one is doing bulk builds (several pruned builddirs might be useful for comparison), BUILDDIR is now much more likely to be recreated: the cases when it will persist are when it's either a single-image build or when the prefix hasn't changed. There are some more or less subtle bugfixes and enhancements all over the map as well. Done within 20111230..20120102 timeframe, actually...
-
- 02 Dec, 2011 1 commit
-
-
Michael Shigorin authored
distro/live-builder target used to employ a few duplicated packages that might make it to a list but as the list would have only a single user so far these were moved to a target- specific variable (hm, weird but "private" modifier broke).
-
- 24 Nov, 2011 2 commits
-
-
Michael Shigorin authored
Actually this is the proper rewrite that was looming ever since tgz support was introduced: there are multiple archive formats supported by mkimage, and there are multiple compression methods available as well. So the bullet got bitten yet again along with the "goal parser" which should be more straightforward by now. Thanks dkr@ and mithraen@ for the inspiration of this evening.
-
Michael Shigorin authored
Partially reverts "Makefile: presume a distro by default" commit: plain `make' should better help the user to decide the target rather than rush to build them all upon her.
-
- 21 Nov, 2011 1 commit
-
-
Michael Shigorin authored
When ve/ support was introduced, a simple "make icewm.iso" had to turn into the more elaborate "make distro/icewm.iso". This latter one involves several keystrokes more, which is not even (environ)mentally friendly. This was supposed to get fixed somewhere down the road with a fallback but the elegance of IMAGE_* setup waterfall barred me from tweaking IMAGE_TARGET at once (and the downstream fixup would imply re-tweaking the consequent variables as well which is blatantly anti-mkimage-profilic being a brute fork). OTOH testing for a "directory" part of the goal is going to either deadlock on IMAGE_CLASS or duplicate its assignment. So now when I've had enough typing an extra "distro/", I'm going to just bite the bullet and tweak IMAGE_TARGET with a test duplicating IMAGE_CLASS assignment indeed (testing for e.g. "/" results in a different test, which would be worse yet). Please suggest a more elegant solution if you invent one!
-
- 06 Nov, 2011 2 commits
-
-
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
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.
-
- 04 Nov, 2011 11 commits
-
-
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
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
$(IMAGES) in prerequisites definitely won't work, so let's do it straightforward.
-
Michael Shigorin authored
It turned out that ~/out masked the broken execution path when it's absent (which was handled incompletely). Sigh.
-
Michael Shigorin authored
In particular: - .base is now generated from pieces (see image.in/Makefile) - s/DISTROS/IMAGES/g; s/CONFIGS/DISTROS/g (for clarity) - s/DISK_LISTS/MAIN_LISTS/g ("disk" was early m-p-d legacy) - introduced BASE_PACKAGES to complement BASE_LISTS - minor tweaks to Makefile (ARCH and DATE moved elsewhere) - libdistro.mk: dropped overlooked IMAGE_INIT_LIST copy - clean.mk: silly cleanup
-
Michael Shigorin authored
reword 'em, structurize 'em, facelift 'em too
-
Michael Shigorin authored
- image.in/functions.mk: rework kpackage() + it takes two arguments explicitly now: this adds some noise for "generic" invocations but is rather less messy with recently introduced STAGE1_KFLAVOUR (which in its turn is rather cleaner than messing with KFLAVOURS, especially since soemthing changed in presumably apt and we can't rely on kernel packages being installed in the order formed). - BUILDDIR/DEBUG related fixes + Makefile: BUILDDIR initialization moved to distro.mk - build.log += git info
-
Michael Shigorin authored
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).
-
Michael Shigorin authored
Now we don't dump all the gory details onto thee but rather log them handsomely and present only the most important details by default; use DEBUG=1 and/or BUILDLOG=/path/to/file to tweak. Also introduced IMAGEDIR and IMAGENAME. The rest: - ovz-smp is no more - base-l10n pkglist (suggested by Alexander Kuprin) - clean.mk: + fixed an oversight: the test result erroneously applied only to the first command of several ones that should be run iff build/ is a symlink + drop implicit rules (it's no C code) - Makefile: more reasonable iso names - image.in/Makefile: .disk/date too
-
Michael Shigorin authored
- more thorough build stages inline doc - quieter BUILDDIR instantiation - branding-altlinux-sisyphus by default - prettify installer selection somewhat - mkimage #24669 fixed upstream - sub.in/stage1/modules: +drm (as in m-p-d, for KMS) - tags2lists: generalize a bit
-
Michael Shigorin authored
A major change in approach largely thanks to discussions with Alexey Cheusov but also well aligned with my own findings: autoconf doesn't let the variables to form an inheritance. And data flow described at http://www.altlinux.org/WhiteLabel (which in its turn was born thanks to Gavin Henrick of Diva Telecom and to Alexander Bokovoy of SaM-Solutions) is really dependent on the existence of such an inheritance. Also: - distro.mk += try() - "hide" special targets - fixed wrt distro/.{base,init,metaconf}, thx gns@ - README updates + added metaconf.mk + clarifications - updated pci.ids location for hdt
-
- 03 Nov, 2011 7 commits
-
-
Michael Shigorin authored
Also included: - reworked syslinux feature inclusion - syslinux: s/textprompt/prompt/ - README++
-
Michael Shigorin authored
- get rid of $dest - work on features.in/syslinux - README++
-
Michael Shigorin authored
- set(), add(), log() + special thanks to rider@ for log format feedback - simple debug facility - builds, installs and runs... again
-
Michael Shigorin authored
- syslinux: menu.c32 works - features: initial draft + memtest - mv pkg/ pkg.in/ + server-base: include openssh-blacklist by default - mv isodata/ copy/ - README: changed to utf8, added an URL
-
Michael Shigorin authored
Building m-p-d stuff in-tree was plagued by accidental generated file commits, and it wasn't nice at all anyways.
-
Michael Shigorin authored
- s/stage2/install2/g - added pkg/lists - initial README (ru_RU.KOI8-R) - mkimage topdir is in image.in/, really (off-tree build) + initial bin/mktmpdir + BUILDDIR (works) - s/cd/iso/ - drop --with-distro (considered harmful)
-
Michael Shigorin authored
Initial profile lacking any real stuff but presenting the idea; autoconf-based like m-p-d.
-
- 23 Aug, 2010 1 commit
-
-
Michael Shigorin authored
Distributions should not reiterate on building block lists: similar ones should inherit good features (and development) from the basic up to the more sophisticated ones, like seen at http://www.altlinux.org/WhiteLabel
-