1. 04 Nov, 2011 40 commits
    • Michael Shigorin's avatar
      ensure that distcfg.mk gets included once at most · 75fd7952
      Michael Shigorin authored
      This was done while debugging GLOBAL_CLEANUP_PACKAGES
      getting doubled... as it got no hard initial value but
      rather was always added to, it appeared that at least
      stage2/Makefile would obtain a once-initialized value
      from upstream and double it while including distcfg.mk
      itself.
      
      It's way less hassle to just proxy the value once.
      75fd7952
    • Michael Shigorin's avatar
      initial features.in/cleanup · c5bf0529
      Michael Shigorin authored
      This is a sort of anti-feature which removes and not builds;
      still with mkimage-profiles' approach we can at least build
      up the removal procedures as well.
      
      It's what triggered the tagged scripts, BTW.
      c5bf0529
    • 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
      profile.mk: export PATH including bin/ · 4801579c
      Michael Shigorin authored
      Mostly needed for tags2lists at the moment;
      note that PATH is exported for make recipes
      but has no effect on make functions.
      4801579c
    • Michael Shigorin's avatar
      Makefile: make everything · 3373a7bc
      Michael Shigorin authored
      $(IMAGES) in prerequisites definitely won't work,
      so let's do it straightforward.
      3373a7bc
    • Michael Shigorin's avatar
      install2: use HSH_EXCLUDE_DOCS too · 0c987333
      Michael Shigorin authored
      The docs would be purged anyways, let's not install them either.
      0c987333
    • Michael Shigorin's avatar
      doc/: minor update · ef0d5e15
      Michael Shigorin authored
      Somewhat more uniform style and a few additional bits.
      ef0d5e15
    • 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
      added some missing READMEs to a few features · 74e81984
      Michael Shigorin authored
      (these *really* should be added atomically with the changes!)
      74e81984
    • Michael Shigorin's avatar
      initial features.in/dos · a3c0d2bb
      Michael Shigorin authored
      This was tackled before but it took raorn@'s hint regarding
      sys-freedos-linux (ms-sys has no bootsectors compatible with
      freedos currently) and gns@' quick rush at make-freedos-floppy
      script to wrap things up.
      
      Should be further developed to become actually useful though.
      a3c0d2bb
    • Michael Shigorin's avatar
      pkg.in/lists/xorg -= wm-select · eeccd5df
      Michael Shigorin authored
      wm-select should only be needed when multiple window managers
      are available.
      eeccd5df
    • Michael Shigorin's avatar
      initial features.in/powerbutton · f32ae716
      Michael Shigorin authored
      Should support ACPI and APM schemes;
      only the former tested so far.
      f32ae716
    • Michael Shigorin's avatar
      COMMON_PACKAGES and SYSTEM_PACKAGES · 774169c6
      Michael Shigorin authored
      It was clear that "common" isn't very apt for packages that
      will get *everywhere*, and became apparent when the need for
      a "base+live packages" variable arrived with powerbutton feature.
      
      So:
      - the former COMMON_PACKAGES are now SYSTEM_PACKAGES;
      - COMMON_PACKAGES act as "BASE+LIVE_PACKAGES".
      
      Note that SYSTEM_PACKAGES also got factored out from stage2 based
      features into stage2 subprofile itself; cleanups were due as well.
      774169c6
    • Michael Shigorin's avatar
      docs update · fba30e06
      Michael Shigorin authored
      Rather minor fixups for things changed in the meanwhile and not
      yet (re)documented properly; and a change for memtest feature
      to require syslinux feature (the code's been changed to fit
      the updated description, actually, and the change is purely
      formal as no syslinux alternative is being used/planned so far).
      fba30e06
    • Michael Shigorin's avatar
      image.in/vars.mk: dump distcfg variables nicely · 69d5133a
      Michael Shigorin authored
      distcfg.mk is nice for tracing the variable values' build-up,
      but it's more useful to have a look at the final result sometimes.
      So here it is, logged for each build and callable by hand.
      69d5133a
    • Michael Shigorin's avatar
      ensure that image output directory does exist · 7f555ed7
      Michael Shigorin authored
      It turned out that ~/out masked the broken execution path
      when it's absent (which was handled incompletely).  Sigh.
      7f555ed7
    • Michael Shigorin's avatar
      cosmetic fixup (s/GROUPS/MAIN_GROUPS/g) · b56df316
      Michael Shigorin authored
      MAIN_GROUPS should align better along with MAIN_PACKAGES
      and MAIN_LISTS (even if MAIN_ prefix might be suboptimal
      given that these packages are essentially extras within
      the particular image).
      b56df316
    • Michael Shigorin's avatar
      minicd.iso -> server-mini.iso (and more tags) · 4dfd6898
      Michael Shigorin authored
      minicd target was a hasty hack indeed, let's put it in line;
      an attempt at practical use discovered the lack of important
      packages like dhcpcd, these were added on per package basis
      and quickly remade to use tags -- which seem to fit better.
      4dfd6898
    • Michael Shigorin's avatar
      live, rescue, and use tags · cf81cc67
      Michael Shigorin authored
      It's still very immature -- base lists should be really base,
      and functionality should be sorted out in more consistent way.
      So far moved to tagged lists (which need some more experimentation
      anyways to get both lists and their use more elegant).
      
      - fixed live.iso (now actually useful):
        + extra cleanup was being done (coming from install2 case)
        + root user was password blocked
        + there was no unprivileged user (added "altlinux" w/o password)
        + added xdm setup hook for future X-based livecd flavours
        + several picks for a less slim "base" list
        + xdm login
      - tweaked rescue.iso (added ext3grep)
      cf81cc67
    • 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
      don't override targets for no reason · 2b90dffa
      Michael Shigorin authored
      2b90dffa
    • 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
      fixed grub installer distros · 9475d199
      Michael Shigorin authored
      These were broken since 5ff375aa10bee7937db457d3df3115f938bb6c77
      due to no bootloader being tossed anymore by the very
      installer-distro-altlinux-generic (which is the default)
      9475d199
    • Michael Shigorin's avatar
      fixed stage1 for syslinux.iso · 2b47da98
      Michael Shigorin authored
      squashcfk.mk is not to be attempted to copy unconditionally,
      if we've got no kernel for stage2 there's no data (and hook)
      to create it there
      2b47da98
    • 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
      initial rescue image · 0e57149d
      Michael Shigorin authored
      NB: this implementation is awfully cut-n-paste one,
      there are lots of common code with install2
      which are subject to careful surgery
      0e57149d
    • Michael Shigorin's avatar
      prepare for multiple live images · 5569b4fc
      Michael Shigorin authored
      s,INSTALLER_KFLAVOUR,STAGE1_KFLAVOUR,g
      s,INSTALLER_KMODULES,STAGE1_KMODULES,g
      
      install2 isn't the only livecd around;
      so far all of these share the same kernel
      in m-p-d, and we'd rather need two+ kernels
      with dual-arch media or so; let's not complicate
      things too much at this point
      5569b4fc
    • 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
      rough bootloader selection draft (grub/lilo) · 20844de7
      Michael Shigorin authored
      NB: needs installer-distro-altlinux-generic = 6.0-alt2
          as it doesn't require alterator-grub indefinitely
      20844de7
    • Michael Shigorin's avatar
      initial x11 desktop distro support · e78c62b4
      Michael Shigorin authored
      This one is pre-alpha quality and very basic but complete enough
      to crank out an icewm.iso successfully installing and booting
      into xdm ;-)
      
      (actually a week's on-and-off work including a pile of
      underlying infrastructure stuff which was planned already
      just not there yet)
      e78c62b4
    • Michael Shigorin's avatar
      actually released as free software · 386be9a5
      Michael Shigorin authored
      I hereby release this work under the terms of GNU General Public License,
      either version 2 or a later version at your option.
      
      The code is either taken from mkimage-profiles-desktop.git (available
      under GPLv2+) or written by me with some exceptions in the form of:
      - snippets from GNU make documentation;
      - stackoverflow.com and cmcrossroads.com articles;
      - random advice on the 'net
      to be strict; given the nature of such snippets being explicitly
      proposed as an example or for immediate reuse, I consider it feasible
      to redistribute those worked into this code.  If there's any concern
      regarding copyright, please contact me by e-mail to sort it out.
      386be9a5
    • 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
      distro.mk: altlinux-generic installer by default · a9e4934b
      Michael Shigorin authored
      installer-distro-server-light (using installer-feature-vm-server-light)
      is specifically tuned for Server Light needs, and in general we have
      different ones (regarding installer steps, autopartitioning profile,
      configured services, etc).  So here's the replacement.
      a9e4934b
    • Michael Shigorin's avatar
      README update · b69a8a63
      Michael Shigorin authored
      reword 'em, structurize 'em, facelift 'em too
      b69a8a63
    • Michael Shigorin's avatar
      features.in/lowmem: initial release · 24ce6f54
      Michael Shigorin authored
      This feature should absorb ha^Wmeasures for keeping install2
      memory footprint to minimum, and so far it drops things not
      critical for ru/uk/be users on the floor.
      
      Should be ported to a l10n support framework when there's one.
      24ce6f54
    • Michael Shigorin's avatar
      install2: split 85cleanup-legacy off 85cleanup-cjk · 0b0ad61b
      Michael Shigorin authored
      We have several categories of overhead data:
      - legacy 8-bit fonts, locales and gconv modules;
      - illegible fonts (e.g. 5x7 or 6x10);
      - obsolete vendor specific stuff;
      - CJK (which would require proper support anyways).
      
      Notes:
      - JIS and things like VISCII are 8-bit either
        and thus might be reconsidered as "legacy";
      - proper CJK support would probably include
        scalable fonts and an input method helper;
      - main target audience is rather ru/uk/be by now.
      
      (dropped wireless from install2 either)
      0b0ad61b
    • Michael Shigorin's avatar
      sub.in/install2/Makefile: enforce a kernel · 50e0779f
      Michael Shigorin authored
      A bit earlier the situation where there was a stage1 fallback
      for INSTALLER_KFLAVOUR as the last of KFLAVOURS, so we'd have
      an installer kernel or build would break; now the situration
      got somewhat twisted: there could be a vmlinuz in stage1 but
      no corresponding modules in install2 -- which can lead to
      different surprises but at least alterator-vm would complain
      about "Operation not permitted" on partition layout commit.
      
      The fallback is a copypaste from sub.in/stage1/Makefile though
      and should be redone properly somewhere.  The question so far
      is, where exactly?
      50e0779f
    • Michael Shigorin's avatar
      README updates · c4e0a249
      Michael Shigorin authored
      ...including hasher note, thx m-p-d.
      c4e0a249
    • Michael Shigorin's avatar
      moved stage1 scripts into feature.in/installer · 1a8d74e8
      Michael Shigorin authored
      All the three scripts depend on installer kernel presence in fact.
      When live/rescue are in place, these should be adjusted correspondingly,
      probably by moving them to some commonly used intermediate place.
      
      Changed stage1 banner too.
      1a8d74e8