Oui et de tar.gz autoporteurs aussi !
Trop bien l'astuce du
apt install ./mon-fichier.deb
Merci Nono !!!
En réalité Bash ne possède pas le concept de packages
ou de namespaces
mais il est possible de le reproduire à partir d'une convention de nommage (ce que propose ici Google).
Dans l'idée, il suffit de préfixer toutes les déclarations de fonctions par NOM_DU_PACKAGE::
et de faire la même chose pour les invocations. Par exemple avec un "Hello World!" :
# Définition
CORE::hello() {
echo "Hello ${1}!"
}
export -f CORE::hello
# Usage
CORE::hello "World"
Et ça marche. Par contre impossible de savoir si les double deux-points sont POSIX ou non.
Je découvrir un type de packaging que Maven est capable de produire : bundle.
Je copie-colle ci-dessous la définition :
This kind of artifact is an OSGi bundle, typically produced using the maven-bundle-plugin which is part of Apache Felix.
The plugin treats all the classes available to your module (the module's own classes, classes provided by dependencies, other classes on the classpath) as one giant set, then lets you select a subset of those classes to bundle into a jar. It also creates the necessary manifest information to make the artifact an OSGi bundle.
So the artifact you're pulling in by using this dependency is a jar, however it's a jar built by choosing a subset from a much larger set of classes, not just the classes that were defined inside the abdera-core module.
If you have a look at the pom for the abdera project you'll see the maven-bundle-plugin configuration which will give you an idea of which classes have been added to the bundle, and which have been held back.
Bref, l'artifact org.mockito:mockito-core:2.28.2 est maintenant de type bundle.
Ce que l'on sait depuis un moment déjà sur l'immaturité des conteneurs.
Je suis en train de m'amuser à reconfigurer mon Android pour virer tous les packages Lenovo - Motorola / Google et ne conserver que ceux qui m'intéressent :
- À savoir ceux qui proviennent de F-Droid.
- Ceux qui ne violent pas ma vie privée.
Utiliser le shell ADB s'apprend en quelques minutes, le plus long étant le backup à exporter / réimporter lorsque l'on a compris quoi faire.
Pour ma part, j'ai eu un très très gros gain en performance (facteur x100-200 sur le démarrage de certaines applis et sous certains actions), autant vous dire que je respire de nouveau.
Je pense que je vais reformater mon téléphone parce que j'ai supprimé trop de packages (voulais tester des trucs, fallait pas, j'ai appris). Dans l'absolu ça marche, mais perdre certaines entrées dans les paramètres rend compliqué certaines choses so rollback.
J'oubliais, je suis passé sous Firefox Klar (merci à F-Droid).
Edit : après une journée d'utilisation, Firefox Klar est une fausse bonne idée. Le fait que le cache soit complètement effacé à chaque click oblige le mobile a tout retélécharger de zéro, même lorsque l'on fait "précédent". En Wi-Fi ou en 4G passe encore mais en H+ ou moins, cela devient inexploitable. Moralité, je passe sous Fennec le port officiel de Firefox pour Android. Est-ce une bug ? Je ne sais pas
Edit 2 : le résumé des commandes
adb shell pm list packages
adb shell pm list packages -f
See their associated file.adb shell pm list packages -d
Filter to only show disabled packages.adb shell pm list packages -e
Filter to only show enabled packages.adb shell pm list packages -s
Filter to only show system packages.adb shell pm list packages -3
Filter to only show third party packages.adb shell pm list packages -i
See the installer for the packages.adb shell pm list packages -u
Also include uninstalled packages.adb shell pm list packages --user <USER_ID>
The user space to query.
Et la fameuse comment pour supprimer un package constructeur : adb shell pm uninstall --user 0 <PACKAGE>
Que se passe-t-il lorsque les fournisseurs d'accès internet peuvent décider du contenu qui passera dans leurs tuyaux... Simplement un forfait "de base" où l'on ne peut rien faire et plein de petits packages en vrac :
- Un package facebook
- Un package site de news
- Un package Peer-2-Peer / Bitorrent
- Un package Jeux vidéo
- Un package Youtube / Netflix
- Un package SSH / FTP
- ...
Bref, à 5 € le package + 15 € le forfait de base ça fait du bien aux fesses de payer 100 € un accès à internet complètement bridé !
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
<!-- Package to scan in order to found configuration -->
<!--<context:annotation-config/>-->
<context:component-scan base-package="package.a.scanner" />
<!-- Transaction -->
<!--<tx:annotation-driven transaction-manager="jpaTransactionManager" />-->
<!-- JPA -->
Plein de tutoriels pour vous aider à gérer votre Linux (System V, User management, Process, Device, Package, Permission, etc).
Hyper utile comme lien
Créer son propre "packaging type" pour Maven.