from http://linuxreviews.org/beginner/abs-guide/en/x7610.html
#!/bin/bash
# Du.sh: DOS to UNIX text file converter.
E_WRONGARGS=65
if [ -z "$1" ]
then
echo "Usage: `basename $0` filename-to-convert"
exit $E_WRONGARGS
fi
NEWFILENAME=$1.unx
CR='\015' # Carriage return.
# 015 is octal ASCII code for CR.
# Lines in a DOS text file end in CR-LF.
# Lines in a UNIX text file end in LF only.
tr -d $CR < $1 > $NEWFILENAME
# Delete CR's and write to new file.
echo "Original DOS text file is \"$1\"."
echo "Converted UNIX text file is \"$NEWFILENAME\"."
exit 0
based on this, I have two comments :
1) just grepping for \015 seems enough for the detection
2) if we want automatic conversion, tr seems enough. Not sure what
dos2unix adds though. At least simplicity, no need to remember and
type \015. Is there anything else? Otherwise tr looks fine for a
script.
On Sun, Dec 7, 2008 at 3:35 PM, Dan McGee <[email protected]> wrote:
> On Sun, Dec 7, 2008 at 4:33 AM, Allan McRae <[email protected]> wrote:
>> Dan McGee wrote:
>>>
>>> Do a simple check before sourcing the file to ensure we are a valid bash
>>> script.
>>>
>>> Signed-off-by: Dan McGee <[email protected]>
>>> ---
>>> scripts/makepkg.sh.in | 6 ++++++
>>> 1 files changed, 6 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
>>> index b889625..179746d 100644
>>> --- a/scripts/makepkg.sh.in
>>> +++ b/scripts/makepkg.sh.in
>>> @@ -1354,6 +1354,12 @@ if [ ! -f "$BUILDSCRIPT" ]; then
>>> # PKGBUILD passed through a pipe
>>> BUILDSCRIPT=/dev/stdin
>>> fi
>>> +else
>>> + crlftest=$(file $BUILDSCRIPT | grep -F 'CRLF' || true)
>>> + if [ "$crlftest" != "" ]; then
>>> + error "$(gettext "%s contains CRLF characters and cannot
>>> be sourced.")" "$BUILDSCRIPT"
>>> + exit 1
>>> + fi
>>> fi
>>> source "$BUILDSCRIPT"
>>>
>>
>> Do you want to attempt a dos2unix there (with the error message downgraded
>> to a warning) before failing?
>
> I'm not sure everyone would have dos2unix installed, so that makes me
> shy away from this a bit. In addition, I feel like actually modifying
> the PKGBUILD should be a rare case. We do it in the case of VCS
> PKGBUILDs, but that is it, and I'd rather not destroy someone's work.
>
> -Dan
> _______________________________________________
> pacman-dev mailing list
> [email protected]
> http://archlinux.org/mailman/listinfo/pacman-dev
>
_______________________________________________
pacman-dev mailing list
[email protected]
http://archlinux.org/mailman/listinfo/pacman-dev