timezone Europe/Moscow auth --useshadow --enablemd5 selinux --disabled firewall --enabled firstboot --enabled part / --size 12268 --fstype ext4 services --enabled=acpid,alsa,atd,avahi-daemon,irqbalance,mandi,dbus,netfs,partmon,resolvconf,rpcbind,sound,udev-post,mandrake_everytime,crond,shorewall,cups,smb,wsdd services --disabled=sshd,pptp,pppoe,ntpd,iptables,ip6tables,nfs-server,mysqld,abrtd,mysql,postfix,network,cpupower,winbind,packagekit-offline-update,dnsmasq 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