Bon ce n'est pas vraiment une demande d'aide pour la création, mais est ce que vous avez des conseils pour optimiser les réglages tant pour :
MOCK
RPM
autres?

Actuellement j'ai ces réglages pour mock :
#############################################################################
#
# plugin related. Below are the defaults. Change to suit your site
# policy. site-defaults.cfg is a good place to do this.
#
# NOTE: Some of the caching options can theoretically affect build
#  reproducability. Change with care.
#
# config_opts['plugin_conf']['package_state_enable'] = True
# config_opts['plugin_conf']['package_state_opts'] = {}
# config_opts['plugin_conf']['package_state_opts']['available_pkgs'] = False
# config_opts['plugin_conf']['package_state_opts']['installed_pkgs'] = True
config_opts['plugin_conf']['ccache_enable'] = True
# config_opts['plugin_conf']['ccache_opts'] = {}
config_opts['plugin_conf']['ccache_opts']['max_cache_size'] = '16G'
# config_opts['plugin_conf']['ccache_opts']['compress'] = None
# config_opts['plugin_conf']['ccache_opts']['dir'] = "%(cache_topdir)s/%(root)s/ccache/u%(chrootuid)s/"
# config_opts['plugin_conf']['yum_cache_enable'] = True
# config_opts['plugin_conf']['yum_cache_opts'] = {}
# config_opts['plugin_conf']['yum_cache_opts']['max_age_days'] = 30
# config_opts['plugin_conf']['yum_cache_opts']['max_metadata_age_days'] = 30
# config_opts['plugin_conf']['yum_cache_opts']['dir'] = "%(cache_topdir)s/%(root)s/%(package_manager)s_cache/"
# config_opts['plugin_conf']['yum_cache_opts']['target_dir'] "/var/cache/%(package_manager)s/"
# config_opts['plugin_conf']['yum_cache_opts']['online'] = True
# config_opts['plugin_conf']['root_cache_enable'] = True
# config_opts['plugin_conf']['root_cache_opts'] = {}
# config_opts['plugin_conf']['root_cache_opts']['age_check'] = True
# config_opts['plugin_conf']['root_cache_opts']['max_age_days'] = 15
# config_opts['plugin_conf']['root_cache_opts']['dir'] = "%(cache_topdir)s/%(root)s/root_cache/"
# config_opts['plugin_conf']['root_cache_opts']['compress_program'] = "pigz"
# config_opts['plugin_conf']['root_cache_opts']['extension'] = ".gz"
# config_opts['plugin_conf']['root_cache_opts']['exclude_dirs'] = ["./proc", "./sys", "./dev",
#                                                                  "./tmp/ccache", "./var/cache/yum" ]
#
# bind mount plugin is enabled by default but has no configured directories to
# mount
# config_opts['plugin_conf']['bind_mount_enable'] = True
# config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/host/path', '/bind/mount/path/in/chroot/' ))
#
config_opts['plugin_conf']['tmpfs_enable'] = True
# config_opts['plugin_conf']['tmpfs_opts'] = {}
config_opts['plugin_conf']['tmpfs_opts']['required_ram_mb'] = 8128
config_opts['plugin_conf']['tmpfs_opts']['max_fs_size'] = '4096m'
# config_opts['plugin_conf']['tmpfs_opts']['mode'] = '0755'
# config_opts['plugin_conf']['tmpfs_opts']['keep_mounted'] = False
#
# config_opts['plugin_conf']['chroot_scan_enable'] = False
# config_opts['plugin_conf']['chroot_scan_opts'] = {
## Regexp of files which should be copied from buildroot to resultdir.
#    'regexes': [ "^[^k]?core(\.\d+)?", "\.log$",],
## If set to True files are copied only if build failed.
#    'only_failed': True,
#}
#
# lvm_root plugin is not enabled by default and is distributed in separate
# subpackage mock-lvm. If you want to use it, it's recommended to disable the
# root_cache plugin, otherwise you'd be caching twice.
# config_opts['plugin_conf']['lvm_root_enable'] = False
# config_opts['plugin_conf']['lvm_root_opts'] = {}
# You need to give it a volume group with sufficient space. It won't touch any
# of the existing logical volumes, so you can use the same volume group you use
# for other purposes. It requires a name of the VG (not device path).
# config_opts['plugin_conf']['lvm_root_opts']['volume_group'] = 'my_vg'
# You need to specify the size that will mock's thinpool occupy. For regular
# packages with small set of dependencies, 2G should suffice. For large packages
# such as libreoffice, you should set it to at least 5 GB otherwise you may run
# out of space and the build process will be blocked
config_opts['plugin_conf']['lvm_root_opts']['size'] = '8G'
# You can specify alternative pool metadata size, format is the same as size.
# Default value is determined by lvcreate based on size
# config_opts['plugin_conf']['lvm_root_opts']['poolmetadatasize'] = None
# When thin pool utilization is over 90% mock will refuse to continue.
# Because once it reach 100% utilization weird things will happens.
# config_opts['plugin_conf']['lvm_root_opts']['check_size'] = True
(voir celle sans # devant)

Cependant j'ai toujours la ram qui ce tourne les pouces, par exemple.

Y aurait il des choses que j'oublie? D'autres conseils pour créer des RPM que d'utiliser MOCK?

Actuellement je test l'empaquetage de LLVM et Clang 3.9 pour Fedora 25 (à voir si cela fonctionne sous F24), vu le peu d'impact que cela provoque (en dehors de la mise à jour de MESA, je n'ai pas vu de problèmes).

Mais bon cela prend du temps et bien que le CPU soit bien utilisé (98->100% sur 4 cœurs/4 threads), la ram ce tourne les pouces (bon +/-2go max sur 24Go, malgré les réglages ci-dessus) et ce serait bien d'optimiser cela non?

Après j'ai déjà augmenté la fréquence de la RAM (+/- 15/20% de perfs mémoire en plus), passant de 1866Mhz à 2200Mhz (bon elle devrait supporter plus, mais il ne faut pas non plus trop en vouloir). Cela à permis un gain non négligeable lors de l'empaquetage, mais le taux d'utilisation est toujours très bas.
Bon en dehors du ccache et de tmpfs, j'ai retouché quelques options. Ayant un SSD il faudra voir si cela vaut le coup. Je referai un test plus poussé ce week end bien que j'avais prévu autre chose (me retrouvant à pied pour quelques jours, je peux pas faire grand chose 🙁).

Donc ça compile un poil plus vite, mais cela n'exploite toujours pas la ram. Donc j'en déduis que ce n'est pas si nécessaire que cela.

Bon après j'en ai plus qu'il n'en faut c'est vrai, mais faisant des VM à outrance (pour une infrastructure systèmes Windows/linux style AD,WSUS/WDS, FreeIpa, SCCM, Spacewalk/Katello et j'en passe...), cela en demande pas mal. Maintenant c'est les disques qui saturent un peu quand tout fonctionne en même temps, ainsi que le cpu par moment (bon faut vraiment tirer dessus).
un an plus tard
Petite astuce que j'ai trouvé histoire d'accélérer l'empaquetage des paquets. J'ai juste ajouté le signe "&" à la fin des lignes de mock, ce qui permet de lancer les commandes en même temps (une parallélisation de l'empaquetage quoi). Par contre cela n'exploite toujours pas plus de RAM que cela (juste 2,5Go de plus sans paralléliser, ce qui n'est déjà pas si mal).

Exemple :
mock --no-clean -r fedora-26-i386 --arch=i686 rebuild rpmbuild/SRPMS/mesa-*vind_depot* &
mock --no-clean -r fedora-26-x86_64 --arch=x86_64 rebuild rpmbuild/SRPMS/mesa-*vind_depot* &
Par contre le reste des ressources semblent exploité à fond, sans non plus me bloquer la machine. Du coup c'est peut être pas grand chose, mais au moins cela devrait prendre moins de temps pour empaqueter toutes les versions. Je vais pouvoir le transposer sur mon nouveau script.