1. 26 Jul, 2016 1 commit
  2. 15 Apr, 2016 1 commit
  3. 15 Mar, 2016 1 commit
  4. 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
  5. 30 Nov, 2015 1 commit
  6. 09 Oct, 2015 1 commit
  7. 20 Apr, 2015 1 commit
    • Michael Shigorin's avatar
      pkg.in/lists: archdep suffices for pkglists · ac5dbb4b
      Michael Shigorin authored
      This is an initial implementation of architecture dependent
      contents handling for package lists more or less in the vein
      of mkimage-profiles-desktop's one *but* using suffix part to
      filter words in or out *not* prefix part to replace it with
      a comment marker (thus filtering out lines).
      
      The syntax should be pretty obvious:
      
        a b@i586 c@x86_64
      
      will get "a b" given ARCH=i586 and "a c" given ARCH=x86_64;
      please see doc/archdep.txt for a more elaborate description
      and a conversion script.
      ac5dbb4b
  8. 02 Apr, 2015 2 commits
    • 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
    • Michael Shigorin's avatar
      help.mk, clean.mk: drop __frontend for tty test · ec3d40cc
      Michael Shigorin authored
      The __frontend variable was introduced to address the needs
      of alterator-mkimage module: list the images available in
      one column, purge the builddir.
      
      Looks like we should consider other cases with redirected
      stdout (cron builds, piped calls, etc) like fundamentally
      non-interactive and behave the same.
      
      So commit 3a8af6b5's
      description is wrong now; the current cleanup rules are:
      
      - if CLEAN=0 or DEBUG>1, don't do it;
      - if CHECK or REPORT 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;
        + stdout was redirected (cronjob, alterator-mkimage...);
        + metaprofile directory is read-only
        ...then do a distclean.
      
      If that doesn't suit your needs, describe the particular
      situation please.
      
      Thanks cas@ for wondering aloud whether greppable output
      is unsupported with `make help'.
      ec3d40cc
  9. 29 Mar, 2015 1 commit
    • Michael Shigorin's avatar
      boot.mk: factor out boot/% from distro.mk · b2cfbc3f
      Michael Shigorin authored
      Yes these bits are related to distro/ prefixed images
      still the overgeneralization in distro.mk didn't pay off
      but rather hid a bug with the only boot/isolinux in use
      having no dependency on use/syslinux (which is required).
      
      Maybe this will get revisited when we have other kinds
      of bootable images with other bootloaders (vm/ ones care
      for themselves as of today).
      b2cfbc3f
  10. 14 Nov, 2014 1 commit
    • Michael Shigorin's avatar
      lib/functions.mk: tiny but important note · c293dd14
      Michael Shigorin authored
      There's a particular problem with lazy evaluation
      in case of BOOT_LANG: mkimage uses internal variable,
      BOOT_LANG = $(GLOBAL_BOOT_LANG) (note the lack of
      immediate assignment there), and if we set up
      
        export GLOBAL_BOOT_LANG = $(BOOT_LANG)
      
      in the same namespace we end up with recursively
      defined pair of variables; a ":=" in either place
      would save the day _but_ it's not there in m-p due to
      accumulator variables, e.g. USERS, which are defined
      and exported by a corresponding feature and then get
      populated *after* having been declared for export,
      _and_ it's not in mkimage as of 0.2.16 for some reason
      that might even be good (I don't know yet).
      c293dd14
  11. 19 Sep, 2014 1 commit
    • Michael Shigorin's avatar
      functions.mk: allow setting to an empty value · a3ddce7a
      Michael Shigorin authored
      set() is a function of two variables but the and()
      check for *both* is incorrect as one might need to
      override a previously set variable with empty string;
      this has manifested itself with a case like this:
      
        @$(call set,ROOTPW_EMPTY,1)
        # ...
        @$(call set,ROOTPW_EMPTY,)
      a3ddce7a
  12. 27 Aug, 2014 1 commit
    • Michael Shigorin's avatar
      profile.mk: defer RC expansion · 851b4413
      Michael Shigorin authored
      Just spotted that .disk/profile.tgz would hold
      distcfg.mk with pre-expanded $(HOME) from build
      host which is both info leak (user account that
      was used to build the particular image) and just
      wrong given that the in-image profile archive was
      conceived as a means to pass that part of build
      environment over instead of tying it to vendor.
      
      Morale: premature optimization is premature.
      851b4413
  13. 05 Mar, 2014 1 commit
    • Michael Shigorin's avatar
      documentation: use paths relative to toplevel dir · 3f547e25
      Michael Shigorin authored
      This change is done to reduce ambiguity in some cases;
      the previous intention has been to ease navigation when
      staying in a particular directory, now it's been changed
      in favour of convenient toplevel `git grep' in fact.
      
      Both variants have their pros and cons, I just find myself
      leaning to this one by now hence the commit.  Feel free to
      provide constructive criticism :)
      
      Some path-related bitrot has also been fixed while at that.
      3f547e25
  14. 13 Aug, 2013 1 commit
    • Michael Shigorin's avatar
      clean.mk: allow to forbid cleanup explicitly · 674f7db2
      Michael Shigorin authored
      The behaviour that sort of settled didn't actually follow
      the principle of the least surprise when one really wanted
      to have BUILDDIR available for inspection; DEBUG=2 would be
      effective to achieve that but CLEAN=0 would not.
      
      Thanks led@ for spotting and reporting this.
      674f7db2
  15. 19 Jun, 2013 1 commit
    • Michael Shigorin's avatar
      {lib,conf.d}/{ve,vm}.mk: shift the real targets · a18295f2
      Michael Shigorin authored
      lib/*.mk aren't going to be parsed for build targets
      in the near future; and the early placement of those
      targets was superseded by a dedicated configuration
      snippet directory so just move these bits there.
      a18295f2
  16. 17 Jun, 2013 3 commits
    • Michael Shigorin's avatar
      main.mk, build.mk: tweaks for error reporting · ccc64864
      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.
      ccc64864
    • Michael Shigorin's avatar
      initial init feature · b337e72e
      Michael Shigorin authored
      This one is finally there and should help reduce the
      systemd-induced mess in package lists and specifications.
      b337e72e
    • 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
  17. 10 Jun, 2013 1 commit
    • Michael Shigorin's avatar
      README update · 5b21100b
      Michael Shigorin authored
      These have been proofread somewhat to correspond
      to the current state of affairs; a missing one
      was added for fonts feature.
      5b21100b
  18. 24 May, 2013 1 commit
    • Michael Shigorin's avatar
      install2: introduced +installer mixin · 7b76c734
      Michael Shigorin authored
      This one is a part of a larger rewrite to move away from
      distro-centric build-up to configuration-centric one with
      the particular packaging being of secondary importance
      compared to actual functionality.
      7b76c734
  19. 19 Feb, 2013 1 commit
  20. 11 Feb, 2013 1 commit
    • Michael Shigorin's avatar
      fixed mp-commit and its use · ad264c70
      Michael Shigorin authored
      Now this is ugly: instead of commoditizing the repetitive code
      the result ended up working differently by creating several
      repositories for the target subdirs instead of the single one
      for the generated subprofile as a whole.
      
      This results in .disk/profile.tgz being basically useless
      in every image since c4311108.
      ad264c70
  21. 04 Feb, 2013 2 commits
    • 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
    • Michael Shigorin's avatar
      kernel: factor the former lib/kernel.mk in · 2d3e5f2b
      Michael Shigorin authored
      It wasn't spotted when introducing the distinct kernel feature;
      will need fixup as we meet packaged ARM/PPC kernels.
      2d3e5f2b
  22. 31 Dec, 2012 1 commit
  23. 03 Dec, 2012 1 commit
  24. 19 Nov, 2012 1 commit
  25. 11 Nov, 2012 1 commit
  26. 31 Oct, 2012 1 commit
  27. 27 Oct, 2012 1 commit
    • Michael Shigorin's avatar
      distro/installer, use/live/x11 += use/firmware · 02791834
      Michael Shigorin authored
      This is thanks to the fact that alterator-based install2 needs
      alterator-browser-qt which needs X11 which needs working device drivers
      -- and at least AMD C60 APU would only yield a nice dotted white screen
      without that firmware.
      
      Roughly the same for X11 bearing LiveCD images.
      02791834
  28. 24 Sep, 2012 1 commit
  29. 03 Sep, 2012 1 commit
  30. 11 Aug, 2012 2 commits
    • Michael Shigorin's avatar
      merged experimental support for opensuse · 23175f00
      Michael Shigorin authored
      This isn't ready for general consumption (just as centos one)
      but the notion of REPO is floating around along with apt-conf
      thoughts, and it might still be useful to someone poking around
      conf.d/test.mk.
      
      Request hasher-pkg-init.spec from mike@ or led@ if interested;
      the experiments were carried out using openSUSE 11.4 repository
      and slightly patched hasher (cpio blacklist for devices).
      23175f00
    • 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
  31. 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
  32. 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
  33. 21 Jul, 2012 1 commit
  34. 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
  35. 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