# [TOOL] gpo-zugaina-dl

## fedeliallalinea

Mi capita, ogni tanto, che abbia bisogno di un ebuild non presente nel portage tree ufficiale ma presente in un overlay.

Il problema che solo per un ebuild non mi urta aggiungere un overlay completo, magari che contiene molti altri che non mi servono, quindi scariavo ebuild, e tutti gli altri file necessari, a mano da http://gpo.zugaina.org/ . 

Il problema che certi ebuild portano con se molti altri files e il lavoro diventa noioso.

Per ovviare a questo lavoro noioso avevo scritto uno script in bash che fa il lavoro al mio posto (vedi sotto per il link); ora ho aggiornato questo script ma ho provato ad usare python e lo potete trovare ai seguienti indirizzi

 Codice sorgente: https://github.com/fedeliallalinea/gpo-zugaina-dl

 Ebuild: https://github.com/fedeliallalinea/gallifrey/tree/master/app-portage/gpo-zugaina-dl

Ora rispetto a prima si puo' anche cercare i pacchetti dal sito gpo.zugaina.org direttamente da linea di comando.

Esempi:

 Cercare un pacchetto

```
$ gpo-zugaina-dl -s firefox

* www-client/firefox

        Description: Firefox Web Browser

* www-client/firefox-bin

        Description: Firefox Web Browser

* www-client/firefox-l10n-an

        Description: Firefox language pack (an)

* www-client/firefox-l10n-as

        Description: Firefox language pack (as)

Found 128 matches

Only 50 matches displayed on terminal

Set --limit=0 option to show all matches
```

 Vedere quali overlays contengono un determinato pacchetto

```
$ gpo-zugaina-dl -s www-client/firefox

* www-client/firefox-9999

        Keywords: 

        Use flags: bindist +gmp-autoupdate hardened hwaccel pgo selinux test custom-cflags custom-optimization dbus debug +jemalloc neon pulseaudio selinux startup-notification system-cairo system-jpeg system-libevent system-sqlite system-libvpx gtk2 wifi pgo

        License: License: MPL-2.0 GPL-2 LGPL-2.1

        Overlay: riru

* www-client/firefox-62.0_beta16

        Keywords: ~amd64 ~x86

        Use flags: bindist dbus debug eme-free +gmp-autoupdate hardened hwaccel jack neon pulseaudio +screenshot selinux startup-notification system-harfbuzz system-icu system-jpeg system-libevent system-sqlite system-libvpx test wifi custom-cflags custom-optimization l10n_ach l10n_af l10n_an l10n_ar l10n_as l10n_ast l10n_az l10n_bg l10n_bn-BD l10n_bn-IN l10n_br l10n_bs l10n_ca l10n_cak l10n_cs l10n_cy l10n_da l10n_de l10n_dsb l10n_el l10n_en-GB l10n_en-ZA l10n_eo l10n_es-AR l10n_es-CL l10n_es-ES l10n_es-MX l10n_et l10n_eu l10n_fa l10n_ff l10n_fi l10n_fr l10n_fy l10n_ga l10n_gd l10n_gl l10n_gn l10n_gu l10n_he l10n_hi l10n_hr l10n_hsb l10n_hu l10n_hy l10n_id l10n_is l10n_it l10n_ja l10n_ka l10n_kab l10n_kk l10n_km l10n_kn l10n_ko l10n_lij l10n_lt l10n_lv l10n_mai l10n_mk l10n_ml l10n_mr l10n_ms l10n_nb l10n_nl l10n_nn l10n_or l10n_pa l10n_pl l10n_pt-BR l10n_pt-PT l10n_rm l10n_ro l10n_ru l10n_si l10n_sk l10n_sl l10n_son l10n_sq l10n_sr l10n_sv l10n_ta l10n_te l10n_th l10n_tr l10n_uk l10n_uz l10n_vi l10n_xh l10n_zh-CN l10n_zh-TW

        License: License: MPL-2.0 GPL-2 LGPL-2.1

        Overlay: mozilla

....

Found 31 matches
```

 Scaricare l'ebuild da un specifico overlay

```
$ gpo-zugaina-dl -d /tmp/ mozilla www-client/firefox -v

/tmp/

│

├── www-client/

│   │

│   ├── firefox/

│   │   │   │

│   │   │   ├── Manifest

│   │   │   │

│   │   │   ├── files/

│   │   │   │   │

│   │   │   │   ├── gentoo-default-prefs.js-1

│   │   │   │   │

│   │   │   │   ├── gentoo-default-prefs.js-2

│   │   │   │   │

│   │   │   │   ├── gentoo-hwaccel-prefs.js-1

│   │   │   │   │

│   │   │   │   ├── icon/

│   │   │   │   │   │

│   │   │   │   │   ├── firefox.desktop

│   │   │   │

│   │   │   ├── firefox-60.1.0.ebuild

│   │   │   │

│   │   │   ├── firefox-62.0_beta6.ebuild

│   │   │   │

│   │   │   ├── firefox-62.0_beta16.ebuild

│   │   │   │

│   │   │   ├── metadata.xml

│

├── eclass

│   │

│   ├── mozlinguas-v2

│   │

│   ├── mozcoreconf-v6

│   │

│   ├── mozconfig-v6.60
```

[OBSOLETO - OLD]

Per ovviare a questo lavoro noioso mi sono scritto uno script in bash che fa il lavoro al mio posto   :Very Happy:  e lo potete trovare qui.

Il funzionamento e' semplice, basta trovare l'ebuild che si vuole sul sito http://gpo.zugaina.org/ poi specificare il nome dell'overlay, la categoria o categoria/pacchetto e dove la cartella dove scaricare i file.

Per esempio se si vuole scaricare firefox-kde-opensuse dall'overlay bobwya basta lanciare

```
$ gpo-zugaina-downloader /cartella/destinazione bobwya www-client/firefox-kde-opensuse
```

Questo comando scarichera' tutti gli ebuilds, i file e le eclass necessarie per il pacchetto

```
$ tree /cartella/destinazione

.

├── eclass

│   ├── mozconfig-kde-v6.52.eclass

│   ├── mozconfig-kde-v6.53.eclass

│   └── mozlinguas-kde-v2.eclass

└── www-client

    └── firefox-kde-opensuse

        ├── Manifest

        ├── files

        │   ├── firefox-kde-opensuse-45-qt-widget-fix.patch

        │   ├── firefox-kde-opensuse-47.0-crashreporter.patch

        │   ├── firefox-kde-opensuse-47.0-define-HUNSPELL_STATIC-conditionally.patch

        │   ├── firefox-kde-opensuse-48.0-pgo.patch

        │   ├── firefox-kde-opensuse-53-turn_off_crash_on_seccomp_fail.patch

        │   ├── firefox-kde-opensuse-force-qt-dialog.patch

        │   ├── firefox-kde-opensuse-kde-debug.patch

        │   ├── firefox-kde-opensuse-mozilla_configure_regexp_esr.patch

        │   ├── gentoo-default-prefs.js-1

        │   ├── gentoo-hwaccel-prefs.js-1

        │   ├── icon

        │   │   └── firefox.desktop

        │   └── musl_drop_hunspell_alloc_hooks.patch

        ├── firefox-kde-opensuse-52.1.2.ebuild

        ├── firefox-kde-opensuse-53.0.3.ebuild

        └── metadata.xml
```

----------

## nollo

grazie funziona bene

----------

## fedeliallalinea

Changelogs 28.08.2018

 passato da script bash a python3 e cambiato nome (vedi qui)

 possibilita' di cercare i pacchetti direttamente da linea di comando

----------

