Relative SLACKROOTDIR path in mirror-slackware-current.sh script - does not work
by igadoter from LinuxQuestions.org on (#5D5RA)
I spend this morning to figure this out. I set SLACKROOTDIR to . Here is script part which is inconsistent with such setting
Code:cd ${SLACKROOTDIR}/${SLACKRELEASE}
.....
if [ ! -e ${SLACKROOTDIR}/${SLACKRELEASE}/ChangeLog.txt ]; then
touch ${SLACKROOTDIR}/${SLACKRELEASE}/ChangeLog.txt
fiit was not quite easy to find this, here is debug listing, so you can see settings etc.
Code:++ dirname ./mirror-slackware-current.sh
++ basename ./mirror-slackware-current.sh .sh
+ CONFFILE=./mirror-slackware-current.conf
+ '[' -f ./mirror-slackware-current.conf ']'
+ . ./mirror-slackware-current.conf
++ BUILDER='Piotr Dacko <dackopiotr7@gmail.com>'
++ SLACKROOTDIR=.
++ ARCH=x86_64
++ RSYNCURLROOT=rsync.slackware.no::slackware/
++ VERBOSE=-v
++ ISO=NONE
++ EXCLUDES='--exclude pasture --exclude source'
+ set_defaults
+ RSYNC=/usr/bin/rsync
+ MKISOFS=/usr/bin/mkisofs
+ MD5SUM=/usr/bin/md5sum
+ ISOHYBRID=/usr/bin/isohybrid
+ BUILDER='Piotr Dacko <dackopiotr7@gmail.com>'
+ SLACKROOTDIR=.
+ ARCH=x86_64
+ RELEASE=current
+ RSYNCURLROOT=rsync.slackware.no::slackware/
+ RSYNCURL=
+ EXTOPTS=
+ DEBUG=1
+ VERBOSE=-v
+ ISO=NONE
+ ISOONLY=no
+ FORCE=no
+ ONLYDIFF=0
+ PREREMOVE=0
+ HYBRID=0
+ EXCLUDES='--exclude pasture --exclude source'
+ EXCLUDEFILE=
+ DVD_EXCLUDES='-x ./testing -x ./source -x ./extra/source'
+ BWLIMIT=0
+ CHECKVER=no
+ BOOTLOADSIZE=4
++ date +%d_%b_%Y
+ DATE=22_Jan_2021
+ TMP=/tmp
++ basename ./mirror-slackware-current.sh .sh
+ PIDFILE=/var/tmp/mirror-slackware-current.pid
++ basename ./mirror-slackware-current.sh .sh
+ SCRIPTID=mirror-slackware-current
+ ORIGSCR=http://www.slackware.com/~alien/tools/mirror-slackware-current.sh
+ trap 'rm -f $PIDFILE; exit 1' TERM INT
+ getopts a:b:cehfil:m:no:pr:qs:uvwX: Option
+ shift 0
+ echo 'CDROM MINI DVD ALL NONE'
+ grep -wq NONE
+ '[' 0 -eq 1 -a no == yes ']'
+ '[' no == yes -a no == yes ']'
+ '[' -n '' -a '' '!=' none ']'
+ '[' x86_64 = x86_64 ']'
+ SLACKRELEASE=slackware64-current
+ PKGMAIN=slackware64
+ '[' '!' -d ./slackware64-current ']'
+ '[' NONE '!=' NONE -a '!' -d ./slackware64-current-iso ']'
+ '[' -z ']'
+ RSYNCURL=rsync.slackware.no::slackware/slackware64-current
+ '[' no == yes ']'
+ '[' no == no ']'
+ '[' 1 -eq 1 ']'
+ echo '#'
#
+ echo '# Mirroring slackware64-current from rsync.slackware.no::slackware/slackware64-current ...'
# Mirroring slackware64-current from rsync.slackware.no::slackware/slackware64-current ...
+ echo '#'
#
++ /usr/bin/rsync rsync.slackware.no::slackware/slackware64-current
+ RSYNCOUT=
+ RES=0
+ '[' 0 -ne 0 ']'
+ '[' '' == none ']'
+ '[' -r '' ']'
+ '[' -e /var/tmp/mirror-slackware-current.pid ']'
+ echo 1349
+ '[' 1 == 1 ']'
+ echo 'Changing to ./slackware64-current ...'
Changing to ./slackware64-current ...
+ cd ./slackware64-current
+ umask 022
+ '[' no == no ']'
+ '[' 1 == 1 ']'
++ date
+ echo 'Fri 22 Jan 2021 10:10:59 AM CET [1349]: Getting ChangeLog.txt...'
Fri 22 Jan 2021 10:10:59 AM CET [1349]: Getting ChangeLog.txt...
+ rm -f /tmp/mirror-slackware-current_slackware64-current_ChangeLog.txt
+ /usr/bin/rsync -az -v rsync.slackware.no::slackware/slackware64-current/ChangeLog.txt /tmp/mirror-slackware-current_slackware64-current_ChangeLog.txt
receiving incremental file list
ChangeLog.txt
sent 43 bytes received 248,896 bytes 71,125.43 bytes/sec
total size is 1,199,182 speedup is 4.82
+ '[' '!' -s /tmp/mirror-slackware-current_slackware64-current_ChangeLog.txt ']'
++ pwd
+ PWD=/media/piotr/5FB77A1F7EDC9AFB/Slackware-current/slackware64-current
+ echo /media/piotr/5FB77A1F7EDC9AFB/Slackware-current/slackware64-current
/media/piotr/5FB77A1F7EDC9AFB/Slackware-current/slackware64-current
+ '[' '!' -e ./slackware64-current/ChangeLog.txt ']'
+ touch ./slackware64-current/ChangeLog.txt
touch: cannot touch './slackware64-current/ChangeLog.txt': No such file or directory
+ diff -b ./slackware64-current/ChangeLog.txt /tmp/mirror-slackware-current_slackware64-current_ChangeLog.txt
diff: ./slackware64-current/ChangeLog.txt: No such file or directory
+ STATUS=2
+ '[' 2 == 2 ']'
++ date
+ echo 'Fri 22 Jan 2021 10:11:02 AM CET [1349]: Trouble when running diff, aborting...'
Fri 22 Jan 2021 10:11:02 AM CET [1349]: Trouble when running diff, aborting...
+ rm -f /tmp/mirror-slackware-current_slackware64-current_ChangeLog.txt
+ rm -f /var/tmp/mirror-slackware-current.pid
+ exit 1this part was headache for me
Code:+ touch ./slackware64-current/ChangeLog.txt
touch: cannot touch './slackware64-current/ChangeLog.txt': No such file or directoryIt is just good to know.
Edit: Word of explanation why relative path. On Devuan media are mounted under /media while in Slackware /run/media - so depending on which system I am actually working I need to change setup for SLACKROOTDIR. Using relative path would allow me to create config file so I could run script in directory where repository is located. Full paths on my systems are (run/media | /media)/piotr/5FB77A1F7EDC9AFB/Slackware-current


Code:cd ${SLACKROOTDIR}/${SLACKRELEASE}
.....
if [ ! -e ${SLACKROOTDIR}/${SLACKRELEASE}/ChangeLog.txt ]; then
touch ${SLACKROOTDIR}/${SLACKRELEASE}/ChangeLog.txt
fiit was not quite easy to find this, here is debug listing, so you can see settings etc.
Code:++ dirname ./mirror-slackware-current.sh
++ basename ./mirror-slackware-current.sh .sh
+ CONFFILE=./mirror-slackware-current.conf
+ '[' -f ./mirror-slackware-current.conf ']'
+ . ./mirror-slackware-current.conf
++ BUILDER='Piotr Dacko <dackopiotr7@gmail.com>'
++ SLACKROOTDIR=.
++ ARCH=x86_64
++ RSYNCURLROOT=rsync.slackware.no::slackware/
++ VERBOSE=-v
++ ISO=NONE
++ EXCLUDES='--exclude pasture --exclude source'
+ set_defaults
+ RSYNC=/usr/bin/rsync
+ MKISOFS=/usr/bin/mkisofs
+ MD5SUM=/usr/bin/md5sum
+ ISOHYBRID=/usr/bin/isohybrid
+ BUILDER='Piotr Dacko <dackopiotr7@gmail.com>'
+ SLACKROOTDIR=.
+ ARCH=x86_64
+ RELEASE=current
+ RSYNCURLROOT=rsync.slackware.no::slackware/
+ RSYNCURL=
+ EXTOPTS=
+ DEBUG=1
+ VERBOSE=-v
+ ISO=NONE
+ ISOONLY=no
+ FORCE=no
+ ONLYDIFF=0
+ PREREMOVE=0
+ HYBRID=0
+ EXCLUDES='--exclude pasture --exclude source'
+ EXCLUDEFILE=
+ DVD_EXCLUDES='-x ./testing -x ./source -x ./extra/source'
+ BWLIMIT=0
+ CHECKVER=no
+ BOOTLOADSIZE=4
++ date +%d_%b_%Y
+ DATE=22_Jan_2021
+ TMP=/tmp
++ basename ./mirror-slackware-current.sh .sh
+ PIDFILE=/var/tmp/mirror-slackware-current.pid
++ basename ./mirror-slackware-current.sh .sh
+ SCRIPTID=mirror-slackware-current
+ ORIGSCR=http://www.slackware.com/~alien/tools/mirror-slackware-current.sh
+ trap 'rm -f $PIDFILE; exit 1' TERM INT
+ getopts a:b:cehfil:m:no:pr:qs:uvwX: Option
+ shift 0
+ echo 'CDROM MINI DVD ALL NONE'
+ grep -wq NONE
+ '[' 0 -eq 1 -a no == yes ']'
+ '[' no == yes -a no == yes ']'
+ '[' -n '' -a '' '!=' none ']'
+ '[' x86_64 = x86_64 ']'
+ SLACKRELEASE=slackware64-current
+ PKGMAIN=slackware64
+ '[' '!' -d ./slackware64-current ']'
+ '[' NONE '!=' NONE -a '!' -d ./slackware64-current-iso ']'
+ '[' -z ']'
+ RSYNCURL=rsync.slackware.no::slackware/slackware64-current
+ '[' no == yes ']'
+ '[' no == no ']'
+ '[' 1 -eq 1 ']'
+ echo '#'
#
+ echo '# Mirroring slackware64-current from rsync.slackware.no::slackware/slackware64-current ...'
# Mirroring slackware64-current from rsync.slackware.no::slackware/slackware64-current ...
+ echo '#'
#
++ /usr/bin/rsync rsync.slackware.no::slackware/slackware64-current
+ RSYNCOUT=
+ RES=0
+ '[' 0 -ne 0 ']'
+ '[' '' == none ']'
+ '[' -r '' ']'
+ '[' -e /var/tmp/mirror-slackware-current.pid ']'
+ echo 1349
+ '[' 1 == 1 ']'
+ echo 'Changing to ./slackware64-current ...'
Changing to ./slackware64-current ...
+ cd ./slackware64-current
+ umask 022
+ '[' no == no ']'
+ '[' 1 == 1 ']'
++ date
+ echo 'Fri 22 Jan 2021 10:10:59 AM CET [1349]: Getting ChangeLog.txt...'
Fri 22 Jan 2021 10:10:59 AM CET [1349]: Getting ChangeLog.txt...
+ rm -f /tmp/mirror-slackware-current_slackware64-current_ChangeLog.txt
+ /usr/bin/rsync -az -v rsync.slackware.no::slackware/slackware64-current/ChangeLog.txt /tmp/mirror-slackware-current_slackware64-current_ChangeLog.txt
receiving incremental file list
ChangeLog.txt
sent 43 bytes received 248,896 bytes 71,125.43 bytes/sec
total size is 1,199,182 speedup is 4.82
+ '[' '!' -s /tmp/mirror-slackware-current_slackware64-current_ChangeLog.txt ']'
++ pwd
+ PWD=/media/piotr/5FB77A1F7EDC9AFB/Slackware-current/slackware64-current
+ echo /media/piotr/5FB77A1F7EDC9AFB/Slackware-current/slackware64-current
/media/piotr/5FB77A1F7EDC9AFB/Slackware-current/slackware64-current
+ '[' '!' -e ./slackware64-current/ChangeLog.txt ']'
+ touch ./slackware64-current/ChangeLog.txt
touch: cannot touch './slackware64-current/ChangeLog.txt': No such file or directory
+ diff -b ./slackware64-current/ChangeLog.txt /tmp/mirror-slackware-current_slackware64-current_ChangeLog.txt
diff: ./slackware64-current/ChangeLog.txt: No such file or directory
+ STATUS=2
+ '[' 2 == 2 ']'
++ date
+ echo 'Fri 22 Jan 2021 10:11:02 AM CET [1349]: Trouble when running diff, aborting...'
Fri 22 Jan 2021 10:11:02 AM CET [1349]: Trouble when running diff, aborting...
+ rm -f /tmp/mirror-slackware-current_slackware64-current_ChangeLog.txt
+ rm -f /var/tmp/mirror-slackware-current.pid
+ exit 1this part was headache for me
Code:+ touch ./slackware64-current/ChangeLog.txt
touch: cannot touch './slackware64-current/ChangeLog.txt': No such file or directoryIt is just good to know.
Edit: Word of explanation why relative path. On Devuan media are mounted under /media while in Slackware /run/media - so depending on which system I am actually working I need to change setup for SLACKROOTDIR. Using relative path would allow me to create config file so I could run script in directory where repository is located. Full paths on my systems are (run/media | /media)/piotr/5FB77A1F7EDC9AFB/Slackware-current