Compare commits

..

47 Commits

Author SHA1 Message Date
Michael Shigorin
7a50acb5c4 0.8.3-alt1
- make-3.82 support
- fixed live image boot to some extent (see #27640, #27852)
2012-10-15 23:34:36 +03:00
Michael Shigorin
90b8fd49f4 80-make-initfs: fixed silly thinko
The added pdir check was a hillarious(tm) overlooked bug indeed:
I tried to put .../initfs/initfs instead of .../initfs as the result.

Duly spotted by torabora@, thanks a lot.

Still the kmod+propagator+kernel-image combo needed some tweaking too,
see #27640
2012-10-15 17:04:18 +03:00
Michael Shigorin
944e0341c5 stage2: brevity fix
A tiny bit less cut-n-paste. :)
2012-10-15 16:03:58 +03:00
Michael Shigorin
6f5be91827 make-3.82 adaptation
The issue actually hit image.in/Makefile: "metadata" target
in features.in/metadata/lib/50-metadata.mk wasn't reached
even if features.in/build-distro/lib/90-build-distro.mk
would ACK that the "whatever" actions included "metadata";
thus Metadata/pkg-groups.tar wasn't created and the installer
silently failed to install the .base system.

Let's armour the rest of the cases where the order of inclusion
might be important as well.
2012-10-10 16:18:35 +03:00
Michael Shigorin
718a50b9d0 relname: tweak the fix/diagnostics
The culprit would be that $RELNAME isn't really set there
($GLOBAL_RELNAME is), and sh -u will treat that as error.
2012-10-10 12:06:55 +03:00
Mike Radyuk
78684bfef3 fix RELNAME script and README 2012-10-10 12:00:17 +03:00
Mike Radyuk
cc623bc56b fix typo in RELNAME variable 2012-10-09 00:13:02 +03:00
Michael Shigorin
64536f62d1 bootloader README: a note on overriding
It's pretty ugly but dropping the current way
means losing the dependency tracking which is
critical to get the required alterator module
into install2.
2012-10-01 23:28:24 +03:00
Michael Shigorin
91053b9daf gear-store-tags 2012-09-24 21:52:10 +04:00
Michael Shigorin
b44705d25b 0.8.2-alt1
- fixed build with recent make-initrd-propagator
2012-09-24 21:21:49 +04:00
Michael Shigorin
12a2fc983c 80-make-initfs: fix for current make-initrd*
Thanks mithraen@ for spotting, boyarsh@ for explaining,
and legion@ for hearty support :)

The problem would manifest itself like this:

  /.host/script.sh: line 20: /usr/lib64/propagator/initfs: \
  No such file or directory
  mki-scripts: .../stage1/scripts.d/80-make-initfs: unable to run script.
2012-09-24 21:20:49 +04:00
Michael Shigorin
30d0340d56 install2: added convenient filesystems support
Thanks Serg Markov for bringing my attention to this:
http://www.opennet.ru/openforum/vsluhforumID3/86552.html#61

While the official distros might skip some filesystems for
support reasons there's no reason for community distros to
do so either.

Let's try that with icewm.iso...

NB: installer has a misfeature of dropping jfs/reiserfs
    support in runtime unless "expertmode" magic word
    is on the kernel bootargs string (#27763, #17368).
2012-09-24 11:07:49 +04:00
Michael Shigorin
2f357e44d6 clean.mk: skip if REPORT requested either
The problem would manifest itself like this:

..:..:.. cleaning up after build
sed: can't read .../build.log: No such file or directory
2012-09-24 11:07:45 +04:00
Michael Shigorin
a2b89e6647 ovz-server: add vzquota
Asked for by torabora@; indeed.
2012-09-23 11:46:52 +04:00
Michael Shigorin
56b3147eac README: minor readability fixes
Should be a tiny bit better this way.
2012-09-22 17:37:14 +04:00
Michael Shigorin
d5cf1ff3eb renamed menuitem-grub feature to relname
Its immediate purpose was influencing the GRUB boot menu
*but* the implemented mechanism is actually a part of the
long planned text branding and might be further merged
into branding when hierarchical features finally chime in.

So let's get the naming straight before it breeds.
2012-09-12 20:12:41 +03:00
Michael Shigorin
f44908ca78 proofreading of the merged commits
File contents should be correct.
2012-09-12 19:39:42 +03:00
Mike Radyuk
8233aa8424 added menuitem-grub feature 2012-09-12 19:23:55 +03:00
Mike Radyuk
a35b5fbc21 added MENUITEM variable 2012-09-12 19:19:37 +03:00
Michael Shigorin
c3a1b4a934 gear-store-tags 2012-09-03 20:22:54 +03:00
Michael Shigorin
061f299fa1 0.8.1-alt1
- misc fixes
2012-09-03 20:22:16 +03:00
Michael Shigorin
e52e21781f actually useful vm/icewm
See http://www.opennet.ru/openforum/vsluhforumID3/86239.html#1
for a query that has led to this one; in particular,
- xdm dropped (won't log in root and there are no users yet);
- network is brought up and configured via DHCP by default;
- apt-get works out-of-box;
- default image size is twice the chroot size.
2012-09-03 19:16:50 +03:00
Michael Shigorin
0e8871e7b4 use un-def kernel by default
3.5.2-std-def-alt2 brings boot problems which were absent
with 3.4.x-std-def and are absent with 3.5.x-un-def;
seems like it's better to stay with known good variant
at the moment instead of having to fall back to it.
2012-09-03 19:16:50 +03:00
Michael Shigorin
e064954e93 rescue += ipmitool
It was missing indeed; suggested by ildar@.
2012-09-03 19:16:50 +03:00
Michael Shigorin
83fa2544bc fix root directory permissions
hsh-initroot leaves the chroot's root directory permissions
as 1775 while these should really be 755 at most; let's fix it
(important for both VE and VM images, useful for rescue/livecd
ones as well -- especially those with an installer onboard).
2012-09-03 19:16:50 +03:00
Michael Shigorin
d0cb988897 desktop+live += su
Thanks aen@ for finally mentioning it
as I just used to cope without su. :)
2012-09-03 19:16:50 +03:00
Michael Shigorin
84591991cb no more *silent* aliases
The missing "; @:" at the end of the otherwise recipeless rule
resulted in target graph being broken; I should have checked this
when introducing these aliases (the intent was to reduce noise).
2012-09-03 19:16:50 +03:00
Michael Shigorin
d2581522d9 systemd += chkconfig
It appears that chkconfig wasn't getting pulled in
by now if not told so explicitly.  Still in need.
2012-09-03 19:16:50 +03:00
Michael Shigorin
705a20938a conf.d/test.mk: live-mate-systemd
Not even alpha quality yet but at least debuggable:
- X session doesn't autostart but service dm start works;
- keyboard layout indicator is missing until started by hand.
2012-09-03 19:16:50 +03:00
Michael Shigorin
f54a5660d1 MATE: current crop of packages
There's a bunch of additions to the MATE package list:
thanks viy@ for pulling extras into autoimports,
several more tweaks done due to hints by dek@,
and openssh packages added for debugging convenience.

The kernel's been changed for the latest one (un-def).
2012-09-03 19:16:50 +03:00
Michael Shigorin
e0a849e974 initial live-gns3
Someone over the internets suggested that such a LiveCD exist:
http://www.opennet.ru/openforum/vsluhforumID3/85817.html#24
...but then disappeared in the thin air, sigh.
2012-09-03 19:15:42 +03:00
Michael Shigorin
b5e5d4f223 gear-store-tags 2012-08-13 22:04:57 +03:00
Michael Shigorin
d1bbbbc10b 0.8.0-alt1
- stage2@live
2012-08-13 22:03:32 +03:00
Michael Shigorin
3a3893b664 rescue += firmware (server, wireless)
There's no use of a rescue image when it has no firmware
for the controller in the system being worked on...
so added some.
2012-08-13 15:51:53 +04:00
Michael Shigorin
23175f0020 merged experimental support for opensuse
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).
2012-08-11 23:24:23 +03:00
Michael Shigorin
eb3df648a2 minor documentation facelift
A few more items were asking for some attention.

