bepo-android icon indicating copy to clipboard operation
bepo-android copied to clipboard

Devrait être disponible dans f-droid

Open milouse opened this issue 9 years ago • 18 comments

Afin de faciliter la découverte, installation, mise à jour de cette application libre et open-source, elle devrait être disponible dans le magasin d'application f-droid (https://f-droid.org/).

milouse avatar May 18 '16 12:05 milouse

Tout à fait d’accord. Do not hesitate to submit the app through the f-droid process: https://f-droid.org/contribute/ https://f-droid.org/forums/forum/submission-queue/

anisse avatar May 18 '16 20:05 anisse

J’ai essayé de compiler l’application avec une version récente de Gradle comme utilisée par le serveur de compilation de F-Droid, sans succès. Une fois ceci fait, je peux assez facilement faire la modification pour que l’application soit cataloguée et compilée par F-Droid.

ariasuni avatar Sep 19 '18 15:09 ariasuni

@ariasuni j’ai mit à jour les scripts de build, ça devrait te permettre de réessayer.

anisse avatar Sep 23 '18 13:09 anisse

Voici ce que j’obtiens quand j’essaie de compiler ton projet via F-Droid:

INFO: Creating log directory
INFO: Creating output directory
INFO: Using git version 2.19.0
INFO: Building version 1.3 (1) of fr.bepo.clavierexterne
INFO: Getting source for revision b28009358ce8d9df6933acc8ea70718bbc83b970
INFO: Creating local.properties file at build/fr.bepo.clavierexterne/local.properties
INFO: Cleaned build.gradle of keysigning configs at build/fr.bepo.clavierexterne/clavierexterne/build.gradle
ERROR: Could not build app fr.bepo.clavierexterne: Failed to update project at .
==== detail begin ====
*************************************************************************
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
Invalid or unsupported command "update lib-project -p ."

Supported commands are:
android list target
android list avd
android list device
android create avd
android move avd
android delete avd
android list sdk
android update sdk
==== detail end ====
INFO: Build for app fr.bepo.clavierexterne failed:
Failed to update project at .
==== detail begin ====
*************************************************************************
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
Invalid or unsupported command "update lib-project -p ."

Supported commands are:
android list target
android list avd
android list device
android create avd
android move avd
android delete avd
android list sdk
android update sdk
==== detail end ====
INFO: Finished
INFO: 1 build failed

Au passage ça pourait être cool d’avoir des tags git pour pouvoir suivre les mises à jour.

ariasuni avatar Sep 24 '18 23:09 ariasuni

@ariasuni Quelle commande a été lancée pour obtenir cette trace ?

J’ai ajouté les tags v1.1 et v1.3 qui étaient les deux dernières releases.

anisse avatar Sep 25 '18 12:09 anisse

J’ai réussi à compiler l’application en mettant à jour les informations de compilation (ayant sur ma machine la dernière version des outils de compilation, version 28): https://github.com/ariasuni/bepo-android/commit/467035b1a3478a2fc884e62371087c8c9a015f90

Car, d’après cet article, idéalement on a:

minSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion (latest SDK)

Et avec ce fichier de métadonnées.

Cependant, j’obtiens cette sortie:

INFO: Using git version 2.19.0
INFO: Building version 1.3 (1) of fr.bepo.clavierexterne
INFO: Getting source for revision 467035b1a3478a2fc884e62371087c8c9a015f90
INFO: Creating local.properties file at build/fr.bepo.clavierexterne/local.properties
INFO: Cleaned build.gradle of keysigning configs at build/fr.bepo.clavierexterne/clavierexterne/build.gradle
INFO: Cleaning Gradle project...
INFO: Scanning source for common problems...
INFO: Removing gradle-wrapper.jar at gradle/wrapper/gradle-wrapper.jar
INFO: Removing APK file at apk/bepo-clavierexterne.apk
INFO: Creating source tarball...
INFO: Building Gradle project...
INFO: Successfully built version 1.3 of fr.bepo.clavierexterne
ERROR: Could not build app fr.bepo.clavierexterne: Failed to find any output apks
INFO: Build for app fr.bepo.clavierexterne failed:
Failed to find any output apks
INFO: Terminé
INFO: 1 build failed

Donc à mon avis, ton script de nettoyage supprime l’APK et fdroidserver n’est plus en mesure de le trouver.

ariasuni avatar Sep 25 '18 14:09 ariasuni

Bizarre. Je voulais bumper le compileSdkVersion, mais je n’ai pas eu le temps de tester. Ne pas hésiter à proposer une PR avec ton changement !

Pour le script de nettoyage, il n’y en a pas, mais une subtilité, est que le "vrai" projet gradle est dans le sous-répertoire "clavierexterne", donc l’apk devrait être dans clavierexterne/build/outputs/apk/ ; peut-être est-ce le soucis ?

