1. 29 Jan, 2017 1 commit
    • Michael Shigorin's avatar
      check-recipe: generalize dependency control · a2897267
      Michael Shigorin authored
      An initial (and quite naive) implementation was done
      for conf.d/ files but features do need it as well --
      which became obvious during a casual inspection of
      distro/alt-workstation's target graph (which occured
      broken).
      
      The code is a messy hackery unfortunately, regexes used
      are fragile regarding e.g. [A-Z_] in target names.
      Read with care.
      
      NB: lib/ might need this too but it's rather stable
          and contains some special cases that would obstruct
          the regexes even more...
      a2897267
  2. 21 Feb, 2015 1 commit
  3. 17 Jun, 2013 1 commit
    • Michael Shigorin's avatar
      initial rootfs subprofile and services feature · 67adab49
      Michael Shigorin authored
      This subprofile is akin to THE_* variables family: the configuration
      bits and script hooks sitting there influence whatever chroot is
      declared to be the user facing one in the end, whether it comes
      from vm image or live subprofile.
      
      The services feature ought to be a changeset of its own which would
      be based on rootfs and become the base for ve/vm changes but I chose
      to just do it atomically; some pre-existing duplicates are pruned now.
      67adab49
  4. 11 Aug, 2012 2 commits
    • Michael Shigorin's avatar
      complex subprofile delimiter changed ("/" -> "@") · b21353a0
      Michael Shigorin authored
      That sub/stage2/install2 was somewhat clumsy actually as it looked
      like a hierarchical thing while being a substitution thing:
      generic stage2 would get put in place renamed as install2.
      
      This could only get worse with hierarchical features which have
      already been both requested and considered for quite a time,
      and "stage2 at install2" reads much more naturally.
      b21353a0
    • Michael Shigorin's avatar
      features: drop dirtags · 912dbcfd
      Michael Shigorin authored
      Finishes what 3dd02033
      has essentially done... the path seems to be elsewhere.
      912dbcfd
  5. 09 Aug, 2012 1 commit
    • Michael Shigorin's avatar
      git usage refactoring · c4311108
      Michael Shigorin authored
      There were heaps of "if type -t git" there already;
      it wasn't an unintentional mishap but rather a moderate
      copy-paste to get the use cases, and now these seem to
      have essentially settled.
      
      So time to scrap some dups.
      
      NB: the scripts in the generated profile can't rely on
      the contents of the metaprofile (these need to be able
      to work in standalone case either), so a bit of crap
      still lurks there.
      c4311108
  6. 25 Jun, 2012 1 commit
    • Michael Shigorin's avatar
      initial vm-{net,ssh} features · 09be84be
      Michael Shigorin authored
      A virtual machine isn't very useful if there are no means
      to access it; let's bring up the basic networking and provide
      root SSH access via pre-existing public key.
      
      As the remote access with known default credentials is roughly
      equivalent to just lending one's VMs to anyone with network
      access to it, the fallback root password is now exterminated;
      you have to provide one (or a long enough random string
      if you plan to use keys only, see e.g. apg utility).
      09be84be
  7. 25 Apr, 2012 1 commit
  8. 10 Apr, 2012 1 commit
  9. 19 Mar, 2012 1 commit
    • Michael Shigorin's avatar
      initial "+shortcut" support and refactoring · a52b7476
      Michael Shigorin authored
      It looks like the intermediate targets aren't all equal:
      some define a finished feature while some create a common
      lower level piece of configuration.
      
      Let's do shortcuts for the former so that a distro line can be
      more terse and descriptive; help targets in features.in/ tweaked
      accordingly.
      a52b7476
  10. 21 Dec, 2011 1 commit
    • Michael Shigorin's avatar
      "if test ..." replaced by "if [ ... ]" · 180ed535
      Michael Shigorin authored
      Fixed up the remnants of the early style mix
      to correspond to the proposed doc/style.txt;
      the rationale being that
      
      	if [ ... ]; then
      		...
      		...
      	fi
      
      is the more readable construct among itself,
      
      	if test ...; then
      		...
      		...
      	fi
      
      and
      
      	[ ... ] && {
      		...
      		...
      	}
      
      due to the condition being more distinguishable
      when bracketed and the body more apparent as the
      one inside "if" and not any other block; the less
      obvious difference is that the final construct of
      the latter form is prone to the whole script exit
      status being non-zero if the condition isn't met.
      180ed535
  11. 06 Dec, 2011 1 commit
    • Michael Shigorin's avatar
      features.in/Makefile: cosmetic rewrite · ed0842b7
      Michael Shigorin authored
      The outmost shell loop got replaced with a (hidden) bunch
      of targets -- it's somewhat controversial as the inner loops
      are still there (but at least don't wrap around my SXGA+).
      
      Full targetization might be beneficial in terms of parallelism
      achievable *but* that would ruin git history being generated,
      and building a distro configuration takes a few seconds at most.
      
      (upon reading http://stackoverflow.com/questions/5414418/)
      ed0842b7
  12. 19 Nov, 2011 1 commit
    • Michael Shigorin's avatar
      tagged scripts breakage partially fixed · c4a5515b
      Michael Shigorin authored
      It appears that features.in/Makefile functioned a bit
      differently by now than was described back then: after
      loops and pushds got rearranged for robustness, it stopped
      to pick up a cleanup feature tagged script.
      
      That particular script is now better de-tagged and simply
      placed as a script to be merged into install2 subprofile.
      
      The tagged scripts still require a bit more comprehension
      to understand the use cases (e.g., do we need per-subprofile
      tagged script subdirs or just a toplevel one should be looked
      at, with script names telling where to put them).
      
      README used to mix up subprofiles and features; fixed.
      c4a5515b
  13. 04 Nov, 2011 15 commits
    • Michael Shigorin's avatar
      features.in/Makefile: fixups · ace2ee1f
      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).
      ace2ee1f
    • Michael Shigorin's avatar
      logging tweaks for better readability · 0a8490ad
      Michael Shigorin authored
      ...and create a symlink to a just-built image from builddir too.
      0a8490ad
    • Michael Shigorin's avatar
      avoid "nothing to commit" in build.log · 7919df82
      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).
      7919df82
    • 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
      wash, rinse, repeat · 720a5796
      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
      720a5796
    • Michael Shigorin's avatar
      features.in/cleanup: auto-add feature tag · f5178dee
      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.
      f5178dee
    • Michael Shigorin's avatar
      features.in: tagged scripts support · f32b8d4f
      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!
      f32b8d4f
    • Michael Shigorin's avatar
      features.in/Makefile: src/dst tweaks · 5dbf407c
      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/
      5dbf407c
    • Michael Shigorin's avatar
      test-based ramdisk size for live squashfs images · 3d10c59d
      Michael Shigorin authored
      Implementation based on m-p-d::profiles/scripts.d/03-syslinux
      (but heavily modified for m-p of course)
      3d10c59d
    • Michael Shigorin's avatar
      improved logging during profile creation · 3a5b47e7
      Michael Shigorin authored
      - better *_LISTS printout
      - somewhat cleaner .base comments
      - more comprehensible git log messages
        + special handling for complex subprofiles
        + no need to commit build.log ;-)
      3a5b47e7
    • Michael Shigorin's avatar
      features.in/Makefile: subtle but important typo fix · 5c543410
      Michael Shigorin authored
      dst a shell variable in a makefile recipe,
      its dereference must be escaped properly;
      the net result was false positive for the test
      with no harm being done but extra stuff tossed
      into the generated profile
      5c543410
    • Michael Shigorin's avatar
      stage2 based live subprofiles, updated docs · f5a8b893
      Michael Shigorin authored
      - introduced generic stage2 subprofile (non-standalone)
      - ported installer and rescue over to stage2/{install2,rescue}
      - initial stage2/live (needs more work for sure)
      - use make-initrd-propagator
      - updated and somewhat extended doc/
      
      NB: mind #26133, #26134
      f5a8b893
    • Michael Shigorin's avatar
      kernel and BUILDDIR fixes · c2f70e5c
      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
      c2f70e5c
    • 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
      assorted fixups · ace5cb0f
      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
      ace5cb0f
  14. 03 Nov, 2011 4 commits