In particular, build examples should start with
the most basic, error-proof and quick targets.
2012-08-11 22:56:41 +03:00
Michael Shigorin
d646e71906 doc/qemu.txt: mostly automated
This part of docs was pleading to put it into a small shell
script; it was done to facilitate kas@' debugging efforts
so that qemu-system-ppc might eventually get fixed, thus
livecd-qemu-arch package now "obsoletes" this file.
2012-08-11 22:56:24 +03:00
Michael Shigorin
c08e86afc5 features: hopefully better README
Thanks both drool@ for his mild frustration with the current
documentation as well as Greg Kroah-Hartman, Heikki Orsila
and Neil Brown for http://lwn.net/Articles/504814/ -- the docs
should really emphasize *why* something is done, not *how*,
as the "how" part is better documented with the code itself
(that doesn't mean that "the big picture" isn't needed).
2012-08-11 21:45:26 +03:00
Michael Shigorin
b21353a00c complex subprofile delimiter changed ("/" -> "@")
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.
2012-08-11 20:11:17 +03:00
Michael Shigorin
912dbcfd10 features: drop dirtags
Finishes what 3dd020338b
has essentially done... the path seems to be elsewhere.
2012-08-11 20:06:00 +03:00
Michael Shigorin
e6f13defcd razorqt += qps
Don't remember who exactly recommended this nice and elegant
system monitor but it fits just fine.
2012-08-10 19:48:04 +04:00
Michael Shigorin
c4311108ea git usage refactoring
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.
2012-08-10 00:12:46 +03:00
Michael Shigorin
a3779231cb rescue += zerofree, wipefreespace
This kind of tools can be badly missing at times.
2012-08-09 23:40:25 +03:00
Michael Shigorin
9c16a9e6ff rescue += boot off sda/sdb
There's no (convenient) "eject" at times, so it's better to provide
extra ways of booting right away.
2012-08-08 20:39:26 +04:00
Michael Shigorin
70793436c7 rescue += openssh
Found myself pretty silly while sittin' at the rescue console
and bein' unable to leave the cool server room for a way
more comfortable armchair and a laptop's keyboard...

(yes, it was that disk array needing GPT tools)
2012-08-08 20:27:59 +04:00
Michael Shigorin
1cf14cda95 lists/tagged/rescue*: minor update
Several GPT-related packages added along with
a few more rescue related ones.
2012-08-08 16:38:12 +04:00
Michael Shigorin
05b3c65cd0 gear-store-tags 2012-08-07 00:04:47 +04:00
62 changed files with 351 additions and 185 deletions

View File

