Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re^2: (OT) Fixing Line Endings

by j3 (Friar)
on Nov 30, 2006 at 15:15 UTC ( #586963=note: print w/ replies, xml ) Need Help??


in reply to Re: (OT) Fixing Line Endings
in thread (OT) Fixing Line Endings

I like Derby's idea. If I'm understanding it correctly, you dos2unix every script after it's uploaded, as needed. That is, all scripts on the server will always use standard unix line endings, period.

In addition, while you're at it, you could also even have your automated tool send an email to the guilty Windowsy uploader, courteously asking that they please either use text mode for scripts with their ftp client next time, or else to please manually convert line endings before uploading.

Though, I see that this doesn't answer to the Ovid's OP, since he was looking for something that "doesn't require manual intervention".


Comment on Re^2: (OT) Fixing Line Endings
Re^3: (OT) Fixing Line Endings
by Ovid (Cardinal) on Nov 30, 2006 at 15:26 UTC

    Well, it works in that it's something which could be automated and then, theoretically, doesn't require extra work on our part once it's installed. However, as one coworker has pointed out, we'd be altering customer files. If they FTP something to our server they could see the MD5 checksum fail, notice the file size is different, FTP it back to their box and get failures on their end, and so on. I think a hook which merely sends a warning message to the customer might be a better way to go.

    Cheers,
    Ovid

    New address of my CGI Course.

      You've got customers dumb enough to upload text files as binary, but smart enough to know or care what an MD5 checksum is?

      Humanity is doomed...

      Tom Melly, pm@tomandlu.co.uk

        That was only one example of a potential pitfall. As mentioned, automatically altering customer files could cause plenty of other problems. Further, I could easily see myself checking an MD5 sum but forgetting to FTP as text and then wondering what the problem is :)

        Cheers,
        Ovid

        New address of my CGI Course.

      Then don't alter the files, just add a check like this as an upload hook:

      $file_content =~ m|^#!(/usr/[\w\/]*)\s*\r\n|s and -e $1 and `ln -s $1 $1\\r`;

      (untested). Then only the link gets created on upload, and the original file is untouched.

      We use pure FTP now after having big problems with ProFTPd (I forget what they were now). It's login/upload hooks are easy to use, and the overhead is pretty trivial.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://586963]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2014-12-26 10:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (171 votes), past polls