anisse avatar Sep 25 '18 15:09 anisse

ça doit sans doute être ça. il faudrait voir pour modifier ton script de compilation ou indiquer à F-droid où trouver l’APK, selon ce qui est le plus simple et le plus logique.

ariasuni avatar Sep 25 '18 20:09 ariasuni

J’ai essayé de préciser output=apk/bepo-clavierexterne.apk mais le fichier apk est toujours nettoyé, et il échoue donc à le trouver au final.

ariasuni avatar Sep 26 '18 20:09 ariasuni

Non, l'output ça serait plutôt un fichier apk dans clavierexterne/build/outputs/apk/ . Celui à la racine dans apk/ est identique à la version buildée et signé pour Google Play, il n'est pas recomposé.

@ariasuni comment lances-tu le build ?

anisse avatar Sep 26 '18 20:09 anisse

J’ai indiqué plus haut le fichier de métadonnées; je fais fdroid build fr.bepo.clavierexterne ensuite. J’ai essayé d’indiquer output=clavierexterne/build/outputs/apk/debug/clavierexterne-debug.apk mais il ne le trouve pas, je pense bien qu’il faut utiliser le premier mais trouver pourquoi il est supprimé automatiquement…

ariasuni avatar Sep 26 '18 21:09 ariasuni

@ariasuni c’est vraiment pas loin je pense en spécifiant subdir=clavierexterne et le bon versionCode, ça devrait passer:

diff --git a/metadata/fr.bepo.clavierexterne.txt b/metadata/fr.bepo.clavierexterne.txt
index dd6bcadbd..e2db643d3 100644
--- a/metadata/fr.bepo.clavierexterne.txt
+++ b/metadata/fr.bepo.clavierexterne.txt
@@ -45,10 +45,12 @@ Repo Type:git
 Repo:https://github.com/ariasuni/bepo-android
 
-Build:1.3,1
+Build:1.3,3
     commit=467035b1a3478a2fc884e62371087c8c9a015f90
     gradle=yes
+    subdir=clavierexterne
 
 Auto Update Mode:None
 Update Check Mode:None
 Current Version:1.3
-Current Version Code:1
+Current Version Code:3

J’attends ta PR pour le compileSdk :-)

anisse avatar Sep 29 '18 16:09 anisse

Donc avec:

  • https://gitlab.com/ariasuni/fdroiddata/blob/378c8df0fee2224c4f2516b4a9d24714b453f5ca/metadata/fr.bepo.clavierexterne.txt
  • et cette modif: https://github.com/ariasuni/bepo-android/commit/b4ec955ad7bdafdace810f733f64c3b8680cb278

J’obtiens:

INFO: Using git version 2.19.0
INFO: Building version 1.3 (1) of fr.bepo.clavierexterne
INFO: Getting source for revision b4ec955ad7bdafdace810f733f64c3b8680cb278
INFO: Creating local.properties file at build/fr.bepo.clavierexterne/local.properties
INFO: Creating local.properties file at build/fr.bepo.clavierexterne/clavierexterne/local.properties
INFO: Cleaned build.gradle of keysigning configs at build/fr.bepo.clavierexterne/clavierexterne/build.gradle
INFO: Cleaning Gradle project...
INFO: Scanning source for common problems...
INFO: Removing gradle-wrapper.jar at gradle/wrapper/gradle-wrapper.jar
INFO: Removing APK file at apk/bepo-clavierexterne.apk
INFO: Creating source tarball...
INFO: Building Gradle project...
INFO: Successfully built version 1.3 of fr.bepo.clavierexterne
ERROR: Could not build app fr.bepo.clavierexterne: Wrong package ID - build 9 but expected fr.bepo.clavierexterne
INFO: Build for app fr.bepo.clavierexterne failed:
Wrong package ID - build 9 but expected fr.bepo.clavierexterne
INFO: Terminé
INFO: 1 build failed

Ce qui me laisse penser que c’est un autre problème lié à la façon de build clavierexterne.

ariasuni avatar Oct 01 '18 22:10 ariasuni

En tentant de builder ta version, j’ai ces erreurs:

