1. 08 Mar, 2019 1 commit
  2. 25 Dec, 2018 1 commit
  3. 21 May, 2018 1 commit
    • Michael Shigorin's avatar
      build.mk: just go on for e2k* · d010cef3
      Michael Shigorin authored
      There's no qemu there so far, and there's no need
      to fiddle with setarch either.
      
      NB: part of this commit erroneously went into
          1c777c8a
          quite some time ago, sorry about the mess.
      d010cef3
  4. 23 Apr, 2018 1 commit
  5. 12 Sep, 2016 1 commit
  6. 10 Jan, 2016 1 commit
    • Michael Shigorin's avatar
      QUICKSTART, mktmpdir, build.mk: hasher's /proc · 3b3cf4cc
      Michael Shigorin authored
      Either /etc/hasher-priv/system or /etc/hasher-priv/user.d/$USER
      must contain at least "allowed_mountpoints=/proc" for mkimage
      to work for mkimage-profiles; thanks Daniil Golovanov for
      providing feedback indicating the lack of the corresponding
      checks.
      3b3cf4cc
  7. 30 Nov, 2015 1 commit
  8. 09 Oct, 2015 1 commit
  9. 02 Apr, 2015 1 commit
    • Michael Shigorin's avatar
      introduce QUIET variable · 3cb4d9ae
      Michael Shigorin authored
      This one reduces the amount of output that's only
      interesting when one is actually watching the console
      during builds (at least the early stage) -- these tend
      to look boilerplate and be useless when inspecting the
      output of a large batch build like [[regular]] one.
      3cb4d9ae
  10. 17 Jun, 2013 1 commit
  11. 04 Feb, 2013 1 commit
    • Michael Shigorin's avatar
      ensure that IMAGEDIR exists (thus globbable) · e46c259a
      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].
      e46c259a
  12. 31 Dec, 2012 1 commit
  13. 19 Nov, 2012 1 commit
  14. 16 Jul, 2012 1 commit
    • Michael Shigorin's avatar
      non-native ARM support via qemu · d31a2555
      Michael Shigorin authored
      mkimage and hasher can make use of qemu to run
      non-native binaries while working on the chroots;
      thanks kas@, manowar@ and sbolshakov@ for implementing
      this functionality as well as providing nice examples
      through mkimage-profiles-arm and mkimage-profile-armrootfs.
      
      This required the architecture check to be added since baking
      a tarball with "arm" as its specified arch and x86_64 inside
      isn't particularly good thing to let slip through; however
      the implementation is quite fragile, bugreports and patches
      are seriously welcome.
      
      NB: APTCONF evaluation order between lazy make and nimble shell
      turned out to be quite a delicate issue in this particular case.
      d31a2555
  15. 09 Jul, 2012 1 commit
    • Michael Shigorin's avatar
      initial native ARM support · 3c26cc86
      Michael Shigorin authored
      The only thing to be fixed was setarch(8) symlinks assumption
      that is correct for x86 but not for ARM.
      
      There's also some hasher(7) setup to be done:
      
        mkdir -p ~/.hasher
        echo >> ~/.hasher/config <<-EOF
        def_target=arm
        #cache_dir=$HOME/tmp	# depends on RAM/storage configuration
        EOF
      
      ...and of course apt(8) should be properly set up too.
      
      An example PoC build on a CM-A510 board (tmpfs):
      
        $ make BRANDING=altlinux-centaurus ve/bare.tar.gz
        ** ARCH: arm
        18:10:45 initializing BUILDDIR: build/
        18:10:45 preparing distro config: build/distcfg.mk
        18:10:46 starting image build: tail -f build/build.log
        18:14:49 done (4:02)
        ** image: $TMP/out/bare-20120706-arm.tar.gz [23M]
      3c26cc86
  16. 21 Jun, 2012 1 commit
  17. 06 May, 2012 1 commit
    • Michael Shigorin's avatar
      no build means *no* build (and less reports), really · 454e7162
      Michael Shigorin authored
      It's hard to tell a successful build from a failed one
      if downstream hides the exit code; it's useless to continue
      a `for' loop if a pipe shoves that to a subshell; well it seems
      that a bashism is worth a thousand quirks with extra fds here.
      Minor regexp enhancements are also due.
      
      reports.mk made a bit more resilient/prudent either.
      454e7162
  18. 10 Apr, 2012 1 commit
    • Michael Shigorin's avatar
      lib/build.mk: tweaked wreckage filter · a6cc9fa8
      Michael Shigorin authored
      A pretty common issue breaking the image build is inter-package
      file conflict resulting in hsh-install failure down there.
      Let's bring that back to attention conveniently.
      a6cc9fa8
  19. 19 Mar, 2012 1 commit
  20. 04 Jan, 2012 1 commit
    • Michael Shigorin's avatar
      check vigorously for installed mkimage · 0ec7d7cd
      Michael Shigorin authored
      It was briefly mentioned in QUICKSTART but somehow managed
      to evade the commandlines provided.  And while at it, let's
      make errors like this more explicit to avoid extra lookups.
      Oh, and fix QUICKSTART so that readers miss the hassle. :)
      
      Thanks Vladimir Karpinsky for pointing this problem out.
      0ec7d7cd
  21. 02 Jan, 2012 1 commit
    • 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
  22. 08 Dec, 2011 1 commit
    • Michael Shigorin's avatar
      lib/build.mk: tweak the optimizer · e89a0f1c
      Michael Shigorin authored
      $(SHORTEN) is better in the midst of the pipe
      so that greps are terminal and can sense the tty
      (or the lack thereof in case we're logging further).
      e89a0f1c
  23. 06 Dec, 2011 1 commit
    • Michael Shigorin's avatar
      lib/build.mk: add basic CHECK support · 390f4f6b
      Michael Shigorin authored
      The idea is to check:
      - the reachability of every target
        used to build the image in question;
      - the availability of all the package lists
        and subsequently packages for that image;
      - the lack of "dangling" intermediate targets,
        features, pkglists, hooks etc.
      
      So far only the first step is implemented --
      it's easy and somewhat helpful already for
        make CHECK=1 all
      390f4f6b
  24. 21 Nov, 2011 1 commit
    • Michael Shigorin's avatar
      lib/build.mk: different colours for different outcomes · b52ff4ef
      Michael Shigorin authored
      As was (quite reasonably) asked by someone and me too,
      why should a successful build yield a *red* line
      (a grep's default)?
      
      So now it's new and improved, 25% free and so forth:
      with a successful build you get a green line, while
      errors from a broke one result in red ones.
      
      Clinically tested in both b/w and w/b colour schemes;
      in case you're not satisfied, please return original
      ANSI_OK and ANSI_FAIL values to the colour dealer
      and pass your favourite ones instead.
      b52ff4ef
  25. 06 Nov, 2011 3 commits
    • Michael Shigorin's avatar
      further toplevel logging tweaks · 07fdc6dd
      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.
      07fdc6dd
    • Michael Shigorin's avatar
      introduced NICE variable · cd3e47c5
      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.
      cd3e47c5
    • 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
  26. 04 Nov, 2011 10 commits
    • Michael Shigorin's avatar
      BELL support · 895fae7d
      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.
      895fae7d
    • 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
      iso.mk: low space hint on build failure · b474bff4
      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.
      b474bff4
    • 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
      installer firmware support · e53b6acb
      Michael Shigorin authored
      Thanks go to lakostis@ (see #18047) for all the aic94xx reminders
      and the final testing of the proposed image.
      e53b6acb
    • Michael Shigorin's avatar
      README updates · faafaf12
      Michael Shigorin authored
      ...and some more cosmetic fixes
      faafaf12
    • 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
      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
    • 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
    • Michael Shigorin's avatar
      drop autoconf, a few vars in .mk suffice · d77e1d8d
      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
      d77e1d8d
  27. 03 Nov, 2011 3 commits