Comments (10)
How about using triples to name them? Because that's basically the same way rust defines its target.
https://doc.rust-lang.org/rustc/platform-support.html
An example of release: https://github.com/sagiegurari/cargo-make/releases
from proot-rs.
Okay, I'm trying the first option
from proot-rs.
What should we name them? The old static binaries were as follows:
- x86
- x86_64
- arm
- arm64
See: https://github.com/proot-me/proot-static-build/tree/master/static
from proot-rs.
What should we name them? The old static binaries were as follows:
* x86 * x86_64 * arm * arm64
See: https://github.com/proot-me/proot-static-build/tree/master/static
Looks like x86_64, arm, and aarch64 will work fine. That's how GCC labels them as well:
from proot-rs.
Per Gitter,
https://semver.org/#how-should-i-deal-with-revisions-in-the-0yz-initial-development-phase
I updated the milestone to v0.1.0 instead of v0.0.1
When we are working on GitHub Releases, we can burn through v0.0.x until we get it working, then when we are ready to finish the project, we will publish it as v0.1.0
from proot-rs.
How about using triples to name them? Because that's basically the same way rust defines its target.
https://doc.rust-lang.org/rustc/platform-support.html
An example of release: https://github.com/sagiegurari/cargo-make/releases
I like that approach. It's more specific. Let do it!
from proot-rs.
How about using triples to name them? Because that's basically the same way rust defines its target.
https://doc.rust-lang.org/rustc/platform-support.html
An example of release: https://github.com/sagiegurari/cargo-make/releasesI like that approach. It's more specific. Let do it!
I agree.
Here are some of these triads that we may publish:
- x86_64-unknown-linux-musl
- x86_64-unknown-linux-gnu
- x86_64-linux-android
- i686-unknown-linux-musl
- i686-unknown-linux-gnu
- i686-linux-android
- armv7-unknown-linux-musleabi
- armv7-unknown-linux-gnueabi
- arm-linux-androideabi
- aarch64-unknown-linux-musl
- aarch64-unknown-linux-gnu
- aarch64-linux-android
The difference between them:
-musl
means statically linked while-gnu
is dynamically linked to gnu libc-android
and-androideabi
are built for Android, and they are also dynamically linked.
Do we need to discard some of them, or release for all these 12 triples?
from proot-rs.
I agree.
Here are some of these triads that we may publish:
* x86_64-unknown-linux-musl * x86_64-unknown-linux-gnu * x86_64-linux-android * i686-unknown-linux-musl * i686-unknown-linux-gnu * i686-linux-android * armv7-unknown-linux-musleabi * armv7-unknown-linux-gnueabi * arm-linux-androideabi * aarch64-unknown-linux-musl * aarch64-unknown-linux-gnu * aarch64-linux-android
The difference between them:
* `-musl` means statically linked while `-gnu` is dynamically linked to gnu libc * `-android` and `-androideabi` are built for Android, and they are also dynamically linked.
Do we need to discard some of them, or release for all these 12 triples?
Will it take more time to publish all 12? Personally, I'm not interested in the i686 builds, and we probably don't need musl and gnu for each architecture. How do the dynamically linked android targets work?
from proot-rs.
Will it take more time to publish all 12?
It will be longer but I think will still be acceptable.
Personally, I'm not interested in the i686 builds, and we probably don't need musl and gnu for each architecture.
Although x64 is now more popular than x86, some people may still need a x86 build, so I suggest keeping x86 here.
Yes, we may need to choose between musl and gnu.
How do the dynamically linked android targets work?
If building for Android, the PT_INTERP will be set to /system/lib/linker
, the path of dynamic libraries will also be changed to /system/lib/
, which is done by Android NDK toolchain.
Although the -linux-musl
built can also run on Android, I still recommend keeping the -android
build since they seem to have some slight differences.
from proot-rs.
Will it take more time to publish all 12?
It will be longer but I think will still be acceptable.
Personally, I'm not interested in the i686 builds, and we probably don't need musl and gnu for each architecture.
Although x64 is now more popular than x86, some people may still need a x86 build, so I suggest keeping x86 here.
Yes, we may need to choose between musl and gnu.How do the dynamically linked android targets work?
If building for Android, the PT_INTERP will be set to
/system/lib/linker
, the path of dynamic libraries will also be changed to/system/lib/
, which is done by Android NDK toolchain.
Although the-linux-musl
built can also run on Android, I still recommend keeping the-android
build since they seem to have some slight differences.
If you are able to publish all 12 then I would welcome it.
Otherwise, would you please present a shortened list? I trust your judgement.
from proot-rs.
Related Issues (20)
- Add support for Android platform and other architectures (e.g. arm, aarch64) HOT 9
- Rewrite loader in rust
- Failed to execute statically linked binaries HOT 2
- Binding a file to dir/file will result in a ENOTDIR: Not a directory HOT 2
- Trailing slash is removed by proot-rs HOT 2
- A call to unshare(CLONE_FS) from tracee may break the emulation of cwd. HOT 1
- Processing the result of getdents64()
- thread 'main' panicked at 'get stopped tracee' HOT 2
- Document Usage in README.md file
- Update Dockerfile with Android SDK HOT 8
- According to the proot manual, the --bind option should support the ! character to avoid dereference the guest location.
- docker-compose error: want driver overlay2, got devicemapper
- proot-rs --version doesn't show the version number HOT 1
- Generate a changelog
- Cannot run Debian in Termux HOT 1
- Generate man page
- Integrate SonarCloud
- Unable to run the ./proot-rs application in termux HOT 10
- compilation fails on riscv64
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 proot-rs.