Changeset 81446
- Timestamp:
- 07/30/11 17:37:13 (4 years ago)
- Location:
- branches/gsoc11-post-destroot/base
- Files:
-
- 2 added
- 2 edited
-
doc/Makefile (modified) (1 diff)
-
doc/files_whitelist.conf (added)
-
doc/folders_whitelist.conf (added)
-
src/port1.0/portcheckdestroot.tcl (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/gsoc11-post-destroot/base/doc/Makefile
r71035 r81446 2 2 MAN5= macports.conf.5 3 3 MAN7= portfile.7 portstyle.7 porthier.7 portgroup.7 4 CONF= macports.conf pubkeys.conf sources.conf variants.conf 4 CONF= macports.conf pubkeys.conf sources.conf variants.conf files_whitelist.conf folders_whitelist.conf 5 5 INSTALLDIR= ${DESTDIR}${prefix} 6 6 TOPSRCDIR= .. -
branches/gsoc11-post-destroot/base/src/port1.0/portcheckdestroot.tcl
r81398 r81446 36 36 } 37 37 38 # escape chars in order to be usable as regexp. This function is for internal use. 39 proc portcheckdestroot::escape_chars {str} { 40 return [regsub -all {\W} $str {\\&}] 41 } 38 42 39 43 # List all links on a directory recursively. This function is for internal use. … … 206 210 set dep_files {} 207 211 foreach dep [get_dependencies] { 208 lappend dep_files [file tail [registry_port_registered $dep]] 209 } 212 lappend dep_files [registry_port_registered $dep] 213 } 214 210 215 set self_files [bin_list $destroot$prefix] 211 216 set dep_files [concat $dep_files $self_files] 212 213 217 214 218 #Get package files … … 216 220 foreach file_lib [list_dlibs $file] { 217 221 set valid_lib 0 218 if { [regexp $file_lib $file] } { 222 # File itself 223 if { [regexp [escape_chars $file_lib] $file] } { 219 224 set valid_lib 1 220 225 } 221 if { ! $valid_lib } { 222 if { [lsearch $dep_files $file_lib] != -1 } { 223 set valid_lib 1 224 ui_debug "$file_lib binary dependency is met" 225 } 226 } 226 227 # File from the package or its depended ports 228 if { ! $valid_lib } { 229 foreach dep_file $dep_files { 230 if { [regexp [escape_chars $file_lib] $dep_file] } { 231 set valid_lib 1 232 ui_debug "$file_lib binary dependency is met" 233 } 234 } 235 } 236 # on files whitelist 227 237 if { ! $valid_lib } { 228 238 foreach dep_file $files_whitelist { 229 if { [regexp $dep_file [regsub ".*/" $file_lib ""]] } {239 if { [regexp [escape_chars $dep_file] [file tail $file_lib]] } { 230 240 ui_debug "$file_lib binary dependency folder is on whitelist" 231 241 set valid_lib 1 … … 234 244 } 235 245 } 246 # on folders whitelist 236 247 if { ! $valid_lib } { 237 248 foreach dep_folder $folders_whitelist { … … 244 255 } 245 256 if { ! $valid_lib } { 246 return -code error "$file _libbinary dependencies are NOT met"257 return -code error "$file '$file_lib' binary dependencies are NOT met" 247 258 } 248 259 }
Note: See TracChangeset
for help on using the changeset viewer.

