Date: Fri, 6 Aug 2010 10:43:26 -0400 From: Paul <eb30750@gmail.com> To: "eb30750@gmail.com" <eb30750@gmail.com>, "freebsd-bugs@FreeBSD.ORG" <freebsd-bugs@FreeBSD.ORG>, "bug-followup@FreeBSD.ORG" <bug-followup@FreeBSD.ORG> Subject: Re: misc/149335: shell script runs on Linux but not on freebsd Message-ID: <B8BD4CE1-01CB-4C03-8D3E-2A8E29750A1D@gmail.com> In-Reply-To: <201008060712.o767Cemx023503@lurza.secnetix.de> References: <201008060712.o767Cemx023503@lurza.secnetix.de>
next in thread | previous in thread | raw e-mail | index | archive | help
What about matching the ' marks in this section? I get a command error. >> # XXX: put extraction in its own function >> MAGIC_NUMBER=3D`od -An -t u4 -N 4 -j $MAGIC_OFFSET "$file" | tr -d ' '`= >=20 >=20 Sent from my iPod On Aug 6, 2010, at 3:12 AM, Oliver Fromme <olli@lurza.secnetix.de> wrote: > Paul Lambert wrote: >>> Number: 149335 >>> Category: misc >>> Synopsis: shell script runs on Linux but not on freebsd >> [...] >>> Environment: >> FreeBSD BRSINC-VM02.local 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 0= 2:36:49 UTC 2010 root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC= amd64 >>> Description: >> The script fails on these two lines so far; "stat" and "od" >>=20 >> # This won't work with non-GNU stat. >> FILE_SIZE=3D`stat --format "%s" "$0"` >> offset=3D$(($FILE_SIZE - 4)) >=20 > As the comment suggests, that command is non-portable and > works with GNU stat (linux) only. This is not a standard. > The equivalent BSD command line would be: >=20 > FILE_SIZE=3D`stat -f %z "$0"` >=20 > I wonder why the script even needs to find out its own size, > and then read binary data from itself?!? Is this some kind > of "copy protection" or similar tricks? If so, I suspect > that it is highly non-portable and will be difficult to get > to run on anything else than linux. >=20 >> # XXX: put extraction in its own function >> MAGIC_NUMBER=3D`od -An -t u4 -N 4 -j $MAGIC_OFFSET "$file" | tr -d ' '`= >=20 > This command works fine on FreeBSD 8.1. If it doesn't work > in the context of the script, I suspect that it is caused > by preceding problems that set one of the variables to a > wrong value. >=20 > As a work-around, you might try running the script with > /compat/linux/bin/sh instead of /bin/sh. You need to > enable Linux compatibility ("kldload linux") and install > ports/emulators/linux_base-f10 if you don't have it already. >=20 > As this is not a bug in FreeBSD, I suggest that this PR can > be closed. Do you agree? >=20 > Best regards > Oliver >=20 > --=20 > Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. > Handelsregister: Registergericht Muenchen, HRA 74606, Gesch=C3=A4ftsfuehr= ung: > secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht M=C3=BC= n- > chen, HRB 125758, Gesch=C3=A4ftsf=C3=BChrer: Maik Bachmann, Olaf Erb, Ral= f Gebhart >=20 > FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd >=20 > "Unix gives you just enough rope to hang yourself -- > and then a couple of more feet, just to be sure." > -- Eric Allman
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B8BD4CE1-01CB-4C03-8D3E-2A8E29750A1D>