Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: add debug command for creating envs #3237

Merged
merged 93 commits into from
Nov 29, 2018
Merged
Changes from 1 commit
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
65cd165
WIP: add debug command for creating envs
msarahan Oct 28, 2018
cc630e8
split up env var setting and activation into separate scripts
msarahan Nov 12, 2018
372a0a5
refactor env vars into their own script, hook up debug env creation
msarahan Nov 13, 2018
a4198c6
add tests for debug command
msarahan Nov 13, 2018
81c5577
fix up printing paths of outputs for wheels
msarahan Nov 13, 2018
55243cb
squelch conda output, make silent mode (-a) work better
msarahan Nov 15, 2018
69101e5
fix output debug test by adding wildcard
msarahan Nov 15, 2018
0f1e6aa
add text after activation line to suggest next steps
msarahan Nov 15, 2018
781afa9
add more helpful description of command
msarahan Nov 15, 2018
4746454
limit prefix length for debug envs to simplify console output
msarahan Nov 16, 2018
59b9cea
docs for new debug subcommand
msarahan Nov 16, 2018
562517d
fix output metadata path causing inability to find output
msarahan Nov 16, 2018
9cf639a
fix prefix length setting for conda-debug
msarahan Nov 19, 2018
f5fc7c2
fix tests and cleanup
msarahan Nov 20, 2018
79b1448
fix up regex invalid escape warnings
msarahan Nov 20, 2018
f91ec14
fix test running
msarahan Nov 21, 2018
365f0f5
fix windows debug not exiting before run; fix source applying twice i…
msarahan Nov 21, 2018
1a934e5
sort out more tests on linux after debug refactor
msarahan Nov 21, 2018
c3bbe99
restore env var exclusion
msarahan Nov 21, 2018
e061a9d
Swap pyldd for liefldd nearly everywhere
mingwandroid Oct 17, 2018
e9b306c
Fix some PEP8
mingwandroid Oct 21, 2018
a1cbd3c
Some liefldd fixes
mingwandroid Oct 24, 2018
1800fa4
skeleton (RPM): Now we unpack RPMs, need to conditionalize the manual…
mingwandroid Oct 25, 2018
3748a49
Another liefldd fix about implicit $RPATHs
mingwandroid Oct 26, 2018
2893dfb
liefldd: Support multiple rpath entries on macOS
mingwandroid Oct 28, 2018
48871d8
post: Add underlinking check
mingwandroid Oct 31, 2018
fc8a654
Reorder imports (mainly to kick new builds off)
mingwandroid Nov 1, 2018
9a8a4f7
Add missing test
nehaljwani Nov 1, 2018
1f86724
Fix over{linkage,depend} test recipes
mingwandroid Nov 1, 2018
7cf4bb8
check_overlinking on Windows too
mingwandroid Nov 1, 2018
0b8fd10
liefldd: Preliminary Windows support
mingwandroid Nov 2, 2018
61b9224
liefldd: Some Windows fixes
mingwandroid Nov 2, 2018
147dfb1
Add --{no,}-error-overdepending and build/error_overdepending
mingwandroid Nov 2, 2018
0c69e0c
Use 'overdending' everywhere for grep-a-bility
mingwandroid Nov 2, 2018
ee336bb
Use pyldd (which does not do much on Windows) for Windows Python 2.7.*
mingwandroid Nov 2, 2018
e961f25
Trying to get tests to pass in face of timeouts
mingwandroid Nov 2, 2018
74a6e54
Fix overdepending metadata lookup
mingwandroid Nov 2, 2018
bf5b0f2
get_linkages(): Do not recurse (we see some cylic issues on macOS)
mingwandroid Nov 2, 2018
668a0d2
Rewrite overlinking test to be quicker
mingwandroid Nov 2, 2018
d2b1532
Fix overlinking to clobber
mingwandroid Nov 2, 2018
e46a5a3
pep8 and some missed fixes
mingwandroid Nov 2, 2018
3198649
pyldd fixes for variable reuse
mingwandroid Nov 3, 2018
b2eaa12
Add exceptions of OverLinkingError and OverDependingError
mingwandroid Nov 3, 2018
b48168e
Rework check_overlinking
mingwandroid Nov 3, 2018
77c6200
overdepending: Only error for run_export libraries
mingwandroid Nov 15, 2018
b2693d2
Allow empty variants - useful for rstudio vs rstudio-server, for example
mingwandroid Nov 18, 2018
5cf9d61
Add --no-rewrite-stdout-env, some fixes for rpath test (and macOS sup…
mingwandroid Nov 18, 2018
7b304ed
Fix always_include_files_glob
mingwandroid Nov 19, 2018
1f7f332
Rework check_overlinking
mingwandroid Nov 3, 2018
22cfe43
overdepending: Only error for run_export libraries
mingwandroid Nov 15, 2018
9c19fbf
Tidy up
mingwandroid Nov 19, 2018
9aaa5ec
Bring back _overlinkage_detection recipe
mingwandroid Nov 19, 2018
153ef25
Allow empty variants - useful for rstudio vs rstudio-server, for example
mingwandroid Nov 19, 2018
ad81eae
Fixup
mingwandroid Nov 19, 2018
6daf81d
Detect plugin-only DSOs (Python and R packages)
mingwandroid Nov 19, 2018
8e42668
Fix overlinking_detection and add macOS support
mingwandroid Nov 19, 2018
df55ba7
Fix flake8
mingwandroid Nov 19, 2018
04a12ea
Allow empty rpaths on Linux too
mingwandroid Nov 19, 2018
094ce19
Fix test_rpath_unix
mingwandroid Nov 19, 2018
5f2758e
Fix always_include_files_glob on Windows
mingwandroid Nov 20, 2018
60d5b94
(WIP) Fix entry_points test on Windows
mingwandroid Nov 20, 2018
fb9a055
(WIP) Test for cdt_linking
mingwandroid Nov 23, 2018
61666ec
tests: Activate envs (WIP, slows down all tests? localize to metadata)
mingwandroid Nov 23, 2018
9368d51
Odd ends
mingwandroid Nov 23, 2018
a2626f5
Fix some indentation errors
mingwandroid Nov 23, 2018
dc1c669
Try adding --instafail tlo py.test
mingwandroid Nov 23, 2018
5f7709b
Fix up testing_config (less activation, less verify)
mingwandroid Nov 23, 2018
5a32a45
use other_outputs for establishing missing deps
msarahan Nov 25, 2018
bc1f294
only show BUILD_PREFIX rewrite when build_prefix != host_prefix
msarahan Nov 25, 2018
6de3363
pass parent metadata in when finalizing outputs, for reference
msarahan Nov 25, 2018
69309f4
reduce pip install verbosity to -vv
msarahan Nov 25, 2018
bf76812
fix some variant misplacement due to bad copying
msarahan Nov 26, 2018
6088cb0
iterate on tests some more
msarahan Nov 26, 2018
8aab532
Fix exists_sysroot
mingwandroid Nov 25, 2018
e77784f
liefldd: Linux RPATH fixes
mingwandroid Nov 26, 2018
6293d5f
Only check for not in prefix when error_overlinking
mingwandroid Nov 26, 2018
63b3ca2
skeleton(rpm): Fix noarch generic, should be in build
mingwandroid Nov 26, 2018
bae0748
fix run_exports test
msarahan Nov 26, 2018
29345a9
fix remaining tests
msarahan Nov 26, 2018
1ebd952
fix get_depends_top_and_out special case (only for top-level and simi…
msarahan Nov 27, 2018
5ee7b13
break up write_test_scripts for simplicity
msarahan Nov 27, 2018
b33991b
refactor linking checking; fix OverLinkingError exception
msarahan Nov 27, 2018
bab049e
fix overdepends test when overdep pkg is not available in tarball form
msarahan Nov 27, 2018
97ed716
fix py27 compatibility in finding run_exports info
msarahan Nov 27, 2018
da0af41
remove env paths prior to creating env in same path
msarahan Nov 28, 2018
0851d42
liefldd: Check runpaths (first) as well as rpaths
mingwandroid Nov 28, 2018
5f1bebc
liefldd: Fix get_runpaths(file)
mingwandroid Nov 28, 2018
bec1603
Merge pull request #15 from mingwandroid/add_debug_cmd
msarahan Nov 28, 2018
9529f5e
fix suspected race condition in overdepending detection
msarahan Nov 28, 2018
7be9318
use channeldata.json to find run_exports more reliably
msarahan Nov 28, 2018
6a44ac5
fix py27 incompatibilities in lief stuff
msarahan Nov 28, 2018
6f80ee8
codacy cleanup
msarahan Nov 28, 2018
273561b
fix reading local channeldata
msarahan Nov 29, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 13 additions & 12 deletions conda_build/post.py
Original file line number Diff line number Diff line change
@@ -438,18 +438,19 @@ def mk_relative_linux(f, prefix, rpaths=('lib',)):
new.append(relpath)
# Ensure that the asked-for paths are also in new.
for rpath in rpaths:
if not rpath.startswith('/'):
# IMHO utils.relative shouldn't exist, but I am too paranoid to remove
# it, so instead, make sure that what I think it should be replaced by
# gives the same result and assert if not. Yeah, I am a chicken.
rel_ours = os.path.normpath(utils.relative(f, rpath))
rel_stdlib = os.path.normpath(os.path.relpath(rpath, os.path.dirname(f)))
assert rel_ours == rel_stdlib, \
'utils.relative {0} and relpath {1} disagree for {2}, {3}'.format(
rel_ours, rel_stdlib, f, rpath)
rpath = '$ORIGIN/' + rel_stdlib
if rpath not in new:
new.append(rpath)
if rpath != '':
if not rpath.startswith('/'):
# IMHO utils.relative shouldn't exist, but I am too paranoid to remove
# it, so instead, make sure that what I think it should be replaced by
# gives the same result and assert if not. Yeah, I am a chicken.
rel_ours = os.path.normpath(utils.relative(f, rpath))
rel_stdlib = os.path.normpath(os.path.relpath(rpath, os.path.dirname(f)))
assert rel_ours == rel_stdlib, \
'utils.relative {0} and relpath {1} disagree for {2}, {3}'.format(
rel_ours, rel_stdlib, f, rpath)
rpath = '$ORIGIN/' + rel_stdlib
if rpath not in new:
new.append(rpath)
rpath = ':'.join(new)
print('patchelf: file: %s\n setting rpath to: %s' % (elf, rpath))
call([patchelf, '--force-rpath', '--set-rpath', rpath, elf])