Comments (5)
@kerneis-anssi Can you explain more about your use case? This would be rather complicated to change.
from mkosi.
My workflow involved pulling build dependencies locally during prepare
so that I can avoid network access during build
. For instance, in Go I'd use go mod vendor
and in Rust cargo vendor
.
I have alternative ways to reach the same goal:
- move this step to the
sync
phase - move those downloads out of build sources (not all build systems handle this gracefully, but cargo allows out-of-tree vendored dependencies, and
go mod download
to populate the cache is an alternative to vendoring).
I'm not strongly advocating for you to implement this feature, especially if it's too complex. I think it would be useful to clarify the documentation though.
from mkosi.
@kerneis-anssi Can't you just download these to $BUILDDIR
? If it's not configurable then you can bind mount $BUILDDIR
to the directory that these commands try to write to. See BuildDirectory=
option.
from mkosi.
If the paths to use can be configured via environment variables I would actually be OK with setting those automatically in mkosi.
from mkosi.
Cargo (Rust) allows working from BUILDDIR.
Go is really annoying because it will let you download the vendored dependencies anywhere, but then you need to put them under vendor/
at the root of the package you're trying to build for them to be used. I'll try playing with a bind mount of builddir, thanks for the hint!
If the paths to use can be configured via environment variables I would actually be OK with setting those automatically in mkosi.
I don't think that would solve my current issue, but I am indeed setting GOPATH, GOCACHE and others to somewhere inside BuildDirectory. I'll think about whether it makes sense to upstream those and let you know in a separate issue.
Leaving this open as a reminder to update the doc if you agree (I'll let you close as you see fit).
from mkosi.
Related Issues (20)
- WorkspaceDirectory=/var/tmp is not deleted
- Add support for nsresourced HOT 1
- UnicodeDecodeError while building x86 Debian on an x86_64 machine. HOT 2
- fixup_vmlinuz_location invalid on arch
- Adding a cross-image temporary output directory
- Add SourceDateEpochMode=override|clamp HOT 2
- Honor GNUPGHOME when signing checksum
- mkosi fails to build raw disk image from BaseTree HOT 4
- Add QemuSerial= to allow using virtconsole as the serial console HOT 1
- Add QemuSwtpmBanks= setting HOT 1
- Configuration parser issues and possible improvements HOT 1
- WithDocs=false is broken on Debian
- Unable to build bootable Ubuntu Noble disk image (Package 'libtss2-mu0' has no installation candidate) HOT 3
- Automatic PARTUUID doesn't work for mount.usr kernel parameter
- --profile CLI option is broken
- Better warning when setting universal properties in subimages
- `PackageManagerTree=` in image directory no longer falls back to `mkosi.skeleton/` HOT 2
- cp: cannot access '/home/<user>/.cache/mkosi/ubuntu~noble~x86-64/lib/apt/lists/partial': Permission denied HOT 12
- Add CacheKey config to override cache_tree_paths
- Arch Linux = error: failed retrieving file 'core.db' from geo.mirror.pkgbuild.com : Could not resolve host: geo.mirror.pkgbuild.com HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mkosi.