Skip to content

Commit 5d18013

Browse files
committed
Add section to cover packaging issues
1 parent fa4f789 commit 5d18013

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

RelocatableSoftware/README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,47 @@ Library RPATHs
492492
2. Runtime/chroot based tools like [PRoot](https://github.com/proot-me/PRoot/blob/master/doc/proot/manual.txt) may
493493
also be useful.
494494

495+
496+
Relocation and Packaging
497+
========================
498+
**TODO** Topics involving relocatability when it comes to the packaging level. Define "packaging" as the things we need
499+
to do/write to allow `spack|brew|whatever install mypackage` to work, whether building `mypackage` from source locally
500+
or downloading and unpacking a binary. The "package manager" needs to include tooling to manage relocation, and this
501+
may include things like changing RPATHs in binaries, to shebangs in interpreted programs. Other topics like deployment
502+
to CVMFS etc.
503+
504+
Take simple example of two packages and a "typical" versioned tree plus "views"? e.g.
505+
506+
```
507+
+- whateverroot/
508+
+- packages/
509+
| +- Foo/
510+
| | +- 1.0/
511+
| | | +- bin/
512+
| | | +- lib/
513+
| | | +- ...
514+
| | +- 2.0/
515+
| | +- ...
516+
| +- Bar/
517+
| +- 1.0-usingFoo1.0/
518+
| | +- bin/
519+
| | +- lib/
520+
| +- 1.0-usingFoo2.0/
521+
| +- bin/
522+
| +- lib/
523+
+- views/
524+
+- release-1.0/
525+
| +- bin/
526+
| +- lib/
527+
+- release-2.0/
528+
+- bin/
529+
+- lib/
530+
```
531+
532+
Assume Foo/Bar are relocatable according to earlier topics, how should package manager deal with pointing Bar to its
533+
needed Foo, and how do views work in this case?
534+
535+
495536
Conclusions
496537
===========
497538
**TODO**

0 commit comments

Comments
 (0)