On 2017-05-10 18:01 +0200, Kay F. Jahnke wrote: > @pabs > > @wookey > > > There is (as yet) no mechanism in packing to select packages by > > hardware variant or optimisation. It has been mooted, and could be > > done, but it's a big job, which would take years to roll out, and > > no-one has stepped up to make it work. So for now your favourite > > mechanism is not possible. > > I had something simpler in mind. I had hoped that a debian package would > provide some sort of target-side script which is run when the application > deploys with the user. Then it would be easy to have a bit of code à la > > #! /bin/bash > > for instruction_set in mmx sse sse2 sse3 ssse3 sse4 sse4a sse4.1 sse4.2 avx > avx2 avx512f avx512pf avx512er avx512cd > do > if [[ $( lscpu | grep $instruction_set ) ]] > then > bestarch=$instruction_set > fi > done > > mv myprogram_$bestarch $target_bin/myprogram
OK. You can run a script on install which would do something like, and would work under most circumstances. https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html You should use a link rather than mv, and remember to tidy it up correctly on removal. Note that such scripts should be idempotent. Because it is install-time, not run-time, detection it would go wrong in a range of circumstances, so is frowned-upon. (Installing images, hardware which gets upgraded, keeping the OS image, cross-installing, NFS-mounting, containers etc). But yes, it is possible in the absence of more correct solutions. It would be much better to run such a 'choose-binary' script at runtime and have it run the right one as that would work in all the circumstances I can think of offhand. How fat would 15 versions of the program be (on x86)? Do you really need all 15? Might a subset suffice., > > Does this software only work on x86 or does it work on other > > architectures, with other vector units (neon, altivec)? Remember to > > consider more than just x86 when pondering this issue. > > I am using Vc, so whatever Vc supports, my software supports as well. Vc is > a generic C++ library to abstract away the architecture. I've coded so that > my program will also run without using the vector units OK. Looks like neon support is 'in development'. And you can run on non-vectorised hardware (but only very slowly). > Am 10.05.2017 um 13:56 schrieb Christian Seiler: > > pardon me, but what's an RC bug? 'Release Critical'. i.e so bad the software is not good enough for release in Debian stable with this bug. Wookey -- Principal hats: Linaro, Debian, Wookware, ARM http://wookware.org/
signature.asc
Description: Digital signature