1. 24 Sep, 2012 1 commit
  2. 30 Jul, 2012 1 commit
    • Michael Shigorin's avatar
      lib/clean.mk: post-build cleanup revisited · 3a8af6b5
      Michael Shigorin authored
      The prerequisites for a cleanup after a successful build
      were somewhat weird at this point; now the rules are:
      - if DEBUG level is more than 1 or CHECK is set, don't do it;
      - otherwise if at least one of the following conditions is true:
        + there's more than one target being built in a row;
        + the build was run by e.g. alterator-mkimage;
        + metaprofile directory is read only
        ...then do a distclean.
      
      If these are still weird or feel unsuitable for profile hacking,
      drop me a note (or a patch).
      3a8af6b5
  3. 14 May, 2012 1 commit
  4. 19 Mar, 2012 1 commit
  5. 02 Jan, 2012 2 commits
    • Michael Shigorin's avatar
      main.mk introduced, lib/*.mk partially rewritten · 2f307fff
      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...
      2f307fff
    • Michael Shigorin's avatar
      lib/{clean,profile}.mk: robustness improvements · 3d2f69f1
      Michael Shigorin authored
      First, let's not do rsync --delete on an unverified target dir
      again: the lesson was learned during a subway hacking session
      and I must say that SSDs are frightening fast (even if it was
      more than a second to realize what happens and terminate the
      extermination before it got /home, thanks xterm).
      
      Second, let's use a variable for common name and make's own
      realpath function instead of external binary.
      3d2f69f1
  6. 07 Nov, 2011 1 commit
    • Michael Shigorin's avatar
      CLEAN by default (unless DEBUG) · ab70588f
      Michael Shigorin authored
      CLEAN is so useful and fiddling with .work chroots does
      demand knowledge (hsh-shell is handy btw); so unless we
      really get our hands dirty, let's spare ours preciouss
      tmpfss.
      ab70588f
  7. 06 Nov, 2011 2 commits
    • Michael Shigorin's avatar
      toplevel build report now timestamped · 30b1aa9b
      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.
      30b1aa9b
    • Michael Shigorin's avatar
      live-builder distro: your self-hosted livecd · 83392012
      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)
      83392012
  8. 04 Nov, 2011 5 commits
    • Michael Shigorin's avatar
      official {distro,ve}/* support · d5a5941f
      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)
      d5a5941f
    • Michael Shigorin's avatar
      clean.mk and friends: introduced CLEAN control variable · 878abab5
      Michael Shigorin authored
      make CLEAN=1 will prune workdirs after packing their results,
      so disk (or preferably tmpfs) usage will be lower
      878abab5
    • Michael Shigorin's avatar
      .base rehashed, DISK_LISTS renamed, etc · 5f881522
      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
      5f881522
    • Michael Shigorin's avatar
      server-ovz; KDEFAULT; syslinux features reworked · 3f012958
      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).
      3f012958
    • Michael Shigorin's avatar
      initial logging subsystem · d93989a3
      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
      d93989a3
  9. 03 Nov, 2011 8 commits
    • Michael Shigorin's avatar
      features' day · c8b578dd
      Michael Shigorin authored
      - get rid of $dest
      - work on features.in/syslinux
      - README++
      c8b578dd
    • Michael Shigorin's avatar
      drop the dummy configure · 4cb23d7c
      Michael Shigorin authored
      It wasn't serving any good by now...
      README++ and cleanups all over the place
      4cb23d7c
    • Michael Shigorin's avatar
      distro.mk: functionalization · 9a8f8ef7
      Michael Shigorin authored
      - set(), add(), log()
        + special thanks to rider@ for log format feedback
      - simple debug facility
      - builds, installs and runs... again
      9a8f8ef7
    • Michael Shigorin's avatar
      syslinux and features · c91a2a09
      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
      c91a2a09
    • Michael Shigorin's avatar
      r/o profile build · 2cc81b7e
      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.
      2cc81b7e
    • Michael Shigorin's avatar
      --as-needed for pkg/lists · d920c990
      Michael Shigorin authored
      As not every package list is useful for every distro,
      only the needed lists should be copied for a particular one.
      d920c990
    • Michael Shigorin's avatar
      working installer iso image · d91a3564
      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)
      d91a3564
    • Michael Shigorin's avatar
      it forks! · 8dc5159e
      Michael Shigorin authored
      Initial profile lacking any real stuff but presenting the idea;
      autoconf-based like m-p-d.
      8dc5159e