Send Netdot-devel mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://osl.uoregon.edu/mailman/listinfo/netdot-devel
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Netdot-devel digest..."


Today's Topics:

   1. [Netdot - Bug #1603] dangerous behaviour of       utility-Makefile
      script ([email protected])


----------------------------------------------------------------------

Message: 1
Date: Sat, 11 Apr 2015 04:23:10 -0700
From: [email protected]
Subject: [Netdot-devel] [Netdot - Bug #1603] dangerous behaviour of
        utility-Makefile script
To: [email protected], [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=utf-8


Issue #1603 has been updated by Awen Thomas.


Hi,
A Makefile is a file with make commands in it. What's a make command? A make 
command is a make rule that looks like this:
lab05b: lab05b.cc
        CC -o lab05b lab05b.cc
Use following steps for creating Makefile script:
Trailing whitespace on each line is stripped.
Except for the last line, the string, " ; \\" is appended to the end of every 
line that does not end with certain special characters or keywords. Note that 
this will mutilate multi-line quoted strings, but make renders it impossible to 
use multi-line constructs anyway.
If the line ends with a backslash, it is left alone.
If the line ends with a semi-colon, conjunction operator, pipe (vertical bar) 
or one of the keywords "then", "else" or "in", then a space and a backslash is 
added, but no semi-colon.
The dollar sign character is doubled, unless it immediately precedes an opening 
parenthesis or the single character make macros ?*?, ?<?, ?@?, ??? or ?%?. 
Other single character make macros that do not have enclosing parentheses will 
fail. For shell usage of the "$@", "$?" and "$*" macros, you must enclose them 
with curly braces, e.g., "${?}". The ksh construct $(<command>) will not work. 
Though some makes accept ${var} constructs, this function will assume it is for 
shell interpretation and double the dollar character. You must use $(var) for 
all make substitutions.
Double dollar signs are replaced by four before the next character is examined.
Every line is prefixed with a tab, unless the first line already starts with a 
tab.
The newline character on the last line, if present, is suppressed.
Blank lines are stripped.
Lines starting with "@ifdef", "@ifndef", "@else" and "@endif" are presumed to 
be autoconf "sed" expression tags. These lines will be emitted as-is, with no 
tab prefix and no line splicing backslash. These lines can then be processed at 
configure time with AC_CONFIG_FILES sed expressions, similar to:
 sed "/^@ifdef foo/d;/^@endif foo/d;/^@ifndef foo/,/^@endif foo/d"
"Thanks":http://www.affordablehomeinnovations.com/glassstone-tile-mosaic-samples/

----------------------------------------
Bug #1603: dangerous behaviour of utility-Makefile script
https://osl.uoregon.edu/redmine/issues/1603#change-3282

Author: Francesco Colista
Status: New
Priority: Normal
Assignee: 
Category: 
Target version: 
Resolution: 


etc/utility-Makefile has a dangerous behaviour:
when PREFIX is set to /usr or /var, line 65 delete with "rm -fr $PREFIX".

A check of PREFIX should be added before rm -rf.




-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://osl.uoregon.edu/redmine/my/account


------------------------------

_______________________________________________
Netdot-devel mailing list
[email protected]
https://osl.uoregon.edu/mailman/listinfo/netdot-devel


End of Netdot-devel Digest, Vol 97, Issue 4
*******************************************

Reply via email to