El SysAdmin del 3er Mundo

todo lo que expliqué mientras nadie prestaba atención

repo de fdroid

| Comments

“La que se avecina”, sería una buena manera para describir la revolución de aparatos con android que habrá en el Calixto García muy pronto. Yo siempre con el paso al frente y las luz larga (modestia y aparte) estuve pensando que tener nuestro propio repositorio de aplicaciones para android; sería una buena manera de mantener a todo el mundo bien actualizado, sobre todo a aquellos que no tienen acceso a internet.

Para el que no lo conozca, fdroid es una herramienta cliente para repositorios de android, osea como google market pero libre.

La mecánica es sencilla: Bajo los paquetes con aptoide, verifico que sean seguros y copio la cache para el directorio repo/ de fdroid en el servidor con acrosync

En el repo de debian y en AUR, el paquete se llama fdroidserver. La rutina de instalación ya la conoces.

Creamos el directorio donde meteremos el repo, en mi caso, aquí:

mkdir
1
mkdir -p /srv/http/fdroid/repo

Creamos la configuración de nginx, a mi me quedó así:

nginx.conf
1
2
3
4
5
6
7
8
server {
     listen   10.1.1.14:80;
     listen   10.1.1.14:443 ssl;
     server_name android.hcg.sld.cu;
     location / {
     root /srv/http/fdroid/repo/;
     }
}

Un virtualhost nombrado android. No olvide crear el puntero DNS

Ahora, ve al directorio raíz del repo, OJO A LA RAIZ, NO a donde dice repo/.

fdroid
1
2
cd /srv/http/fdroid/
fdroid init

Te preguntará por la android-sdk, por lo general, está en /opt/android-sdk, dale la ruta.

¿¿No tienes la SDK de android?? Ah pues estás muy jodio… En el caso de arch, el repo de bbqlinux contiene la sdk completa, solo para 64 bits.

Pero volviendo con fdroid:

Ahora debe habérse creado el directorio repo/ dentro del directorio /srv/http/fdroid y es ahí donde copiarás las APK.

cp /donde/esten/tus/*.apk /srv/http/fdroid/repo/

Pero claro, querrás que tu repo se identifique. El fichero /srv/http/fdroid/config.py contiene lo que buscas. Por la linea trenta y pico; a mi me quedó así:

config.py
1
2
3
4
5
6
7
8
9
10
11
12
...

repo_url = "http://android.hcg.sld.cu"
repo_name = "Calixto Garcia"
repo_icon = "calixto_xsm.png"
repo_description = """
Repositorio de aplicaciones de android del calixto. Intentaremos proveerle
aplicaciones debidamente actualizadas. Sientase libre de colaborar, trayendonos
las mas recientes APK.
"""

...

Ah! y sin tildes, si no, python se vuelve loco con el encoding.

Ahora vamos a crear el índice inicial, pero eso mismo comando lo correrás cuando agregues aplicaciones a tu repo.

fdroid
1
fdroid update --create-metadata

OJO!! Asegúrate de que las APK no tengan un espacio en su nombre; muchísimo menos un caracter raro. Si todo salió bien debes ver algo como “Generating metada”.

Con eso terminaste el servidor… Ve a fdroid y ponle la URL del virtualhost como repo, luego update y listo…

¿Cómo se hace? Facilito. Párate en la primer pantalla, aprieta el botón de menú del dispositivo y toca donde dice “Gestionar Repositorios” o en inglés, “Manage Repos”

Desactiva los respos inalcanzables y añade tu repo local. Luego actualiza y listo, verás las aplicaciones disponibles.

Ya solo te quedaría instalar un rsync que desemboque en el repo y con acrosync subes la cache de aptotide para el repo, así como lo estoy haciendo yo ahora.

Si este artículo te resultó interesante, considere donar 0.003 BTC: 1LgL9cfT2StNk9gdedMJZseMnKJCEgQJdQ

Comments