Page 1 sur 1

[BASH] Permissions refusées lors de build Android

Publié : mer. 27 mars 2024, 20:14
par Anghirrim
Bonsoir,

Alors voilà, je voulais me relancer dans le build d'Android. Après avoir re-setupé mon environnement de build et pour être certain de partir sur de bonnes bases, j'ai décidé de build LOS pour mon Pixel 3a, qui est supporté officiellement. Au moins, je pars sur des bases connues, l'idée étant de vérifier que mon environnement de build est sain avant de commencer à bidouiller.

Historiquement je compilais sur une partition NTFS partagée avec Windows et ça fonctionnait. Là, j'ai préféré partir sur un SSD dédié en EXT4.

Du coup je bloque sur les permissions de BASH au moment de "breakfast" et je sèche, tout semble bon pourtant...

- Les sources se trouvent sur un SSD dédié, monté via /etc/fstab:

Code : Tout sélectionner

#Android_build
UUID=499f5dbc-a4bc-*******     /media/Android_build  ext4  defaults,users  0 1
Avec les permissions accordées à mon utilisateur (les sources de LOS se trouvent dans sources :) ):

Code : Tout sélectionner

[Anghirrim@OptiAnghi lineage]$ ls -l /media/Android_build
total 16
drwxrwxrwx 3 Anghirrim Anghirrim 4096 27 mars  13:51 sources
Pourtant, après avoir synchronisé les sources voilà ce qui se passe:

Code : Tout sélectionner

[Anghirrim@OptiAnghi lineage]$ source build/envsetup.sh
[Anghirrim@OptiAnghi lineage]$ breakfast sargo
bash: build/soong/soong_ui.bash: Permission non accordée
bash: vendor/lineage/build/tools/roomservice.py: Permission non accordée
bash: build/soong/soong_ui.bash: Permission non accordée
bash: build/soong/soong_ui.bash: Permission non accordée

** Don't have a product spec for: 'lineage_sargo'
** Do you have the right repo manifest?
Et si je regarde par exemple les droits de /build/soong/soong_ui.bash, même si tout semble OK, ça veut pas s'exécuter:

Code : Tout sélectionner

[Anghirrim@OptiAnghi soong]$ ls -l soong_ui.bash
-rwxrwxrwx 1 Anghirrim Anghirrim 1256 27 mars  18:03 soong_ui.bash

[Anghirrim@OptiAnghi soong]$ ./soong_ui.bash
bash: ./soong_ui.bash: Permission non accordée

[Anghirrim@OptiAnghi soong]$ sudo ./soong_ui.bash
sudo: unable to execute ./soong_ui.bash: Permission denied
J'ai tenté les commandes suivantes, sans changement notable:

Code : Tout sélectionner

chmod -R 777 /media/Android_build
chmod -x soong_ui.bash
Donc là....Même si je suis pas supra fort sur les droits, je pense avoir fait les choses correctement. Je sèche.

Vous auriez une piste?

Merci d'avance.

Re: [BASH] Permissions refusées lors de build Android

Publié : mer. 27 mars 2024, 22:01
par benjarobin
Bonjour,

Voir le man de mount : https://man.archlinux.org/man/mount.8.en
users
Allow any user to mount and to unmount the filesystem, even when some other ordinary user mounted it. This option implies the options noexec, nosuid, and nodev (unless overridden by subsequent options, as in the option line users,exec,dev,suid).
Donc en résumé, supprime ,users du fstab

Re: [BASH] Permissions refusées lors de build Android

Publié : mer. 27 mars 2024, 22:22
par Anghirrim
Ahhh crap merci!! En plus j'avais bien lu cette partie du wiki avant de rajouter users dans le fstab....mais j'étais tellement focalisé sur les read/write access que j'en ai occulté le noexec.

Merci!!

Edit: Ca marche! Du coup le fstab prévaut sur tout ce qu'on peut faire derrière avec chmod. C'est bon à savoir.