1 |
On Tue, Jul 24, 2018 at 4:08 PM, James Le Cuirot <chewi@g.o> wrote: |
2 |
|
3 |
> Please read my background [arm17] email before reviewing this. This is |
4 |
> my first news item so please be kind! I have deliberately chosen |
5 |
> News-Item-Format 1.0 to include older systems and because I do not need |
6 |
> any 2.0 features. |
7 |
> |
8 |
> |
9 |
> Title: ARM 17.0 profile migration with CHOST change |
10 |
> Author: James Le Cuirot <chewi@g.o> |
11 |
> Content-Type: text/plain |
12 |
> Posted: 2018-07-24 |
13 |
> Revision: 1 |
14 |
> News-Item-Format: 1.0 |
15 |
> Display-If-Keyword: arm |
16 |
> |
17 |
> The new 17.0 profiles for ARM are now officially available. This not |
18 |
> only features the PIE migration previously announced for other |
19 |
> architectures but also a triplet (CHOST) change for hardfloat systems. |
20 |
> |
21 |
> In short, the triplet will change from armv7a-hardfloat-linux-gnueabi |
22 |
> to armv7a-unknown-linux-gnueabihf or similar. This is to fall in line |
23 |
> with what the rest of the Linux community are now using. If the vendor |
24 |
> (2nd) part of your triplet is different or missing then you may keep |
25 |
> it as it is. The hf ending is what matters. |
26 |
> |
27 |
> If you are using an unversioned alternative profile such as |
28 |
> hardened/linux/arm/armv7a then the default CHOST will have changed for |
29 |
> you already. Hopefully, you were shielded from the change by having |
30 |
> CHOST explicitly set in your make.conf. In this case, a migration is |
31 |
> still required. |
32 |
> |
33 |
> Changing CHOST is never simple and does carry some risk. We encourage |
34 |
> users to migrate but if you do not have sys-devel/llvm on your system |
35 |
> and you do not cross-compile for ARM then you may choose to keep your |
36 |
> existing CHOST. We will continue to support this to some degree |
37 |
> although we cannot promise that other packages will not be affected in |
38 |
> future. |
39 |
> |
40 |
> If you choose not to migrate or your system is not hardfloat then you |
41 |
> must ensure that CHOST is explicitly set in make.conf and then proceed |
42 |
> with a regular 17.0 migration to deal with PIE as detailed here: |
43 |
> |
44 |
> https://www.gentoo.org/support/news-items/2017-11-30-new-17-profiles.html |
45 |
> |
46 |
> Otherwise, if you do wish to migrate then we have written a script to |
47 |
> do the necessary steps for you: |
48 |
> |
49 |
> https://gist.github.com/chewi/1601684ad8f3cf8de0b786c00fa09b3c |
50 |
> |
51 |
> |
52 |
Could we check this in someplace? (gentoo/scripts?) |
53 |
|
54 |
|
55 |
> It takes a minimal backup of the existing toolchain with quickpkg |
56 |
> before changing anything but we strongly recommend that you take a |
57 |
> full backup first. The script echos each command as it goes along so |
58 |
> that you can keep an eye on what it's doing. You are, of course, |
59 |
> welcome to tinker with the script or perform the migration manually if |
60 |
> you think you know your own system better. It is heavily commented for |
61 |
> this reason. |
62 |
> |
63 |
> If the script fails then you can take remedial action before running |
64 |
> it again and it should skip any time-consuming builds that it has |
65 |
> already done. If the migration doesn't go to plan then please do seek |
66 |
> help in #gentoo-arm. |
67 |
> |
68 |
> A migration of this kind can justify rebuilding @world but with ARM |
69 |
> typically being very slow, the script does just the minimum |
70 |
> necessary. You are free to rebuild @world yourself after running it. |
71 |
> |
72 |
> -- |
73 |
> James Le Cuirot (chewi) |
74 |
> Gentoo Linux Developer |
75 |
> |