@@ -1,5 +1,5 @@
Name: mkimage-profiles Name: mkimage-profiles
Version: 0.7.6 Version: 0.8.3
Release: alt1 Release: alt1
Summary: ALT Linux based distribution metaprofile Summary: ALT Linux based distribution metaprofile
@@ -61,6 +61,19 @@ cp -a * %buildroot%mpdir
%doc README QUICKSTART %doc README QUICKSTART
%changelog %changelog
* Mon Oct 15 2012 Michael Shigorin <mike@altlinux.org> 0.8.3-alt1
- make-3.82 support
- fixed live image boot to some extent (see #27640, #27852)
* Mon Sep 24 2012 Michael Shigorin <mike@altlinux.org> 0.8.2-alt1
- fixed build with recent make-initrd-propagator
* Mon Sep 03 2012 Michael Shigorin <mike@altlinux.org> 0.8.1-alt1
- misc fixes
* Mon Aug 13 2012 Michael Shigorin <mike@altlinux.org> 0.8.0-alt1
- stage2@live
* Mon Aug 06 2012 Michael Shigorin <mike@altlinux.org> 0.7.6-alt1 * Mon Aug 06 2012 Michael Shigorin <mike@altlinux.org> 0.7.6-alt1
- minor improvements - minor improvements

View File

@@ -1,6 +0,0 @@
object 2a437c4d2225bdfd1406765711ba46694c9ed2aa
type commit
tag v0.7.5
tagger Michael Shigorin <mike@altlinux.org> 1343664913 +0400
fixups

View File

@@ -0,0 +1,6 @@
object b44705d25baf5b0f0c0abb526d42c42b312026e9
type commit
tag v0.8.2
tagger Michael Shigorin <mike@altlinux.org> 1348509116 +0400
propagator joy

View File

@@ -1 +1 @@
50e9488f26557b8bcab412e07ae6265c1270938d v0.7.5 8e161378cc7ad174898a8d51697730334b1b712a v0.8.2

View File

@@ -1,5 +1,5 @@
English quickstart: make server-mini.iso; see also English quickstart: make syslinux.iso (after setting up
http://en.altlinux.org/Hasher (a large tmpfs is nice). http://en.altlinux.org/Hasher; large tmpfs helps a lot).
требуется требуется
~~~~~~~~~ ~~~~~~~~~
@@ -27,11 +27,11 @@ $ git config --global user.name "My Name"
$ mkdir ~/out $ mkdir ~/out
- тестовая сборка (см. тж. lib/distro.mk, doc/params.txt): - тестовая сборка (см. тж. lib/distro.mk, doc/params.txt):
$ make icewm.iso $ make syslinux.iso
ссылки ссылки
~~~~~~ ~~~~~~
- http://www.altlinux.org/tmpfs - http://www.altlinux.org/tmpfs
- http://www.altlinux.org/hasher - http://www.altlinux.org/hasher
- http://www.altlinux.org/mkimage - http://www.altlinux.org/mkimage
- http://www.altlinux.org/Mkimage/Profiles/m-p - http://www.altlinux.org/m-p

21
README
View File

@@ -7,11 +7,6 @@ License: GPLv2+, see COPYING
Most docs are in Russian, welcome to learn it or ask for English. Most docs are in Russian, welcome to learn it or ask for English.
См. тж. http://www.altlinux.org/Mkimage/Profiles/m-p и doc/*.txt:
- params.txt: переменные, указываемые при запуске сборки
- features.txt: обзор подключаемых особенностей
- pkglists.txt: формирование состава образа
Задача: Задача:
- конфигурирование и создание образов на базе ALT Linux - конфигурирование и создание образов на базе ALT Linux
@@ -44,13 +39,13 @@ Most docs are in Russian, welcome to learn it or ask for English.
+ базовые комплекты помещены в подкаталогах под sub.in/; + базовые комплекты помещены в подкаталогах под sub.in/;
их наборы скриптов могут расширяться фичами их наборы скриптов могут расширяться фичами
- фичи: - фичи:
+ накопительный список собирается в $(FEATURES)
+ законченные блоки функциональности (или наборы таковых) + законченные блоки функциональности (или наборы таковых)
+ описываются в индивидуальных features.in/*/config.mk + описываются в индивидуальных features.in/*/config.mk
+ могут требовать другие фичи, а также субпрофили + могут требовать другие фичи, а также субпрофили
+ накопительный список собирается в $(FEATURES)
+ при сборке $(BUILDDIR) содержимое фич добавляется в профиль + при сборке $(BUILDDIR) содержимое фич добавляется в профиль
- списки пакетов (*_LISTS): - списки пакетов (*_LISTS):
+ просьба по возможности избегать дублирования + просьба по возможности избегать дублирования (см. bin/pkgdups)
- индивидуальные пакеты (*_PACKAGES): см. тж. conf.d/README - индивидуальные пакеты (*_PACKAGES): см. тж. conf.d/README
Результат: Результат:
@@ -60,3 +55,15 @@ Most docs are in Russian, welcome to learn it or ask for English.
+ либо ~/out/ (если возможно), + либо ~/out/ (если возможно),
+ или $(BUILDDIR)/out/ иначе + или $(BUILDDIR)/out/ иначе
- формируются отчёты, если запрошены (REPORT) - формируются отчёты, если запрошены (REPORT)
См. тж.:
- http://altlinux.org/m-p
- doc/:
+ params.txt: переменные, указываемые при запуске сборки
+ pkglists.txt: формирование состава образа
+ features.txt: обзор подключаемых особенностей
Удачи; что не так -- пишите.
--
Michael Shigorin <mike@altlinux.org>

21
bin/mp-commit Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/sh
# commit the directory ($1) with a message ($2) to git
. shell-error
[ -d "$1" ] || fatal "$1 is not an existing directory"
if type -t git >&/dev/null && pushd "$1" >/dev/null; then
if [ -z "$(git config --global user.name)" ]; then
exit 0
fi
if [ ! -d .git ]; then
git init -q || fatal "git init failed"
fi
if [ -n "$(git status -s)" ]; then
git add . \
&& git commit -qam "$2" \
|| fatal "git add/commit failed"
fi
popd >/dev/null
fi

11
bin/mp-showref Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/sh
# report on git repo in the current directory
if type -t git >&/dev/null; then
if pushd "$1" >/dev/null && [ -d .git ]; then
git show-ref --head -ds -- HEAD
git status -s
echo
popd >/dev/null
fi
fi

View File

@@ -1,4 +1,6 @@
#!/bin/bash -e #!/bin/bash -e
# usage:
# tar2vm chroot.tar image.raw [size_in_bytes]
. shell-error . shell-error
@@ -27,7 +29,7 @@ IMG="$2"
# image size in bytes (256M is a fallback) # image size in bytes (256M is a fallback)
TARSIZE="$(stat -Lc %s "$TAR")" TARSIZE="$(stat -Lc %s "$TAR")"
DEFSIZE="$((3 * $TARSIZE / 2))" DEFSIZE="$((2 * $TARSIZE))"
DISKSIZE="${3:-${DEFSIZE:-268435456}}" DISKSIZE="${3:-${DEFSIZE:-268435456}}"
# ...and in megabytes # ...and in megabytes
DISKSIZEM="$(($DISKSIZE / 1048576))" DISKSIZEM="$(($DISKSIZE / 1048576))"

View File

@@ -11,7 +11,7 @@ distro/.desktop-network: distro/.desktop-mini +vmguest
@$(call add,BASE_LISTS, \ @$(call add,BASE_LISTS, \
$(call tags,(base || desktop) && (l10n || network))) $(call tags,(base || desktop) && (l10n || network)))
distro/icewm: distro/.desktop-network use/lowmem +icewm; @: distro/icewm: distro/.desktop-network use/lowmem use/install2/fs +icewm; @:
distro/tde: distro/.desktop-mini +tde; @: distro/tde: distro/.desktop-mini +tde; @:
distro/ltsp-tde: distro/tde +ltsp; @: distro/ltsp-tde: distro/tde +ltsp; @:
distro/ltsp-icewm: distro/icewm +ltsp; @: distro/ltsp-icewm: distro/icewm +ltsp; @:

View File

@@ -57,7 +57,8 @@ distro/live-cinnamon: distro/.live-desktop use/live/autologin use/live/ru \
use/x11/cinnamon use/x11/3d-proprietary; @: use/x11/cinnamon use/x11/3d-proprietary; @:
distro/live-mate: distro/.live-desktop use/live/nodm use/live/ru use/x11/3d-free distro/live-mate: distro/.live-desktop use/live/nodm use/live/ru use/x11/3d-free
@$(call add,LIVE_LISTS,$(call tags,(desktop || mobile) && mate)) @$(call add,LIVE_LISTS,openssh $(call tags,(desktop || mobile) && mate))
@$(call set,KFLAVOURS,un-def) # the newest one
distro/live-enlightenment: distro/.live-desktop use/live/autologin \ distro/live-enlightenment: distro/.live-desktop use/live/autologin \
use/live/ru use/x11/3d-free use/live/ru use/x11/3d-free

View File

@@ -18,9 +18,16 @@ distro/live-isomd5sum: distro/.base use/live/base use/isomd5sum
distro/live-testserver: distro/live-install use/server/mini distro/live-testserver: distro/live-install use/server/mini
@$(call set,KFLAVOURS,std-def el-smp) @$(call set,KFLAVOURS,std-def el-smp)
distro/live-gns3: distro/live-icewm
@$(call add,LIVE_LISTS,gns3)
@$(call add,LIVE_KMODULES,kvm virtualbox)
distro/server-systemd: distro/server-mini use/systemd distro/server-systemd: distro/server-mini use/systemd
@$(call set,KFLAVOURS,std-def) @$(call set,KFLAVOURS,std-def)
distro/server-test: distro/server-mini use/relname
@$(call set,RELNAME,Test-Server)
# tiny network-only server-ovz installer (stage2 comes over net too) # tiny network-only server-ovz installer (stage2 comes over net too)
distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \ distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \
use/syslinux/ui/menu use/syslinux/localboot.cfg use/memtest use/syslinux/ui/menu use/syslinux/localboot.cfg use/memtest
@@ -28,17 +35,30 @@ distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \
distro/desktop-systemd: distro/icewm use/systemd; @: distro/desktop-systemd: distro/icewm use/systemd; @:
distro/desktop-plymouth: distro/icewm +plymouth; @: distro/desktop-plymouth: distro/icewm +plymouth; @:
distro/live-mate-systemd: distro/live-mate use/systemd use/live/install; @:
endif # IMAGE_CLASS: distro endif # IMAGE_CLASS: distro
ifeq (ve,$(IMAGE_CLASS)) ifeq (ve,$(IMAGE_CLASS))
ifeq (centos,$(REPO))
ve/.centos-base: ve/.bare ve/.centos-base: ve/.bare
@$(call set,IMAGE_INIT_LIST,hasher-pkg-init) @$(call set,IMAGE_INIT_LIST,hasher-pkg-init)
ve/centos: ve/.centos-base ve/centos: ve/.centos-base
@$(call add,BASE_PACKAGES,openssh-server) @$(call add,BASE_PACKAGES,openssh-server)
endif # REPO: centos
ifeq (opensuse,$(REPO))
ve/.opensuse-base: ve/.bare
@$(call set,IMAGE_INIT_LIST,hasher-pkg-init)
@$(call add,BASE_PACKAGES,aaa_base)
endif # REPO: opensuse
endif # IMAGE_CLASS: ve endif # IMAGE_CLASS: ve
ifeq (vm,$(IMAGE_CLASS)) ifeq (vm,$(IMAGE_CLASS))

View File

@@ -1,9 +1,9 @@
# virtual machines # virtual machines
ifeq (vm,$(IMAGE_CLASS)) ifeq (vm,$(IMAGE_CLASS))
# NB: use/x11 employs some installer-feature packages
vm/icewm: vm/bare use/cleanup/installer use/x11/xdm +icewm; @:
vm/net: vm/bare use/vm-net/dhcp use/vm-ssh; @: vm/net: vm/bare use/vm-net/dhcp use/vm-ssh; @:
# NB: use/x11 employs some installer-feature packages
vm/icewm: vm/net use/cleanup/installer use/repo +icewm; @:
endif endif

View File

@@ -106,6 +106,11 @@
- пусто (по умолчанию) либо строка (например, "alpha", "beta") - пусто (по умолчанию) либо строка (например, "alpha", "beta")
+ см. ../image.in/Makefile + см. ../image.in/Makefile
- VM_SIZE
+ задаёт размер несжатого образа виртуальной машины в байтах
+ значение: пусто (по умолчанию двойной размер чрута) или целое
+ см. ../features.in/build-vm/lib/90-build-vm.mk, ../bin/tar2vm
пример пример
~~~~~~ ~~~~~~
make DEBUG=1 CLEAN=1 distro/syslinux.iso make DEBUG=1 CLEAN=1 distro/syslinux.iso

View File

@@ -1,26 +1,9 @@
Для сборки с применением трансляции посредством QEMU Для сборки на "неродной" архитектуре с применением трансляции
выполните от имени root следующие команды: посредством QEMU установите пакет livecd-qemu-arch и выполните
команду register-qemu-arm от имени root (также предоставляется
register-qemu-ppc, но как минимум при сборке под ppc32 на x86_64
известны проблемы эмуляции).
apt-get install qemu-user-binfmt_misc Пример запуска:
modprobe binfmt_misc
echo 32768 > /proc/sys/vm/mmap_min_addr
и сконфигурируйте его применение для требуемых платформ: make ARCH=arm APTCONF=/etc/apt/apt.conf.sisyphus.arm ve/bare.tar
echo ":arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/.host/qemu-arm:" > /proc/sys/fs/binfmt_misc/register
echo ':ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/.host/qemu-ppc:' > /proc/sys/fs/binfmt_misc/register
Если файл /proc/sys/fs/binfmt_misc/register не существует,
потребуется установить и загрузить иное ядро (например, std-def).
Также нужен sources.list с указанием соответствующего репозитория
и ссылающийся на него apt.conf (см. apt.conf.sample); например:
--- sources.list.sisyphus.arm
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus arm classic
---
--- sources.list.4.1.ppc
rpm http://ftp.altlinux.org/pub/people/wart/repos/lioka/powerpc ppc classic
rpm http://ftp.altlinux.org/pub/people/wart/repos/lioka/powerpc noarch classic
---

View File

@@ -2,7 +2,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* постарайтесь не вносить без обсуждения разнобой стилей, * постарайтесь не вносить без обсуждения разнобой стилей,
если есть предметные пожелания по коррекции текущего -- если есть предметные пожелания по коррекции текущего --
пишите в devel-distro@, обсудим; пишите в devel-distro@ или мне (mike@), обсудим;
* перед тем, как делать существенные переработки уже имеющегося * перед тем, как делать существенные переработки уже имеющегося
кода -- опять же опишите проблему, идею и предполагаемый результат, кода -- опять же опишите проблему, идею и предполагаемый результат,

View File

@@ -3,15 +3,18 @@
ВНИМАНИЕ: заключительная операция создания образа жёсткого диска ВНИМАНИЕ: заключительная операция создания образа жёсткого диска
из архива с содержимым корневой файловой системы требует доступа из архива с содержимым корневой файловой системы требует доступа
к sudo и разрешения на выполнение скрипта bin/tar2vm в корневом к sudo и разрешения на выполнение скрипта bin/tar2vm в корневом
каталоге метапрофиля при установке mkimage-profiles из пакета. каталоге метапрофиля при установке mkimage-profiles из пакета
(это в планах исправить, но подход к libguestfs пока успехом
не увенчался).
Соответствующий фрагмент конфигурации sudo(8) может выглядеть как: Соответствующий фрагмент конфигурации sudo(8) может выглядеть как:
mike ALL=NOPASSWD: /usr/share/mkimage-profiles/bin/tar2vm mike ALL=NOPASSWD: /usr/share/mkimage-profiles/bin/tar2vm
При работе с git следует иметь в виду, что предоставлять недоверенному При работе с локальной копией mkimage-profiles.git следует иметь
пользователю право выполнять с повышенными привилегиями доступный ему в виду, что предоставлять недоверенному пользователю право выполнять
по записи скрипт равнозначно предоставлению полных привилегий root. от имени root доступный ему по записи скрипт равнозначно предоставлению
полных привилегий root.
Для работы с более специфичными форматами, чем raw ("буквальный" Для работы с более специфичными форматами, чем raw ("буквальный"
образ диска), потребуется утилита qemu-img из одноименного пакета; образ диска), потребуется утилита qemu-img из одноименного пакета;

View File

@@ -65,21 +65,18 @@ $(FEATURES):
fi; \ fi; \
pushd "$$feat" >/dev/null && \ pushd "$$feat" >/dev/null && \
for sub in / $(SUBPROFILES); do \ for sub in / $(SUBPROFILES); do \
dirtags=; \
if [ "$$sub" = / ]; then \ if [ "$$sub" = / ]; then \
srcdirs="."; \ srcdirs="."; \
dst="."; \ dst="."; \
else \ else \
src="$${sub%/*}"; \ src="$${sub%@*}"; \
dst="$${sub#*/}"; \ dst="$${sub#*@}"; \
srcdirs=; \ srcdirs=; \
if [ -d "$$src" ]; then \ if [ -d "$$src" ]; then \
srcdirs="$$src"; \ srcdirs="$$src"; \
dirtags="&& $$src"; \
fi; \ fi; \
if [ -d "$$dst" -a "$$dst" != "$$src" ]; then \ if [ -d "$$dst" -a "$$dst" != "$$src" ]; then \
srcdirs="$$srcdirs $$dst"; \ srcdirs="$${srcdirs:+$$srcdirs }$$dst"; \
dirtags="&& ($$src || $$dst)"; \
fi; \ fi; \
for srcdir in $$srcdirs; do \ for srcdir in $$srcdirs; do \
rsync -qab --exclude tagged \ rsync -qab --exclude tagged \
@@ -98,39 +95,19 @@ $(FEATURES):
if [ "$$sub" = / -a -d "$$part" ]; then \ if [ "$$sub" = / -a -d "$$part" ]; then \
rsync -qab "$$part/" "$$destdir/"; \ rsync -qab "$$part/" "$$destdir/"; \
fi; \ fi; \
[ -d "tagged/$$part" ] || continue; \
[ "$$srcdir" != "." ] || continue; \
pushd "tagged/$$part" >/dev/null; \
echo "$$feat $$dirtags" \
| tags2lists . \
| xargs -r cp -vpLt "$$destdir" --; \
popd >/dev/null; \
done; \ done; \
popd >&/dev/null; \ popd >&/dev/null; \
done; \ done; \
if type -t git >&/dev/null && \ if [ -n "$$dst" ]; then \
pushd "$(BUILDDIR)/$$dst/" >/dev/null; then \ the="$$sub subprofile"; \
test -n "`git status -s`" && \ else \
git add . && \ the="toplevel"; \
if [ -n "$$dst" ]; then \
the="$$sub subprofile"; \
else \
the="toplevel"; \
fi && \
git commit -qam "$$feat feature: $$the part added"; \
popd >/dev/null; \
fi; \ fi; \
mp-commit "$(BUILDDIR)/$$dst/" "$$feat feature: $$the part added"; \
done; \ done; \
if [ -x "generate.sh" ]; then sh generate.sh; fi; \ if [ -x "generate.sh" ]; then sh generate.sh; fi; \
if [ -s "generate.mk" ]; then $(MAKE) -f generate.mk; fi; \ if [ -s "generate.mk" ]; then $(MAKE) -f generate.mk; fi; \
if type -t git >&/dev/null && \ mp-commit "$(BUILDDIR)" "$$feat feature generation complete"; \
pushd "$(BUILDDIR)/" >/dev/null; then \
if [ -n "`git status -s`" ]; then \
git add . && \
git commit -qam "$$feat feature generation complete"; \
fi; \
popd >/dev/null; \
fi; \
popd >/dev/null popd >/dev/null
finalize: finalize:

View File

@@ -1,28 +1,28 @@
Этот каталог содержит т.н. фичи (features, особенности) -- Этот каталог содержит т.н. фичи (features, особенности).
каталоги, содержимое каждого из которых реализует одну из
подключаемых автономных возможностей образа.
Каждая фича должна содержать задействуемый при построении Фича -- отдельно подключаемая сущность, которая содержит
конфигурации будущего образа файл config.mk, включаемый повторно используемые конфигурацию/код и определяет одну
в ../main.mk; он может описывать одну или более целей из особенностей создаваемого образа. Может зависеть от
вида use/*, дополняющих конфигурацию, и при наличии других фич либо субпрофилей.
дополнительных хуков для копирования или generate.*
обязан добавить имя фичи в $(FEATURES), для чего Каждая фича должна содержать файл config.mk, включаемый
создана функция add_feature без аргументов. в ../main.mk при построении конфигурации будущего профиля;
он может описывать одну или более целей вида use/*,
дополняющих конфигурацию, и обязан добавить имя фичи
в $(FEATURES), для чего создана функция add_feature.
На этапе генерации сборочного профиля фичи рассматриваются На этапе генерации сборочного профиля фичи рассматриваются
после инициализации профиля (см. ../image.in/) и копирования после инициализации профиля (см. ../image.in/) и копирования
субпрофилей (см. ../sub.in/). Для каждой фичи, указанной субпрофилей (см. ../sub.in/). Для каждой фичи, указанной
в $(FEATURES), копируются подкаталоги сообразно субпрофилям, в $(FEATURES), копируются подкаталоги сообразно включенным
а также производится обработка {image-,}scripts.d/; затем субпрофилям, а также lib/ и {image-,}scripts.d/; затем
выполняется скрипт generate.sh и задействуется generate.mk выполняются generate.sh и generate.mk при их наличии.
(при их наличии).
Если фича дополняет хуками семейство целевых субпрофилей, Если фича дополняет хуками семейство целевых субпрофилей,
построенных на одном базовом, можно воспользоваться подкаталогом построенных на одном базовом, можно воспользоваться подкаталогом
с именем исходного базового субпрофиля (см. $src, $dst в Makefile). с именем исходного базового субпрофиля (см. $src, $dst в Makefile).
Наиболее употребительные цели можно снабжать "ярлычками" вроде Наиболее востребованные цели можно снабжать "ярлычками" вроде
"+icewm" с тем, чтобы сделать более краткими и выразительными "+icewm" с тем, чтобы сделать более краткими и выразительными
использующие их правила. Просьба не злоупотреблять количеством. использующие их правила. Просьба не злоупотреблять количеством.

View File

@@ -11,4 +11,7 @@
произведена ещё одна попытка переключения на grub, то в конфигурации произведена ещё одна попытка переключения на grub, то в конфигурации
останется lilo как последняя "новая" цель с точки зрения make. останется lilo как последняя "новая" цель с точки зрения make.
При необходимости всё-таки "пересилить" последнее изменение можно
@$(call set,BASE_BOOTLOADER,grub_или_lilo)
Реализация экспериментальная (нужно модуляризовать installer-steps). Реализация экспериментальная (нужно модуляризовать installer-steps).

View File

@@ -1,8 +1,7 @@
# step 4: build the distribution image # step 4: build the distribution image
# for complex-specified subprofiles like stage2/live, # take the latter part for complex-specified subprofiles like stage2@live
# take the latter part SUBDIRS = $(SUBPROFILE_DIRS)
SUBDIRS = $(notdir $(SUBPROFILES))
# proxy over the ISO metadata collected; see also genisoimagerc(5) # proxy over the ISO metadata collected; see also genisoimagerc(5)
BOOT_SYSI := $(META_SYSTEM_ID) BOOT_SYSI := $(META_SYSTEM_ID)
@@ -24,6 +23,7 @@ all: $(GLOBAL_DEBUG) prep copy-subdirs copy-tree run-scripts pack-image \
prep: $(GLOBAL_DEBUG) dot-disk $(WHATEVER) prep: $(GLOBAL_DEBUG) dot-disk $(WHATEVER)
# can't use mp-showref which belongs to the metaprofile
dot-disk: dot-disk:
@mkdir -p files/.disk @mkdir -p files/.disk
@echo "ALT Linux based" >files/.disk/info @echo "ALT Linux based" >files/.disk/info

View File

@@ -1,5 +1,5 @@
# alterator-based installer, second (livecd) stage # alterator-based installer, second (livecd) stage
use/install2: use/stage2 sub/stage2/install2 use/metadata use/cleanup/installer use/install2: use/stage2 sub/stage2@install2 use/metadata use/cleanup/installer
@$(call add_feature) @$(call add_feature)
@$(call set,INSTALL2_PACKAGES,installer-distro-$$(INSTALLER)-stage2) @$(call set,INSTALL2_PACKAGES,installer-distro-$$(INSTALLER)-stage2)
@$(call add,INSTALL2_PACKAGES,branding-$$(BRANDING)-alterator) @$(call add,INSTALL2_PACKAGES,branding-$$(BRANDING)-alterator)
@@ -17,3 +17,15 @@ use/install2/kms: use/stage2/kms
# see also use/vmguest/kvm; qxl included in xorg pkglist # see also use/vmguest/kvm; qxl included in xorg pkglist
use/install2/kvm: use/install2/kvm:
@$(call add,INSTALL2_PACKAGES,spice-vdagent xorg-drv-qxl) @$(call add,INSTALL2_PACKAGES,spice-vdagent xorg-drv-qxl)
# filesystems handling
use/install2/fs: use/install2/xfs use/install2/jfs use/install2/reiserfs; @:
use/install2/xfs:
@$(call add,INSTALL2_PACKAGES,xfsprogs)
use/install2/jfs:
@$(call add,INSTALL2_PACKAGES,jfsutils)
use/install2/reiserfs:
@$(call add,INSTALL2_PACKAGES,reiserfsprogs)

View File

@@ -1,4 +1,4 @@
### ###
use/kernel: use/kernel:
@$(call add_feature) @$(call add_feature)
@$(call set,KFLAVOURS,std-def) @$(call set,KFLAVOURS,un-def)

View File

@@ -2,7 +2,7 @@
# copy stage2 as live # copy stage2 as live
# NB: starts to preconfigure but doesn't use/cleanup yet # NB: starts to preconfigure but doesn't use/cleanup yet
use/live: use/stage2 sub/stage2/live use/live: use/stage2 sub/stage2@live
@$(call add_feature) @$(call add_feature)
@$(call add,CLEANUP_PACKAGES,'installer*') @$(call add,CLEANUP_PACKAGES,'installer*')

View File

@@ -1,8 +1,8 @@
+plymouth: use/plymouth/full; @: +plymouth: use/plymouth/full; @:
# and a few silent aliases # and a few aliases
use/plymouth/live: use/plymouth/stage2 use/plymouth/live: use/plymouth/stage2; @:
use/plymouth/install2: use/plymouth/stage2 use/plymouth/install2: use/plymouth/stage2; @:
use/plymouth: use/plymouth:
@$(call add_feature) @$(call add_feature)

View File

@@ -0,0 +1,4 @@
Эта фича меняет содержимое файла /etc/altlinux-release в соответствии
с установленной переменной RELNAME, что изменяет пункты загрузки GRUB.
Применяется при необходимости перекрыть внесенный брендингом текст.

View File

@@ -0,0 +1,3 @@
use/relname:
@$(call add_feature)
@$(call xport,RELNAME)

View File

@@ -0,0 +1,20 @@
#!/bin/sh -ef
# create a postinstall script to perform the change afterwards
if [ -z "$GLOBAL_RELNAME" ]; then
echo "** warning: relname feature enabled but RELNAME not set" >&2
exit 0
fi
if [ -n "$GLOBAL_VERBOSE" ]; then
echo "** Change /etc/altlinux-release contents to the release name" >&2
fi
SCRIPT="/usr/share/install2/postinstall.d/91-relname"
cat > "$SCRIPT" << EOF
#!/bin/sh
a= . install2-init-functions
exec_chroot sh -c 'echo "$GLOBAL_RELNAME" > /etc/altlinux-release'
exec_chroot sh -c 'grub-mkconfig -o /boot/grub/grub.cfg >&/dev/null ||:'
EOF
chmod +x "$SCRIPT"

View File

@@ -0,0 +1,20 @@
#!/bin/sh
# enable online repos if possible, just quit if anything's wrong
repo_source='/etc/apt/sources.list.d/alt.list'
host='http://ftp.altlinux.org'
[ -s "$repo_source" ] || exit 0
# regexps from alterator-pkg (via installer-feature-online-repo)
prefix_re="[[:space:]]*rpm[[:space:]]\+\([^[:space:]]\+[[:space:]]\+\)\?"
updates_re="${prefix_re}http:\/\/\([^[:space:]]\+\)[[:space:]]*"
# architectures
host_arch="$(rpm --eval '%_host_cpu')"
[ "$host_arch" = "x86_64" ] && compat="x86_64-i586" || compat=
# turn on unconditionally
for arch in "$host_arch" noarch "$compat"; do
sed -i "s/^#\($updates_re$arch\)/\1/" "$repo_source"
done

View File

@@ -1,4 +1,5 @@
use/rescue: use/stage2 sub/stage2/rescue use/rescue: use/stage2 sub/stage2@rescue use/syslinux/sdab.cfg \
use/firmware/server use/firmware/wireless
@$(call add_feature) @$(call add_feature)
@$(call add,RESCUE_LISTS, \ @$(call add,RESCUE_LISTS, openssh \
$(call tags,(base || extra) && (rescue || network))) $(call tags,(base || extra) && (rescue || network)))

View File

@@ -2,5 +2,5 @@
# prepare base make-initrd configuration for stage1 # prepare base make-initrd configuration for stage1
# see also http://www.altlinux.org/Make-initrd-propagator # see also http://www.altlinux.org/Make-initrd-propagator
sed -i 's/AUTODETECT/#AUTODETECT/' /etc/initrd.mk sed -i 's/AUTODETECT/#&/' /etc/initrd.mk
echo 'FEATURES += propagator' >> /etc/initrd.mk echo 'FEATURES += propagator' >> /etc/initrd.mk

View File

@@ -1,6 +1,8 @@
#!/bin/sh -efu #!/bin/sh -efux
# NB: /etc/initrd.mk carefully prepared by earlier scripts # NB: /etc/initrd.mk carefully prepared by earlier scripts
verbose() { [ -n "$GLOBAL_VERBOSE" ] && echo "** 80-make-initfs: $@" >&2; }
kver="$(rpm -qa 'kernel-image*' \ kver="$(rpm -qa 'kernel-image*' \
--qf '%{installtime} %{version}-%{name}-%{release}\n' \ --qf '%{installtime} %{version}-%{name}-%{release}\n' \
| sort -n \ | sort -n \
@@ -12,15 +14,25 @@ MAKE_INITRD_OPTS="--no-checks -k $kver"
MAKE_INITRD_VER="`make-initrd -V \ MAKE_INITRD_VER="`make-initrd -V \
| sed -rn 's/^make-initrd version ([0-9.]+)/\1/p'`" | sed -rn 's/^make-initrd version ([0-9.]+)/\1/p'`"
# make-initrd >= 0.7.8
if [ "`rpmvercmp "$MAKE_INITRD_VER" "0.7.8"`" != "-1" ]; then if [ "`rpmvercmp "$MAKE_INITRD_VER" "0.7.8"`" != "-1" ]; then
MAKE_INITRD_OPTS="$MAKE_INITRD_OPTS --no-depmod" MAKE_INITRD_OPTS="$MAKE_INITRD_OPTS --no-depmod"
fi fi
[ -z "$GLOBAL_VERBOSE" ] || MAKE_INITRD_OPTS="$MAKE_INITRD_OPTS -v"
if make-initrd $MAKE_INITRD_OPTS; then if make-initrd $MAKE_INITRD_OPTS; then
gzip < /boot/initrd-$kver.img > $(getconf LIBDIR)/propagator/initfs pdir="$(getconf LIBDIR)/propagator"
if [ -d "$pdir" ]; then # p5/t6
verbose "$pdir exists"
gzip < /boot/initrd-$kver.img > "$pdir"/initfs
else
verbose "$pdir missing, no-op"
fi
else else
exit 1 exit 1
fi fi
[ -h /boot/vmlinuz ] || ln -s vmlinuz-$kver /boot/vmlinuz [ -h /boot/vmlinuz ] || ln -s vmlinuz-$kver /boot/vmlinuz
[ -h /boot/initrd.img ] || ln -s initrd-$kver.img /boot/initrd.img [ -h /boot/initrd.img ] || ln -s initrd-$kver.img /boot/initrd.img
:

View File

@@ -1,3 +1,3 @@
ui gfxboot bootlogo message ui gfxboot bootlogo message
menu title ALT Linux (@mkimage-profiles@) menu title @relname@
prompt 0 prompt 0

View File

@@ -1,3 +1,3 @@
ui menu.c32 ui menu.c32
menu title ALT Linux (@mkimage-profiles@) menu title @relname@
prompt 0 prompt 0

View File

@@ -1,2 +1,2 @@
say ALT Linux (@mkimage-profiles@) say @relname@
prompt 1 prompt 1

View File

@@ -1,3 +1,3 @@
ui vesamenu ui vesamenu
menu title ALT Linux (@mkimage-profiles@) menu title @relname@
prompt 0 prompt 0

View File

@@ -1,5 +1,5 @@
label linux label linux
menu label ^Install @distro@ menu label ^Install @relname@
kernel alt0/vmlinuz kernel alt0/vmlinuz
append initrd=alt0/full.cz changedisk fastboot showopts automatic=method:cdrom ramdisk_size=@altinst_size@ vga=0x314 @bootargs@ append initrd=alt0/full.cz changedisk fastboot showopts automatic=method:cdrom ramdisk_size=@altinst_size@ vga=0x314 @bootargs@

View File

@@ -1,5 +1,5 @@
label netinst label netinst
menu label Install server-ovz via inter^net menu label Install @relname@ via inter^net
kernel alt0/vmlinuz kernel alt0/vmlinuz
append initrd=alt0/full.cz fastboot showopts automatic=method:http,network:dhcp,server:ftp.linux.kiev.ua,directory:/pub/Linux/ALT/people/mike/iso/mkimage-profiles/netinst/server-ovz/x86_64 quiet=1 ramdisk_size=131072 vga=0x314 append initrd=alt0/full.cz fastboot showopts automatic=method:http,network:dhcp,server:ftp.linux.kiev.ua,directory:/pub/Linux/ALT/people/mike/iso/mkimage-profiles/netinst/server-ovz/x86_64 quiet=1 ramdisk_size=131072 vga=0x314
### hardwired parameters and strings should become dynamic someday ### hardwired parameters and strings should become dynamic someday

View File

@@ -0,0 +1,8 @@
label sda
menu label Boot from ^1st hard/flash drive
localboot 0x80
label sdb
menu label Boot from ^2nd hard/flash drive
localboot 0x81

View File

@@ -3,6 +3,7 @@ use/syslinux: sub/stage1
@$(call add_feature) @$(call add_feature)
@$(call add,STAGE1_PACKAGES,syslinux) @$(call add,STAGE1_PACKAGES,syslinux)
@$(call try,META_SYSTEM_ID,SYSLINUX) @$(call try,META_SYSTEM_ID,SYSLINUX)
@$(call set,RELNAME,ALT Linux ($(IMAGE_NAME)))
# UI is overwritten # UI is overwritten
use/syslinux/ui/%: use/syslinux use/syslinux/ui/%: use/syslinux

View File

@@ -22,9 +22,9 @@ SYSLINUX_UI := none
endif endif
# SUBPROFILES are considered SYSLINUX_CFG too # SUBPROFILES are considered SYSLINUX_CFG too
# (note these can appear like stage2/live); # (note these can appear like stage2@live);
# 01defaults.cfg is included indefinitely # 01defaults.cfg is included indefinitely
SYSLINUX_CFG := $(SYSLINUX_CFG) $(notdir $(SUBPROFILES)) defaults SYSLINUX_CFG := $(SYSLINUX_CFG) $(SUBPROFILE_DIRS) defaults
DSTDIR := $(BUILDDIR)/stage1/files/syslinux/.in DSTDIR := $(BUILDDIR)/stage1/files/syslinux/.in
@@ -49,9 +49,12 @@ cfg = $(wildcard cfg.in/??$(1).cfg)
all: debug timeout all: debug timeout
@### proper text branding should be implemented @### proper text branding should be implemented
@sed -i 's,@mkimage-profiles@,$(IMAGE_NAME),' $(DSTDIR)/*.cfg
@echo $(SYSLINUX_MODULES) > $(DSTDIR)/modules.list @echo $(SYSLINUX_MODULES) > $(DSTDIR)/modules.list
@echo $(SYSLINUX_FILES) > $(DSTDIR)/syslinux.list @echo $(SYSLINUX_FILES) > $(DSTDIR)/syslinux.list
@sed -i \
-e 's,@mkimage-profiles@,$(IMAGE_NAME),' \
-e 's,@relname@,$(RELNAME),' \
$(DSTDIR)/*.cfg
# integerity check # integerity check
timeout: distro timeout: distro

View File

@@ -1,4 +1,4 @@
use/systemd: use/systemd:
@$(call add_feature) @$(call add_feature)
@$(call add,COMMON_PACKAGES,systemd systemd-units systemd-sysvinit) @$(call add,COMMON_PACKAGES,systemd systemd-units systemd-sysvinit)
@$(call add,COMMON_PACKAGES,installer-feature-systemd-stage3) @$(call add,COMMON_PACKAGES,installer-feature-systemd-stage3 chkconfig)

View File

@@ -52,7 +52,7 @@ GLOBAL_TARGET := $(ARCH)
GLOBAL_HSH_APT_CONFIG := $(wildcard $(APTCONF)) GLOBAL_HSH_APT_CONFIG := $(wildcard $(APTCONF))
# the lib/build-*.mk comes from features.in/build-*/lib # the lib/build-*.mk comes from features.in/build-*/lib
include lib/*.mk include $(sort $(wildcard lib/*.mk))
include $(MKIMAGE_PREFIX)/targets.mk include $(MKIMAGE_PREFIX)/targets.mk
# specified only for the final image (target-specific) # specified only for the final image (target-specific)

View File

@@ -0,0 +1,6 @@
#!/bin/sh
# fixup chroot's toplevel directory permissions (use to become 1775)
chmod 755 /
rm -f /.gitignore

View File

@@ -51,11 +51,9 @@ distclean: clean
# builddir existing outside read-only metaprofile is less ephemeral # builddir existing outside read-only metaprofile is less ephemeral
# than BUILDDIR variable is -- usually it's unneeded afterwards # than BUILDDIR variable is -- usually it's unneeded afterwards
# so just zap it unless DEBUG has been requested (moreso for multi
# image builds, UI based ones, and readonly metaprofile; or CHECK)
postclean: build-image postclean: build-image
@{ \ @{ \
if [ "0$(DEBUG)" -lt 2 -a -z "$(CHECK)" ] && \ if [ "0$(DEBUG)" -lt 2 -a -z "$(CHECK)$(REPORT)" ] && \
[ "$(NUM_TARGETS)" -gt 1 \ [ "$(NUM_TARGETS)" -gt 1 \
-o -n "$(__frontend)" \ -o -n "$(__frontend)" \
-o ! -L "$(SYMLINK)" ]; then \ -o ! -L "$(SYMLINK)" ]; then \

View File

@@ -44,13 +44,7 @@ profile/init: distclean
@$(call put,ifndef DISTCFG_MK) @$(call put,ifndef DISTCFG_MK)
@$(call put,DISTCFG_MK = 1) @$(call put,DISTCFG_MK = 1)
@{ \ @{ \
if type -t git >&/dev/null; then \ mp-showref $(LOG); \
if [ -d .git ]; then \
git show-ref --head -d -s -- HEAD && \
git status -s && \
echo; \
fi $(LOG); \
fi; \
{ \ { \
APTCONF="$(wildcard $(APTCONF))"; \ APTCONF="$(wildcard $(APTCONF))"; \
echo "** using $${APTCONF:-system apt configuration}:"; \ echo "** using $${APTCONF:-system apt configuration}:"; \
@@ -71,14 +65,7 @@ profile/init: distclean
fi >&2; \ fi >&2; \
exit 1; \ exit 1; \
fi; \ fi; \
if type -t git >&/dev/null; then \ mp-commit "$(BUILDDIR)" "derivative profile initialized"; \
if cd $(BUILDDIR); then \
git init -q && \
git add . && \
git commit -qam 'derivative profile initialized'; \
cd ->&/dev/null; \
fi; \
fi; \
if [ -w . ]; then \ if [ -w . ]; then \
rm -f "$(SYMLINK)" && \ rm -f "$(SYMLINK)" && \
ln -s "$(BUILDDIR)" "$(SYMLINK)" && \ ln -s "$(BUILDDIR)" "$(SYMLINK)" && \
@@ -98,21 +85,17 @@ profile/bare: profile/init
@$(call try,IMAGEDIR,$(IMAGEDIR)) @$(call try,IMAGEDIR,$(IMAGEDIR))
@$(call try,LOGDIR,$(LOGDIR)) @$(call try,LOGDIR,$(LOGDIR))
@$(call try,BRANDING,altlinux-sisyphus) @$(call try,BRANDING,altlinux-sisyphus)
ifeq (,$(REPO:altlinux%=))
@$(call set,IMAGE_INIT_LIST,+branding-$$(BRANDING)-release) @$(call set,IMAGE_INIT_LIST,+branding-$$(BRANDING)-release)
@if type -t git >&/dev/null && cd $(BUILDDIR); then \ endif
git init -q && \ @mp-commit "$(BUILDDIR)" "image configuration defaults set"
git add . && \
git commit -qam 'image configuration defaults set'; \
fi
# put the derived SUBPROFILE_DIRS here to get it logged in clear text by the way
profile/finalize: profile/finalize:
@$(call put,SUBPROFILE_DIRS = $$(notdir $$(subst @,/,$$(SUBPROFILES))))
@if [ -s $(RC) ]; then $(call put,-include $(RC)); fi @if [ -s $(RC) ]; then $(call put,-include $(RC)); fi
@$(call put,endif) @$(call put,endif)
@if type -t git >&/dev/null && cd $(BUILDDIR); then \ @mp-commit "$(BUILDDIR)" "image configuration finalized"
git init -q && \
git add . && \
git commit -qam 'image configuration finalized'; \
fi
# requires already formed distcfg.mk for useful output # requires already formed distcfg.mk for useful output
profile/dump-vars: profile/dump-vars:

View File

@@ -8,7 +8,7 @@ ifeq (vm,$(IMAGE_CLASS))
vm/.bare: profile/bare vm/.bare: profile/bare
@$(call add,BASE_PACKAGES,interactivesystem lilo shadow-utils e2fsprogs) @$(call add,BASE_PACKAGES,interactivesystem lilo shadow-utils e2fsprogs)
@$(call set,KFLAVOURS,std-def) @$(call set,KFLAVOURS,un-def)
vm/bare: vm/.bare vm/bare: vm/.bare
@$(call add,BASE_PACKAGES,apt) @$(call add,BASE_PACKAGES,apt)

View File

@@ -30,7 +30,7 @@ export MKIMAGE_PROFILES := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
-include $(HOME)/.mkimage/profiles.mk -include $(HOME)/.mkimage/profiles.mk
# most of the actual work done elsewhere # most of the actual work done elsewhere
include lib/*.mk include $(sort $(wildcard lib/*.mk))
include conf.d/*.mk include conf.d/*.mk
include features.in/*/config.mk include features.in/*/config.mk

View File

@@ -14,13 +14,7 @@ all: $(GLOBAL_DEBUG)
mkdir -p $(TARGET) && \ mkdir -p $(TARGET) && \
cp -at $(TARGET) -- \ cp -at $(TARGET) -- \
$(addsuffix .directory,$(THE_GROUPS) $(MAIN_GROUPS)); \ $(addsuffix .directory,$(THE_GROUPS) $(MAIN_GROUPS)); \
if type -t git >&/dev/null && cd $(TARGET); then \ mp-commit "$(TARGET)" "requested $(SUFFIX) copied over"; \
if [ -n "`git status -s`" ]; then \
git add . && \
git commit -qam "requested $(SUFFIX) copied over"; \
fi; \
cd - >&/dev/null; \
fi; \
fi fi
debug: debug:

View File

@@ -19,13 +19,7 @@ SUFFIX := pkg/lists
TARGET := $(BUILDDIR)/$(SUFFIX) TARGET := $(BUILDDIR)/$(SUFFIX)
all: $(TARGET) $(GLOBAL_DEBUG) $(DOTBASE) copy-lists copy-groups all: $(TARGET) $(GLOBAL_DEBUG) $(DOTBASE) copy-lists copy-groups
@if type -t git >&/dev/null && cd $(TARGET); then \ @mp-commit "$(TARGET)" "requested $(SUFFIX) copied over"
if [ -n "`git status -s`" ]; then \
git add . && \
git commit -qam "requested $(SUFFIX) copied over"; \
fi; \
cd - >&/dev/null; \
fi
copy-lists: copy-lists:
@# env | sort -u | grep _LISTS | xargs cp @# env | sort -u | grep _LISTS | xargs cp

15
pkg.in/lists/gns3 Normal file
View File

@@ -0,0 +1,15 @@
gns3
dynamips
dynagen
qemu
qemu-kvm
virtualbox
wireshark
su
livecd-virtualbox
livecd-online-repo

View File

@@ -2,6 +2,7 @@ vzctl
vzdump vzdump
#vzautolimit #vzautolimit
#vzfree #vzfree
vzquota
#vzvalidate #vzvalidate
htop htop
yabeda yabeda

View File

@@ -3,3 +3,4 @@ xinit
xinitrc xinitrc
livecd-setlocale livecd-setlocale
installer-feature-runlevel5-stage3 installer-feature-runlevel5-stage3
su

View File

@@ -15,6 +15,36 @@ mate-session
#mate-session-manager #mate-session-manager
mate-settings-daemon mate-settings-daemon
mate-themes mate-themes
mate-vfs mate-vfs gvfs-backends
mate-vfs-smb mate-vfs-smb
mate-window-manager mate-window-manager
mate-applets
mate-bluetooth
mate-calc
mate-charmap
mate-document-viewer
mate-document-viewer-caja
mate-document-viewer-djvu
mate-file-archiver
mate-image-viewer
mate-media
mate-media-apps
mate-netspeed
mate-power-manager
mate-screensaver
mate-terminal
mate-utils
mate-utils-mate-system-log
mate-file-manager-extensions
mate-file-manager-image-converter
mate-file-manager-open-terminal
mate-file-manager-sendto
parcellite
### should be dropped at some stage; see bugreports within this thread:
# http://lists.altlinux.org/pipermail/sisyphus/2012-August/358079.html
libmatekbd-capplet
iso-codes
tzdata

View File

@@ -16,6 +16,7 @@ qt4-settings
qtparted qtparted
tubularix tubularix
smplayer smplayer
qps
# upstream recommended # upstream recommended
#ptbatterysystemtray #ptbatterysystemtray

View File

@@ -0,0 +1,2 @@
cryptmount
cryptsetup

View File

@@ -24,9 +24,11 @@ parted
sdparm sdparm
sfdisk sfdisk
smartmontools smartmontools
testdisk
mtools mtools
partimage partimage
gdisk
cgdisk
fixparts
# Applications # Applications
binutils binutils
@@ -60,12 +62,20 @@ reiserfsprogs
xfsprogs xfsprogs
btrfs-progs btrfs-progs
ext3grep ext3grep
dmsdos
extundelete
scalpel
testdisk
testdisk-doc
zerofree
wipefreespace
# Applications/Networking # Applications/Networking
arpwatch arpwatch
elinks elinks
hostinfo hostinfo
iftop iftop
ipmitool
iproute2 iproute2
iptables iptables
iputils iputils

View File

@@ -10,22 +10,17 @@ include $(BUILDDIR)/distcfg.mk
# take src/ and put it as dst/ (for stage2 variants) # take src/ and put it as dst/ (for stage2 variants)
all: all:
@for sub in $(SUBPROFILES); do \ @for sub in $(SUBPROFILES); do \
src="$${sub%/*}" && \ src="$${sub%@*}" && \
dst="$${sub#*/}" && \ dst="$${sub#*@}" && \
neq="$${src#$$dst}" && \ neq="$${src#$$dst}" && \
rsync -qa "$$src/" "$(BUILDDIR)/$$dst/" && \ rsync -qa "$$src/" "$(BUILDDIR)/$$dst/" && \
if type -t git >&/dev/null && cd "$(BUILDDIR)/$$dst/"; then \ mp-commit "$(BUILDDIR)/$$dst/" \
if [ -n "`git status -s`" ]; then \ "$$dst subprofile initialized$${neq:+ (using $$src)}"; \
git add . && \
git commit -qam "$$dst subprofile initialized$${neq:+ (using $$src)}"; \
fi; \
cd - >&/dev/null; \
fi; \
done done
clean: clean:
@for sub in $(SUBPROFILES); do \ @for sub in $(SUBPROFILES); do \
dst="${sub#*/}" && \ dst="${sub#*@}" && \
if [ -n "$$dst" -a -n "$(BUILDDIR)" ]; then \ if [ -n "$$dst" -a -n "$(BUILDDIR)" ]; then \
rm -r "$(BUILDDIR)/$$dst" && \ rm -r "$(BUILDDIR)/$$dst" && \
mkdir -p "$(BUILDDIR)/$$dst"; \ mkdir -p "$(BUILDDIR)/$$dst"; \

View File

@@ -29,7 +29,7 @@ IMAGE_PACKAGES = $(call map,list, \
$(SYSTEM_PACKAGES) $(COMMON_PACKAGES) \ $(SYSTEM_PACKAGES) $(COMMON_PACKAGES) \
$(THE_PACKAGES) $(BASE_PACKAGES) $(MAIN_PACKAGES) $(THE_PACKAGES) $(BASE_PACKAGES) $(MAIN_PACKAGES)
-include lib/*.mk -include $(sort $(wildcard lib/*.mk))
MKI_DESTDIR = ALTLinux/RPMS.main MKI_DESTDIR = ALTLinux/RPMS.main
MKI_PACK_RESULTS = data MKI_PACK_RESULTS = data

View File

@@ -41,7 +41,7 @@ CHROOT_PACKAGES = $(STAGE1_PACKAGES) $(SYSTEM_PACKAGES)
# pass for use/stage2 # pass for use/stage2
GLOBAL_SQUASHFS := $(SQUASHFS) GLOBAL_SQUASHFS := $(SQUASHFS)
-include lib/*.mk -include $(sort $(wildcard lib/*.mk))
# scripts prepare bootloader configuration, too # scripts prepare bootloader configuration, too
# NB: we pass tested squashfs options for ../stage2/Makefile to include # NB: we pass tested squashfs options for ../stage2/Makefile to include

View File

@@ -37,7 +37,7 @@ IMAGE_PACKAGES_REGEXP += $(call kpackages, \
$(STAGE2_KMODULES) $(STAGE2_KMODULES_REGEXP), \ $(STAGE2_KMODULES) $(STAGE2_KMODULES_REGEXP), \
$(STAGE1_KFLAVOUR)) $(STAGE1_KFLAVOUR))
-include lib/*.mk -include $(sort $(wildcard lib/*.mk))
# see also scripts.d/99-elf-stats # see also scripts.d/99-elf-stats
ifdef GLOBAL_SQUASHFS_SORT ifdef GLOBAL_SQUASHFS_SORT

View File

@@ -0,0 +1,6 @@
#!/bin/sh
# fixup chroot's toplevel directory permissions (use to become 1775)
chmod 755 /
rm -f /.gitignore