Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

archive.sh readlink -f illegal operation under FreeBSD7.1 #1033

Closed
anonymous-piwik-user opened this Issue · 10 comments

3 participants

@anonymous-piwik-user

in misc/cron/archive.sh line 26:

PIWIK_CRON_FOLDER=dirname $(readlink -f ${0})

Gives an error:
readlink: illegal option -- f
usage: readlink [file ...
usage: dirname string

Testing readlink on Scientific Linux SL release 5.3

readlink -f /path/to/file

also gives an error

readlink: Need exactly one argument.
Try `readlink --help' for more information.

@robocoder

Remove the -f and report back to us.

@anonymous-piwik-user

man readlink says:
'When invoked as readlink, only the target of the symbolic link is
printed. If the given argument is not a symbolic link, readlink will
print nothing and exit with an error.'

I've changed it to
PIWIK_CRON_FOLDER=dirname ${0}

To make my local version work

@robocoder

Ah yes, thanks for the reminder. That's why we use -f.

@anonymous-piwik-user

act_path() {
    local pathname="$1"
    readlink -f "$pathname" 2>/dev/null || \
    realpath "$pathname" 2>/dev/null || \
    type -P "$pathname" 2>/dev/null
}

ARCHIVE=`act_path ${0}`
PIWIK_CRON_FOLDER=`dirname ${ARCHIVE}`

The above works for me on FreeBSD and Scientific Linux SL

@mattab
Owner

ogs22, do you think you could submit a version that works on freebsd-SL linux and on debian/other linux? it would be very useful. Thanks

@anonymous-piwik-user

Sorry yes I should have said the above code should work on any Linux version the original code worked on as it tries the readlink -f first.

I'll attach the modified archive.sh

@mattab
Owner

ogs22, could you post a diff instead of the full file please? thx

@robocoder

In [1568], fixes #1033 - archive.sh patch; thanks ogs22

@anonymous-piwik-user anonymous-piwik-user added this to the Piwik 0.5 milestone
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.