[Report] Packages Restricting Arches
by root
New package excluding arches (1)
============================
- xmvn-generator
ExclusiveArch: %{java_arches} noarch
Package that edited their arches constraints (2)
=============================================
- aardvark-dns
was ExclusiveArch: %{arm32} %{arm64} ppc64le s390x x86_64
is ExclusiveArch: %{golang_arches_future}
- netavark
was ExclusiveArch: %{arm32} %{arm64} ppc64le s390x x86_64
is ExclusiveArch: %{golang_arches_future}
Package no longer excluding arches (2)
==================================
- belle-sip
- rust-socket2
List of packages currently excluding arches (2231)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- BareBonesBrowserLaunch
ExclusiveArch: %{java_arches} noarch
- CardManager
ExclusiveArch: %{java_arches} noarch
- GAPDoc
ExclusiveArch: %{gap_arches} noarch
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- IPAddress
ExclusiveArch: %{java_arches} noarch
- Mars
ExclusiveArch: %{java_arches} noarch
- OpenColorIO
ExclusiveArch: x86_64 ppc64le
- OpenImageIO
ExclusiveArch: x86_64 ppc64le
- OpenMolcas
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- OpenStego
ExclusiveArch: %{java_arches} noarch
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- R-rJava
ExclusiveArch: %{java_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aardvark-dns
ExclusiveArch: %{golang_arches_future}
- accel-config
ExclusiveArch: %{ix86} x86_64
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64 s390x
- anet
ExclusiveArch: %{GPRbuild_arches}
- ant
ExclusiveArch: %{java_arches} noarch
- ant-antunit
ExclusiveArch: %{java_arches} noarch
- antlr
ExclusiveArch: %{java_arches}
- antlr-maven-plugin
ExclusiveArch: %{java_arches} noarch
- antlr3
ExclusiveArch: %{java_arches}
- antlr32
ExclusiveArch: %{java_arches} noarch
- antlr4-project
ExclusiveArch: %{java_arches}
- antlrworks
ExclusiveArch: %{java_arches} noarch
- aopalliance
ExclusiveArch: %{java_arches} noarch
- apache-commons-beanutils
ExclusiveArch: %{java_arches} noarch
- apache-commons-cli
ExclusiveArch: %{java_arches} noarch
- apache-commons-codec
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections4
ExclusiveArch: %{java_arches} noarch
- apache-commons-compress
ExclusiveArch: %{java_arches} noarch
- apache-commons-digester
ExclusiveArch: %{java_arches} noarch
- apache-commons-exec
ExclusiveArch: %{java_arches} noarch
- apache-commons-fileupload
ExclusiveArch: %{java_arches} noarch
- apache-commons-io
ExclusiveArch: %{java_arches} noarch
- apache-commons-jxpath
ExclusiveArch: %{java_arches} noarch
- apache-commons-lang3
ExclusiveArch: %{java_arches} noarch
- apache-commons-logging
ExclusiveArch: %{java_arches} noarch
- apache-commons-math
ExclusiveArch: %{java_arches} noarch
- apache-commons-modeler
ExclusiveArch: %{java_arches} noarch
- apache-commons-net
ExclusiveArch: %{java_arches} noarch
- apache-commons-parent
ExclusiveArch: %{java_arches} noarch
- apache-commons-pool
ExclusiveArch: %{java_arches} noarch
- apache-ivy
ExclusiveArch: %{java_arches} noarch
- apache-parent
ExclusiveArch: %{java_arches} noarch
- apache-resource-bundles
ExclusiveArch: %{java_arches} noarch
- apache-sshd
ExclusiveArch: %{java_arches} noarch
- apiguardian
ExclusiveArch: %{java_arches} noarch
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- aqute-bnd
ExclusiveArch: %{java_arches} noarch
- args4j
ExclusiveArch: %{java_arches} noarch
- arm-trusted-firmware
ExclusiveArch: aarch64
- assertj-core
ExclusiveArch: %{java_arches} noarch
- atinject
ExclusiveArch: %{java_arches} noarch
- aunit
ExclusiveArch: %GPRbuild_arches
- auto
ExclusiveArch: %{java_arches} noarch
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- azure-cli
ExclusiveArch: %{java_arches} noarch
- batik
ExclusiveArch: %{java_arches} noarch
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
- bcel
ExclusiveArch: %{java_arches} noarch
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- beansbinding
ExclusiveArch: %{java_arches} noarch
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- beust-jcommander
ExclusiveArch: %{java_arches} noarch
- bibletime
ExclusiveArch: %{java_arches}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- bolzplatz2006
ExclusiveArch: %{java_arches}
- bouncycastle
ExclusiveArch: %{java_arches} noarch
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- brazil
ExclusiveArch: %{java_arches} noarch
- bsf
ExclusiveArch: %{java_arches} noarch
- bsh
ExclusiveArch: %{java_arches} noarch
- buildah
ExclusiveArch: %{golang_arches_future}
- buildnumber-maven-plugin
ExclusiveArch: %{java_arches} noarch
- byte-buddy
ExclusiveArch: %{java_arches} noarch
- byteman
ExclusiveArch: %{java_arches} noarch
- cachelib
ExclusiveArch: x86_64 aarch64 ppc64le
- calamares
ExclusiveArch: %{ix86} x86_64 aarch64
- calibre
ExclusiveArch: %{qt5_qtwebengine_arches}
- cambozola
ExclusiveArch: %{java_arches} noarch
- canl-java
ExclusiveArch: %{java_arches} noarch
- catatonit
ExclusiveArch: %{golang_arches_future}
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- cdi-api
ExclusiveArch: %{java_arches} noarch
- ceph
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- cglib
ExclusiveArch: %{java_arches} noarch
- chromium
ExclusiveArch: x86_64
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- classloader-leak-test-framework
ExclusiveArch: %{java_arches} noarch
- classpathless-compiler
ExclusiveArch: %{java_arches} noarch
- clevis-pin-tpm2
ExclusiveArch: %{rust_arches}
- clojure
ExclusiveArch: %{java_arches} noarch
- clojure-core-specs-alpha
ExclusiveArch: %{java_arches} noarch
- clojure-maven-plugin
ExclusiveArch: %{java_arches} noarch
- clojure-spec-alpha
ExclusiveArch: %{java_arches} noarch
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- codehaus-parent
ExclusiveArch: %{java_arches} noarch
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- colossus
ExclusiveArch: %{java_arches} noarch
- conmon
ExclusiveArch: %{golang_arches_future}
- console-image-viewer
ExclusiveArch: %{java_arches} noarch
- containernetworking-plugins
ExclusiveArch: %{golang_arches}
- coq
ExclusiveArch: %{java_arches}
- cortado
ExclusiveArch: %{java_arches} noarch
- cpu-x
ExclusiveArch: i686 x86_64
- cpufetch
ExclusiveArch: %{arm} aarch64 x86_64 ppc ppc64 ppc64le
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- crash-gcore-command
ExclusiveArch: aarch64 ppc64le x86_64
- crash-trace-command
ExclusiveArch: aarch64 ppc64le s390x x86_64
- cri-o
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- crun
ExclusiveArch: %{golang_arches_future}
- cryptlib
ExclusiveArch: x86_64 aarch64 ppc64le
- crypto-policies
ExclusiveArch: %{java_arches} noarch
- cryptobone
ExclusiveArch: x86_64 ppc64le aarch64
- csslint
ExclusiveArch: %{nodejs_arches} noarch
- cvc4
ExclusiveArch: %{java_arches}
- daq
ExclusiveArch: x86_64 aarch64
- dbus-parsec
ExclusiveArch: %{rust_arches}
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- decentxml
ExclusiveArch: %{java_arches} noarch
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-desktop-schemas
ExclusiveArch: %{go_arches}
- directory-maven-plugin
ExclusiveArch: %{java_arches} noarch
- dirgra
ExclusiveArch: %{java_arches} noarch
- disruptor
ExclusiveArch: %{java_arches} noarch
- ditaa
ExclusiveArch: %{java_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: x86_64
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dogtag-pki
ExclusiveArch: %{java_arches}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dom4j
ExclusiveArch: %{java_arches} noarch
- dotnet6.0
ExclusiveArch: aarch64 x86_64 s390x
ExclusiveArch: x86_64
- dotnet7.0
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dub
ExclusiveArch: %{ldc_arches}
- dxvk-native
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- easymock
ExclusiveArch: %{java_arches} noarch
- ecj
ExclusiveArch: %{java_arches} noarch
- eclipse-swt
ExclusiveArch: %{java_arches}
- ed25519-java
ExclusiveArch: %{java_arches} noarch
- edk2
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efifs
ExclusiveArch: %{efi}
- efitools
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- emacs-slime
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- embree
ExclusiveArch: aarch64 x86_64
- embree3
ExclusiveArch: aarch64 x86_64
- enjarify
ExclusiveArch: %{java_arches} noarch
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- erlang-corba
ExclusiveArch: %{java_arches}
- eth-tools
ExclusiveArch: x86_64
- exec-maven-plugin
ExclusiveArch: %{java_arches} noarch
- external-editor-revived
ExclusiveArch: %{rust_arches}
- extra-enforcer-rules
ExclusiveArch: %{java_arches} noarch
- fasterxml-oss-parent
ExclusiveArch: %{java_arches} noarch
- fb303
ExclusiveArch: x86_64 aarch64 ppc64le
- fbthrift
ExclusiveArch: x86_64 aarch64 ppc64le
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- felix-parent
ExclusiveArch: %{java_arches} noarch
- felix-utils
ExclusiveArch: %{java_arches} noarch
- fernflower
ExclusiveArch: %{java_arches} noarch
- fes
ExclusiveArch: %{ix86} x86_64
- filedrop
ExclusiveArch: %{java_arches} noarch
- fishbowl
ExclusiveArch: %{java_arches} noarch
- fizz
ExclusiveArch: x86_64 aarch64 ppc64le
- flocq
ExclusiveArch: %{java_arches}
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluent-bit
ExclusiveArch: x86_64 aarch64
- flute
ExclusiveArch: %{java_arches} noarch
- folly
ExclusiveArch: x86_64 aarch64 ppc64le
- fop
ExclusiveArch: %{java_arches} noarch
- forge-parent
ExclusiveArch: %{java_arches} noarch
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frama-c
ExclusiveArch: %{java_arches}
- freecol
ExclusiveArch: %{java_arches} noarch
- freemarker
ExclusiveArch: %{java_arches} noarch
- freerouting
ExclusiveArch: %{java_arches} noarch
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: x86_64 ppc64
- fuse-overlayfs
ExclusiveArch: %{arm64} ppc64le s390x x86_64
- fusesource-pom
ExclusiveArch: %{java_arches} noarch
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x riscv64 %{power64}
- fwupd-efi
ExclusiveArch: x86_64 aarch64
- ga
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- gap
ExclusiveArch: %{gap_arches}
- gap-pkg-ace
ExclusiveArch: %{gap_arches}
- gap-pkg-aclib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-alnuth
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-atlasrep
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-autodoc
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-automata
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-autpgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-browse
ExclusiveArch: %{gap_arches}
- gap-pkg-caratinterface
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-circle
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-cohomolo
ExclusiveArch: %{gap_arches}
- gap-pkg-congruence
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-corelg
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crime
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crisp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crypting
ExclusiveArch: %{gap_arches}
- gap-pkg-cryst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crystcat
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-ctbllib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-curlinterface
ExclusiveArch: %{gap_arches}
- gap-pkg-cvec
ExclusiveArch: %{gap_arches}
- gap-pkg-datastructures
ExclusiveArch: %{gap_arches}
- gap-pkg-design
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-digraphs
ExclusiveArch: %{gap_arches}
- gap-pkg-edim
ExclusiveArch: %{gap_arches}
- gap-pkg-factint
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-ferret
ExclusiveArch: %{gap_arches}
- gap-pkg-fga
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-fining
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-float
ExclusiveArch: %{gap_arches}
- gap-pkg-format
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-forms
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-fr
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-francy
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-gbnp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-genss
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-grape
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-groupoids
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-grpconst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-guava
ExclusiveArch: %{gap_arches}
- gap-pkg-hap
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-hapcryst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-hecke
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-images
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-io
ExclusiveArch: %{gap_arches}
- gap-pkg-irredsol
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-json
ExclusiveArch: %{gap_arches}
- gap-pkg-jupyterkernel
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-jupyterviz
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-laguna
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liealgdb
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liepring
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liering
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-loops
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-lpres
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-mapclass
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-nautytracesinterface
ExclusiveArch: %{gap_arches}
- gap-pkg-nq
ExclusiveArch: %{gap_arches}
- gap-pkg-openmath
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-orb
ExclusiveArch: %{gap_arches}
- gap-pkg-polenta
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-polycyclic
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-polymaking
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-primgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-profiling
ExclusiveArch: %{gap_arches}
- gap-pkg-qpa
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-quagroup
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-radiroot
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-recog
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-repsn
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-resclasses
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-scscp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-semigroups
ExclusiveArch: %{gap_arches}
- gap-pkg-singular
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sla
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-smallgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-smallsemi
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sonata
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sophus
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-spinsym
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-standardff
ExclusiveArch: %{gap_arches}
- gap-pkg-tomlib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-toric
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-transgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-utils
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-uuid
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-xmod
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-zeromqinterface
ExclusiveArch: %{gap_arches}
- gappalib-coq
ExclusiveArch: %{java_arches}
- gbrainy
ExclusiveArch: %mono_arches
- gdb
ExclusiveArch: %{ix86} x86_64
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gearhead1
ExclusiveArch: %{fpc_arches}
- gearhead2
ExclusiveArch: %{fpc_arches}
- ghdl
ExclusiveArch: %{GNAT_arches}
- ghostwriter
ExclusiveArch: %{qt5_qtwebengine_arches}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-octopus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- gitqlient
ExclusiveArch: %{qt5_qtwebengine_arches}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-rdp
ExclusiveArch: %{mono_arches}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnu-efi
ExclusiveArch: %{efi}
- go-bindata
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang
ExclusiveArch: %{golang_arches}
- gomtree
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- google-gson
ExclusiveArch: %{java_arches} noarch
- google-guice
ExclusiveArch: %{java_arches} noarch
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- goverlay
ExclusiveArch: %{fpc_arches}
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha aarch64
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{grafanapcp_arches}
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- guava
ExclusiveArch: %{java_arches} noarch
- gudev-sharp
ExclusiveArch: %mono_arches
- guestfs-tools
ExclusiveArch: %{kernel_arches}
- hamcrest
ExclusiveArch: %{java_arches} noarch
- harec
ExclusiveArch: x86_64 aarch64
- hawtjni
ExclusiveArch: %{java_arches} noarch
- hedgewars
ExclusiveArch: %{fpc_arches}
- hibernate-jpa-2.0-api
ExclusiveArch: %{java_arches} noarch
- hibernate-jpa-2.1-api
ExclusiveArch: %{java_arches} noarch
- hid4java
ExclusiveArch: %{java_arches} noarch
- hsakmt
ExclusiveArch: x86_64 aarch64 ppc64le
- httpcomponents-client
ExclusiveArch: %{java_arches} noarch
- httpcomponents-core
ExclusiveArch: %{java_arches} noarch
- httpcomponents-project
ExclusiveArch: %{java_arches} noarch
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64 aarch64
- i3status-rs
ExclusiveArch: %{rust_arches}
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- icu4j
ExclusiveArch: %{java_arches} noarch
- imagej
ExclusiveArch: %{java_arches} noarch
- imhex
ExclusiveArch: x86_64 %{arm64}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- intel-cm-compiler
ExclusiveArch: i686 x86_64
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-compute-runtime
ExclusiveArch: x86_64
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-igc
ExclusiveArch: x86_64
- intel-ipp-crypto-mb
ExclusiveArch: x86_64
- intel-ipsec-mb
ExclusiveArch: x86_64
ExclusiveArch: x86_64
- intel-mediasdk
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ispc
ExclusiveArch: x86_64 aarch64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- jFormatString
ExclusiveArch: %{java_arches} noarch
- jackson-annotations
ExclusiveArch: %{java_arches} noarch
- jackson-bom
ExclusiveArch: %{java_arches} noarch
- jackson-core
ExclusiveArch: %{java_arches} noarch
- jackson-databind
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-binary
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-text
ExclusiveArch: %{java_arches} noarch
- jackson-jaxrs-providers
ExclusiveArch: %{java_arches} noarch
- jackson-modules-base
ExclusiveArch: %{java_arches} noarch
- jackson-parent
ExclusiveArch: %{java_arches} noarch
- jacoco
ExclusiveArch: %{java_arches} noarch
- jacop
ExclusiveArch: %{java_arches} noarch
- jakarta-activation
ExclusiveArch: %{java_arches} noarch
- jakarta-activation1
ExclusiveArch: %{java_arches} noarch
- jakarta-annotations
ExclusiveArch: %{java_arches} noarch
- jakarta-el
ExclusiveArch: %{java_arches} noarch
- jakarta-interceptors
ExclusiveArch: %{java_arches} noarch
- jakarta-json
ExclusiveArch: %{java_arches} noarch
- jakarta-mail
ExclusiveArch: %{java_arches} noarch
- jakarta-oro
ExclusiveArch: %{java_arches} noarch
- jakarta-saaj
ExclusiveArch: %{java_arches} noarch
- jakarta-server-pages
ExclusiveArch: %{java_arches} noarch
- jakarta-servlet
ExclusiveArch: %{java_arches} noarch
- jakarta-xml-ws
ExclusiveArch: %{java_arches} noarch
- janino
ExclusiveArch: %{java_arches} noarch
- jansi
ExclusiveArch: %{java_arches}
- jansi-native
ExclusiveArch: %{java_arches}
- jansi1
ExclusiveArch: %{java_arches} noarch
- java-1.8.0-openjdk
ExclusiveArch: %{java_arches}
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- java-1.8.0-openjdk-portable
ExclusiveArch: %{java_arches}
- java-11-openjdk
ExclusiveArch: %{java_arches}
- java-11-openjdk-portable
ExclusiveArch: %{java_arches}
- java-17-openjdk
ExclusiveArch: %{java_arches}
- java-17-openjdk-portable
ExclusiveArch: %{java_arches}
- java-diff-utils
ExclusiveArch: %{java_arches} noarch
- java-dirq
ExclusiveArch: %{java_arches} noarch
- java-jd-decompiler
ExclusiveArch: %{java_arches} noarch
- java-latest-openjdk
ExclusiveArch: %{java_arches}
- java-latest-openjdk-portable
ExclusiveArch: %{java_arches}
- java-runtime-decompiler
ExclusiveArch: %{java_arches} noarch
- java-scrypt
ExclusiveArch: %{java_arches} noarch
- java_cup
ExclusiveArch: %{java_arches} noarch
- javacc
ExclusiveArch: %{java_arches} noarch
- javacc-maven-plugin
ExclusiveArch: %{java_arches} noarch
- javaewah
ExclusiveArch: %{java_arches} noarch
- javapackages-bootstrap
ExclusiveArch: %{java_arches} noarch
- javaparser
ExclusiveArch: %{java_arches} noarch
- javapoet
ExclusiveArch: %{java_arches} noarch
- javassist
ExclusiveArch: %{java_arches} noarch
- jaxb
ExclusiveArch: %{java_arches} noarch
- jaxb-api
ExclusiveArch: %{java_arches} noarch
- jaxb-api2
ExclusiveArch: %{java_arches} noarch
- jaxb-dtd-parser
ExclusiveArch: %{java_arches} noarch
- jaxb-fi
ExclusiveArch: %{java_arches} noarch
- jaxb-istack-commons
ExclusiveArch: %{java_arches} noarch
- jaxb-stax-ex
ExclusiveArch: %{java_arches} noarch
- jaxen
ExclusiveArch: %{java_arches} noarch
- jboss-jaxrs-2.0-api
ExclusiveArch: %{java_arches} noarch
- jboss-logging
ExclusiveArch: %{java_arches} noarch
- jboss-logging-tools
ExclusiveArch: %{java_arches} noarch
- jboss-parent
ExclusiveArch: %{java_arches} noarch
- jchardet
ExclusiveArch: %{java_arches} noarch
- jcip-annotations
ExclusiveArch: %{java_arches} noarch
- jcommon
ExclusiveArch: %{java_arches} noarch
- jcommon-serializer
ExclusiveArch: %{java_arches} noarch
- jctools
ExclusiveArch: %{java_arches} noarch
- jcuber
ExclusiveArch: %{java_arches} noarch
- jdeparser
ExclusiveArch: %{java_arches} noarch
- jdepend
ExclusiveArch: %{java_arches} noarch
- jdependency
ExclusiveArch: %{java_arches} noarch
- jdom
ExclusiveArch: %{java_arches} noarch
- jdom2
ExclusiveArch: %{java_arches} noarch
- jericho-html
ExclusiveArch: %{java_arches} noarch
- jetty
ExclusiveArch: %{java_arches} noarch
- jflex
ExclusiveArch: %{java_arches} noarch
- jfreechart
ExclusiveArch: %{java_arches} noarch
- jgit
ExclusiveArch: %{java_arches} noarch
- jglobus
ExclusiveArch: %{java_arches} noarch
- jgoodies-common
ExclusiveArch: %{java_arches} noarch
- jgoodies-forms
ExclusiveArch: %{java_arches} noarch
- jgoodies-looks
ExclusiveArch: %{java_arches} noarch
- jigawatts
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- jline
ExclusiveArch: %{java_arches} noarch
- jline2
ExclusiveArch: %{java_arches} noarch
- jmock
ExclusiveArch: %{java_arches} noarch
- jmol
ExclusiveArch: %{java_arches} noarch
- jna
ExclusiveArch: %{java_arches}
- jneuroml-core
ExclusiveArch: %{java_arches} noarch
- jni-inchi
ExclusiveArch: %{java_arches}
- jol
ExclusiveArch: %{java_arches} noarch
- jolokia-jvm-agent
ExclusiveArch: %{java_arches} noarch
- joni
ExclusiveArch: %{java_arches} noarch
- jopt-simple
ExclusiveArch: %{java_arches} noarch
- jorbis
ExclusiveArch: %{java_arches} noarch
- jowl
ExclusiveArch: %{nodejs_arches} noarch
- jpanoramamaker
ExclusiveArch: %{java_arches} noarch
- jpcap
ExclusiveArch: %java_arches
- jsch
ExclusiveArch: %{java_arches} noarch
- jsch-agent-proxy
ExclusiveArch: %{java_arches} noarch
- json_simple
ExclusiveArch: %{java_arches} noarch
- jsr-305
ExclusiveArch: %{java_arches} noarch
- jss
ExclusiveArch: %{java_arches}
- jssc
ExclusiveArch: %{java_arches}
- jtidy
ExclusiveArch: %{java_arches} noarch
- junit
ExclusiveArch: %{java_arches} noarch
- junit5
ExclusiveArch: %{java_arches} noarch
- juniversalchardet
ExclusiveArch: %{java_arches} noarch
- jzlib
ExclusiveArch: %{java_arches} noarch
- kchmviewer
ExclusiveArch: %{qt5_qtwebengine_arches}
- kernel
ExclusiveArch: noarch x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- keylime-agent-rust
ExclusiveArch: %{rust_arches}
- keyring-ima-signer
ExclusiveArch: %{rust_arches}
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-audiocd-kio
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kalarmcal
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kblog
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarcore
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarutils
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kitinerary
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kicad
ExclusiveArch: x86_64 aarch64 ppc64le
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- knotes
ExclusiveArch: x86_64 %{arm}
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- laf-plugin
ExclusiveArch: %{java_arches} noarch
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- ldapjdk
ExclusiveArch: %{java_arches} noarch
- ldc
ExclusiveArch: %{ldc_arches} ppc64le
- libbase
ExclusiveArch: %{java_arches} noarch
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x x86_64
- libdispatch
ExclusiveArch: x86_64 aarch64 ppc64le
- libfonts
ExclusiveArch: %{java_arches} noarch
- libformula
ExclusiveArch: %{java_arches} noarch
- libguestfs
ExclusiveArch: %{kernel_arches}
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkgapi
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- libkrun
ExclusiveArch: x86_64 aarch64
- libkrunfw
ExclusiveArch: x86_64 aarch64
- liblayout
ExclusiveArch: %{java_arches} noarch
- libloader
ExclusiveArch: %{java_arches} noarch
- libnxz
ExclusiveArch: ppc64le
- libocxl
ExclusiveArch: ppc64le
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libreoffice-TexMaths
ExclusiveArch: %{java_arches}
- librepository
ExclusiveArch: %{java_arches} noarch
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libserializer
ExclusiveArch: %{java_arches} noarch
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunicode
ExclusiveArch: x86_64 aarch64
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvirt-java
ExclusiveArch: %{java_arches} noarch
- libvma
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzdnn
ExclusiveArch: s390x
- libzfcphbaapi
ExclusiveArch: s390 s390x
- libzpc
ExclusiveArch: s390x
- llhttp
ExclusiveArch: %{nodejs_arches}
- log4j
ExclusiveArch: %{java_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- lucene
ExclusiveArch: %{java_arches} noarch
- lujavrite
ExclusiveArch: %{java_arches}
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- magicmirror
ExclusiveArch: %{nodejs_arches} noarch
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mariadb-java-client
ExclusiveArch: %{java_arches} noarch
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matreshka
ExclusiveArch: %GPRbuild_arches
- maui-mauikit
ExclusiveArch: %{ix86} s390x aarch64 x86_64
- maven
ExclusiveArch: %{java_arches} noarch
- maven-antrun-plugin
ExclusiveArch: %{java_arches} noarch
- maven-archetype
ExclusiveArch: %{java_arches} noarch
- maven-archiver
ExclusiveArch: %{java_arches} noarch
- maven-artifact-transfer
ExclusiveArch: %{java_arches} noarch
- maven-assembly-plugin
ExclusiveArch: %{java_arches} noarch
- maven-clean-plugin
ExclusiveArch: %{java_arches} noarch
- maven-common-artifact-filters
ExclusiveArch: %{java_arches} noarch
- maven-compiler-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-analyzer
ExclusiveArch: %{java_arches} noarch
- maven-dependency-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-tree
ExclusiveArch: %{java_arches} noarch
- maven-doxia
ExclusiveArch: %{java_arches} noarch
- maven-doxia-sitetools
ExclusiveArch: %{java_arches} noarch
- maven-enforcer
ExclusiveArch: %{java_arches} noarch
- maven-file-management
ExclusiveArch: %{java_arches} noarch
- maven-filtering
ExclusiveArch: %{java_arches} noarch
- maven-invoker
ExclusiveArch: %{java_arches} noarch
- maven-invoker-plugin
ExclusiveArch: %{java_arches} noarch
- maven-jar-plugin
ExclusiveArch: %{java_arches} noarch
- maven-mapping
ExclusiveArch: %{java_arches} noarch
- maven-native
ExclusiveArch: %{java_arches} noarch
- maven-parent
ExclusiveArch: %{java_arches} noarch
- maven-patch-plugin
ExclusiveArch: %{java_arches} noarch
- maven-plugin-build-helper
ExclusiveArch: %{java_arches} noarch
- maven-plugin-bundle
ExclusiveArch: %{java_arches} noarch
- maven-plugin-testing
ExclusiveArch: %{java_arches} noarch
- maven-plugin-tools
ExclusiveArch: %{java_arches} noarch
- maven-remote-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-reporting-api
ExclusiveArch: %{java_arches} noarch
- maven-reporting-impl
ExclusiveArch: %{java_arches} noarch
- maven-resolver
ExclusiveArch: %{java_arches} noarch
- maven-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-script-interpreter
ExclusiveArch: %{java_arches} noarch
- maven-shade-plugin
ExclusiveArch: %{java_arches} noarch
- maven-shared-incremental
ExclusiveArch: %{java_arches} noarch
- maven-shared-io
ExclusiveArch: %{java_arches} noarch
- maven-shared-utils
ExclusiveArch: %{java_arches} noarch
- maven-source-plugin
ExclusiveArch: %{java_arches} noarch
- maven-surefire
ExclusiveArch: %{java_arches} noarch
- maven-verifier
ExclusiveArch: %{java_arches} noarch
- maven-verifier-plugin
ExclusiveArch: %{java_arches} noarch
- maven-wagon
ExclusiveArch: %{java_arches} noarch
- maven2
ExclusiveArch: %{java_arches} noarch
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mcrouter
ExclusiveArch: x86_64 aarch64 ppc64le
- mecab-java
ExclusiveArch: %java_arches
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- memtest86+
ExclusiveArch: %{ix86} x86_64
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64
- miglayout
ExclusiveArch: %{java_arches} noarch
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-libidn2
ExclusiveArch: %{ix86} x86_64 %{arm}
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mirrorlist-server
ExclusiveArch: %{rust_arches}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- moby-engine
ExclusiveArch: %{golang_arches}
- mockito
ExclusiveArch: %{java_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- modello
ExclusiveArch: %{java_arches} noarch
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- modulemaker-maven-plugin
ExclusiveArch: %{java_arches} noarch
- mojo-executor
ExclusiveArch: %{java_arches} noarch
- mojo-parent
ExclusiveArch: %{java_arches} noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64 %{arm}
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
- mono-cecil
ExclusiveArch: %mono_arches
- mono-cecil-flowanalysis
ExclusiveArch: %mono_arches
- mono-reflection
ExclusiveArch: %mono_arches
- mono-tools
ExclusiveArch: %mono_arches
- mono-zeroconf
ExclusiveArch: %mono_arches
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- munge-maven-plugin
ExclusiveArch: %{java_arches} noarch
- mxparser
ExclusiveArch: %{java_arches} noarch
- mysql-connector-java
ExclusiveArch: %{java_arches} noarch
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- naev
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- naga
ExclusiveArch: %{java_arches} noarch
- nant
ExclusiveArch: %mono_arches
- nativejit
ExclusiveArch: x86_64
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- nekohtml
ExclusiveArch: %{java_arches} noarch
- netavark
ExclusiveArch: %{golang_arches_future}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nispor
ExclusiveArch: %{rust_arches}
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-language-server
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nodemon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs18
ExclusiveArch: %{nodejs_arches}
- nodejs20
ExclusiveArch: %{nodejs_arches}
- nom-tam-fits
ExclusiveArch: %{java_arches} noarch
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- nuget
ExclusiveArch: %{mono_arches}
- numatop
ExclusiveArch: x86_64 ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64 ppc64le
- nwchem
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- objectweb-asm
ExclusiveArch: %{java_arches} noarch
- objenesis
ExclusiveArch: %{java_arches} noarch
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
ExclusiveArch: %{golang_arches_future}
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- oneVPL
ExclusiveArch: x86_64
- oneVPL-intel-gpu
ExclusiveArch: x86_64
- oneapi-level-zero
ExclusiveArch: x86_64
- onednn
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- onedrive
ExclusiveArch: %{ldc_arches}
- ongres-scram
ExclusiveArch: %{java_arches} noarch
- ongres-stringprep
ExclusiveArch: %{java_arches} noarch
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64 aarch64
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjdk-asmtools
ExclusiveArch: %{java_arches} noarch
- openjdk-asmtools7
ExclusiveArch: %{java_arches} noarch
- openjfx
ExclusiveArch: %{java_arches}
- openjfx8
ExclusiveArch: x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openms
ExclusiveArch: %{qt5_qtwebengine_arches}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openpgl
ExclusiveArch: x86_64
- openssl-ibmca
ExclusiveArch: s390 s390x
- openstack-java-sdk
ExclusiveArch: %{java_arches} noarch
- opentest4j
ExclusiveArch: %{java_arches} noarch
- options
ExclusiveArch: %{java_arches} noarch
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- osgi-annotation
ExclusiveArch: %{java_arches} noarch
- osgi-compendium
ExclusiveArch: %{java_arches} noarch
- osgi-core
ExclusiveArch: %{java_arches} noarch
- pacemaker
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64 %{arm}
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- paflib
ExclusiveArch: ppc %{power64}
- pageedit
ExclusiveArch: %{qt5_qtwebengine_arches}
- parsec
ExclusiveArch: %{rust_arches}
- parsec-tool
ExclusiveArch: %{rust_arches}
- parserng
ExclusiveArch: %{java_arches} noarch
- pasdoc
ExclusiveArch: %{fpc_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcfi
ExclusiveArch: %{java_arches} noarch
- pcm
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdbg
ExclusiveArch: ppc64le
- pdfbox
ExclusiveArch: %{java_arches} noarch
- pdfmod
ExclusiveArch: %mono_arches
- pdftk-java
ExclusiveArch: %{java_arches} noarch
- pentaho-libxml
ExclusiveArch: %{java_arches} noarch
- pentaho-reporting-flow-engine
ExclusiveArch: %{java_arches} noarch
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm}
- pesign-test-app
ExclusiveArch: x86_64
- picocli
ExclusiveArch: %{java_arches} noarch
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- plantuml
ExclusiveArch: %{java_arches} noarch
- plasma-dialer
ExclusiveArch: %{java_arches}
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- plexus-active-collections
ExclusiveArch: %{java_arches} noarch
- plexus-archiver
ExclusiveArch: %{java_arches} noarch
- plexus-build-api
ExclusiveArch: %{java_arches} noarch
- plexus-cipher
ExclusiveArch: %{java_arches} noarch
- plexus-classworlds
ExclusiveArch: %{java_arches} noarch
- plexus-compiler
ExclusiveArch: %{java_arches} noarch
- plexus-component-api
ExclusiveArch: %{java_arches} noarch
- plexus-components-pom
ExclusiveArch: %{java_arches} noarch
- plexus-containers
ExclusiveArch: %{java_arches} noarch
- plexus-i18n
ExclusiveArch: %{java_arches} noarch
- plexus-interpolation
ExclusiveArch: %{java_arches} noarch
- plexus-io
ExclusiveArch: %{java_arches} noarch
- plexus-languages
ExclusiveArch: %{java_arches} noarch
- plexus-pom
ExclusiveArch: %{java_arches} noarch
- plexus-resources
ExclusiveArch: %{java_arches} noarch
- plexus-sec-dispatcher
ExclusiveArch: %{java_arches} noarch
- plexus-utils
ExclusiveArch: %{java_arches} noarch
- plexus-velocity
ExclusiveArch: %{java_arches} noarch
- podman
ExclusiveArch: %{golang_arches_future}
- pomchecker
ExclusiveArch: %{java_arches} noarch
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- postgresql-jdbc
ExclusiveArch: %{java_arches} noarch
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- procyon
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
- proguard
ExclusiveArch: %{java_arches} noarch
- prometheus-jmx-exporter
ExclusiveArch: %{java_arches} noarch
- prometheus-simpleclient-java
ExclusiveArch: %{java_arches} noarch
- proxygen
ExclusiveArch: x86_64 aarch64 ppc64le
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: x86_64
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-ast-monitor
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- python-cryptography
ExclusiveArch: %{rust_arches}
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-javaobj
ExclusiveArch: %{java_arches} noarch
- python-jep
ExclusiveArch: %{java_arches}
- python-jupyter-polymake
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-setuptools-rust
ExclusiveArch: %{rust_arches}
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qatzip
ExclusiveArch: x86_64
- qbe
ExclusiveArch: x86_64 aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qdox
ExclusiveArch: %{java_arches} noarch
- qemu-sanity-check
ExclusiveArch: %{kernel_arches}
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt6-qtwebengine
ExclusiveArch: aarch64 x86_64
- qt6-qtwebview
ExclusiveArch: aarch64 x86_64
- quantum-espresso
ExclusiveArch: x86_64 %{ix86} aarch64 %{power64}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rEFInd
ExclusiveArch: %{efi}
- rachota
ExclusiveArch: %{java_arches} noarch
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- reflections
ExclusiveArch: %{java_arches} noarch
- reg
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- regexp
ExclusiveArch: %{java_arches} noarch
- replacer
ExclusiveArch: %{java_arches} noarch
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- rescene
ExclusiveArch: %{mono_arches}
- resteasy
ExclusiveArch: %{java_arches} noarch
- restool
ExclusiveArch: aarch64
- restsharp
ExclusiveArch: %{mono_arches}
- retsnoop
ExclusiveArch: %{rust_arches}
- rhino
ExclusiveArch: %{java_arches} noarch
- river
ExclusiveArch: %{zig_arches}
- rkcommon
ExclusiveArch: x86_64 aarch64
- rocm-compilersupport
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-device-libs
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-opencl
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-runtime
ExclusiveArch: x86_64 aarch64 ppc64le
- rocminfo
ExclusiveArch: x86_64 aarch64 ppc64le
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64 aarch64
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- rstudio
ExclusiveArch: %{java_arches}
- rsyntaxtextarea
ExclusiveArch: %{java_arches} noarch
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{golang_arches}
- rundoc
ExclusiveArch: %{java_arches} noarch
- rust
ExclusiveArch: %{rust_arches}
- rust-Inflector
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-codec
ExclusiveArch: %{rust_arches}
- rust-actix-macros
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-actix-service
ExclusiveArch: %{rust_arches}
- rust-actix-tls
ExclusiveArch: %{rust_arches}
- rust-actix-web-codegen
ExclusiveArch: %{rust_arches}
- rust-actix_derive
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-aead
ExclusiveArch: %{rust_arches}
- rust-aes-gcm
ExclusiveArch: %{rust_arches}
- rust-aes0.7
ExclusiveArch: %{rust_arches}
- rust-afterburn
ExclusiveArch: %{rust_arches}
- rust-ahash0.4
ExclusiveArch: %{rust_arches}
- rust-alacritty
ExclusiveArch: %{rust_arches}
- rust-alacritty_config_derive
ExclusiveArch: %{rust_arches}
- rust-alacritty_terminal
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-aliasable
ExclusiveArch: %{rust_arches}
- rust-alloc-no-stdlib
ExclusiveArch: %{rust_arches}
- rust-alloc-stdlib
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-ansi_term0.11
ExclusiveArch: %{rust_arches}
- rust-aparato
ExclusiveArch: %{rust_arches}
- rust-app_dirs
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-arbitrary0.4
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-argmax
ExclusiveArch: %{rust_arches}
- rust-argparse
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-arrayvec0.5
ExclusiveArch: %{rust_arches}
- rust-ascii
ExclusiveArch: %{rust_arches}
- rust-ascii-canvas
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-askama
ExclusiveArch: %{rust_arches}
- rust-askama_derive
ExclusiveArch: %{rust_arches}
- rust-askama_escape
ExclusiveArch: %{rust_arches}
- rust-askama_shared
ExclusiveArch: %{rust_arches}
- rust-assert-impl
ExclusiveArch: %{rust_arches}
- rust-assert-json-diff
ExclusiveArch: %{rust_arches}
- rust-assert_approx_eq
ExclusiveArch: %{rust_arches}
- rust-assert_matches
ExclusiveArch: %{rust_arches}
- rust-async-attributes
ExclusiveArch: %{rust_arches}
- rust-async-mutex
ExclusiveArch: %{rust_arches}
- rust-async-std
ExclusiveArch: %{rust_arches}
- rust-async-task
ExclusiveArch: %{rust_arches}
- rust-asyncgit
ExclusiveArch: %{rust_arches}
- rust-atom
ExclusiveArch: %{rust_arches}
- rust-atomic
ExclusiveArch: %{rust_arches}
- rust-atomic-traits
ExclusiveArch: %{rust_arches}
- rust-atomic-waker
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-aws-nitro-enclaves-cose
ExclusiveArch: %{rust_arches}
- rust-az
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-base-x
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-benfred-read-process-memory
ExclusiveArch: %{rust_arches}
- rust-binascii
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bitfield
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-blobby0.1
ExclusiveArch: %{rust_arches}
- rust-block-buffer
ExclusiveArch: %{rust_arches}
- rust-block-buffer0.9
ExclusiveArch: %{rust_arches}
- rust-block-modes
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-block-padding0.2
ExclusiveArch: %{rust_arches}
- rust-blsctl
ExclusiveArch: %{rust_arches}
- rust-bodhi
ExclusiveArch: %{rust_arches}
- rust-bodhi-cli
ExclusiveArch: %{rust_arches}
- rust-bootupd
ExclusiveArch: x86_64 aarch64
- rust-box_drawing
ExclusiveArch: %{rust_arches}
- rust-boxfnonce
ExclusiveArch: %{rust_arches}
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-btrd
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-bugreport
ExclusiveArch: %{rust_arches}
- rust-byte-unit3
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes-cast
ExclusiveArch: %{rust_arches}
- rust-bytes-cast-derive
ExclusiveArch: %{rust_arches}
- rust-bytes0.4
ExclusiveArch: %{rust_arches}
- rust-bytes0.5
ExclusiveArch: %{rust_arches}
- rust-bzip2-sys
ExclusiveArch: %{rust_arches}
- rust-cache-padded
ExclusiveArch: %{rust_arches}
- rust-calloop
ExclusiveArch: %{rust_arches}
- rust-cap
ExclusiveArch: %{rust_arches}
- rust-capng
ExclusiveArch: %{rust_arches}
- rust-capnp-futures
ExclusiveArch: %{rust_arches}
- rust-capnp-rpc
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cargo-c
ExclusiveArch: %{rust_arches}
- rust-cargo-husky
ExclusiveArch: %{rust_arches}
- rust-cargo-insta
ExclusiveArch: %{rust_arches}
- rust-cargo-manifest
ExclusiveArch: %{rust_arches}
- rust-cargo-platform
ExclusiveArch: %{rust_arches}
- rust-cargo-readme
ExclusiveArch: %{rust_arches}
- rust-cascade
ExclusiveArch: %{rust_arches}
- rust-cassowary
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cdylib-link-lines
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfb
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-cfg-if0.1
ExclusiveArch: %{rust_arches}
- rust-chainerror
ExclusiveArch: %{rust_arches}
- rust-charset
ExclusiveArch: %{rust_arches}
- rust-choosier
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-ciborium
ExclusiveArch: %{rust_arches}
- rust-ciborium-io
ExclusiveArch: %{rust_arches}
- rust-ciborium-ll
ExclusiveArch: %{rust_arches}
- rust-cint
ExclusiveArch: %{rust_arches}
- rust-cipher
ExclusiveArch: %{rust_arches}
- rust-cipher0.3
ExclusiveArch: %{rust_arches}
- rust-clap-verbosity-flag
ExclusiveArch: %{rust_arches}
- rust-clap2
ExclusiveArch: %{rust_arches}
- rust-clap_generate
ExclusiveArch: %{rust_arches}
- rust-clap_generate_fig
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-clircle
ExclusiveArch: %{rust_arches}
- rust-codespan-reporting
ExclusiveArch: %{rust_arches}
- rust-codicon
ExclusiveArch: %{rust_arches}
- rust-color-backtrace
ExclusiveArch: %{rust_arches}
- rust-color_quant
ExclusiveArch: %{rust_arches}
- rust-colored
ExclusiveArch: %{rust_arches}
- rust-colored1
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-combine
ExclusiveArch: %{rust_arches}
- rust-comfy-table
ExclusiveArch: %{rust_arches}
- rust-compress-tools
ExclusiveArch: %{rust_arches}
- rust-configparser
ExclusiveArch: %{rust_arches}
- rust-confy
ExclusiveArch: %{rust_arches}
- rust-conhash
ExclusiveArch: %{rust_arches}
- rust-console0.11
ExclusiveArch: %{rust_arches}
- rust-console0.12
ExclusiveArch: %{rust_arches}
- rust-console0.13
ExclusiveArch: %{rust_arches}
- rust-console0.14
ExclusiveArch: %{rust_arches}
- rust-console0.9
ExclusiveArch: %{rust_arches}
- rust-const-cstr
ExclusiveArch: %{rust_arches}
- rust-const-oid0.6
ExclusiveArch: %{rust_arches}
- rust-const_fn
ExclusiveArch: %{rust_arches}
- rust-constant_time_eq
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-cookie
ExclusiveArch: %{rust_arches}
- rust-cookie-factory
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-coolor
ExclusiveArch: %{rust_arches}
- rust-copydeps
ExclusiveArch: %{rust_arches}
- rust-copypasta
ExclusiveArch: %{rust_arches}
- rust-cordic
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-count-zeroes
ExclusiveArch: %{rust_arches}
- rust-cpio
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-cpufeatures
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel0.4
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch0.8
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue0.2
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam0.7
ExclusiveArch: %{rust_arches}
- rust-crossfont
ExclusiveArch: %{rust_arches}
- rust-crossterm0.17
ExclusiveArch: %{rust_arches}
- rust-crossterm0.19
ExclusiveArch: %{rust_arches}
- rust-crosstermion
ExclusiveArch: %{rust_arches}
- rust-crunchy
ExclusiveArch: %{rust_arches}
- rust-crypto-bigint
ExclusiveArch: %{rust_arches}
- rust-crypto-common
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-crypto-mac
ExclusiveArch: %{rust_arches}
- rust-cryptoki
ExclusiveArch: %{rust_arches}
- rust-cryptoki-sys
ExclusiveArch: %{rust_arches}
- rust-csscolorparser
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ct-logs
ExclusiveArch: %{rust_arches}
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-ctr0.8
ExclusiveArch: %{rust_arches}
- rust-cty
ExclusiveArch: %{rust_arches}
- rust-cursive-tabs
ExclusiveArch: %{rust_arches}
- rust-custom_error
ExclusiveArch: %{rust_arches}
- rust-daemonize
ExclusiveArch: %{rust_arches}
- rust-darling0.12
ExclusiveArch: %{rust_arches}
- rust-darling_core0.12
ExclusiveArch: %{rust_arches}
- rust-darling_macro0.12
ExclusiveArch: %{rust_arches}
- rust-dashmap4
ExclusiveArch: %{rust_arches}
- rust-data-encoding-macro
ExclusiveArch: %{rust_arches}
- rust-data-encoding-macro-internal
ExclusiveArch: %{rust_arches}
- rust-data-url
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dav1d-sys
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-dbus-codegen
ExclusiveArch: %{rust_arches}
- rust-dbus-crossroads
ExclusiveArch: %{rust_arches}
- rust-dbus-tree
ExclusiveArch: %{rust_arches}
- rust-dbus0.8
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-deflate0.8
ExclusiveArch: %{rust_arches}
- rust-deltae
ExclusiveArch: %{rust_arches}
- rust-der
ExclusiveArch: %{rust_arches}
- rust-der_derive
ExclusiveArch: %{rust_arches}
- rust-derivative
ExclusiveArch: %{rust_arches}
- rust-derive-new
ExclusiveArch: %{rust_arches}
- rust-derive_arbitrary0.4
ExclusiveArch: %{rust_arches}
- rust-derive_builder0.9
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core0.9
ExclusiveArch: %{rust_arches}
- rust-derive_more
ExclusiveArch: %{rust_arches}
- rust-des
ExclusiveArch: %{rust_arches}
- rust-des0.7
ExclusiveArch: %{rust_arches}
- rust-desed
ExclusiveArch: %{rust_arches}
- rust-diesel
ExclusiveArch: %{rust_arches}
- rust-diesel_derives
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-difflib
ExclusiveArch: %{rust_arches}
- rust-digest0.9
ExclusiveArch: %{rust_arches}
- rust-digest_auth
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-directories-next
ExclusiveArch: %{rust_arches}
- rust-directories3
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-dirs-next
ExclusiveArch: %{rust_arches}
- rust-dirs-sys
ExclusiveArch: %{rust_arches}
- rust-dirs-sys-next
ExclusiveArch: %{rust_arches}
- rust-dirs2
ExclusiveArch: %{rust_arches}
- rust-dirs3
ExclusiveArch: %{rust_arches}
- rust-diskonaut
ExclusiveArch: %{rust_arches}
- rust-displaydoc
ExclusiveArch: %{rust_arches}
- rust-dlib
ExclusiveArch: %{rust_arches}
- rust-dns-lookup
ExclusiveArch: %{rust_arches}
- rust-doc-comment
ExclusiveArch: %{rust_arches}
- rust-docmatic
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-dotenv
ExclusiveArch: %{rust_arches}
- rust-downcast
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-drg
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-dua-cli
ExclusiveArch: %{rust_arches}
- rust-duct
ExclusiveArch: %{rust_arches}
- rust-duct_sh
ExclusiveArch: %{rust_arches}
- rust-dummy
ExclusiveArch: %{rust_arches}
- rust-dunce
ExclusiveArch: %{rust_arches}
- rust-dutree
ExclusiveArch: %{rust_arches}
- rust-easy-cast
ExclusiveArch: %{rust_arches}
- rust-easy-parallel
ExclusiveArch: %{rust_arches}
- rust-edit
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-elf
ExclusiveArch: %{rust_arches}
- rust-elfcat
ExclusiveArch: %{rust_arches}
- rust-email-encoding
ExclusiveArch: %{rust_arches}
- rust-encode_unicode
ExclusiveArch: %{rust_arches}
- rust-encoding
ExclusiveArch: %{rust_arches}
- rust-encoding-index-japanese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-korean
ExclusiveArch: %{rust_arches}
- rust-encoding-index-simpchinese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-singlebyte
ExclusiveArch: %{rust_arches}
- rust-encoding-index-tradchinese
ExclusiveArch: %{rust_arches}
- rust-encoding_index_tests
ExclusiveArch: %{rust_arches}
- rust-encoding_rs_io
ExclusiveArch: %{rust_arches}
- rust-endian-type
ExclusiveArch: %{rust_arches}
- rust-enquote
ExclusiveArch: %{rust_arches}
- rust-entities
ExclusiveArch: %{rust_arches}
- rust-enum-iterator
ExclusiveArch: %{rust_arches}
- rust-enum-iterator-derive
ExclusiveArch: %{rust_arches}
- rust-enumflags2
ExclusiveArch: %{rust_arches}
- rust-enumflags2_0.6
ExclusiveArch: %{rust_arches}
- rust-enumflags2_derive
ExclusiveArch: %{rust_arches}
- rust-enumflags2_derive0.6
ExclusiveArch: %{rust_arches}
- rust-enumset
ExclusiveArch: %{rust_arches}
- rust-enumset_derive
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-env_logger0.5
ExclusiveArch: %{rust_arches}
- rust-env_logger0.6
ExclusiveArch: %{rust_arches}
- rust-env_logger0.7
ExclusiveArch: %{rust_arches}
- rust-env_logger0.8
ExclusiveArch: %{rust_arches}
- rust-env_proxy
ExclusiveArch: %{rust_arches}
- rust-environment
ExclusiveArch: %{rust_arches}
- rust-err-derive
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-escape_string
ExclusiveArch: %{rust_arches}
- rust-escargot
ExclusiveArch: %{rust_arches}
- rust-esphome
ExclusiveArch: %{rust_arches}
- rust-ethtool
ExclusiveArch: %{rust_arches}
- rust-event-listener
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-executable-path
ExclusiveArch: %{rust_arches}
- rust-exitcode
ExclusiveArch: %{rust_arches}
- rust-exitfailure
ExclusiveArch: %{rust_arches}
- rust-expat-sys
ExclusiveArch: %{rust_arches}
- rust-eyre
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fallible-streaming-iterator
ExclusiveArch: %{rust_arches}
- rust-fedora
ExclusiveArch: %{rust_arches}
- rust-fedora-update-feedback
ExclusiveArch: %{rust_arches}
- rust-femme
ExclusiveArch: %{rust_arches}
- rust-fern
ExclusiveArch: %{rust_arches}
- rust-field-offset
ExclusiveArch: %{rust_arches}
- rust-filedescriptor
ExclusiveArch: %{rust_arches}
- rust-filesize
ExclusiveArch: %{rust_arches}
- rust-filetreelist
ExclusiveArch: %{rust_arches}
- rust-find-crate
ExclusiveArch: %{rust_arches}
- rust-findshlibs
ExclusiveArch: %{rust_arches}
- rust-firestorm
ExclusiveArch: %{rust_arches}
- rust-fixed
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-fixedbitset0.2
ExclusiveArch: %{rust_arches}
- rust-flate2
ExclusiveArch: %{rust_arches}
- rust-float-cmp
ExclusiveArch: %{rust_arches}
- rust-float-ord
ExclusiveArch: %{rust_arches}
- rust-fluent
ExclusiveArch: %{rust_arches}
- rust-flume
ExclusiveArch: %{rust_arches}
- rust-fn-error-context
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-font-kit
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-macros
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared0.1
ExclusiveArch: %{rust_arches}
- rust-foreign-types0.3
ExclusiveArch: %{rust_arches}
- rust-format-bytes
ExclusiveArch: %{rust_arches}
- rust-format-bytes-macros
ExclusiveArch: %{rust_arches}
- rust-freetype
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fscommon
ExclusiveArch: %{rust_arches}
- rust-fslock
ExclusiveArch: %{rust_arches}
- rust-futf
ExclusiveArch: %{rust_arches}
- rust-futures-cpupool
ExclusiveArch: %{rust_arches}
- rust-futures-lite
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-fuzzy-matcher
ExclusiveArch: %{rust_arches}
- rust-fxhash
ExclusiveArch: %{rust_arches}
- rust-gag
ExclusiveArch: %{rust_arches}
- rust-generic-array
ExclusiveArch: %{rust_arches}
- rust-generic-array0.12
ExclusiveArch: %{rust_arches}
- rust-genetlink
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gethostname
ExclusiveArch: %{rust_arches}
- rust-getopts
ExclusiveArch: %{rust_arches}
- rust-getrandom0.1
ExclusiveArch: %{rust_arches}
- rust-getset
ExclusiveArch: %{rust_arches}
- rust-gettext-rs
ExclusiveArch: %{rust_arches}
- rust-gettext-sys
ExclusiveArch: %{rust_arches}
- rust-gh-emoji
ExclusiveArch: %{rust_arches}
- rust-ghash
ExclusiveArch: %{rust_arches}
- rust-gif
ExclusiveArch: %{rust_arches}
- rust-gimli
ExclusiveArch: %{rust_arches}
- rust-gir-format-check
ExclusiveArch: %{rust_arches}
- rust-git-delta
ExclusiveArch: %{rust_arches}
- rust-git-version
ExclusiveArch: %{rust_arches}
- rust-git-version-macro
ExclusiveArch: %{rust_arches}
- rust-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-git2_0.13
ExclusiveArch: %{rust_arches}
- rust-gitui
ExclusiveArch: %{rust_arches}
- rust-gl_generator
ExclusiveArch: %{rust_arches}
- rust-glam
ExclusiveArch: %{rust_arches}
- rust-globset
ExclusiveArch: %{rust_arches}
- rust-globwalk
ExclusiveArch: %{rust_arches}
- rust-glutin
ExclusiveArch: %{rust_arches}
- rust-glutin_egl_sys
ExclusiveArch: %{rust_arches}
- rust-glutin_glx_sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-grep
ExclusiveArch: %{rust_arches}
- rust-grep-cli
ExclusiveArch: %{rust_arches}
- rust-grep-matcher
ExclusiveArch: %{rust_arches}
- rust-grep-pcre2
ExclusiveArch: %{rust_arches}
- rust-grep-printer
ExclusiveArch: %{rust_arches}
- rust-grep-regex
ExclusiveArch: %{rust_arches}
- rust-grep-searcher
ExclusiveArch: %{rust_arches}
- rust-gstreamer
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest2
ExclusiveArch: %{rust_arches}
- rust-hamming
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown0.11
ExclusiveArch: %{rust_arches}
- rust-hashbrown0.9
ExclusiveArch: %{rust_arches}
- rust-hashlink
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-headers-core
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-heatseeker
ExclusiveArch: %{rust_arches}
- rust-heck0.3
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
ExclusiveArch: %{rust_arches}
- rust-hex-literal0.2
ExclusiveArch: %{rust_arches}
- rust-hexyl
ExclusiveArch: %{rust_arches}
- rust-hidapi
ExclusiveArch: %{rust_arches}
- rust-hkdf
ExclusiveArch: %{rust_arches}
- rust-hkdf0.11
ExclusiveArch: %{rust_arches}
- rust-hmac
ExclusiveArch: %{rust_arches}
- rust-hmac0.11
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-hostname
ExclusiveArch: %{rust_arches}
- rust-hostname-validator
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-httpdate
ExclusiveArch: %{rust_arches}
- rust-human-sort
ExclusiveArch: %{rust_arches}
- rust-humansize
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-humantime-serde
ExclusiveArch: %{rust_arches}
- rust-humantime1
ExclusiveArch: %{rust_arches}
- rust-hyper-rustls
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyperfine
ExclusiveArch: %{rust_arches}
- rust-hyperlocal
ExclusiveArch: %{rust_arches}
- rust-i18n-config
ExclusiveArch: %{rust_arches}
- rust-i18n-embed-fl
ExclusiveArch: %{rust_arches}
- rust-i18n-embed-impl
ExclusiveArch: %{rust_arches}
- rust-i3ipc
ExclusiveArch: %{rust_arches}
- rust-iai
ExclusiveArch: %{rust_arches}
- rust-ident_case
ExclusiveArch: %{rust_arches}
- rust-idna0.1
ExclusiveArch: %{rust_arches}
- rust-ifcfg-devname
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-im-rc
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-image0.23
ExclusiveArch: %{rust_arches}
- rust-impls
ExclusiveArch: %{rust_arches}
- rust-indenter
ExclusiveArch: %{rust_arches}
- rust-indicatif0.15
ExclusiveArch: %{rust_arches}
- rust-infer
ExclusiveArch: %{rust_arches}
- rust-inferno
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-inlinable_string
ExclusiveArch: %{rust_arches}
- rust-inotify
ExclusiveArch: %{rust_arches}
- rust-inotify-sys
ExclusiveArch: %{rust_arches}
- rust-inout
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-insta
ExclusiveArch: %{rust_arches}
- rust-instant
ExclusiveArch: %{rust_arches}
- rust-interpolate_name
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-intl-memoizer
ExclusiveArch: %{rust_arches}
- rust-invalidstring
ExclusiveArch: %{rust_arches}
- rust-inventory-impl
ExclusiveArch: %{rust_arches}
- rust-inventory0.1
ExclusiveArch: %{rust_arches}
- rust-iocuddle
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-ipnetwork0.17
ExclusiveArch: %{rust_arches}
- rust-is_ci
ExclusiveArch: %{rust_arches}
- rust-is_debug
ExclusiveArch: %{rust_arches}
- rust-is_executable
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itertools0.8
ExclusiveArch: %{rust_arches}
- rust-itertools0.9
ExclusiveArch: %{rust_arches}
- rust-itoa0.4
ExclusiveArch: %{rust_arches}
- rust-ivf
ExclusiveArch: %{rust_arches}
- rust-josekit
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder0.1
ExclusiveArch: %{rust_arches}
- rust-json
ExclusiveArch: %{rust_arches}
- rust-json5
ExclusiveArch: %{rust_arches}
- rust-k9
ExclusiveArch: %{rust_arches}
- rust-khronos_api
ExclusiveArch: %{rust_arches}
- rust-konst
ExclusiveArch: %{rust_arches}
- rust-konst_macro_rules
ExclusiveArch: %{rust_arches}
- rust-konst_proc_macros
ExclusiveArch: %{rust_arches}
- rust-krunvm
ExclusiveArch: x86_64 aarch64
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kv-log-macro
ExclusiveArch: %{rust_arches}
- rust-kvm-bindings
ExclusiveArch: %{rust_arches}
- rust-kvm-ioctls
ExclusiveArch: x86_64 aarch64
- rust-lalrpop
ExclusiveArch: %{rust_arches}
- rust-lalrpop-util
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-lebe
ExclusiveArch: %{rust_arches}
- rust-lev_distance
ExclusiveArch: %{rust_arches}
- rust-lexiclean
ExclusiveArch: %{rust_arches}
- rust-libflate
ExclusiveArch: %{rust_arches}
- rust-libflate_lz77
ExclusiveArch: %{rust_arches}
- rust-libhandy
ExclusiveArch: %{rust_arches}
- rust-libhandy-sys
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-liboverdrop
ExclusiveArch: %{rust_arches}
- rust-libseccomp-sys
ExclusiveArch: %{rust_arches}
- rust-libslirp
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-libsodium-sys
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libxml
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-line-wrap
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-lino
ExclusiveArch: %{rust_arches}
- rust-linreg
ExclusiveArch: %{rust_arches}
- rust-linux_proc
ExclusiveArch: %{rust_arches}
- rust-lmdb
ExclusiveArch: %{rust_arches}
- rust-lmdb-sys
ExclusiveArch: %{rust_arches}
- rust-local-channel
ExclusiveArch: %{rust_arches}
- rust-local-encoding
ExclusiveArch: %{rust_arches}
- rust-local-waker
ExclusiveArch: %{rust_arches}
- rust-local_ipaddress
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-locale_config
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log-mdc
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru-cache
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-mac
ExclusiveArch: %{rust_arches}
- rust-mac_address
ExclusiveArch: %{rust_arches}
- rust-madvr_parse
ExclusiveArch: %{rust_arches}
- rust-maildir
ExclusiveArch: %{rust_arches}
- rust-mailparse
ExclusiveArch: %{rust_arches}
- rust-man
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-markup5ever
ExclusiveArch: %{rust_arches}
- rust-markup5ever_rcdom
ExclusiveArch: %{rust_arches}
- rust-match_cfg
ExclusiveArch: %{rust_arches}
- rust-matrixcompare
ExclusiveArch: %{rust_arches}
- rust-matrixcompare-core
ExclusiveArch: %{rust_arches}
- rust-matrixcompare-mock
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-maybe-uninit
ExclusiveArch: %{rust_arches}
- rust-mbox
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md-5_0.9
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-memcached-rs
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memmap2_0.3
ExclusiveArch: %{rust_arches}
- rust-memmem
ExclusiveArch: %{rust_arches}
- rust-memoffset0.5
ExclusiveArch: %{rust_arches}
- rust-micro-timer
ExclusiveArch: %{rust_arches}
- rust-micro-timer-macros
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-minimad
ExclusiveArch: %{rust_arches}
- rust-minimal-lexical
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide0.3
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio-extras
ExclusiveArch: %{rust_arches}
- rust-mio-uds
ExclusiveArch: %{rust_arches}
- rust-mio0.6
ExclusiveArch: %{rust_arches}
- rust-mio0.7
ExclusiveArch: %{rust_arches}
- rust-mockall_double
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-mptcp-pm
ExclusiveArch: %{rust_arches}
- rust-multer
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-nalgebra-macros
ExclusiveArch: %{rust_arches}
- rust-nanorand
ExclusiveArch: %{rust_arches}
- rust-nasm-rs
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-navi
ExclusiveArch: %{rust_arches}
- rust-nb-connect
ExclusiveArch: %{rust_arches}
- rust-ncurses
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-core
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-generic
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-route
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-utils
ExclusiveArch: %{rust_arches}
- rust-netlink-proto
ExclusiveArch: %{rust_arches}
- rust-netlink-sys
ExclusiveArch: %{rust_arches}
- rust-netmap_sys
ExclusiveArch: %{rust_arches}
- rust-netstat2
ExclusiveArch: %{rust_arches}
- rust-nettle
ExclusiveArch: %{rust_arches}
- rust-new_debug_unreachable
ExclusiveArch: %{rust_arches}
- rust-nix0.14
ExclusiveArch: %{rust_arches}
- rust-nix0.17
ExclusiveArch: %{rust_arches}
- rust-nix0.18
ExclusiveArch: %{rust_arches}
- rust-nix0.20
ExclusiveArch: %{rust_arches}
- rust-nix0.22
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nom4
ExclusiveArch: %{rust_arches}
- rust-nom5
ExclusiveArch: %{rust_arches}
- rust-noop_proc_macro
ExclusiveArch: %{rust_arches}
- rust-normalize-line-endings
ExclusiveArch: %{rust_arches}
- rust-nu-ansi-term
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-bigint-dig
ExclusiveArch: %{rust_arches}
- rust-num-bigint0.3
ExclusiveArch: %{rust_arches}
- rust-num-complex0.3
ExclusiveArch: %{rust_arches}
- rust-num-derive
ExclusiveArch: %{rust_arches}
- rust-num-integer
ExclusiveArch: %{rust_arches}
- rust-num-iter
ExclusiveArch: %{rust_arches}
- rust-num-rational
ExclusiveArch: %{rust_arches}
- rust-num-rational0.3
ExclusiveArch: %{rust_arches}
- rust-num-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num0.3
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-numtoa
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-oid
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-opaque-debug
ExclusiveArch: %{rust_arches}
- rust-openat
ExclusiveArch: %{rust_arches}
- rust-openat-ext
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssh-keys
ExclusiveArch: %{rust_arches}
- rust-openssl-kdf
ExclusiveArch: %{rust_arches}
- rust-openssl-macros
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-option-operations
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-ordered-float2
ExclusiveArch: %{rust_arches}
- rust-os-release
ExclusiveArch: %{rust_arches}
- rust-os_display
ExclusiveArch: %{rust_arches}
- rust-os_pipe0.9
ExclusiveArch: %{rust_arches}
- rust-os_type
ExclusiveArch: %{rust_arches}
- rust-osmesa-sys
ExclusiveArch: %{rust_arches}
- rust-overload
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-page_size
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-palette_derive
ExclusiveArch: %{rust_arches}
- rust-pam
ExclusiveArch: %{rust_arches}
- rust-pam-sys
ExclusiveArch: %{rust_arches}
- rust-paris
ExclusiveArch: %{rust_arches}
- rust-parking
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot0.11
ExclusiveArch: %{rust_arches}
- rust-parse-zoneinfo
ExclusiveArch: %{rust_arches}
- rust-parsec-client
ExclusiveArch: %{rust_arches}
- rust-parsec-interface
ExclusiveArch: %{rust_arches}
- rust-partition-identity
ExclusiveArch: %{rust_arches}
- rust-passwd
ExclusiveArch: %{rust_arches}
- rust-password-hash
ExclusiveArch: %{rust_arches}
- rust-path-slash
ExclusiveArch: %{rust_arches}
- rust-pathdiff
ExclusiveArch: %{rust_arches}
- rust-pathfinder_geometry
ExclusiveArch: %{rust_arches}
- rust-pathfinder_simd
ExclusiveArch: %{rust_arches}
- rust-pathsearch
ExclusiveArch: %{rust_arches}
- rust-pbkdf2
ExclusiveArch: %{rust_arches}
- rust-pcap
ExclusiveArch: %{rust_arches}
- rust-pcre2
ExclusiveArch: %{rust_arches}
- rust-pcre2-sys
ExclusiveArch: %{rust_arches}
- rust-peeking_take_while
ExclusiveArch: %{rust_arches}
- rust-peg
ExclusiveArch: %{rust_arches}
- rust-peg-runtime
ExclusiveArch: %{rust_arches}
- rust-pem-rfc7468
ExclusiveArch: %{rust_arches}
- rust-pem0.8
ExclusiveArch: %{rust_arches}
- rust-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-percent-encoding1
ExclusiveArch: %{rust_arches}
- rust-permutohedron
ExclusiveArch: %{rust_arches}
- rust-petgraph0.5
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.8
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.8
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.8
ExclusiveArch: %{rust_arches}
- rust-picky-asn1
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-der
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-x509
ExclusiveArch: %{rust_arches}
- rust-pico-args
ExclusiveArch: %{rust_arches}
- rust-pid
ExclusiveArch: %{rust_arches}
- rust-pin-project
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite0.1
ExclusiveArch: %{rust_arches}
- rust-pin-utils
ExclusiveArch: %{rust_arches}
- rust-pkcs1
ExclusiveArch: %{rust_arches}
- rust-pkcs5
ExclusiveArch: %{rust_arches}
- rust-pkcs8
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-platform-info
ExclusiveArch: %{rust_arches}
- rust-plotlib
ExclusiveArch: %{rust_arches}
- rust-pnet_base
ExclusiveArch: %{rust_arches}
- rust-pnet_datalink
ExclusiveArch: %{rust_arches}
- rust-pnet_sys
ExclusiveArch: %{rust_arches}
- rust-png
ExclusiveArch: %{rust_arches}
- rust-png0.16
ExclusiveArch: %{rust_arches}
- rust-polyval
ExclusiveArch: %{rust_arches}
- rust-pom
ExclusiveArch: %{rust_arches}
- rust-pq-sys
ExclusiveArch: %{rust_arches}
- rust-precomputed-hash
ExclusiveArch: %{rust_arches}
- rust-predicates1
ExclusiveArch: %{rust_arches}
- rust-pretty-bytes
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty-hex
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions0.6
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions0.7
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
ExclusiveArch: %{rust_arches}
- rust-primal-bit
ExclusiveArch: %{rust_arches}
- rust-primal-check
ExclusiveArch: %{rust_arches}
- rust-primal-estimate
ExclusiveArch: %{rust_arches}
- rust-proc-macro-crate
ExclusiveArch: %{rust_arches}
- rust-proc-macro-crate0.1
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error-attr
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.4
ExclusiveArch: %{rust_arches}
- rust-proc-maps
ExclusiveArch: %{rust_arches}
- rust-proc-mounts
ExclusiveArch: %{rust_arches}
- rust-process_control
ExclusiveArch: %{rust_arches}
- rust-procfs0.9
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-proptest0.10
ExclusiveArch: %{rust_arches}
- rust-prost
ExclusiveArch: %{rust_arches}
- rust-prost-build
ExclusiveArch: %{rust_arches}
- rust-prost-derive
ExclusiveArch: %{rust_arches}
- rust-prost-derive0.8
ExclusiveArch: %{rust_arches}
- rust-prost-types
ExclusiveArch: %{rust_arches}
- rust-prost0.8
ExclusiveArch: %{rust_arches}
- rust-protobuf
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen-pure
ExclusiveArch: %{rust_arches}
- rust-psa-crypto
ExclusiveArch: %{rust_arches}
- rust-psa-crypto-sys
ExclusiveArch: %{rust_arches}
- rust-psl-types
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-ptr_meta
ExclusiveArch: %{rust_arches}
- rust-ptr_meta_derive
ExclusiveArch: %{rust_arches}
- rust-pulse
ExclusiveArch: %{rust_arches}
- rust-pure-rust-locales
ExclusiveArch: %{rust_arches}
- rust-pwd
ExclusiveArch: %{rust_arches}
- rust-python-launcher
ExclusiveArch: %{rust_arches}
- rust-qstring
ExclusiveArch: %{rust_arches}
- rust-quantiles
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quick-error1
ExclusiveArch: %{rust_arches}
- rust-quick-xml0.22
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.9
ExclusiveArch: %{rust_arches}
- rust-quickcheck_macros
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.6
ExclusiveArch: %{rust_arches}
- rust-r2d2
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand0.6
ExclusiveArch: %{rust_arches}
- rust-rand0.7
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.1
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.2
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_core0.3
ExclusiveArch: %{rust_arches}
- rust-rand_core0.4
ExclusiveArch: %{rust_arches}
- rust-rand_core0.5
ExclusiveArch: %{rust_arches}
- rust-rand_distr
ExclusiveArch: %{rust_arches}
- rust-rand_hc
ExclusiveArch: %{rust_arches}
- rust-rand_hc0.1
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_isaac0.1
ExclusiveArch: %{rust_arches}
- rust-rand_jitter
ExclusiveArch: %{rust_arches}
- rust-rand_jitter0.1
ExclusiveArch: %{rust_arches}
- rust-rand_os
ExclusiveArch: %{rust_arches}
- rust-rand_os0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.2
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.1
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.2
ExclusiveArch: %{rust_arches}
- rust-rand_xoshiro
ExclusiveArch: %{rust_arches}
- rust-random
ExclusiveArch: %{rust_arches}
- rust-random-fast-rng
ExclusiveArch: %{rust_arches}
- rust-random-trait
ExclusiveArch: %{rust_arches}
- rust-randomize
ExclusiveArch: %{rust_arches}
- rust-rav1e
ExclusiveArch: %{rust_arches}
- rust-raw-window-handle
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rbspy
ExclusiveArch: %{rust_arches}
- rust-rbspy-ruby-structs
ExclusiveArch: %{rust_arches}
- rust-rbspy-testdata
ExclusiveArch: %{rust_arches}
- rust-rctree
ExclusiveArch: %{rust_arches}
- rust-rd-agent
ExclusiveArch: %{rust_arches}
- rust-rd-agent-intf
ExclusiveArch: %{rust_arches}
- rust-rd-hashd
ExclusiveArch: %{rust_arches}
- rust-rd-hashd-intf
ExclusiveArch: %{rust_arches}
- rust-rd-util
ExclusiveArch: %{rust_arches}
- rust-read-process-memory
ExclusiveArch: %{rust_arches}
- rust-readwrite
ExclusiveArch: %{rust_arches}
- rust-regex-automata
ExclusiveArch: %{rust_arches}
- rust-region
ExclusiveArch: %{rust_arches}
- rust-remoteprocess
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-resctl-bench
ExclusiveArch: %{rust_arches}
- rust-resctl-bench-intf
ExclusiveArch: %{rust_arches}
- rust-resctl-demo
ExclusiveArch: %{rust_arches}
- rust-resize
ExclusiveArch: %{rust_arches}
- rust-resolv-conf
ExclusiveArch: %{rust_arches}
- rust-retry
ExclusiveArch: %{rust_arches}
- rust-ring
ExclusiveArch: %{rust_arches}
- rust-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmpv
ExclusiveArch: %{rust_arches}
- rust-roff
ExclusiveArch: %{rust_arches}
- rust-ron
ExclusiveArch: %{rust_arches}
- rust-rpassword
ExclusiveArch: %{rust_arches}
- rust-rpick
ExclusiveArch: %{rust_arches}
- rust-rsa
ExclusiveArch: %{rust_arches}
- rust-rspec
ExclusiveArch: %{rust_arches}
- rust-rtnetlink
ExclusiveArch: %{rust_arches}
- rust-rusqlite
ExclusiveArch: %{rust_arches}
- rust-rustbus_derive
ExclusiveArch: %{rust_arches}
- rust-rustc-hash
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustc_version0.3
ExclusiveArch: %{rust_arches}
- rust-rustcat
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rustls-native-certs
ExclusiveArch: %{rust_arches}
- rust-rustls-pemfile
ExclusiveArch: %{rust_arches}
- rust-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-rustyline
ExclusiveArch: %{rust_arches}
- rust-rustyline-derive
ExclusiveArch: %{rust_arches}
- rust-safe_arch
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-salsa20
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-scan_fmt
ExclusiveArch: %{rust_arches}
- rust-scheduled-thread-pool
ExclusiveArch: %{rust_arches}
- rust-schemafy_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_lib
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scratch
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-scrypt
ExclusiveArch: %{rust_arches}
- rust-sct
ExclusiveArch: %{rust_arches}
- rust-sd
ExclusiveArch: %{rust_arches}
- rust-sd-notify
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-seahash3
ExclusiveArch: %{rust_arches}
- rust-secret-service
ExclusiveArch: %{rust_arches}
- rust-selectors
ExclusiveArch: %{rust_arches}
- rust-self_cell
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.9
ExclusiveArch: %{rust_arches}
- rust-semver0.11
ExclusiveArch: %{rust_arches}
- rust-sequoia-autocrypt
ExclusiveArch: %{rust_arches}
- rust-sequoia-ipc
ExclusiveArch: %{rust_arches}
- rust-sequoia-net
ExclusiveArch: %{rust_arches}
- rust-sequoia-octopus-librnp
ExclusiveArch: %{rust_arches}
- rust-sequoia-openpgp-mt
ExclusiveArch: %{rust_arches}
- rust-sequoia-sop
ExclusiveArch: %{rust_arches}
- rust-sequoia-sq
ExclusiveArch: %{rust_arches}
- rust-sequoia-sqv
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde-value
ExclusiveArch: %{rust_arches}
- rust-serde-xml-rs
ExclusiveArch: %{rust_arches}
- rust-serde_bser
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_fmt
ExclusiveArch: %{rust_arches}
- rust-serde_qs
ExclusiveArch: %{rust_arches}
- rust-serde_url_params
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_with
ExclusiveArch: %{rust_arches}
- rust-serde_with_macros
ExclusiveArch: %{rust_arches}
- rust-serde_yaml0.8
ExclusiveArch: %{rust_arches}
- rust-serial_test0.5
ExclusiveArch: %{rust_arches}
- rust-serial_test_derive0.5
ExclusiveArch: %{rust_arches}
- rust-servo-fontconfig
ExclusiveArch: %{rust_arches}
- rust-servo-fontconfig-sys
ExclusiveArch: %{rust_arches}
- rust-servo_arc
ExclusiveArch: %{rust_arches}
- rust-sev
ExclusiveArch: x86_64
- rust-sevctl
ExclusiveArch: x86_64
- rust-sha-1_0.9
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha1_0.6
ExclusiveArch: %{rust_arches}
- rust-sha1_smol
ExclusiveArch: %{rust_arches}
- rust-sha1collisiondetection
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-sha2_0.9
ExclusiveArch: %{rust_arches}
- rust-sha3_0.9
ExclusiveArch: %{rust_arches}
- rust-shadow-rs
ExclusiveArch: %{rust_arches}
- rust-sharded-slab
ExclusiveArch: %{rust_arches}
- rust-shared_child
ExclusiveArch: %{rust_arches}
- rust-shared_library
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shellexpand
ExclusiveArch: %{rust_arches}
- rust-shellwords
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal
ExclusiveArch: %{rust_arches}
- rust-signal-hook-mio
ExclusiveArch: %{rust_arches}
- rust-signal-hook0.1
ExclusiveArch: %{rust_arches}
- rust-signature
ExclusiveArch: %{rust_arches}
- rust-signature_derive
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-simd_helpers
ExclusiveArch: %{rust_arches}
- rust-similar-asserts
ExclusiveArch: %{rust_arches}
- rust-simple_asn1
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-sinit
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-sized-chunks
ExclusiveArch: %{rust_arches}
- rust-skeptic
ExclusiveArch: %{rust_arches}
- rust-skim
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-scope
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-slug
ExclusiveArch: %{rust_arches}
- rust-smallbitvec
ExclusiveArch: %{rust_arches}
- rust-smallstr
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-smawk
ExclusiveArch: %{rust_arches}
- rust-smithay-client-toolkit
ExclusiveArch: %{rust_arches}
- rust-smithay-clipboard
ExclusiveArch: %{rust_arches}
- rust-snake_case
ExclusiveArch: %{rust_arches}
- rust-sop
ExclusiveArch: %{rust_arches}
- rust-spin0.5
ExclusiveArch: %{rust_arches}
- rust-spin_on
ExclusiveArch: %{rust_arches}
- rust-spki
ExclusiveArch: %{rust_arches}
- rust-ssh-key-dir
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-standback
ExclusiveArch: %{rust_arches}
- rust-static_assertions
ExclusiveArch: %{rust_arches}
- rust-statistical
ExclusiveArch: %{rust_arches}
- rust-statrs
ExclusiveArch: %{rust_arches}
- rust-str_stack
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-streebog
ExclusiveArch: %{rust_arches}
- rust-streebog0.9
ExclusiveArch: %{rust_arches}
- rust-strict
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-strip-ansi-escapes
ExclusiveArch: %{rust_arches}
- rust-strsim
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-structopt-derive
ExclusiveArch: %{rust_arches}
- rust-structopt-derive0.2
ExclusiveArch: %{rust_arches}
- rust-structopt0.2
ExclusiveArch: %{rust_arches}
- rust-strum
ExclusiveArch: %{rust_arches}
- rust-strum0.21
ExclusiveArch: %{rust_arches}
- rust-strum_macros
ExclusiveArch: %{rust_arches}
- rust-strum_macros0.21
ExclusiveArch: %{rust_arches}
- rust-supports-color
ExclusiveArch: %{rust_arches}
- rust-supports-hyperlinks
ExclusiveArch: %{rust_arches}
- rust-supports-unicode
ExclusiveArch: %{rust_arches}
- rust-sval
ExclusiveArch: %{rust_arches}
- rust-sval_derive
ExclusiveArch: %{rust_arches}
- rust-sval_json
ExclusiveArch: %{rust_arches}
- rust-svg
ExclusiveArch: %{rust_arches}
- rust-syn0.15
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-syntect4
ExclusiveArch: %{rust_arches}
- rust-sys-info
ExclusiveArch: %{rust_arches}
- rust-sysinfo0.19
ExclusiveArch: %{rust_arches}
- rust-system76_ectool
ExclusiveArch: %{rust_arches}
- rust-tabular
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tap
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-tealdeer
ExclusiveArch: %{rust_arches}
- rust-temp_testdir
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-temptree
ExclusiveArch: %{rust_arches}
- rust-tendril
ExclusiveArch: %{rust_arches}
- rust-tera
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term0.6
ExclusiveArch: %{rust_arches}
- rust-term_grid
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termbg
ExclusiveArch: %{rust_arches}
- rust-terminfo
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-tester
ExclusiveArch: %{rust_arches}
- rust-testing_logger
ExclusiveArch: %{rust_arches}
- rust-textwrap
ExclusiveArch: %{rust_arches}
- rust-textwrap0.11
ExclusiveArch: %{rust_arches}
- rust-textwrap0.14
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-tree
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-tiff
ExclusiveArch: %{rust_arches}
- rust-tiff0.6
ExclusiveArch: %{rust_arches}
- rust-tiger
ExclusiveArch: %{rust_arches}
- rust-time-macros-impl
ExclusiveArch: %{rust_arches}
- rust-time-macros0.1
ExclusiveArch: %{rust_arches}
- rust-time0.2
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-timer
ExclusiveArch: %{rust_arches}
- rust-tiny-keccak
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tiny_http0.6
ExclusiveArch: %{rust_arches}
- rust-tinyvec
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio-codec
ExclusiveArch: %{rust_arches}
- rust-tokio-compat
ExclusiveArch: %{rust_arches}
- rust-tokio-core
ExclusiveArch: %{rust_arches}
- rust-tokio-current-thread
ExclusiveArch: %{rust_arches}
- rust-tokio-executor
ExclusiveArch: %{rust_arches}
- rust-tokio-fs
ExclusiveArch: %{rust_arches}
- rust-tokio-io
ExclusiveArch: %{rust_arches}
- rust-tokio-macros0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-rustls
ExclusiveArch: %{rust_arches}
- rust-tokio-socks
ExclusiveArch: %{rust_arches}
- rust-tokio-sync
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-test
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-tungstenite
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-tokio-util0.6
ExclusiveArch: %{rust_arches}
- rust-tokio0.1
ExclusiveArch: %{rust_arches}
- rust-tokio0.2
ExclusiveArch: %{rust_arches}
- rust-toml0.4
ExclusiveArch: %{rust_arches}
- rust-toml_edit
ExclusiveArch: %{rust_arches}
- rust-totp-lite
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tower-service
ExclusiveArch: %{rust_arches}
- rust-tower-test
ExclusiveArch: %{rust_arches}
- rust-tower-util
ExclusiveArch: %{rust_arches}
- rust-tpm2-policy
ExclusiveArch: %{rust_arches}
- rust-tracing
ExclusiveArch: %{rust_arches}
- rust-tracing-attributes
ExclusiveArch: %{rust_arches}
- rust-tracing-core
ExclusiveArch: %{rust_arches}
- rust-tracing-futures
ExclusiveArch: %{rust_arches}
- rust-tracing-log
ExclusiveArch: %{rust_arches}
- rust-trash
ExclusiveArch: %{rust_arches}
- rust-tree-sitter
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-cli
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-config
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-highlight
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-loader
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-tags
ExclusiveArch: %{rust_arches}
- rust-treebitmap
ExclusiveArch: %{rust_arches}
- rust-treeline
ExclusiveArch: %{rust_arches}
- rust-ttf-parser
ExclusiveArch: %{rust_arches}
- rust-ttf-parser0.12
ExclusiveArch: %{rust_arches}
- rust-tui-react
ExclusiveArch: %{rust_arches}
- rust-tui0.11
ExclusiveArch: %{rust_arches}
- rust-tui0.9
ExclusiveArch: %{rust_arches}
- rust-tuikit
ExclusiveArch: %{rust_arches}
- rust-tungstenite
ExclusiveArch: %{rust_arches}
- rust-twoway
ExclusiveArch: %{rust_arches}
- rust-type-map
ExclusiveArch: %{rust_arches}
- rust-typed-arena1
ExclusiveArch: %{rust_arches}
- rust-typed-builder
ExclusiveArch: %{rust_arches}
- rust-tzfile
ExclusiveArch: %{rust_arches}
- rust-ubyte
ExclusiveArch: %{rust_arches}
- rust-ucd-parse
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-uefi-run
ExclusiveArch: %{rust_arches}
- rust-umask
ExclusiveArch: %{rust_arches}
- rust-uncased
ExclusiveArch: %{rust_arches}
- rust-unchecked-index
ExclusiveArch: %{rust_arches}
- rust-unescape
ExclusiveArch: %{rust_arches}
- rust-unic-char-property
ExclusiveArch: %{rust_arches}
- rust-unic-char-range
ExclusiveArch: %{rust_arches}
- rust-unic-common
ExclusiveArch: %{rust_arches}
- rust-unic-langid
ExclusiveArch: %{rust_arches}
- rust-unic-langid-macros
ExclusiveArch: %{rust_arches}
- rust-unic-langid-macros-impl
ExclusiveArch: %{rust_arches}
- rust-unic-locale
ExclusiveArch: %{rust_arches}
- rust-unic-locale-macros
ExclusiveArch: %{rust_arches}
- rust-unic-locale-macros-impl
ExclusiveArch: %{rust_arches}
- rust-unic-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-common
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-version
ExclusiveArch: %{rust_arches}
- rust-unicase
ExclusiveArch: %{rust_arches}
- rust-unicase1
ExclusiveArch: %{rust_arches}
- rust-unicode-linebreak
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-unicode-xid0.1
ExclusiveArch: %{rust_arches}
- rust-unicode_categories
ExclusiveArch: %{rust_arches}
- rust-universal-hash
ExclusiveArch: %{rust_arches}
- rust-unix_socket
ExclusiveArch: %{rust_arches}
- rust-untrusted
ExclusiveArch: %{rust_arches}
- rust-uriparse
ExclusiveArch: %{rust_arches}
- rust-url1
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-users0.10
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-width
ExclusiveArch: %{rust_arches}
- rust-utf8parse
ExclusiveArch: %{rust_arches}
- rust-uucore
ExclusiveArch: %{rust_arches}
- rust-uucore_procs
ExclusiveArch: %{rust_arches}
- rust-uuid0.7
ExclusiveArch: %{rust_arches}
- rust-uuid0.8
ExclusiveArch: %{rust_arches}
- rust-v_frame
ExclusiveArch: %{rust_arches}
- rust-value-bag
ExclusiveArch: %{rust_arches}
- rust-varbincode
ExclusiveArch: %{rust_arches}
- rust-varlink
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-varlink_stdinterfaces
ExclusiveArch: %{rust_arches}
- rust-vec_map
ExclusiveArch: %{rust_arches}
- rust-vergen
ExclusiveArch: %{rust_arches}
- rust-vergen3
ExclusiveArch: %{rust_arches}
- rust-version
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version-sync0.8
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-vhost-user-backend
ExclusiveArch: %{rust_arches}
- rust-virtio-bindings
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vmm-sys-util
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-void
ExclusiveArch: %{rust_arches}
- rust-vsprintf
ExclusiveArch: %{rust_arches}
- rust-vte
ExclusiveArch: %{rust_arches}
- rust-vte_generate_state_changes
ExclusiveArch: %{rust_arches}
- rust-vtparse
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-waker-fn
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-warp
ExclusiveArch: %{rust_arches}
- rust-wasmer_enumset
ExclusiveArch: %{rust_arches}
- rust-wasmer_enumset_derive
ExclusiveArch: %{rust_arches}
- rust-web-ext-native-messaging
ExclusiveArch: %{rust_arches}
- rust-webbrowser
ExclusiveArch: %{rust_arches}
- rust-webpki
ExclusiveArch: %{rust_arches}
- rust-webpki-roots
ExclusiveArch: %{rust_arches}
- rust-weezl
ExclusiveArch: %{rust_arches}
- rust-wezterm-color-types
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic-derive
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-winit
ExclusiveArch: %{rust_arches}
- rust-x11-clipboard
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xcb
ExclusiveArch: %{rust_arches}
- rust-xcursor
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xi-unicode
ExclusiveArch: %{rust_arches}
- rust-xkbcommon
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xmlwriter
ExclusiveArch: %{rust_arches}
- rust-xxhash-c-sys
ExclusiveArch: %{rust_arches}
- rust-xxhash-rust
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-y4m
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-yansi
ExclusiveArch: %{rust_arches}
- rust-ybaas
ExclusiveArch: %{rust_arches}
- rust-yubibomb
ExclusiveArch: %{rust_arches}
- rust-z85
ExclusiveArch: %{rust_arches}
- rust-zbase32
ExclusiveArch: %{rust_arches}
- rust-zbus1
ExclusiveArch: %{rust_arches}
- rust-zbus_macros1
ExclusiveArch: %{rust_arches}
- rust-zeroize
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zip
ExclusiveArch: %{rust_arches}
- rust-zmq
ExclusiveArch: %{rust_arches}
- rust-zmq-sys
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
ExclusiveArch: %{rust_arches}
- rust-zoxide
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- rust-zvariant2
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive2
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- sac
ExclusiveArch: %{java_arches} noarch
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sagemath
ExclusiveArch: aarch64 x86_64
- sat4j
ExclusiveArch: %{java_arches} noarch
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sblim-cim-client
ExclusiveArch: %{java_arches} noarch
- sblim-cim-client2
ExclusiveArch: %{java_arches} noarch
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- scala
ExclusiveArch: %{java_arches} noarch
- scalacheck
ExclusiveArch: %{java_arches} noarch
- scannotation
ExclusiveArch: %{java_arches} noarch
- sdljava
ExclusiveArch: %{java_arches}
- sdrangel
ExclusiveArch: %{qt5_qtwebengine_arches}
- sdsl-lite
ExclusiveArch: %{power64} x86_64 aarch64
- seabios
ExclusiveArch: x86_64
- seadrive-gui
ExclusiveArch: %{qt5_qtwebengine_arches}
- seafile-client
ExclusiveArch: %{qt5_qtwebengine_arches}
- seamonkey
ExclusiveArch: x86_64
- seqan3
ExclusiveArch: %{power64} x86_64 aarch64
- sequence-library
ExclusiveArch: %{java_arches} noarch
- serp
ExclusiveArch: %{java_arches} noarch
- servicelog
ExclusiveArch: ppc %{power64}
- sgabios
ExclusiveArch: %{ix86} x86_64
- shaman
ExclusiveArch: %{java_arches} noarch
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigul
ExclusiveArch: x86_64
- singularity-ce
ExclusiveArch: %{go_arches}
- sisu
ExclusiveArch: %{java_arches} noarch
- sisu-mojos
ExclusiveArch: %{java_arches} noarch
- skopeo
ExclusiveArch: %{golang_arches_future}
- skychart
ExclusiveArch: %{fpc_arches}
- slf4j
ExclusiveArch: %{java_arches} noarch
- slirp4netns
ExclusiveArch: %{golang_arches_future}
- snakeyaml
ExclusiveArch: %{java_arches} noarch
- snapd
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x}
- snip
ExclusiveArch: %{java_arches} noarch
- softnet-stat
ExclusiveArch: %{rust_arches}
- soup-sharp
ExclusiveArch: %{mono_arches}
- spacebar
ExclusiveArch: %{java_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spec-version-maven-plugin
ExclusiveArch: %{java_arches} noarch
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- spice-parent
ExclusiveArch: %{java_arches} noarch
- springlobby
ExclusiveArch: %{ix86} x86_64
- sqljet
ExclusiveArch: %{java_arches} noarch
- squeekboard
ExclusiveArch: %{rust_arches}
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stratisd
ExclusiveArch: %{rust_arches}
ExclusiveArch: %{rust_arches}
- string-template-maven-plugin
ExclusiveArch: %{java_arches} noarch
- stringtemplate
ExclusiveArch: %{java_arches} noarch
- stringtemplate4
ExclusiveArch: %{java_arches} noarch
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- subscription-manager-cockpit
ExclusiveArch: %{nodejs_arches} noarch
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: %{kernel_arches}
- svnkit
ExclusiveArch: %{java_arches} noarch
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- swing-layout
ExclusiveArch: %{java_arches} noarch
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64le s390x
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- system-rules
ExclusiveArch: %{java_arches} noarch
- system76-keyboard-configurator
ExclusiveArch: %{rust_arches}
- systemd-boot
ExclusiveArch: %efi
- t-digest
ExclusiveArch: %{java_arches} noarch
- taggle
ExclusiveArch: %{java_arches} noarch
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tagsoup
ExclusiveArch: %{java_arches} noarch
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64 aarch64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- ternimal
ExclusiveArch: %{rust_arches}
- test-interface
ExclusiveArch: %{java_arches} noarch
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- testng
ExclusiveArch: %{java_arches} noarch
- texlive
ExclusiveArch: %{java_arches} noarch
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- tomcat
ExclusiveArch: %{java_arches} noarch
- tomcat-native
ExclusiveArch: %{java_arches}
- tomcat-taglibs-parent
ExclusiveArch: %{java_arches} noarch
- tomcatjss
ExclusiveArch: %{java_arches} noarch
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- treelayout
ExclusiveArch: %{java_arches} noarch
- trilead-ssh2
ExclusiveArch: %{java_arches} noarch
- truth
ExclusiveArch: %{java_arches} noarch
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- typescript
ExclusiveArch: %{nodejs_arches} noarch
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- univocity-parsers
ExclusiveArch: %{java_arches} noarch
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- usd
ExclusiveArch: aarch64 x86_64
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- vakzination
ExclusiveArch: %{java_arches}
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vecmath1.2
ExclusiveArch: %{java_arches} noarch
- velocity
ExclusiveArch: %{java_arches} noarch
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- vim-syntastic
ExclusiveArch: %{java_arches} noarch
- virt-p2v
ExclusiveArch: x86_64
- virt-v2v
ExclusiveArch: x86_64
- virtiofsd
ExclusiveArch: %{rust_arches}
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- voms-api-java
ExclusiveArch: %{java_arches} noarch
- voms-clients-java
ExclusiveArch: %{java_arches} noarch
- vrq
ExclusiveArch: %{ix86} x86_64
- wangle
ExclusiveArch: x86_64 aarch64 ppc64le
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- wasmedge
ExclusiveArch: x86_64 aarch64
- watchman
ExclusiveArch: x86_64 aarch64 ppc64le
- wdt
ExclusiveArch: x86_64 aarch64 ppc64le
- webkit2-sharp
ExclusiveArch: %mono_arches
- weld-parent
ExclusiveArch: %{java_arches} noarch
- why3
ExclusiveArch: %{java_arches}
- wine
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- writer2latex
ExclusiveArch: %{java_arches}
- ws-commons-util
ExclusiveArch: %{java_arches} noarch
- wsdl4j
ExclusiveArch: %{java_arches} noarch
- wult
ExclusiveArch: x86_64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- xalan-j2
ExclusiveArch: %{java_arches} noarch
- xbean
ExclusiveArch: %{java_arches} noarch
- xbyak
ExclusiveArch: x86_64
- xbyak_aarch64
ExclusiveArch: aarch64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: x86_64 aarch64
- xerces-j2
ExclusiveArch: %{java_arches} noarch
- xgap
ExclusiveArch: %{gap_arches}
- xml-commons-apis
ExclusiveArch: %{java_arches} noarch
- xml-commons-resolver
ExclusiveArch: %{java_arches} noarch
- xml-maven-plugin
ExclusiveArch: %{java_arches} noarch
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xmlgraphics-commons
ExclusiveArch: %{java_arches} noarch
- xmlpull
ExclusiveArch: %{java_arches} noarch
- xmlstreambuffer
ExclusiveArch: %{java_arches} noarch
- xmlunit
ExclusiveArch: %{java_arches} noarch
- xmpcore
ExclusiveArch: %{java_arches} noarch
- xmvn
ExclusiveArch: %{java_arches} noarch
- xmvn-connector-ivy
ExclusiveArch: %{java_arches} noarch
- xmvn-generator
ExclusiveArch: %{java_arches} noarch
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- xstream
ExclusiveArch: %{java_arches} noarch
- xz-java
ExclusiveArch: %{java_arches} noarch
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- zcfan
ExclusiveArch: x86_64
- zeal
ExclusiveArch: %{qt5_qtwebengine_arches}
- zenon
ExclusiveArch: %{java_arches}
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zig
ExclusiveArch: %{zig_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ng
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- zola
ExclusiveArch: %{rust_arches}
1 year, 2 months
Architecture specific change in rpms/john.git
by githook-noreply@fedoraproject.org
The package rpms/john.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/john.git/commit/?id=1c6b1557ec1e9....
Change:
+%ifarch %{ix86} || x86_64
Thanks.
Full change:
============
commit bdaf314ec04b9b3379ea1161fe6ce77e631fbb0e
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Tue Mar 7 03:41:45 2023 +0100
align names of fallback binaries with jumbo patch + kali
diff --git a/john.spec b/john.spec
index f17faf3..890b35d 100644
--- a/john.spec
+++ b/john.spec
@@ -1,7 +1,7 @@
Name: john
Summary: John the Ripper password cracker
Version: 1.9.0
-Release: 3%{?dist}
+Release: 4%{?dist}
%bcond_without check
@@ -17,7 +17,6 @@ Source1: https://www.openwall.com/john/k/john-%{version}.tar.xz.sign
# uid "Openwall offline signing key"
#
# Compared to public records of pgp.mit.edu
-# gpg2 --keyserver pgp.mit.edu --search-key 05C027FD4BDC136E
# gpg2 --keyserver pgp.mit.edu --search-key 297AD21CF86C948081520C1805C027FD4BDC136E
# gpg2 --list-public-keys 297AD21CF86C948081520C1805C027FD4BDC136E
#
@@ -30,6 +29,8 @@ Source1: https://www.openwall.com/john/k/john-%{version}.tar.xz.sign
# gpg2 --export --export-options export-minimal 297AD21CF86C948081520C1805C027FD4BDC136E > gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg
Source2: gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg
+# Align the naming of the fallback binaries with jumbo patch + kali
+# https://github.com/openwall/john/issues/5233
BuildRequires: gcc
@@ -100,8 +101,6 @@ ARCH_CHAIN="$ARCH_CHAIN linux-x86-64-avx512"
%global with_fallback 1
%endif
-
-
%ifarch ppc
ARCH_CHAIN="linux-ppc32 linux-ppc32-altivec"
%endif
@@ -116,7 +115,7 @@ ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
# WARNING: original LDFLAGS in Makefile contain -s to strip the binaries
# We need to override that
make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ASFLAGS="${ASFLAGS}"
-mv run/john "run/john-${ARCH_FIRST}"
+mv run/john "run/john-${ARCH_FIRST}-non-omp"
# Compile whole chain of binaries, if configured
set $ARCH_CHAIN
@@ -130,10 +129,10 @@ while true ; do
# gcc -DCPU_FALLBACK_BINARY='"john-linux-x86-64-xop"' ...
# #define OMP_FALLBACK_PATHNAME JOHN_SYSTEMWIDE_EXEC "/" OMP_FALLBACK_BINARY
# needs to be double quoted here as one layer is stripped by shell and one by make
- CPU_FALLBACK="${Q}john-${PREV}${Q}"
+ CPU_FALLBACK="${Q}john-${PREV}-non-omp${Q}"
make -C src clean
make -C src "${TARGET}" CFLAGS="${CFLAGS} -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='${CPU_FALLBACK}'" LDFLAGS="${LDFLAGS}" ASFLAGS="${ASFLAGS}"
- mv run/john "run/john-${TARGET}"
+ mv run/john "run/john-${TARGET}-non-omp"
shift
done
@@ -142,7 +141,7 @@ make -C src clean
ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
OMP_FALLBACK="${Q}john-${ARCH_FIRST}${Q}"
make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS} -fopenmp -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='${OMP_FALLBACK}'" OMPFLAGS=-fopenmp LDFLAGS="${LDFLAGS} -fopenmp" ASFLAGS="${ASFLAGS} -fopenmp"
-mv run/john "run/${ARCH_FIRST}"
+mv run/john "run/john-${ARCH_FIRST}-omp"
# Compile whole chain of OMP binaries
set $ARCH_CHAIN
@@ -153,12 +152,12 @@ while true ; do
PREV="$1"
TARGET="$2"
# fallback to previous CPU optimization, if OMP is present
- CPU_FALLBACK="${Q}john-omp-${PREV}${Q}"
+ CPU_FALLBACK="${Q}john-${PREV}-omp${Q}"
# fallback to same CPU optimization, if OMP is broken
- OMP_FALLBACK="${Q}john-${TARGET}${Q}"
+ OMP_FALLBACK="${Q}john-${TARGET}-non-omp${Q}"
make -C src clean
make -C src "${TARGET}" CFLAGS="${CFLAGS} -fopenmp -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='${CPU_FALLBACK}' -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='${OMP_FALLBACK}'" OMPFLAGS=-fopenmp LDFLAGS="${LDFLAGS} -fopenmp" ASFLAGS="${ASFLAGS} -fopenmp"
- mv run/john "run/john-omp-${TARGET}"
+ mv run/john "run/john-${TARGET}-omp"
shift
done
@@ -198,6 +197,9 @@ rm doc/INSTALL
%{_libexecdir}/john/
%changelog
+* Tue Mar 07 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-4
+- align the fallback binary naming with upstream/kali
+
* Tue Feb 14 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-3
- add signature verification
commit 1c6b1557ec1e9f3048afe1ea85ac022f565b4434
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Sat Feb 18 17:31:04 2023 +0100
hack the way through how the define quotes are passed
diff --git a/john.spec b/john.spec
index 140c73b..f17faf3 100644
--- a/john.spec
+++ b/john.spec
@@ -69,6 +69,18 @@ export ASFLAGS="-c $LDFLAGS"
ARCH_CHAIN="generic"
%global with_fallback 0
+# By default quote fallback binary name with just "
+Q='"'
+%ifarch %{ix86} || x86_64
+# on intel quote with '\"' ... do not ask me why
+Q='\"'
+%endif
+
+
+
+
+
+
# i686 settings
%ifarch %{ix86}
# Fedora current settings starts on sse2 so it is not necessary going bellow that
@@ -118,7 +130,7 @@ while true ; do
# gcc -DCPU_FALLBACK_BINARY='"john-linux-x86-64-xop"' ...
# #define OMP_FALLBACK_PATHNAME JOHN_SYSTEMWIDE_EXEC "/" OMP_FALLBACK_BINARY
# needs to be double quoted here as one layer is stripped by shell and one by make
- CPU_FALLBACK="\\\"john-${PREV}\\\""
+ CPU_FALLBACK="${Q}john-${PREV}${Q}"
make -C src clean
make -C src "${TARGET}" CFLAGS="${CFLAGS} -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='${CPU_FALLBACK}'" LDFLAGS="${LDFLAGS}" ASFLAGS="${ASFLAGS}"
mv run/john "run/john-${TARGET}"
@@ -128,7 +140,7 @@ done
# Compile the OMP binary with fallback to CPU binary
make -C src clean
ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
-OMP_FALLBACK="\\\"john-${ARCH_FIRST}\\\""
+OMP_FALLBACK="${Q}john-${ARCH_FIRST}${Q}"
make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS} -fopenmp -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='${OMP_FALLBACK}'" OMPFLAGS=-fopenmp LDFLAGS="${LDFLAGS} -fopenmp" ASFLAGS="${ASFLAGS} -fopenmp"
mv run/john "run/${ARCH_FIRST}"
@@ -141,9 +153,9 @@ while true ; do
PREV="$1"
TARGET="$2"
# fallback to previous CPU optimization, if OMP is present
- CPU_FALLBACK="\\\"john-omp-${PREV}\\\""
+ CPU_FALLBACK="${Q}john-omp-${PREV}${Q}"
# fallback to same CPU optimization, if OMP is broken
- OMP_FALLBACK="\\\"john-${TARGET}\\\""
+ OMP_FALLBACK="${Q}john-${TARGET}${Q}"
make -C src clean
make -C src "${TARGET}" CFLAGS="${CFLAGS} -fopenmp -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='${CPU_FALLBACK}' -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='${OMP_FALLBACK}'" OMPFLAGS=-fopenmp LDFLAGS="${LDFLAGS} -fopenmp" ASFLAGS="${ASFLAGS} -fopenmp"
mv run/john "run/john-omp-${TARGET}"
commit 52489966d4ca04f7d5e8abc1c6a201b14ce38c25
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Sat Feb 18 15:25:46 2023 +0100
adding signature checking, rework the cpu optimization
diff --git a/gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg b/gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg
new file mode 100644
index 0000000..074443a
Binary files /dev/null and b/gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg differ
diff --git a/john.spec b/john.spec
index 2ee5859..140c73b 100644
--- a/john.spec
+++ b/john.spec
@@ -1,7 +1,7 @@
Name: john
Summary: John the Ripper password cracker
Version: 1.9.0
-Release: 2%{?dist}
+Release: 3%{?dist}
%bcond_without check
@@ -10,13 +10,31 @@ License: GPLv2
Source0: https://www.openwall.com/john/k/john-%{version}.tar.xz
Source1: https://www.openwall.com/john/k/john-%{version}.tar.xz.sign
-# Extra charsets - not needed anymore, part of 1.9.0 core release
-# %%global extra_date 20130529
-# Source2: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz
-# Source3: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz.sign
+# The authenticator public key obtained from https://www.openwall.com/signatures/
+# https://www.openwall.com/signatures/openwall-offline-signatures.asc
+# gpg --keyid-format long --list-options show-keyring openwall-offline-signatures.asc
+# it's ID 05C027FD4BDC136E resp. 297AD21CF86C948081520C1805C027FD4BDC136E
+# uid "Openwall offline signing key"
+#
+# Compared to public records of pgp.mit.edu
+# gpg2 --keyserver pgp.mit.edu --search-key 05C027FD4BDC136E
+# gpg2 --keyserver pgp.mit.edu --search-key 297AD21CF86C948081520C1805C027FD4BDC136E
+# gpg2 --list-public-keys 297AD21CF86C948081520C1805C027FD4BDC136E
+#
+# Verified manually signature on tarball
+# gpg --verify john-1.9.0.tar.xz.sign john-1.9.0.tar.xz
+# OK
+#
+# gpg2 -vv john-1.9.0.tar.xz.sign
+# Signed by 05C027FD4BDC136E which belongs to "Openwall offline signing key"
+# gpg2 --export --export-options export-minimal 297AD21CF86C948081520C1805C027FD4BDC136E > gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg
+Source2: gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg
+
+
BuildRequires: gcc
BuildRequires: make
+BuildRequires: gnupg2
%description
John the Ripper is a fast password cracker (password security auditing
@@ -25,7 +43,9 @@ of other hash types are supported as well.
%prep
-%setup -q
+#check signature
+%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
+%autosetup -p 1
chmod 0644 doc/*
sed -i 's#\$JOHN/john.conf#%{_sysconfdir}/john.conf#' src/params.h
@@ -34,17 +54,26 @@ sed -i 's#\$JOHN/john.conf#%{_sysconfdir}/john.conf#' src/params.h
# tar --strip-components 1 --directory run -xf "%%{SOURCE2}"
%build
+%set_build_flags
+
+# WARNING - john makefile is defining -c on the level of CFLAGS and not the compile lines
+# when overriding the Makefile we need to keep this logic
+ORIGCPU=$(echo "$CFLAGS" | grep -o -E -e '-m(sse2|avx|avx2|avx512|avx512f|xop)( |$)' | tr -d '\n' )
+CFLAGS=$(echo "$CFLAGS" | sed -E 's/-m(sse2|avx|avx2|avx512|avx512f|xop)( |$)//;' )
+export CFLAGS="$CFLAGS -c -DJOHN_SYSTEMWIDE=1"
-# Prevent stripping
-export LDFLAGS="-g"
-export ASFLAGS="-g"
+# ASFLAGS needs info about libraries same as LDFLAGS, but needs -c for compilation only
+export ASFLAGS="-c $LDFLAGS"
# By default build with "make generic"
ARCH_CHAIN="generic"
%global with_fallback 0
+# i686 settings
%ifarch %{ix86}
-ARCH_CHAIN="linux-x86-any linux-x86-mmx linux-x86-sse2 linux-x86-avx linux-x86-xop linux-x86-avx2"
+# Fedora current settings starts on sse2 so it is not necessary going bellow that
+# ARCH_CHAIN="linux-x86-any linux-x86-mmx linux-x86-sse2 linux-x86-avx linux-x86-xop linux-x86-avx2"
+ARCH_CHAIN="linux-x86-any linux-x86-sse2 linux-x86-avx linux-x86-xop linux-x86-avx2"
%if (0%{?fedora}) || ( 0%{?rhel} >= 8 )
ARCH_CHAIN="$ARCH_CHAIN linux-x86-avx512"
%endif
@@ -59,6 +88,8 @@ ARCH_CHAIN="$ARCH_CHAIN linux-x86-64-avx512"
%global with_fallback 1
%endif
+
+
%ifarch ppc
ARCH_CHAIN="linux-ppc32 linux-ppc32-altivec"
%endif
@@ -67,11 +98,13 @@ ARCH_CHAIN="linux-ppc32 linux-ppc32-altivec"
ARCH_CHAIN="linux-ppc64 linux-ppc64-altivec"
%endif
-export CFLAGS="-c %optflags -DJOHN_SYSTEMWIDE=1"
-
# Compile the fallback binary
ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
-make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS}" LDFLAGS="-g"
+
+# WARNING: original LDFLAGS in Makefile contain -s to strip the binaries
+# We need to override that
+make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ASFLAGS="${ASFLAGS}"
+mv run/john "run/john-${ARCH_FIRST}"
# Compile whole chain of binaries, if configured
set $ARCH_CHAIN
@@ -81,21 +114,23 @@ while true ; do
fi
PREV="$1"
TARGET="$2"
- CPU_FALLBACK="john-${PREV}"
- mv run/john "run/${CPU_FALLBACK}"
+ # Fallback binary definition is used in #define as a string, pre-procesor seamlessly joins the strings together without using string functions like:
+ # gcc -DCPU_FALLBACK_BINARY='"john-linux-x86-64-xop"' ...
+ # #define OMP_FALLBACK_PATHNAME JOHN_SYSTEMWIDE_EXEC "/" OMP_FALLBACK_BINARY
+ # needs to be double quoted here as one layer is stripped by shell and one by make
+ CPU_FALLBACK="\\\"john-${PREV}\\\""
make -C src clean
- make -C src "${TARGET}" CFLAGS="${CFLAGS} -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='\\\"${CPU_FALLBACK}\\\"'" LDFLAGS="-g"
+ make -C src "${TARGET}" CFLAGS="${CFLAGS} -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='${CPU_FALLBACK}'" LDFLAGS="${LDFLAGS}" ASFLAGS="${ASFLAGS}"
+ mv run/john "run/john-${TARGET}"
shift
done
-ARCH_LAST=$( echo "${ARCH_CHAIN}" | sed -e 's/.*[ ]//' )
-mv run/john "run/john-${ARCH_LAST}"
-
# Compile the OMP binary with fallback to CPU binary
make -C src clean
ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
-OMP_FALLBACK="john-${ARCH_FIRST}"
-make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS} -fopenmp -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='\\\"$OMP_FALLBACK\\\"'" OMPFLAGS=-fopenmp LDFLAGS="-g -s -fopenmp"
+OMP_FALLBACK="\\\"john-${ARCH_FIRST}\\\""
+make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS} -fopenmp -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='${OMP_FALLBACK}'" OMPFLAGS=-fopenmp LDFLAGS="${LDFLAGS} -fopenmp" ASFLAGS="${ASFLAGS} -fopenmp"
+mv run/john "run/${ARCH_FIRST}"
# Compile whole chain of OMP binaries
set $ARCH_CHAIN
@@ -105,35 +140,37 @@ while true ; do
fi
PREV="$1"
TARGET="$2"
- CPU_FALLBACK="john-omp-${PREV}"
- OMP_FALLBACK="john-${TARGET}"
- mv run/john "run/${CPU_FALLBACK}"
+ # fallback to previous CPU optimization, if OMP is present
+ CPU_FALLBACK="\\\"john-omp-${PREV}\\\""
+ # fallback to same CPU optimization, if OMP is broken
+ OMP_FALLBACK="\\\"john-${TARGET}\\\""
make -C src clean
- make -C src "${TARGET}" CFLAGS="${CFLAGS} -fopenmp -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='\\\"$CPU_FALLBACK\\\"' -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='\\\"$OMP_FALLBACK\\\"'" OMPFLAGS=-fopenmp LDFLAGS="-g -s -fopenmp"
+ make -C src "${TARGET}" CFLAGS="${CFLAGS} -fopenmp -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='${CPU_FALLBACK}' -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='${OMP_FALLBACK}'" OMPFLAGS=-fopenmp LDFLAGS="${LDFLAGS} -fopenmp" ASFLAGS="${ASFLAGS} -fopenmp"
+ mv run/john "run/john-omp-${TARGET}"
shift
done
-
%install
-rm -rf %{buildroot}
install -d -m 755 %{buildroot}%{_sysconfdir}
install -d -m 755 %{buildroot}%{_bindir}
install -d -m 755 %{buildroot}%{_datadir}/john
-install -m 755 run/{john,mailer} %{buildroot}%{_bindir}
-install -m 644 run/{*.chr,password.lst} %{buildroot}%{_datadir}/john
-install -m 644 run/john.conf %{buildroot}%{_sysconfdir}
+install -p -m 755 run/mailer %{buildroot}%{_bindir}
+install -p -m 644 run/{*.chr,password.lst} %{buildroot}%{_datadir}/john
+install -p -m 644 run/john.conf %{buildroot}%{_sysconfdir}
-%if 0%{?with_fallback:1}
- install -d -m 755 %{buildroot}%{_libexecdir}/john
- install -m 755 run/john-* %{buildroot}%{_libexecdir}/john/
-%endif
+LASTJOHN=$(ls -t run/john-* | head -n 1)
+LASTJOHN=$(basename "$LASTJOHN")
+install -d -m 755 %{buildroot}%{_libexecdir}/john
+install -p -m 755 run/john-* %{buildroot}%{_libexecdir}/john/
pushd %{buildroot}%{_bindir}
+ln -s %{_libexecdir}/john/${LASTJOHN} john
ln -s john unafs
ln -s john unique
ln -s john unshadow
+
popd
rm doc/INSTALL
@@ -146,11 +183,12 @@ rm doc/INSTALL
%{_bindir}/unique
%{_bindir}/unshadow
%{_datadir}/john/
-%if 0%{?with_fallback:1}
%{_libexecdir}/john/
-%endif
%changelog
+* Tue Feb 14 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-3
+- add signature verification
+
* Tue Feb 14 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-2
- use cpu/omp fallback chaining for binaries
commit 70d3e96d4ca2e0e26fe7dad963cecc19e467d4bc
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Tue Feb 14 01:59:45 2023 +0100
use all available cpu/omp optimization chains supported by john
diff --git a/john.spec b/john.spec
index f3e42f3..2ee5859 100644
--- a/john.spec
+++ b/john.spec
@@ -1,13 +1,20 @@
Name: john
Summary: John the Ripper password cracker
Version: 1.9.0
-Release: 1%{?dist}
+Release: 2%{?dist}
+
+%bcond_without check
URL: https://www.openwall.com/john
License: GPLv2
Source0: https://www.openwall.com/john/k/john-%{version}.tar.xz
Source1: https://www.openwall.com/john/k/john-%{version}.tar.xz.sign
+# Extra charsets - not needed anymore, part of 1.9.0 core release
+# %%global extra_date 20130529
+# Source2: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz
+# Source3: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz.sign
+
BuildRequires: gcc
BuildRequires: make
@@ -22,44 +29,92 @@ of other hash types are supported as well.
chmod 0644 doc/*
sed -i 's#\$JOHN/john.conf#%{_sysconfdir}/john.conf#' src/params.h
-cp -a src src-mmx
# Extra charsets - not needed anymore, part of 1.9.0 core release
# tar --strip-components 1 --directory run -xf "%%{SOURCE2}"
%build
-%global target_non_mmx generic
+# Prevent stripping
+export LDFLAGS="-g"
+export ASFLAGS="-g"
+
+# By default build with "make generic"
+ARCH_CHAIN="generic"
+%global with_fallback 0
%ifarch %{ix86}
-%global target_non_mmx linux-x86-any
-%global target_mmx linux-x86-mmx
+ARCH_CHAIN="linux-x86-any linux-x86-mmx linux-x86-sse2 linux-x86-avx linux-x86-xop linux-x86-avx2"
+%if (0%{?fedora}) || ( 0%{?rhel} >= 8 )
+ARCH_CHAIN="$ARCH_CHAIN linux-x86-avx512"
+%endif
+%global with_fallback 1
%endif
%ifarch x86_64
-%global target_non_mmx linux-x86-64
+ARCH_CHAIN="linux-x86-64 linux-x86-64-avx linux-x86-64-xop linux-x86-64-avx2"
+%if (0%{?fedora}) || ( 0%{?rhel} >= 8 )
+ARCH_CHAIN="$ARCH_CHAIN linux-x86-64-avx512"
+%endif
+%global with_fallback 1
%endif
%ifarch ppc
-%global target_non_mmx linux-ppc32
+ARCH_CHAIN="linux-ppc32 linux-ppc32-altivec"
%endif
%ifarch ppc64
-%global target_non_mmx linux-ppc64
+ARCH_CHAIN="linux-ppc64 linux-ppc64-altivec"
%endif
export CFLAGS="-c %optflags -DJOHN_SYSTEMWIDE=1"
-make -C src %{target_non_mmx} CFLAGS="${CFLAGS}" LDFLAGS="%optflags"
+# Compile the fallback binary
+ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
+make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS}" LDFLAGS="-g"
+
+# Compile whole chain of binaries, if configured
+set $ARCH_CHAIN
+while true ; do
+ if [ -z $2 ] ; then
+ break
+ fi
+ PREV="$1"
+ TARGET="$2"
+ CPU_FALLBACK="john-${PREV}"
+ mv run/john "run/${CPU_FALLBACK}"
+ make -C src clean
+ make -C src "${TARGET}" CFLAGS="${CFLAGS} -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='\\\"${CPU_FALLBACK}\\\"'" LDFLAGS="-g"
+ shift
+done
+
+ARCH_LAST=$( echo "${ARCH_CHAIN}" | sed -e 's/.*[ ]//' )
+mv run/john "run/john-${ARCH_LAST}"
+
+# Compile the OMP binary with fallback to CPU binary
+make -C src clean
+ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
+OMP_FALLBACK="john-${ARCH_FIRST}"
+make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS} -fopenmp -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='\\\"$OMP_FALLBACK\\\"'" OMPFLAGS=-fopenmp LDFLAGS="-g -s -fopenmp"
+
+# Compile whole chain of OMP binaries
+set $ARCH_CHAIN
+while true ; do
+ if [ -z $2 ] ; then
+ break
+ fi
+ PREV="$1"
+ TARGET="$2"
+ CPU_FALLBACK="john-omp-${PREV}"
+ OMP_FALLBACK="john-${TARGET}"
+ mv run/john "run/${CPU_FALLBACK}"
+ make -C src clean
+ make -C src "${TARGET}" CFLAGS="${CFLAGS} -fopenmp -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='\\\"$CPU_FALLBACK\\\"' -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='\\\"$OMP_FALLBACK\\\"'" OMPFLAGS=-fopenmp LDFLAGS="-g -s -fopenmp"
+ shift
+done
-%if 0%{?target_mmx:1}
- mv run/john run/john-non-mmx
- CFLAGS="${CFLAGS} -DCPU_FALLBACK=1"
- LDFLAGS="${CFLAGS}"
- make -C src-mmx %{target_mmx} CFLAGS="${CFLAGS}" LDFLAGS=""
-%endif
%install
rm -rf %{buildroot}
@@ -70,9 +125,9 @@ install -m 755 run/{john,mailer} %{buildroot}%{_bindir}
install -m 644 run/{*.chr,password.lst} %{buildroot}%{_datadir}/john
install -m 644 run/john.conf %{buildroot}%{_sysconfdir}
-%if 0%{?target_mmx:1}
+%if 0%{?with_fallback:1}
install -d -m 755 %{buildroot}%{_libexecdir}/john
- install -m 755 run/john-non-mmx %{buildroot}%{_libexecdir}/john/
+ install -m 755 run/john-* %{buildroot}%{_libexecdir}/john/
%endif
pushd %{buildroot}%{_bindir}
@@ -91,11 +146,14 @@ rm doc/INSTALL
%{_bindir}/unique
%{_bindir}/unshadow
%{_datadir}/john/
-%if 0%{?target_mmx:1}
+%if 0%{?with_fallback:1}
%{_libexecdir}/john/
%endif
%changelog
+* Tue Feb 14 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-2
+- use cpu/omp fallback chaining for binaries
+
* Tue Feb 14 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-1
- bump to version 1.9.0
commit 3b2757f9b8b55d92bec836f6bac30d73345f5264
Merge: dc90586 c342677
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Tue Feb 14 01:20:45 2023 +0100
Merge changes from upstream
diff --cc .gitignore
index 6d161d2,24af8f4..5358b15
--- a/.gitignore
+++ b/.gitignore
@@@ -1,6 -1,4 +1,5 @@@
--/john-1.8.0.tar.xz
--/john-1.8.0.tar.xz.sign
++/john-*.src.rpm
/john-extra-20130529.tar.xz
/john-extra-20130529.tar.xz.sign
- /john-1.9.0.tar.xz
- /john-1.9.0.tar.xz.sign
++/john-*.tar.xz
++/john-*.tar.xz.sign
diff --cc john.spec
index e4f786b,439c3e1..f3e42f3
--- a/john.spec
+++ b/john.spec
@@@ -1,26 -1,23 +1,21 @@@
-%global extra_date 20130529
+Name: john
+Summary: John the Ripper password cracker
+Version: 1.9.0
+Release: 1%{?dist}
-Summary: John the Ripper password cracker
-Name: john
-Version: 1.8.0
-Release: 22%{?dist}
-
-URL: http://www.openwall.com/john
-License: GPLv2
-Source0: http://www.openwall.com/john/j/john-%{version}.tar.xz
-Source1: http://www.openwall.com/john/j/john-%{version}.tar.xz.sign
-Source2: http://www.openwall.com/john/j/john-extra-%{extra_date}.tar.xz
-Source3: http://www.openwall.com/john/j/john-extra-%{extra_date}.tar.xz.sign
+URL: https://www.openwall.com/john
+License: GPLv2
+Source0: https://www.openwall.com/john/k/john-%{version}.tar.xz
+Source1: https://www.openwall.com/john/k/john-%{version}.tar.xz.sign
- # Extra charsets - not needed anymore, part of 1.9.0 core release
- # %%global extra_date 20130529
- # Source2: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz
- # Source3: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz.sign
-
BuildRequires: gcc
-BuildRequires: make
+BuildRequires: make
+
%description
-John the Ripper is a fast password cracker. Its primary purpose is to
-detect weak Unix passwords, but a number of other hash types are
-supported as well.
+John the Ripper is a fast password cracker (password security auditing
+tool). Its primary purpose is to detect weak Unix passwords, but a number
+of other hash types are supported as well.
+
%prep
%setup -q
@@@ -101,9 -91,9 +96,12 @@@ rm doc/INSTAL
%endif
%changelog
- * Fri Dec 16 2022 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-1
++* Tue Feb 14 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-1
+- bump to version 1.9.0
+
+ * Thu Jan 19 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.8.0-22
+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
* Thu Jul 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.8.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
commit c3426772ffa9d0865427b9df2835689c0dbcd661
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Jan 19 13:50:01 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/john.spec b/john.spec
index 3d3fce9..439c3e1 100644
--- a/john.spec
+++ b/john.spec
@@ -3,7 +3,7 @@
Summary: John the Ripper password cracker
Name: john
Version: 1.8.0
-Release: 21%{?dist}
+Release: 22%{?dist}
URL: http://www.openwall.com/john
License: GPLv2
@@ -91,6 +91,9 @@ rm doc/INSTALL
%endif
%changelog
+* Thu Jan 19 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.8.0-22
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
* Thu Jul 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.8.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
commit dc90586526468c2985251008a69884ac9bb2a3c4
Author: nobody <nobody>
Date: Sat Dec 17 01:20:15 2022 +0100
remove unused defines
diff --git a/john.spec b/john.spec
index c69b6f7..e4f786b 100644
--- a/john.spec
+++ b/john.spec
@@ -3,11 +3,6 @@ Summary: John the Ripper password cracker
Version: 1.9.0
Release: 1%{?dist}
-%global BUILD_AVX 1
-%global BUILD_XOP 1
-%global BUILD_OMP 1
-
-
URL: https://www.openwall.com/john
License: GPLv2
Source0: https://www.openwall.com/john/k/john-%{version}.tar.xz
commit bc1b9432fff85ddbe7d9beb36d3978624439ae54
Author: nobody <nobody>
Date: Sat Dec 17 01:14:08 2022 +0100
Update to 1.9.0
diff --git a/.gitignore b/.gitignore
index 24af8f4..6d161d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,5 @@
/john-1.8.0.tar.xz.sign
/john-extra-20130529.tar.xz
/john-extra-20130529.tar.xz.sign
+/john-1.9.0.tar.xz
+/john-1.9.0.tar.xz.sign
diff --git a/john.spec b/john.spec
index 3d3fce9..c69b6f7 100644
--- a/john.spec
+++ b/john.spec
@@ -1,31 +1,41 @@
-%global extra_date 20130529
+Name: john
+Summary: John the Ripper password cracker
+Version: 1.9.0
+Release: 1%{?dist}
-Summary: John the Ripper password cracker
-Name: john
-Version: 1.8.0
-Release: 21%{?dist}
+%global BUILD_AVX 1
+%global BUILD_XOP 1
+%global BUILD_OMP 1
-URL: http://www.openwall.com/john
-License: GPLv2
-Source0: http://www.openwall.com/john/j/john-%{version}.tar.xz
-Source1: http://www.openwall.com/john/j/john-%{version}.tar.xz.sign
-Source2: http://www.openwall.com/john/j/john-extra-%{extra_date}.tar.xz
-Source3: http://www.openwall.com/john/j/john-extra-%{extra_date}.tar.xz.sign
+
+URL: https://www.openwall.com/john
+License: GPLv2
+Source0: https://www.openwall.com/john/k/john-%{version}.tar.xz
+Source1: https://www.openwall.com/john/k/john-%{version}.tar.xz.sign
+
+# Extra charsets - not needed anymore, part of 1.9.0 core release
+# %%global extra_date 20130529
+# Source2: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz
+# Source3: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz.sign
BuildRequires: gcc
-BuildRequires: make
+BuildRequires: make
+
%description
-John the Ripper is a fast password cracker. Its primary purpose is to
-detect weak Unix passwords, but a number of other hash types are
-supported as well.
+John the Ripper is a fast password cracker (password security auditing
+tool). Its primary purpose is to detect weak Unix passwords, but a number
+of other hash types are supported as well.
+
%prep
%setup -q
-#%patch2 -p0 -b .jumbo
+
chmod 0644 doc/*
sed -i 's#\$JOHN/john.conf#%{_sysconfdir}/john.conf#' src/params.h
cp -a src src-mmx
-tar --strip-components 1 --directory run -xf "%{SOURCE2}"
+
+# Extra charsets - not needed anymore, part of 1.9.0 core release
+# tar --strip-components 1 --directory run -xf "%%{SOURCE2}"
%build
@@ -35,27 +45,30 @@ tar --strip-components 1 --directory run -xf "%{SOURCE2}"
%global target_non_mmx linux-x86-any
%global target_mmx linux-x86-mmx
%endif
+
%ifarch x86_64
%global target_non_mmx linux-x86-64
%endif
+
%ifarch ppc
%global target_non_mmx linux-ppc32
%endif
+
%ifarch ppc64
%global target_non_mmx linux-ppc64
%endif
-export CFLAGS="-c ${RPM_OPT_FLAGS} -DJOHN_SYSTEMWIDE=1"
+export CFLAGS="-c %optflags -DJOHN_SYSTEMWIDE=1"
-make -C src %{target_non_mmx} CFLAGS="${CFLAGS}" LDFLAGS="${RPM_OPT_FLAGS}"
+make -C src %{target_non_mmx} CFLAGS="${CFLAGS}" LDFLAGS="%optflags"
%if 0%{?target_mmx:1}
-mv run/john run/john-non-mmx
+ mv run/john run/john-non-mmx
-CFLAGS="${CFLAGS} -DCPU_FALLBACK=1"
-LDFLAGS="${CFLAGS}"
+ CFLAGS="${CFLAGS} -DCPU_FALLBACK=1"
+ LDFLAGS="${CFLAGS}"
-make -C src-mmx %{target_mmx} CFLAGS="${CFLAGS}" LDFLAGS=""
+ make -C src-mmx %{target_mmx} CFLAGS="${CFLAGS}" LDFLAGS=""
%endif
%install
@@ -66,10 +79,12 @@ install -d -m 755 %{buildroot}%{_datadir}/john
install -m 755 run/{john,mailer} %{buildroot}%{_bindir}
install -m 644 run/{*.chr,password.lst} %{buildroot}%{_datadir}/john
install -m 644 run/john.conf %{buildroot}%{_sysconfdir}
+
%if 0%{?target_mmx:1}
-install -d -m 755 %{buildroot}%{_libexecdir}/john
-install -m 755 run/john-non-mmx %{buildroot}%{_libexecdir}/john/
+ install -d -m 755 %{buildroot}%{_libexecdir}/john
+ install -m 755 run/john-non-mmx %{buildroot}%{_libexecdir}/john/
%endif
+
pushd %{buildroot}%{_bindir}
ln -s john unafs
ln -s john unique
@@ -91,6 +106,9 @@ rm doc/INSTALL
%endif
%changelog
+* Fri Dec 16 2022 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-1
+- bump to version 1.9.0
+
* Thu Jul 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.8.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
diff --git a/sources b/sources
index a60c932..ed13d34 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,2 @@
-bb191828e8cbfd5fe0779dff5d87d5f4 john-extra-20130529.tar.xz
-4de42f4dd5c4988aaa7c26c5d5a288d8 john-extra-20130529.tar.xz.sign
-a4086df68f51778782777e60407f1869 john-1.8.0.tar.xz
-fcc1ae12b0379a8335b39c9961af5b12 john-1.8.0.tar.xz.sign
+SHA512 (john-1.9.0.tar.xz) = 26e9a245e9f050344ae8c3320e1e24dad6bc2b73e99cc041a50c2d124b2c898c93d048727451ab8a2ba1c8aa4d8d462a8c0c9fea7de39f3479a0c170a5e9ad60
+SHA512 (john-1.9.0.tar.xz.sign) = b8aa1b3209231bd91f8ea952d9dd4d44fd005017c4ff15e074adb1e6d1b340b8f04d4c37973aedb2693a9ef116acbfbcdef2553330317c850e753402501d7772
1 year, 2 months
Architecture specific change in rpms/john.git
by githook-noreply@fedoraproject.org
The package rpms/john.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/john.git/commit/?id=1c6b1557ec1e9....
Change:
+%ifarch %{ix86} || x86_64
Thanks.
Full change:
============
commit bdaf314ec04b9b3379ea1161fe6ce77e631fbb0e
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Tue Mar 7 03:41:45 2023 +0100
align names of fallback binaries with jumbo patch + kali
diff --git a/john.spec b/john.spec
index f17faf3..890b35d 100644
--- a/john.spec
+++ b/john.spec
@@ -1,7 +1,7 @@
Name: john
Summary: John the Ripper password cracker
Version: 1.9.0
-Release: 3%{?dist}
+Release: 4%{?dist}
%bcond_without check
@@ -17,7 +17,6 @@ Source1: https://www.openwall.com/john/k/john-%{version}.tar.xz.sign
# uid "Openwall offline signing key"
#
# Compared to public records of pgp.mit.edu
-# gpg2 --keyserver pgp.mit.edu --search-key 05C027FD4BDC136E
# gpg2 --keyserver pgp.mit.edu --search-key 297AD21CF86C948081520C1805C027FD4BDC136E
# gpg2 --list-public-keys 297AD21CF86C948081520C1805C027FD4BDC136E
#
@@ -30,6 +29,8 @@ Source1: https://www.openwall.com/john/k/john-%{version}.tar.xz.sign
# gpg2 --export --export-options export-minimal 297AD21CF86C948081520C1805C027FD4BDC136E > gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg
Source2: gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg
+# Align the naming of the fallback binaries with jumbo patch + kali
+# https://github.com/openwall/john/issues/5233
BuildRequires: gcc
@@ -100,8 +101,6 @@ ARCH_CHAIN="$ARCH_CHAIN linux-x86-64-avx512"
%global with_fallback 1
%endif
-
-
%ifarch ppc
ARCH_CHAIN="linux-ppc32 linux-ppc32-altivec"
%endif
@@ -116,7 +115,7 @@ ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
# WARNING: original LDFLAGS in Makefile contain -s to strip the binaries
# We need to override that
make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ASFLAGS="${ASFLAGS}"
-mv run/john "run/john-${ARCH_FIRST}"
+mv run/john "run/john-${ARCH_FIRST}-non-omp"
# Compile whole chain of binaries, if configured
set $ARCH_CHAIN
@@ -130,10 +129,10 @@ while true ; do
# gcc -DCPU_FALLBACK_BINARY='"john-linux-x86-64-xop"' ...
# #define OMP_FALLBACK_PATHNAME JOHN_SYSTEMWIDE_EXEC "/" OMP_FALLBACK_BINARY
# needs to be double quoted here as one layer is stripped by shell and one by make
- CPU_FALLBACK="${Q}john-${PREV}${Q}"
+ CPU_FALLBACK="${Q}john-${PREV}-non-omp${Q}"
make -C src clean
make -C src "${TARGET}" CFLAGS="${CFLAGS} -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='${CPU_FALLBACK}'" LDFLAGS="${LDFLAGS}" ASFLAGS="${ASFLAGS}"
- mv run/john "run/john-${TARGET}"
+ mv run/john "run/john-${TARGET}-non-omp"
shift
done
@@ -142,7 +141,7 @@ make -C src clean
ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
OMP_FALLBACK="${Q}john-${ARCH_FIRST}${Q}"
make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS} -fopenmp -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='${OMP_FALLBACK}'" OMPFLAGS=-fopenmp LDFLAGS="${LDFLAGS} -fopenmp" ASFLAGS="${ASFLAGS} -fopenmp"
-mv run/john "run/${ARCH_FIRST}"
+mv run/john "run/john-${ARCH_FIRST}-omp"
# Compile whole chain of OMP binaries
set $ARCH_CHAIN
@@ -153,12 +152,12 @@ while true ; do
PREV="$1"
TARGET="$2"
# fallback to previous CPU optimization, if OMP is present
- CPU_FALLBACK="${Q}john-omp-${PREV}${Q}"
+ CPU_FALLBACK="${Q}john-${PREV}-omp${Q}"
# fallback to same CPU optimization, if OMP is broken
- OMP_FALLBACK="${Q}john-${TARGET}${Q}"
+ OMP_FALLBACK="${Q}john-${TARGET}-non-omp${Q}"
make -C src clean
make -C src "${TARGET}" CFLAGS="${CFLAGS} -fopenmp -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='${CPU_FALLBACK}' -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='${OMP_FALLBACK}'" OMPFLAGS=-fopenmp LDFLAGS="${LDFLAGS} -fopenmp" ASFLAGS="${ASFLAGS} -fopenmp"
- mv run/john "run/john-omp-${TARGET}"
+ mv run/john "run/john-${TARGET}-omp"
shift
done
@@ -198,6 +197,9 @@ rm doc/INSTALL
%{_libexecdir}/john/
%changelog
+* Tue Mar 07 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-4
+- align the fallback binary naming with upstream/kali
+
* Tue Feb 14 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-3
- add signature verification
commit 1c6b1557ec1e9f3048afe1ea85ac022f565b4434
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Sat Feb 18 17:31:04 2023 +0100
hack the way through how the define quotes are passed
diff --git a/john.spec b/john.spec
index 140c73b..f17faf3 100644
--- a/john.spec
+++ b/john.spec
@@ -69,6 +69,18 @@ export ASFLAGS="-c $LDFLAGS"
ARCH_CHAIN="generic"
%global with_fallback 0
+# By default quote fallback binary name with just "
+Q='"'
+%ifarch %{ix86} || x86_64
+# on intel quote with '\"' ... do not ask me why
+Q='\"'
+%endif
+
+
+
+
+
+
# i686 settings
%ifarch %{ix86}
# Fedora current settings starts on sse2 so it is not necessary going bellow that
@@ -118,7 +130,7 @@ while true ; do
# gcc -DCPU_FALLBACK_BINARY='"john-linux-x86-64-xop"' ...
# #define OMP_FALLBACK_PATHNAME JOHN_SYSTEMWIDE_EXEC "/" OMP_FALLBACK_BINARY
# needs to be double quoted here as one layer is stripped by shell and one by make
- CPU_FALLBACK="\\\"john-${PREV}\\\""
+ CPU_FALLBACK="${Q}john-${PREV}${Q}"
make -C src clean
make -C src "${TARGET}" CFLAGS="${CFLAGS} -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='${CPU_FALLBACK}'" LDFLAGS="${LDFLAGS}" ASFLAGS="${ASFLAGS}"
mv run/john "run/john-${TARGET}"
@@ -128,7 +140,7 @@ done
# Compile the OMP binary with fallback to CPU binary
make -C src clean
ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
-OMP_FALLBACK="\\\"john-${ARCH_FIRST}\\\""
+OMP_FALLBACK="${Q}john-${ARCH_FIRST}${Q}"
make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS} -fopenmp -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='${OMP_FALLBACK}'" OMPFLAGS=-fopenmp LDFLAGS="${LDFLAGS} -fopenmp" ASFLAGS="${ASFLAGS} -fopenmp"
mv run/john "run/${ARCH_FIRST}"
@@ -141,9 +153,9 @@ while true ; do
PREV="$1"
TARGET="$2"
# fallback to previous CPU optimization, if OMP is present
- CPU_FALLBACK="\\\"john-omp-${PREV}\\\""
+ CPU_FALLBACK="${Q}john-omp-${PREV}${Q}"
# fallback to same CPU optimization, if OMP is broken
- OMP_FALLBACK="\\\"john-${TARGET}\\\""
+ OMP_FALLBACK="${Q}john-${TARGET}${Q}"
make -C src clean
make -C src "${TARGET}" CFLAGS="${CFLAGS} -fopenmp -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='${CPU_FALLBACK}' -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='${OMP_FALLBACK}'" OMPFLAGS=-fopenmp LDFLAGS="${LDFLAGS} -fopenmp" ASFLAGS="${ASFLAGS} -fopenmp"
mv run/john "run/john-omp-${TARGET}"
commit 52489966d4ca04f7d5e8abc1c6a201b14ce38c25
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Sat Feb 18 15:25:46 2023 +0100
adding signature checking, rework the cpu optimization
diff --git a/gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg b/gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg
new file mode 100644
index 0000000..074443a
Binary files /dev/null and b/gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg differ
diff --git a/john.spec b/john.spec
index 2ee5859..140c73b 100644
--- a/john.spec
+++ b/john.spec
@@ -1,7 +1,7 @@
Name: john
Summary: John the Ripper password cracker
Version: 1.9.0
-Release: 2%{?dist}
+Release: 3%{?dist}
%bcond_without check
@@ -10,13 +10,31 @@ License: GPLv2
Source0: https://www.openwall.com/john/k/john-%{version}.tar.xz
Source1: https://www.openwall.com/john/k/john-%{version}.tar.xz.sign
-# Extra charsets - not needed anymore, part of 1.9.0 core release
-# %%global extra_date 20130529
-# Source2: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz
-# Source3: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz.sign
+# The authenticator public key obtained from https://www.openwall.com/signatures/
+# https://www.openwall.com/signatures/openwall-offline-signatures.asc
+# gpg --keyid-format long --list-options show-keyring openwall-offline-signatures.asc
+# it's ID 05C027FD4BDC136E resp. 297AD21CF86C948081520C1805C027FD4BDC136E
+# uid "Openwall offline signing key"
+#
+# Compared to public records of pgp.mit.edu
+# gpg2 --keyserver pgp.mit.edu --search-key 05C027FD4BDC136E
+# gpg2 --keyserver pgp.mit.edu --search-key 297AD21CF86C948081520C1805C027FD4BDC136E
+# gpg2 --list-public-keys 297AD21CF86C948081520C1805C027FD4BDC136E
+#
+# Verified manually signature on tarball
+# gpg --verify john-1.9.0.tar.xz.sign john-1.9.0.tar.xz
+# OK
+#
+# gpg2 -vv john-1.9.0.tar.xz.sign
+# Signed by 05C027FD4BDC136E which belongs to "Openwall offline signing key"
+# gpg2 --export --export-options export-minimal 297AD21CF86C948081520C1805C027FD4BDC136E > gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg
+Source2: gpgkey-297AD21CF86C948081520C1805C027FD4BDC136E.gpg
+
+
BuildRequires: gcc
BuildRequires: make
+BuildRequires: gnupg2
%description
John the Ripper is a fast password cracker (password security auditing
@@ -25,7 +43,9 @@ of other hash types are supported as well.
%prep
-%setup -q
+#check signature
+%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
+%autosetup -p 1
chmod 0644 doc/*
sed -i 's#\$JOHN/john.conf#%{_sysconfdir}/john.conf#' src/params.h
@@ -34,17 +54,26 @@ sed -i 's#\$JOHN/john.conf#%{_sysconfdir}/john.conf#' src/params.h
# tar --strip-components 1 --directory run -xf "%%{SOURCE2}"
%build
+%set_build_flags
+
+# WARNING - john makefile is defining -c on the level of CFLAGS and not the compile lines
+# when overriding the Makefile we need to keep this logic
+ORIGCPU=$(echo "$CFLAGS" | grep -o -E -e '-m(sse2|avx|avx2|avx512|avx512f|xop)( |$)' | tr -d '\n' )
+CFLAGS=$(echo "$CFLAGS" | sed -E 's/-m(sse2|avx|avx2|avx512|avx512f|xop)( |$)//;' )
+export CFLAGS="$CFLAGS -c -DJOHN_SYSTEMWIDE=1"
-# Prevent stripping
-export LDFLAGS="-g"
-export ASFLAGS="-g"
+# ASFLAGS needs info about libraries same as LDFLAGS, but needs -c for compilation only
+export ASFLAGS="-c $LDFLAGS"
# By default build with "make generic"
ARCH_CHAIN="generic"
%global with_fallback 0
+# i686 settings
%ifarch %{ix86}
-ARCH_CHAIN="linux-x86-any linux-x86-mmx linux-x86-sse2 linux-x86-avx linux-x86-xop linux-x86-avx2"
+# Fedora current settings starts on sse2 so it is not necessary going bellow that
+# ARCH_CHAIN="linux-x86-any linux-x86-mmx linux-x86-sse2 linux-x86-avx linux-x86-xop linux-x86-avx2"
+ARCH_CHAIN="linux-x86-any linux-x86-sse2 linux-x86-avx linux-x86-xop linux-x86-avx2"
%if (0%{?fedora}) || ( 0%{?rhel} >= 8 )
ARCH_CHAIN="$ARCH_CHAIN linux-x86-avx512"
%endif
@@ -59,6 +88,8 @@ ARCH_CHAIN="$ARCH_CHAIN linux-x86-64-avx512"
%global with_fallback 1
%endif
+
+
%ifarch ppc
ARCH_CHAIN="linux-ppc32 linux-ppc32-altivec"
%endif
@@ -67,11 +98,13 @@ ARCH_CHAIN="linux-ppc32 linux-ppc32-altivec"
ARCH_CHAIN="linux-ppc64 linux-ppc64-altivec"
%endif
-export CFLAGS="-c %optflags -DJOHN_SYSTEMWIDE=1"
-
# Compile the fallback binary
ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
-make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS}" LDFLAGS="-g"
+
+# WARNING: original LDFLAGS in Makefile contain -s to strip the binaries
+# We need to override that
+make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ASFLAGS="${ASFLAGS}"
+mv run/john "run/john-${ARCH_FIRST}"
# Compile whole chain of binaries, if configured
set $ARCH_CHAIN
@@ -81,21 +114,23 @@ while true ; do
fi
PREV="$1"
TARGET="$2"
- CPU_FALLBACK="john-${PREV}"
- mv run/john "run/${CPU_FALLBACK}"
+ # Fallback binary definition is used in #define as a string, pre-procesor seamlessly joins the strings together without using string functions like:
+ # gcc -DCPU_FALLBACK_BINARY='"john-linux-x86-64-xop"' ...
+ # #define OMP_FALLBACK_PATHNAME JOHN_SYSTEMWIDE_EXEC "/" OMP_FALLBACK_BINARY
+ # needs to be double quoted here as one layer is stripped by shell and one by make
+ CPU_FALLBACK="\\\"john-${PREV}\\\""
make -C src clean
- make -C src "${TARGET}" CFLAGS="${CFLAGS} -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='\\\"${CPU_FALLBACK}\\\"'" LDFLAGS="-g"
+ make -C src "${TARGET}" CFLAGS="${CFLAGS} -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='${CPU_FALLBACK}'" LDFLAGS="${LDFLAGS}" ASFLAGS="${ASFLAGS}"
+ mv run/john "run/john-${TARGET}"
shift
done
-ARCH_LAST=$( echo "${ARCH_CHAIN}" | sed -e 's/.*[ ]//' )
-mv run/john "run/john-${ARCH_LAST}"
-
# Compile the OMP binary with fallback to CPU binary
make -C src clean
ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
-OMP_FALLBACK="john-${ARCH_FIRST}"
-make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS} -fopenmp -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='\\\"$OMP_FALLBACK\\\"'" OMPFLAGS=-fopenmp LDFLAGS="-g -s -fopenmp"
+OMP_FALLBACK="\\\"john-${ARCH_FIRST}\\\""
+make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS} -fopenmp -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='${OMP_FALLBACK}'" OMPFLAGS=-fopenmp LDFLAGS="${LDFLAGS} -fopenmp" ASFLAGS="${ASFLAGS} -fopenmp"
+mv run/john "run/${ARCH_FIRST}"
# Compile whole chain of OMP binaries
set $ARCH_CHAIN
@@ -105,35 +140,37 @@ while true ; do
fi
PREV="$1"
TARGET="$2"
- CPU_FALLBACK="john-omp-${PREV}"
- OMP_FALLBACK="john-${TARGET}"
- mv run/john "run/${CPU_FALLBACK}"
+ # fallback to previous CPU optimization, if OMP is present
+ CPU_FALLBACK="\\\"john-omp-${PREV}\\\""
+ # fallback to same CPU optimization, if OMP is broken
+ OMP_FALLBACK="\\\"john-${TARGET}\\\""
make -C src clean
- make -C src "${TARGET}" CFLAGS="${CFLAGS} -fopenmp -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='\\\"$CPU_FALLBACK\\\"' -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='\\\"$OMP_FALLBACK\\\"'" OMPFLAGS=-fopenmp LDFLAGS="-g -s -fopenmp"
+ make -C src "${TARGET}" CFLAGS="${CFLAGS} -fopenmp -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='${CPU_FALLBACK}' -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='${OMP_FALLBACK}'" OMPFLAGS=-fopenmp LDFLAGS="${LDFLAGS} -fopenmp" ASFLAGS="${ASFLAGS} -fopenmp"
+ mv run/john "run/john-omp-${TARGET}"
shift
done
-
%install
-rm -rf %{buildroot}
install -d -m 755 %{buildroot}%{_sysconfdir}
install -d -m 755 %{buildroot}%{_bindir}
install -d -m 755 %{buildroot}%{_datadir}/john
-install -m 755 run/{john,mailer} %{buildroot}%{_bindir}
-install -m 644 run/{*.chr,password.lst} %{buildroot}%{_datadir}/john
-install -m 644 run/john.conf %{buildroot}%{_sysconfdir}
+install -p -m 755 run/mailer %{buildroot}%{_bindir}
+install -p -m 644 run/{*.chr,password.lst} %{buildroot}%{_datadir}/john
+install -p -m 644 run/john.conf %{buildroot}%{_sysconfdir}
-%if 0%{?with_fallback:1}
- install -d -m 755 %{buildroot}%{_libexecdir}/john
- install -m 755 run/john-* %{buildroot}%{_libexecdir}/john/
-%endif
+LASTJOHN=$(ls -t run/john-* | head -n 1)
+LASTJOHN=$(basename "$LASTJOHN")
+install -d -m 755 %{buildroot}%{_libexecdir}/john
+install -p -m 755 run/john-* %{buildroot}%{_libexecdir}/john/
pushd %{buildroot}%{_bindir}
+ln -s %{_libexecdir}/john/${LASTJOHN} john
ln -s john unafs
ln -s john unique
ln -s john unshadow
+
popd
rm doc/INSTALL
@@ -146,11 +183,12 @@ rm doc/INSTALL
%{_bindir}/unique
%{_bindir}/unshadow
%{_datadir}/john/
-%if 0%{?with_fallback:1}
%{_libexecdir}/john/
-%endif
%changelog
+* Tue Feb 14 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-3
+- add signature verification
+
* Tue Feb 14 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-2
- use cpu/omp fallback chaining for binaries
commit 70d3e96d4ca2e0e26fe7dad963cecc19e467d4bc
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Tue Feb 14 01:59:45 2023 +0100
use all available cpu/omp optimization chains supported by john
diff --git a/john.spec b/john.spec
index f3e42f3..2ee5859 100644
--- a/john.spec
+++ b/john.spec
@@ -1,13 +1,20 @@
Name: john
Summary: John the Ripper password cracker
Version: 1.9.0
-Release: 1%{?dist}
+Release: 2%{?dist}
+
+%bcond_without check
URL: https://www.openwall.com/john
License: GPLv2
Source0: https://www.openwall.com/john/k/john-%{version}.tar.xz
Source1: https://www.openwall.com/john/k/john-%{version}.tar.xz.sign
+# Extra charsets - not needed anymore, part of 1.9.0 core release
+# %%global extra_date 20130529
+# Source2: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz
+# Source3: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz.sign
+
BuildRequires: gcc
BuildRequires: make
@@ -22,44 +29,92 @@ of other hash types are supported as well.
chmod 0644 doc/*
sed -i 's#\$JOHN/john.conf#%{_sysconfdir}/john.conf#' src/params.h
-cp -a src src-mmx
# Extra charsets - not needed anymore, part of 1.9.0 core release
# tar --strip-components 1 --directory run -xf "%%{SOURCE2}"
%build
-%global target_non_mmx generic
+# Prevent stripping
+export LDFLAGS="-g"
+export ASFLAGS="-g"
+
+# By default build with "make generic"
+ARCH_CHAIN="generic"
+%global with_fallback 0
%ifarch %{ix86}
-%global target_non_mmx linux-x86-any
-%global target_mmx linux-x86-mmx
+ARCH_CHAIN="linux-x86-any linux-x86-mmx linux-x86-sse2 linux-x86-avx linux-x86-xop linux-x86-avx2"
+%if (0%{?fedora}) || ( 0%{?rhel} >= 8 )
+ARCH_CHAIN="$ARCH_CHAIN linux-x86-avx512"
+%endif
+%global with_fallback 1
%endif
%ifarch x86_64
-%global target_non_mmx linux-x86-64
+ARCH_CHAIN="linux-x86-64 linux-x86-64-avx linux-x86-64-xop linux-x86-64-avx2"
+%if (0%{?fedora}) || ( 0%{?rhel} >= 8 )
+ARCH_CHAIN="$ARCH_CHAIN linux-x86-64-avx512"
+%endif
+%global with_fallback 1
%endif
%ifarch ppc
-%global target_non_mmx linux-ppc32
+ARCH_CHAIN="linux-ppc32 linux-ppc32-altivec"
%endif
%ifarch ppc64
-%global target_non_mmx linux-ppc64
+ARCH_CHAIN="linux-ppc64 linux-ppc64-altivec"
%endif
export CFLAGS="-c %optflags -DJOHN_SYSTEMWIDE=1"
-make -C src %{target_non_mmx} CFLAGS="${CFLAGS}" LDFLAGS="%optflags"
+# Compile the fallback binary
+ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
+make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS}" LDFLAGS="-g"
+
+# Compile whole chain of binaries, if configured
+set $ARCH_CHAIN
+while true ; do
+ if [ -z $2 ] ; then
+ break
+ fi
+ PREV="$1"
+ TARGET="$2"
+ CPU_FALLBACK="john-${PREV}"
+ mv run/john "run/${CPU_FALLBACK}"
+ make -C src clean
+ make -C src "${TARGET}" CFLAGS="${CFLAGS} -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='\\\"${CPU_FALLBACK}\\\"'" LDFLAGS="-g"
+ shift
+done
+
+ARCH_LAST=$( echo "${ARCH_CHAIN}" | sed -e 's/.*[ ]//' )
+mv run/john "run/john-${ARCH_LAST}"
+
+# Compile the OMP binary with fallback to CPU binary
+make -C src clean
+ARCH_FIRST=$( echo "${ARCH_CHAIN}" | cut -d ' ' -f 1 )
+OMP_FALLBACK="john-${ARCH_FIRST}"
+make -C src "${ARCH_FIRST}" CFLAGS="${CFLAGS} -fopenmp -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='\\\"$OMP_FALLBACK\\\"'" OMPFLAGS=-fopenmp LDFLAGS="-g -s -fopenmp"
+
+# Compile whole chain of OMP binaries
+set $ARCH_CHAIN
+while true ; do
+ if [ -z $2 ] ; then
+ break
+ fi
+ PREV="$1"
+ TARGET="$2"
+ CPU_FALLBACK="john-omp-${PREV}"
+ OMP_FALLBACK="john-${TARGET}"
+ mv run/john "run/${CPU_FALLBACK}"
+ make -C src clean
+ make -C src "${TARGET}" CFLAGS="${CFLAGS} -fopenmp -DCPU_FALLBACK=1 -DCPU_FALLBACK_BINARY='\\\"$CPU_FALLBACK\\\"' -DOMP_FALLBACK=1 -DOMP_FALLBACK_BINARY='\\\"$OMP_FALLBACK\\\"'" OMPFLAGS=-fopenmp LDFLAGS="-g -s -fopenmp"
+ shift
+done
-%if 0%{?target_mmx:1}
- mv run/john run/john-non-mmx
- CFLAGS="${CFLAGS} -DCPU_FALLBACK=1"
- LDFLAGS="${CFLAGS}"
- make -C src-mmx %{target_mmx} CFLAGS="${CFLAGS}" LDFLAGS=""
-%endif
%install
rm -rf %{buildroot}
@@ -70,9 +125,9 @@ install -m 755 run/{john,mailer} %{buildroot}%{_bindir}
install -m 644 run/{*.chr,password.lst} %{buildroot}%{_datadir}/john
install -m 644 run/john.conf %{buildroot}%{_sysconfdir}
-%if 0%{?target_mmx:1}
+%if 0%{?with_fallback:1}
install -d -m 755 %{buildroot}%{_libexecdir}/john
- install -m 755 run/john-non-mmx %{buildroot}%{_libexecdir}/john/
+ install -m 755 run/john-* %{buildroot}%{_libexecdir}/john/
%endif
pushd %{buildroot}%{_bindir}
@@ -91,11 +146,14 @@ rm doc/INSTALL
%{_bindir}/unique
%{_bindir}/unshadow
%{_datadir}/john/
-%if 0%{?target_mmx:1}
+%if 0%{?with_fallback:1}
%{_libexecdir}/john/
%endif
%changelog
+* Tue Feb 14 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-2
+- use cpu/omp fallback chaining for binaries
+
* Tue Feb 14 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-1
- bump to version 1.9.0
commit 3b2757f9b8b55d92bec836f6bac30d73345f5264
Merge: dc90586 c342677
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Tue Feb 14 01:20:45 2023 +0100
Merge changes from upstream
diff --cc .gitignore
index 6d161d2,24af8f4..5358b15
--- a/.gitignore
+++ b/.gitignore
@@@ -1,6 -1,4 +1,5 @@@
--/john-1.8.0.tar.xz
--/john-1.8.0.tar.xz.sign
++/john-*.src.rpm
/john-extra-20130529.tar.xz
/john-extra-20130529.tar.xz.sign
- /john-1.9.0.tar.xz
- /john-1.9.0.tar.xz.sign
++/john-*.tar.xz
++/john-*.tar.xz.sign
diff --cc john.spec
index e4f786b,439c3e1..f3e42f3
--- a/john.spec
+++ b/john.spec
@@@ -1,26 -1,23 +1,21 @@@
-%global extra_date 20130529
+Name: john
+Summary: John the Ripper password cracker
+Version: 1.9.0
+Release: 1%{?dist}
-Summary: John the Ripper password cracker
-Name: john
-Version: 1.8.0
-Release: 22%{?dist}
-
-URL: http://www.openwall.com/john
-License: GPLv2
-Source0: http://www.openwall.com/john/j/john-%{version}.tar.xz
-Source1: http://www.openwall.com/john/j/john-%{version}.tar.xz.sign
-Source2: http://www.openwall.com/john/j/john-extra-%{extra_date}.tar.xz
-Source3: http://www.openwall.com/john/j/john-extra-%{extra_date}.tar.xz.sign
+URL: https://www.openwall.com/john
+License: GPLv2
+Source0: https://www.openwall.com/john/k/john-%{version}.tar.xz
+Source1: https://www.openwall.com/john/k/john-%{version}.tar.xz.sign
- # Extra charsets - not needed anymore, part of 1.9.0 core release
- # %%global extra_date 20130529
- # Source2: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz
- # Source3: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz.sign
-
BuildRequires: gcc
-BuildRequires: make
+BuildRequires: make
+
%description
-John the Ripper is a fast password cracker. Its primary purpose is to
-detect weak Unix passwords, but a number of other hash types are
-supported as well.
+John the Ripper is a fast password cracker (password security auditing
+tool). Its primary purpose is to detect weak Unix passwords, but a number
+of other hash types are supported as well.
+
%prep
%setup -q
@@@ -101,9 -91,9 +96,12 @@@ rm doc/INSTAL
%endif
%changelog
- * Fri Dec 16 2022 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-1
++* Tue Feb 14 2023 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-1
+- bump to version 1.9.0
+
+ * Thu Jan 19 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.8.0-22
+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
* Thu Jul 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.8.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
commit dc90586526468c2985251008a69884ac9bb2a3c4
Author: nobody <nobody>
Date: Sat Dec 17 01:20:15 2022 +0100
remove unused defines
diff --git a/john.spec b/john.spec
index c69b6f7..e4f786b 100644
--- a/john.spec
+++ b/john.spec
@@ -3,11 +3,6 @@ Summary: John the Ripper password cracker
Version: 1.9.0
Release: 1%{?dist}
-%global BUILD_AVX 1
-%global BUILD_XOP 1
-%global BUILD_OMP 1
-
-
URL: https://www.openwall.com/john
License: GPLv2
Source0: https://www.openwall.com/john/k/john-%{version}.tar.xz
commit bc1b9432fff85ddbe7d9beb36d3978624439ae54
Author: nobody <nobody>
Date: Sat Dec 17 01:14:08 2022 +0100
Update to 1.9.0
diff --git a/.gitignore b/.gitignore
index 24af8f4..6d161d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,5 @@
/john-1.8.0.tar.xz.sign
/john-extra-20130529.tar.xz
/john-extra-20130529.tar.xz.sign
+/john-1.9.0.tar.xz
+/john-1.9.0.tar.xz.sign
diff --git a/john.spec b/john.spec
index 3d3fce9..c69b6f7 100644
--- a/john.spec
+++ b/john.spec
@@ -1,31 +1,41 @@
-%global extra_date 20130529
+Name: john
+Summary: John the Ripper password cracker
+Version: 1.9.0
+Release: 1%{?dist}
-Summary: John the Ripper password cracker
-Name: john
-Version: 1.8.0
-Release: 21%{?dist}
+%global BUILD_AVX 1
+%global BUILD_XOP 1
+%global BUILD_OMP 1
-URL: http://www.openwall.com/john
-License: GPLv2
-Source0: http://www.openwall.com/john/j/john-%{version}.tar.xz
-Source1: http://www.openwall.com/john/j/john-%{version}.tar.xz.sign
-Source2: http://www.openwall.com/john/j/john-extra-%{extra_date}.tar.xz
-Source3: http://www.openwall.com/john/j/john-extra-%{extra_date}.tar.xz.sign
+
+URL: https://www.openwall.com/john
+License: GPLv2
+Source0: https://www.openwall.com/john/k/john-%{version}.tar.xz
+Source1: https://www.openwall.com/john/k/john-%{version}.tar.xz.sign
+
+# Extra charsets - not needed anymore, part of 1.9.0 core release
+# %%global extra_date 20130529
+# Source2: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz
+# Source3: https://www.openwall.com/john/j/john-extra-%%{extra_date}.tar.xz.sign
BuildRequires: gcc
-BuildRequires: make
+BuildRequires: make
+
%description
-John the Ripper is a fast password cracker. Its primary purpose is to
-detect weak Unix passwords, but a number of other hash types are
-supported as well.
+John the Ripper is a fast password cracker (password security auditing
+tool). Its primary purpose is to detect weak Unix passwords, but a number
+of other hash types are supported as well.
+
%prep
%setup -q
-#%patch2 -p0 -b .jumbo
+
chmod 0644 doc/*
sed -i 's#\$JOHN/john.conf#%{_sysconfdir}/john.conf#' src/params.h
cp -a src src-mmx
-tar --strip-components 1 --directory run -xf "%{SOURCE2}"
+
+# Extra charsets - not needed anymore, part of 1.9.0 core release
+# tar --strip-components 1 --directory run -xf "%%{SOURCE2}"
%build
@@ -35,27 +45,30 @@ tar --strip-components 1 --directory run -xf "%{SOURCE2}"
%global target_non_mmx linux-x86-any
%global target_mmx linux-x86-mmx
%endif
+
%ifarch x86_64
%global target_non_mmx linux-x86-64
%endif
+
%ifarch ppc
%global target_non_mmx linux-ppc32
%endif
+
%ifarch ppc64
%global target_non_mmx linux-ppc64
%endif
-export CFLAGS="-c ${RPM_OPT_FLAGS} -DJOHN_SYSTEMWIDE=1"
+export CFLAGS="-c %optflags -DJOHN_SYSTEMWIDE=1"
-make -C src %{target_non_mmx} CFLAGS="${CFLAGS}" LDFLAGS="${RPM_OPT_FLAGS}"
+make -C src %{target_non_mmx} CFLAGS="${CFLAGS}" LDFLAGS="%optflags"
%if 0%{?target_mmx:1}
-mv run/john run/john-non-mmx
+ mv run/john run/john-non-mmx
-CFLAGS="${CFLAGS} -DCPU_FALLBACK=1"
-LDFLAGS="${CFLAGS}"
+ CFLAGS="${CFLAGS} -DCPU_FALLBACK=1"
+ LDFLAGS="${CFLAGS}"
-make -C src-mmx %{target_mmx} CFLAGS="${CFLAGS}" LDFLAGS=""
+ make -C src-mmx %{target_mmx} CFLAGS="${CFLAGS}" LDFLAGS=""
%endif
%install
@@ -66,10 +79,12 @@ install -d -m 755 %{buildroot}%{_datadir}/john
install -m 755 run/{john,mailer} %{buildroot}%{_bindir}
install -m 644 run/{*.chr,password.lst} %{buildroot}%{_datadir}/john
install -m 644 run/john.conf %{buildroot}%{_sysconfdir}
+
%if 0%{?target_mmx:1}
-install -d -m 755 %{buildroot}%{_libexecdir}/john
-install -m 755 run/john-non-mmx %{buildroot}%{_libexecdir}/john/
+ install -d -m 755 %{buildroot}%{_libexecdir}/john
+ install -m 755 run/john-non-mmx %{buildroot}%{_libexecdir}/john/
%endif
+
pushd %{buildroot}%{_bindir}
ln -s john unafs
ln -s john unique
@@ -91,6 +106,9 @@ rm doc/INSTALL
%endif
%changelog
+* Fri Dec 16 2022 Michal Ambroz <rebus _AT seznam.cz> - 1.9.0-1
+- bump to version 1.9.0
+
* Thu Jul 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.8.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
diff --git a/sources b/sources
index a60c932..ed13d34 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,2 @@
-bb191828e8cbfd5fe0779dff5d87d5f4 john-extra-20130529.tar.xz
-4de42f4dd5c4988aaa7c26c5d5a288d8 john-extra-20130529.tar.xz.sign
-a4086df68f51778782777e60407f1869 john-1.8.0.tar.xz
-fcc1ae12b0379a8335b39c9961af5b12 john-1.8.0.tar.xz.sign
+SHA512 (john-1.9.0.tar.xz) = 26e9a245e9f050344ae8c3320e1e24dad6bc2b73e99cc041a50c2d124b2c898c93d048727451ab8a2ba1c8aa4d8d462a8c0c9fea7de39f3479a0c170a5e9ad60
+SHA512 (john-1.9.0.tar.xz.sign) = b8aa1b3209231bd91f8ea952d9dd4d44fd005017c4ff15e074adb1e6d1b340b8f04d4c37973aedb2693a9ef116acbfbcdef2553330317c850e753402501d7772
1 year, 2 months
Architecture specific change in rpms/magicmirror.git
by githook-noreply@fedoraproject.org
The package rpms/magicmirror.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/magicmirror.git/commit/?id=f58430....
Change:
+ExclusiveArch: %{nodejs_arches} noarch
Thanks.
Full change:
============
commit 31f1795f2ea4c9a73ea4cd167dd5bb07fb0b9605
Author: Davide Cavalca <dcavalca(a)fedoraproject.org>
Date: Sat Mar 4 19:13:14 2023 -0800
Update to 2.22.0; Fixes: RHBZ#2175461
diff --git a/.gitignore b/.gitignore
index d8378f7..c96e58f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
/MagicMirror-2.20.0-nm-dev.tgz
/MagicMirror-2.20.0-nm-prod.tgz
/MagicMirror-2.20.0.tar.gz
+/MagicMirror-2.22.0-nm-dev.tgz
+/MagicMirror-2.22.0-nm-prod.tgz
+/MagicMirror-2.22.0.tar.gz
diff --git a/MagicMirror-2.20.0-bundled-licenses.txt b/MagicMirror-2.22.0-bundled-licenses.txt
similarity index 96%
rename from MagicMirror-2.20.0-bundled-licenses.txt
rename to MagicMirror-2.22.0-bundled-licenses.txt
index e7cd156..f5bab31 100644
--- a/MagicMirror-2.20.0-bundled-licenses.txt
+++ b/MagicMirror-2.22.0-bundled-licenses.txt
@@ -1,6 +1,5 @@
"0BSD"
"Apache-2.0"
-"BSD"
"BSD-2-Clause"
"BSD-3-Clause"
"(CC-BY-4.0 AND OFL-1.1 AND MIT)"
diff --git a/magicmirror.service b/magicmirror.service
index c38a8a0..8731c29 100644
--- a/magicmirror.service
+++ b/magicmirror.service
@@ -5,6 +5,7 @@ After=network-online.target
[Service]
WorkingDirectory=/usr/lib/node_modules/magicmirror
+ExecStartPre=/usr/bin/node js/check_config.js
ExecStart=/usr/bin/node serveronly
User=magicmirror
Group=magicmirror
diff --git a/magicmirror.spec b/magicmirror.spec
index 54a1eb3..bcfdd1d 100644
--- a/magicmirror.spec
+++ b/magicmirror.spec
@@ -2,7 +2,7 @@
%global forgeurl https://github.com/MichMich/MagicMirror
Name: magicmirror
-Version: 2.20.0
+Version: 2.22.0
Release: %autorelease
Summary: Modular smart mirror platform
@@ -10,11 +10,8 @@ License: 0BSD and ASL 2.0 and BSD and CC-BY and ISC and MIT and OFL and P
URL: http://magicmirror.builders
# Use the GitHub tarball due to https://github.com/MichMich/MagicMirror/issues/2876
Source0: %{forgeurl}/archive/v%{version}/%{srcname}-%{version}.tar.gz
-# Created with:
-# nodejs-packaging-bundler MagicMirror 2.20.0 MagicMirror-2.20.0.tar.gz
-# with these PRs applied:
-# https://src.fedoraproject.org/rpms/nodejs-packaging/pull-request/9
-# https://src.fedoraproject.org/rpms/nodejs-packaging/pull-request/10
+# Created with nodejs-packaging >= 2021.06-7 running:
+# nodejs-packaging-bundler MagicMirror 2.22.0 MagicMirror-2.22.0.tar.gz
Source1: %{srcname}-%{version}-nm-prod.tgz
Source2: %{srcname}-%{version}-nm-dev.tgz
Source3: %{srcname}-%{version}-bundled-licenses.txt
diff --git a/sources b/sources
index 98b04fa..1fef16c 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (MagicMirror-2.20.0-nm-dev.tgz) = d321c624de10029596710e74aa4be2f760c9301db5eefbb31bc759167c82e4f07ef956d3310b9068f1ce267c7b2e0f42f9e5380f42d8309b2ccf2246127624c7
-SHA512 (MagicMirror-2.20.0-nm-prod.tgz) = bbdadf7d5323abdcd07c90d5ef01781ef562880966d0fb1af47d3289cf765523b475d3dffd7ffda287f96ecc6a2bfdfbbb3b11af2130b4c8f853834ea3154b1d
-SHA512 (MagicMirror-2.20.0.tar.gz) = bcee62e88e417de07947e82ff23260313880964df057de166d581d3e31cefb1e8e5dcd98674a683b013dd22e0e6707b206a63024397806618917575a5e284e14
+SHA512 (MagicMirror-2.22.0-nm-dev.tgz) = 01d7b54b050d86439a764adcb81cd682f428b6e058ee3813b5982bc6c4db290905c71b6e75089d3866cbc758454421e135db7922709a75eff71527a7aa943818
+SHA512 (MagicMirror-2.22.0-nm-prod.tgz) = 43b141bc01156203a949e42c4737d444756dffcb60b23865872e21a89ccba294ea61538e580b141ad03213e3f9f211cdf0323f5f1e82e7b8a61998a9a91969d3
+SHA512 (MagicMirror-2.22.0.tar.gz) = 00b012990911ae34f555c5fe9ef998432a2c040561f0ee4869550b575c9c04abec8b88a4701accef582e7e0fb93ce415573262af1f4070cc47f15bb2c7f49a66
commit f58430e09d05e73fa07bc7ff7da06a4742286c3b
Author: Davide Cavalca <dcavalca(a)fedoraproject.org>
Date: Sun Feb 12 15:34:24 2023 -0800
Initial import; Fixes: RHBZ#2103400
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d8378f7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/MagicMirror-2.20.0-nm-dev.tgz
+/MagicMirror-2.20.0-nm-prod.tgz
+/MagicMirror-2.20.0.tar.gz
diff --git a/MagicMirror-2.20.0-bundled-licenses.txt b/MagicMirror-2.20.0-bundled-licenses.txt
new file mode 100644
index 0000000..e7cd156
--- /dev/null
+++ b/MagicMirror-2.20.0-bundled-licenses.txt
@@ -0,0 +1,11 @@
+"0BSD"
+"Apache-2.0"
+"BSD"
+"BSD-2-Clause"
+"BSD-3-Clause"
+"(CC-BY-4.0 AND OFL-1.1 AND MIT)"
+"ISC"
+"MIT"
+"(MIT OR CC0-1.0)"
+"Python-2.0"
+"SEE LICENSE IN LICENSE"
diff --git a/macros.magicmirror b/macros.magicmirror
new file mode 100644
index 0000000..a4dcfba
--- /dev/null
+++ b/macros.magicmirror
@@ -0,0 +1,8 @@
+# RPM macros for MagicMirror modules
+
+%mmm_modules_dir %{nodejs_sitelib}/magicmirror/modules
+%mmm_requires \
+BuildRequires: magicmirror \
+BuildRequires: nodejs-devel \
+Requires: magicmirror \
+%{nil}
diff --git a/magicmirror.service b/magicmirror.service
new file mode 100644
index 0000000..c38a8a0
--- /dev/null
+++ b/magicmirror.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=MagicMirror²
+Documentation=https://docs.magicmirror.builders
+After=network-online.target
+
+[Service]
+WorkingDirectory=/usr/lib/node_modules/magicmirror
+ExecStart=/usr/bin/node serveronly
+User=magicmirror
+Group=magicmirror
+Restart=always
+ProtectHome=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/magicmirror.spec b/magicmirror.spec
new file mode 100644
index 0000000..54a1eb3
--- /dev/null
+++ b/magicmirror.spec
@@ -0,0 +1,139 @@
+%global srcname MagicMirror
+%global forgeurl https://github.com/MichMich/MagicMirror
+
+Name: magicmirror
+Version: 2.20.0
+Release: %autorelease
+Summary: Modular smart mirror platform
+
+License: 0BSD and ASL 2.0 and BSD and CC-BY and ISC and MIT and OFL and Python
+URL: http://magicmirror.builders
+# Use the GitHub tarball due to https://github.com/MichMich/MagicMirror/issues/2876
+Source0: %{forgeurl}/archive/v%{version}/%{srcname}-%{version}.tar.gz
+# Created with:
+# nodejs-packaging-bundler MagicMirror 2.20.0 MagicMirror-2.20.0.tar.gz
+# with these PRs applied:
+# https://src.fedoraproject.org/rpms/nodejs-packaging/pull-request/9
+# https://src.fedoraproject.org/rpms/nodejs-packaging/pull-request/10
+Source1: %{srcname}-%{version}-nm-prod.tgz
+Source2: %{srcname}-%{version}-nm-dev.tgz
+Source3: %{srcname}-%{version}-bundled-licenses.txt
+Source4: macros.%{name}
+Source5: %{name}.service
+Source6: %{name}.sysusers
+
+BuildArch: noarch
+ExclusiveArch: %{nodejs_arches} noarch
+
+Requires: nodejs
+BuildRequires: nodejs-devel
+BuildRequires: systemd-rpm-macros
+
+%description
+MagicMirror² is an open source modular smart mirror platform. With a growing
+list of installable modules, the MagicMirror² allows you to convert your
+hallway or bathroom mirror into your personal assistant.
+
+This package contains the server version of MagicMirror², which is meant to be
+accessed via a browser.
+
+%package rpm-macros
+Summary: RPM macros for %{name}
+Requires: rpm
+
+%description rpm-macros
+This package contains RPM packaging macros for %{name}.
+
+%prep
+%setup -q -n %{srcname}-%{version}
+cp %{SOURCE3} .
+# Fix permissions: https://github.com/MichMich/MagicMirror/pull/2877
+chmod -x modules/default/calendar/{README.md,calendar.js} \
+ modules/default/weather/{README.md,current.njk,weatherobject.js} \
+ modules/default/weather/providers/* \
+ vendor/{package.json,vendor.js}
+
+%build
+# Setup bundled node modules
+tar xfz %{SOURCE1}
+for dir in node_modules fonts/node_modules vendor/node_modules; do
+ mkdir -p "$dir"
+ pushd "$dir"
+ ln -s ../node_modules_prod/* .
+ [ -e ../node_modules_prod/.bin ] && ln -s ../node_modules_prod/.bin .
+ popd
+done
+
+%install
+mkdir -p %{buildroot}%{nodejs_sitelib}/%{name}
+cp -pr package.json fonts/ index.html js/ modules/ serveronly/ translations/ vendor/ \
+ %{buildroot}%{nodejs_sitelib}/%{name}
+# Copy over bundled nodejs modules
+cp -pr node_modules node_modules_prod %{buildroot}%{nodejs_sitelib}/%{name}
+
+# Install config files
+install -Dpm0644 config/config.js.sample %{buildroot}%{_sysconfdir}/%{name}/config.js
+install -Dpm0644 css/custom.css.sample %{buildroot}%{_sysconfdir}/%{name}/custom.css
+install -Ddpm0755 %{buildroot}%{nodejs_sitelib}/%{name}/config
+ln -s %{_sysconfdir}/%{name}/config.js %{buildroot}%{nodejs_sitelib}/%{name}/config
+install -Dpm0644 -t %{buildroot}%{nodejs_sitelib}/%{name}/css css/main.css
+ln -s %{_sysconfdir}/%{name}/custom.css %{buildroot}%{nodejs_sitelib}/%{name}/css
+
+# Install systemd unit
+install -Dpm0644 -t %{buildroot}%{_unitdir} %{SOURCE5}
+install -Dpm0644 %{SOURCE6} %{buildroot}%{_sysusersdir}/%{name}.conf
+
+# Install RPM macros
+install -Dpm0644 -t %{buildroot}%{rpmmacrodir} %{SOURCE4}
+
+%check
+%nodejs_symlink_deps --check
+# Setup bundled dev node_modules for testing
+tar xfz %{SOURCE2}
+for dir in node_modules fonts/node_modules vendor/node_modules; do
+ pushd "$dir"
+ ln -sf ../node_modules_dev/* .
+ popd
+ if [ -e "${dir}/.bin" ]; then
+ pushd "${dir}/.bin"
+ [ -e ../../node_modules_dev/.bin ] && ln -sf ../../node_modules_dev/.bin/* .
+ popd
+ fi
+done
+# Required for the e2e tests
+ln -s custom.css.sample css/custom.css
+# Run tests
+./node_modules/.bin/jest \
+ --modulePathIgnorePatterns node_modules_prod node_modules_dev \
+ --selectProjects e2e unit \
+ -i \
+ --forceExit
+
+%pre
+%sysusers_create_compat %{SOURCE4}
+
+%post
+%systemd_post %{name}.service
+
+%preun
+%systemd_preun %{name}.service
+
+%postun
+%systemd_postun_with_restart %{name}.service
+
+%files
+%doc CHANGELOG.md README.md
+%license LICENSE.md %{srcname}-%{version}-bundled-licenses.txt
+%{nodejs_sitelib}/%{name}
+%dir %{_sysconfdir}/%{name}
+%config(noreplace) %{_sysconfdir}/%{name}/config.js
+%config(noreplace) %{_sysconfdir}/%{name}/custom.css
+%{_sysusersdir}/%{name}.conf
+%{_unitdir}/%{name}.service
+
+%files rpm-macros
+%license LICENSE.md
+%{rpmmacrodir}/macros.magicmirror
+
+%changelog
+%autochangelog
diff --git a/magicmirror.sysusers b/magicmirror.sysusers
new file mode 100644
index 0000000..cd8c5cf
--- /dev/null
+++ b/magicmirror.sysusers
@@ -0,0 +1,2 @@
+#Type Name ID GECOS Home directory Shell
+u magicmirror - "MagicMirror" /usr/lib/node_modules/magicmirror /sbin/nologin
diff --git a/sources b/sources
new file mode 100644
index 0000000..98b04fa
--- /dev/null
+++ b/sources
@@ -0,0 +1,3 @@
+SHA512 (MagicMirror-2.20.0-nm-dev.tgz) = d321c624de10029596710e74aa4be2f760c9301db5eefbb31bc759167c82e4f07ef956d3310b9068f1ce267c7b2e0f42f9e5380f42d8309b2ccf2246127624c7
+SHA512 (MagicMirror-2.20.0-nm-prod.tgz) = bbdadf7d5323abdcd07c90d5ef01781ef562880966d0fb1af47d3289cf765523b475d3dffd7ffda287f96ecc6a2bfdfbbb3b11af2130b4c8f853834ea3154b1d
+SHA512 (MagicMirror-2.20.0.tar.gz) = bcee62e88e417de07947e82ff23260313880964df057de166d581d3e31cefb1e8e5dcd98674a683b013dd22e0e6707b206a63024397806618917575a5e284e14
1 year, 2 months
Architecture specific change in rpms/magicmirror.git
by githook-noreply@fedoraproject.org
The package rpms/magicmirror.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/magicmirror.git/commit/?id=f58430....
Change:
+ExclusiveArch: %{nodejs_arches} noarch
Thanks.
Full change:
============
commit 31f1795f2ea4c9a73ea4cd167dd5bb07fb0b9605
Author: Davide Cavalca <dcavalca(a)fedoraproject.org>
Date: Sat Mar 4 19:13:14 2023 -0800
Update to 2.22.0; Fixes: RHBZ#2175461
diff --git a/.gitignore b/.gitignore
index d8378f7..c96e58f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
/MagicMirror-2.20.0-nm-dev.tgz
/MagicMirror-2.20.0-nm-prod.tgz
/MagicMirror-2.20.0.tar.gz
+/MagicMirror-2.22.0-nm-dev.tgz
+/MagicMirror-2.22.0-nm-prod.tgz
+/MagicMirror-2.22.0.tar.gz
diff --git a/MagicMirror-2.20.0-bundled-licenses.txt b/MagicMirror-2.22.0-bundled-licenses.txt
similarity index 96%
rename from MagicMirror-2.20.0-bundled-licenses.txt
rename to MagicMirror-2.22.0-bundled-licenses.txt
index e7cd156..f5bab31 100644
--- a/MagicMirror-2.20.0-bundled-licenses.txt
+++ b/MagicMirror-2.22.0-bundled-licenses.txt
@@ -1,6 +1,5 @@
"0BSD"
"Apache-2.0"
-"BSD"
"BSD-2-Clause"
"BSD-3-Clause"
"(CC-BY-4.0 AND OFL-1.1 AND MIT)"
diff --git a/magicmirror.service b/magicmirror.service
index c38a8a0..8731c29 100644
--- a/magicmirror.service
+++ b/magicmirror.service
@@ -5,6 +5,7 @@ After=network-online.target
[Service]
WorkingDirectory=/usr/lib/node_modules/magicmirror
+ExecStartPre=/usr/bin/node js/check_config.js
ExecStart=/usr/bin/node serveronly
User=magicmirror
Group=magicmirror
diff --git a/magicmirror.spec b/magicmirror.spec
index 54a1eb3..bcfdd1d 100644
--- a/magicmirror.spec
+++ b/magicmirror.spec
@@ -2,7 +2,7 @@
%global forgeurl https://github.com/MichMich/MagicMirror
Name: magicmirror
-Version: 2.20.0
+Version: 2.22.0
Release: %autorelease
Summary: Modular smart mirror platform
@@ -10,11 +10,8 @@ License: 0BSD and ASL 2.0 and BSD and CC-BY and ISC and MIT and OFL and P
URL: http://magicmirror.builders
# Use the GitHub tarball due to https://github.com/MichMich/MagicMirror/issues/2876
Source0: %{forgeurl}/archive/v%{version}/%{srcname}-%{version}.tar.gz
-# Created with:
-# nodejs-packaging-bundler MagicMirror 2.20.0 MagicMirror-2.20.0.tar.gz
-# with these PRs applied:
-# https://src.fedoraproject.org/rpms/nodejs-packaging/pull-request/9
-# https://src.fedoraproject.org/rpms/nodejs-packaging/pull-request/10
+# Created with nodejs-packaging >= 2021.06-7 running:
+# nodejs-packaging-bundler MagicMirror 2.22.0 MagicMirror-2.22.0.tar.gz
Source1: %{srcname}-%{version}-nm-prod.tgz
Source2: %{srcname}-%{version}-nm-dev.tgz
Source3: %{srcname}-%{version}-bundled-licenses.txt
diff --git a/sources b/sources
index 98b04fa..1fef16c 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (MagicMirror-2.20.0-nm-dev.tgz) = d321c624de10029596710e74aa4be2f760c9301db5eefbb31bc759167c82e4f07ef956d3310b9068f1ce267c7b2e0f42f9e5380f42d8309b2ccf2246127624c7
-SHA512 (MagicMirror-2.20.0-nm-prod.tgz) = bbdadf7d5323abdcd07c90d5ef01781ef562880966d0fb1af47d3289cf765523b475d3dffd7ffda287f96ecc6a2bfdfbbb3b11af2130b4c8f853834ea3154b1d
-SHA512 (MagicMirror-2.20.0.tar.gz) = bcee62e88e417de07947e82ff23260313880964df057de166d581d3e31cefb1e8e5dcd98674a683b013dd22e0e6707b206a63024397806618917575a5e284e14
+SHA512 (MagicMirror-2.22.0-nm-dev.tgz) = 01d7b54b050d86439a764adcb81cd682f428b6e058ee3813b5982bc6c4db290905c71b6e75089d3866cbc758454421e135db7922709a75eff71527a7aa943818
+SHA512 (MagicMirror-2.22.0-nm-prod.tgz) = 43b141bc01156203a949e42c4737d444756dffcb60b23865872e21a89ccba294ea61538e580b141ad03213e3f9f211cdf0323f5f1e82e7b8a61998a9a91969d3
+SHA512 (MagicMirror-2.22.0.tar.gz) = 00b012990911ae34f555c5fe9ef998432a2c040561f0ee4869550b575c9c04abec8b88a4701accef582e7e0fb93ce415573262af1f4070cc47f15bb2c7f49a66
commit f58430e09d05e73fa07bc7ff7da06a4742286c3b
Author: Davide Cavalca <dcavalca(a)fedoraproject.org>
Date: Sun Feb 12 15:34:24 2023 -0800
Initial import; Fixes: RHBZ#2103400
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d8378f7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/MagicMirror-2.20.0-nm-dev.tgz
+/MagicMirror-2.20.0-nm-prod.tgz
+/MagicMirror-2.20.0.tar.gz
diff --git a/MagicMirror-2.20.0-bundled-licenses.txt b/MagicMirror-2.20.0-bundled-licenses.txt
new file mode 100644
index 0000000..e7cd156
--- /dev/null
+++ b/MagicMirror-2.20.0-bundled-licenses.txt
@@ -0,0 +1,11 @@
+"0BSD"
+"Apache-2.0"
+"BSD"
+"BSD-2-Clause"
+"BSD-3-Clause"
+"(CC-BY-4.0 AND OFL-1.1 AND MIT)"
+"ISC"
+"MIT"
+"(MIT OR CC0-1.0)"
+"Python-2.0"
+"SEE LICENSE IN LICENSE"
diff --git a/macros.magicmirror b/macros.magicmirror
new file mode 100644
index 0000000..a4dcfba
--- /dev/null
+++ b/macros.magicmirror
@@ -0,0 +1,8 @@
+# RPM macros for MagicMirror modules
+
+%mmm_modules_dir %{nodejs_sitelib}/magicmirror/modules
+%mmm_requires \
+BuildRequires: magicmirror \
+BuildRequires: nodejs-devel \
+Requires: magicmirror \
+%{nil}
diff --git a/magicmirror.service b/magicmirror.service
new file mode 100644
index 0000000..c38a8a0
--- /dev/null
+++ b/magicmirror.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=MagicMirror²
+Documentation=https://docs.magicmirror.builders
+After=network-online.target
+
+[Service]
+WorkingDirectory=/usr/lib/node_modules/magicmirror
+ExecStart=/usr/bin/node serveronly
+User=magicmirror
+Group=magicmirror
+Restart=always
+ProtectHome=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/magicmirror.spec b/magicmirror.spec
new file mode 100644
index 0000000..54a1eb3
--- /dev/null
+++ b/magicmirror.spec
@@ -0,0 +1,139 @@
+%global srcname MagicMirror
+%global forgeurl https://github.com/MichMich/MagicMirror
+
+Name: magicmirror
+Version: 2.20.0
+Release: %autorelease
+Summary: Modular smart mirror platform
+
+License: 0BSD and ASL 2.0 and BSD and CC-BY and ISC and MIT and OFL and Python
+URL: http://magicmirror.builders
+# Use the GitHub tarball due to https://github.com/MichMich/MagicMirror/issues/2876
+Source0: %{forgeurl}/archive/v%{version}/%{srcname}-%{version}.tar.gz
+# Created with:
+# nodejs-packaging-bundler MagicMirror 2.20.0 MagicMirror-2.20.0.tar.gz
+# with these PRs applied:
+# https://src.fedoraproject.org/rpms/nodejs-packaging/pull-request/9
+# https://src.fedoraproject.org/rpms/nodejs-packaging/pull-request/10
+Source1: %{srcname}-%{version}-nm-prod.tgz
+Source2: %{srcname}-%{version}-nm-dev.tgz
+Source3: %{srcname}-%{version}-bundled-licenses.txt
+Source4: macros.%{name}
+Source5: %{name}.service
+Source6: %{name}.sysusers
+
+BuildArch: noarch
+ExclusiveArch: %{nodejs_arches} noarch
+
+Requires: nodejs
+BuildRequires: nodejs-devel
+BuildRequires: systemd-rpm-macros
+
+%description
+MagicMirror² is an open source modular smart mirror platform. With a growing
+list of installable modules, the MagicMirror² allows you to convert your
+hallway or bathroom mirror into your personal assistant.
+
+This package contains the server version of MagicMirror², which is meant to be
+accessed via a browser.
+
+%package rpm-macros
+Summary: RPM macros for %{name}
+Requires: rpm
+
+%description rpm-macros
+This package contains RPM packaging macros for %{name}.
+
+%prep
+%setup -q -n %{srcname}-%{version}
+cp %{SOURCE3} .
+# Fix permissions: https://github.com/MichMich/MagicMirror/pull/2877
+chmod -x modules/default/calendar/{README.md,calendar.js} \
+ modules/default/weather/{README.md,current.njk,weatherobject.js} \
+ modules/default/weather/providers/* \
+ vendor/{package.json,vendor.js}
+
+%build
+# Setup bundled node modules
+tar xfz %{SOURCE1}
+for dir in node_modules fonts/node_modules vendor/node_modules; do
+ mkdir -p "$dir"
+ pushd "$dir"
+ ln -s ../node_modules_prod/* .
+ [ -e ../node_modules_prod/.bin ] && ln -s ../node_modules_prod/.bin .
+ popd
+done
+
+%install
+mkdir -p %{buildroot}%{nodejs_sitelib}/%{name}
+cp -pr package.json fonts/ index.html js/ modules/ serveronly/ translations/ vendor/ \
+ %{buildroot}%{nodejs_sitelib}/%{name}
+# Copy over bundled nodejs modules
+cp -pr node_modules node_modules_prod %{buildroot}%{nodejs_sitelib}/%{name}
+
+# Install config files
+install -Dpm0644 config/config.js.sample %{buildroot}%{_sysconfdir}/%{name}/config.js
+install -Dpm0644 css/custom.css.sample %{buildroot}%{_sysconfdir}/%{name}/custom.css
+install -Ddpm0755 %{buildroot}%{nodejs_sitelib}/%{name}/config
+ln -s %{_sysconfdir}/%{name}/config.js %{buildroot}%{nodejs_sitelib}/%{name}/config
+install -Dpm0644 -t %{buildroot}%{nodejs_sitelib}/%{name}/css css/main.css
+ln -s %{_sysconfdir}/%{name}/custom.css %{buildroot}%{nodejs_sitelib}/%{name}/css
+
+# Install systemd unit
+install -Dpm0644 -t %{buildroot}%{_unitdir} %{SOURCE5}
+install -Dpm0644 %{SOURCE6} %{buildroot}%{_sysusersdir}/%{name}.conf
+
+# Install RPM macros
+install -Dpm0644 -t %{buildroot}%{rpmmacrodir} %{SOURCE4}
+
+%check
+%nodejs_symlink_deps --check
+# Setup bundled dev node_modules for testing
+tar xfz %{SOURCE2}
+for dir in node_modules fonts/node_modules vendor/node_modules; do
+ pushd "$dir"
+ ln -sf ../node_modules_dev/* .
+ popd
+ if [ -e "${dir}/.bin" ]; then
+ pushd "${dir}/.bin"
+ [ -e ../../node_modules_dev/.bin ] && ln -sf ../../node_modules_dev/.bin/* .
+ popd
+ fi
+done
+# Required for the e2e tests
+ln -s custom.css.sample css/custom.css
+# Run tests
+./node_modules/.bin/jest \
+ --modulePathIgnorePatterns node_modules_prod node_modules_dev \
+ --selectProjects e2e unit \
+ -i \
+ --forceExit
+
+%pre
+%sysusers_create_compat %{SOURCE4}
+
+%post
+%systemd_post %{name}.service
+
+%preun
+%systemd_preun %{name}.service
+
+%postun
+%systemd_postun_with_restart %{name}.service
+
+%files
+%doc CHANGELOG.md README.md
+%license LICENSE.md %{srcname}-%{version}-bundled-licenses.txt
+%{nodejs_sitelib}/%{name}
+%dir %{_sysconfdir}/%{name}
+%config(noreplace) %{_sysconfdir}/%{name}/config.js
+%config(noreplace) %{_sysconfdir}/%{name}/custom.css
+%{_sysusersdir}/%{name}.conf
+%{_unitdir}/%{name}.service
+
+%files rpm-macros
+%license LICENSE.md
+%{rpmmacrodir}/macros.magicmirror
+
+%changelog
+%autochangelog
diff --git a/magicmirror.sysusers b/magicmirror.sysusers
new file mode 100644
index 0000000..cd8c5cf
--- /dev/null
+++ b/magicmirror.sysusers
@@ -0,0 +1,2 @@
+#Type Name ID GECOS Home directory Shell
+u magicmirror - "MagicMirror" /usr/lib/node_modules/magicmirror /sbin/nologin
diff --git a/sources b/sources
new file mode 100644
index 0000000..98b04fa
--- /dev/null
+++ b/sources
@@ -0,0 +1,3 @@
+SHA512 (MagicMirror-2.20.0-nm-dev.tgz) = d321c624de10029596710e74aa4be2f760c9301db5eefbb31bc759167c82e4f07ef956d3310b9068f1ce267c7b2e0f42f9e5380f42d8309b2ccf2246127624c7
+SHA512 (MagicMirror-2.20.0-nm-prod.tgz) = bbdadf7d5323abdcd07c90d5ef01781ef562880966d0fb1af47d3289cf765523b475d3dffd7ffda287f96ecc6a2bfdfbbb3b11af2130b4c8f853834ea3154b1d
+SHA512 (MagicMirror-2.20.0.tar.gz) = bcee62e88e417de07947e82ff23260313880964df057de166d581d3e31cefb1e8e5dcd98674a683b013dd22e0e6707b206a63024397806618917575a5e284e14
1 year, 2 months
Architecture specific change in rpms/magicmirror.git
by githook-noreply@fedoraproject.org
The package rpms/magicmirror.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/magicmirror.git/commit/?id=f58430....
Change:
+ExclusiveArch: %{nodejs_arches} noarch
Thanks.
Full change:
============
commit 31f1795f2ea4c9a73ea4cd167dd5bb07fb0b9605
Author: Davide Cavalca <dcavalca(a)fedoraproject.org>
Date: Sat Mar 4 19:13:14 2023 -0800
Update to 2.22.0; Fixes: RHBZ#2175461
diff --git a/.gitignore b/.gitignore
index d8378f7..c96e58f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
/MagicMirror-2.20.0-nm-dev.tgz
/MagicMirror-2.20.0-nm-prod.tgz
/MagicMirror-2.20.0.tar.gz
+/MagicMirror-2.22.0-nm-dev.tgz
+/MagicMirror-2.22.0-nm-prod.tgz
+/MagicMirror-2.22.0.tar.gz
diff --git a/MagicMirror-2.20.0-bundled-licenses.txt b/MagicMirror-2.22.0-bundled-licenses.txt
similarity index 96%
rename from MagicMirror-2.20.0-bundled-licenses.txt
rename to MagicMirror-2.22.0-bundled-licenses.txt
index e7cd156..f5bab31 100644
--- a/MagicMirror-2.20.0-bundled-licenses.txt
+++ b/MagicMirror-2.22.0-bundled-licenses.txt
@@ -1,6 +1,5 @@
"0BSD"
"Apache-2.0"
-"BSD"
"BSD-2-Clause"
"BSD-3-Clause"
"(CC-BY-4.0 AND OFL-1.1 AND MIT)"
diff --git a/magicmirror.service b/magicmirror.service
index c38a8a0..8731c29 100644
--- a/magicmirror.service
+++ b/magicmirror.service
@@ -5,6 +5,7 @@ After=network-online.target
[Service]
WorkingDirectory=/usr/lib/node_modules/magicmirror
+ExecStartPre=/usr/bin/node js/check_config.js
ExecStart=/usr/bin/node serveronly
User=magicmirror
Group=magicmirror
diff --git a/magicmirror.spec b/magicmirror.spec
index 54a1eb3..bcfdd1d 100644
--- a/magicmirror.spec
+++ b/magicmirror.spec
@@ -2,7 +2,7 @@
%global forgeurl https://github.com/MichMich/MagicMirror
Name: magicmirror
-Version: 2.20.0
+Version: 2.22.0
Release: %autorelease
Summary: Modular smart mirror platform
@@ -10,11 +10,8 @@ License: 0BSD and ASL 2.0 and BSD and CC-BY and ISC and MIT and OFL and P
URL: http://magicmirror.builders
# Use the GitHub tarball due to https://github.com/MichMich/MagicMirror/issues/2876
Source0: %{forgeurl}/archive/v%{version}/%{srcname}-%{version}.tar.gz
-# Created with:
-# nodejs-packaging-bundler MagicMirror 2.20.0 MagicMirror-2.20.0.tar.gz
-# with these PRs applied:
-# https://src.fedoraproject.org/rpms/nodejs-packaging/pull-request/9
-# https://src.fedoraproject.org/rpms/nodejs-packaging/pull-request/10
+# Created with nodejs-packaging >= 2021.06-7 running:
+# nodejs-packaging-bundler MagicMirror 2.22.0 MagicMirror-2.22.0.tar.gz
Source1: %{srcname}-%{version}-nm-prod.tgz
Source2: %{srcname}-%{version}-nm-dev.tgz
Source3: %{srcname}-%{version}-bundled-licenses.txt
diff --git a/sources b/sources
index 98b04fa..1fef16c 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (MagicMirror-2.20.0-nm-dev.tgz) = d321c624de10029596710e74aa4be2f760c9301db5eefbb31bc759167c82e4f07ef956d3310b9068f1ce267c7b2e0f42f9e5380f42d8309b2ccf2246127624c7
-SHA512 (MagicMirror-2.20.0-nm-prod.tgz) = bbdadf7d5323abdcd07c90d5ef01781ef562880966d0fb1af47d3289cf765523b475d3dffd7ffda287f96ecc6a2bfdfbbb3b11af2130b4c8f853834ea3154b1d
-SHA512 (MagicMirror-2.20.0.tar.gz) = bcee62e88e417de07947e82ff23260313880964df057de166d581d3e31cefb1e8e5dcd98674a683b013dd22e0e6707b206a63024397806618917575a5e284e14
+SHA512 (MagicMirror-2.22.0-nm-dev.tgz) = 01d7b54b050d86439a764adcb81cd682f428b6e058ee3813b5982bc6c4db290905c71b6e75089d3866cbc758454421e135db7922709a75eff71527a7aa943818
+SHA512 (MagicMirror-2.22.0-nm-prod.tgz) = 43b141bc01156203a949e42c4737d444756dffcb60b23865872e21a89ccba294ea61538e580b141ad03213e3f9f211cdf0323f5f1e82e7b8a61998a9a91969d3
+SHA512 (MagicMirror-2.22.0.tar.gz) = 00b012990911ae34f555c5fe9ef998432a2c040561f0ee4869550b575c9c04abec8b88a4701accef582e7e0fb93ce415573262af1f4070cc47f15bb2c7f49a66
commit f58430e09d05e73fa07bc7ff7da06a4742286c3b
Author: Davide Cavalca <dcavalca(a)fedoraproject.org>
Date: Sun Feb 12 15:34:24 2023 -0800
Initial import; Fixes: RHBZ#2103400
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d8378f7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/MagicMirror-2.20.0-nm-dev.tgz
+/MagicMirror-2.20.0-nm-prod.tgz
+/MagicMirror-2.20.0.tar.gz
diff --git a/MagicMirror-2.20.0-bundled-licenses.txt b/MagicMirror-2.20.0-bundled-licenses.txt
new file mode 100644
index 0000000..e7cd156
--- /dev/null
+++ b/MagicMirror-2.20.0-bundled-licenses.txt
@@ -0,0 +1,11 @@
+"0BSD"
+"Apache-2.0"
+"BSD"
+"BSD-2-Clause"
+"BSD-3-Clause"
+"(CC-BY-4.0 AND OFL-1.1 AND MIT)"
+"ISC"
+"MIT"
+"(MIT OR CC0-1.0)"
+"Python-2.0"
+"SEE LICENSE IN LICENSE"
diff --git a/macros.magicmirror b/macros.magicmirror
new file mode 100644
index 0000000..a4dcfba
--- /dev/null
+++ b/macros.magicmirror
@@ -0,0 +1,8 @@
+# RPM macros for MagicMirror modules
+
+%mmm_modules_dir %{nodejs_sitelib}/magicmirror/modules
+%mmm_requires \
+BuildRequires: magicmirror \
+BuildRequires: nodejs-devel \
+Requires: magicmirror \
+%{nil}
diff --git a/magicmirror.service b/magicmirror.service
new file mode 100644
index 0000000..c38a8a0
--- /dev/null
+++ b/magicmirror.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=MagicMirror²
+Documentation=https://docs.magicmirror.builders
+After=network-online.target
+
+[Service]
+WorkingDirectory=/usr/lib/node_modules/magicmirror
+ExecStart=/usr/bin/node serveronly
+User=magicmirror
+Group=magicmirror
+Restart=always
+ProtectHome=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/magicmirror.spec b/magicmirror.spec
new file mode 100644
index 0000000..54a1eb3
--- /dev/null
+++ b/magicmirror.spec
@@ -0,0 +1,139 @@
+%global srcname MagicMirror
+%global forgeurl https://github.com/MichMich/MagicMirror
+
+Name: magicmirror
+Version: 2.20.0
+Release: %autorelease
+Summary: Modular smart mirror platform
+
+License: 0BSD and ASL 2.0 and BSD and CC-BY and ISC and MIT and OFL and Python
+URL: http://magicmirror.builders
+# Use the GitHub tarball due to https://github.com/MichMich/MagicMirror/issues/2876
+Source0: %{forgeurl}/archive/v%{version}/%{srcname}-%{version}.tar.gz
+# Created with:
+# nodejs-packaging-bundler MagicMirror 2.20.0 MagicMirror-2.20.0.tar.gz
+# with these PRs applied:
+# https://src.fedoraproject.org/rpms/nodejs-packaging/pull-request/9
+# https://src.fedoraproject.org/rpms/nodejs-packaging/pull-request/10
+Source1: %{srcname}-%{version}-nm-prod.tgz
+Source2: %{srcname}-%{version}-nm-dev.tgz
+Source3: %{srcname}-%{version}-bundled-licenses.txt
+Source4: macros.%{name}
+Source5: %{name}.service
+Source6: %{name}.sysusers
+
+BuildArch: noarch
+ExclusiveArch: %{nodejs_arches} noarch
+
+Requires: nodejs
+BuildRequires: nodejs-devel
+BuildRequires: systemd-rpm-macros
+
+%description
+MagicMirror² is an open source modular smart mirror platform. With a growing
+list of installable modules, the MagicMirror² allows you to convert your
+hallway or bathroom mirror into your personal assistant.
+
+This package contains the server version of MagicMirror², which is meant to be
+accessed via a browser.
+
+%package rpm-macros
+Summary: RPM macros for %{name}
+Requires: rpm
+
+%description rpm-macros
+This package contains RPM packaging macros for %{name}.
+
+%prep
+%setup -q -n %{srcname}-%{version}
+cp %{SOURCE3} .
+# Fix permissions: https://github.com/MichMich/MagicMirror/pull/2877
+chmod -x modules/default/calendar/{README.md,calendar.js} \
+ modules/default/weather/{README.md,current.njk,weatherobject.js} \
+ modules/default/weather/providers/* \
+ vendor/{package.json,vendor.js}
+
+%build
+# Setup bundled node modules
+tar xfz %{SOURCE1}
+for dir in node_modules fonts/node_modules vendor/node_modules; do
+ mkdir -p "$dir"
+ pushd "$dir"
+ ln -s ../node_modules_prod/* .
+ [ -e ../node_modules_prod/.bin ] && ln -s ../node_modules_prod/.bin .
+ popd
+done
+
+%install
+mkdir -p %{buildroot}%{nodejs_sitelib}/%{name}
+cp -pr package.json fonts/ index.html js/ modules/ serveronly/ translations/ vendor/ \
+ %{buildroot}%{nodejs_sitelib}/%{name}
+# Copy over bundled nodejs modules
+cp -pr node_modules node_modules_prod %{buildroot}%{nodejs_sitelib}/%{name}
+
+# Install config files
+install -Dpm0644 config/config.js.sample %{buildroot}%{_sysconfdir}/%{name}/config.js
+install -Dpm0644 css/custom.css.sample %{buildroot}%{_sysconfdir}/%{name}/custom.css
+install -Ddpm0755 %{buildroot}%{nodejs_sitelib}/%{name}/config
+ln -s %{_sysconfdir}/%{name}/config.js %{buildroot}%{nodejs_sitelib}/%{name}/config
+install -Dpm0644 -t %{buildroot}%{nodejs_sitelib}/%{name}/css css/main.css
+ln -s %{_sysconfdir}/%{name}/custom.css %{buildroot}%{nodejs_sitelib}/%{name}/css
+
+# Install systemd unit
+install -Dpm0644 -t %{buildroot}%{_unitdir} %{SOURCE5}
+install -Dpm0644 %{SOURCE6} %{buildroot}%{_sysusersdir}/%{name}.conf
+
+# Install RPM macros
+install -Dpm0644 -t %{buildroot}%{rpmmacrodir} %{SOURCE4}
+
+%check
+%nodejs_symlink_deps --check
+# Setup bundled dev node_modules for testing
+tar xfz %{SOURCE2}
+for dir in node_modules fonts/node_modules vendor/node_modules; do
+ pushd "$dir"
+ ln -sf ../node_modules_dev/* .
+ popd
+ if [ -e "${dir}/.bin" ]; then
+ pushd "${dir}/.bin"
+ [ -e ../../node_modules_dev/.bin ] && ln -sf ../../node_modules_dev/.bin/* .
+ popd
+ fi
+done
+# Required for the e2e tests
+ln -s custom.css.sample css/custom.css
+# Run tests
+./node_modules/.bin/jest \
+ --modulePathIgnorePatterns node_modules_prod node_modules_dev \
+ --selectProjects e2e unit \
+ -i \
+ --forceExit
+
+%pre
+%sysusers_create_compat %{SOURCE4}
+
+%post
+%systemd_post %{name}.service
+
+%preun
+%systemd_preun %{name}.service
+
+%postun
+%systemd_postun_with_restart %{name}.service
+
+%files
+%doc CHANGELOG.md README.md
+%license LICENSE.md %{srcname}-%{version}-bundled-licenses.txt
+%{nodejs_sitelib}/%{name}
+%dir %{_sysconfdir}/%{name}
+%config(noreplace) %{_sysconfdir}/%{name}/config.js
+%config(noreplace) %{_sysconfdir}/%{name}/custom.css
+%{_sysusersdir}/%{name}.conf
+%{_unitdir}/%{name}.service
+
+%files rpm-macros
+%license LICENSE.md
+%{rpmmacrodir}/macros.magicmirror
+
+%changelog
+%autochangelog
diff --git a/magicmirror.sysusers b/magicmirror.sysusers
new file mode 100644
index 0000000..cd8c5cf
--- /dev/null
+++ b/magicmirror.sysusers
@@ -0,0 +1,2 @@
+#Type Name ID GECOS Home directory Shell
+u magicmirror - "MagicMirror" /usr/lib/node_modules/magicmirror /sbin/nologin
diff --git a/sources b/sources
new file mode 100644
index 0000000..98b04fa
--- /dev/null
+++ b/sources
@@ -0,0 +1,3 @@
+SHA512 (MagicMirror-2.20.0-nm-dev.tgz) = d321c624de10029596710e74aa4be2f760c9301db5eefbb31bc759167c82e4f07ef956d3310b9068f1ce267c7b2e0f42f9e5380f42d8309b2ccf2246127624c7
+SHA512 (MagicMirror-2.20.0-nm-prod.tgz) = bbdadf7d5323abdcd07c90d5ef01781ef562880966d0fb1af47d3289cf765523b475d3dffd7ffda287f96ecc6a2bfdfbbb3b11af2130b4c8f853834ea3154b1d
+SHA512 (MagicMirror-2.20.0.tar.gz) = bcee62e88e417de07947e82ff23260313880964df057de166d581d3e31cefb1e8e5dcd98674a683b013dd22e0e6707b206a63024397806618917575a5e284e14
1 year, 2 months
Architecture specific change in rpms/gap-pkg-browse.git
by githook-noreply@fedoraproject.org
The package rpms/gap-pkg-browse.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/gap-pkg-browse.git/commit/?id=8c8....
Change:
+ExclusiveArch: %{gap_arches}
Thanks.
Full change:
============
commit 3188cc4ab5ac32987613816530b692fa5fde42f0
Author: Jerry James <loganjerry(a)gmail.com>
Date: Mon Mar 6 08:30:14 2023 -0700
Version 1.8.21.
diff --git a/gap-pkg-browse.spec b/gap-pkg-browse.spec
index 6e93bfb..e3f87e6 100644
--- a/gap-pkg-browse.spec
+++ b/gap-pkg-browse.spec
@@ -24,7 +24,7 @@
%bcond_with bootstrap
Name: gap-pkg-%{pkgname}
-Version: 1.8.20
+Version: 1.8.21
Release: 1%{?dist}
Summary: GAP browser for 2-dimensional arrays of data
@@ -54,6 +54,7 @@ Requires: gap-core%{?_isa}
Recommends: gap-pkg-atlasrep
Recommends: gap-pkg-io%{?_isa}
+Recommends: gap-pkg-tomlib
# Don't Provide the ncurses glue
%global __provides_exclude_from ncurses\\.so
@@ -145,6 +146,9 @@ cp -a app bibl bin lib tst version *.g %{buildroot}%{gap_archdir}/pkg/%{upname}
%{gap_archdir}/pkg/%{upname}/doc/
%changelog
+* Mon Mar 6 2023 Jerry James <loganjerry(a)gmail.com> - 1.8.21-1
+- Version 1.8.21
+
* Thu Jan 19 2023 Jerry James <loganjerry(a)gmail.com> - 1.8.20-1
- Version 1.8.20
diff --git a/sources b/sources
index 9e45403..12084bf 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (Browse-1.8.20.tar.bz2) = a398916a04231901ad0dc976cc4834351d836718b1f434d3000d57545080d634bd971ebd772d0a75718fa7389fc51045491b433c59d3c61a734d49c8ba021d32
+SHA512 (Browse-1.8.21.tar.bz2) = 23c99cea9da1d48bfabb3279e372cbe89424e418f6d09a716d9b7d82d70d1d1bf7b4ee2956d7b1cda36155e2a9e2bd2ffc0c72e5004fecfe2b92e99a508092eb
commit 8c82e2370c1a07114990aa5840f50cecf9e6ea54
Author: Jerry James <loganjerry(a)gmail.com>
Date: Tue Feb 14 13:49:38 2023 -0700
Use the %gap_arches macro.
diff --git a/gap-pkg-browse.spec b/gap-pkg-browse.spec
index 64155b5..6e93bfb 100644
--- a/gap-pkg-browse.spec
+++ b/gap-pkg-browse.spec
@@ -29,7 +29,7 @@ Release: 1%{?dist}
Summary: GAP browser for 2-dimensional arrays of data
License: GPL-3.0-or-later
-ExclusiveArch: aarch64 ppc64le s390x x86_64
+ExclusiveArch: %{gap_arches}
URL: https://www.math.rwth-aachen.de/~Browse/
Source0: %{url}/%{upname}-%{version}.tar.bz2
1 year, 2 months
Architecture specific change in rpms/yle-dl.git
by githook-noreply@fedoraproject.org
The package rpms/yle-dl.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/yle-dl.git/commit/?id=76032c7f0d0....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit 76032c7f0d0d0a923f64c1dc84f37d676a09ed00
Author: Otto Liljalaakso <otto.liljalaakso(a)iki.fi>
Date: Mon Mar 6 14:50:25 2023 +0200
Exclude i686 architecture
This package depends on python3-xattr, which is archful and
excludes i686. Thus, this package has to do the same, in order to
avoid getting assigned to i686 builder in Koji and failing due to
the missing dependency.
diff --git a/yle-dl.spec b/yle-dl.spec
index 0c6b67f..a0736db 100644
--- a/yle-dl.spec
+++ b/yle-dl.spec
@@ -8,6 +8,9 @@ URL: https://aajanki.github.io/yle-dl/index-en.html
Source: https://github.com/aajanki/%{name}/archive/%{version}/%{name}-%{version}....
BuildArch: noarch
+# Depends on archful python3-xattr which excludes i686
+ExcludeArch: %{ix86}
+
BuildRequires: python3-devel
Requires: /usr/bin/ffmpeg
# According to README, needed "optionally for few rare streams".
1 year, 2 months
Architecture specific change in rpms/yle-dl.git
by githook-noreply@fedoraproject.org
The package rpms/yle-dl.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/yle-dl.git/commit/?id=76032c7f0d0....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit 76032c7f0d0d0a923f64c1dc84f37d676a09ed00
Author: Otto Liljalaakso <otto.liljalaakso(a)iki.fi>
Date: Mon Mar 6 14:50:25 2023 +0200
Exclude i686 architecture
This package depends on python3-xattr, which is archful and
excludes i686. Thus, this package has to do the same, in order to
avoid getting assigned to i686 builder in Koji and failing due to
the missing dependency.
diff --git a/yle-dl.spec b/yle-dl.spec
index 0c6b67f..a0736db 100644
--- a/yle-dl.spec
+++ b/yle-dl.spec
@@ -8,6 +8,9 @@ URL: https://aajanki.github.io/yle-dl/index-en.html
Source: https://github.com/aajanki/%{name}/archive/%{version}/%{name}-%{version}....
BuildArch: noarch
+# Depends on archful python3-xattr which excludes i686
+ExcludeArch: %{ix86}
+
BuildRequires: python3-devel
Requires: /usr/bin/ffmpeg
# According to README, needed "optionally for few rare streams".
1 year, 2 months
Architecture specific change in rpms/yle-dl.git
by githook-noreply@fedoraproject.org
The package rpms/yle-dl.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/yle-dl.git/commit/?id=8a16afcf29e....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit 8a16afcf29e81c336ac00794a5be442db87e254c
Author: Otto Liljalaakso <otto.liljalaakso(a)iki.fi>
Date: Mon Mar 6 14:50:25 2023 +0200
Exclude i686 architecture
This package depends on python3-xattr, which is archful and
excludes i686. Thus, this package has to do the same, in order to
avoid getting assigned to i686 builder in Koji and failing due to
the missing dependency.
diff --git a/yle-dl.spec b/yle-dl.spec
index e7ce347..8c063f4 100644
--- a/yle-dl.spec
+++ b/yle-dl.spec
@@ -8,6 +8,9 @@ URL: https://aajanki.github.io/yle-dl/index-en.html
Source: https://github.com/aajanki/%{name}/archive/%{version}/%{name}-%{version}....
BuildArch: noarch
+# Depends on archful python3-xattr which excludes i686
+ExcludeArch: %{ix86}
+
BuildRequires: python3-devel
Requires: /usr/bin/ffmpeg
# According to README, needed "optionally for few rare streams".
1 year, 2 months