Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Support packages that build modules against the system's python #29

Closed
wants to merge 7 commits into from

1 participant

@akhansen
Owner

No magic. The validator will allow files to be installed in %p/Library/Python, but will not allow PYTHONPATH in RuntimeVars.

@akhansen
Owner

In released Fink.

@akhansen akhansen closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Apr 27, 2012
  1. @akhansen
Commits on Apr 28, 2012
  1. @akhansen
Commits on Apr 29, 2012
  1. @akhansen
  2. @akhansen

    update the TODO

    akhansen authored
Commits on May 6, 2012
  1. @akhansen
  2. @akhansen

    Carp only when PYTHONPATH points to a global Python lib directory, si…

    akhansen authored
    …nce packages that install private Python modules in a nonstandard location can still use this. I'm thinking of root5.
Commits on May 12, 2012
  1. @akhansen

    Ooops, missing parenthesis

    akhansen authored
This page is out of date. Refresh to see the latest.
Showing with 6 additions and 2 deletions.
  1. +1 −0  NEWS
  2. +5 −2 perlmod/Fink/Validation.pm
View
1  NEWS
@@ -11,6 +11,7 @@ For a more comprehensive changelog of the latest experimental code, see:
built as nobody.
* --no-build-as-nobody option for fink to override this default option
and build as root.
+ * %p/Library/Python is now a legal directory.
/-------------
| fink 0.32.x
View
7 perlmod/Fink/Validation.pm
@@ -801,12 +801,15 @@ sub validate_info_file {
$field_check->($field, $value, 1);
}
- # error for having %p/lib in RuntimeVars
if (exists $properties->{runtimevars} and defined $properties->{runtimevars}) {
for my $line (split(/\n/, $properties->{runtimevars})) {
+ # error for having %p/lib in RuntimeVars
if ($line =~ m,^\s*(DYLD_LIBRARY_PATH:\s+($basepath|\%p)/lib/?)\s*$,) {
print "Error: '$1' in RuntimeVars will break many shared libraries. ($filename)\n";
$looks_good = 0;
+ # error for PYTHONPATH pointing to global install location in RuntimeVars
+ } elsif ($line =~ m,^\s*(PYTHONPATH:\s+($basepath|\%p)/lib/(Python|python\d\.\d/))\s*$,) {
+ print "Error: '$1' in RuntimeVars can break other Python scripts. ($filename)\n";
}
}
}
@@ -1536,7 +1539,7 @@ sub _validate_dpkg {
my @bad_dirs = ( map "$basepath/$_/", qw( src man info doc libexec lib/locale bin/.* sbin/.* ) );
push(@bad_dirs, ( map ".*/$_/", qw( CVS RCS \.svn \.git \.hg ) ) ); # forbid version control residues
- my @good_dirs = ( map "$basepath/$_/", qw( bin sbin include lib opt share var etc Applications Library/Frameworks ) );
+ my @good_dirs = ( map "$basepath/$_/", qw( bin sbin include lib opt share var etc Applications Library/Frameworks Library/Python ) );
# allow $basepath/Library/ by itself, but with nothing below it other than what we explicitly allowed already
# (needed since we allow $basepath/Library/Frameworks)
push(@good_dirs, "$basepath/Library/\$");
Something went wrong with that request. Please try again.