INFO: Using git version 2.17.1
INFO: Building version 1.3 (1) of fr.bepo.clavierexterne
INFO: Getting source for revision b4ec955ad7bdafdace810f733f64c3b8680cb278
INFO: Creating local.properties file at build/fr.bepo.clavierexterne/local.properties
INFO: Creating local.properties file at build/fr.bepo.clavierexterne/clavierexterne/local.properties
INFO: Cleaned build.gradle of keysigning configs at build/fr.bepo.clavierexterne/clavierexterne/build.gradle
INFO: Cleaning Gradle project...
INFO: Scanning source for common problems...
INFO: Removing APK file at apk/bepo-clavierexterne.apk
INFO: Removing gradle-wrapper.jar at gradle/wrapper/gradle-wrapper.jar
INFO: Creating source tarball...
INFO: Building Gradle project...
INFO: Successfully built version 1.3 of fr.bepo.clavierexterne
ERROR: Could not build app fr.bepo.clavierexterne: Unexpected version/version code in output; APK: '1.3' / '3',  Expected: '1.3' / '1'
INFO: Build for app fr.bepo.clavierexterne failed:
Unexpected version/version code in output; APK: '1.3' / '3',  Expected: '1.3' / '1'
INFO: Finished
INFO: 1 build failed

Une fois le versionCode modifié comme dans le patch plus haut, ça fonctionne bien:

INFO: Creating temporary directory
INFO: Using git version 2.17.1
INFO: Building version 1.3 (3) of fr.bepo.clavierexterne
INFO: Getting source for revision b4ec955ad7bdafdace810f733f64c3b8680cb278
INFO: Creating local.properties file at build/fr.bepo.clavierexterne/local.properties
INFO: Creating local.properties file at build/fr.bepo.clavierexterne/clavierexterne/local.properties
INFO: Cleaned build.gradle of keysigning configs at build/fr.bepo.clavierexterne/clavierexterne/build.gradle
INFO: Cleaning Gradle project...
INFO: Scanning source for common problems...
INFO: Removing APK file at apk/bepo-clavierexterne.apk
INFO: Removing gradle-wrapper.jar at gradle/wrapper/gradle-wrapper.jar
INFO: Creating source tarball...
INFO: Building Gradle project...
INFO: Successfully built version 1.3 of fr.bepo.clavierexterne
INFO: success: fr.bepo.clavierexterne
INFO: Finished
INFO: 1 build succeeded

Et j’ai bien le fichier apk fdroid dans unsigned/.

anisse avatar Oct 02 '18 10:10 anisse

Moi j’obtiens

❯ fdroid build fr.bepo.clavierexterne
INFO: Using git version 2.19.1
INFO: Building version 1.3 (3) of fr.bepo.clavierexterne
INFO: Getting source for revision b4ec955ad7bdafdace810f733f64c3b8680cb278
INFO: Creating local.properties file at build/fr.bepo.clavierexterne/local.properties
INFO: Creating local.properties file at build/fr.bepo.clavierexterne/clavierexterne/local.properties
INFO: Cleaned build.gradle of keysigning configs at build/fr.bepo.clavierexterne/clavierexterne/build.gradle
INFO: Cleaning Gradle project...
INFO: Scanning source for common problems...
INFO: Removing gradle-wrapper.jar at gradle/wrapper/gradle-wrapper.jar
INFO: Removing APK file at apk/bepo-clavierexterne.apk
INFO: Creating source tarball...
INFO: Building Gradle project...
INFO: Successfully built version 1.3 of fr.bepo.clavierexterne
ERROR: Could not build app fr.bepo.clavierexterne: Wrong package ID - build 9 but expected fr.bepo.clavierexterne
INFO: Build for app fr.bepo.clavierexterne failed:
Wrong package ID - build 9 but expected fr.bepo.clavierexterne
INFO: Terminé
INFO: 1 build failed

Je ne comprends pas trop ce qui fait que ça marche chez toi mais pas chez moi…

ariasuni avatar Oct 21 '18 21:10 ariasuni

Je ne sais pas forcément par où commencer, mais il va falloir trouver un moyen de converger. Quelle est ta distribution ? Quelle version/tag de f-droid ? Comment est-ce que f-droid est installé ? Arrives-tu à builder une autre appli f-droid ? Laquelle ? Il n'est pas impossible que mon environnement pollue le build et le fasse réussir, mais l’appli bepo-android est très basique, et le build passe sur travis-ci. Je peux essayer de reproduire ton environnement pour trouver ce qui ne fonctionne pas.

anisse avatar Oct 26 '18 14:10 anisse

Du coup j’ai réussi à compiler l’application avec Python < 3.7 et les outils Android en version 27, sinon je tombe sur le bug de F-Droid qui fait échouer mes précédentes compilations. Du coup normalement t’as rien à changer sur ton dépôt pour le moment.

Voici le lien de la demande de fusion.

ariasuni avatar Dec 13 '18 21:12 ariasuni

Au fait, si jamais tu mets à jour ton application, il faudra ajouter un étiquette (tag) git pour que le changement soit détecté automatiquement par les scripts périodiques de F-Droid.

ariasuni avatar Dec 20 '18 19:12 ariasuni