From 68c1a4ccba5c1796ecc9392636cff4cac6ccc309 Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Tue, 20 Oct 2020 18:03:51 +0200 Subject: DAW: many small improvements --- make_slackware_live.sh | 13 ++-- media/daw/icons/SJack2.png | Bin 0 -> 36939 bytes media/daw/icons/default.png | 1 + media/daw/menu/liveslak-daw.menu | 3 + media/daw/menu/liveslak-daw.png | Bin 29903 -> 76212 bytes pkglists/z00_slk4daw.lst | 3 + pkglists/z01_plasma5base.lst | 14 ++--- pkglists/z02_alien4daw.lst | 5 +- pkglists/z02_alienrest4daw.conf | 12 ++++ pkglists/z02_alienrest4daw.lst | 2 + pkglists/z03_daw.lst | 1 + setup2hd/SeTpasswd | 30 +++++++++ setup2hd/setup.liveslak.tpl | 132 ++++++++++++++++++++++++++++----------- 13 files changed, 169 insertions(+), 47 deletions(-) create mode 100644 media/daw/icons/SJack2.png create mode 120000 media/daw/icons/default.png create mode 100644 pkglists/z02_alienrest4daw.conf create mode 100644 pkglists/z02_alienrest4daw.lst create mode 100644 setup2hd/SeTpasswd diff --git a/make_slackware_live.sh b/make_slackware_live.sh index 7b349a5..7a66631 100755 --- a/make_slackware_live.sh +++ b/make_slackware_live.sh @@ -187,7 +187,7 @@ SEQ_XFCEBASE="${MINLIST},noxbase,x_base,xapbase,xfcebase" # Stripped-down Slackware with Plasma5 as the Desktop Environment: # - each series will become a squashfs module. # Note that loading the modules needs a specific order, which we force: -SEQ_DAW="pkglist:${MINLIST},noxbase,x_base,xapbase,slackextra,slackpkgplus,z00_slk4daw,z01_plasma5base,z02_alien4daw,z03_daw" +SEQ_DAW="pkglist:${MINLIST},noxbase,x_base,xapbase,slackextra,slackpkgplus,z00_slk4daw,z01_plasma5base,z02_alien4daw,z02_alienrest4daw,z03_daw" # List of Slackware package series with Plasma5 instead of KDE 4 (full install): # - each will become a squashfs module: @@ -1825,6 +1825,9 @@ if [ -f ${DEF_SL_PKGROOT}/../isolinux/initrd.img ]; then fi # Fix some occurrences of '/usr/lib/setup/' that are covered by $PATH: sed -i -e 's,/usr/lib/setup/,,g' -e 's,:/usr/lib/setup,:/usr/share/${LIVEMAIN},g' ${LIVE_ROOTDIR}/usr/share/${LIVEMAIN}/* + # Overwrite Slackware's SeTpasswd script with our enhanceded version: + cat ${LIVE_TOOLDIR}/setup2hd/SeTpasswd \ + > ${LIVE_ROOTDIR}/usr/share/${LIVEMAIN}/SeTpasswd # Add the Slackware Live HD installer scripts: for USCRIPT in SeTuacct SeTudiskpart SeTumedia SeTupass setup.liveslak setup.slackware ; do cat ${LIVE_TOOLDIR}/setup2hd/${USCRIPT}.tpl | sed \ @@ -1835,6 +1838,7 @@ if [ -f ${DEF_SL_PKGROOT}/../isolinux/initrd.img ]; then -e "s/@KVER@/$KVER/g" \ -e "s/@LIVEDE@/$LIVEDE/g" \ -e "s/@LIVEMAIN@/$LIVEMAIN/g" \ + -e "s/@LIVEUID@/$LIVEUID/g" \ -e "s/@MARKER@/$MARKER/g" \ -e "s/@SL_VERSION@/$SL_VERSION/g" \ -e "s/@VERSION@/$VERSION/g" \ @@ -1850,6 +1854,7 @@ if [ -f ${DEF_SL_PKGROOT}/../isolinux/initrd.img ]; then -e "s/@KVER@/$KVER/g" \ -e "s/@LIVEDE@/$LIVEDE/g" \ -e "s/@LIVEMAIN@/$LIVEMAIN/g" \ + -e "s/@LIVEUID@/$LIVEUID/g" \ -e "s/@MARKER@/$MARKER/g" \ -e "s/@SL_VERSION@/$SL_VERSION/g" \ -e "s/@VERSION@/$VERSION/g" \ @@ -2293,9 +2298,9 @@ EOT sed -i ${LIVE_ROOTDIR}/${DESKTOPF} \ -e "s/^Categories=\(.*\)/Categories=X-DAW;\1/" fi - # Hide the application in Multimedia (which is based on the AudioVideo - # category) to prevent them from getting listed twice: - sed -i ${LIVE_ROOTDIR}/${DESKTOPF} -e "/^Categories=/s/AudioVideo;//" + ## Hide the application in Multimedia (which is based on the AudioVideo + ## category) to prevent them from getting listed twice: + #sed -i ${LIVE_ROOTDIR}/${DESKTOPF} -e "/^Categories=/s/AudioVideo;//" done fi done diff --git a/media/daw/icons/SJack2.png b/media/daw/icons/SJack2.png new file mode 100644 index 0000000..d664eb2 Binary files /dev/null and b/media/daw/icons/SJack2.png differ diff --git a/media/daw/icons/default.png b/media/daw/icons/default.png new file mode 120000 index 0000000..2bbd526 --- /dev/null +++ b/media/daw/icons/default.png @@ -0,0 +1 @@ +SJack2.png \ No newline at end of file diff --git a/media/daw/menu/liveslak-daw.menu b/media/daw/menu/liveslak-daw.menu index 27b7341..d12ff0c 100644 --- a/media/daw/menu/liveslak-daw.menu +++ b/media/daw/menu/liveslak-daw.menu @@ -3,6 +3,9 @@ Applications Multimedia + + X-DAW + X42 Plugins Slackware Live Daw/X42 Plugins diff --git a/media/daw/menu/liveslak-daw.png b/media/daw/menu/liveslak-daw.png index 7eea5a2..51bf3a6 100644 Binary files a/media/daw/menu/liveslak-daw.png and b/media/daw/menu/liveslak-daw.png differ diff --git a/pkglists/z00_slk4daw.lst b/pkglists/z00_slk4daw.lst index 480ef27..47dfe90 100644 --- a/pkglists/z00_slk4daw.lst +++ b/pkglists/z00_slk4daw.lst @@ -42,10 +42,12 @@ qca-qt5 qt5 qt5-webkit raptor2 +recordmydesktop ruby sane sazanami-fonts-ttf sip +sox ssr taglib taglib-extras @@ -62,6 +64,7 @@ xcb-util-wm xcm xconsole xdg-user-dirs +xine-lib xedit xpdf xsane diff --git a/pkglists/z01_plasma5base.lst b/pkglists/z01_plasma5base.lst index 69cc6b3..64511cd 100644 --- a/pkglists/z01_plasma5base.lst +++ b/pkglists/z01_plasma5base.lst @@ -14,13 +14,13 @@ dbus ddcutil dotconf #drumstick -#dvdauthor +dvdauthor ConsoleKit2%elogind #espeak-ng exiv2 #flite #freecell-solver -#frei0r-plugins +frei0r-plugins gpgme grantlee grantlee-qt4 @@ -39,11 +39,11 @@ libindicator libqalculate #libsass lmdb -#mlt +mlt mozjs68 #noto-cjk-font-ttf noto-font-ttf -#opencv +opencv #pcaudiolib perl-path-tiny perl-template-toolkit @@ -61,12 +61,12 @@ qca-qt5 qrencode qt-gstreamer #qtav -#rttr +rttr #sassc sni-qt #speech-dispatcher util-linux -#vid.stab +vid.stab # frameworks: attica-framework @@ -319,7 +319,7 @@ kdegraphics-strigi-analyzer kdegraphics-thumbnailers kdenetwork-filesharing kdenetwork-strigi-analyzers -#kdenlive +kdenlive #kdesdk-kioslaves #kdesdk-strigi-analyzers #kdesdk-thumbnailers diff --git a/pkglists/z02_alien4daw.lst b/pkglists/z02_alien4daw.lst index 8435d51..0fa4683 100644 --- a/pkglists/z02_alien4daw.lst +++ b/pkglists/z02_alien4daw.lst @@ -2,10 +2,13 @@ #MinGW-w64 boost-compat dropbox-client +fdk-aac gst-plugins-ffmpeg0 +mbedtls +obs-studio openjdk openconnect unrar #vkd3d -vlc #wine +x264 diff --git a/pkglists/z02_alienrest4daw.conf b/pkglists/z02_alienrest4daw.conf new file mode 100644 index 0000000..40c3942 --- /dev/null +++ b/pkglists/z02_alienrest4daw.conf @@ -0,0 +1,12 @@ +# If 'SL_REPO_URL' is a rsync:// URL and 'SL_REPO' points to a non-existent +# or empty directory, then the content of 'SL_REPO_URL' will be rsync-ed +# to the local directory 'SL_REPO'. +SL_REPO_URL="rsync://slackware.uk/people/alien/restricted_sbrepos/${SL_VERSION}/${SL_ARCH}" +SL_REPO="/var/cache/liveslak/restricted_sbrepos/${SL_VERSION}/${SL_ARCH}" + +# Package root directory: +SL_PKGROOT=${SL_REPO} + +# Patches root directory: +SL_PATCHROOT="" + diff --git a/pkglists/z02_alienrest4daw.lst b/pkglists/z02_alienrest4daw.lst new file mode 100644 index 0000000..1310653 --- /dev/null +++ b/pkglists/z02_alienrest4daw.lst @@ -0,0 +1,2 @@ +ffmpeg +vlc diff --git a/pkglists/z03_daw.lst b/pkglists/z03_daw.lst index d1148d0..dfdb0a4 100644 --- a/pkglists/z03_daw.lst +++ b/pkglists/z03_daw.lst @@ -19,6 +19,7 @@ dssi eq10q faad2 geonkick +giada guitarix gxplugins.lv2 helm diff --git a/setup2hd/SeTpasswd b/setup2hd/SeTpasswd new file mode 100644 index 0000000..4208306 --- /dev/null +++ b/setup2hd/SeTpasswd @@ -0,0 +1,30 @@ +# Liveslak replacement for Slackware's SeTpassword script. + +# Set up a user account, +dialog --title "@UDISTRO@ (@LIVEDE@) USER CREATION" \ + --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ + --msgbox "You will first get the chance to create your user account, \ +and set its password.\nYour account will be added to sudoers and suauth.\n\n\ +After that, you will be asked to set the root password." 9 55 +# This will set UFULLNAME, UACCOUNT and USHELL variables: +SeTuacct 2>&1 1> $TMP/tempresult +if [ $? = 0 ]; then + # User filled out the form, so let's get the results for + # UFULLNAME, UACCOUNT, UACCTNR and USHELL: + source $TMP/tempresult + rm -f $TMP/tempresult + # Set a password for the new account: + UPASS=$(SeTupass $UACCOUNT) + # Create the account and set the password: + chroot ${T_PX} /usr/sbin/useradd -c "$UFULLNAME" -g users -G wheel,audio,cdrom,floppy,plugdev,video,power,netdev,lp,scanner,dialout,games,disk,input -u ${UACCTNR} -d /home/${UACCOUNT} -m -s ${USHELL} ${UACCOUNT} + echo "${UACCOUNT}:${UPASS}" | chroot ${T_PX} /usr/sbin/chpasswd + unset UPASS +fi # End user creation + +# Check for root password: +if [ "$(cat $T_PX/etc/shadow | grep 'root:' | cut -f 2 -d :)" = "" ]; then + # There is no root password yet: + UPASS=$(SeTupass root) + echo "root:${UPASS}" | chroot ${T_PX} /usr/sbin/chpasswd + unset UPASS +fi diff --git a/setup2hd/setup.liveslak.tpl b/setup2hd/setup.liveslak.tpl index 396412b..5b6e65a 100644 --- a/setup2hd/setup.liveslak.tpl +++ b/setup2hd/setup.liveslak.tpl @@ -63,61 +63,36 @@ Press ENTER to return to the main menu." 16 68 # live_post_install () { - # Re-use some of the custom configuration from 0099-@DISTRO@_zzzconf-*.sxz - # (some of these may not be present but the command will not fail): - dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ - --title "POST-INSTALL @UDISTRO@ LIVE (@LIVEDE@) DATA" --infobox \ - "\nCopying Live modifications to hard disk ..." 5 65 - sleep 1 # It's too fast... - # Do not overwrite a custom keymap: - if [ ! -f $T_PX/etc/rc.d/rc.keymap ]; then - unsquashfs -f -dest $T_PX \ - /mnt/livemedia/@LIVEMAIN@/system/0099*zzzconf*.sxz \ - /etc/rc.d/rc.keymap - fi - unsquashfs -f -dest $T_PX \ - /mnt/livemedia/@LIVEMAIN@/system/0099*zzzconf*.sxz \ - /etc/X11/xdm/liveslak-xdm \ - /etc/X11/xorg.conf.d/30-keyboard.conf \ - /etc/inittab \ - /etc/skel \ - /etc/profile.d/lang.sh \ - /etc/rc.d/rc.font \ - /etc/rc.d/rc.gpm \ - /etc/slackpkg \ - /etc/vconsole.conf - # Point xdm to the custom /etc/X11/xdm/liveslak-xdm/xdm-config: - sed -i ${T_PX}/etc/rc.d/rc.4 -e 's,bin/xdm -nodaemon,& -config /etc/X11/xdm/liveslak-xdm/xdm-config,' - # Remove the marker file from the filesystem root: - rm -f ${T_PX}/@MARKER@ - # --------------------- # Set up a user account, dialog --title "@UDISTRO@ (@LIVEDE@) USER CREATION" \ --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ --msgbox "You will first get the chance to create your user account, \ and set its password.\nYour account will be added to sudoers and suauth.\n\n\ -Next you will be asked to set root's password." 9 55 - # This will set UFULLNAME, UACCOUNT and USHELL variables: +After that, you will be asked to set the root password." 9 55 + # This will set UFULLNAME, UACCOUNT, UACCTNR and USHELL variables: SeTuacct 2>&1 1> $TMP/tempresult if [ $? = 0 ]; then # User filled out the form, so let's get the results for - # UFULLNAME, UACCOUNT and USHELL: + # UFULLNAME, UACCOUNT, UACCTNR and USHELL: source $TMP/tempresult rm -f $TMP/tempresult # Set a password for the new account: UPASS=$(SeTupass $UACCOUNT) # Create the account and set the password: - chroot ${T_PX} /usr/sbin/useradd -c "$UFULLNAME" -g users -G wheel,audio,cdrom,floppy,plugdev,video,power,netdev,lp,scanner,kmem,dialout,games,disk,input -u 1000 -d /home/${UACCOUNT} -m -s ${USHELL} ${UACCOUNT} + chroot ${T_PX} /usr/sbin/useradd -c "$UFULLNAME" -g users -G wheel,audio,cdrom,floppy,plugdev,video,power,netdev,lp,scanner,dialout,games,disk,input -u ${UACCTNR} -d /home/${UACCOUNT} -m -s ${USHELL} ${UACCOUNT} echo "${UACCOUNT}:${UPASS}" | chroot ${T_PX} /usr/sbin/chpasswd unset UPASS - # Configure suauth: - cat <${T_PX}/etc/suauth + # Configure suauth if we are not on a PAM system + # (where this does not work): + if [ ! -L ${T_PX}/lib@DIRSUFFIX@/libpam.so.? ]; then + cat <${T_PX}/etc/suauth root:${UACCOUNT}:OWNPASS root:ALL EXCEPT GROUP wheel:DENY EOT - chmod 600 ${LIVE_ROOTDIR}/etc/suauth + chmod 600 ${LIVE_ROOTDIR}/etc/suauth + fi # Configure sudoers: chmod 640 ${T_PX}/etc/sudoers @@ -133,6 +108,93 @@ EOT unset UPASS fi + # Re-use some of the custom configuration from 0099-@DISTRO@_zzzconf-*.sxz + # (some of these may not be present but the command will not fail): + dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ + --title "POST-INSTALL @UDISTRO@ LIVE (@LIVEDE@) DATA" --infobox \ + "\nCopying Live modifications to hard disk ..." 5 65 + sleep 1 # It's too fast... + # Do not overwrite a custom keymap: + if [ ! -f $T_PX/etc/rc.d/rc.keymap ]; then + unsquashfs -f -dest $T_PX \ + /mnt/livemedia/@LIVEMAIN@/system/0099*zzzconf*.sxz \ + /etc/rc.d/rc.keymap + fi + unsquashfs -f -dest $T_PX \ + /mnt/livemedia/@LIVEMAIN@/system/0099*zzzconf*.sxz \ + /etc/X11/xinit/xinitrc \ + /etc/X11/xdm/liveslak-xdm \ + /etc/X11/xorg.conf.d/30-keyboard.conf \ + /etc/inittab \ + /etc/skel \ + /etc/profile.d/lang.sh \ + /etc/rc.d/rc.font \ + /etc/rc.d/rc.gpm \ + /etc/slackpkg \ + /etc/vconsole.conf + # Point xdm to the custom /etc/X11/xdm/liveslak-xdm/xdm-config: + sed -i ${T_PX}/etc/rc.d/rc.4 -e 's,bin/xdm -nodaemon,& -config /etc/X11/xdm/liveslak-xdm/xdm-config,' + # Prevent Slackware's SeTconfig from asking redundant questions later on: + sed -i ${T_PX}/usr/lib/setup/SeTconfig \ + -e '/.\/var\/log\/setup\/$SCRIPT $T_PX $ROOT_DEVICE/i # Skip stuff that was taken care of by liveslak\nif echo $SCRIPT |grep -E "(make-bootdisk|mouse|setconsolefont|xwmconfig)"; then continue; fi' + + # If a user account was created, we restore some of the user customization: + if [ -n "${UACCOUNT}" ] && [ -d "${T_PX}/home/${UACCOUNT}" ]; then + unsquashfs -f -dest $T_PX \ + /mnt/livemedia/@LIVEMAIN@/system/0099*zzzconf*.sxz \ + /home/@LIVEUID@/.face \ + /home/@LIVEUID@/.face.icon + if [ "@LIVEUID@" != ${UACCOUNT} ]; then + rsync -a $T_PX/home/@LIVEUID@/ $T_PX/home/${UACCOUNT}/ + rm -rf $T_PX/home/@LIVEUID@ + fi + fi + + # If the Live OS is real-time capable we need to apply that to the install: + if [ "@LIVEDE@" = "PLASMA5" -o "@LIVEDE@" = "DAW" -o "@LIVEDE@" = "STUDIOWARE" ]; +then + unsquashfs -f -dest $T_PX \ + /mnt/livemedia/@LIVEMAIN@/system/0099*zzzconf*.sxz \ + /etc/security/limits.d/rt_audio.conf \ + /etc/initscript \ + /etc/udev/rules.d/40-timer-permissions.rules \ + /etc/sysctl.d/daw.conf + fi + + # Copy relevant settings for Live DAW: + if [ "@LIVEDE@" = "DAW" ]; +then + LCLIVEDE=$(echo @LIVEDE@ |tr 'A-Z' 'a-z') + unsquashfs -f -dest $T_PX \ + /mnt/livemedia/@LIVEMAIN@/system/0099*zzzconf*.sxz \ + /etc/pulse/daemon.conf \ + /etc/xdg/menus/applications-merged/liveslak-daw.menu \ + /usr/share/desktop-directories/liveslak-daw.directory \ + /usr/share/icons/hicolor/256x256/apps/liveslak-daw.png \ + /usr/share/applications \ + /usr/share/wallpapers/${LCLIVEDE} \ + /usr/share/@LIVEMAIN@/${LCLIVEDE}/background.jpg \ + /usr/share/sddm/themes/breeze/${LCLIVEDE}_background.jpg \ + /usr/share/sddm/themes/breeze/theme.conf.user + + # If a user account was created, we restore DAW user customization: + if [ -n "${UACCOUNT}" ] && [ -d "${T_PX}/home/${UACCOUNT}" ]; then + unsquashfs -f -dest $T_PX \ + /mnt/livemedia/@LIVEMAIN@/system/0099*zzzconf*.sxz \ + /home/@LIVEUID@/.jackdrc \ + /home/${LIVEUID}/.config/autostart/qjackctl.desktop \ + /home/${LIVEUID}/.config/rncbc.org/QjackCtl.conf \ + /home/${LIVEUID}/.config/kscreenlockerrc + if [ "@LIVEUID@" != ${UACCOUNT} ]; then + rsync -a $T_PX/home/@LIVEUID@/ $T_PX/home/${UACCOUNT}/ + rm -rf $T_PX/home/@LIVEUID@ + fi + fi + fi + + # Remove the marker file from the filesystem root: + rm -f ${T_PX}/@MARKER@ + cat << EOF > $TMP/tempmsg @CDISTRO@ Live Edition (@LIVEDE@) has been installed to your hard drive! -- cgit v1.2.3