commit 7468af538185b1ba4b59b5b367aec6735530d32a Author: Sergey Zhemoytel Date: Fri Jun 7 23:03:10 2024 +0300 upload scripts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..614fc1a --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +results +ROSA.*/* diff --git a/.ks.template b/.ks.template new file mode 100644 index 0000000..f43041c --- /dev/null +++ b/.ks.template @@ -0,0 +1,296 @@ +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 diff --git a/MATRIX b/MATRIX new file mode 100755 index 0000000..b49a622 --- /dev/null +++ b/MATRIX @@ -0,0 +1,118 @@ +#!/usr/bin/env bash + +set -x #verbose output +set -e #fail in case of any error + +. ./common-funcs.sh || exit 1 + +fail(){ + echo "Critical failure, terminating." + exit 1 +} + +umount_chroot_bind_nofail(){ + for umount_point in proc 'dev/pts' dev sys + do + umount -l "${ch}/${umount_point}" || : + done +} + +RESULTS_DIR="${RESULTS_DIR:-/home/vagrant/results}" +# /home/vagrant/results is read by ABF to take build results, +# but let's try using local directory not on ABF. +# Change RESULTS_DIR if it was not redefined. +# /home/vagrant/results preexists on ABF. +[ ! -d '/home/vagrant/results' ] && \ + [ "$RESULTS_DIR" = '/home/vagrant/results' ] && \ + RESULTS_DIR="${PWD}/results" +PRODUCTNAME="ROSA.DESKTOP.$RELEASE" +ch="${ch:-${PRODUCTNAME}}" +ROSA_PLATFORM="${ROSA_PLATFORM:-rosa2016.1}" + +# This is bad, but for now building ISOs of multiple archs +# at one time is broken, so take the first arch in $TYPES. +type="$(echo "$TYPES" | awk '{print $1}')" +set_types +ARCH="$arch" + +MIRROR="${MIRROR:-http://abf-downloads.rosalinux.ru}" +REPO="${REPO:-${MIRROR}/${ROSA_PLATFORM}/repository/${ARCH}/}" + +# Install required packages +# List of packages was generated automatically by find_requires_ALT in common-funcs.sh +# lsof is from .ks.template, I added it to this list manually +# Install packages one-by-one, not urpmi , to prevent marking them as manually installed +for i in coreutils findutils sed tar urpmi util-linux lsof +do + rpm -q "$i" >/dev/null 2>/dev/null || urpmi --auto "$i" +done + +umount_chroot_bind_nofail + +for dir in dev '/dev/pts' proc sys "opt/ISOBUILD" +do + [ ! -d "${ch}/${dir}" ] && mkdir -p "${ch}/${dir}" +done +[ ! -d "${RESULTS_DIR}" ] && mkdir -p "${RESULTS_DIR}" + +# copy current git to chroot to execute build scripts in chroot +tar -c --exclude "${ch}" . | tar -x -C "${ch}/opt/ISOBUILD/" +ls -R > "${RESULTS_DIR}/ls.log" + +urpmi.addmedia --distrib --mirrorlist "$REPO" --urpmi-root "${ch}" + +######################################################### +# try to workaround urpmi bug due to which it randomly +# can't resolve dependencies during bootstrap +urpmi_bootstrap(){ + for urpmi_options in \ + "--auto --no-suggests --allow-force --allow-nodeps --ignore-missing" \ + "--auto --no-suggests" + do + urpmi --urpmi-root "${ch}" --root "${ch}" \ + ${urpmi_options} \ + basesystem-minimal \ + basesystem \ + urpmi rpm \ + locales-en locales-ru \ + rpm-build livecd-tools syslinux \ + bind-utils + urpmi_return_code="$?" + done +} +# temporarily don't fail the whole scripts when not last iteration of urpmi fails +set +e +for i in $(seq 1 5) +do + urpmi_bootstrap + if [ "${urpmi_return_code}" = 0 ]; then break; fi +done +# now check the return code of the _last_ urpmi iteration +if [ "${urpmi_return_code}" != 0 ]; then + echo "urpmi bootstrapping failed!" + exit 1 +fi +# return failing the whole script on any error +set -e +######################################################### + +for mount_point in proc 'dev/pts' dev sys +do + mount --bind "/${mount_point}" "${ch}/${mount_point}" +done +cp /etc/resolv.conf "${ch}/etc/" + +echo +echo "----------> UR IN Z MATRIX <----------" + +chroot "${ch}" /bin/sh -c "cd /opt/ISOBUILD && env BUILD_ID=${BUILD_ID} /opt/ISOBUILD/build" +find "${ch}/opt/" -type f -name 'ROSA*.iso' -exec cp -v {} "${RESULTS_DIR}/" \; + +dir0="$PWD" +cd "${RESULTS_DIR}" + ( set +f + for i in *.iso + do + md5sum "$i" > "${i}.md5sum" + done ) +cd "$dir0" diff --git a/README b/README new file mode 100644 index 0000000..1ef48a2 --- /dev/null +++ b/README @@ -0,0 +1 @@ +ROSA build scripts \ No newline at end of file diff --git a/README.MATRIX b/README.MATRIX new file mode 100644 index 0000000..68fddb6 --- /dev/null +++ b/README.MATRIX @@ -0,0 +1,13 @@ +The script MATRIX generates a chroot environment made of fresh 2016.1 packages. +The it checks out the latest build scripts inside the chroot and executes the build script. +Build log is written into chrootdir/opt/ISOBUILD/build.log +This is the example string of build start + +$ env PROJECT=soft/build_kde4_desktop_ee PROJECT_VERSION=rosa2016.1 TYPES="64u 32" DE=kde4 RELEASE=R11 ./MATRIX + +PROJECT - Name of the ABF project containing build scripts +PROJECT_VERSION - Git branch to checkout from the PROJECT +TYPES - List of ISO image types to build ("32" or "64" for i586/x86_64 architecture, optional "u" suffix for UEFI support) +DE - Desktop environment; defines the list of packages to use (like commonkde.lst or i586kde.lst for DE=kde) +RELEASE - ISO product release version +REPO - Repository to take packages from diff --git a/build b/build new file mode 100755 index 0000000..d410baf --- /dev/null +++ b/build @@ -0,0 +1,90 @@ +#!/bin/bash + +set -x #verbose output +#set -e #fail in case of any error (currently this code is not ready for this) + +. common-funcs.sh || exit 1 + +losetup -a +losetup -D + +# Default set of images: 64-bit with UEFI and 32-bit without UEFI +TYPES="${TYPES:-64u 32 32u}" + +[ -z "$DE" ] && DE="NO_DE" +DE_BIG="$(echo ${DE} | tr '[:lower:]' '[:upper:]' )" +product_id="ROSA.FRESH.${DE_BIG}.${RELEASE}" + +DIRNAME="$(dirname $0)" +cd "$DIRNAME" + +build_root="./" + +ks="${build_root}/.ks" + +# build different architectures + +num_good=0 +num_fail=0 + +# Possible ISO types: 32- or 64-bit with or without UEFI (32, 32u, 64, 64u) +for type in $TYPES; do + set_types + uefi="${uefi,,}" + + echo "" + echo "!!! BUILDING ISO $arch$uefi !!!" + echo "" + + # Prepare package lists (common and architecture-dependent) + cp -f common$DE.lst common$arch.lst + cp -f $arch$DE.lst $arch.lst + if [ "$uefi" = "u" ]; then + # Append UEFI-related packages + cat uefi.lst >> common$arch.lst + fi + # Replace lib prefix according to the architecture + sed -i -e 's/${lib}/'$lib'/g' common$arch.lst + sed -i -e 's/${lib}/'$lib'/g' $arch.lst + + # Prepare the kickstart file + cp -f ${ks}.template ${ks} + sed -i -e "s:#ARCH#:$arch:g" ${ks} + sed -i -e "s:#PATH#:${build_root}/:g" ${ks} + sed -i -e "s:#BUILD_ID#:${BUILD_ID}:g" ${ks} + + mkdir -p $build_root/iso/${product_id}/ + if livecd-creator --config=${ks} --fslabel=${product_id}.$arch --title="ROSA Desktop Fresh $RELEASE" --skip-minimize; then + num_good=$((num_good + 1)) + mv ${product_id}.$arch.iso $build_root/iso/${product_id}/ + pushd $build_root/iso/${product_id}/ + if [ "$uefi" = "u" ]; then + uefi_s=".uefi" + else + uefi_s="" + fi + md5sum ${product_id}.$arch.iso > ${product_id}.$arch$uefi_s.iso.md5sum + ISONAME="${product_id}.$BUILD_ID.b.$arch$uefi_s.iso" + mv ${product_id}.$arch.iso $ISONAME + popd + echo "" + echo " ALL DONE! $build_root/iso/${product_id}/$ISONAME" + echo "" + else + num_fail=$((num_fail + 1)) + echo "" + echo " FAILURE!" + echo "" + fi +done + +if [ "$num_good" = 0 ]; then + # All archs failed + exit 1 +elif [ "$num_fail" = 0 ]; then + # All archs succeeded + exit 0 +else + # Some failed, some OK - using special error code 6 + exit 6 +fi diff --git a/build_rpm/README.md b/build_rpm/README.md new file mode 100644 index 0000000..ddb2424 --- /dev/null +++ b/build_rpm/README.md @@ -0,0 +1,16 @@ +1. dnf install mock +2. cp default.cfg /etc/mock/ +3. gpasswd -a your_user mock +4. edit /etc/mock/default.cfg and put TOKEN (https://abf.rosalinux.ru/platforms/rosa2019.05/tokens) there + +python3 builder.py --file srcrpm.list + +srcrpm.list content example: + +/home/omv/2019.05/dos2unix-7.4.1-1.src.rpm +/home/omv/2019.05/libbluray-1.1.1-4.src.rpm + + +to build single package + +python3 builder.py --srcrpm libfoo.src.rpm diff --git a/build_rpm/build_rpm.py b/build_rpm/build_rpm.py new file mode 100644 index 0000000..78a8bcc --- /dev/null +++ b/build_rpm/build_rpm.py @@ -0,0 +1,48 @@ +import subprocess +import os +import sys +import argparse + +mock_binary = '/usr/bin/mock' +mock_config = '/etc/mock/' +get_home = os.environ.get('HOME') +output_dir = get_home + '/output' + +def print_log(message, log): + print(message) + try: + logFile = open(log, 'a') + logFile.write(message + '\n') + logFile.close() + except: + print("Can't write to log file: " + log) + + +def run_local_builder(srcrpm): + try: + print('run local build with mock') + subprocess.check_call([mock_binary, '-v', '--update', '--configdir', mock_config, '--rebuild', srcrpm, '--no-cleanup-after', '--no-clean', '--resultdir=' + output_dir]) + except subprocess.CalledProcessError as e: + print_log('local build [{}] failed'.format(srcrpm), 'failed.log') + print(e) + sys.exit(1) + print_log('{} build complete'.format(srcrpm), 'update.log') + + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--srcrpm', nargs='+', help='srcrpm to upgrade') + parser.add_argument('--file', help='file with srcrpms list') + args = parser.parse_args() + if args.file is not None: + with open(args.file) as file: + for line in file: + srcrpm = line.strip() + run_local_builder(srcrpm) + + if args.srcrpm is not None: + srcrpms = [i for i in args.srcrpm if i is not None] + for srcrpm in srcrpms: + run_local_builder(srcrpm) + diff --git a/build_rpm/default.cfg b/build_rpm/default.cfg new file mode 100644 index 0000000..4244cd3 --- /dev/null +++ b/build_rpm/default.cfg @@ -0,0 +1,59 @@ +config_opts['target_arch'] = 'x86_64' +config_opts['legal_host_arches'] = ('i586', 'x86_64') +config_opts['root'] = 'rosa2019.05-x86_64' +config_opts['chroot_setup_cmd'] = ('install', 'basesystem-build') +config_opts['package_manager'] = 'dnf' +config_opts['dnf_common_opts'] = ['--refresh', '--disableplugin=local', '--setopt=deltarpm=False', '--forcearch=x86_64'] +config_opts['dnf_builddep_opts'] = ['--refresh', '--forcearch=x86_64'] +config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}' +config_opts['releasever'] = '0' +config_opts['use_host_resolv'] = True +config_opts['rpmbuild_networking'] = True +config_opts['rpmbuild_timeout'] = 86400 +config_opts['tar'] = 'gnutar' +config_opts['basedir'] = '/var/lib/mock/' +config_opts['cache_topdir'] = '/var/cache/mock/' +config_opts['nosync'] = True +config_opts['dynamic_buildrequires'] = True +config_opts['nosync_force'] = True +config_opts['plugin_conf']['tmpfs_enable'] = True +config_opts['plugin_conf']['tmpfs_opts'] = {} +config_opts['plugin_conf']['tmpfs_opts']['required_ram_mb'] = 64000 +config_opts['plugin_conf']['tmpfs_opts']['max_fs_size'] = '80%' +config_opts['plugin_conf']['tmpfs_opts']['mode'] = '0755' +config_opts['plugin_conf']['tmpfs_opts']['keep_mounted'] = False +config_opts['dist'] = 'rosa2019.05' +config_opts['plugin_conf']['ccache_enable'] = False +config_opts['plugin_conf']['root_cache_opts']['compress_program'] = '' +config_opts['plugin_conf']['root_cache_opts']['extension'] = '' +config_opts['plugin_conf']['root_cache_enable'] = True +config_opts['plugin_conf']['root_cache_opts']['age_check'] = True +config_opts['plugin_conf']['root_cache_opts']['max_age_days'] = 1 +config_opts['plugin_conf']['package_state_enable'] = True +config_opts['plugin_conf']['package_state_opts'] = {} +config_opts['plugin_conf']['package_state_opts']['available_pkgs'] = False +config_opts['plugin_conf']['package_state_opts']['installed_pkgs'] = True + +config_opts['yum.conf'] = """ +[main] +keepcache=1 +debuglevel=2 +reposdir=/dev/null +retries=20 +obsoletes=1 +gpgcheck=0 +assumeyes=1 +syslog_ident=mock +syslog_device= +install_weak_deps=0 +metadata_expire=60s +best=1 + +[rosa2019.05_main_release] +name=rosa2019.05_main_release +# https://abf.rosalinux.ru/platforms/rosa2019.05/tokens +baseurl=http://put_token_here:@abf-downloads.rosalinux.ru/rosa2019.05/repository/x86_64/main/release +gpgcheck=0 +enabled=1 +""" + diff --git a/common-funcs.sh b/common-funcs.sh new file mode 100644 index 0000000..17932b5 --- /dev/null +++ b/common-funcs.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +# Common functions for multople scripts + +set_types(){ + # Translate ISO type into architecture + UEFI flag + if [ "${type:0:2}" = "32" ]; then + arch="i586" + lib="lib" + uefi="${type:2:1}" + elif [ "${type:0:4}" = "i586" ]; then + # Support architecture instead of bitness, but consider it deprecated + arch="i586" + lib="lib" + uefi="${type:4:1}" + elif [ "${type:0:2}" = "64" ]; then + arch="x86_64" + lib="lib64" + uefi="${type:2:1}" + elif [ "${type:0:6}" = "x86_64" ]; then + # Support architecture instead of bitness, but consider it deprecated + arch="x86_64" + lib="lib64" + uefi="${type:6:1}" + else + echo "" + echo "!!! INVALID ISO TYPE SPECIFIED ($type), SKIPPING !!!" + echo "" + num_fail=$((num_fail + 1)) + fi +} + +find_requires_ALT(){ +# TODO: this is bad code! +# On ALT Linux, bash can do --rpm-requires, we don't have or use it on ROSA, +# but it can be used to make a list of build dependencies. +# This function is ran manually by maintainers of these scripts on ALT Linux, +# ROSA's root is considered to be mounted at /mnt/rosa-2016.1/ +# To run it, execute from root shell: +# . ./common-funcs.sh && find_requires_ALT +# We assume that all required packages are already installed in your ROSA system. + for file in MATRIX build + do + while read -r line + do + if [ ! -f "$line" ] && [ "$line" != "livecd-creator" ]; then + line_chroot="$(chroot /mnt/rosa-2016.1 /usr/bin/which "$line")" + req_list="${req_list} $(chroot /mnt/rosa-2016.1 /bin/sh -c "rpm -qf --queryformat='%{NAME}\n' ${line_chroot}")" + fi + done < <(bash --rpm-requires "$file" | grep ^executable | awk -F '(' '{print $NF}' | tr -d '()' | grep -v '^\/' | sort -u) + done + echo "$req_list" | tr ' ' '\n' | sort -u | tr '\n' ' ' + echo "" +} diff --git a/commonkde4.lst b/commonkde4.lst new file mode 100644 index 0000000..35130ac --- /dev/null +++ b/commonkde4.lst @@ -0,0 +1,909 @@ +make +makedev +coreutils +livecd-tools +livecd-iso-to-disk +syslinux +strace +harddrake +mc +kernel-generic-5.13-latest +kernel-generic-5.13-devel-latest +dracut +kmod +acl +acpi +acpid +alsa-plugins-doc +alsa-plugins-pulse-config +alsa-utils +aoss +aria2 +ark +at +atk1.0-common +audacity +#aumix-text +avahi +awesfx +basesystem +basesystem-minimal +bash +#bluez +bluez-hid2hci +bootloader-utils +bootsplash +breeze +busybox-static +bzip2 +canberra-common +canberra-gtk +ccp +cdialog +cdrtools +chkconfig +chromium-browser-pepper-flash +comgt +common-licenses +console-gentoo-style +coreutils +cpio +cracklib-dicts +crda +cronie +cronie-anacron +crontabs +cryptsetup +curl +dash +dash-static +davfs2 +dbus +dbus-x11 +desktop-common-data +desktop-file-utils +dhcp-client +dhcp-common +diffutils +dkms +dkms-minimal +dmidecode +dmraid +dmraid-events +dmsetup +dolphin +dosfstools +#drakconf +#drakconf-icons +drakguard +draklive-install +draklive-install-kde +#draksnapshot +drakx-finish-install +drakx-installer-binaries-probe +drakx-installer-matchbox +drakx-kbd-mouse-x11 +drakx-net +drakx-net-text +drakxtools +drakxtools-backend +drakxtools-curses +dump +dvb-apps +dvbsnoop +dvd+rw-tools +easytag +e2fsprogs +edid-decode +edidbins +eject +enchant +etcskel +ethtool +faac +faad2 +ffmpeg +file +filelight +filesystem +findutils + +firefox-esr68 +firefox-esr68-es_ES +firefox-esr68-pl +firefox-esr68-pt_BR +firefox-esr68-ru +firefox-esr68-uk +firefox-esr68-de +firefox-esr68-it +firefox-esr68-fr +firefox-esr68-ro +firefox-esr68-tr + +flac + +fontconfig +fonts-ttf-decoratives +fonts-ttf-dejavu +fonts-ttf-liberation +fonts-ttf-west_european +font-tools + +# Needed to make Qt5 applications look like KDE/KF5 applications +frameworkintegration +qt5-platformtheme-plasma5 + +freetype +freetype-tools +fuse +gamin +gawk +gcc-cpp +GConf2 +genhdlist2 +gettext-base +ghostscript +ghostscript-common +ghostscript-fonts +gimp +glib2.0-common +glibc +gnupg +gnupg2 +grep +groff +groff-for-man +grub2 +grub2-theme-rosa +gstreamer0.10-a52dec +gstreamer0.10-cdparanoia +gstreamer0.10-dv +gstreamer0.10-dts +gstreamer0.10-faac +gstreamer0.10-faad +gstreamer0.10-flac +gstreamer0.10-ffmpeg +gstreamer0.10-gsm +gstreamer0.10-lame +gstreamer0.10-libass +gstreamer0.10-mms +gstreamer0.10-mpeg2enc +gstreamer0.10-musepack +gstreamer0.10-plugins-bad +gstreamer0.10-plugins-base +gstreamer0.10-plugins-good +gstreamer0.10-pulse +gstreamer0.10-python +gstreamer0.10-resindvd +gstreamer0.10-rsvg +gstreamer0.10-rtmp +gstreamer0.10-soup +gstreamer0.10-speex +gstreamer0.10-tools +gstreamer0.10-twolame +gstreamer0.10-voip +gstreamer0.10-vp8 +gstreamer0.10-wavpack +gstreamer0.10-x264 +gstreamer0.10-xvid +gstreamer1.0-dts +gstreamer1.0-dv +gstreamer1.0-faac +gstreamer1.0-faad +gstreamer1.0-flac +gstreamer1.0-gsm +gstreamer1.0-libass +gstreamer1.0-mms +gstreamer1.0-mpeg2enc +gstreamer1.0-rtmp +gstreamer1.0-speex +gstreamer1.0-vp8 +gstreamer1.0-wavpack +gtk+2.0 +gtksourceview +gurpmi +gvfs +gvfs-archive +gvfs-fuse +gvfs-gphoto2 +gvfs-smb +gwenview +gzip +#hal +#hal-info +harddrake +harddrake-ui +hdparm +hfsutils +hicolor-icon-theme +html2text +hw-probe +hw-probe-gui +hwinfo +iceauth +ifmetric +ifplugd +indexhtml +info +info-install +initscripts +iproute2 +ipset +iptables +iputils +iscan-nonfree +iso-codes +iw +jackit +jasper +jfsutils +kamoso +kbd +bluedevil +kamera +kcalc +kcm-touchpad +kde-gtk-config +kde4-audiocd +kde4-libkonq +kde4-nsplugins +kdeartwork4-kscreensaver +kdebase4-runtime +kdebase4-workspace +kdenetwork-filesharing +kdenlive + +kde-l10n-de +kde-l10n-es +kde-l10n-fr +kde-l10n-it +kde-l10n-pl +kde-l10n-pt_BR +kde-l10n-ro +kde-l10n-ru +kde-l10n-tr +kde-l10n-uk + +kdialog +kdm +kdnssd +keychain +kfingermanager +kgamma +#kget +kimageformats +kio4-imap +kio4-ldap +kio4-mbox +kio4-nntp +kio4-pop3 +kio4-sieve +kio4-smtp +kio-sysinfo +kipi-common +klipper +kmix +kmoonhelper +kmozillahelper +kolourpaint +konsole +kpartx +kppp +krb5 +krdc +krfb +ksnapshot +kup +#kttsd +kwrite +lame +ld10k1 +ldetect +ldetect-lst +less +libva-utils +lm_sensors +locales + +locales-de +locales-en +locales-es +locales-fr +locales-it +locales-pl +locales-pt +locales-ro +locales-ru +locales-tr +locales-uk + +logrotate +lsb-release +lshw +lvm2 +mailcap +makedev +man +mandi +mandi-ifw +mandriva-doc-common +mandriva-kde-icons +mandriva-kde4-config-common +mandriva-kde-translation +#rosa-release-common +#rosa-release-EE +branding-configs-common +branding-configs-r11 +Rosa-theme-common +Rosa-theme-EE +Rosa-theme-EE-screensaver +man-pages +mdadm +mdkonline +mdv-rpm-summary +menu-messages +meta-task +migration-assistant +mingetty +mkfontdir +mkfontscale +mktemp +mkxauth +mlocate +#module-init-tools +monitor-edid +mplayerthumbs +mtools + +aspell +aspell-de +aspell-es +aspell-fr +aspell-it +aspell-pl +aspell-pt +aspell-ru +aspell-ro +aspell-tr +aspell-uk + +libreoffice-l10n-pl +libreoffice-l10n-pt_BR +libreoffice-l10n-ru +libreoffice-l10n-de +libreoffice-l10n-es +libreoffice-l10n-fr +libreoffice-l10n-it +libreoffice-l10n-ro +libreoffice-l10n-tr + +myspell-de_DE +myspell-en_US +myspell-es_ES +myspell-fr_FR +myspell-it_IT +myspell-pl_PL +myspell-pt_BR +myspell-ru_RU +myspell-uk_UA +myspell-ro_RO + +mysql-client +#mysql-common +#mysql-common-core +#mysql-core +nail +nano +ncurses +net_monitor +netprofile +net-tools +netkit-telnet +notification-daemon +nss +nss_mdns +nss_tcb +ntfs-3g +#ntfsprogs +ntp +ntp-client +obex-data-server +okular +okular-djvu +okular-epub +okular-tiff +#free-kde4-config +Default-kde4-config +open +openldap + +libreoffice-calc +libreoffice-common +libreoffice-gtk3-kde5 +libreoffice-draw +# libreoffice-gnome is needed for smb:// support in KDE4 +libreoffice-gnome +libreoffice-impress +libreoffice-math +libreoffice-style-breeze +libreoffice-writer +libreoffice-pagination +# openjdk - for libreoffice +# java-1.7.0-openjdk + +openssh +openssh-clients +openssh-server +openssl +ORBit2 +oxygen-icon-theme +pam +pam_tcb +pango +paprefs +passwd +pavucontrol +pciutils +pcmciautils +phonon-gstreamer + +pkgconfig + +plasma-dataengine-microblog +plasma-dataengine-ocs +plasma-dataengine-rtm +plasma-desktoptheme-aya +plasma-desktoptheme-default +plasma-krunner-powerdevil +plasma-runner-audioplayercontrol +plasma-runner-browserhistory +plasma-runner-converter +plasma-runner-katesessions +plasma-runner-konquerorsessions +plasma-runner-konsolesessions +plasma-runner-mediawiki +plasma-runner-spellchecker +plasma-wallpaper-mandelbrot +plasma-wallpaper-pattern +plasma-wallpaper-timeoftheday +plasma-wallpaper-virus +plasma-wallpaper-weather + +plasma5-config-fresh +# Needed to make more KIO slaves work in KF5 applications (smb etc) +plasma5-kio-extras + +plasma5-style-oxygen +oxygen-gtk +oxygen-gtk3 + +plymouth +plymouth-plugin-label +plymouth-plugin-script +plymouth-scripts +plymouth-system-theme +polkit +polkit-kde-1 +popt-data +ppp +ppp-dhcp +ppp-pppoatm +pptp-linux +preload +procps +psmisc +pulseaudio +pulseaudio-client-config +pulseaudio-esound-compat +pulseaudio-module-x11 +pulseaudio-module-zeroconf +pulseaudio-utils +python +python-cairo +python-gobject +python-kde4 +python-ldap +python-notify +python-numpy +python-OpenSSL +python-pycrypto +python-qt4 +python-qt4-assistant +python-qt4-core +python-qt4-designer +python-qt4-gui +python-qt4-multimedia +python-qt4-network +python-qt4-opengl +python-qt4-script +python-qt4-sql +python-qt4-svg +python-qt4-test +python-qt4-webkit +python-qt4-xml +python-qt4-xmlpatterns +#python-sabayon +python-sip +python-twisted-core +python-twisted-web +python-zope-interface +pyxdg +qca2-plugin-openssl +qt4-common +qt4-database-plugin-mysql +qt4-qtdbus +qt4-xmlpatterns +qt5-imageformats-plugins +qtscriptbindings +quota +radeontool +reiserfsprogs +resolvconf +rfkill +rgb +rmt +rng-utils +rootcerts +rootfiles +rosa-freeze-ui +rosa-restore-tools +rpcbind +rpm +rpmdrake +rpm-helper +rpmstats +rp-pppoe +rsnapshot +rsync +rsyslog +rtkit +run-parts +s2u +## Picked up by task-printing-scanning +sane-backends +sane-backends-iscan +sane-firmware +saned +sash +sdparm +sed +sessreg +setup +setxkbmap +shadow-utils +shared-desktop-ontologies +shared-mime-info +sharutils +shorewall +sound-scripts +sound-theme-freedesktop +soundwrapper +strigi +sudo +sysfsutils +sysvinit-tools +t1utils +taglib-extras +tar +task-printing-scanning +task-printing-server +tcb +tcl +tcp_wrappers +termcap +time +timezone +tmpwatch +transfugdrake +udev +udisks2 +unzip +update-alternatives +upower +urpmi +urw-fonts +usb_modeswitch +usbmuxd +usbutils +userdrake +usermode +usermode-consoleonly +utempter +util-linux +v4l-utils +vbetool +vim-enhanced +vnstat +vte +wavpack +webkit1.0 +wget +which +wireless-regdb +wireless-tools +wpa_supplicant +x11-data-cursor-themes +x11-data-xkbdata +x11-driver-input +x11-driver-video +x11-driver-video-vboxvideo +x11-font-adobe-75dpi +x11-font-alias +x11-font-bh-75dpi +x11-font-bh-lucidatypewriter-75dpi +x11-font-bitstream-75dpi +x11-font-cronyx-cyrillic +x11-font-cursor-misc +x11-font-cyrillic +x11-font-encodings +x11-font-misc-cyrillic +x11-font-misc-misc +x11-font-screen-cyrillic +x11-font-winitzki-cyrillic +x11-server-common +x11-server-xorg +x264 +xauth +xdg-user-dirs +xdg-user-dirs-gtk +xdg-utils +xdpyinfo +xev +xfsprogs +xhost +xinit +xinitrc +xkbcomp +xmessage +xmodmap +xorg-x11 +xprop +xrandr +xrdb +xsane +xset +xsetroot +xsettings-kde +xz +zcip +zip +zstd + +systemd-sysvinit +systemd +networkmanager +networkmanager-openvpn +networkmanager-vpnc +networkmanager-pptp +modemmanager +mobile-broadband-provider-info +plasma-nm +task-x11 +task-pulseaudio + +kde4-style-qtcurve +qt5-style-qtcurve +qtcurve-gtk2 + +livestart-rosa +rosa-launcher +rosa-imagewriter + +kde4-windeco-dekorator +rosa-elementary-theme +rosa-icons +atmel-firmware +bluez-firmware +ipw2100-firmware +ipw2200-firmware +prism54-firmware +speedtouch-firmware +zd1201-firmware +pcmcia-cis-firmware +speedtouch-firmware-extractor +zd1211-firmware +ipw3945-ucode +iwlwifi-3945-ucode +iwlwifi-4965-ucode +iwlwifi-agn-ucode + +glxinfo +alsa-utils +alsa-plugins-pulseaudio +mesa-demos +mesa + +#mandriva-control-center +qgtkstylealt +plasma-desktoptheme-rosa +kdepasswd + +fonts-ttf-droid +fonts-ttf-paratype + +nut-server +samba-client +wsdd +samba-server +nfs-utils +btrfs-progs +f2fs-tools +cifs-utils +nss_wins +samba-common +comgt +madwimax +rp-pppoe +whois +cups +system-config-printer +xl2tpd +wvdial +gksu +ozerocdoff +usb_modeswitch-data +#cpufreq +#cpufrequtils +bind-utils +#aumix + +zenity +#faad2 +rosa-media-player +# libreoffice-base +ffmpeg +#alac_decoder +gstreamer0.10-mpeg +rdesktop +klook +autofs + +ccid +krb5-workstation +sasl-plug-gssapi +nscd +nss_ldap +openldap-clients +opensc + +pam_krb5 +pam_ldap +pcsc-lite +perl-Digest-SHA +perl-Net-DNS +samba-winbind +libnss-role +tigervnc-server +xl2tpd +lsof +kcm_license +lsb +lsb-release +glibc_lsb +perl-CGI +perl-Pod-Perldoc +perl-Safe +perl-Class-ISA +perl-Pod-Plainer +glibc-i18ndata + +gstreamer0.10-plugins-ugly +htop +traceroute +dkms-broadcom-wl +bluez-firmware +pulseaudio-module-bluetooth +elementary-theme +plasma-applet-battery +plasma-applet-folderview +plasma-applet-showdesktop +unrar +qbittorrent +autologin +bash-completion +k3b +microcode_ctl +kcm-grub2 +#kuser +memtest86+ +isomd5sum +perl-Term-ReadLine-Gnu +drakconf-kde4 +plasma-applet-calculator +plasma-applet-weather +atmel-firmware +zd1201-firmware +ipw2200-firmware +bluez-firmware +prism54-firmware +ipw2100-firmware +speedtouch-firmware +ralink-firmware +iwlwifi-3945-ucode +iwlwifi-4965-ucode +iwlwifi-agn-ucode +kpat +kmines +#kmahjongg +#kbreakout +klines +kpat +kcm-printer +kickoff +quick-usb-formatter +plasma-applet-yawp +flash-player-plugin +dkms-vboxadditions +cpupower +perf +rp-pppoe +virtualbox-guest-additions +avahi-dnsconfd +coreutils-doc +libvdpau-va-gl +vaapi-driver-intel +vaapi-driver-vdpau +vdpauinfo +lcms2 +partitionmanager +poppler +perl-Geo-IP +linux-firmware +libertas-usb8388-olpc-firmware +libertas-sd8787-firmware +libertas-usb8388-firmware +libertas-sd8686-firmware +clementine +djvulibre +geoip +plasma-scriptengine-python +plasma-applet-stackfolder +rosapanel +NetworkManager-l2tp +kio-mtp +fuse-exfat +kcm-drakxservices +testdisk +alsa-firmware +b43-firmware +hfsplus-tools +qt5-style-plugins +qt5-style-cleanlooks +qt5-style-motif +qt5-style-plastique +qt5-qttranslations +adwaita-gtk2-theme +adwaita-gtk3-theme +clearlooks-phenix-gtk2-theme +clearlooks-phenix-gtk3-theme +gtk-engines2 +#p7zip +7-zip +ssd-utils +# needed for default (fallback) session +twm +xclock +xsm +xterm +# extra stuff (can be safely removed) +lynx +screen +whdd + +# Installers +softmaker-freeoffice-install +steam-install + +#extra codecs etc +a52dec +gpac +libvisual-plugins +mpeg2dec +twolame + +# Additional libraries +${lib}stdc++6 +${lib}kmod2 +${lib}ldetect0.12 +${lib}alsa-plugins +${lib}gtk-gir3.0 diff --git a/cyra8x16.psf b/cyra8x16.psf new file mode 100644 index 0000000..0d9cec5 Binary files /dev/null and b/cyra8x16.psf differ diff --git a/extraconfig/check/initrd1.img b/extraconfig/check/initrd1.img new file mode 100644 index 0000000..f06ac92 Binary files /dev/null and b/extraconfig/check/initrd1.img differ diff --git a/extraconfig/check/vmlinuz1 b/extraconfig/check/vmlinuz1 new file mode 100755 index 0000000..c8fedaa Binary files /dev/null and b/extraconfig/check/vmlinuz1 differ diff --git a/extraconfig/etc/X11/xorg.conf.d/00-keyboard.conf b/extraconfig/etc/X11/xorg.conf.d/00-keyboard.conf new file mode 100644 index 0000000..9f272ed --- /dev/null +++ b/extraconfig/etc/X11/xorg.conf.d/00-keyboard.conf @@ -0,0 +1,9 @@ +# Read and parsed by systemd-localed. It's probably wise not to edit this file +# manually too freely. +Section "InputClass" + Identifier "system-keyboard" + MatchIsKeyboard "on" + Option "XkbLayout" "us" + Option "XkbModel" "pc105" + Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll,compose:rwin" +EndSection diff --git a/extraconfig/etc/X11/xsetup.d/05-gtk2-theme-setup.xsetup b/extraconfig/etc/X11/xsetup.d/05-gtk2-theme-setup.xsetup new file mode 100755 index 0000000..b368d3e --- /dev/null +++ b/extraconfig/etc/X11/xsetup.d/05-gtk2-theme-setup.xsetup @@ -0,0 +1,7 @@ +#!/bin/sh +# Setup theme in installer and live +if [ -f /etc/gtk-2.0/gtkrc-installer ] +then + mv /etc/gtk-2.0/gtkrc /etc/gtk-2.0/gtkrc-system + mv /etc/gtk-2.0/gtkrc-installer /etc/gtk-2.0/gtkrc +fi diff --git a/extraconfig/etc/X11/xsetup.d/10-home-live-as-tmpfs.xsetup b/extraconfig/etc/X11/xsetup.d/10-home-live-as-tmpfs.xsetup new file mode 100755 index 0000000..447d38b --- /dev/null +++ b/extraconfig/etc/X11/xsetup.d/10-home-live-as-tmpfs.xsetup @@ -0,0 +1,13 @@ +#!/bin/sh +# to be sourced + +# Mount /home/live into tmpfs and move its former contents into the new location +if !(mount | grep -q '/home/live') && grep -q '\brd.live.image\b' /proc/cmdline && getent passwd live >/dev/null 2>&1 ; then + [ -e /home/live ] && mv /home/live /home/live.bak + mkdir /home/live + mount -t tmpfs -o uid=500,gid=500,mode=0755 tmpfs /home/live + # Moving all contents. `mv live/* ...' skips hidden files, live/.* includes . and .. which we don't need, + # therefore using this extremely obvious and simplistic method instead. + find /home/live.bak -mindepth 1 -maxdepth 1 -exec mv -t /home/live -- {} + + rmdir /home/live.bak +fi diff --git a/extraconfig/etc/X11/xsetup.d/90-gtk2-theme-restore.xsetup b/extraconfig/etc/X11/xsetup.d/90-gtk2-theme-restore.xsetup new file mode 100755 index 0000000..0080f0b --- /dev/null +++ b/extraconfig/etc/X11/xsetup.d/90-gtk2-theme-restore.xsetup @@ -0,0 +1,8 @@ +#!/bin/sh +if [ -f /etc/gtk-2.0/gtkrc-system ] +then + mv /etc/gtk-2.0/gtkrc-system /etc/gtk-2.0/gtkrc +fi + +# Self delete +rm /etc/X11/xsetup.d/90-gtk2-theme-restore.xsetup diff --git a/extraconfig/etc/draklive-install.d/remove.d/gtk2-theme-setup b/extraconfig/etc/draklive-install.d/remove.d/gtk2-theme-setup new file mode 100644 index 0000000..3ecb79c --- /dev/null +++ b/extraconfig/etc/draklive-install.d/remove.d/gtk2-theme-setup @@ -0,0 +1 @@ +/etc/X11/xsetup.d/05-gtk2-theme-setup.xsetup diff --git a/extraconfig/etc/draklive-install.d/remove.d/live-tmpfs b/extraconfig/etc/draklive-install.d/remove.d/live-tmpfs new file mode 100644 index 0000000..862a2cb --- /dev/null +++ b/extraconfig/etc/draklive-install.d/remove.d/live-tmpfs @@ -0,0 +1,3 @@ +/lib/systemd/system/var-tmp.mount +/lib/systemd/system/local-fs.target.wants/var-tmp.mount +/etc/X11/xsetup.d/10-home-live-as-tmpfs.xsetup diff --git a/extraconfig/etc/draklive-install.d/remove.d/no-coredumps b/extraconfig/etc/draklive-install.d/remove.d/no-coredumps new file mode 100644 index 0000000..c865972 --- /dev/null +++ b/extraconfig/etc/draklive-install.d/remove.d/no-coredumps @@ -0,0 +1 @@ +/etc/sysctl.d/90-no-coredumps.conf diff --git a/extraconfig/etc/draklive-install.d/run.d/kres-migrator-reenable.sh b/extraconfig/etc/draklive-install.d/run.d/kres-migrator-reenable.sh new file mode 100755 index 0000000..0a154f1 --- /dev/null +++ b/extraconfig/etc/draklive-install.d/run.d/kres-migrator-reenable.sh @@ -0,0 +1,2 @@ +#!/bin/sh +sed -i -e 's/^\(Enabled=.*\)/Enabled=true/g' /usr/share/config/kres-migratorrc diff --git a/extraconfig/etc/draklive-install.d/run.d/live-autologin-disable.sh b/extraconfig/etc/draklive-install.d/run.d/live-autologin-disable.sh new file mode 100755 index 0000000..e78179a --- /dev/null +++ b/extraconfig/etc/draklive-install.d/run.d/live-autologin-disable.sh @@ -0,0 +1,2 @@ +#!/bin/sh +sed -i -e 's/^\(AutoLoginEnable.*\)/#\1/g' -e 's/^\(AutoLoginUser.*\)/#\1/g' /usr/share/config/kdm/kdmrc diff --git a/extraconfig/etc/draklive-install.d/sysconfig/finish-install b/extraconfig/etc/draklive-install.d/sysconfig/finish-install new file mode 100644 index 0000000..affa6d5 --- /dev/null +++ b/extraconfig/etc/draklive-install.d/sysconfig/finish-install @@ -0,0 +1,13 @@ +sysreq=no +country=no +timezone=no +network=no +keyboard=no +language=no +country=no +remove_unused_packages=no +license=no +authentication=no +FINISH_INSTALL=yes +USERS=with_root +urpmi=no \ No newline at end of file diff --git a/extraconfig/etc/draklive-install.d/sysconfig/firstboot b/extraconfig/etc/draklive-install.d/sysconfig/firstboot new file mode 100644 index 0000000..b33ff47 --- /dev/null +++ b/extraconfig/etc/draklive-install.d/sysconfig/firstboot @@ -0,0 +1 @@ +FIRSTBOOT=yes diff --git a/extraconfig/etc/gtk-2.0/gtkrc-installer b/extraconfig/etc/gtk-2.0/gtkrc-installer new file mode 100644 index 0000000..55956ff --- /dev/null +++ b/extraconfig/etc/gtk-2.0/gtkrc-installer @@ -0,0 +1,6 @@ +gtk-theme-name = "rosa-elementary" +gtk-icon-theme-name = "rosa" +gtk-cursor-theme-name = "Adwaita" +gtk-button-images = 0 +gtk-menu-images = 0 +gtk-font-name="Droid Sans Regular 10" diff --git a/extraconfig/etc/locale.conf b/extraconfig/etc/locale.conf new file mode 100644 index 0000000..051ea21 --- /dev/null +++ b/extraconfig/etc/locale.conf @@ -0,0 +1,14 @@ +LC_TELEPHONE=en_US.UTF-8 +LC_CTYPE=en_US.UTF-8 +LANGUAGE=en_US.UTF-8:en +LC_MONETARY=en_US.UTF-8 +LC_ADDRESS=en_US.UTF-8 +LC_COLLATE=en_US.UTF-8 +LC_PAPER=en_US.UTF-8 +LC_NAME=en_US.UTF-8 +LC_NUMERIC=en_US.UTF-8 +LC_MEASUREMENT=en_US.UTF-8 +LC_TIME=en_US.UTF-8 +LANG=en_US.UTF-8 +LC_IDENTIFICATION=en_US.UTF-8 +LC_MESSAGES=en_US.UTF-8 diff --git a/extraconfig/etc/modprobe.preload.d/modprobe-preload.conf b/extraconfig/etc/modprobe.preload.d/modprobe-preload.conf new file mode 120000 index 0000000..1492300 --- /dev/null +++ b/extraconfig/etc/modprobe.preload.d/modprobe-preload.conf @@ -0,0 +1 @@ +../modprobe.preload \ No newline at end of file diff --git a/extraconfig/etc/modules-load.d/binfmt.conf b/extraconfig/etc/modules-load.d/binfmt.conf new file mode 100644 index 0000000..bc5c5d3 --- /dev/null +++ b/extraconfig/etc/modules-load.d/binfmt.conf @@ -0,0 +1 @@ +binfmt_misc diff --git a/extraconfig/etc/polkit-1/localauthority/10-vendor.d/org.freedesktop.udisks.filesystem-mount-system-internal.pkla b/extraconfig/etc/polkit-1/localauthority/10-vendor.d/org.freedesktop.udisks.filesystem-mount-system-internal.pkla new file mode 100644 index 0000000..d3b462a --- /dev/null +++ b/extraconfig/etc/polkit-1/localauthority/10-vendor.d/org.freedesktop.udisks.filesystem-mount-system-internal.pkla @@ -0,0 +1,6 @@ +[org.freedesktop.udisks.filesystem-mount-system-internal] +Identity=unix-group:* +Action=org.freedesktop.udisks.filesystem-mount-system-internal +ResultAny=auth_admin +ResultInactive=auth_admin +ResultActive=yes diff --git a/extraconfig/etc/rsyslog.d/blacklist.conf b/extraconfig/etc/rsyslog.d/blacklist.conf new file mode 100644 index 0000000..5b95773 --- /dev/null +++ b/extraconfig/etc/rsyslog.d/blacklist.conf @@ -0,0 +1,2 @@ +:msg, contains, "upowerd" ~ +:msg, contains, "udisks-daemon" ~ diff --git a/extraconfig/etc/skel/.config/gtk-3.0/.gitignore b/extraconfig/etc/skel/.config/gtk-3.0/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/extraconfig/etc/skel/.config/pulse/.gitignore b/extraconfig/etc/skel/.config/pulse/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/extraconfig/etc/skel/.kde4/Autostart/firstboot.sh b/extraconfig/etc/skel/.kde4/Autostart/firstboot.sh new file mode 100755 index 0000000..a0059ab --- /dev/null +++ b/extraconfig/etc/skel/.kde4/Autostart/firstboot.sh @@ -0,0 +1,2 @@ +#!/bin/sh +/usr/bin/firstboot_user diff --git a/extraconfig/etc/skel/.local/share/user-places.xbel b/extraconfig/etc/skel/.local/share/user-places.xbel new file mode 100644 index 0000000..e69de29 diff --git a/extraconfig/etc/sysconfig/desktop b/extraconfig/etc/sysconfig/desktop new file mode 100644 index 0000000..229aab2 --- /dev/null +++ b/extraconfig/etc/sysconfig/desktop @@ -0,0 +1,2 @@ +DISPLAYMANAGER=kdm +DESKTOP=KDE4 diff --git a/extraconfig/etc/sysconfig/draklive-install b/extraconfig/etc/sysconfig/draklive-install new file mode 100644 index 0000000..ef1d4ff --- /dev/null +++ b/extraconfig/etc/sysconfig/draklive-install @@ -0,0 +1 @@ +remove_unused_packages=yes diff --git a/extraconfig/etc/sysconfig/finish-install b/extraconfig/etc/sysconfig/finish-install new file mode 100644 index 0000000..39816bb --- /dev/null +++ b/extraconfig/etc/sysconfig/finish-install @@ -0,0 +1,12 @@ +FINISH_INSTALL=yes +authentication=no +network=no +country=no +users=no +hostname=no +urpmi=no +TIMEZONE=simplified +COUNTRY=simplified +USERS=with_root +remove_unused_packages=no +services=no diff --git a/extraconfig/etc/sysconfig/firstboot b/extraconfig/etc/sysconfig/firstboot new file mode 100644 index 0000000..a842497 --- /dev/null +++ b/extraconfig/etc/sysconfig/firstboot @@ -0,0 +1 @@ +FIRSTBOOT=no diff --git a/extraconfig/etc/sysconfig/mdkapplet b/extraconfig/etc/sysconfig/mdkapplet new file mode 100644 index 0000000..b51a541 --- /dev/null +++ b/extraconfig/etc/sysconfig/mdkapplet @@ -0,0 +1,10 @@ +# Update frequency (in seconds) [default is 3 hours]: +UPDATE_FREQUENCY=10800 + +# Initial check will be delayed by (default to 5 minutes): +FIRST_CHECK_DELAY=300000 + +# Globally enable or disable check for new distribution +# (in order to offer live distro upgrade): +# (default is "false", meaning check will be done) +DO_NOT_ASK_FOR_DISTRO_UPGRADE=false diff --git a/extraconfig/etc/sysconfig/speedboot b/extraconfig/etc/sysconfig/speedboot new file mode 100644 index 0000000..8a48c78 --- /dev/null +++ b/extraconfig/etc/sysconfig/speedboot @@ -0,0 +1,4 @@ +#possible values : auto / yes / no / probe +#probe should only be used on kernel commandline : speedboot=probe +#to reset speedboot status for current kernel +SPEEDBOOT=no diff --git a/extraconfig/etc/sysconfig/system b/extraconfig/etc/sysconfig/system new file mode 100644 index 0000000..19dcdb4 --- /dev/null +++ b/extraconfig/etc/sysconfig/system @@ -0,0 +1,5 @@ +CLASS=beginner +SECURITY=3 +LIBSAFE=no +META_CLASS=desktop +HARDDRAKE_ONBOOT=no diff --git a/extraconfig/etc/sysconfig/userdrake b/extraconfig/etc/sysconfig/userdrake new file mode 100644 index 0000000..9e7e27a --- /dev/null +++ b/extraconfig/etc/sysconfig/userdrake @@ -0,0 +1,5 @@ +#Configuration file for userdrake2 +#Copyright (c) 2003 MandrakeSoft SA. all rights reserved + +#Filter out sytem users by default +FILTER=true \ No newline at end of file diff --git a/extraconfig/etc/sysctl.d/90-no-coredumps.conf b/extraconfig/etc/sysctl.d/90-no-coredumps.conf new file mode 100644 index 0000000..03fd0b6 --- /dev/null +++ b/extraconfig/etc/sysctl.d/90-no-coredumps.conf @@ -0,0 +1,8 @@ +# By default, the system passes core dumps to systemd for processing even +# if it is not allowed to store them on disk. In Live mode, we do not want +# that: systemd still temporarily stores the dumps which can be rather +# large and this makes the life of live-rw overlay shorter. +# +# We override these settings here, so that systemd is no longer involved. + +kernel.core_pattern=core diff --git a/extraconfig/lib/systemd/system/local-fs.target.wants/var-tmp.mount b/extraconfig/lib/systemd/system/local-fs.target.wants/var-tmp.mount new file mode 120000 index 0000000..91b1278 --- /dev/null +++ b/extraconfig/lib/systemd/system/local-fs.target.wants/var-tmp.mount @@ -0,0 +1 @@ +../var-tmp.mount \ No newline at end of file diff --git a/extraconfig/lib/systemd/system/var-tmp.mount b/extraconfig/lib/systemd/system/var-tmp.mount new file mode 100644 index 0000000..c3e0c8b --- /dev/null +++ b/extraconfig/lib/systemd/system/var-tmp.mount @@ -0,0 +1,20 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +[Unit] +Description=Temporary Directory in var +Documentation=man:hier(7) +Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems +DefaultDependencies=no +Conflicts=umount.target +Before=local-fs.target umount.target + +[Mount] +What=tmpfs +Where=/var/tmp +Type=tmpfs +Options=mode=1777,strictatime diff --git a/extraconfig/memdisk b/extraconfig/memdisk new file mode 100644 index 0000000..b87fe24 Binary files /dev/null and b/extraconfig/memdisk differ diff --git a/extraconfig/memtest b/extraconfig/memtest new file mode 100755 index 0000000..829bc94 Binary files /dev/null and b/extraconfig/memtest differ diff --git a/extraconfig/other/akonadiserverrc b/extraconfig/other/akonadiserverrc new file mode 100644 index 0000000..dd1aaaa --- /dev/null +++ b/extraconfig/other/akonadiserverrc @@ -0,0 +1,12 @@ +[%General] +Driver=QMYSQL + +[QMYSQL] +Name=akonadi +Host= +Options= +ServerPath=/usr/sbin/mysqld +StartServer=false + +[Debug] +Tracer=null diff --git a/extraconfig/sgb.img b/extraconfig/sgb.img new file mode 100644 index 0000000..2602696 Binary files /dev/null and b/extraconfig/sgb.img differ diff --git a/extraconfig/sgb.iso b/extraconfig/sgb.iso new file mode 100644 index 0000000..f58f8e5 Binary files /dev/null and b/extraconfig/sgb.iso differ diff --git a/extraconfig/usr/bin/firstboot_user b/extraconfig/usr/bin/firstboot_user new file mode 100755 index 0000000..fe60002 --- /dev/null +++ b/extraconfig/usr/bin/firstboot_user @@ -0,0 +1,7 @@ +#!/bin/sh +rm ~/.kde4/Autostart/firstboot.sh +amixer set Master 33% + +#(users | grep live) && akonadictl stop && sed -i -e "s/StartServer=true/StartServer=false/" ~/.config/akonadi/akonadiserverrc + +#(users | grep -v live) && zenity --question --title "Отключение сервиса индексации akonadi" --text "Вы хотите отключить сервис индексации akonadi ?" && akonadictl stop && sed -i -e "s/StartServer=true/StartServer=false/" ~/.config/akonadi/akonadiserverrc diff --git a/extraconfig/usr/share/config/kres-migratorrc b/extraconfig/usr/share/config/kres-migratorrc new file mode 100644 index 0000000..51542db --- /dev/null +++ b/extraconfig/usr/share/config/kres-migratorrc @@ -0,0 +1,4 @@ +[Migration] +Enabled=false +SetupClientBridge=false +TargetVersion=3 diff --git a/extraconfig/usr/share/mdk/bookmarks/mozilla/mozilla-one.html b/extraconfig/usr/share/mdk/bookmarks/mozilla/mozilla-one.html new file mode 100755 index 0000000..e2676c2 --- /dev/null +++ b/extraconfig/usr/share/mdk/bookmarks/mozilla/mozilla-one.html @@ -0,0 +1,10 @@ + + +Bookmarks +

Bookmarks

+

+

Mandriva

+

+

ROSA WIKI +
ROSA Worldwide +

diff --git a/i586kde4.lst b/i586kde4.lst new file mode 100644 index 0000000..e69de29 diff --git a/i586repo.lst b/i586repo.lst new file mode 100644 index 0000000..5b3db61 --- /dev/null +++ b/i586repo.lst @@ -0,0 +1,2 @@ +# i586 repos for containers +repo --name=loader --baseurl=http://abf-downloads.rosalinux.ru/loader_personal/repository/rosa2016.1/i586/main/release/ diff --git a/root/default.example b/root/default.example new file mode 100644 index 0000000..407bbbb --- /dev/null +++ b/root/default.example @@ -0,0 +1,30 @@ +timeout 500 +prompt 0 + +default vesamenu.c32 +allowoptions 0 +font cyra8x16.psf +ontimout local + +menu title Install Linux XP +menu background default.jpg + +menu tabmsg Press [TAB] for kernel options +menu color border 0 #ffffffff #00000000 +menu color sel 7 #ffffffff #ff000000 +menu color title 0 #ffffffff #00000000 +menu color tabmsg 0 #ffffffff #00000000 +menu color unsel 0 #ffffffff #00000000 +menu color hotsel 0 #ff000000 #ffffffff +menu color hotkey 7 #ffffffff #ff000000 +menu color timeout_msg 0 #ffffffff #00000000 +menu color timeout 0 #ffffffff #00000000 +menu color cmdline 0 #ffffffff #00000000 + +label local +menu label Booting from HDD +localboot 0 + +label lxpd Linux-XP + kernel lxpd/vmlinuz + append initrd=initrd-net-2.6.27.21-170.2.56.1.lxpd.img vga=791 ramdisk=32768 netstart root=http://myhost.com/iso/LXPD.2008.SR1.{XXX}.{YYY}.iso rootfstype=ext2 liveimg vga=788 rhgb quiet desktop CDLABEL=LXP nopat diff --git a/total_sum_counter.pl b/total_sum_counter.pl new file mode 100755 index 0000000..f885912 --- /dev/null +++ b/total_sum_counter.pl @@ -0,0 +1,52 @@ +#!/usr/bin/perl +# +# $Id:$ +# +# This program is a part of installator DrakX. Program scans directory where +# live system is prepared and calculates total size of the directory, which is placed +# into minimal requirements file +# +# Usage example: +# ./total_sum_counter.pl -r 512 -h 8 -w /work/ext3 -o /work/etc/min_sys/requirements +# +# Return codes: +# +# 0 -- total size has been calculated +# 1 -- missed command line' arguments +# 2 -- source directory with live filesystem doesn't exists +# +use Getopt::Std; +use File::Basename; + +############### Check command line args ################## + +getopts("r:h:w:o:"); +if (!$opt_o || !$opt_w || !$opt_r || !$opt_h) { + print "\n Usage: total_sum_counter.pl -r -h -w -o \n\n"; + exit 1; +} + +if (! -d $opt_w) { + print "Directory $opt_w is not found.\n"; + exit 2; +} + +################################ + + $cmd = "cd $opt_w; du -a -x -b -P . | tail -1"; + open (SCANSRC,"-|", $cmd) || die "Cannot run du utility to prepare data"; + open (SCANRES,"> $opt_o") || die "Cannot create output file $opt_o"; + + + print SCANRES "ram = $opt_r\n"; + print SCANRES "hdd = $opt_h\n"; + + while () { + $tmp = $_; + ($filesize, $filename ) = split; + print SCANRES "imagesize = $filesize\n"; + } + close SCANSRC; + close SCANRES; + +exit 0; diff --git a/uefi.lst b/uefi.lst new file mode 100644 index 0000000..73c660b --- /dev/null +++ b/uefi.lst @@ -0,0 +1,4 @@ +grub2-efi +efibootmgr +efivar +shim diff --git a/x86_64kde4.lst b/x86_64kde4.lst new file mode 100644 index 0000000..8b062fb --- /dev/null +++ b/x86_64kde4.lst @@ -0,0 +1,3 @@ +#skype-install +#viber-install +#yandex-browser-install diff --git a/x86_64repo.lst b/x86_64repo.lst new file mode 100644 index 0000000..59734b8 --- /dev/null +++ b/x86_64repo.lst @@ -0,0 +1,3 @@ +# x86_64 repos for containers +repo --name=loaders --baseurl=http://abf-downloads.rosalinux.ru/loader_personal/repository/rosa2016.1/x86_64/main/release/ +repo --name=djam --baseurl=http://abf-downloads.rosalinux.ru/djam_personal/repository/rosa2016.1/x86_64/main/release/