Mp: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Докидываем скрипты через фичу)
(Добавляем фичу, список пакетов и включение необходимых сервисов в конфиг)
Строка 160: Строка 160:
 
[здесь обязательно TAB, НЕ пробел!]+plymouth use/browser/firefox use/nntc-gnome \
 
[здесь обязательно TAB, НЕ пробел!]+plymouth use/browser/firefox use/nntc-gnome \
 
...
 
...
<pre>
+
</pre>
  
 
2. Так включаются сервисы через systemd:
 
2. Так включаются сервисы через systemd:
Строка 170: Строка 170:
 
[здесь обязательно TAB, НЕ пробел!]@$(call add,CONTROL,openssl-gost:enabled)
 
[здесь обязательно TAB, НЕ пробел!]@$(call add,CONTROL,openssl-gost:enabled)
 
...
 
...
<pre>
+
</pre>
  
 
3. Так включаются сервисы через control:
 
3. Так включаются сервисы через control:
Строка 177: Строка 177:
 
[здесь обязательно TAB, НЕ пробел!]@$(call add,CONTROL,openssl-gost:enabled)
 
[здесь обязательно TAB, НЕ пробел!]@$(call add,CONTROL,openssl-gost:enabled)
 
...
 
...
<pre>
+
</pre>
  
 
4. Так можно дополнить дистрибутив пакетами из репозитория (см. выше файл со списком пакетов):
 
4. Так можно дополнить дистрибутив пакетами из репозитория (см. выше файл со списком пакетов):
Строка 184: Строка 184:
 
[здесь обязательно TAB, НЕ пробел!]@$(call add,THE_LISTS,nntc)
 
[здесь обязательно TAB, НЕ пробел!]@$(call add,THE_LISTS,nntc)
 
...
 
...
<pre>
+
</pre>
  
  
Строка 192: Строка 192:
 
#[здесь обязательно TAB, НЕ пробел!]@$(call add,CLEANUP_BASE_PACKAGES,gnome-session-wayland)
 
#[здесь обязательно TAB, НЕ пробел!]@$(call add,CLEANUP_BASE_PACKAGES,gnome-session-wayland)
 
...
 
...
<pre>
+
</pre>

Версия 13:53, 25 апреля 2025

Alt m-p

Клонируем репозиторий сборочницы

git clone git://git.altlinux.org/people/antohami/packages/mkimage-profiles.git mp

Докидываем пакеты

cat << EOF > mp/pkg.in/lists/nntc
1c-preinstall-full
alterator-auth
alterator-gpupdate
cifs-utils
dialog
docker-engine
docker-compose-v2
dpkg
exfatprogs
fuse-gvfs 
fuse-smb
gimp
git
gpupdate
gvfs-backend-mtp
gvfs-backend-smb
hplip
hplip-hpijs
kio-extras
umbrello 
kf5-kio
lazarus
LibreOffice-full
LibreOffice-gtk3
mtpfs
ntfs-3g
openssh
openvpn
pam_mount
pam_script
pve-manager
pwgen
realmd
remmina
remmina-plugins-rdp
remmina-plugins-vnc
samba-client
samba-common-tools
sendmail
sssd-ad
systemd-settings-enable-kill-user-processes
terminator
usrmerge-hier-convert
virtualbox
vlc
virt-viewer
x11vnc
xdg-utils
xsane
arduino
chromium
chromium-gost
dia
freecad
tmate
java-21-openjdk-devel
java-21-openjdk
emacs-gtk3
gcc-c++
gdb
ddd
openssl-gost-engine
afce
alien
rpm-build
snapd
MySQL-client
mysql-workbench-community
systemd-timesyncd
obs-studio
EOF

Докидываем скрипты через фичу

cat << 'EOF' > mp/features.in/nntc-gnome/config.mk
use/nntc-gnome:
	@$(call add_feature)
EOF


mkdir -p mp/features.in/nntc-gnome/install2/files/usr/share/install2/postinstall.d

cat << 'EOF' > mp/features.in/nntc-gnome/install2/files/usr/share/install2/postinstall.d/00-nntc-gnome-install2.sh
#!/bin/sh

ROOT_MOUNTPOINT='/mnt/destination'

cat << 'EEOF' > ${ROOT_MOUNTPOINT}/usr/sbin/nntc-install2-test.sh
#!/bin/sh
echo "Hello from install2!" >> /tmp/nntc-install2-test.log

EEOF

chmod +x ${ROOT_MOUNTPOINT}/usr/sbin/nntc-install2-test.sh
EOF


mkdir -p mp/features.in/nntc-gnome/live/files/usr/share/install2/postinstall.d

cat << 'EOF' > mp/features.in/nntc-gnome/live/files/usr/share/install2/postinstall.d/00-nntc-gnome-live.sh
#!/bin/sh

ROOT_MOUNTPOINT='/mnt/destination'

cat << 'EEOF' > ${ROOT_MOUNTPOINT}/usr/sbin/nntc-live-test.sh
#!/bin/sh
echo "Hello from live!" >> /tmp/nntc-live-test.log

EEOF

chmod +x ${ROOT_MOUNTPOINT}/usr/sbin/nntc-live-test.sh
EOF


Добавляем фичу, список пакетов и включение необходимых сервисов в конфиг

В файле

mp/conf.d/regular.mk

найти секцию похожую на:

distro/regular-gnome: distro/.regular-desktop mixin/regular-gnome \
        +plymouth use/browser/epiphany \
        use/live-install/vnc/listen; @:

и заменить на секцию похожую на:

distro/regular-gnome: distro/.regular-desktop mixin/regular-gnome \
        +plymouth use/browser/firefox use/nntc-gnome \
        use/live-install/vnc/listen
        @$(call add,THE_LISTS,nntc)
        @$(call add,SYSTEMD_SERVICES_ENABLE,sshd.service)
        @$(call add,SYSTEMD_SERVICES_ENABLE,docker.service)
#       @$(call add,CLEANUP_BASE_PACKAGES,gnome-session-wayland)
        @$(call add,CONTROL,openssl-gost:enabled)

Важные моменты:

1. Вторая и последующие строки отделяются не пробелами а табуляцией (одной!):

distro/regular-gnome: distro/.regular-desktop mixin/regular-gnome \
[здесь обязательно TAB, НЕ пробел!]+plymouth use/browser/firefox use/nntc-gnome \
...

2. Так включаются сервисы через systemd:

...
[здесь обязательно TAB, НЕ пробел!]@$(call add,SYSTEMD_SERVICES_ENABLE,sshd.service)
[здесь обязательно TAB, НЕ пробел!]@$(call add,SYSTEMD_SERVICES_ENABLE,docker.service)
#[здесь обязательно TAB, НЕ пробел!]@$(call add,CLEANUP_BASE_PACKAGES,gnome-session-wayland)
[здесь обязательно TAB, НЕ пробел!]@$(call add,CONTROL,openssl-gost:enabled)
...

3. Так включаются сервисы через control:

...
[здесь обязательно TAB, НЕ пробел!]@$(call add,CONTROL,openssl-gost:enabled)
...

4. Так можно дополнить дистрибутив пакетами из репозитория (см. выше файл со списком пакетов):

...
[здесь обязательно TAB, НЕ пробел!]@$(call add,THE_LISTS,nntc)
...


5. Так можно исключить пакеты из дистрибутива (решётка в начале означает что по факту это не применится (закоментировано)):

...
#[здесь обязательно TAB, НЕ пробел!]@$(call add,CLEANUP_BASE_PACKAGES,gnome-session-wayland)
...