mirror of
https://tvoygit.ru/Djam/r11_isocreate.git
synced 2025-02-23 02:02:49 +00:00
296 lines
10 KiB
Text
296 lines
10 KiB
Text
timezone Europe/Moscow
|
|
auth --useshadow --enablemd5
|
|
selinux --disabled
|
|
firewall --enabled
|
|
firstboot --enabled
|
|
part / --size 24536 --fstype ext4
|
|
|
|
services --enabled=sshd,acpid,alsa,atd,avahi-daemon,irqbalance,mandi,dbus,netfs,partmon,resolvconf,rpcbind,sound,udev-post,mandrake_everytime,crond,shorewall,cups,wsdd,zramstart
|
|
services --disabled=pptp,pppoe,ntpd,iptables,ip6tables,nfs-server,mysqld,abrtd,mysql,postfix,network,cpupower,winbind,packagekit-offline-update,dnsmasq,smb
|
|
|
|
bootloader --append="rootflags=rw,noatime"
|
|
|
|
repo --name=Main --baseurl=http://abf-downloads.rosalinux.ru/rosa2016.1/repository/#ARCH#/main/release
|
|
repo --name=Main-Up --baseurl=http://abf-downloads.rosalinux.ru/rosa2016.1/repository/#ARCH#/main/updates
|
|
|
|
repo --name=Non-Free --baseurl=http://abf-downloads.rosalinux.ru/rosa2016.1/repository/#ARCH#/non-free/release
|
|
repo --name=Non-Free-Up --baseurl=http://abf-downloads.rosalinux.ru/rosa2016.1/repository/#ARCH#/non-free/updates
|
|
|
|
repo --name=Restricted --baseurl=http://abf-downloads.rosalinux.ru/rosa2016.1/repository/#ARCH#/restricted/release
|
|
repo --name=Restricted-Up --baseurl=http://abf-downloads.rosalinux.ru/rosa2016.1/repository/#ARCH#/restricted/updates
|
|
|
|
# Custom repos
|
|
%include #PATH#/#ARCH#repo.lst
|
|
|
|
%packages
|
|
%include #PATH#/common#ARCH#.lst
|
|
%include #PATH#/#ARCH#.lst
|
|
%end
|
|
|
|
%post
|
|
|
|
#We use non-free version (like EE)
|
|
sed -i 's/Free/EE/' /etc/product.id
|
|
sed -i 's/One/EE/' /etc/product.id
|
|
sed -i 's/Free/EE/p' /etc/os-release
|
|
|
|
# adding messagebus user to workaround rpm ordering (eugeni)
|
|
#/usr/share/rpm-helper/add-user dbus 1 messagebus / /sbin/nologin
|
|
#/usr/share/rpm-helper/add-group dbus 1 messagebus
|
|
|
|
#/bin/chown root:messagebus /lib*/dbus-1/dbus-daemon-launch-helper
|
|
#/bin/chmod u+s,g-s /lib*/dbus-1/dbus-daemon-launch-helper
|
|
|
|
####### avahi workaround
|
|
#/usr/share/rpm-helper/add-user avahi 1 avahi /var/avahi /bin/false
|
|
#/usr/share/rpm-helper/add-user avahi 1 avahi-autoipd /var/avahi /bin/false
|
|
#/usr/share/rpm-helper/add-service avahi 1 avahi-daemon
|
|
#### end of it
|
|
|
|
echo "###################################### Make initrd symlink >> "
|
|
echo ""
|
|
|
|
/usr/sbin/update-alternatives --set mkinitrd /usr/sbin/mkinitrd-dracut
|
|
rm -rf /boot/initrd-*
|
|
|
|
# adding live user
|
|
/usr/sbin/adduser -G wheel,users,sambashare -c "ROSA Live User" live
|
|
/usr/bin/passwd -d live
|
|
/bin/mkdir -p /home/live
|
|
/bin/cp -rfT /etc/skel /home/live/
|
|
/bin/mkdir /home/live/.MdkOnline
|
|
echo 'AUTOSTART=FALSE' > /home/live/.MdkOnline/mdkonline
|
|
/bin/mkdir /home/live/Desktop
|
|
/bin/cp /usr/share/applications/rosa-draklive-install.desktop /home/live/Desktop/
|
|
/bin/chown -R live:live /home/live
|
|
# usermod -a -G cdrom live
|
|
# enable live user autologin
|
|
if [ -f /usr/share/config/kdm/kdmrc ]; then
|
|
#/bin/sed -i -e 's/.*AutoLoginEnable.*/AutoLoginEnable=true/g' -e #'s/.*AutoLoginUser.*/AutoLoginUser=live/g' /usr/share/config/kdm/kdmrc
|
|
sed --follow-symlinks -i -e '/\[X-:0-Core\]/{:a;n;/^$/!ba;i\AutoLoginEnable=true\nAutoLoginLocked=false\nAutoLoginUser=live' -e '}' /usr/share/config/kdm/kdmrc
|
|
fi
|
|
|
|
# ldetect stuff
|
|
/usr/sbin/update-ldetect-lst
|
|
/usr/sbin/update-pciids
|
|
|
|
systemctl enable NetworkManager.service
|
|
#systemctl enable getty@.service
|
|
|
|
###temp workarond, remove when sure###
|
|
# systemctl disable cups.service
|
|
|
|
#enable cpupower out of the box
|
|
systemctl enable cpupower
|
|
|
|
#NM need USE_ONLY=yes
|
|
sed -e 's/USE_NM_ONLY=no/USE_NM_ONLY=yes/' -i /etc/sysconfig/network
|
|
|
|
### TEMP WORKAROUND FOR MIMEAPPS LIST###
|
|
echo DELETING MIMEAPPS
|
|
rm -f /usr/share/applications/mimeapps.list
|
|
###
|
|
|
|
|
|
# mtab
|
|
# pushd /etc/
|
|
# ln -sf /proc/mounts mtab
|
|
# popd
|
|
|
|
#####workaround for time###
|
|
# rm -rf /etc/sysconfig/clock
|
|
# rm -rf /etc/adjtime
|
|
# rm -rf /etc/localtime
|
|
#####
|
|
###chkconfig###
|
|
/sbin/chkconfig --add checkflashboot
|
|
#####
|
|
|
|
# Change samba group to WORKGROUP
|
|
# sed -i 's/MDVGROUP/WORKGROUP/' /etc/samba/smb.conf
|
|
|
|
#
|
|
# DKMS
|
|
#
|
|
|
|
echo
|
|
echo
|
|
echo Rebuilding DKMS drivers
|
|
echo
|
|
echo
|
|
|
|
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
|
|
|
|
#build arch import for vboxadditions dkms + flash workaround###
|
|
|
|
export BUILD_TARGET_ARCH=x86
|
|
XXX=`file /bin/rpm |grep -c x86-64`
|
|
if [ "$XXX" = "1" ]; then
|
|
export BUILD_TARGET_ARCH=amd64
|
|
fi
|
|
|
|
echo " ###DKMS BUILD### "
|
|
kernel_ver=`ls /boot | /bin/grep vmlinuz | /bin/sed 's/vmlinuz-//' |head -1`
|
|
for module in vboxadditions broadcom-wl; do
|
|
module_version=`rpm --qf '%{VERSION}\n' -q dkms-$module`
|
|
module_release=`rpm --qf '%{RELEASE}\n' -q dkms-$module`
|
|
su --session-command="/usr/sbin/dkms -k $kernel_ver -a #ARCH# --rpm_safe_upgrade add -m $module -v $module_version-$module_release" root
|
|
su --session-command="/usr/sbin/dkms -k $kernel_ver -a #ARCH# --rpm_safe_upgrade build -m $module -v $module_version-$module_release" root
|
|
su --session-command="/usr/sbin/dkms -k $kernel_ver -a #ARCH# --rpm_safe_upgrade install -m $module -v $module_version-$module_release --force" root
|
|
done
|
|
|
|
echo "END OF IT".
|
|
|
|
#
|
|
# Sysfs must be mounted for dracut to work!
|
|
#
|
|
mount -t sysfs /sys /sys
|
|
ln -s /usr/share/plymouth/themes/Rosa-EE/rosa.png /usr/share/plymouth/themes/Rosa-EE/welcome.png
|
|
pushd /lib/modules/
|
|
KERNEL=$(echo *)
|
|
popd
|
|
echo
|
|
echo Generating kernel. System kernel is `uname -r`, installed kernels are:
|
|
rpm -qa kernel-*
|
|
echo Detected kernel version: $KERNEL
|
|
|
|
rm -f /boot/initrd*
|
|
rm -f /boot/initramfs*
|
|
|
|
ISOBUILD_CONF_DIR=/tmp/isobuild/
|
|
ISOBUILD_CONF="$ISOBUILD_CONF_DIR/61-isobuild.conf"
|
|
rm -rf "$ISOBUILD_CONF_DIR"
|
|
mkdir -p "$ISOBUILD_CONF_DIR"
|
|
if test -d /usr/lib/dracut/dracut.conf.d/; then
|
|
find /usr/lib/dracut/dracut.conf.d/ -name '*.conf' -exec cp -f {} "$ISOBUILD_CONF_DIR" \;
|
|
fi
|
|
|
|
# Livecd-tools create their dracut configuration file in /etc/dracut.conf.d/
|
|
# but we do not need it: they (inadvertently?) try to override the default
|
|
# set of drivers included into initrd, which is wrong.
|
|
# Instead, let us use the default configuration that comes with our dracut
|
|
# with the following additions/overrides:
|
|
echo 'hostonly="no"' >> $ISOBUILD_CONF
|
|
echo 'add_dracutmodules+=" dmsquash-live pollcdrom "' >> $ISOBUILD_CONF
|
|
echo 'omit_dracutmodules+=" aufs-mount "' >> $ISOBUILD_CONF
|
|
|
|
# Print the configuration files to be used, to simplify debugging.
|
|
pushd "$ISOBUILD_CONF_DIR"
|
|
echo "========= Dracut configuration =========="
|
|
for cfile in *.conf; do
|
|
echo "$cfile:"
|
|
cat $cfile
|
|
echo ""
|
|
done
|
|
echo "========================================="
|
|
popd
|
|
|
|
/usr/sbin/dracut /boot/initrd-$KERNEL.img $KERNEL --force --confdir "$ISOBUILD_CONF_DIR" -vv
|
|
mkdir -p /run/initramfs/live/isolinux/
|
|
ln -s /boot/initrd-$KERNEL.img /run/initramfs/live/isolinux/initrd0.img
|
|
#cp -f /boot/initramfs-$KERNEL.img /run/initramfs/live/isolinux/initrd0.img
|
|
#ls -l /boot/
|
|
|
|
#hack for nscd loop error
|
|
while (ps -e | grep nscd)
|
|
do
|
|
killall -s 9 nscd
|
|
done
|
|
|
|
echo ""
|
|
echo "###################################### Build ISO >> "
|
|
echo ""
|
|
%end
|
|
|
|
%post --nochroot
|
|
#hack to try to stop umount probs
|
|
while (lsof /dev/loop* | grep -v "$0" | grep "$INSTALL_ROOT")
|
|
do
|
|
sleep 5s
|
|
done
|
|
|
|
cp -rfT #PATH#/extraconfig/etc $INSTALL_ROOT/etc/
|
|
cp -rfT #PATH#/extraconfig/usr $INSTALL_ROOT/usr/
|
|
cp -rfT #PATH#/extraconfig/var $INSTALL_ROOT/var/
|
|
cp -rfT #PATH#/extraconfig/root $INSTALL_ROOT/root/
|
|
cp -rfT #PATH#/extraconfig/lib $INSTALL_ROOT/lib/
|
|
cp -rfT #PATH#/extraconfig/etc/skel $INSTALL_ROOT/home/live/
|
|
cp -rfT #PATH#/extraconfig/etc/skel $INSTALL_ROOT/root/
|
|
chown -R 500:500 $INSTALL_ROOT/home/live/
|
|
chmod -R 0777 $INSTALL_ROOT/home/live/.local
|
|
chmod -R 0777 $INSTALL_ROOT/home/live/.kde4
|
|
|
|
# Restoring /var/cache/urpmi contents which is missing because this path is mounted outside of chroot
|
|
# Using mount --bind to get access to the real directory under mountpoint
|
|
mkdir /tmp/temp_root
|
|
mount --bind $INSTALL_ROOT /tmp/temp_root
|
|
urpmi --replacepkgs --root /tmp/temp_root urpmi
|
|
umount /tmp/temp_root
|
|
rmdir /tmp/temp_root
|
|
|
|
# Temprary hack: removing useless files from fs root
|
|
# TODO: Fix this properly (Module.symvers appears from DKMS; others are coming when grub2 is installed
|
|
# and os-prober failes to create a temporary dir in /tmp)
|
|
rm -f $INSTALL_ROOT/{Module.symvers,btrfs-vols,mounted-map,swaps-map,raided-map}
|
|
|
|
#end of it
|
|
|
|
# install repos
|
|
# note: old urpmi versions may do this buggily
|
|
( set -ex
|
|
/usr/sbin/urpmi.removemedia -a \
|
|
--urpmi-root "$INSTALL_ROOT" || :
|
|
# aria2 gives clearer error codes than wget/curl
|
|
/usr/sbin/urpmi.addmedia \
|
|
--distrib \
|
|
--mirrorlist http://mirror.rosalab.ru/rosa/rosa2016.1/repository/#ARCH#/ \
|
|
--downloader aria2 \
|
|
--urpmi-root "$INSTALL_ROOT"
|
|
|
|
for i in \
|
|
loader:::http://abf-downloads.rosalinux.ru/loader_personal/repository/rosa2016.1/#ARCH#/main/release/
|
|
do
|
|
REPO_NAME="$(echo "$i" | awk -F ':::' '{print $1}')"
|
|
REPO_URL="$(echo "$i" | awk -F ':::' '{print $2}')"
|
|
/usr/sbin/urpmi.addmedia \
|
|
--urpmi-root "$INSTALL_ROOT" \
|
|
"$REPO_NAME" \
|
|
"$REPO_URL"
|
|
done
|
|
)
|
|
#end of it
|
|
|
|
# delete icon cache
|
|
# rm -f $INSTALL_ROOT/usr/share/icons/gnome/icon-theme.cache
|
|
# rm -f $INSTALL_ROOT/usr/share/icons/nuoveXT2/icon-theme.cache
|
|
# rm -f $INSTALL_ROOT/home/live/.face.icon
|
|
mkdir -p $INSTALL_ROOT/home/live/.kde4/env
|
|
echo "export KDEVARTMP=/tmp" > $INSTALL_ROOT/home/live/.kde4/env/00-live.sh
|
|
echo "export KDETMP=/tmp" >> $INSTALL_ROOT/home/live/.kde4/env/00-live.sh
|
|
|
|
# disable akonadi
|
|
mkdir -p $INSTALL_ROOT/home/live/.config/akonadi/
|
|
cp #PATH#/extraconfig/other/akonadiserverrc $INSTALL_ROOT/home/live/.config/akonadi/
|
|
chown -R 500:500 $INSTALL_ROOT/home/live/.config/
|
|
# Make sure akonadi is unlikely to start again (some KDE components may
|
|
# try to rewrite this file to enable akonadi):
|
|
chmod 0444 $INSTALL_ROOT/home/live/.config/akonadi/akonadiserverrc
|
|
|
|
#ssh key don't need
|
|
rm -f $INSTALL_ROOT/etc/ssh/*key*
|
|
|
|
echo "#BUILD_ID#" > $INSTALL_ROOT/etc/isonumber
|
|
mkdir -p $LIVE_ROOT/isolinux/
|
|
cp #PATH#/extraconfig/memdisk $LIVE_ROOT/isolinux/
|
|
cp #PATH#/extraconfig/sgb.iso $LIVE_ROOT/isolinux/
|
|
|
|
echo "# iso build No.#BUILD_ID#" > $LIVE_ROOT/rpm.lst
|
|
rpm --root $INSTALL_ROOT -qa | sort >> $LIVE_ROOT/rpm.lst
|
|
rpm --root $INSTALL_ROOT -qa --queryformat="%{NAME}\n" | sort > $INSTALL_ROOT/var/lib/rpm/installed-by-default
|
|
if [ "#ARCH#" = "x86_64" ]; then
|
|
RAMSIZE=1920
|
|
else
|
|
RAMSIZE=1280
|
|
fi
|
|
./total_sum_counter.pl -r $RAMSIZE -h 10 -w $INSTALL_ROOT/ -o $INSTALL_ROOT/etc/minsysreqs
|
|
%end
|