[Report] Packages Restricting Arches
by root
Package that edited their arches constraints (1)
=============================================
- oci-seccomp-bpf-hook
was ExclusiveArch: x86_64 %%{power64} aarch64 s390x armv7hl
is ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
List of packages currently excluding arches (2505)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- OpenColorIO
ExclusiveArch: x86_64 ppc64le
- OpenImageIO
ExclusiveArch: x86_64 ppc64le
- OpenMolcas
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aardvark-dns
ExclusiveArch: %{rust_arches}
- aboot
ExclusiveArch: alpha
- accel-config
ExclusiveArch: %{ix86} x86_64
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64 s390x
- anet
ExclusiveArch: %{GPRbuild_arches}
- anki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- ant
ExclusiveArch: %{java_arches} noarch
- antlr
ExclusiveArch: %{java_arches}
- 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-compress
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-net
ExclusiveArch: %{java_arches} noarch
- apache-commons-parent
ExclusiveArch: %{java_arches} noarch
- apache-parent
ExclusiveArch: %{java_arches} noarch
- apache-resource-bundles
ExclusiveArch: %{java_arches} noarch
- apiguardian
ExclusiveArch: %{java_arches} noarch
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- aqute-bnd
ExclusiveArch: %{java_arches} noarch
- arm-trusted-firmware
ExclusiveArch: aarch64
- assertj-core
ExclusiveArch: %{java_arches} noarch
- atinject
ExclusiveArch: %{java_arches} noarch
- aunit
ExclusiveArch: %GPRbuild_arches
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- 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
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- beust-jcommander
ExclusiveArch: %{java_arches} noarch
- biosdevname
ExclusiveArch: %{ix86} x86_64
- blender
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- bless
ExclusiveArch: %mono_arches
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- bsf
ExclusiveArch: %{java_arches} noarch
- byte-buddy
ExclusiveArch: %{java_arches} noarch
- calamares
ExclusiveArch: %{ix86} x86_64 aarch64
- calibre
ExclusiveArch: %{qt5_qtwebengine_arches}
- 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 i686
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 i686 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- clevis-pin-tpm2
ExclusiveArch: %{rust_arches}
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- 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
- cryptlib
ExclusiveArch: x86_64 aarch64 ppc64le
- cryptobone
ExclusiveArch: x86_64 ppc64le aarch64
- csslint
ExclusiveArch: %{nodejs_arches} noarch
- daq
ExclusiveArch: x86_64 aarch64
- dbus-parsec
ExclusiveArch: %{rust_arches}
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- dbxtool
ExclusiveArch: i386 x86_64 aarch64
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-desktop-schemas
ExclusiveArch: %{go_arches}
- disruptor
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}}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dotnet-build-reference-packages
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- dotnet6.0
ExclusiveArch: aarch64 x86_64 s390x
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
- eclipse-swt
ExclusiveArch: s390x x86_64 aarch64 ppc64le
- 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
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- eth-tools
ExclusiveArch: x86_64
- extra-enforcer-rules
ExclusiveArch: %{java_arches} noarch
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- felix-parent
ExclusiveArch: %{java_arches} noarch
- felix-utils
ExclusiveArch: %{java_arches} noarch
- fes
ExclusiveArch: %{ix86} x86_64
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluent-bit
ExclusiveArch: x86_64 aarch64
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: %{ix86} x86_64 ppc64
- 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
- gbrainy
ExclusiveArch: %mono_arches
- gdb
ExclusiveArch: %{ix86} x86_64
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gearhead1
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}
- gmqcc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- 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}}
- go-compilers
ExclusiveArch: %{go_arches}
- go-rpm-macros
ExclusiveArch: %{golang_arches} %{gccgo_arches}
- 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-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}
- greetd
ExclusiveArch: %{rust_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
- hedgewars
ExclusiveArch: %{fpc_arches}
- 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
- i3status-rs
ExclusiveArch: %{rust_arches}
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- 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 i686
- intel-ipp-crypto-mb
ExclusiveArch: x86_64
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
- jakarta-activation
ExclusiveArch: %{java_arches} noarch
- jakarta-annotations
ExclusiveArch: %{java_arches} noarch
- jakarta-oro
ExclusiveArch: %{java_arches} noarch
- jakarta-servlet
ExclusiveArch: %{java_arches} noarch
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- java_cup
ExclusiveArch: %{java_arches} noarch
- javapackages-bootstrap
ExclusiveArch: %{java_arches} noarch
- jctools
ExclusiveArch: %{java_arches} noarch
- jdepend
ExclusiveArch: %{java_arches} noarch
- jdom
ExclusiveArch: %{java_arches} noarch
- jdom2
ExclusiveArch: %{java_arches} noarch
- jflex
ExclusiveArch: %{java_arches} noarch
- jigawatts
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- jsch
ExclusiveArch: %{java_arches} noarch
- jsr-305
ExclusiveArch: %{java_arches} noarch
- junit
ExclusiveArch: %{java_arches} noarch
- junit5
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: %{ix86} x86_64 %{arm} aarch64 ppc64le
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- klee
ExclusiveArch: x86_64
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- knotes
ExclusiveArch: x86_64 %{arm}
- kompose
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- ldc
ExclusiveArch: %{ldc_arches}
- libbsr
ExclusiveArch: %{power64}
- 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
- libguestfs
ExclusiveArch: %{kernel_arches}
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkgapi
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- libnxz
ExclusiveArch: ppc64le
- libocxl
ExclusiveArch: ppc64le
- libpmemobj-cpp
ExclusiveArch: x86_64 ppc64le
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- 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
- lightdm
ExclusiveArch: x86_64 ppc64le
- lightdm-gtk
ExclusiveArch: x86_64 ppc64le
- 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
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- 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-archiver
ExclusiveArch: %{java_arches} noarch
- maven-artifact-transfer
ExclusiveArch: %{java_arches} noarch
- maven-assembly-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-enforcer
ExclusiveArch: %{java_arches} noarch
- maven-file-management
ExclusiveArch: %{java_arches} noarch
- maven-filtering
ExclusiveArch: %{java_arches} noarch
- maven-jar-plugin
ExclusiveArch: %{java_arches} noarch
- maven-parent
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-resolver
ExclusiveArch: %{java_arches} noarch
- maven-resources-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-wagon
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
- mdevctl
ExclusiveArch: %{rust_arches}
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- memtest86+
ExclusiveArch: %{ix86} x86_64
- mesos
ExclusiveArch: x86_64
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} %{ix86} x86_64
- 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
- mockito
ExclusiveArch: %{java_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- modello
ExclusiveArch: %{java_arches} noarch
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mojo-parent
ExclusiveArch: %{java_arches} noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64 %{arm}
- mold
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 riscv64
- 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
- monobristol
ExclusiveArch: %{mono_arches}
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- monosim
ExclusiveArch: %mono_arches
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- munge-maven-plugin
ExclusiveArch: %{java_arches} noarch
- mustache-d
ExclusiveArch: %{ldc_arches}
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- naev
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- 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}
- netavark
ExclusiveArch: %{rust_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nispor
ExclusiveArch: %{rust_arches}
- nodejs
ExclusiveArch: %{nodejs_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-supervisor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} 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
- oci-umount
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- oneVPL
ExclusiveArch: x86_64
- oneVPL-intel-gpu
ExclusiveArch: x86_64
- onednn
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- onedrive
ExclusiveArch: %{ldc_arches}
- 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}
- openjfx
ExclusiveArch: x86_64
- 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}
- openshadinglanguage
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- openssl-ibmca
ExclusiveArch: s390 s390x
- opentest4j
ExclusiveArch: %{java_arches} noarch
- origin
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- orion
ExclusiveArch: %{qt5_qtwebengine_arches}
- 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}
- parsec
ExclusiveArch: %{rust_arches}
- parsec-tool
ExclusiveArch: %{rust_arches}
- pasdoc
ExclusiveArch: %{fpc_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcm
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdbg
ExclusiveArch: ppc64le
- pdfmod
ExclusiveArch: %mono_arches
- 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
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- 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-components-pom
ExclusiveArch: %{java_arches} noarch
- plexus-containers
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
- pmdk-convert
ExclusiveArch: x86_64
- pmemkv
ExclusiveArch: x86_64
- podman
ExclusiveArch: %{golang_arches}
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-cryptography
ExclusiveArch: %{rust_arches}
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-healpy
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-javabridge
ExclusiveArch: i686 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
- 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}
- quantum-espresso
ExclusiveArch: x86_64 %{ix86} aarch64 %{power64}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- reg
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- regexp
ExclusiveArch: %{java_arches} noarch
- renderdoc
ExclusiveArch: x86_64
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- rescene
ExclusiveArch: %{mono_arches}
- restool
ExclusiveArch: aarch64
- restsharp
ExclusiveArch: %{mono_arches}
- rhythmbox-alternative-toolbar
ExclusiveArch: %{ix86} %{arm} x86_64 ppc64 ppc64le
- rocm-compilersupport
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-device-libs
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}
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le %{mips} s390x
- rust
ExclusiveArch: %{rust_arches}
- rust-Inflector
ExclusiveArch: %{rust_arches}
- rust-abomonation
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-codec
ExclusiveArch: %{rust_arches}
- rust-actix-connect
ExclusiveArch: %{rust_arches}
- rust-actix-http
ExclusiveArch: %{rust_arches}
- rust-actix-macros
ExclusiveArch: %{rust_arches}
- rust-actix-macros0.1
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-actix-rt
ExclusiveArch: %{rust_arches}
- rust-actix-rt1
ExclusiveArch: %{rust_arches}
- rust-actix-server
ExclusiveArch: %{rust_arches}
- rust-actix-service
ExclusiveArch: %{rust_arches}
- rust-actix-testing
ExclusiveArch: %{rust_arches}
- rust-actix-threadpool
ExclusiveArch: %{rust_arches}
- rust-actix-tls
ExclusiveArch: %{rust_arches}
- rust-actix-utils
ExclusiveArch: %{rust_arches}
- rust-actix-web
ExclusiveArch: %{rust_arches}
- rust-actix-web-codegen
ExclusiveArch: %{rust_arches}
- rust-actix0.10
ExclusiveArch: %{rust_arches}
- rust-actix_derive
ExclusiveArch: %{rust_arches}
- rust-actix_derive0.5
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-adler
ExclusiveArch: %{rust_arches}
- rust-adler32
ExclusiveArch: %{rust_arches}
- rust-aead
ExclusiveArch: %{rust_arches}
- rust-aes
ExclusiveArch: %{rust_arches}
- rust-aes-gcm
ExclusiveArch: %{rust_arches}
- rust-aes0.7
ExclusiveArch: %{rust_arches}
- rust-afterburn
ExclusiveArch: %{rust_arches}
- rust-ahash
ExclusiveArch: %{rust_arches}
- rust-ahash0.4
ExclusiveArch: %{rust_arches}
- rust-aho-corasick
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-ambient-authority
ExclusiveArch: %{rust_arches}
- rust-ammonia
ExclusiveArch: %{rust_arches}
- rust-ansi_colours
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-ansi_term0.11
ExclusiveArch: %{rust_arches}
- rust-antidote
ExclusiveArch: %{rust_arches}
- rust-anyhow
ExclusiveArch: %{rust_arches}
- rust-aom-sys
ExclusiveArch: %{rust_arches}
- rust-app_dirs
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-ar
ExclusiveArch: %{rust_arches}
- rust-arbitrary
ExclusiveArch: %{rust_arches}
- rust-arbitrary0.4
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arf-strings
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-argh
ExclusiveArch: %{rust_arches}
- rust-argh_derive
ExclusiveArch: %{rust_arches}
- rust-argh_shared
ExclusiveArch: %{rust_arches}
- rust-argparse
ExclusiveArch: %{rust_arches}
- rust-array-init
ExclusiveArch: %{rust_arches}
- rust-arrayref
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
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-asn1
ExclusiveArch: %{rust_arches}
- rust-asn1_derive
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_cli
ExclusiveArch: %{rust_arches}
- rust-assert_cmd
ExclusiveArch: %{rust_arches}
- rust-assert_fs
ExclusiveArch: %{rust_arches}
- rust-assert_matches
ExclusiveArch: %{rust_arches}
- rust-async-attributes
ExclusiveArch: %{rust_arches}
- rust-async-channel
ExclusiveArch: %{rust_arches}
- rust-async-compression
ExclusiveArch: %{rust_arches}
- rust-async-executor
ExclusiveArch: %{rust_arches}
- rust-async-global-executor
ExclusiveArch: %{rust_arches}
- rust-async-io
ExclusiveArch: %{rust_arches}
- rust-async-lock
ExclusiveArch: %{rust_arches}
- rust-async-mutex
ExclusiveArch: %{rust_arches}
- rust-async-process
ExclusiveArch: %{rust_arches}
- rust-async-std
ExclusiveArch: %{rust_arches}
- rust-async-stream
ExclusiveArch: %{rust_arches}
- rust-async-stream-impl
ExclusiveArch: %{rust_arches}
- rust-async-task
ExclusiveArch: %{rust_arches}
- rust-async-trait
ExclusiveArch: %{rust_arches}
- rust-asyncgit
ExclusiveArch: %{rust_arches}
- rust-atk
ExclusiveArch: %{rust_arches}
- rust-atk-sys
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-automod
ExclusiveArch: %{rust_arches}
- rust-av-metrics
ExclusiveArch: %{rust_arches}
- rust-average
ExclusiveArch: %{rust_arches}
- rust-awc
ExclusiveArch: %{rust_arches}
- rust-aws-nitro-enclaves-cose
ExclusiveArch: %{rust_arches}
- rust-az
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-base100
ExclusiveArch: %{rust_arches}
- rust-base64
ExclusiveArch: %{rust_arches}
- rust-base64-0.10
ExclusiveArch: %{rust_arches}
- rust-base64-0.11
ExclusiveArch: %{rust_arches}
- rust-base64_0.12
ExclusiveArch: %{rust_arches}
- rust-base64ct
ExclusiveArch: %{rust_arches}
- rust-bat
ExclusiveArch: %{rust_arches}
- rust-beef
ExclusiveArch: %{rust_arches}
- rust-below
ExclusiveArch: %{rust_arches}
- rust-below-common
ExclusiveArch: %{rust_arches}
- rust-below-config
ExclusiveArch: %{rust_arches}
- rust-below-dump
ExclusiveArch: %{rust_arches}
- rust-below-model
ExclusiveArch: %{rust_arches}
- rust-below-render
ExclusiveArch: %{rust_arches}
- rust-below-store
ExclusiveArch: %{rust_arches}
- rust-below-view
ExclusiveArch: %{rust_arches}
- rust-below_derive
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-benfred-read-process-memory
ExclusiveArch: %{rust_arches}
- rust-bigdecimal
ExclusiveArch: %{rust_arches}
- rust-binascii
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bincode0.8
ExclusiveArch: %{rust_arches}
- rust-bindgen
ExclusiveArch: %{rust_arches}
- rust-binfarce
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-bitmaps
ExclusiveArch: %{rust_arches}
- rust-bitstream-io
ExclusiveArch: %{rust_arches}
- rust-bitvec
ExclusiveArch: %{rust_arches}
- rust-blake2
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-blocking
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-brotli-decompressor
ExclusiveArch: %{rust_arches}
- rust-brotli-sys
ExclusiveArch: %{rust_arches}
- rust-brotli2
ExclusiveArch: %{rust_arches}
- rust-bstr
ExclusiveArch: %{rust_arches}
- rust-btrd
ExclusiveArch: %{rust_arches}
- rust-buf_redux
ExclusiveArch: %{rust_arches}
- rust-buffered-reader
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-bugreport
ExclusiveArch: %{rust_arches}
- rust-bumpalo
ExclusiveArch: %{rust_arches}
- rust-byte-unit
ExclusiveArch: %{rust_arches}
- rust-byte-unit3
ExclusiveArch: %{rust_arches}
- rust-bytecheck
ExclusiveArch: %{rust_arches}
- rust-bytecheck_derive
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-bytelines
ExclusiveArch: %{rust_arches}
- rust-bytemuck
ExclusiveArch: %{rust_arches}
- rust-bytemuck_derive
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes
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-bytesize
ExclusiveArch: %{rust_arches}
- rust-bytestring
ExclusiveArch: %{rust_arches}
- rust-bzip2
ExclusiveArch: %{rust_arches}
- rust-bzip2-sys
ExclusiveArch: %{rust_arches}
- rust-cache-padded
ExclusiveArch: %{rust_arches}
- rust-cairo-rs
ExclusiveArch: %{rust_arches}
- rust-cairo-sys-rs
ExclusiveArch: %{rust_arches}
- rust-calloop
ExclusiveArch: %{rust_arches}
- rust-camino
ExclusiveArch: %{rust_arches}
- rust-cap-async-std
ExclusiveArch: %{rust_arches}
- rust-cap-fs-ext
ExclusiveArch: %{rust_arches}
- rust-cap-primitives
ExclusiveArch: %{rust_arches}
- rust-cap-rand
ExclusiveArch: %{rust_arches}
- rust-cap-std
ExclusiveArch: %{rust_arches}
- rust-cap-tempfile
ExclusiveArch: %{rust_arches}
- rust-cap-time-ext
ExclusiveArch: %{rust_arches}
- rust-capng
ExclusiveArch: %{rust_arches}
- rust-capnp
ExclusiveArch: %{rust_arches}
- rust-capnp-futures
ExclusiveArch: %{rust_arches}
- rust-capnp-rpc
ExclusiveArch: %{rust_arches}
- rust-caps
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cargo-bloat
ExclusiveArch: %{rust_arches}
- rust-cargo-c
ExclusiveArch: %{rust_arches}
- rust-cargo-edit
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-cargo-util
ExclusiveArch: %{rust_arches}
- rust-cargo_metadata
ExclusiveArch: %{rust_arches}
- rust-cascade
ExclusiveArch: %{rust_arches}
- rust-case
ExclusiveArch: %{rust_arches}
- rust-cassowary
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cc
ExclusiveArch: %{rust_arches}
- rust-cedarwood
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfb
ExclusiveArch: %{rust_arches}
- rust-cfg-expr
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-cfg-if0.1
ExclusiveArch: %{rust_arches}
- rust-cgroupfs
ExclusiveArch: %{rust_arches}
- rust-chainerror
ExclusiveArch: %{rust_arches}
- rust-charset
ExclusiveArch: %{rust_arches}
- rust-chbs
ExclusiveArch: %{rust_arches}
- rust-checked_int_cast
ExclusiveArch: %{rust_arches}
- rust-choosier
ExclusiveArch: %{rust_arches}
- rust-chrono
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-chunked_transfer
ExclusiveArch: %{rust_arches}
- rust-ciborium
ExclusiveArch: %{rust_arches}
- rust-ciborium-io
ExclusiveArch: %{rust_arches}
- rust-ciborium-ll
ExclusiveArch: %{rust_arches}
- rust-cipher
ExclusiveArch: %{rust_arches}
- rust-cipher0.3
ExclusiveArch: %{rust_arches}
- rust-clang-ast
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clap-verbosity-flag
ExclusiveArch: %{rust_arches}
- rust-clap2
ExclusiveArch: %{rust_arches}
- rust-clap_complete
ExclusiveArch: %{rust_arches}
- rust-clap_complete_fig
ExclusiveArch: %{rust_arches}
- rust-clap_derive
ExclusiveArch: %{rust_arches}
- rust-clap_generate
ExclusiveArch: %{rust_arches}
- rust-clap_generate_fig
ExclusiveArch: %{rust_arches}
- rust-clap_lex
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-clircle
ExclusiveArch: %{rust_arches}
- rust-cmake
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-colorful
ExclusiveArch: %{rust_arches}
- rust-combine
ExclusiveArch: %{rust_arches}
- rust-comfy-table
ExclusiveArch: %{rust_arches}
- rust-common-path
ExclusiveArch: %{rust_arches}
- rust-compiletest_rs
ExclusiveArch: %{rust_arches}
- rust-compress-tools
ExclusiveArch: %{rust_arches}
- rust-comrak
ExclusiveArch: %{rust_arches}
- rust-concurrent-queue
ExclusiveArch: %{rust_arches}
- rust-configparser
ExclusiveArch: %{rust_arches}
- rust-confy
ExclusiveArch: %{rust_arches}
- rust-conhash
ExclusiveArch: %{rust_arches}
- rust-console
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-console_error_panic_hook
ExclusiveArch: %{rust_arches}
- rust-const-cstr
ExclusiveArch: %{rust_arches}
- rust-const-oid
ExclusiveArch: %{rust_arches}
- rust-const-random
ExclusiveArch: %{rust_arches}
- rust-const-random-macro
ExclusiveArch: %{rust_arches}
- rust-const_fn
ExclusiveArch: %{rust_arches}
- rust-constant_time_eq
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-conv
ExclusiveArch: %{rust_arches}
- rust-convert_case
ExclusiveArch: %{rust_arches}
- rust-cookie
ExclusiveArch: %{rust_arches}
- rust-cookie-factory
ExclusiveArch: %{rust_arches}
- rust-cookie0.14
ExclusiveArch: %{rust_arches}
- rust-cookie0.15
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-cookie_store0.12
ExclusiveArch: %{rust_arches}
- rust-coolor
ExclusiveArch: %{rust_arches}
- rust-copydeps
ExclusiveArch: %{rust_arches}
- rust-copyless
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-counted-array
ExclusiveArch: %{rust_arches}
- rust-cpio
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-cpufeatures
ExclusiveArch: %{rust_arches}
- rust-cpython
ExclusiveArch: %{rust_arches}
- rust-cranelift-bforest
ExclusiveArch: %{rust_arches}
- rust-cranelift-codegen
ExclusiveArch: x86_64 aarch64 s390x
- rust-cranelift-codegen-meta
ExclusiveArch: %{rust_arches}
- rust-cranelift-codegen-shared
ExclusiveArch: %{rust_arches}
- rust-cranelift-entity
ExclusiveArch: %{rust_arches}
- rust-cranelift-frontend
ExclusiveArch: x86_64 aarch64 s390x
- rust-cranelift-native
ExclusiveArch: x86_64 aarch64 s390x
- rust-cranelift-wasm
ExclusiveArch: x86_64 aarch64 s390x
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
ExclusiveArch: %{rust_arches}
- rust-crc-catalog
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-criterion
ExclusiveArch: %{rust_arches}
- rust-criterion-plot
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel0.4
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch0.8
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue0.2
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam0.7
ExclusiveArch: %{rust_arches}
- rust-crossfont
ExclusiveArch: %{rust_arches}
- rust-crossterm
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-cstr_core
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ct-logs
ExclusiveArch: %{rust_arches}
- rust-ctor
ExclusiveArch: %{rust_arches}
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-ctr0.8
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-cty
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-curl-sys
ExclusiveArch: %{rust_arches}
- rust-cursive
ExclusiveArch: %{rust_arches}
- rust-cursive-tabs
ExclusiveArch: %{rust_arches}
- rust-cursive_buffered_backend
ExclusiveArch: %{rust_arches}
- rust-cursive_core
ExclusiveArch: %{rust_arches}
- rust-curve25519-dalek
ExclusiveArch: %{rust_arches}
- rust-custom_derive
ExclusiveArch: %{rust_arches}
- rust-custom_error
ExclusiveArch: %{rust_arches}
- rust-cxx
ExclusiveArch: %{rust_arches}
- rust-cxx-build
ExclusiveArch: %{rust_arches}
- rust-cxx-gen
ExclusiveArch: %{rust_arches}
- rust-cxxbridge-flags
ExclusiveArch: %{rust_arches}
- rust-cxxbridge-macro
ExclusiveArch: %{rust_arches}
- rust-darling
ExclusiveArch: %{rust_arches}
- rust-darling0.12
ExclusiveArch: %{rust_arches}
- rust-darling_core
ExclusiveArch: %{rust_arches}
- rust-darling_core0.12
ExclusiveArch: %{rust_arches}
- rust-darling_macro
ExclusiveArch: %{rust_arches}
- rust-darling_macro0.12
ExclusiveArch: %{rust_arches}
- rust-dashmap
ExclusiveArch: %{rust_arches}
- rust-data-encoding
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-tokio
ExclusiveArch: %{rust_arches}
- rust-dbus-tree
ExclusiveArch: %{rust_arches}
- rust-dbus0.8
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-defer-drop
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-deflate0.8
ExclusiveArch: %{rust_arches}
- rust-defmac
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_arbitrary
ExclusiveArch: %{rust_arches}
- rust-derive_arbitrary0.4
ExclusiveArch: %{rust_arches}
- rust-derive_builder
ExclusiveArch: %{rust_arches}
- rust-derive_builder0.9
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core0.9
ExclusiveArch: %{rust_arches}
- rust-derive_builder_macro
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-deunicode
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-devicemapper-sys
ExclusiveArch: %{rust_arches}
- rust-dialoguer
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-digest
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-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-dissimilar
ExclusiveArch: %{rust_arches}
- rust-dlib
ExclusiveArch: %{rust_arches}
- rust-dlv-list
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-dua-cli
ExclusiveArch: %{rust_arches}
- rust-duct
ExclusiveArch: %{rust_arches}
- rust-dummy
ExclusiveArch: %{rust_arches}
- rust-dunce
ExclusiveArch: %{rust_arches}
- rust-dutree
ExclusiveArch: %{rust_arches}
- rust-dyn-clone
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-either
ExclusiveArch: %{rust_arches}
- rust-elasticlunr-rs
ExclusiveArch: %{rust_arches}
- rust-elf
ExclusiveArch: %{rust_arches}
- rust-elfcat
ExclusiveArch: %{rust_arches}
- rust-email-encoding
ExclusiveArch: %{rust_arches}
- rust-ena
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
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-as-inner
ExclusiveArch: %{rust_arches}
- rust-enum-iterator
ExclusiveArch: %{rust_arches}
- rust-enum-iterator-derive
ExclusiveArch: %{rust_arches}
- rust-enum-map
ExclusiveArch: %{rust_arches}
- rust-enum-map-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_logger
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-envsubst
ExclusiveArch: %{rust_arches}
- rust-epoll
ExclusiveArch: %{rust_arches}
- rust-erased-serde
ExclusiveArch: %{rust_arches}
- rust-err-derive
ExclusiveArch: %{rust_arches}
- rust-errno
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-escargot
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-faccess
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure-tools
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake
ExclusiveArch: %{rust_arches}
- rust-fake-simd
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fallible-streaming-iterator
ExclusiveArch: %{rust_arches}
- rust-fancy-regex
ExclusiveArch: %{rust_arches}
- rust-fastrand
ExclusiveArch: %{rust_arches}
- rust-fatfs
ExclusiveArch: %{rust_arches}
- rust-fb_procfs
ExclusiveArch: %{rust_arches}
- rust-fbthrift_codegen_includer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-fd-lock
ExclusiveArch: %{rust_arches}
- rust-fdlimit
ExclusiveArch: %{rust_arches}
- rust-fedora
ExclusiveArch: %{rust_arches}
- rust-fedora-coreos-pinger
ExclusiveArch: %{rust_arches}
- rust-fedora-update-feedback
ExclusiveArch: %{rust_arches}
- rust-femme
ExclusiveArch: %{rust_arches}
- rust-fern
ExclusiveArch: %{rust_arches}
- rust-ffsend
ExclusiveArch: %{rust_arches}
- rust-ffsend-api
ExclusiveArch: %{rust_arches}
- rust-field-offset
ExclusiveArch: %{rust_arches}
- rust-file-per-thread-logger
ExclusiveArch: %{rust_arches}
- rust-filedescriptor
ExclusiveArch: %{rust_arches}
- rust-filesize
ExclusiveArch: %{rust_arches}
- rust-filetime
ExclusiveArch: %{rust_arches}
- rust-filetreelist
ExclusiveArch: %{rust_arches}
- rust-find-crate
ExclusiveArch: %{rust_arches}
- rust-findshlibs
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-fluent-bundle
ExclusiveArch: %{rust_arches}
- rust-fluent-langneg
ExclusiveArch: %{rust_arches}
- rust-fluent-syntax
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-form_urlencoded
ExclusiveArch: %{rust_arches}
- rust-format-bytes
ExclusiveArch: %{rust_arches}
- rust-format-bytes-macros
ExclusiveArch: %{rust_arches}
- rust-fragile
ExclusiveArch: %{rust_arches}
- rust-freetype
ExclusiveArch: %{rust_arches}
- rust-freetype-rs
ExclusiveArch: %{rust_arches}
- rust-freetype-sys
ExclusiveArch: %{rust_arches}
- rust-fs-err
ExclusiveArch: %{rust_arches}
- rust-fs-set-times
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fs_extra
ExclusiveArch: %{rust_arches}
- rust-fscommon
ExclusiveArch: %{rust_arches}
- rust-fslock
ExclusiveArch: %{rust_arches}
- rust-funty
ExclusiveArch: %{rust_arches}
- rust-futf
ExclusiveArch: %{rust_arches}
- rust-futures
ExclusiveArch: %{rust_arches}
- rust-futures-channel
ExclusiveArch: %{rust_arches}
- rust-futures-core
ExclusiveArch: %{rust_arches}
- rust-futures-cpupool
ExclusiveArch: %{rust_arches}
- rust-futures-executor
ExclusiveArch: %{rust_arches}
- rust-futures-io
ExclusiveArch: %{rust_arches}
- rust-futures-lite
ExclusiveArch: %{rust_arches}
- rust-futures-macro
ExclusiveArch: %{rust_arches}
- rust-futures-sink
ExclusiveArch: %{rust_arches}
- rust-futures-task
ExclusiveArch: %{rust_arches}
- rust-futures-test
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures-util
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-fuzzy-matcher
ExclusiveArch: %{rust_arches}
- rust-fxhash
ExclusiveArch: %{rust_arches}
- rust-gdk
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf-sys
ExclusiveArch: %{rust_arches}
- rust-gdk-sys
ExclusiveArch: %{rust_arches}
- rust-gdk4
ExclusiveArch: %{rust_arches}
- rust-gdk4-sys
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-getrandom
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-ghost
ExclusiveArch: %{rust_arches}
- rust-gif
ExclusiveArch: %{rust_arches}
- rust-gimli
ExclusiveArch: %{rust_arches}
- rust-gio
ExclusiveArch: %{rust_arches}
- rust-gio-sys
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-gitui
ExclusiveArch: %{rust_arches}
- rust-gl_generator
ExclusiveArch: %{rust_arches}
- rust-glam
ExclusiveArch: %{rust_arches}
- rust-glib
ExclusiveArch: %{rust_arches}
- rust-glib-macros
ExclusiveArch: %{rust_arches}
- rust-glib-sys
ExclusiveArch: %{rust_arches}
- rust-glob
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-gobject-sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-gptman
ExclusiveArch: %{rust_arches}
- rust-graphene-rs
ExclusiveArch: %{rust_arches}
- rust-graphene-sys
ExclusiveArch: %{rust_arches}
- rust-greetd_ipc
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-groupable
ExclusiveArch: %{rust_arches}
- rust-gsk4
ExclusiveArch: %{rust_arches}
- rust-gsk4-sys
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-gtk
ExclusiveArch: %{rust_arches}
- rust-gtk-sys
ExclusiveArch: %{rust_arches}
- rust-gtk3-macros
ExclusiveArch: %{rust_arches}
- rust-gtk4
ExclusiveArch: %{rust_arches}
- rust-gtk4-macros
ExclusiveArch: %{rust_arches}
- rust-gtk4-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-h2
ExclusiveArch: %{rust_arches}
- rust-h2_0.2
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest2
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown
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-heck
ExclusiveArch: %{rust_arches}
- rust-heck0.3
ExclusiveArch: %{rust_arches}
- rust-helvum
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-html-escape
ExclusiveArch: %{rust_arches}
- rust-html2pango
ExclusiveArch: %{rust_arches}
- rust-html5ever
ExclusiveArch: %{rust_arches}
- rust-http
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-http-body0.3
ExclusiveArch: %{rust_arches}
- rust-http0.1
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-httpdate
ExclusiveArch: %{rust_arches}
- rust-human-panic
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
ExclusiveArch: %{rust_arches}
- rust-hyper-native-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-rustls
ExclusiveArch: %{rust_arches}
- rust-hyper-staticfile
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-tls0.4
ExclusiveArch: %{rust_arches}
- rust-hyper0.10
ExclusiveArch: %{rust_arches}
- rust-hyper0.13
ExclusiveArch: %{rust_arches}
- rust-hyperfine
ExclusiveArch: %{rust_arches}
- rust-i18n-config
ExclusiveArch: %{rust_arches}
- rust-i18n-embed
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-id-arena
ExclusiveArch: %{rust_arches}
- rust-ident_case
ExclusiveArch: %{rust_arches}
- rust-idna
ExclusiveArch: %{rust_arches}
- rust-idna0.1
ExclusiveArch: %{rust_arches}
- rust-ifcfg-devname
ExclusiveArch: %{rust_arches}
- rust-ignition-config
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-im-rc
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-image-roll
ExclusiveArch: %{rust_arches}
- rust-imgref
ExclusiveArch: %{rust_arches}
- rust-indenter
ExclusiveArch: %{rust_arches}
- rust-indexmap
ExclusiveArch: %{rust_arches}
- rust-indicatif
ExclusiveArch: %{rust_arches}
- rust-indicatif0.15
ExclusiveArch: %{rust_arches}
- rust-indoc
ExclusiveArch: %{rust_arches}
- rust-infer
ExclusiveArch: %{rust_arches}
- rust-inferno
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-integer-encoding
ExclusiveArch: %{rust_arches}
- rust-interpolate_name
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-intl-memoizer
ExclusiveArch: %{rust_arches}
- rust-intl_pluralrules
ExclusiveArch: %{rust_arches}
- rust-invalidstring
ExclusiveArch: %{rust_arches}
- rust-inventory
ExclusiveArch: %{rust_arches}
- rust-inventory-impl
ExclusiveArch: %{rust_arches}
- rust-inventory0.1
ExclusiveArch: %{rust_arches}
- rust-io-extras
ExclusiveArch: %{rust_arches}
- rust-io-lifetimes
ExclusiveArch: %{rust_arches}
- rust-ioctl-rs
ExclusiveArch: %{rust_arches}
- rust-iocuddle
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-ipnet
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-ipnetwork0.17
ExclusiveArch: %{rust_arches}
- rust-iptables
ExclusiveArch: %{rust_arches}
- rust-iron
ExclusiveArch: %{rust_arches}
- rust-is-terminal
ExclusiveArch: %{rust_arches}
- rust-is_ci
ExclusiveArch: %{rust_arches}
- rust-is_debug
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-iter-read
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-itoa
ExclusiveArch: %{rust_arches}
- rust-itoa0.4
ExclusiveArch: %{rust_arches}
- rust-ivf
ExclusiveArch: %{rust_arches}
- rust-jieba-rs
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-josekit
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jql
ExclusiveArch: %{rust_arches}
- rust-js-sys
ExclusiveArch: %{rust_arches}
- rust-json
ExclusiveArch: %{rust_arches}
- rust-json_value_merge
ExclusiveArch: %{rust_arches}
- rust-just
ExclusiveArch: %{rust_arches}
- rust-jwalk
ExclusiveArch: %{rust_arches}
- rust-k9
ExclusiveArch: %{rust_arches}
- rust-keccak
ExclusiveArch: %{rust_arches}
- rust-khronos_api
ExclusiveArch: %{rust_arches}
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kv-log-macro
ExclusiveArch: %{rust_arches}
- rust-lab
ExclusiveArch: %{rust_arches}
- rust-lalrpop
ExclusiveArch: %{rust_arches}
- rust-lalrpop-util
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-language-tags0.2
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-leb128
ExclusiveArch: %{rust_arches}
- rust-lev_distance
ExclusiveArch: %{rust_arches}
- rust-lexical-core
ExclusiveArch: %{rust_arches}
- rust-lexiclean
ExclusiveArch: %{rust_arches}
- rust-lexopt
ExclusiveArch: %{rust_arches}
- rust-libblkid-rs
ExclusiveArch: %{rust_arches}
- rust-libblkid-rs-sys
ExclusiveArch: %{rust_arches}
- rust-libbpf-cargo
ExclusiveArch: %{rust_arches}
- rust-libbpf-rs
ExclusiveArch: %{rust_arches}
- rust-libbpf-sys
ExclusiveArch: %{rust_arches}
- rust-libc
ExclusiveArch: %{rust_arches}
- rust-libcryptsetup-rs
ExclusiveArch: %{rust_arches}
- rust-libcryptsetup-rs-sys
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libflate
ExclusiveArch: %{rust_arches}
- rust-libflate_lz77
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys
ExclusiveArch: %{rust_arches}
- rust-libhandy
ExclusiveArch: %{rust_arches}
- rust-libhandy-sys
ExclusiveArch: %{rust_arches}
- rust-libloading
ExclusiveArch: %{rust_arches}
- rust-libloading0.6
ExclusiveArch: %{rust_arches}
- rust-libm
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-libnotcurses-sys
ExclusiveArch: %{rust_arches}
- rust-liboverdrop
ExclusiveArch: %{rust_arches}
- rust-libpulse-binding
ExclusiveArch: %{rust_arches}
- rust-libpulse-sys
ExclusiveArch: %{rust_arches}
- rust-libseccomp-sys
ExclusiveArch: %{rust_arches}
- rust-libslirp
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-libspa
ExclusiveArch: %{rust_arches}
- rust-libspa-sys
ExclusiveArch: %{rust_arches}
- rust-libsqlite3-sys
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-libudev
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-link-cplusplus
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-linkify
ExclusiveArch: %{rust_arches}
- rust-linreg
ExclusiveArch: %{rust_arches}
- rust-linux-raw-sys
ExclusiveArch: %{rust_arches}
- rust-linux_proc
ExclusiveArch: %{rust_arches}
- rust-lipsum
ExclusiveArch: %{rust_arches}
- rust-listenfd
ExclusiveArch: %{rust_arches}
- rust-lmdb
ExclusiveArch: %{rust_arches}
- rust-lmdb-sys
ExclusiveArch: %{rust_arches}
- rust-local-channel
ExclusiveArch: %{rust_arches}
- rust-local-waker
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-locale_config
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-lockfree
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log-mdc
ExclusiveArch: %{rust_arches}
- rust-log-panics
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-loggerv
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru-cache
ExclusiveArch: %{rust_arches}
- rust-lscolors
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-lzma-sys
ExclusiveArch: %{rust_arches}
- rust-lzw
ExclusiveArch: %{rust_arches}
- rust-mac
ExclusiveArch: %{rust_arches}
- rust-mac_address
ExclusiveArch: %{rust_arches}
- rust-macro-attr
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-matches
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-maxminddb
ExclusiveArch: %{rust_arches}
- rust-maybe-owned
ExclusiveArch: %{rust_arches}
- rust-maybe-uninit
ExclusiveArch: %{rust_arches}
- rust-mbox
ExclusiveArch: %{rust_arches}
- rust-mbrman
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md-5_0.9
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-mdl
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memfd
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memmap2
ExclusiveArch: %{rust_arches}
- rust-memmap2_0.3
ExclusiveArch: %{rust_arches}
- rust-memmem
ExclusiveArch: %{rust_arches}
- rust-memoffset
ExclusiveArch: %{rust_arches}
- rust-memoffset0.5
ExclusiveArch: %{rust_arches}
- rust-memsec
ExclusiveArch: %{rust_arches}
- rust-micro-timer
ExclusiveArch: %{rust_arches}
- rust-micro-timer-macros
ExclusiveArch: %{rust_arches}
- rust-miette
ExclusiveArch: %{rust_arches}
- rust-miette-derive
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-mime0.2
ExclusiveArch: %{rust_arches}
- rust-mime_guess
ExclusiveArch: %{rust_arches}
- rust-mime_guess1
ExclusiveArch: %{rust_arches}
- rust-minify-html
ExclusiveArch: %{rust_arches}
- rust-minimad
ExclusiveArch: %{rust_arches}
- rust-minimal-lexical
ExclusiveArch: %{rust_arches}
- rust-miniz-sys
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide0.3
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide_c_api
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio
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-mktemp
ExclusiveArch: %{rust_arches}
- rust-mnt
ExclusiveArch: %{rust_arches}
- rust-mockall
ExclusiveArch: %{rust_arches}
- rust-mockall_derive
ExclusiveArch: %{rust_arches}
- rust-mockall_double
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-modifier
ExclusiveArch: %{rust_arches}
- rust-more-asserts
ExclusiveArch: %{rust_arches}
- rust-muldiv
ExclusiveArch: %{rust_arches}
- rust-multer
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-multipart
ExclusiveArch: %{rust_arches}
- rust-mustache
ExclusiveArch: %{rust_arches}
- rust-nalgebra
ExclusiveArch: %{rust_arches}
- rust-nalgebra-macros
ExclusiveArch: %{rust_arches}
- rust-nasm-rs
ExclusiveArch: %{rust_arches}
- rust-native-tls
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-net2
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-nettle
ExclusiveArch: %{rust_arches}
- rust-nettle-sys
ExclusiveArch: %{rust_arches}
- rust-new_debug_unreachable
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nibble_vec
ExclusiveArch: %{rust_arches}
- rust-nix
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-nix0.23
ExclusiveArch: %{rust_arches}
- rust-no-panic
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nohash-hasher
ExclusiveArch: %{rust_arches}
- rust-nom
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-notify
ExclusiveArch: %{rust_arches}
- rust-notify-rust
ExclusiveArch: %{rust_arches}
- rust-nu-ansi-term
ExclusiveArch: %{rust_arches}
- rust-nu-engine
ExclusiveArch: %{rust_arches}
- rust-nu-glob
ExclusiveArch: %{rust_arches}
- rust-nu-json
ExclusiveArch: %{rust_arches}
- rust-nu-parser
ExclusiveArch: %{rust_arches}
- rust-nu-path
ExclusiveArch: %{rust_arches}
- rust-nu-protocol
ExclusiveArch: %{rust_arches}
- rust-nu-utils
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-complex
ExclusiveArch: %{rust_arches}
- rust-num-complex0.3
ExclusiveArch: %{rust_arches}
- rust-num-derive
ExclusiveArch: %{rust_arches}
- rust-num-format
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-num_cpus
ExclusiveArch: %{rust_arches}
- rust-num_enum
ExclusiveArch: %{rust_arches}
- rust-num_enum_derive
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-numtoa
ExclusiveArch: %{rust_arches}
- rust-oauth2
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-odds
ExclusiveArch: %{rust_arches}
- rust-oid
ExclusiveArch: %{rust_arches}
- rust-once_cell
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-oorandom
ExclusiveArch: %{rust_arches}
- rust-opaque-debug
ExclusiveArch: %{rust_arches}
- rust-open
ExclusiveArch: %{rust_arches}
- rust-open1
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
ExclusiveArch: %{rust_arches}
- rust-openssl-kdf
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-openssl-sys
ExclusiveArch: %{rust_arches}
- rust-option-operations
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-ordered-float
ExclusiveArch: %{rust_arches}
- rust-ordered-multimap
ExclusiveArch: %{rust_arches}
- rust-os-release
ExclusiveArch: %{rust_arches}
- rust-os_info
ExclusiveArch: %{rust_arches}
- rust-os_pipe
ExclusiveArch: %{rust_arches}
- rust-os_pipe0.9
ExclusiveArch: %{rust_arches}
- rust-os_str_bytes
ExclusiveArch: %{rust_arches}
- rust-os_type
ExclusiveArch: %{rust_arches}
- rust-osmesa-sys
ExclusiveArch: %{rust_arches}
- rust-osstrtools
ExclusiveArch: %{rust_arches}
- rust-ouroboros
ExclusiveArch: %{rust_arches}
- rust-ouroboros_macro
ExclusiveArch: %{rust_arches}
- rust-overload
ExclusiveArch: %{rust_arches}
- rust-owned-alloc
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-owo-colors
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-page_size
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-palette
ExclusiveArch: %{rust_arches}
- rust-palette_derive
ExclusiveArch: %{rust_arches}
- rust-pam
ExclusiveArch: %{rust_arches}
- rust-pam-sys
ExclusiveArch: %{rust_arches}
- rust-pancurses
ExclusiveArch: %{rust_arches}
- rust-pango
ExclusiveArch: %{rust_arches}
- rust-pango-sys
ExclusiveArch: %{rust_arches}
- rust-pangocairo
ExclusiveArch: %{rust_arches}
- rust-pangocairo-sys
ExclusiveArch: %{rust_arches}
- rust-paris
ExclusiveArch: %{rust_arches}
- rust-parity-wasm
ExclusiveArch: %{rust_arches}
- rust-parking
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot0.11
ExclusiveArch: %{rust_arches}
- rust-parking_lot_core
ExclusiveArch: %{rust_arches}
- rust-parking_lot_core0.8
ExclusiveArch: %{rust_arches}
- rust-parse-zoneinfo
ExclusiveArch: %{rust_arches}
- rust-parse_cfg
ExclusiveArch: %{rust_arches}
- rust-parsec-client
ExclusiveArch: %{rust_arches}
- rust-parsec-interface
ExclusiveArch: %{rust_arches}
- rust-partial-io
ExclusiveArch: %{rust_arches}
- rust-partition-identity
ExclusiveArch: %{rust_arches}
- rust-password-hash
ExclusiveArch: %{rust_arches}
- rust-paste
ExclusiveArch: %{rust_arches}
- rust-path-absolutize
ExclusiveArch: %{rust_arches}
- rust-path-dedot
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-pbkdf2
ExclusiveArch: %{rust_arches}
- rust-pbr
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-macros
ExclusiveArch: %{rust_arches}
- rust-peg-runtime
ExclusiveArch: %{rust_arches}
- rust-peg0.5
ExclusiveArch: %{rust_arches}
- rust-pem
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-peresil
ExclusiveArch: %{rust_arches}
- rust-permutate
ExclusiveArch: %{rust_arches}
- rust-permutohedron
ExclusiveArch: %{rust_arches}
- rust-pest
ExclusiveArch: %{rust_arches}
- rust-pest_derive
ExclusiveArch: %{rust_arches}
- rust-pest_generator
ExclusiveArch: %{rust_arches}
- rust-pest_meta
ExclusiveArch: %{rust_arches}
- rust-petgraph
ExclusiveArch: %{rust_arches}
- rust-petgraph0.5
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.7
ExclusiveArch: %{rust_arches}
- rust-phf0.8
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_codegen0.7
ExclusiveArch: %{rust_arches}
- rust-phf_generator
ExclusiveArch: %{rust_arches}
- rust-phf_generator0.7
ExclusiveArch: %{rust_arches}
- rust-phf_generator0.8
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.7
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.8
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.7
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-internal0.4
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite0.1
ExclusiveArch: %{rust_arches}
- rust-pin-project0.4
ExclusiveArch: %{rust_arches}
- rust-pin-utils
ExclusiveArch: %{rust_arches}
- rust-pipe
ExclusiveArch: %{rust_arches}
- rust-piper
ExclusiveArch: %{rust_arches}
- rust-pipewire
ExclusiveArch: %{rust_arches}
- rust-pipewire-sys
ExclusiveArch: %{rust_arches}
- rust-pkcs1
ExclusiveArch: %{rust_arches}
- rust-pkcs11
ExclusiveArch: %{rust_arches}
- rust-pkcs5
ExclusiveArch: %{rust_arches}
- rust-pkcs8
ExclusiveArch: %{rust_arches}
- rust-pkg-config
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-pleaser
ExclusiveArch: %{rust_arches}
- rust-plist
ExclusiveArch: %{rust_arches}
- rust-plotlib
ExclusiveArch: %{rust_arches}
- rust-plotters
ExclusiveArch: %{rust_arches}
- rust-plotters-backend
ExclusiveArch: %{rust_arches}
- rust-plotters-bitmap
ExclusiveArch: %{rust_arches}
- rust-plotters-svg
ExclusiveArch: %{rust_arches}
- rust-plugin
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-podio
ExclusiveArch: %{rust_arches}
- rust-polling
ExclusiveArch: %{rust_arches}
- rust-polyval
ExclusiveArch: %{rust_arches}
- rust-pom
ExclusiveArch: %{rust_arches}
- rust-pommes
ExclusiveArch: %{rust_arches}
- rust-ppv-lite86
ExclusiveArch: %{rust_arches}
- rust-pq-sys
ExclusiveArch: %{rust_arches}
- rust-precomputed-hash
ExclusiveArch: %{rust_arches}
- rust-predicates
ExclusiveArch: %{rust_arches}
- rust-predicates-core
ExclusiveArch: %{rust_arches}
- rust-predicates-tree
ExclusiveArch: %{rust_arches}
- rust-predicates1
ExclusiveArch: %{rust_arches}
- rust-pretty
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-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-macro-hack
ExclusiveArch: %{rust_arches}
- rust-proc-macro2
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.4
ExclusiveArch: %{rust_arches}
- rust-proc-maps
ExclusiveArch: %{rust_arches}
- rust-proc-mounts
ExclusiveArch: %{rust_arches}
- rust-proc-quote-impl
ExclusiveArch: %{rust_arches}
- rust-process_control
ExclusiveArch: %{rust_arches}
- rust-process_path
ExclusiveArch: %{rust_arches}
- rust-procfs
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-progress-streams
ExclusiveArch: %{rust_arches}
- rust-prometheus
ExclusiveArch: %{rust_arches}
- rust-proptest
ExclusiveArch: %{rust_arches}
- rust-proptest-derive
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-types
ExclusiveArch: %{rust_arches}
- rust-protobuf
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen-pure
ExclusiveArch: %{rust_arches}
- rust-protoc
ExclusiveArch: %{rust_arches}
- rust-protoc-rust
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-publicsuffix
ExclusiveArch: %{rust_arches}
- rust-publicsuffix1
ExclusiveArch: %{rust_arches}
- rust-pulldown-cmark
ExclusiveArch: %{rust_arches}
- rust-pulse
ExclusiveArch: %{rust_arches}
- rust-pure-rust-locales
ExclusiveArch: %{rust_arches}
- rust-pyo3
ExclusiveArch: %{rust_arches}
- rust-pyo3-build-config
ExclusiveArch: %{rust_arches}
- rust-pyo3-macros
ExclusiveArch: %{rust_arches}
- rust-pyo3-macros-backend
ExclusiveArch: %{rust_arches}
- rust-python-launcher
ExclusiveArch: %{rust_arches}
- rust-python3-sys
ExclusiveArch: %{rust_arches}
- rust-qr2term
ExclusiveArch: %{rust_arches}
- rust-qrcode
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-xml
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-quickersort
ExclusiveArch: %{rust_arches}
- rust-quicli
ExclusiveArch: %{rust_arches}
- rust-quote
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.6
ExclusiveArch: %{rust_arches}
- rust-quoted_printable
ExclusiveArch: %{rust_arches}
- rust-r2d2
ExclusiveArch: %{rust_arches}
- rust-radium
ExclusiveArch: %{rust_arches}
- rust-radix_trie
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-rawslice
ExclusiveArch: %{rust_arches}
- rust-rayon
ExclusiveArch: %{rust_arches}
- rust-rayon-core
ExclusiveArch: %{rust_arches}
- rust-rbspy
ExclusiveArch: %{rust_arches}
- rust-rbspy-ruby-structs
ExclusiveArch: %{rust_arches}
- rust-rbspy-testdata
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-read_input
ExclusiveArch: %{rust_arches}
- rust-readwrite
ExclusiveArch: %{rust_arches}
- rust-recycler
ExclusiveArch: %{rust_arches}
- rust-ref-cast
ExclusiveArch: %{rust_arches}
- rust-ref-cast-impl
ExclusiveArch: %{rust_arches}
- rust-regalloc
ExclusiveArch: %{rust_arches}
- rust-regex
ExclusiveArch: %{rust_arches}
- rust-regex-automata
ExclusiveArch: %{rust_arches}
- rust-regex-syntax
ExclusiveArch: %{rust_arches}
- rust-region
ExclusiveArch: %{rust_arches}
- rust-relative-path
ExclusiveArch: %{rust_arches}
- rust-relay
ExclusiveArch: %{rust_arches}
- rust-remoteprocess
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-rend
ExclusiveArch: %{rust_arches}
- rust-reqwest
ExclusiveArch: %{rust_arches}
- rust-reqwest0.10
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-restson
ExclusiveArch: %{rust_arches}
- rust-retry
ExclusiveArch: %{rust_arches}
- rust-rgb
ExclusiveArch: %{rust_arches}
- rust-ring
ExclusiveArch: %{rust_arches}
- rust-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rkyv
ExclusiveArch: %{rust_arches}
- rust-rkyv_derive
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmp-serde
ExclusiveArch: %{rust_arches}
- rust-rmpv
ExclusiveArch: %{rust_arches}
- rust-roff
ExclusiveArch: %{rust_arches}
- rust-ron
ExclusiveArch: %{rust_arches}
- rust-roxmltree
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-rust-embed
ExclusiveArch: %{rust_arches}
- rust-rust-embed-impl
ExclusiveArch: %{rust_arches}
- rust-rust-embed-utils
ExclusiveArch: %{rust_arches}
- rust-rust-ini
ExclusiveArch: %{rust_arches}
- rust-rust-stemmers
ExclusiveArch: %{rust_arches}
- rust-rust_decimal
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_normal_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_sys
ExclusiveArch: %{rust_arches}
- rust-rustbus
ExclusiveArch: %{rust_arches}
- rust-rustbus_derive
ExclusiveArch: %{rust_arches}
- rust-rustc-demangle
ExclusiveArch: %{rust_arches}
- rust-rustc-hash
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_tools_util
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustc_version0.3
ExclusiveArch: %{rust_arches}
- rust-rustcat
ExclusiveArch: %{rust_arches}
- rust-rustdoc-stripper
ExclusiveArch: %{rust_arches}
- rust-rustfilt
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rustio
ExclusiveArch: %{rust_arches}
- rust-rustix
ExclusiveArch: %{rust_arches}
- rust-rustls
ExclusiveArch: %{rust_arches}
- rust-rustls-native-certs
ExclusiveArch: %{rust_arches}
- rust-rustls-pemfile
ExclusiveArch: %{rust_arches}
- rust-rustversion
ExclusiveArch: %{rust_arches}
- rust-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-rustyline
ExclusiveArch: %{rust_arches}
- rust-rustyline-derive
ExclusiveArch: %{rust_arches}
- rust-ryu
ExclusiveArch: %{rust_arches}
- rust-safe-transmute
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-sass-rs
ExclusiveArch: %{rust_arches}
- rust-sass-sys
ExclusiveArch: %{rust_arches}
- rust-scan_fmt
ExclusiveArch: %{rust_arches}
- rust-scheduled-thread-pool
ExclusiveArch: %{rust_arches}
- rust-scoped-tls
ExclusiveArch: %{rust_arches}
- rust-scoped-tls-hkt
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scopetime
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-secrecy
ExclusiveArch: %{rust_arches}
- rust-secret-service
ExclusiveArch: %{rust_arches}
- rust-self_cell
ExclusiveArch: %{rust_arches}
- rust-semver
ExclusiveArch: %{rust_arches}
- rust-semver-parser
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-keyring-linter
ExclusiveArch: %{rust_arches}
- rust-sequoia-net
ExclusiveArch: %{rust_arches}
- rust-sequoia-octopus-librnp
ExclusiveArch: %{rust_arches}
- rust-sequoia-openpgp
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
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde-pickle
ExclusiveArch: %{rust_arches}
- rust-serde-value
ExclusiveArch: %{rust_arches}
- rust-serde-xml-rs
ExclusiveArch: %{rust_arches}
- rust-serde_bser
ExclusiveArch: %{rust_arches}
- rust-serde_bytes
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_derive
ExclusiveArch: %{rust_arches}
- rust-serde_fmt
ExclusiveArch: %{rust_arches}
- rust-serde_ignored
ExclusiveArch: %{rust_arches}
- rust-serde_json
ExclusiveArch: %{rust_arches}
- rust-serde_qs
ExclusiveArch: %{rust_arches}
- rust-serde_repr
ExclusiveArch: %{rust_arches}
- rust-serde_stacker
ExclusiveArch: %{rust_arches}
- rust-serde_test
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_yaml
ExclusiveArch: %{rust_arches}
- rust-serial-core
ExclusiveArch: %{rust_arches}
- rust-serial_test
ExclusiveArch: %{rust_arches}
- rust-serial_test0.5
ExclusiveArch: %{rust_arches}
- rust-serial_test_derive
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-sev
ExclusiveArch: %{rust_arches}
- rust-sevctl
ExclusiveArch: x86_64
- rust-sha-1
ExclusiveArch: %{rust_arches}
- 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
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
ExclusiveArch: %{rust_arches}
- rust-signal-hook-mio
ExclusiveArch: %{rust_arches}
- rust-signal-hook-registry
ExclusiveArch: %{rust_arches}
- rust-signal-hook0.1
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-simba
ExclusiveArch: %{rust_arches}
- rust-simd_helpers
ExclusiveArch: %{rust_arches}
- rust-simdutf8
ExclusiveArch: %{rust_arches}
- rust-similar
ExclusiveArch: %{rust_arches}
- rust-similar-asserts
ExclusiveArch: %{rust_arches}
- rust-simple-error
ExclusiveArch: %{rust_arches}
- rust-simple_asn1
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-size
ExclusiveArch: %{rust_arches}
- rust-sized-chunks
ExclusiveArch: %{rust_arches}
- rust-skeptic
ExclusiveArch: %{rust_arches}
- rust-skim
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-slice-deque
ExclusiveArch: %{rust_arches}
- rust-slog
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-scope
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-slotmap
ExclusiveArch: %{rust_arches}
- rust-slug
ExclusiveArch: %{rust_arches}
- rust-sluice
ExclusiveArch: %{rust_arches}
- rust-smallbitvec
ExclusiveArch: %{rust_arches}
- rust-smallstr
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-smart-default
ExclusiveArch: %{rust_arches}
- rust-smawk
ExclusiveArch: %{rust_arches}
- rust-smithay-client-toolkit
ExclusiveArch: %{rust_arches}
- rust-smithay-clipboard
ExclusiveArch: %{rust_arches}
- rust-smol_str
ExclusiveArch: %{rust_arches}
- rust-snafu
ExclusiveArch: %{rust_arches}
- rust-snafu-derive
ExclusiveArch: %{rust_arches}
- rust-snake_case
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-socket2_0.3
ExclusiveArch: %{rust_arches}
- rust-sop
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spin0.5
ExclusiveArch: %{rust_arches}
- rust-spin_on
ExclusiveArch: %{rust_arches}
- rust-spinning_top
ExclusiveArch: %{rust_arches}
- rust-spki
ExclusiveArch: %{rust_arches}
- rust-spmc
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-starship
ExclusiveArch: %{rust_arches}
- rust-starship-battery
ExclusiveArch: %{rust_arches}
- rust-starship_module_config_derive
ExclusiveArch: %{rust_arches}
- rust-static_assertions
ExclusiveArch: %{rust_arches}
- rust-statistical
ExclusiveArch: %{rust_arches}
- rust-statrs
ExclusiveArch: %{rust_arches}
- rust-stb_truetype
ExclusiveArch: %{rust_arches}
- rust-stderrlog
ExclusiveArch: %{rust_arches}
- rust-str_stack
ExclusiveArch: %{rust_arches}
- rust-stratisd_proc_macros
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
ExclusiveArch: %{rust_arches}
- rust-string_cache
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-string_cache_shared
ExclusiveArch: %{rust_arches}
- rust-strings
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-subprocess
ExclusiveArch: %{rust_arches}
- rust-subtle
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin-sys
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-svg_metadata
ExclusiveArch: %{rust_arches}
- rust-svgtypes
ExclusiveArch: %{rust_arches}
- rust-sxd-document
ExclusiveArch: %{rust_arches}
- rust-syn
ExclusiveArch: %{rust_arches}
- rust-syn0.15
ExclusiveArch: %{rust_arches}
- rust-synom
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-sys-info
ExclusiveArch: %{rust_arches}
- rust-sys-locale
ExclusiveArch: %{rust_arches}
- rust-sysctl
ExclusiveArch: %{rust_arches}
- rust-sysinfo
ExclusiveArch: %{rust_arches}
- rust-syslog
ExclusiveArch: %{rust_arches}
- rust-system-deps
ExclusiveArch: %{rust_arches}
- rust-system-interface
ExclusiveArch: %{rust_arches}
- rust-system76_ectool
ExclusiveArch: %{rust_arches}
- rust-tabular
ExclusiveArch: %{rust_arches}
- rust-tabwriter
ExclusiveArch: %{rust_arches}
- rust-take
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tap
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-target
ExclusiveArch: %{rust_arches}
- rust-target-lexicon
ExclusiveArch: %{rust_arches}
- rust-tealdeer
ExclusiveArch: %{rust_arches}
- rust-teloxide
ExclusiveArch: %{rust_arches}
- rust-teloxide-macros
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-tempfile
ExclusiveArch: %{rust_arches}
- rust-temporary
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-termcolor
ExclusiveArch: %{rust_arches}
- rust-terminal_size
ExclusiveArch: %{rust_arches}
- rust-terminfo
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-termwiz
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-test-case
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-thiserror
ExclusiveArch: %{rust_arches}
- rust-thiserror-impl
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-tree
ExclusiveArch: %{rust_arches}
- rust-thread_local
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-tiff
ExclusiveArch: %{rust_arches}
- rust-tiger
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-time-macros
ExclusiveArch: %{rust_arches}
- rust-time-macros-impl
ExclusiveArch: %{rust_arches}
- rust-time-macros0.1
ExclusiveArch: %{rust_arches}
- rust-time0.1
ExclusiveArch: %{rust_arches}
- rust-time0.2
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-timer
ExclusiveArch: %{rust_arches}
- rust-timerfd
ExclusiveArch: %{rust_arches}
- rust-tiny-keccak
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tiny_http0.6
ExclusiveArch: %{rust_arches}
- rust-tinystr
ExclusiveArch: %{rust_arches}
- rust-tinytemplate
ExclusiveArch: %{rust_arches}
- rust-tinyvec
ExclusiveArch: %{rust_arches}
- rust-tinyvec_macros
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio
ExclusiveArch: %{rust_arches}
- rust-tokio-codec
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-macros
ExclusiveArch: %{rust_arches}
- rust-tokio-macros0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-native-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl0.4
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-rustls
ExclusiveArch: %{rust_arches}
- rust-tokio-socks
ExclusiveArch: %{rust_arches}
- rust-tokio-socks0.3
ExclusiveArch: %{rust_arches}
- rust-tokio-stream
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-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-tls0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-tungstenite
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-tokio-util
ExclusiveArch: %{rust_arches}
- rust-tokio-util0.3
ExclusiveArch: %{rust_arches}
- rust-tokio-util0.6
ExclusiveArch: %{rust_arches}
- rust-tokio0.1
ExclusiveArch: %{rust_arches}
- rust-tokio0.2
ExclusiveArch: %{rust_arches}
- rust-toml
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-traitobject
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-trust-dns-https
ExclusiveArch: %{rust_arches}
- rust-trust-dns-native-tls
ExclusiveArch: %{rust_arches}
- rust-trust-dns-native-tls0.19
ExclusiveArch: %{rust_arches}
- rust-trust-dns-openssl
ExclusiveArch: %{rust_arches}
- rust-trust-dns-openssl0.19
ExclusiveArch: %{rust_arches}
- rust-trust-dns-proto
ExclusiveArch: %{rust_arches}
- rust-trust-dns-proto0.19
ExclusiveArch: %{rust_arches}
- rust-trust-dns-resolver
ExclusiveArch: %{rust_arches}
- rust-trust-dns-resolver0.19
ExclusiveArch: %{rust_arches}
- rust-trust-dns-rustls
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-trybuild
ExclusiveArch: %{rust_arches}
- rust-tss-esapi
ExclusiveArch: %{rust_arches}
- rust-tss-esapi-sys
ExclusiveArch: %{rust_arches}
- rust-ttf-parser
ExclusiveArch: %{rust_arches}
- rust-ttf-parser0.12
ExclusiveArch: %{rust_arches}
- rust-tui
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-twox-hash
ExclusiveArch: %{rust_arches}
- rust-type-map
ExclusiveArch: %{rust_arches}
- rust-typeable
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typed-arena1
ExclusiveArch: %{rust_arches}
- rust-typemap
ExclusiveArch: %{rust_arches}
- rust-typenum
ExclusiveArch: %{rust_arches}
- rust-typetag
ExclusiveArch: %{rust_arches}
- rust-typetag-impl
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-ucd-util
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-impl
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-impl
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-category
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-bidi
ExclusiveArch: %{rust_arches}
- rust-unicode-linebreak
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
ExclusiveArch: %{rust_arches}
- rust-unicode-truncate
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-unindent
ExclusiveArch: %{rust_arches}
- rust-universal-hash
ExclusiveArch: %{rust_arches}
- rust-unix_socket
ExclusiveArch: %{rust_arches}
- rust-unreachable
ExclusiveArch: %{rust_arches}
- rust-unsafe-any
ExclusiveArch: %{rust_arches}
- rust-untrusted
ExclusiveArch: %{rust_arches}
- rust-uom
ExclusiveArch: %{rust_arches}
- rust-url
ExclusiveArch: %{rust_arches}
- rust-url1
ExclusiveArch: %{rust_arches}
- rust-url_serde
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-urlocator
ExclusiveArch: %{rust_arches}
- rust-urlshortener
ExclusiveArch: %{rust_arches}
- rust-userfaultfd
ExclusiveArch: %{rust_arches}
- rust-userfaultfd-sys
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-users0.10
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
ExclusiveArch: %{rust_arches}
- rust-utf8-width
ExclusiveArch: %{rust_arches}
- rust-utf8parse
ExclusiveArch: %{rust_arches}
- rust-uuid
ExclusiveArch: %{rust_arches}
- rust-uuid0.7
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-vcsgraph
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-compare
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version-sync0.8
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-versions
ExclusiveArch: %{rust_arches}
- rust-vhost
ExclusiveArch: %{rust_arches}
- rust-vhost-user-backend
ExclusiveArch: %{rust_arches}
- rust-virtio-bindings
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-virtio-queue
ExclusiveArch: x86_64 aarch64 s390x
- rust-vm-memory
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vmm-sys-util
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vmw_backdoor
ExclusiveArch: %{rust_arches}
- 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-wasm-bindgen
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-backend
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-futures
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-macro
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-macro-support
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-shared
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-test
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-test-macro
ExclusiveArch: %{rust_arches}
- rust-wasmer_enumset
ExclusiveArch: %{rust_arches}
- rust-wasmer_enumset_derive
ExclusiveArch: %{rust_arches}
- rust-wasmparser
ExclusiveArch: %{rust_arches}
- rust-wasmtime
ExclusiveArch: x86_64 aarch64 s390x
- rust-wasmtime-cache
ExclusiveArch: %{rust_arches}
- rust-wasmtime-cranelift
ExclusiveArch: x86_64 aarch64 s390x
- rust-wasmtime-environ
ExclusiveArch: %{rust_arches}
- rust-wasmtime-fiber
ExclusiveArch: x86_64 aarch64 s390x
- rust-wasmtime-jit
ExclusiveArch: x86_64 aarch64 s390x
- rust-wasmtime-jit-debug
ExclusiveArch: %{rust_arches}
- rust-wasmtime-runtime
ExclusiveArch: x86_64 aarch64 s390x
- rust-wasmtime-types
ExclusiveArch: %{rust_arches}
- rust-wasmtime-wast
ExclusiveArch: x86_64 aarch64 s390x
- rust-wast
ExclusiveArch: %{rust_arches}
- rust-wat
ExclusiveArch: %{rust_arches}
- rust-watchman_client
ExclusiveArch: %{rust_arches}
- rust-wayland-client
ExclusiveArch: %{rust_arches}
- rust-wayland-commons
ExclusiveArch: %{rust_arches}
- rust-wayland-cursor
ExclusiveArch: %{rust_arches}
- rust-wayland-egl
ExclusiveArch: %{rust_arches}
- rust-wayland-protocols
ExclusiveArch: %{rust_arches}
- rust-wayland-scanner
ExclusiveArch: %{rust_arches}
- rust-wayland-server
ExclusiveArch: %{rust_arches}
- rust-wayland-sys
ExclusiveArch: %{rust_arches}
- rust-web-sys
ExclusiveArch: %{rust_arches}
- rust-webbrowser
ExclusiveArch: %{rust_arches}
- rust-webpki
ExclusiveArch: %{rust_arches}
- rust-webpki-roots
ExclusiveArch: %{rust_arches}
- rust-websocket
ExclusiveArch: %{rust_arches}
- rust-websocket-base
ExclusiveArch: %{rust_arches}
- rust-weezl
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-wide
ExclusiveArch: %{rust_arches}
- rust-wiggle
ExclusiveArch: x86_64 aarch64 s390x
- rust-wiggle-generate
ExclusiveArch: %{rust_arches}
- rust-wiggle-macro
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-winit
ExclusiveArch: %{rust_arches}
- rust-witx
ExclusiveArch: %{rust_arches}
- rust-ws
ExclusiveArch: %{rust_arches}
- rust-wyz
ExclusiveArch: %{rust_arches}
- rust-x11
ExclusiveArch: %{rust_arches}
- rust-x11-clipboard
ExclusiveArch: %{rust_arches}
- rust-x11-dl
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-xml5ever
ExclusiveArch: %{rust_arches}
- rust-xmlparser
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-zbase32
ExclusiveArch: %{rust_arches}
- rust-zbus
ExclusiveArch: %{rust_arches}
- rust-zbus_macros
ExclusiveArch: %{rust_arches}
- rust-zeroize
ExclusiveArch: %{rust_arches}
- rust-zeroize_derive
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-zstd
ExclusiveArch: %{rust_arches}
- rust-zstd-safe
ExclusiveArch: %{rust_arches}
- rust-zstd-sys
ExclusiveArch: %{rust_arches}
- rust-zvariant
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sagemath
ExclusiveArch: aarch64 x86_64
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- 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
- servicelog
ExclusiveArch: ppc %{power64}
- sgabios
ExclusiveArch: %{ix86} x86_64
- 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
- sisu
ExclusiveArch: %{java_arches} noarch
- sisu-mojos
ExclusiveArch: %{java_arches} noarch
- skopeo
ExclusiveArch: %{go_arches}
- skychart
ExclusiveArch: %{fpc_arches}
- slf4j
ExclusiveArch: %{java_arches} noarch
- snapd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- soup-sharp
ExclusiveArch: %{mono_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- springlobby
ExclusiveArch: %{ix86} x86_64
- 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}
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: %{kernel_arches}
- svt-av1
ExclusiveArch: x86_64
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- 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
- system76-keyboard-configurator
ExclusiveArch: %{rust_arches}
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64 aarch64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- ternimal
ExclusiveArch: %{rust_arches}
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- testng
ExclusiveArch: %{java_arches} noarch
- themonospot-base
ExclusiveArch: %mono_arches
- themonospot-console
ExclusiveArch: %mono_arches
- themonospot-gui-gtk
ExclusiveArch: %mono_arches
- themonospot-plugin-avi
ExclusiveArch: %mono_arches
- themonospot-plugin-mkv
ExclusiveArch: %mono_arches
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- 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
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- velocity
ExclusiveArch: %{java_arches} noarch
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- virt-p2v
ExclusiveArch: x86_64
- virt-v2v
ExclusiveArch: x86_64
- virtiofsd
ExclusiveArch: x86_64 aarch64
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- vmemcache
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- vrq
ExclusiveArch: %{ix86} x86_64
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- webkit2-sharp
ExclusiveArch: %mono_arches
- wine
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: %{ix86}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- xalan-j2
ExclusiveArch: %{java_arches} noarch
- xbean
ExclusiveArch: %{java_arches} noarch
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: %{ix86} x86_64 armv7hl aarch64
- xerces-j2
ExclusiveArch: %{java_arches} noarch
- xml-commons-apis
ExclusiveArch: %{java_arches} noarch
- xml-commons-resolver
ExclusiveArch: %{java_arches} noarch
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xmlunit
ExclusiveArch: %{java_arches} noarch
- xmvn
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
- xz-java
ExclusiveArch: %{java_arches} noarch
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- zcfan
ExclusiveArch: x86_64
- zeal
ExclusiveArch: %{qt5_qtwebengine_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, 10 months
Architecture specific change in rpms/globus-gridftp-server.git
by githook-noreply@fedoraproject.org
The package rpms/globus-gridftp-server.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/globus-gridftp-server.git/commit/....
Change:
+%ifarch ppc64le
Thanks.
Full change:
============
commit b0aaa48a6046a7582da7ddf2501f5fe38fef318d
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sat May 28 00:08:03 2022 +0200
New GCT release v6.2.20220524
Drop patches included in the release
diff --git a/globus-gridftp-server-sha256.patch b/globus-gridftp-server-sha256.patch
deleted file mode 100644
index af6e953..0000000
--- a/globus-gridftp-server-sha256.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/gridftp/server/src/test/testcred.cnf.in b/gridftp/server/src/test/testcred.cnf.in
-index ef12fd8e93..e878b0151a 100644
---- a/gridftp/server/src/test/testcred.cnf.in
-+++ b/gridftp/server/src/test/testcred.cnf.in
-@@ -44,7 +44,7 @@ commonName = supplied
- ####################################################################
- [ req ]
- default_bits = 2048
--default_md = sha1
-+default_md = sha256
- default_keyfile = privkey.pem
- distinguished_name = req_distinguished_name
- attributes = req_attributes
diff --git a/globus-gridftp-server-warn.patch b/globus-gridftp-server-warn.patch
deleted file mode 100644
index 7342511..0000000
--- a/globus-gridftp-server-warn.patch
+++ /dev/null
@@ -1,727 +0,0 @@
-diff --git a/gridftp/server/src/gfs_dynbe_client.c b/gridftp/server/src/gfs_dynbe_client.c
-index 43870b2649..62134e0a6c 100644
---- a/gridftp/server/src/gfs_dynbe_client.c
-+++ b/gridftp/server/src/gfs_dynbe_client.c
-@@ -172,6 +172,7 @@ main(
- rc = globus_module_activate(GLOBUS_XIO_MODULE);
- if(rc != 0)
- {
-+ result = GLOBUS_FAILURE;
- goto error_activate;
- }
-
-@@ -210,7 +211,7 @@ main(
- tmp32 = htonl(1);
- memcpy(&buffer[GF_DYN_ENTRY_COUNT_NDX], &tmp32, sizeof(uint32_t));
-
-- strncpy((char *) &buffer[GF_DYN_CS_NDX], be_cs, GF_DYN_CS_LEN);
-+ strncpy((char *) &buffer[GF_DYN_CS_NDX], be_cs, GF_DYN_CS_LEN - 1);
-
- result = globus_xio_open(g_xio_handle, reg_cs, NULL);
- if(result != GLOBUS_SUCCESS)
-diff --git a/gridftp/server/src/gfs_gfork_master.c b/gridftp/server/src/gfs_gfork_master.c
-index b3531e1393..ac49e7d247 100644
---- a/gridftp/server/src/gfs_gfork_master.c
-+++ b/gridftp/server/src/gfs_gfork_master.c
-@@ -1568,7 +1568,7 @@ gfs_l_gfork_backend_xio_open_cb(
- memcpy(&buffer[GF_DYN_AT_ONCE_NDX], &converted_32, sizeof(uint32_t));
- converted_32 = htonl(g_total_cons);
- memcpy(&buffer[GF_DYN_TOTAL_NDX], &converted_32, sizeof(uint32_t));
-- strncpy((char *)&buffer[GF_DYN_CS_NDX], g_be_cs, GF_DYN_CS_LEN);
-+ strncpy((char *)&buffer[GF_DYN_CS_NDX], g_be_cs, GF_DYN_CS_LEN - 1);
-
- result = globus_xio_register_write(
- handle,
-@@ -2041,7 +2041,7 @@ gfs_l_gfork_opts_mem_size(
- int * out_parms_used)
- {
- globus_result_t result;
-- globus_off_t val;
-+ globus_off_t val = 0;
-
- result = gfs_l_gfork_opts_kmgint(opt[0], &val);
- if(result != GLOBUS_SUCCESS)
-diff --git a/gridftp/server/src/globus_gridftp_server.c b/gridftp/server/src/globus_gridftp_server.c
-index 0aff2fd1d6..cc0ba04b01 100644
---- a/gridftp/server/src/globus_gridftp_server.c
-+++ b/gridftp/server/src/globus_gridftp_server.c
-@@ -535,17 +535,16 @@ globus_l_gfs_spawn_child(
- /* inc the connection count 2 here since we will dec it on this close
- and on the death of the child process */
- globus_gfs_config_inc_int("open_connections_count", 2);
-- globus_mutex_unlock(&globus_l_gfs_mutex);
- result = globus_xio_register_close(
- handle,
- NULL,
- globus_l_gfs_close_cb,
-- NULL);
-+ NULL);
- if(result != GLOBUS_SUCCESS)
- {
-- globus_l_gfs_close_cb(handle, result, NULL);
-- }
-- }
-+ globus_i_gfs_connection_closed();
-+ }
-+ }
-
- GlobusGFSDebugExit();
- return GLOBUS_SUCCESS;
-@@ -613,7 +612,8 @@ globus_l_gfs_ipc_closed(
- }
-
- handle = (globus_xio_handle_t) user_arg;
-- globus_mutex_unlock(&globus_l_gfs_mutex);
-+
-+ globus_mutex_lock(&globus_l_gfs_mutex);
- {
- result = globus_xio_register_close(
- handle,
-diff --git a/gridftp/server/src/globus_i_gfs_config.c b/gridftp/server/src/globus_i_gfs_config.c
-index 10963bd421..d5ee9a9a70 100644
---- a/gridftp/server/src/globus_i_gfs_config.c
-+++ b/gridftp/server/src/globus_i_gfs_config.c
-@@ -1880,8 +1880,6 @@ globus_l_gfs_config_display_docbook_usage()
-
- for(i = 0; i < option_count; i++)
- {
-- char * shortflag;
-- char * longflag;
- char * value;
- char * defval;
-
-@@ -1909,27 +1907,19 @@ globus_l_gfs_config_display_docbook_usage()
- switch(o->type)
- {
- case GLOBUS_L_GFS_CONFIG_BOOL:
-- shortflag = "-";
-- longflag = "-";
- value = NULL;
- defval = o->int_value ? "TRUE" : "FALSE";
- break;
- case GLOBUS_L_GFS_CONFIG_INT:
-- shortflag = "-";
-- longflag = "-";
- value = "number";
- defval = o->int_value > 0 ?
- globus_common_create_string("%d", o->int_value) : NULL;
- break;
- case GLOBUS_L_GFS_CONFIG_STRING:
-- shortflag = "-";
-- longflag = "-";
- value = "string";
- defval = o->value ? o->value : NULL;
- break;
- default:
-- shortflag = "";
-- longflag = "";
- value = "";
- defval = o->value ? o->value : NULL;
- break;
-@@ -2000,8 +1990,6 @@ globus_l_gfs_config_display_asciidoc_usage()
-
- for(i = 0; i < option_count; i++)
- {
-- char * shortflag;
-- char * longflag;
- char * value;
- char * defval;
-
-@@ -2034,27 +2022,19 @@ globus_l_gfs_config_display_asciidoc_usage()
- switch(o->type)
- {
- case GLOBUS_L_GFS_CONFIG_BOOL:
-- shortflag = "-";
-- longflag = "-";
- value = NULL;
- defval = o->int_value ? "TRUE" : "FALSE";
- break;
- case GLOBUS_L_GFS_CONFIG_INT:
-- shortflag = "-";
-- longflag = "-";
- value = "number";
- defval = o->int_value > 0 ?
- globus_common_create_string("%d", o->int_value) : NULL;
- break;
- case GLOBUS_L_GFS_CONFIG_STRING:
-- shortflag = "-";
-- longflag = "-";
- value = "string";
- defval = o->value ? o->value : NULL;
- break;
- default:
-- shortflag = "";
-- longflag = "";
- value = "";
- defval = o->value ? o->value : NULL;
- break;
-diff --git a/gridftp/server/src/globus_i_gfs_data.c b/gridftp/server/src/globus_i_gfs_data.c
-index 785eba2240..0bf0ea4369 100644
---- a/gridftp/server/src/globus_i_gfs_data.c
-+++ b/gridftp/server/src/globus_i_gfs_data.c
-@@ -736,7 +736,7 @@ globus_l_gfs_base64_decode(
- {
- int i;
- int j;
-- int D;
-+ int D = 0;
- char * p;
- GlobusGFSName(globus_l_gfs_base64_decode);
- GlobusGFSDebugEnter();
-@@ -1127,11 +1127,10 @@ globus_l_gfs_data_post_transfer_event_cb(
-
- switch(data_handle->state)
- {
-- /* occurs if the next transfer comand happens before this function
-- is called to switch out of the TE_VALID state
-+ /* occurs if the next transfer command happens before this function
-+ is called to switch out of the TE_VALID state */
- case GLOBUS_L_GFS_DATA_HANDLE_INUSE:
- break;
--*/
-
- case GLOBUS_L_GFS_DATA_HANDLE_TE_PRE_CLOSED:
- /* cant free until destroy cb, put in full closed state */
-@@ -1161,7 +1160,7 @@ globus_l_gfs_data_post_transfer_event_cb(
- case GLOBUS_L_GFS_DATA_HANDLE_VALID:
- break;
-
-- /* havent even gotten a close, how did this happen? */
-+ /* haven't even gotten a close, how did this happen? */
- case GLOBUS_L_GFS_DATA_HANDLE_CLOSED:
- case GLOBUS_L_GFS_DATA_HANDLE_CLOSED_AND_DESTROYED:
- /* these shouldnt be possible */
-@@ -1319,7 +1318,9 @@ globus_i_gfs_get_full_path(
- int cwd_len;
- int sc;
- char * slash = "/";
-+#ifdef WIN32
- char * tmp_path;
-+#endif
- char * norm_path;
- GlobusGFSName(globus_i_gfs_get_full_path);
- GlobusGFSDebugEnter();
-@@ -1482,7 +1483,7 @@ globus_i_gfs_data_check_path(
- char path[MAXPATHLEN];
- globus_list_t * list;
- globus_result_t result = GLOBUS_SUCCESS;
-- globus_l_gfs_alias_ent_t * alias_ent;
-+ globus_l_gfs_alias_ent_t * alias_ent = GLOBUS_NULL;
- char * true_path = GLOBUS_NULL;
- char * start_path;
- int in_path_len;
-@@ -1730,7 +1731,7 @@ globus_i_gfs_data_check_path(
-
- if(!rp_list && ret_path)
- {
-- if(alias_ent->realpath)
-+ if(alias_ent && alias_ent->realpath)
- {
- strncpy(path, alias_ent->realpath, alias_ent->realpath_len);
- strcpy(path + alias_ent->realpath_len,
-@@ -2489,58 +2490,6 @@ globus_l_gfs_authorize_cb(
- GlobusGFSDebugExit();
- }
-
--static
--globus_result_t
--globus_l_gfs_data_decode_passed_cred(
-- char * encoded_cred,
-- gss_cred_id_t * out_cred)
--{
-- OM_uint32 major_status;
-- OM_uint32 minor_status;
-- gss_buffer_desc buf;
-- gss_cred_id_t cred;
-- globus_result_t res;
-- GlobusGFSName(globus_l_gfs_data_decode_passed_cred);
-- GlobusGFSDebugEnter();
--
-- buf.value = globus_libc_strdup(encoded_cred);
--
-- res = globus_l_gfs_base64_decode(
-- (globus_byte_t *) encoded_cred, buf.value, &buf.length);
-- if(res != GLOBUS_SUCCESS)
-- {
-- globus_free(buf.value);
-- res = GlobusGFSErrorGeneric(
-- "Invalid base64 input for credential.");
-- }
-- else
-- {
-- major_status = gss_import_cred(
-- &minor_status,
-- &cred,
-- GSS_C_NO_OID,
-- 0,
-- &buf,
-- 0,
-- NULL);
-- globus_free(buf.value);
-- if(major_status != GSS_S_COMPLETE)
-- {
-- res = GlobusGFSErrorWrapFailed(
-- "Credential import", minor_status);
-- }
-- else
-- {
-- *out_cred = cred;
-- }
-- }
--
-- GlobusGFSDebugExit();
--
-- return res;
--}
--
--
- /*
- * this is called when writing. if file exists it is a write
- * request, if it does not exists it is a create request
-@@ -2913,14 +2862,12 @@ globus_l_gfs_data_auth_init_cb(
- globus_bool_t destroy_session = GLOBUS_FALSE;
- globus_bool_t destroy_op = GLOBUS_FALSE;
- globus_l_gfs_data_operation_t * op;
-- globus_gfs_session_info_t * session_info;
- globus_gfs_finished_info_t finished_info;
- globus_bool_t ready = GLOBUS_FALSE;
- GlobusGFSName(globus_l_gfs_data_auth_init_cb);
- GlobusGFSDebugEnter();
-
- op = (globus_l_gfs_data_operation_t *) user_arg;
-- session_info = (globus_gfs_session_info_t *) op->info_struct;
-
- memset(&finished_info, '\0', sizeof(globus_gfs_finished_info_t));
- if(result != GLOBUS_SUCCESS)
-@@ -5069,7 +5016,7 @@ globus_l_gfs_base64_encode(
- {
- int i;
- int j;
-- unsigned char c;
-+ unsigned char c = 0;
- for (i=0,j=0; i < in_len; i++)
- {
- switch (i%3)
-@@ -5154,9 +5101,7 @@ void
- globus_i_gfs_data_init()
- {
- char * restrict_path;
-- int rc;
- globus_result_t result;
-- char * driver;
- GlobusGFSName(globus_i_gfs_data_init);
- GlobusGFSDebugEnter();
-
-@@ -5514,11 +5459,11 @@ globus_l_gfs_data_stat_kickout(
- reply.id = bounce_info->op->id;
- reply.result = bounce_info->error ?
- globus_error_put(bounce_info->error) : GLOBUS_SUCCESS;
-- reply.info.stat.stat_array = bounce_info->stat_array;
-- reply.info.stat.stat_count = bounce_info->stat_count;
-- reply.info.stat.uid = bounce_info->op->session_handle->uid;
-+ reply.info.stat.stat_array = bounce_info->stat_array;
-+ reply.info.stat.stat_count = bounce_info->stat_count;
-+ reply.info.stat.uid = (int)bounce_info->op->session_handle->uid;
- reply.info.stat.gid_count = bounce_info->op->session_handle->gid_count;
-- reply.info.stat.gid_array = bounce_info->op->session_handle->gid_array;
-+ reply.info.stat.gid_array = (int *)bounce_info->op->session_handle->gid_array;
-
- /* pull response code from error */
- if(bounce_info->final_stat && reply.result != GLOBUS_SUCCESS &&
-@@ -5596,7 +5541,7 @@ globus_l_gfs_data_approve_popen(
- char * end;
- char * ptr;
- char * alias;
-- char * prog;
-+ char * prog = NULL;
- char * tmp;
- char * out = NULL;
- globus_bool_t found;
-@@ -5752,7 +5697,7 @@ globus_l_gfs_data_load_stack(
- char * default_stack,
- globus_bool_t subst_io_drivers)
- {
-- char * parsed_driver_string;
-+ char * parsed_driver_string = NULL;
- char * driver_string;
- globus_result_t result = GLOBUS_SUCCESS;
- GlobusGFSName(globus_l_gfs_data_load_stack);
-@@ -5835,7 +5780,7 @@ globus_i_gfs_data_request_command(
- {
- globus_result_t res;
- int rc;
-- globus_gfs_acl_action_t action;
-+ globus_gfs_acl_action_t action = GFS_ACL_ACTION_INIT;
- globus_bool_t call = GLOBUS_TRUE;
- globus_l_gfs_data_operation_t * op;
- globus_result_t result;
-@@ -7621,7 +7566,6 @@ globus_i_gfs_data_request_handle_destroy(
- globus_result_t result;
- globus_l_gfs_data_session_t * session_handle;
- globus_l_gfs_data_handle_t * data_handle;
-- int old_state_dbg;
- GlobusGFSName(globus_i_gfs_data_request_handle_destroy);
- GlobusGFSDebugEnter();
-
-@@ -7643,7 +7587,6 @@ globus_i_gfs_data_request_handle_destroy(
-
- data_handle->destroy_requested = GLOBUS_TRUE;
-
-- old_state_dbg = data_handle->state;
- session_arg = session_handle->session_arg;
- switch(data_handle->state)
- {
-@@ -7783,7 +7726,11 @@ globus_l_gfs_data_hybrid_session_start_cb(
- {
- hybrid_op = op->hybrid_op;
- }
--
-+ else
-+ {
-+ return;
-+ }
-+
- if(op->type == GLOBUS_L_GFS_DATA_INFO_TYPE_PASSIVE)
- {
- if(reply->result != GLOBUS_SUCCESS)
-@@ -7855,12 +7802,8 @@ globus_l_gfs_data_hybrid_session_start_cb(
- hybrid_op->user_arg);
- }
- }
-- if(hybrid_op)
-- {
-- globus_l_gfs_data_operation_destroy(hybrid_op);
-- }
--
-
-+ globus_l_gfs_data_operation_destroy(hybrid_op);
- }
-
- static
-@@ -8710,9 +8653,9 @@ globus_i_gfs_data_request_recv(
- return;
-
- error_module:
-+ globus_gridftp_server_finished_transfer(op, result);
- error_op:
- error_handle:
-- globus_gridftp_server_finished_transfer(op, result);
- GlobusGFSDebugExitWithError();
- }
-
-@@ -8901,9 +8844,9 @@ globus_i_gfs_data_request_send(
- return;
-
- error_module:
-+ globus_gridftp_server_finished_transfer(op, result);
- error_op:
- error_handle:
-- globus_gridftp_server_finished_transfer(op, result);
- GlobusGFSDebugExitWithError();
- }
-
-@@ -9056,7 +8999,7 @@ globus_l_gfs_data_list_stat_cb(
- globus_size_t buffer_len;
- globus_l_gfs_data_stat_bounce_t * bounce_info;
- globus_gfs_stat_info_t * stat_info;
-- globus_result_t result;
-+ globus_result_t result = GLOBUS_SUCCESS;
- globus_gfs_stat_t * stat_array;
- globus_gfs_stat_t stat_temp;
- int stat_count;
-@@ -9735,7 +9678,6 @@ globus_l_gfs_data_begin_cb(
- globus_gfs_event_info_t event_reply;
- globus_gfs_event_info_t event_info;
- globus_l_gfs_data_operation_t * op;
-- globus_l_gfs_data_handle_state_t last_state;
- void * remote_data_arg = NULL;
- GlobusGFSName(globus_l_gfs_data_begin_cb);
- GlobusGFSDebugEnter();
-@@ -9744,7 +9686,6 @@ globus_l_gfs_data_begin_cb(
-
- globus_mutex_lock(&op->session_handle->mutex);
- {
-- last_state = op->state;
- switch(op->state)
- {
- case GLOBUS_L_GFS_DATA_CONNECTING:
-@@ -11915,7 +11856,6 @@ globus_l_gfs_finished_command_kickout(
- globus_bool_t destroy_op = GLOBUS_FALSE;
- void * remote_data_arg = NULL;
- globus_l_gfs_data_operation_t * op;
-- globus_result_t result;
- globus_l_gfs_data_cmd_bounce_t * bounce;
-
- bounce = (globus_l_gfs_data_cmd_bounce_t *) user_arg;
-@@ -12304,7 +12244,6 @@ globus_gridftp_server_finished_stat(
- int i;
- char * base_path;
- globus_gfs_stat_info_t * stat_info;
-- int code;
- GlobusGFSName(globus_gridftp_server_finished_stat);
- GlobusGFSDebugEnter();
-
-@@ -13465,7 +13404,6 @@ globus_gridftp_server_set_checksum_support(
- globus_gfs_operation_t op,
- const char * cksm_str)
- {
-- globus_result_t result;
- GlobusGFSName(globus_gridftp_server_set_checksum_support);
- GlobusGFSDebugEnter();
-
-@@ -14764,7 +14702,7 @@ globus_i_gfs_http_data_parse_request(
- char * d_req = NULL;
- globus_size_t req_len;
- char * line;
-- char * next_line;
-+ char * next_line = NULL;
- char * ptr;
- char * enc_path;
- char * enc_url;
-diff --git a/gridftp/server/src/globus_i_gfs_embed.c b/gridftp/server/src/globus_i_gfs_embed.c
-index 6ead624b62..b97e89584d 100644
---- a/gridftp/server/src/globus_i_gfs_embed.c
-+++ b/gridftp/server/src/globus_i_gfs_embed.c
-@@ -264,32 +264,26 @@ globus_l_gfs_ipc_closed(
- void * user_arg,
- globus_result_t result)
- {
-- globus_xio_handle_t xio_handle;
- globus_gfs_embed_handle_t handle;
-+ GlobusGFSName(globus_l_gfs_ipc_closed);
-+ GlobusGFSDebugEnter();
-
- if(result != GLOBUS_SUCCESS)
- {
- /* XXX TODO log and error */
- }
-
-- xio_handle = (globus_xio_handle_t) user_arg;
-- globus_mutex_unlock(&handle->mutex);
-+ handle = (globus_gfs_embed_handle_t) user_arg;
-+
-+ globus_mutex_lock(&handle->mutex);
- {
-- result = globus_xio_register_close(
-- xio_handle,
-- NULL,
-- globus_l_gfs_close_cb,
-- handle);
-+ globus_i_gfs_connection_closed(handle);
- }
- globus_mutex_unlock(&handle->mutex);
-
-- if(result != GLOBUS_SUCCESS)
-- {
-- globus_l_gfs_close_cb(xio_handle, result, handle);
-- }
-+ GlobusGFSDebugExit();
- }
-
--
- static
- void
- globus_l_gfs_new_server_cb(
-@@ -380,7 +374,7 @@ globus_l_gfs_new_server_cb(
- &globus_gfs_ipc_default_iface,
- system_handle,
- globus_l_gfs_ipc_closed,
-- xio_handle);
-+ handle);
- }
- else
- {
-diff --git a/gridftp/server/src/globus_i_gfs_ipc.c b/gridftp/server/src/globus_i_gfs_ipc.c
-index c2d58fbb1b..acf9063740 100644
---- a/gridftp/server/src/globus_i_gfs_ipc.c
-+++ b/gridftp/server/src/globus_i_gfs_ipc.c
-@@ -4137,17 +4137,17 @@ globus_l_gfs_ipc_reply_read_body_cb(
- globus_byte_t * new_buf;
- globus_gfs_ipc_request_t * request = user_arg;
- globus_i_gfs_ipc_handle_t * ipc;
-- globus_gfs_command_info_t * cmd_info;
-- globus_gfs_transfer_info_t * trans_info;
-- globus_gfs_data_info_t * data_info;
-- globus_gfs_stat_info_t * stat_info;
-+ globus_gfs_command_info_t * cmd_info = NULL;
-+ globus_gfs_transfer_info_t * trans_info = NULL;
-+ globus_gfs_data_info_t * data_info = NULL;
-+ globus_gfs_stat_info_t * stat_info = NULL;
- globus_gfs_event_info_t * event_info;
- globus_gfs_operation_type_t type;
-- globus_byte_t * user_buffer;
-- globus_size_t user_buffer_length;
-- int user_buffer_type;
-+ globus_byte_t * user_buffer = NULL;
-+ globus_size_t user_buffer_length = 0;
-+ int user_buffer_type = 0;
- int rc;
-- void * data_arg;
-+ void * data_arg = NULL;
- globus_bool_t process = GLOBUS_FALSE;
- int error_state;
- int no_reply_state;
-@@ -4918,6 +4918,7 @@ globus_l_gfs_ipc_reply_cb(
- goto error_already;
- break;
- case GLOBUS_GFS_IPC_STATE_REPLY_WAIT:
-+ error_state = GLOBUS_GFS_IPC_STATE_REPLY_WAIT;
- break;
- default:
- globus_assert(0 && "memory corruption?");
-diff --git a/gridftp/server/src/globus_i_gfs_log.c b/gridftp/server/src/globus_i_gfs_log.c
-index bd10c89d2f..837bcfc547 100644
---- a/gridftp/server/src/globus_i_gfs_log.c
-+++ b/gridftp/server/src/globus_i_gfs_log.c
-@@ -85,7 +85,6 @@ globus_i_gfs_log_open()
- int len;
- int ctr;
- char * tag;
-- globus_result_t result;
- globus_reltime_t flush_interval;
- globus_size_t buffer;
- int rc;
-@@ -369,7 +368,6 @@ globus_i_gfs_log_open()
- void
- globus_i_gfs_log_close(void)
- {
-- globus_list_t * list;
- GlobusGFSName(globus_i_gfs_log_close);
- GlobusGFSDebugEnter();
-
-diff --git a/gridftp/server/src/modules/file/globus_gridftp_server_file.c b/gridftp/server/src/modules/file/globus_gridftp_server_file.c
-index f7b7416826..2ce4c7fae5 100644
---- a/gridftp/server/src/modules/file/globus_gridftp_server_file.c
-+++ b/gridftp/server/src/modules/file/globus_gridftp_server_file.c
-@@ -783,7 +783,6 @@ globus_l_gfs_file_stat(
- globus_gfs_stat_t * stat_array;
- int stat_count = 0;
- int total_stat_count = 0;
-- DIR * dir;
- char basepath[MAXPATHLEN];
- char filename[MAXPATHLEN];
- char symlink_target[MAXPATHLEN];
-@@ -850,6 +849,7 @@ globus_l_gfs_file_stat(
- {
- /* use larger path bufs so we have the full name for err msg */
- int maxpathlen = GLOBUS_MAX(4096, MAXPATHLEN);
-+ DIR * dir;
- struct dirent * dir_entry;
- int i;
- char dir_path[maxpathlen];
-@@ -1046,8 +1046,13 @@ globus_l_gfs_file_stat(
- stat_count = i;
-
- closedir(dir);
--
-+ goto done_fake;
-
-+error_stat2:
-+ globus_l_gfs_file_destroy_stat(stat_array, stat_count);
-+error_alloc2:
-+ closedir(dir);
-+ goto error_open;
- }
- done_fake:
-
-@@ -1090,7 +1095,7 @@ done_fake:
- if(!stat_array)
- {
- result = GlobusGFSErrorMemory("stat_array");
-- goto error_alloc2;
-+ goto error_open;
- }
-
- snprintf(
-@@ -1122,9 +1127,6 @@ done_fake:
- if(slow_listings &&
- (dir_entry->d_type == DT_DIR || dir_entry->d_type == DT_REG))
- {
-- unsigned long h = 0;
-- char * key;
--
- stat_buf = (struct stat)
- {
- .st_mode = S_IRWXU |
-@@ -1186,7 +1188,7 @@ done_fake:
- &stat_array[i], &stat_buf, dir_entry->d_name, symlink_target, link_stat_buf.st_mode, base_error);
-
- /* set nlink to total files in dir for . entry */
-- if(check_cdir && dir_entry->d_name &&
-+ if(check_cdir &&
- dir_entry->d_name[0] == '.' && dir_entry->d_name[1] == '\0')
- {
- check_cdir = GLOBUS_FALSE;
-@@ -1231,7 +1233,7 @@ done_fake:
- if(!stat_array)
- {
- result = GlobusGFSErrorMemory("stat_array");
-- goto error_alloc2;
-+ goto error_open;
- }
-
- stat_count = 0;
-@@ -1253,11 +1255,7 @@ done_fake:
-
- GlobusGFSFileDebugExit();
- return;
--error_stat2:
-- globus_l_gfs_file_destroy_stat(stat_array, stat_count);
--error_alloc2:
-- closedir(dir);
--
-+
- error_open:
- error_alloc1:
- error_stat1:
-@@ -1977,7 +1975,6 @@ globus_l_gfs_file_open_cksm_cb(
- void * user_arg)
- {
- globus_l_gfs_file_cksm_monitor_t * monitor;
-- char * freq;
- GlobusGFSName(globus_l_gfs_file_open_cksm_cb);
- GlobusGFSFileDebugEnter();
-
-diff --git a/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c b/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c
-index b4ab1ae246..675932fde9 100644
---- a/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c
-+++ b/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c
-@@ -402,7 +402,7 @@ globus_l_gfs_remote_select_nodes(
- repo_name = bounce->repo;
- callback = bounce->callback;
- user_arg = bounce->user_arg;
-- nodes_requested = bounce->num_nodes;
-+ nodes_requested = num_nodes;
-
- /* select a new set of nodes */
- result = globus_gfs_brain_select_nodes(
-@@ -920,7 +920,6 @@ globus_l_gfs_ipc_event_cb(
- globus_l_gfs_remote_handle_t * my_handle;
- int i;
- globus_l_gfs_remote_ipc_bounce_t * bounce_info;
-- globus_list_t * list;
- globus_bool_t finish = GLOBUS_FALSE;
- globus_l_gfs_remote_node_info_t * current_node = NULL;
- globus_l_gfs_remote_node_info_t * master_node = NULL;
-@@ -981,8 +980,7 @@ globus_l_gfs_ipc_event_cb(
-
- for(i = 0; i < bounce_info->node_handle->count; i++)
- {
-- node_info = (globus_l_gfs_remote_node_info_t *)
-- globus_list_first(list);
-+ node_info = bounce_info->node_handle->nodes[i];
- info = (globus_gfs_transfer_info_t *) node_info->info;
-
- if(node_info->ipc_handle == ipc_handle)
-diff --git a/gridftp/server/src/test/error_response_test.c b/gridftp/server/src/test/error_response_test.c
-index a1825b62aa..4a26969cab 100644
---- a/gridftp/server/src/test/error_response_test.c
-+++ b/gridftp/server/src/test/error_response_test.c
-@@ -219,7 +219,6 @@ static
- bool
- test_error_multiline(void)
- {
-- globus_result_t result = GLOBUS_SUCCESS;
- globus_object_t *err = NULL;
- char *msg = NULL;
- char *ftp_str = NULL;
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index e471c83..bff78e1 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -8,8 +8,8 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
-Version: 13.22
-Release: 12%{?dist}
+Version: 13.24
+Release: 1%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -20,13 +20,6 @@ Source2: globus-gridftp-sshftp.service
Source3: %{name}
Source4: globus-gridftp-sshftp
Source8: README
-# Use sha256 hash when generating test certificates
-# https://github.com/gridcf/gct/pull/178
-Patch0: %{name}-sha256.patch
-# Fix some compiler warnings
-# Fix unbalanced mutex lock/unlock
-# https://github.com/gridcf/gct/pull/179
-Patch1: %{name}-warn.patch
BuildRequires: make
BuildRequires: gcc
@@ -121,8 +114,6 @@ Globus GridFTP Server Development Files
%prep
%setup -q -n %{_name}-%{version}
-%patch0 -p4
-%patch1 -p4
%build
# Reduce overlinking
@@ -254,6 +245,10 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Wed May 25 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.24-1
+- New GCT release v6.2.20220524
+- Drop patches included in the release
+
* Mon Mar 14 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-12
- Put back mutex fix
diff --git a/sources b/sources
index 6e5d65b..c60c8d5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (globus_gridftp_server-13.22.tar.gz) = 645058f2a9ce1027ac1f780af91f9eef7ecffab15977336bbb03ea1b82ac38e07325d8f5f92a3fb3c5c317a9a5c8dc473c294a94fbf9fa860c77d25249c70705
+SHA512 (globus_gridftp_server-13.24.tar.gz) = ee2d45fe7de7daf6005f9456c4aba151aba948ab1ffc419f5942958bb6fe79d8eadf2c2673735dca3c7b30e8450a40b269488c24154fb1fbff1cf90568f09d99
commit 2282544e60cac3833d34880e2e8ef8ca8e400bea
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Mon Mar 14 19:18:28 2022 +0100
Put back mutex fix
diff --git a/globus-gridftp-server-warn.patch b/globus-gridftp-server-warn.patch
index d3c3885..7342511 100644
--- a/globus-gridftp-server-warn.patch
+++ b/globus-gridftp-server-warn.patch
@@ -42,10 +42,32 @@ index b3531e1393..ac49e7d247 100644
result = gfs_l_gfork_opts_kmgint(opt[0], &val);
if(result != GLOBUS_SUCCESS)
diff --git a/gridftp/server/src/globus_gridftp_server.c b/gridftp/server/src/globus_gridftp_server.c
-index 0aff2fd1d6..fc4a2b3e88 100644
+index 0aff2fd1d6..cc0ba04b01 100644
--- a/gridftp/server/src/globus_gridftp_server.c
+++ b/gridftp/server/src/globus_gridftp_server.c
-@@ -613,7 +613,8 @@ globus_l_gfs_ipc_closed(
+@@ -535,17 +535,16 @@ globus_l_gfs_spawn_child(
+ /* inc the connection count 2 here since we will dec it on this close
+ and on the death of the child process */
+ globus_gfs_config_inc_int("open_connections_count", 2);
+- globus_mutex_unlock(&globus_l_gfs_mutex);
+ result = globus_xio_register_close(
+ handle,
+ NULL,
+ globus_l_gfs_close_cb,
+- NULL);
++ NULL);
+ if(result != GLOBUS_SUCCESS)
+ {
+- globus_l_gfs_close_cb(handle, result, NULL);
+- }
+- }
++ globus_i_gfs_connection_closed();
++ }
++ }
+
+ GlobusGFSDebugExit();
+ return GLOBUS_SUCCESS;
+@@ -613,7 +612,8 @@ globus_l_gfs_ipc_closed(
}
handle = (globus_xio_handle_t) user_arg;
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 9aa2219..e471c83 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 11%{?dist}
+Release: 12%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -254,6 +254,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Mon Mar 14 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-12
+- Put back mutex fix
+
* Sun Mar 13 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-11
- Better fix for undefined variable in embedded close callback
commit 5af105d11b2c219728f0d29afc9797582919c774
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sun Mar 13 21:34:47 2022 +0100
Better fix for undefined variable in embedded close callback
diff --git a/globus-gridftp-server-warn.patch b/globus-gridftp-server-warn.patch
index 6797ff1..d3c3885 100644
--- a/globus-gridftp-server-warn.patch
+++ b/globus-gridftp-server-warn.patch
@@ -457,18 +457,20 @@ index 785eba2240..0bf0ea4369 100644
char * enc_path;
char * enc_url;
diff --git a/gridftp/server/src/globus_i_gfs_embed.c b/gridftp/server/src/globus_i_gfs_embed.c
-index 6ead624b62..8fafb33f83 100644
+index 6ead624b62..b97e89584d 100644
--- a/gridftp/server/src/globus_i_gfs_embed.c
+++ b/gridftp/server/src/globus_i_gfs_embed.c
-@@ -264,7 +264,6 @@ globus_l_gfs_ipc_closed(
+@@ -264,32 +264,26 @@ globus_l_gfs_ipc_closed(
void * user_arg,
globus_result_t result)
{
- globus_xio_handle_t xio_handle;
globus_gfs_embed_handle_t handle;
++ GlobusGFSName(globus_l_gfs_ipc_closed);
++ GlobusGFSDebugEnter();
if(result != GLOBUS_SUCCESS)
-@@ -272,20 +271,18 @@ globus_l_gfs_ipc_closed(
+ {
/* XXX TODO log and error */
}
@@ -483,19 +485,22 @@ index 6ead624b62..8fafb33f83 100644
- NULL,
- globus_l_gfs_close_cb,
- handle);
-+ result = globus_xio_server_register_close(
-+ handle->xio_server, globus_l_gfs_server_close_cb, handle);
++ globus_i_gfs_connection_closed(handle);
}
globus_mutex_unlock(&handle->mutex);
- if(result != GLOBUS_SUCCESS)
- {
+- if(result != GLOBUS_SUCCESS)
+- {
- globus_l_gfs_close_cb(xio_handle, result, handle);
-+ globus_l_gfs_server_close_cb(handle->xio_server, handle);
- }
+- }
++ GlobusGFSDebugExit();
}
-@@ -380,7 +377,7 @@ globus_l_gfs_new_server_cb(
+-
+ static
+ void
+ globus_l_gfs_new_server_cb(
+@@ -380,7 +374,7 @@ globus_l_gfs_new_server_cb(
&globus_gfs_ipc_default_iface,
system_handle,
globus_l_gfs_ipc_closed,
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 5d78ce0..9aa2219 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 10%{?dist}
+Release: 11%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -254,6 +254,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Sun Mar 13 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-11
+- Better fix for undefined variable in embedded close callback
+
* Sun Mar 13 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-10
- No mutex fix needed here
commit 217168318647c55c9f3cd761b79510c52be8ba13
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sun Mar 13 18:32:40 2022 +0100
No mutex fix needed here
diff --git a/globus-gridftp-server-warn.patch b/globus-gridftp-server-warn.patch
index ff78ec2..6797ff1 100644
--- a/globus-gridftp-server-warn.patch
+++ b/globus-gridftp-server-warn.patch
@@ -42,27 +42,10 @@ index b3531e1393..ac49e7d247 100644
result = gfs_l_gfork_opts_kmgint(opt[0], &val);
if(result != GLOBUS_SUCCESS)
diff --git a/gridftp/server/src/globus_gridftp_server.c b/gridftp/server/src/globus_gridftp_server.c
-index 0aff2fd1d6..52ed0db3f6 100644
+index 0aff2fd1d6..fc4a2b3e88 100644
--- a/gridftp/server/src/globus_gridftp_server.c
+++ b/gridftp/server/src/globus_gridftp_server.c
-@@ -535,7 +535,6 @@ globus_l_gfs_spawn_child(
- /* inc the connection count 2 here since we will dec it on this close
- and on the death of the child process */
- globus_gfs_config_inc_int("open_connections_count", 2);
-- globus_mutex_unlock(&globus_l_gfs_mutex);
- result = globus_xio_register_close(
- handle,
- NULL,
-@@ -543,7 +542,7 @@ globus_l_gfs_spawn_child(
- NULL);
- if(result != GLOBUS_SUCCESS)
- {
-- globus_l_gfs_close_cb(handle, result, NULL);
-+ globus_i_gfs_connection_closed();
- }
- }
-
-@@ -613,7 +612,8 @@ globus_l_gfs_ipc_closed(
+@@ -613,7 +613,8 @@ globus_l_gfs_ipc_closed(
}
handle = (globus_xio_handle_t) user_arg;
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 406ec99..5d78ce0 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 9%{?dist}
+Release: 10%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -254,6 +254,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Sun Mar 13 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-10
+- No mutex fix needed here
+
* Sun Mar 13 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-9
- Improved mutex fix
commit 3b8ecac722c7fedf2231d4ac85d0d8c7e8082262
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sun Mar 13 09:14:36 2022 +0100
Improved mutex fix
diff --git a/globus-gridftp-server-warn.patch b/globus-gridftp-server-warn.patch
index 5793d65..ff78ec2 100644
--- a/globus-gridftp-server-warn.patch
+++ b/globus-gridftp-server-warn.patch
@@ -42,7 +42,7 @@ index b3531e1393..ac49e7d247 100644
result = gfs_l_gfork_opts_kmgint(opt[0], &val);
if(result != GLOBUS_SUCCESS)
diff --git a/gridftp/server/src/globus_gridftp_server.c b/gridftp/server/src/globus_gridftp_server.c
-index 0aff2fd1d6..9704775842 100644
+index 0aff2fd1d6..52ed0db3f6 100644
--- a/gridftp/server/src/globus_gridftp_server.c
+++ b/gridftp/server/src/globus_gridftp_server.c
@@ -535,7 +535,6 @@ globus_l_gfs_spawn_child(
@@ -53,17 +53,16 @@ index 0aff2fd1d6..9704775842 100644
result = globus_xio_register_close(
handle,
NULL,
-@@ -543,7 +542,9 @@ globus_l_gfs_spawn_child(
+@@ -543,7 +542,7 @@ globus_l_gfs_spawn_child(
NULL);
if(result != GLOBUS_SUCCESS)
{
-+ globus_mutex_unlock(&globus_l_gfs_mutex);
- globus_l_gfs_close_cb(handle, result, NULL);
-+ globus_mutex_lock(&globus_l_gfs_mutex);
+- globus_l_gfs_close_cb(handle, result, NULL);
++ globus_i_gfs_connection_closed();
}
}
-@@ -613,7 +614,8 @@ globus_l_gfs_ipc_closed(
+@@ -613,7 +612,8 @@ globus_l_gfs_ipc_closed(
}
handle = (globus_xio_handle_t) user_arg;
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 1e9691f..406ec99 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 8%{?dist}
+Release: 9%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -254,6 +254,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Sun Mar 13 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-9
+- Improved mutex fix
+
* Sat Mar 12 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-8
- Use sha256 hash when generating test certificates
- Fix some compiler warnings
commit 147f30a88024312e1fe03d7dd3a4be6c59d08457
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sat Mar 12 22:24:32 2022 +0100
Use sha256 hash when generating test certificates
Fix some compiler warnings
Fix unbalanced mutex lock/unlock
diff --git a/globus-gridftp-server-sha256.patch b/globus-gridftp-server-sha256.patch
new file mode 100644
index 0000000..af6e953
--- /dev/null
+++ b/globus-gridftp-server-sha256.patch
@@ -0,0 +1,13 @@
+diff --git a/gridftp/server/src/test/testcred.cnf.in b/gridftp/server/src/test/testcred.cnf.in
+index ef12fd8e93..e878b0151a 100644
+--- a/gridftp/server/src/test/testcred.cnf.in
++++ b/gridftp/server/src/test/testcred.cnf.in
+@@ -44,7 +44,7 @@ commonName = supplied
+ ####################################################################
+ [ req ]
+ default_bits = 2048
+-default_md = sha1
++default_md = sha256
+ default_keyfile = privkey.pem
+ distinguished_name = req_distinguished_name
+ attributes = req_attributes
diff --git a/globus-gridftp-server-warn.patch b/globus-gridftp-server-warn.patch
new file mode 100644
index 0000000..5793d65
--- /dev/null
+++ b/globus-gridftp-server-warn.patch
@@ -0,0 +1,718 @@
+diff --git a/gridftp/server/src/gfs_dynbe_client.c b/gridftp/server/src/gfs_dynbe_client.c
+index 43870b2649..62134e0a6c 100644
+--- a/gridftp/server/src/gfs_dynbe_client.c
++++ b/gridftp/server/src/gfs_dynbe_client.c
+@@ -172,6 +172,7 @@ main(
+ rc = globus_module_activate(GLOBUS_XIO_MODULE);
+ if(rc != 0)
+ {
++ result = GLOBUS_FAILURE;
+ goto error_activate;
+ }
+
+@@ -210,7 +211,7 @@ main(
+ tmp32 = htonl(1);
+ memcpy(&buffer[GF_DYN_ENTRY_COUNT_NDX], &tmp32, sizeof(uint32_t));
+
+- strncpy((char *) &buffer[GF_DYN_CS_NDX], be_cs, GF_DYN_CS_LEN);
++ strncpy((char *) &buffer[GF_DYN_CS_NDX], be_cs, GF_DYN_CS_LEN - 1);
+
+ result = globus_xio_open(g_xio_handle, reg_cs, NULL);
+ if(result != GLOBUS_SUCCESS)
+diff --git a/gridftp/server/src/gfs_gfork_master.c b/gridftp/server/src/gfs_gfork_master.c
+index b3531e1393..ac49e7d247 100644
+--- a/gridftp/server/src/gfs_gfork_master.c
++++ b/gridftp/server/src/gfs_gfork_master.c
+@@ -1568,7 +1568,7 @@ gfs_l_gfork_backend_xio_open_cb(
+ memcpy(&buffer[GF_DYN_AT_ONCE_NDX], &converted_32, sizeof(uint32_t));
+ converted_32 = htonl(g_total_cons);
+ memcpy(&buffer[GF_DYN_TOTAL_NDX], &converted_32, sizeof(uint32_t));
+- strncpy((char *)&buffer[GF_DYN_CS_NDX], g_be_cs, GF_DYN_CS_LEN);
++ strncpy((char *)&buffer[GF_DYN_CS_NDX], g_be_cs, GF_DYN_CS_LEN - 1);
+
+ result = globus_xio_register_write(
+ handle,
+@@ -2041,7 +2041,7 @@ gfs_l_gfork_opts_mem_size(
+ int * out_parms_used)
+ {
+ globus_result_t result;
+- globus_off_t val;
++ globus_off_t val = 0;
+
+ result = gfs_l_gfork_opts_kmgint(opt[0], &val);
+ if(result != GLOBUS_SUCCESS)
+diff --git a/gridftp/server/src/globus_gridftp_server.c b/gridftp/server/src/globus_gridftp_server.c
+index 0aff2fd1d6..9704775842 100644
+--- a/gridftp/server/src/globus_gridftp_server.c
++++ b/gridftp/server/src/globus_gridftp_server.c
+@@ -535,7 +535,6 @@ globus_l_gfs_spawn_child(
+ /* inc the connection count 2 here since we will dec it on this close
+ and on the death of the child process */
+ globus_gfs_config_inc_int("open_connections_count", 2);
+- globus_mutex_unlock(&globus_l_gfs_mutex);
+ result = globus_xio_register_close(
+ handle,
+ NULL,
+@@ -543,7 +542,9 @@ globus_l_gfs_spawn_child(
+ NULL);
+ if(result != GLOBUS_SUCCESS)
+ {
++ globus_mutex_unlock(&globus_l_gfs_mutex);
+ globus_l_gfs_close_cb(handle, result, NULL);
++ globus_mutex_lock(&globus_l_gfs_mutex);
+ }
+ }
+
+@@ -613,7 +614,8 @@ globus_l_gfs_ipc_closed(
+ }
+
+ handle = (globus_xio_handle_t) user_arg;
+- globus_mutex_unlock(&globus_l_gfs_mutex);
++
++ globus_mutex_lock(&globus_l_gfs_mutex);
+ {
+ result = globus_xio_register_close(
+ handle,
+diff --git a/gridftp/server/src/globus_i_gfs_config.c b/gridftp/server/src/globus_i_gfs_config.c
+index 10963bd421..d5ee9a9a70 100644
+--- a/gridftp/server/src/globus_i_gfs_config.c
++++ b/gridftp/server/src/globus_i_gfs_config.c
+@@ -1880,8 +1880,6 @@ globus_l_gfs_config_display_docbook_usage()
+
+ for(i = 0; i < option_count; i++)
+ {
+- char * shortflag;
+- char * longflag;
+ char * value;
+ char * defval;
+
+@@ -1909,27 +1907,19 @@ globus_l_gfs_config_display_docbook_usage()
+ switch(o->type)
+ {
+ case GLOBUS_L_GFS_CONFIG_BOOL:
+- shortflag = "-";
+- longflag = "-";
+ value = NULL;
+ defval = o->int_value ? "TRUE" : "FALSE";
+ break;
+ case GLOBUS_L_GFS_CONFIG_INT:
+- shortflag = "-";
+- longflag = "-";
+ value = "number";
+ defval = o->int_value > 0 ?
+ globus_common_create_string("%d", o->int_value) : NULL;
+ break;
+ case GLOBUS_L_GFS_CONFIG_STRING:
+- shortflag = "-";
+- longflag = "-";
+ value = "string";
+ defval = o->value ? o->value : NULL;
+ break;
+ default:
+- shortflag = "";
+- longflag = "";
+ value = "";
+ defval = o->value ? o->value : NULL;
+ break;
+@@ -2000,8 +1990,6 @@ globus_l_gfs_config_display_asciidoc_usage()
+
+ for(i = 0; i < option_count; i++)
+ {
+- char * shortflag;
+- char * longflag;
+ char * value;
+ char * defval;
+
+@@ -2034,27 +2022,19 @@ globus_l_gfs_config_display_asciidoc_usage()
+ switch(o->type)
+ {
+ case GLOBUS_L_GFS_CONFIG_BOOL:
+- shortflag = "-";
+- longflag = "-";
+ value = NULL;
+ defval = o->int_value ? "TRUE" : "FALSE";
+ break;
+ case GLOBUS_L_GFS_CONFIG_INT:
+- shortflag = "-";
+- longflag = "-";
+ value = "number";
+ defval = o->int_value > 0 ?
+ globus_common_create_string("%d", o->int_value) : NULL;
+ break;
+ case GLOBUS_L_GFS_CONFIG_STRING:
+- shortflag = "-";
+- longflag = "-";
+ value = "string";
+ defval = o->value ? o->value : NULL;
+ break;
+ default:
+- shortflag = "";
+- longflag = "";
+ value = "";
+ defval = o->value ? o->value : NULL;
+ break;
+diff --git a/gridftp/server/src/globus_i_gfs_data.c b/gridftp/server/src/globus_i_gfs_data.c
+index 785eba2240..0bf0ea4369 100644
+--- a/gridftp/server/src/globus_i_gfs_data.c
++++ b/gridftp/server/src/globus_i_gfs_data.c
+@@ -736,7 +736,7 @@ globus_l_gfs_base64_decode(
+ {
+ int i;
+ int j;
+- int D;
++ int D = 0;
+ char * p;
+ GlobusGFSName(globus_l_gfs_base64_decode);
+ GlobusGFSDebugEnter();
+@@ -1127,11 +1127,10 @@ globus_l_gfs_data_post_transfer_event_cb(
+
+ switch(data_handle->state)
+ {
+- /* occurs if the next transfer comand happens before this function
+- is called to switch out of the TE_VALID state
++ /* occurs if the next transfer command happens before this function
++ is called to switch out of the TE_VALID state */
+ case GLOBUS_L_GFS_DATA_HANDLE_INUSE:
+ break;
+-*/
+
+ case GLOBUS_L_GFS_DATA_HANDLE_TE_PRE_CLOSED:
+ /* cant free until destroy cb, put in full closed state */
+@@ -1161,7 +1160,7 @@ globus_l_gfs_data_post_transfer_event_cb(
+ case GLOBUS_L_GFS_DATA_HANDLE_VALID:
+ break;
+
+- /* havent even gotten a close, how did this happen? */
++ /* haven't even gotten a close, how did this happen? */
+ case GLOBUS_L_GFS_DATA_HANDLE_CLOSED:
+ case GLOBUS_L_GFS_DATA_HANDLE_CLOSED_AND_DESTROYED:
+ /* these shouldnt be possible */
+@@ -1319,7 +1318,9 @@ globus_i_gfs_get_full_path(
+ int cwd_len;
+ int sc;
+ char * slash = "/";
++#ifdef WIN32
+ char * tmp_path;
++#endif
+ char * norm_path;
+ GlobusGFSName(globus_i_gfs_get_full_path);
+ GlobusGFSDebugEnter();
+@@ -1482,7 +1483,7 @@ globus_i_gfs_data_check_path(
+ char path[MAXPATHLEN];
+ globus_list_t * list;
+ globus_result_t result = GLOBUS_SUCCESS;
+- globus_l_gfs_alias_ent_t * alias_ent;
++ globus_l_gfs_alias_ent_t * alias_ent = GLOBUS_NULL;
+ char * true_path = GLOBUS_NULL;
+ char * start_path;
+ int in_path_len;
+@@ -1730,7 +1731,7 @@ globus_i_gfs_data_check_path(
+
+ if(!rp_list && ret_path)
+ {
+- if(alias_ent->realpath)
++ if(alias_ent && alias_ent->realpath)
+ {
+ strncpy(path, alias_ent->realpath, alias_ent->realpath_len);
+ strcpy(path + alias_ent->realpath_len,
+@@ -2489,58 +2490,6 @@ globus_l_gfs_authorize_cb(
+ GlobusGFSDebugExit();
+ }
+
+-static
+-globus_result_t
+-globus_l_gfs_data_decode_passed_cred(
+- char * encoded_cred,
+- gss_cred_id_t * out_cred)
+-{
+- OM_uint32 major_status;
+- OM_uint32 minor_status;
+- gss_buffer_desc buf;
+- gss_cred_id_t cred;
+- globus_result_t res;
+- GlobusGFSName(globus_l_gfs_data_decode_passed_cred);
+- GlobusGFSDebugEnter();
+-
+- buf.value = globus_libc_strdup(encoded_cred);
+-
+- res = globus_l_gfs_base64_decode(
+- (globus_byte_t *) encoded_cred, buf.value, &buf.length);
+- if(res != GLOBUS_SUCCESS)
+- {
+- globus_free(buf.value);
+- res = GlobusGFSErrorGeneric(
+- "Invalid base64 input for credential.");
+- }
+- else
+- {
+- major_status = gss_import_cred(
+- &minor_status,
+- &cred,
+- GSS_C_NO_OID,
+- 0,
+- &buf,
+- 0,
+- NULL);
+- globus_free(buf.value);
+- if(major_status != GSS_S_COMPLETE)
+- {
+- res = GlobusGFSErrorWrapFailed(
+- "Credential import", minor_status);
+- }
+- else
+- {
+- *out_cred = cred;
+- }
+- }
+-
+- GlobusGFSDebugExit();
+-
+- return res;
+-}
+-
+-
+ /*
+ * this is called when writing. if file exists it is a write
+ * request, if it does not exists it is a create request
+@@ -2913,14 +2862,12 @@ globus_l_gfs_data_auth_init_cb(
+ globus_bool_t destroy_session = GLOBUS_FALSE;
+ globus_bool_t destroy_op = GLOBUS_FALSE;
+ globus_l_gfs_data_operation_t * op;
+- globus_gfs_session_info_t * session_info;
+ globus_gfs_finished_info_t finished_info;
+ globus_bool_t ready = GLOBUS_FALSE;
+ GlobusGFSName(globus_l_gfs_data_auth_init_cb);
+ GlobusGFSDebugEnter();
+
+ op = (globus_l_gfs_data_operation_t *) user_arg;
+- session_info = (globus_gfs_session_info_t *) op->info_struct;
+
+ memset(&finished_info, '\0', sizeof(globus_gfs_finished_info_t));
+ if(result != GLOBUS_SUCCESS)
+@@ -5069,7 +5016,7 @@ globus_l_gfs_base64_encode(
+ {
+ int i;
+ int j;
+- unsigned char c;
++ unsigned char c = 0;
+ for (i=0,j=0; i < in_len; i++)
+ {
+ switch (i%3)
+@@ -5154,9 +5101,7 @@ void
+ globus_i_gfs_data_init()
+ {
+ char * restrict_path;
+- int rc;
+ globus_result_t result;
+- char * driver;
+ GlobusGFSName(globus_i_gfs_data_init);
+ GlobusGFSDebugEnter();
+
+@@ -5514,11 +5459,11 @@ globus_l_gfs_data_stat_kickout(
+ reply.id = bounce_info->op->id;
+ reply.result = bounce_info->error ?
+ globus_error_put(bounce_info->error) : GLOBUS_SUCCESS;
+- reply.info.stat.stat_array = bounce_info->stat_array;
+- reply.info.stat.stat_count = bounce_info->stat_count;
+- reply.info.stat.uid = bounce_info->op->session_handle->uid;
++ reply.info.stat.stat_array = bounce_info->stat_array;
++ reply.info.stat.stat_count = bounce_info->stat_count;
++ reply.info.stat.uid = (int)bounce_info->op->session_handle->uid;
+ reply.info.stat.gid_count = bounce_info->op->session_handle->gid_count;
+- reply.info.stat.gid_array = bounce_info->op->session_handle->gid_array;
++ reply.info.stat.gid_array = (int *)bounce_info->op->session_handle->gid_array;
+
+ /* pull response code from error */
+ if(bounce_info->final_stat && reply.result != GLOBUS_SUCCESS &&
+@@ -5596,7 +5541,7 @@ globus_l_gfs_data_approve_popen(
+ char * end;
+ char * ptr;
+ char * alias;
+- char * prog;
++ char * prog = NULL;
+ char * tmp;
+ char * out = NULL;
+ globus_bool_t found;
+@@ -5752,7 +5697,7 @@ globus_l_gfs_data_load_stack(
+ char * default_stack,
+ globus_bool_t subst_io_drivers)
+ {
+- char * parsed_driver_string;
++ char * parsed_driver_string = NULL;
+ char * driver_string;
+ globus_result_t result = GLOBUS_SUCCESS;
+ GlobusGFSName(globus_l_gfs_data_load_stack);
+@@ -5835,7 +5780,7 @@ globus_i_gfs_data_request_command(
+ {
+ globus_result_t res;
+ int rc;
+- globus_gfs_acl_action_t action;
++ globus_gfs_acl_action_t action = GFS_ACL_ACTION_INIT;
+ globus_bool_t call = GLOBUS_TRUE;
+ globus_l_gfs_data_operation_t * op;
+ globus_result_t result;
+@@ -7621,7 +7566,6 @@ globus_i_gfs_data_request_handle_destroy(
+ globus_result_t result;
+ globus_l_gfs_data_session_t * session_handle;
+ globus_l_gfs_data_handle_t * data_handle;
+- int old_state_dbg;
+ GlobusGFSName(globus_i_gfs_data_request_handle_destroy);
+ GlobusGFSDebugEnter();
+
+@@ -7643,7 +7587,6 @@ globus_i_gfs_data_request_handle_destroy(
+
+ data_handle->destroy_requested = GLOBUS_TRUE;
+
+- old_state_dbg = data_handle->state;
+ session_arg = session_handle->session_arg;
+ switch(data_handle->state)
+ {
+@@ -7783,7 +7726,11 @@ globus_l_gfs_data_hybrid_session_start_cb(
+ {
+ hybrid_op = op->hybrid_op;
+ }
+-
++ else
++ {
++ return;
++ }
++
+ if(op->type == GLOBUS_L_GFS_DATA_INFO_TYPE_PASSIVE)
+ {
+ if(reply->result != GLOBUS_SUCCESS)
+@@ -7855,12 +7802,8 @@ globus_l_gfs_data_hybrid_session_start_cb(
+ hybrid_op->user_arg);
+ }
+ }
+- if(hybrid_op)
+- {
+- globus_l_gfs_data_operation_destroy(hybrid_op);
+- }
+-
+
++ globus_l_gfs_data_operation_destroy(hybrid_op);
+ }
+
+ static
+@@ -8710,9 +8653,9 @@ globus_i_gfs_data_request_recv(
+ return;
+
+ error_module:
++ globus_gridftp_server_finished_transfer(op, result);
+ error_op:
+ error_handle:
+- globus_gridftp_server_finished_transfer(op, result);
+ GlobusGFSDebugExitWithError();
+ }
+
+@@ -8901,9 +8844,9 @@ globus_i_gfs_data_request_send(
+ return;
+
+ error_module:
++ globus_gridftp_server_finished_transfer(op, result);
+ error_op:
+ error_handle:
+- globus_gridftp_server_finished_transfer(op, result);
+ GlobusGFSDebugExitWithError();
+ }
+
+@@ -9056,7 +8999,7 @@ globus_l_gfs_data_list_stat_cb(
+ globus_size_t buffer_len;
+ globus_l_gfs_data_stat_bounce_t * bounce_info;
+ globus_gfs_stat_info_t * stat_info;
+- globus_result_t result;
++ globus_result_t result = GLOBUS_SUCCESS;
+ globus_gfs_stat_t * stat_array;
+ globus_gfs_stat_t stat_temp;
+ int stat_count;
+@@ -9735,7 +9678,6 @@ globus_l_gfs_data_begin_cb(
+ globus_gfs_event_info_t event_reply;
+ globus_gfs_event_info_t event_info;
+ globus_l_gfs_data_operation_t * op;
+- globus_l_gfs_data_handle_state_t last_state;
+ void * remote_data_arg = NULL;
+ GlobusGFSName(globus_l_gfs_data_begin_cb);
+ GlobusGFSDebugEnter();
+@@ -9744,7 +9686,6 @@ globus_l_gfs_data_begin_cb(
+
+ globus_mutex_lock(&op->session_handle->mutex);
+ {
+- last_state = op->state;
+ switch(op->state)
+ {
+ case GLOBUS_L_GFS_DATA_CONNECTING:
+@@ -11915,7 +11856,6 @@ globus_l_gfs_finished_command_kickout(
+ globus_bool_t destroy_op = GLOBUS_FALSE;
+ void * remote_data_arg = NULL;
+ globus_l_gfs_data_operation_t * op;
+- globus_result_t result;
+ globus_l_gfs_data_cmd_bounce_t * bounce;
+
+ bounce = (globus_l_gfs_data_cmd_bounce_t *) user_arg;
+@@ -12304,7 +12244,6 @@ globus_gridftp_server_finished_stat(
+ int i;
+ char * base_path;
+ globus_gfs_stat_info_t * stat_info;
+- int code;
+ GlobusGFSName(globus_gridftp_server_finished_stat);
+ GlobusGFSDebugEnter();
+
+@@ -13465,7 +13404,6 @@ globus_gridftp_server_set_checksum_support(
+ globus_gfs_operation_t op,
+ const char * cksm_str)
+ {
+- globus_result_t result;
+ GlobusGFSName(globus_gridftp_server_set_checksum_support);
+ GlobusGFSDebugEnter();
+
+@@ -14764,7 +14702,7 @@ globus_i_gfs_http_data_parse_request(
+ char * d_req = NULL;
+ globus_size_t req_len;
+ char * line;
+- char * next_line;
++ char * next_line = NULL;
+ char * ptr;
+ char * enc_path;
+ char * enc_url;
+diff --git a/gridftp/server/src/globus_i_gfs_embed.c b/gridftp/server/src/globus_i_gfs_embed.c
+index 6ead624b62..8fafb33f83 100644
+--- a/gridftp/server/src/globus_i_gfs_embed.c
++++ b/gridftp/server/src/globus_i_gfs_embed.c
+@@ -264,7 +264,6 @@ globus_l_gfs_ipc_closed(
+ void * user_arg,
+ globus_result_t result)
+ {
+- globus_xio_handle_t xio_handle;
+ globus_gfs_embed_handle_t handle;
+
+ if(result != GLOBUS_SUCCESS)
+@@ -272,20 +271,18 @@ globus_l_gfs_ipc_closed(
+ /* XXX TODO log and error */
+ }
+
+- xio_handle = (globus_xio_handle_t) user_arg;
+- globus_mutex_unlock(&handle->mutex);
++ handle = (globus_gfs_embed_handle_t) user_arg;
++
++ globus_mutex_lock(&handle->mutex);
+ {
+- result = globus_xio_register_close(
+- xio_handle,
+- NULL,
+- globus_l_gfs_close_cb,
+- handle);
++ result = globus_xio_server_register_close(
++ handle->xio_server, globus_l_gfs_server_close_cb, handle);
+ }
+ globus_mutex_unlock(&handle->mutex);
+
+ if(result != GLOBUS_SUCCESS)
+ {
+- globus_l_gfs_close_cb(xio_handle, result, handle);
++ globus_l_gfs_server_close_cb(handle->xio_server, handle);
+ }
+ }
+
+@@ -380,7 +377,7 @@ globus_l_gfs_new_server_cb(
+ &globus_gfs_ipc_default_iface,
+ system_handle,
+ globus_l_gfs_ipc_closed,
+- xio_handle);
++ handle);
+ }
+ else
+ {
+diff --git a/gridftp/server/src/globus_i_gfs_ipc.c b/gridftp/server/src/globus_i_gfs_ipc.c
+index c2d58fbb1b..acf9063740 100644
+--- a/gridftp/server/src/globus_i_gfs_ipc.c
++++ b/gridftp/server/src/globus_i_gfs_ipc.c
+@@ -4137,17 +4137,17 @@ globus_l_gfs_ipc_reply_read_body_cb(
+ globus_byte_t * new_buf;
+ globus_gfs_ipc_request_t * request = user_arg;
+ globus_i_gfs_ipc_handle_t * ipc;
+- globus_gfs_command_info_t * cmd_info;
+- globus_gfs_transfer_info_t * trans_info;
+- globus_gfs_data_info_t * data_info;
+- globus_gfs_stat_info_t * stat_info;
++ globus_gfs_command_info_t * cmd_info = NULL;
++ globus_gfs_transfer_info_t * trans_info = NULL;
++ globus_gfs_data_info_t * data_info = NULL;
++ globus_gfs_stat_info_t * stat_info = NULL;
+ globus_gfs_event_info_t * event_info;
+ globus_gfs_operation_type_t type;
+- globus_byte_t * user_buffer;
+- globus_size_t user_buffer_length;
+- int user_buffer_type;
++ globus_byte_t * user_buffer = NULL;
++ globus_size_t user_buffer_length = 0;
++ int user_buffer_type = 0;
+ int rc;
+- void * data_arg;
++ void * data_arg = NULL;
+ globus_bool_t process = GLOBUS_FALSE;
+ int error_state;
+ int no_reply_state;
+@@ -4918,6 +4918,7 @@ globus_l_gfs_ipc_reply_cb(
+ goto error_already;
+ break;
+ case GLOBUS_GFS_IPC_STATE_REPLY_WAIT:
++ error_state = GLOBUS_GFS_IPC_STATE_REPLY_WAIT;
+ break;
+ default:
+ globus_assert(0 && "memory corruption?");
+diff --git a/gridftp/server/src/globus_i_gfs_log.c b/gridftp/server/src/globus_i_gfs_log.c
+index bd10c89d2f..837bcfc547 100644
+--- a/gridftp/server/src/globus_i_gfs_log.c
++++ b/gridftp/server/src/globus_i_gfs_log.c
+@@ -85,7 +85,6 @@ globus_i_gfs_log_open()
+ int len;
+ int ctr;
+ char * tag;
+- globus_result_t result;
+ globus_reltime_t flush_interval;
+ globus_size_t buffer;
+ int rc;
+@@ -369,7 +368,6 @@ globus_i_gfs_log_open()
+ void
+ globus_i_gfs_log_close(void)
+ {
+- globus_list_t * list;
+ GlobusGFSName(globus_i_gfs_log_close);
+ GlobusGFSDebugEnter();
+
+diff --git a/gridftp/server/src/modules/file/globus_gridftp_server_file.c b/gridftp/server/src/modules/file/globus_gridftp_server_file.c
+index f7b7416826..2ce4c7fae5 100644
+--- a/gridftp/server/src/modules/file/globus_gridftp_server_file.c
++++ b/gridftp/server/src/modules/file/globus_gridftp_server_file.c
+@@ -783,7 +783,6 @@ globus_l_gfs_file_stat(
+ globus_gfs_stat_t * stat_array;
+ int stat_count = 0;
+ int total_stat_count = 0;
+- DIR * dir;
+ char basepath[MAXPATHLEN];
+ char filename[MAXPATHLEN];
+ char symlink_target[MAXPATHLEN];
+@@ -850,6 +849,7 @@ globus_l_gfs_file_stat(
+ {
+ /* use larger path bufs so we have the full name for err msg */
+ int maxpathlen = GLOBUS_MAX(4096, MAXPATHLEN);
++ DIR * dir;
+ struct dirent * dir_entry;
+ int i;
+ char dir_path[maxpathlen];
+@@ -1046,8 +1046,13 @@ globus_l_gfs_file_stat(
+ stat_count = i;
+
+ closedir(dir);
+-
++ goto done_fake;
+
++error_stat2:
++ globus_l_gfs_file_destroy_stat(stat_array, stat_count);
++error_alloc2:
++ closedir(dir);
++ goto error_open;
+ }
+ done_fake:
+
+@@ -1090,7 +1095,7 @@ done_fake:
+ if(!stat_array)
+ {
+ result = GlobusGFSErrorMemory("stat_array");
+- goto error_alloc2;
++ goto error_open;
+ }
+
+ snprintf(
+@@ -1122,9 +1127,6 @@ done_fake:
+ if(slow_listings &&
+ (dir_entry->d_type == DT_DIR || dir_entry->d_type == DT_REG))
+ {
+- unsigned long h = 0;
+- char * key;
+-
+ stat_buf = (struct stat)
+ {
+ .st_mode = S_IRWXU |
+@@ -1186,7 +1188,7 @@ done_fake:
+ &stat_array[i], &stat_buf, dir_entry->d_name, symlink_target, link_stat_buf.st_mode, base_error);
+
+ /* set nlink to total files in dir for . entry */
+- if(check_cdir && dir_entry->d_name &&
++ if(check_cdir &&
+ dir_entry->d_name[0] == '.' && dir_entry->d_name[1] == '\0')
+ {
+ check_cdir = GLOBUS_FALSE;
+@@ -1231,7 +1233,7 @@ done_fake:
+ if(!stat_array)
+ {
+ result = GlobusGFSErrorMemory("stat_array");
+- goto error_alloc2;
++ goto error_open;
+ }
+
+ stat_count = 0;
+@@ -1253,11 +1255,7 @@ done_fake:
+
+ GlobusGFSFileDebugExit();
+ return;
+-error_stat2:
+- globus_l_gfs_file_destroy_stat(stat_array, stat_count);
+-error_alloc2:
+- closedir(dir);
+-
++
+ error_open:
+ error_alloc1:
+ error_stat1:
+@@ -1977,7 +1975,6 @@ globus_l_gfs_file_open_cksm_cb(
+ void * user_arg)
+ {
+ globus_l_gfs_file_cksm_monitor_t * monitor;
+- char * freq;
+ GlobusGFSName(globus_l_gfs_file_open_cksm_cb);
+ GlobusGFSFileDebugEnter();
+
+diff --git a/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c b/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c
+index b4ab1ae246..675932fde9 100644
+--- a/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c
++++ b/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c
+@@ -402,7 +402,7 @@ globus_l_gfs_remote_select_nodes(
+ repo_name = bounce->repo;
+ callback = bounce->callback;
+ user_arg = bounce->user_arg;
+- nodes_requested = bounce->num_nodes;
++ nodes_requested = num_nodes;
+
+ /* select a new set of nodes */
+ result = globus_gfs_brain_select_nodes(
+@@ -920,7 +920,6 @@ globus_l_gfs_ipc_event_cb(
+ globus_l_gfs_remote_handle_t * my_handle;
+ int i;
+ globus_l_gfs_remote_ipc_bounce_t * bounce_info;
+- globus_list_t * list;
+ globus_bool_t finish = GLOBUS_FALSE;
+ globus_l_gfs_remote_node_info_t * current_node = NULL;
+ globus_l_gfs_remote_node_info_t * master_node = NULL;
+@@ -981,8 +980,7 @@ globus_l_gfs_ipc_event_cb(
+
+ for(i = 0; i < bounce_info->node_handle->count; i++)
+ {
+- node_info = (globus_l_gfs_remote_node_info_t *)
+- globus_list_first(list);
++ node_info = bounce_info->node_handle->nodes[i];
+ info = (globus_gfs_transfer_info_t *) node_info->info;
+
+ if(node_info->ipc_handle == ipc_handle)
+diff --git a/gridftp/server/src/test/error_response_test.c b/gridftp/server/src/test/error_response_test.c
+index a1825b62aa..4a26969cab 100644
+--- a/gridftp/server/src/test/error_response_test.c
++++ b/gridftp/server/src/test/error_response_test.c
+@@ -219,7 +219,6 @@ static
+ bool
+ test_error_multiline(void)
+ {
+- globus_result_t result = GLOBUS_SUCCESS;
+ globus_object_t *err = NULL;
+ char *msg = NULL;
+ char *ftp_str = NULL;
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index a24891e..1e9691f 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -20,6 +20,13 @@ Source2: globus-gridftp-sshftp.service
Source3: %{name}
Source4: globus-gridftp-sshftp
Source8: README
+# Use sha256 hash when generating test certificates
+# https://github.com/gridcf/gct/pull/178
+Patch0: %{name}-sha256.patch
+# Fix some compiler warnings
+# Fix unbalanced mutex lock/unlock
+# https://github.com/gridcf/gct/pull/179
+Patch1: %{name}-warn.patch
BuildRequires: make
BuildRequires: gcc
@@ -114,6 +121,8 @@ Globus GridFTP Server Development Files
%prep
%setup -q -n %{_name}-%{version}
+%patch0 -p4
+%patch1 -p4
%build
# Reduce overlinking
@@ -245,6 +254,11 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Sat Mar 12 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-8
+- Use sha256 hash when generating test certificates
+- Fix some compiler warnings
+- Fix unbalanced mutex lock/unlock
+
* Thu Jan 20 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 13.22-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
commit b8241434ccd636769327253d03c852c1323ee89e
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Jan 20 06:18:17 2022 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index d8cf890..a24891e 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -245,6 +245,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Thu Jan 20 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 13.22-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
* Fri Dec 17 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-6
- Reenable optional test dependency fakeroot on EPEL 9 - now available
commit 21fde77480092fabf1405b4f142b26df6ec7f434
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sat Dec 18 00:32:05 2021 +0100
Reenable optional test dependency fakeroot on EPEL 9 - now available
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 592d6a1..d8cf890 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -51,8 +51,7 @@ BuildConflicts: fakeroot
%else
BuildRequires: fakeroot
%endif
-%endif
-%if %{?fedora}%{!?fedora:0}
+%else
BuildRequires: fakeroot
%endif
@@ -246,6 +245,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Fri Dec 17 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-6
+- Reenable optional test dependency fakeroot on EPEL 9 - now available
+
* Fri Dec 17 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-5
- Make XIO udt driver a weak dependency
commit d625919117312cc3ad17346632a067678d03c214
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Fri Dec 17 09:38:53 2021 +0100
Bump release
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index f8d9ca4..592d6a1 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -246,9 +246,11 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Fri Dec 17 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-5
+- Make XIO udt driver a weak dependency
+
* Thu Dec 16 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-4
- Drop optional test dependency fakeroot on EPEL 9 - not yet available
-- Make XIO udt driver a weak dependency
* Wed Nov 03 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-3
- Drop broken optional test dependency fakeroot on ppc64le in EPEL
commit b8a5f80443ae38047760241bcfa8f7002e3dfda7
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Fri Dec 17 09:33:55 2021 +0100
Make XIO udt driver a weak dependency
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index b565a8c..f8d9ca4 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -57,7 +57,11 @@ BuildRequires: fakeroot
%endif
Requires: globus-xio-gsi-driver%{?_isa} >= 2
+%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
+Recommends: globus-xio-udt-driver%{?_isa} >= 1
+%else
Requires: globus-xio-udt-driver%{?_isa} >= 1
+%endif
Requires: globus-common%{?_isa} >= 17
Requires: globus-xio%{?_isa} >= 5
Requires: globus-gridftp-server-control%{?_isa} >= 9
@@ -244,6 +248,7 @@ fi
%changelog
* Thu Dec 16 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-4
- Drop optional test dependency fakeroot on EPEL 9 - not yet available
+- Make XIO udt driver a weak dependency
* Wed Nov 03 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-3
- Drop broken optional test dependency fakeroot on ppc64le in EPEL
commit 9ce1f2288a48b1b9d37c8199e395e213706f6c6e
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Thu Dec 16 23:05:20 2021 +0100
Drop optional test dependency fakeroot on EPEL 9 - not yet available
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 2f7d5df..b565a8c 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -51,7 +51,8 @@ BuildConflicts: fakeroot
%else
BuildRequires: fakeroot
%endif
-%else
+%endif
+%if %{?fedora}%{!?fedora:0}
BuildRequires: fakeroot
%endif
@@ -241,6 +242,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Thu Dec 16 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-4
+- Drop optional test dependency fakeroot on EPEL 9 - not yet available
+
* Wed Nov 03 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-3
- Drop broken optional test dependency fakeroot on ppc64le in EPEL
commit 66d39ac6ac92fca3f6bef099da288599d26e43aa
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Wed Nov 3 12:53:39 2021 +0100
Drop broken optional test dependency fakeroot on ppc64le in EPEL
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 1e57449..2f7d5df 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -44,7 +44,16 @@ BuildRequires: systemd
# Additional requirements for make check
BuildRequires: openssl
# Optional test dependency
+%if %{?rhel}%{!?rhel:0} == 7 || %{?rhel}%{!?rhel:0} == 8
+%ifarch ppc64le
+# Fakeroot in EPEL is broken on ppc64le
+BuildConflicts: fakeroot
+%else
+BuildRequires: fakeroot
+%endif
+%else
BuildRequires: fakeroot
+%endif
Requires: globus-xio-gsi-driver%{?_isa} >= 2
Requires: globus-xio-udt-driver%{?_isa} >= 1
@@ -232,6 +241,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Wed Nov 03 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-3
+- Drop broken optional test dependency fakeroot on ppc64le in EPEL
+
* Tue Sep 14 2021 Sahana Prasad <sahana(a)redhat.com> - 13.22-2
- Rebuilt with OpenSSL 3.0.0
commit ceca6af6b6ed6355ec1bbe6c82bf50559fdf6750
Author: Sahana Prasad <sahana(a)redhat.com>
Date: Tue Sep 14 19:02:52 2021 +0200
Rebuilt with OpenSSL 3.0.0
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 2fec752..1e57449 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -232,6 +232,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Tue Sep 14 2021 Sahana Prasad <sahana(a)redhat.com> - 13.22-2
+- Rebuilt with OpenSSL 3.0.0
+
* Thu Aug 26 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-1
- Typo fixes
1 year, 10 months
Architecture specific change in rpms/globus-gridftp-server.git
by githook-noreply@fedoraproject.org
The package rpms/globus-gridftp-server.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/globus-gridftp-server.git/commit/....
Change:
+%ifarch ppc64le
Thanks.
Full change:
============
commit b0aaa48a6046a7582da7ddf2501f5fe38fef318d
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sat May 28 00:08:03 2022 +0200
New GCT release v6.2.20220524
Drop patches included in the release
diff --git a/globus-gridftp-server-sha256.patch b/globus-gridftp-server-sha256.patch
deleted file mode 100644
index af6e953..0000000
--- a/globus-gridftp-server-sha256.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/gridftp/server/src/test/testcred.cnf.in b/gridftp/server/src/test/testcred.cnf.in
-index ef12fd8e93..e878b0151a 100644
---- a/gridftp/server/src/test/testcred.cnf.in
-+++ b/gridftp/server/src/test/testcred.cnf.in
-@@ -44,7 +44,7 @@ commonName = supplied
- ####################################################################
- [ req ]
- default_bits = 2048
--default_md = sha1
-+default_md = sha256
- default_keyfile = privkey.pem
- distinguished_name = req_distinguished_name
- attributes = req_attributes
diff --git a/globus-gridftp-server-warn.patch b/globus-gridftp-server-warn.patch
deleted file mode 100644
index 7342511..0000000
--- a/globus-gridftp-server-warn.patch
+++ /dev/null
@@ -1,727 +0,0 @@
-diff --git a/gridftp/server/src/gfs_dynbe_client.c b/gridftp/server/src/gfs_dynbe_client.c
-index 43870b2649..62134e0a6c 100644
---- a/gridftp/server/src/gfs_dynbe_client.c
-+++ b/gridftp/server/src/gfs_dynbe_client.c
-@@ -172,6 +172,7 @@ main(
- rc = globus_module_activate(GLOBUS_XIO_MODULE);
- if(rc != 0)
- {
-+ result = GLOBUS_FAILURE;
- goto error_activate;
- }
-
-@@ -210,7 +211,7 @@ main(
- tmp32 = htonl(1);
- memcpy(&buffer[GF_DYN_ENTRY_COUNT_NDX], &tmp32, sizeof(uint32_t));
-
-- strncpy((char *) &buffer[GF_DYN_CS_NDX], be_cs, GF_DYN_CS_LEN);
-+ strncpy((char *) &buffer[GF_DYN_CS_NDX], be_cs, GF_DYN_CS_LEN - 1);
-
- result = globus_xio_open(g_xio_handle, reg_cs, NULL);
- if(result != GLOBUS_SUCCESS)
-diff --git a/gridftp/server/src/gfs_gfork_master.c b/gridftp/server/src/gfs_gfork_master.c
-index b3531e1393..ac49e7d247 100644
---- a/gridftp/server/src/gfs_gfork_master.c
-+++ b/gridftp/server/src/gfs_gfork_master.c
-@@ -1568,7 +1568,7 @@ gfs_l_gfork_backend_xio_open_cb(
- memcpy(&buffer[GF_DYN_AT_ONCE_NDX], &converted_32, sizeof(uint32_t));
- converted_32 = htonl(g_total_cons);
- memcpy(&buffer[GF_DYN_TOTAL_NDX], &converted_32, sizeof(uint32_t));
-- strncpy((char *)&buffer[GF_DYN_CS_NDX], g_be_cs, GF_DYN_CS_LEN);
-+ strncpy((char *)&buffer[GF_DYN_CS_NDX], g_be_cs, GF_DYN_CS_LEN - 1);
-
- result = globus_xio_register_write(
- handle,
-@@ -2041,7 +2041,7 @@ gfs_l_gfork_opts_mem_size(
- int * out_parms_used)
- {
- globus_result_t result;
-- globus_off_t val;
-+ globus_off_t val = 0;
-
- result = gfs_l_gfork_opts_kmgint(opt[0], &val);
- if(result != GLOBUS_SUCCESS)
-diff --git a/gridftp/server/src/globus_gridftp_server.c b/gridftp/server/src/globus_gridftp_server.c
-index 0aff2fd1d6..cc0ba04b01 100644
---- a/gridftp/server/src/globus_gridftp_server.c
-+++ b/gridftp/server/src/globus_gridftp_server.c
-@@ -535,17 +535,16 @@ globus_l_gfs_spawn_child(
- /* inc the connection count 2 here since we will dec it on this close
- and on the death of the child process */
- globus_gfs_config_inc_int("open_connections_count", 2);
-- globus_mutex_unlock(&globus_l_gfs_mutex);
- result = globus_xio_register_close(
- handle,
- NULL,
- globus_l_gfs_close_cb,
-- NULL);
-+ NULL);
- if(result != GLOBUS_SUCCESS)
- {
-- globus_l_gfs_close_cb(handle, result, NULL);
-- }
-- }
-+ globus_i_gfs_connection_closed();
-+ }
-+ }
-
- GlobusGFSDebugExit();
- return GLOBUS_SUCCESS;
-@@ -613,7 +612,8 @@ globus_l_gfs_ipc_closed(
- }
-
- handle = (globus_xio_handle_t) user_arg;
-- globus_mutex_unlock(&globus_l_gfs_mutex);
-+
-+ globus_mutex_lock(&globus_l_gfs_mutex);
- {
- result = globus_xio_register_close(
- handle,
-diff --git a/gridftp/server/src/globus_i_gfs_config.c b/gridftp/server/src/globus_i_gfs_config.c
-index 10963bd421..d5ee9a9a70 100644
---- a/gridftp/server/src/globus_i_gfs_config.c
-+++ b/gridftp/server/src/globus_i_gfs_config.c
-@@ -1880,8 +1880,6 @@ globus_l_gfs_config_display_docbook_usage()
-
- for(i = 0; i < option_count; i++)
- {
-- char * shortflag;
-- char * longflag;
- char * value;
- char * defval;
-
-@@ -1909,27 +1907,19 @@ globus_l_gfs_config_display_docbook_usage()
- switch(o->type)
- {
- case GLOBUS_L_GFS_CONFIG_BOOL:
-- shortflag = "-";
-- longflag = "-";
- value = NULL;
- defval = o->int_value ? "TRUE" : "FALSE";
- break;
- case GLOBUS_L_GFS_CONFIG_INT:
-- shortflag = "-";
-- longflag = "-";
- value = "number";
- defval = o->int_value > 0 ?
- globus_common_create_string("%d", o->int_value) : NULL;
- break;
- case GLOBUS_L_GFS_CONFIG_STRING:
-- shortflag = "-";
-- longflag = "-";
- value = "string";
- defval = o->value ? o->value : NULL;
- break;
- default:
-- shortflag = "";
-- longflag = "";
- value = "";
- defval = o->value ? o->value : NULL;
- break;
-@@ -2000,8 +1990,6 @@ globus_l_gfs_config_display_asciidoc_usage()
-
- for(i = 0; i < option_count; i++)
- {
-- char * shortflag;
-- char * longflag;
- char * value;
- char * defval;
-
-@@ -2034,27 +2022,19 @@ globus_l_gfs_config_display_asciidoc_usage()
- switch(o->type)
- {
- case GLOBUS_L_GFS_CONFIG_BOOL:
-- shortflag = "-";
-- longflag = "-";
- value = NULL;
- defval = o->int_value ? "TRUE" : "FALSE";
- break;
- case GLOBUS_L_GFS_CONFIG_INT:
-- shortflag = "-";
-- longflag = "-";
- value = "number";
- defval = o->int_value > 0 ?
- globus_common_create_string("%d", o->int_value) : NULL;
- break;
- case GLOBUS_L_GFS_CONFIG_STRING:
-- shortflag = "-";
-- longflag = "-";
- value = "string";
- defval = o->value ? o->value : NULL;
- break;
- default:
-- shortflag = "";
-- longflag = "";
- value = "";
- defval = o->value ? o->value : NULL;
- break;
-diff --git a/gridftp/server/src/globus_i_gfs_data.c b/gridftp/server/src/globus_i_gfs_data.c
-index 785eba2240..0bf0ea4369 100644
---- a/gridftp/server/src/globus_i_gfs_data.c
-+++ b/gridftp/server/src/globus_i_gfs_data.c
-@@ -736,7 +736,7 @@ globus_l_gfs_base64_decode(
- {
- int i;
- int j;
-- int D;
-+ int D = 0;
- char * p;
- GlobusGFSName(globus_l_gfs_base64_decode);
- GlobusGFSDebugEnter();
-@@ -1127,11 +1127,10 @@ globus_l_gfs_data_post_transfer_event_cb(
-
- switch(data_handle->state)
- {
-- /* occurs if the next transfer comand happens before this function
-- is called to switch out of the TE_VALID state
-+ /* occurs if the next transfer command happens before this function
-+ is called to switch out of the TE_VALID state */
- case GLOBUS_L_GFS_DATA_HANDLE_INUSE:
- break;
--*/
-
- case GLOBUS_L_GFS_DATA_HANDLE_TE_PRE_CLOSED:
- /* cant free until destroy cb, put in full closed state */
-@@ -1161,7 +1160,7 @@ globus_l_gfs_data_post_transfer_event_cb(
- case GLOBUS_L_GFS_DATA_HANDLE_VALID:
- break;
-
-- /* havent even gotten a close, how did this happen? */
-+ /* haven't even gotten a close, how did this happen? */
- case GLOBUS_L_GFS_DATA_HANDLE_CLOSED:
- case GLOBUS_L_GFS_DATA_HANDLE_CLOSED_AND_DESTROYED:
- /* these shouldnt be possible */
-@@ -1319,7 +1318,9 @@ globus_i_gfs_get_full_path(
- int cwd_len;
- int sc;
- char * slash = "/";
-+#ifdef WIN32
- char * tmp_path;
-+#endif
- char * norm_path;
- GlobusGFSName(globus_i_gfs_get_full_path);
- GlobusGFSDebugEnter();
-@@ -1482,7 +1483,7 @@ globus_i_gfs_data_check_path(
- char path[MAXPATHLEN];
- globus_list_t * list;
- globus_result_t result = GLOBUS_SUCCESS;
-- globus_l_gfs_alias_ent_t * alias_ent;
-+ globus_l_gfs_alias_ent_t * alias_ent = GLOBUS_NULL;
- char * true_path = GLOBUS_NULL;
- char * start_path;
- int in_path_len;
-@@ -1730,7 +1731,7 @@ globus_i_gfs_data_check_path(
-
- if(!rp_list && ret_path)
- {
-- if(alias_ent->realpath)
-+ if(alias_ent && alias_ent->realpath)
- {
- strncpy(path, alias_ent->realpath, alias_ent->realpath_len);
- strcpy(path + alias_ent->realpath_len,
-@@ -2489,58 +2490,6 @@ globus_l_gfs_authorize_cb(
- GlobusGFSDebugExit();
- }
-
--static
--globus_result_t
--globus_l_gfs_data_decode_passed_cred(
-- char * encoded_cred,
-- gss_cred_id_t * out_cred)
--{
-- OM_uint32 major_status;
-- OM_uint32 minor_status;
-- gss_buffer_desc buf;
-- gss_cred_id_t cred;
-- globus_result_t res;
-- GlobusGFSName(globus_l_gfs_data_decode_passed_cred);
-- GlobusGFSDebugEnter();
--
-- buf.value = globus_libc_strdup(encoded_cred);
--
-- res = globus_l_gfs_base64_decode(
-- (globus_byte_t *) encoded_cred, buf.value, &buf.length);
-- if(res != GLOBUS_SUCCESS)
-- {
-- globus_free(buf.value);
-- res = GlobusGFSErrorGeneric(
-- "Invalid base64 input for credential.");
-- }
-- else
-- {
-- major_status = gss_import_cred(
-- &minor_status,
-- &cred,
-- GSS_C_NO_OID,
-- 0,
-- &buf,
-- 0,
-- NULL);
-- globus_free(buf.value);
-- if(major_status != GSS_S_COMPLETE)
-- {
-- res = GlobusGFSErrorWrapFailed(
-- "Credential import", minor_status);
-- }
-- else
-- {
-- *out_cred = cred;
-- }
-- }
--
-- GlobusGFSDebugExit();
--
-- return res;
--}
--
--
- /*
- * this is called when writing. if file exists it is a write
- * request, if it does not exists it is a create request
-@@ -2913,14 +2862,12 @@ globus_l_gfs_data_auth_init_cb(
- globus_bool_t destroy_session = GLOBUS_FALSE;
- globus_bool_t destroy_op = GLOBUS_FALSE;
- globus_l_gfs_data_operation_t * op;
-- globus_gfs_session_info_t * session_info;
- globus_gfs_finished_info_t finished_info;
- globus_bool_t ready = GLOBUS_FALSE;
- GlobusGFSName(globus_l_gfs_data_auth_init_cb);
- GlobusGFSDebugEnter();
-
- op = (globus_l_gfs_data_operation_t *) user_arg;
-- session_info = (globus_gfs_session_info_t *) op->info_struct;
-
- memset(&finished_info, '\0', sizeof(globus_gfs_finished_info_t));
- if(result != GLOBUS_SUCCESS)
-@@ -5069,7 +5016,7 @@ globus_l_gfs_base64_encode(
- {
- int i;
- int j;
-- unsigned char c;
-+ unsigned char c = 0;
- for (i=0,j=0; i < in_len; i++)
- {
- switch (i%3)
-@@ -5154,9 +5101,7 @@ void
- globus_i_gfs_data_init()
- {
- char * restrict_path;
-- int rc;
- globus_result_t result;
-- char * driver;
- GlobusGFSName(globus_i_gfs_data_init);
- GlobusGFSDebugEnter();
-
-@@ -5514,11 +5459,11 @@ globus_l_gfs_data_stat_kickout(
- reply.id = bounce_info->op->id;
- reply.result = bounce_info->error ?
- globus_error_put(bounce_info->error) : GLOBUS_SUCCESS;
-- reply.info.stat.stat_array = bounce_info->stat_array;
-- reply.info.stat.stat_count = bounce_info->stat_count;
-- reply.info.stat.uid = bounce_info->op->session_handle->uid;
-+ reply.info.stat.stat_array = bounce_info->stat_array;
-+ reply.info.stat.stat_count = bounce_info->stat_count;
-+ reply.info.stat.uid = (int)bounce_info->op->session_handle->uid;
- reply.info.stat.gid_count = bounce_info->op->session_handle->gid_count;
-- reply.info.stat.gid_array = bounce_info->op->session_handle->gid_array;
-+ reply.info.stat.gid_array = (int *)bounce_info->op->session_handle->gid_array;
-
- /* pull response code from error */
- if(bounce_info->final_stat && reply.result != GLOBUS_SUCCESS &&
-@@ -5596,7 +5541,7 @@ globus_l_gfs_data_approve_popen(
- char * end;
- char * ptr;
- char * alias;
-- char * prog;
-+ char * prog = NULL;
- char * tmp;
- char * out = NULL;
- globus_bool_t found;
-@@ -5752,7 +5697,7 @@ globus_l_gfs_data_load_stack(
- char * default_stack,
- globus_bool_t subst_io_drivers)
- {
-- char * parsed_driver_string;
-+ char * parsed_driver_string = NULL;
- char * driver_string;
- globus_result_t result = GLOBUS_SUCCESS;
- GlobusGFSName(globus_l_gfs_data_load_stack);
-@@ -5835,7 +5780,7 @@ globus_i_gfs_data_request_command(
- {
- globus_result_t res;
- int rc;
-- globus_gfs_acl_action_t action;
-+ globus_gfs_acl_action_t action = GFS_ACL_ACTION_INIT;
- globus_bool_t call = GLOBUS_TRUE;
- globus_l_gfs_data_operation_t * op;
- globus_result_t result;
-@@ -7621,7 +7566,6 @@ globus_i_gfs_data_request_handle_destroy(
- globus_result_t result;
- globus_l_gfs_data_session_t * session_handle;
- globus_l_gfs_data_handle_t * data_handle;
-- int old_state_dbg;
- GlobusGFSName(globus_i_gfs_data_request_handle_destroy);
- GlobusGFSDebugEnter();
-
-@@ -7643,7 +7587,6 @@ globus_i_gfs_data_request_handle_destroy(
-
- data_handle->destroy_requested = GLOBUS_TRUE;
-
-- old_state_dbg = data_handle->state;
- session_arg = session_handle->session_arg;
- switch(data_handle->state)
- {
-@@ -7783,7 +7726,11 @@ globus_l_gfs_data_hybrid_session_start_cb(
- {
- hybrid_op = op->hybrid_op;
- }
--
-+ else
-+ {
-+ return;
-+ }
-+
- if(op->type == GLOBUS_L_GFS_DATA_INFO_TYPE_PASSIVE)
- {
- if(reply->result != GLOBUS_SUCCESS)
-@@ -7855,12 +7802,8 @@ globus_l_gfs_data_hybrid_session_start_cb(
- hybrid_op->user_arg);
- }
- }
-- if(hybrid_op)
-- {
-- globus_l_gfs_data_operation_destroy(hybrid_op);
-- }
--
-
-+ globus_l_gfs_data_operation_destroy(hybrid_op);
- }
-
- static
-@@ -8710,9 +8653,9 @@ globus_i_gfs_data_request_recv(
- return;
-
- error_module:
-+ globus_gridftp_server_finished_transfer(op, result);
- error_op:
- error_handle:
-- globus_gridftp_server_finished_transfer(op, result);
- GlobusGFSDebugExitWithError();
- }
-
-@@ -8901,9 +8844,9 @@ globus_i_gfs_data_request_send(
- return;
-
- error_module:
-+ globus_gridftp_server_finished_transfer(op, result);
- error_op:
- error_handle:
-- globus_gridftp_server_finished_transfer(op, result);
- GlobusGFSDebugExitWithError();
- }
-
-@@ -9056,7 +8999,7 @@ globus_l_gfs_data_list_stat_cb(
- globus_size_t buffer_len;
- globus_l_gfs_data_stat_bounce_t * bounce_info;
- globus_gfs_stat_info_t * stat_info;
-- globus_result_t result;
-+ globus_result_t result = GLOBUS_SUCCESS;
- globus_gfs_stat_t * stat_array;
- globus_gfs_stat_t stat_temp;
- int stat_count;
-@@ -9735,7 +9678,6 @@ globus_l_gfs_data_begin_cb(
- globus_gfs_event_info_t event_reply;
- globus_gfs_event_info_t event_info;
- globus_l_gfs_data_operation_t * op;
-- globus_l_gfs_data_handle_state_t last_state;
- void * remote_data_arg = NULL;
- GlobusGFSName(globus_l_gfs_data_begin_cb);
- GlobusGFSDebugEnter();
-@@ -9744,7 +9686,6 @@ globus_l_gfs_data_begin_cb(
-
- globus_mutex_lock(&op->session_handle->mutex);
- {
-- last_state = op->state;
- switch(op->state)
- {
- case GLOBUS_L_GFS_DATA_CONNECTING:
-@@ -11915,7 +11856,6 @@ globus_l_gfs_finished_command_kickout(
- globus_bool_t destroy_op = GLOBUS_FALSE;
- void * remote_data_arg = NULL;
- globus_l_gfs_data_operation_t * op;
-- globus_result_t result;
- globus_l_gfs_data_cmd_bounce_t * bounce;
-
- bounce = (globus_l_gfs_data_cmd_bounce_t *) user_arg;
-@@ -12304,7 +12244,6 @@ globus_gridftp_server_finished_stat(
- int i;
- char * base_path;
- globus_gfs_stat_info_t * stat_info;
-- int code;
- GlobusGFSName(globus_gridftp_server_finished_stat);
- GlobusGFSDebugEnter();
-
-@@ -13465,7 +13404,6 @@ globus_gridftp_server_set_checksum_support(
- globus_gfs_operation_t op,
- const char * cksm_str)
- {
-- globus_result_t result;
- GlobusGFSName(globus_gridftp_server_set_checksum_support);
- GlobusGFSDebugEnter();
-
-@@ -14764,7 +14702,7 @@ globus_i_gfs_http_data_parse_request(
- char * d_req = NULL;
- globus_size_t req_len;
- char * line;
-- char * next_line;
-+ char * next_line = NULL;
- char * ptr;
- char * enc_path;
- char * enc_url;
-diff --git a/gridftp/server/src/globus_i_gfs_embed.c b/gridftp/server/src/globus_i_gfs_embed.c
-index 6ead624b62..b97e89584d 100644
---- a/gridftp/server/src/globus_i_gfs_embed.c
-+++ b/gridftp/server/src/globus_i_gfs_embed.c
-@@ -264,32 +264,26 @@ globus_l_gfs_ipc_closed(
- void * user_arg,
- globus_result_t result)
- {
-- globus_xio_handle_t xio_handle;
- globus_gfs_embed_handle_t handle;
-+ GlobusGFSName(globus_l_gfs_ipc_closed);
-+ GlobusGFSDebugEnter();
-
- if(result != GLOBUS_SUCCESS)
- {
- /* XXX TODO log and error */
- }
-
-- xio_handle = (globus_xio_handle_t) user_arg;
-- globus_mutex_unlock(&handle->mutex);
-+ handle = (globus_gfs_embed_handle_t) user_arg;
-+
-+ globus_mutex_lock(&handle->mutex);
- {
-- result = globus_xio_register_close(
-- xio_handle,
-- NULL,
-- globus_l_gfs_close_cb,
-- handle);
-+ globus_i_gfs_connection_closed(handle);
- }
- globus_mutex_unlock(&handle->mutex);
-
-- if(result != GLOBUS_SUCCESS)
-- {
-- globus_l_gfs_close_cb(xio_handle, result, handle);
-- }
-+ GlobusGFSDebugExit();
- }
-
--
- static
- void
- globus_l_gfs_new_server_cb(
-@@ -380,7 +374,7 @@ globus_l_gfs_new_server_cb(
- &globus_gfs_ipc_default_iface,
- system_handle,
- globus_l_gfs_ipc_closed,
-- xio_handle);
-+ handle);
- }
- else
- {
-diff --git a/gridftp/server/src/globus_i_gfs_ipc.c b/gridftp/server/src/globus_i_gfs_ipc.c
-index c2d58fbb1b..acf9063740 100644
---- a/gridftp/server/src/globus_i_gfs_ipc.c
-+++ b/gridftp/server/src/globus_i_gfs_ipc.c
-@@ -4137,17 +4137,17 @@ globus_l_gfs_ipc_reply_read_body_cb(
- globus_byte_t * new_buf;
- globus_gfs_ipc_request_t * request = user_arg;
- globus_i_gfs_ipc_handle_t * ipc;
-- globus_gfs_command_info_t * cmd_info;
-- globus_gfs_transfer_info_t * trans_info;
-- globus_gfs_data_info_t * data_info;
-- globus_gfs_stat_info_t * stat_info;
-+ globus_gfs_command_info_t * cmd_info = NULL;
-+ globus_gfs_transfer_info_t * trans_info = NULL;
-+ globus_gfs_data_info_t * data_info = NULL;
-+ globus_gfs_stat_info_t * stat_info = NULL;
- globus_gfs_event_info_t * event_info;
- globus_gfs_operation_type_t type;
-- globus_byte_t * user_buffer;
-- globus_size_t user_buffer_length;
-- int user_buffer_type;
-+ globus_byte_t * user_buffer = NULL;
-+ globus_size_t user_buffer_length = 0;
-+ int user_buffer_type = 0;
- int rc;
-- void * data_arg;
-+ void * data_arg = NULL;
- globus_bool_t process = GLOBUS_FALSE;
- int error_state;
- int no_reply_state;
-@@ -4918,6 +4918,7 @@ globus_l_gfs_ipc_reply_cb(
- goto error_already;
- break;
- case GLOBUS_GFS_IPC_STATE_REPLY_WAIT:
-+ error_state = GLOBUS_GFS_IPC_STATE_REPLY_WAIT;
- break;
- default:
- globus_assert(0 && "memory corruption?");
-diff --git a/gridftp/server/src/globus_i_gfs_log.c b/gridftp/server/src/globus_i_gfs_log.c
-index bd10c89d2f..837bcfc547 100644
---- a/gridftp/server/src/globus_i_gfs_log.c
-+++ b/gridftp/server/src/globus_i_gfs_log.c
-@@ -85,7 +85,6 @@ globus_i_gfs_log_open()
- int len;
- int ctr;
- char * tag;
-- globus_result_t result;
- globus_reltime_t flush_interval;
- globus_size_t buffer;
- int rc;
-@@ -369,7 +368,6 @@ globus_i_gfs_log_open()
- void
- globus_i_gfs_log_close(void)
- {
-- globus_list_t * list;
- GlobusGFSName(globus_i_gfs_log_close);
- GlobusGFSDebugEnter();
-
-diff --git a/gridftp/server/src/modules/file/globus_gridftp_server_file.c b/gridftp/server/src/modules/file/globus_gridftp_server_file.c
-index f7b7416826..2ce4c7fae5 100644
---- a/gridftp/server/src/modules/file/globus_gridftp_server_file.c
-+++ b/gridftp/server/src/modules/file/globus_gridftp_server_file.c
-@@ -783,7 +783,6 @@ globus_l_gfs_file_stat(
- globus_gfs_stat_t * stat_array;
- int stat_count = 0;
- int total_stat_count = 0;
-- DIR * dir;
- char basepath[MAXPATHLEN];
- char filename[MAXPATHLEN];
- char symlink_target[MAXPATHLEN];
-@@ -850,6 +849,7 @@ globus_l_gfs_file_stat(
- {
- /* use larger path bufs so we have the full name for err msg */
- int maxpathlen = GLOBUS_MAX(4096, MAXPATHLEN);
-+ DIR * dir;
- struct dirent * dir_entry;
- int i;
- char dir_path[maxpathlen];
-@@ -1046,8 +1046,13 @@ globus_l_gfs_file_stat(
- stat_count = i;
-
- closedir(dir);
--
-+ goto done_fake;
-
-+error_stat2:
-+ globus_l_gfs_file_destroy_stat(stat_array, stat_count);
-+error_alloc2:
-+ closedir(dir);
-+ goto error_open;
- }
- done_fake:
-
-@@ -1090,7 +1095,7 @@ done_fake:
- if(!stat_array)
- {
- result = GlobusGFSErrorMemory("stat_array");
-- goto error_alloc2;
-+ goto error_open;
- }
-
- snprintf(
-@@ -1122,9 +1127,6 @@ done_fake:
- if(slow_listings &&
- (dir_entry->d_type == DT_DIR || dir_entry->d_type == DT_REG))
- {
-- unsigned long h = 0;
-- char * key;
--
- stat_buf = (struct stat)
- {
- .st_mode = S_IRWXU |
-@@ -1186,7 +1188,7 @@ done_fake:
- &stat_array[i], &stat_buf, dir_entry->d_name, symlink_target, link_stat_buf.st_mode, base_error);
-
- /* set nlink to total files in dir for . entry */
-- if(check_cdir && dir_entry->d_name &&
-+ if(check_cdir &&
- dir_entry->d_name[0] == '.' && dir_entry->d_name[1] == '\0')
- {
- check_cdir = GLOBUS_FALSE;
-@@ -1231,7 +1233,7 @@ done_fake:
- if(!stat_array)
- {
- result = GlobusGFSErrorMemory("stat_array");
-- goto error_alloc2;
-+ goto error_open;
- }
-
- stat_count = 0;
-@@ -1253,11 +1255,7 @@ done_fake:
-
- GlobusGFSFileDebugExit();
- return;
--error_stat2:
-- globus_l_gfs_file_destroy_stat(stat_array, stat_count);
--error_alloc2:
-- closedir(dir);
--
-+
- error_open:
- error_alloc1:
- error_stat1:
-@@ -1977,7 +1975,6 @@ globus_l_gfs_file_open_cksm_cb(
- void * user_arg)
- {
- globus_l_gfs_file_cksm_monitor_t * monitor;
-- char * freq;
- GlobusGFSName(globus_l_gfs_file_open_cksm_cb);
- GlobusGFSFileDebugEnter();
-
-diff --git a/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c b/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c
-index b4ab1ae246..675932fde9 100644
---- a/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c
-+++ b/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c
-@@ -402,7 +402,7 @@ globus_l_gfs_remote_select_nodes(
- repo_name = bounce->repo;
- callback = bounce->callback;
- user_arg = bounce->user_arg;
-- nodes_requested = bounce->num_nodes;
-+ nodes_requested = num_nodes;
-
- /* select a new set of nodes */
- result = globus_gfs_brain_select_nodes(
-@@ -920,7 +920,6 @@ globus_l_gfs_ipc_event_cb(
- globus_l_gfs_remote_handle_t * my_handle;
- int i;
- globus_l_gfs_remote_ipc_bounce_t * bounce_info;
-- globus_list_t * list;
- globus_bool_t finish = GLOBUS_FALSE;
- globus_l_gfs_remote_node_info_t * current_node = NULL;
- globus_l_gfs_remote_node_info_t * master_node = NULL;
-@@ -981,8 +980,7 @@ globus_l_gfs_ipc_event_cb(
-
- for(i = 0; i < bounce_info->node_handle->count; i++)
- {
-- node_info = (globus_l_gfs_remote_node_info_t *)
-- globus_list_first(list);
-+ node_info = bounce_info->node_handle->nodes[i];
- info = (globus_gfs_transfer_info_t *) node_info->info;
-
- if(node_info->ipc_handle == ipc_handle)
-diff --git a/gridftp/server/src/test/error_response_test.c b/gridftp/server/src/test/error_response_test.c
-index a1825b62aa..4a26969cab 100644
---- a/gridftp/server/src/test/error_response_test.c
-+++ b/gridftp/server/src/test/error_response_test.c
-@@ -219,7 +219,6 @@ static
- bool
- test_error_multiline(void)
- {
-- globus_result_t result = GLOBUS_SUCCESS;
- globus_object_t *err = NULL;
- char *msg = NULL;
- char *ftp_str = NULL;
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index e471c83..bff78e1 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -8,8 +8,8 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
-Version: 13.22
-Release: 12%{?dist}
+Version: 13.24
+Release: 1%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -20,13 +20,6 @@ Source2: globus-gridftp-sshftp.service
Source3: %{name}
Source4: globus-gridftp-sshftp
Source8: README
-# Use sha256 hash when generating test certificates
-# https://github.com/gridcf/gct/pull/178
-Patch0: %{name}-sha256.patch
-# Fix some compiler warnings
-# Fix unbalanced mutex lock/unlock
-# https://github.com/gridcf/gct/pull/179
-Patch1: %{name}-warn.patch
BuildRequires: make
BuildRequires: gcc
@@ -121,8 +114,6 @@ Globus GridFTP Server Development Files
%prep
%setup -q -n %{_name}-%{version}
-%patch0 -p4
-%patch1 -p4
%build
# Reduce overlinking
@@ -254,6 +245,10 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Wed May 25 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.24-1
+- New GCT release v6.2.20220524
+- Drop patches included in the release
+
* Mon Mar 14 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-12
- Put back mutex fix
diff --git a/sources b/sources
index 6e5d65b..c60c8d5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (globus_gridftp_server-13.22.tar.gz) = 645058f2a9ce1027ac1f780af91f9eef7ecffab15977336bbb03ea1b82ac38e07325d8f5f92a3fb3c5c317a9a5c8dc473c294a94fbf9fa860c77d25249c70705
+SHA512 (globus_gridftp_server-13.24.tar.gz) = ee2d45fe7de7daf6005f9456c4aba151aba948ab1ffc419f5942958bb6fe79d8eadf2c2673735dca3c7b30e8450a40b269488c24154fb1fbff1cf90568f09d99
commit 2282544e60cac3833d34880e2e8ef8ca8e400bea
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Mon Mar 14 19:18:28 2022 +0100
Put back mutex fix
diff --git a/globus-gridftp-server-warn.patch b/globus-gridftp-server-warn.patch
index d3c3885..7342511 100644
--- a/globus-gridftp-server-warn.patch
+++ b/globus-gridftp-server-warn.patch
@@ -42,10 +42,32 @@ index b3531e1393..ac49e7d247 100644
result = gfs_l_gfork_opts_kmgint(opt[0], &val);
if(result != GLOBUS_SUCCESS)
diff --git a/gridftp/server/src/globus_gridftp_server.c b/gridftp/server/src/globus_gridftp_server.c
-index 0aff2fd1d6..fc4a2b3e88 100644
+index 0aff2fd1d6..cc0ba04b01 100644
--- a/gridftp/server/src/globus_gridftp_server.c
+++ b/gridftp/server/src/globus_gridftp_server.c
-@@ -613,7 +613,8 @@ globus_l_gfs_ipc_closed(
+@@ -535,17 +535,16 @@ globus_l_gfs_spawn_child(
+ /* inc the connection count 2 here since we will dec it on this close
+ and on the death of the child process */
+ globus_gfs_config_inc_int("open_connections_count", 2);
+- globus_mutex_unlock(&globus_l_gfs_mutex);
+ result = globus_xio_register_close(
+ handle,
+ NULL,
+ globus_l_gfs_close_cb,
+- NULL);
++ NULL);
+ if(result != GLOBUS_SUCCESS)
+ {
+- globus_l_gfs_close_cb(handle, result, NULL);
+- }
+- }
++ globus_i_gfs_connection_closed();
++ }
++ }
+
+ GlobusGFSDebugExit();
+ return GLOBUS_SUCCESS;
+@@ -613,7 +612,8 @@ globus_l_gfs_ipc_closed(
}
handle = (globus_xio_handle_t) user_arg;
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 9aa2219..e471c83 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 11%{?dist}
+Release: 12%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -254,6 +254,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Mon Mar 14 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-12
+- Put back mutex fix
+
* Sun Mar 13 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-11
- Better fix for undefined variable in embedded close callback
commit 5af105d11b2c219728f0d29afc9797582919c774
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sun Mar 13 21:34:47 2022 +0100
Better fix for undefined variable in embedded close callback
diff --git a/globus-gridftp-server-warn.patch b/globus-gridftp-server-warn.patch
index 6797ff1..d3c3885 100644
--- a/globus-gridftp-server-warn.patch
+++ b/globus-gridftp-server-warn.patch
@@ -457,18 +457,20 @@ index 785eba2240..0bf0ea4369 100644
char * enc_path;
char * enc_url;
diff --git a/gridftp/server/src/globus_i_gfs_embed.c b/gridftp/server/src/globus_i_gfs_embed.c
-index 6ead624b62..8fafb33f83 100644
+index 6ead624b62..b97e89584d 100644
--- a/gridftp/server/src/globus_i_gfs_embed.c
+++ b/gridftp/server/src/globus_i_gfs_embed.c
-@@ -264,7 +264,6 @@ globus_l_gfs_ipc_closed(
+@@ -264,32 +264,26 @@ globus_l_gfs_ipc_closed(
void * user_arg,
globus_result_t result)
{
- globus_xio_handle_t xio_handle;
globus_gfs_embed_handle_t handle;
++ GlobusGFSName(globus_l_gfs_ipc_closed);
++ GlobusGFSDebugEnter();
if(result != GLOBUS_SUCCESS)
-@@ -272,20 +271,18 @@ globus_l_gfs_ipc_closed(
+ {
/* XXX TODO log and error */
}
@@ -483,19 +485,22 @@ index 6ead624b62..8fafb33f83 100644
- NULL,
- globus_l_gfs_close_cb,
- handle);
-+ result = globus_xio_server_register_close(
-+ handle->xio_server, globus_l_gfs_server_close_cb, handle);
++ globus_i_gfs_connection_closed(handle);
}
globus_mutex_unlock(&handle->mutex);
- if(result != GLOBUS_SUCCESS)
- {
+- if(result != GLOBUS_SUCCESS)
+- {
- globus_l_gfs_close_cb(xio_handle, result, handle);
-+ globus_l_gfs_server_close_cb(handle->xio_server, handle);
- }
+- }
++ GlobusGFSDebugExit();
}
-@@ -380,7 +377,7 @@ globus_l_gfs_new_server_cb(
+-
+ static
+ void
+ globus_l_gfs_new_server_cb(
+@@ -380,7 +374,7 @@ globus_l_gfs_new_server_cb(
&globus_gfs_ipc_default_iface,
system_handle,
globus_l_gfs_ipc_closed,
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 5d78ce0..9aa2219 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 10%{?dist}
+Release: 11%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -254,6 +254,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Sun Mar 13 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-11
+- Better fix for undefined variable in embedded close callback
+
* Sun Mar 13 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-10
- No mutex fix needed here
commit 217168318647c55c9f3cd761b79510c52be8ba13
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sun Mar 13 18:32:40 2022 +0100
No mutex fix needed here
diff --git a/globus-gridftp-server-warn.patch b/globus-gridftp-server-warn.patch
index ff78ec2..6797ff1 100644
--- a/globus-gridftp-server-warn.patch
+++ b/globus-gridftp-server-warn.patch
@@ -42,27 +42,10 @@ index b3531e1393..ac49e7d247 100644
result = gfs_l_gfork_opts_kmgint(opt[0], &val);
if(result != GLOBUS_SUCCESS)
diff --git a/gridftp/server/src/globus_gridftp_server.c b/gridftp/server/src/globus_gridftp_server.c
-index 0aff2fd1d6..52ed0db3f6 100644
+index 0aff2fd1d6..fc4a2b3e88 100644
--- a/gridftp/server/src/globus_gridftp_server.c
+++ b/gridftp/server/src/globus_gridftp_server.c
-@@ -535,7 +535,6 @@ globus_l_gfs_spawn_child(
- /* inc the connection count 2 here since we will dec it on this close
- and on the death of the child process */
- globus_gfs_config_inc_int("open_connections_count", 2);
-- globus_mutex_unlock(&globus_l_gfs_mutex);
- result = globus_xio_register_close(
- handle,
- NULL,
-@@ -543,7 +542,7 @@ globus_l_gfs_spawn_child(
- NULL);
- if(result != GLOBUS_SUCCESS)
- {
-- globus_l_gfs_close_cb(handle, result, NULL);
-+ globus_i_gfs_connection_closed();
- }
- }
-
-@@ -613,7 +612,8 @@ globus_l_gfs_ipc_closed(
+@@ -613,7 +613,8 @@ globus_l_gfs_ipc_closed(
}
handle = (globus_xio_handle_t) user_arg;
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 406ec99..5d78ce0 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 9%{?dist}
+Release: 10%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -254,6 +254,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Sun Mar 13 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-10
+- No mutex fix needed here
+
* Sun Mar 13 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-9
- Improved mutex fix
commit 3b8ecac722c7fedf2231d4ac85d0d8c7e8082262
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sun Mar 13 09:14:36 2022 +0100
Improved mutex fix
diff --git a/globus-gridftp-server-warn.patch b/globus-gridftp-server-warn.patch
index 5793d65..ff78ec2 100644
--- a/globus-gridftp-server-warn.patch
+++ b/globus-gridftp-server-warn.patch
@@ -42,7 +42,7 @@ index b3531e1393..ac49e7d247 100644
result = gfs_l_gfork_opts_kmgint(opt[0], &val);
if(result != GLOBUS_SUCCESS)
diff --git a/gridftp/server/src/globus_gridftp_server.c b/gridftp/server/src/globus_gridftp_server.c
-index 0aff2fd1d6..9704775842 100644
+index 0aff2fd1d6..52ed0db3f6 100644
--- a/gridftp/server/src/globus_gridftp_server.c
+++ b/gridftp/server/src/globus_gridftp_server.c
@@ -535,7 +535,6 @@ globus_l_gfs_spawn_child(
@@ -53,17 +53,16 @@ index 0aff2fd1d6..9704775842 100644
result = globus_xio_register_close(
handle,
NULL,
-@@ -543,7 +542,9 @@ globus_l_gfs_spawn_child(
+@@ -543,7 +542,7 @@ globus_l_gfs_spawn_child(
NULL);
if(result != GLOBUS_SUCCESS)
{
-+ globus_mutex_unlock(&globus_l_gfs_mutex);
- globus_l_gfs_close_cb(handle, result, NULL);
-+ globus_mutex_lock(&globus_l_gfs_mutex);
+- globus_l_gfs_close_cb(handle, result, NULL);
++ globus_i_gfs_connection_closed();
}
}
-@@ -613,7 +614,8 @@ globus_l_gfs_ipc_closed(
+@@ -613,7 +612,8 @@ globus_l_gfs_ipc_closed(
}
handle = (globus_xio_handle_t) user_arg;
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 1e9691f..406ec99 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 8%{?dist}
+Release: 9%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -254,6 +254,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Sun Mar 13 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-9
+- Improved mutex fix
+
* Sat Mar 12 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-8
- Use sha256 hash when generating test certificates
- Fix some compiler warnings
commit 147f30a88024312e1fe03d7dd3a4be6c59d08457
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sat Mar 12 22:24:32 2022 +0100
Use sha256 hash when generating test certificates
Fix some compiler warnings
Fix unbalanced mutex lock/unlock
diff --git a/globus-gridftp-server-sha256.patch b/globus-gridftp-server-sha256.patch
new file mode 100644
index 0000000..af6e953
--- /dev/null
+++ b/globus-gridftp-server-sha256.patch
@@ -0,0 +1,13 @@
+diff --git a/gridftp/server/src/test/testcred.cnf.in b/gridftp/server/src/test/testcred.cnf.in
+index ef12fd8e93..e878b0151a 100644
+--- a/gridftp/server/src/test/testcred.cnf.in
++++ b/gridftp/server/src/test/testcred.cnf.in
+@@ -44,7 +44,7 @@ commonName = supplied
+ ####################################################################
+ [ req ]
+ default_bits = 2048
+-default_md = sha1
++default_md = sha256
+ default_keyfile = privkey.pem
+ distinguished_name = req_distinguished_name
+ attributes = req_attributes
diff --git a/globus-gridftp-server-warn.patch b/globus-gridftp-server-warn.patch
new file mode 100644
index 0000000..5793d65
--- /dev/null
+++ b/globus-gridftp-server-warn.patch
@@ -0,0 +1,718 @@
+diff --git a/gridftp/server/src/gfs_dynbe_client.c b/gridftp/server/src/gfs_dynbe_client.c
+index 43870b2649..62134e0a6c 100644
+--- a/gridftp/server/src/gfs_dynbe_client.c
++++ b/gridftp/server/src/gfs_dynbe_client.c
+@@ -172,6 +172,7 @@ main(
+ rc = globus_module_activate(GLOBUS_XIO_MODULE);
+ if(rc != 0)
+ {
++ result = GLOBUS_FAILURE;
+ goto error_activate;
+ }
+
+@@ -210,7 +211,7 @@ main(
+ tmp32 = htonl(1);
+ memcpy(&buffer[GF_DYN_ENTRY_COUNT_NDX], &tmp32, sizeof(uint32_t));
+
+- strncpy((char *) &buffer[GF_DYN_CS_NDX], be_cs, GF_DYN_CS_LEN);
++ strncpy((char *) &buffer[GF_DYN_CS_NDX], be_cs, GF_DYN_CS_LEN - 1);
+
+ result = globus_xio_open(g_xio_handle, reg_cs, NULL);
+ if(result != GLOBUS_SUCCESS)
+diff --git a/gridftp/server/src/gfs_gfork_master.c b/gridftp/server/src/gfs_gfork_master.c
+index b3531e1393..ac49e7d247 100644
+--- a/gridftp/server/src/gfs_gfork_master.c
++++ b/gridftp/server/src/gfs_gfork_master.c
+@@ -1568,7 +1568,7 @@ gfs_l_gfork_backend_xio_open_cb(
+ memcpy(&buffer[GF_DYN_AT_ONCE_NDX], &converted_32, sizeof(uint32_t));
+ converted_32 = htonl(g_total_cons);
+ memcpy(&buffer[GF_DYN_TOTAL_NDX], &converted_32, sizeof(uint32_t));
+- strncpy((char *)&buffer[GF_DYN_CS_NDX], g_be_cs, GF_DYN_CS_LEN);
++ strncpy((char *)&buffer[GF_DYN_CS_NDX], g_be_cs, GF_DYN_CS_LEN - 1);
+
+ result = globus_xio_register_write(
+ handle,
+@@ -2041,7 +2041,7 @@ gfs_l_gfork_opts_mem_size(
+ int * out_parms_used)
+ {
+ globus_result_t result;
+- globus_off_t val;
++ globus_off_t val = 0;
+
+ result = gfs_l_gfork_opts_kmgint(opt[0], &val);
+ if(result != GLOBUS_SUCCESS)
+diff --git a/gridftp/server/src/globus_gridftp_server.c b/gridftp/server/src/globus_gridftp_server.c
+index 0aff2fd1d6..9704775842 100644
+--- a/gridftp/server/src/globus_gridftp_server.c
++++ b/gridftp/server/src/globus_gridftp_server.c
+@@ -535,7 +535,6 @@ globus_l_gfs_spawn_child(
+ /* inc the connection count 2 here since we will dec it on this close
+ and on the death of the child process */
+ globus_gfs_config_inc_int("open_connections_count", 2);
+- globus_mutex_unlock(&globus_l_gfs_mutex);
+ result = globus_xio_register_close(
+ handle,
+ NULL,
+@@ -543,7 +542,9 @@ globus_l_gfs_spawn_child(
+ NULL);
+ if(result != GLOBUS_SUCCESS)
+ {
++ globus_mutex_unlock(&globus_l_gfs_mutex);
+ globus_l_gfs_close_cb(handle, result, NULL);
++ globus_mutex_lock(&globus_l_gfs_mutex);
+ }
+ }
+
+@@ -613,7 +614,8 @@ globus_l_gfs_ipc_closed(
+ }
+
+ handle = (globus_xio_handle_t) user_arg;
+- globus_mutex_unlock(&globus_l_gfs_mutex);
++
++ globus_mutex_lock(&globus_l_gfs_mutex);
+ {
+ result = globus_xio_register_close(
+ handle,
+diff --git a/gridftp/server/src/globus_i_gfs_config.c b/gridftp/server/src/globus_i_gfs_config.c
+index 10963bd421..d5ee9a9a70 100644
+--- a/gridftp/server/src/globus_i_gfs_config.c
++++ b/gridftp/server/src/globus_i_gfs_config.c
+@@ -1880,8 +1880,6 @@ globus_l_gfs_config_display_docbook_usage()
+
+ for(i = 0; i < option_count; i++)
+ {
+- char * shortflag;
+- char * longflag;
+ char * value;
+ char * defval;
+
+@@ -1909,27 +1907,19 @@ globus_l_gfs_config_display_docbook_usage()
+ switch(o->type)
+ {
+ case GLOBUS_L_GFS_CONFIG_BOOL:
+- shortflag = "-";
+- longflag = "-";
+ value = NULL;
+ defval = o->int_value ? "TRUE" : "FALSE";
+ break;
+ case GLOBUS_L_GFS_CONFIG_INT:
+- shortflag = "-";
+- longflag = "-";
+ value = "number";
+ defval = o->int_value > 0 ?
+ globus_common_create_string("%d", o->int_value) : NULL;
+ break;
+ case GLOBUS_L_GFS_CONFIG_STRING:
+- shortflag = "-";
+- longflag = "-";
+ value = "string";
+ defval = o->value ? o->value : NULL;
+ break;
+ default:
+- shortflag = "";
+- longflag = "";
+ value = "";
+ defval = o->value ? o->value : NULL;
+ break;
+@@ -2000,8 +1990,6 @@ globus_l_gfs_config_display_asciidoc_usage()
+
+ for(i = 0; i < option_count; i++)
+ {
+- char * shortflag;
+- char * longflag;
+ char * value;
+ char * defval;
+
+@@ -2034,27 +2022,19 @@ globus_l_gfs_config_display_asciidoc_usage()
+ switch(o->type)
+ {
+ case GLOBUS_L_GFS_CONFIG_BOOL:
+- shortflag = "-";
+- longflag = "-";
+ value = NULL;
+ defval = o->int_value ? "TRUE" : "FALSE";
+ break;
+ case GLOBUS_L_GFS_CONFIG_INT:
+- shortflag = "-";
+- longflag = "-";
+ value = "number";
+ defval = o->int_value > 0 ?
+ globus_common_create_string("%d", o->int_value) : NULL;
+ break;
+ case GLOBUS_L_GFS_CONFIG_STRING:
+- shortflag = "-";
+- longflag = "-";
+ value = "string";
+ defval = o->value ? o->value : NULL;
+ break;
+ default:
+- shortflag = "";
+- longflag = "";
+ value = "";
+ defval = o->value ? o->value : NULL;
+ break;
+diff --git a/gridftp/server/src/globus_i_gfs_data.c b/gridftp/server/src/globus_i_gfs_data.c
+index 785eba2240..0bf0ea4369 100644
+--- a/gridftp/server/src/globus_i_gfs_data.c
++++ b/gridftp/server/src/globus_i_gfs_data.c
+@@ -736,7 +736,7 @@ globus_l_gfs_base64_decode(
+ {
+ int i;
+ int j;
+- int D;
++ int D = 0;
+ char * p;
+ GlobusGFSName(globus_l_gfs_base64_decode);
+ GlobusGFSDebugEnter();
+@@ -1127,11 +1127,10 @@ globus_l_gfs_data_post_transfer_event_cb(
+
+ switch(data_handle->state)
+ {
+- /* occurs if the next transfer comand happens before this function
+- is called to switch out of the TE_VALID state
++ /* occurs if the next transfer command happens before this function
++ is called to switch out of the TE_VALID state */
+ case GLOBUS_L_GFS_DATA_HANDLE_INUSE:
+ break;
+-*/
+
+ case GLOBUS_L_GFS_DATA_HANDLE_TE_PRE_CLOSED:
+ /* cant free until destroy cb, put in full closed state */
+@@ -1161,7 +1160,7 @@ globus_l_gfs_data_post_transfer_event_cb(
+ case GLOBUS_L_GFS_DATA_HANDLE_VALID:
+ break;
+
+- /* havent even gotten a close, how did this happen? */
++ /* haven't even gotten a close, how did this happen? */
+ case GLOBUS_L_GFS_DATA_HANDLE_CLOSED:
+ case GLOBUS_L_GFS_DATA_HANDLE_CLOSED_AND_DESTROYED:
+ /* these shouldnt be possible */
+@@ -1319,7 +1318,9 @@ globus_i_gfs_get_full_path(
+ int cwd_len;
+ int sc;
+ char * slash = "/";
++#ifdef WIN32
+ char * tmp_path;
++#endif
+ char * norm_path;
+ GlobusGFSName(globus_i_gfs_get_full_path);
+ GlobusGFSDebugEnter();
+@@ -1482,7 +1483,7 @@ globus_i_gfs_data_check_path(
+ char path[MAXPATHLEN];
+ globus_list_t * list;
+ globus_result_t result = GLOBUS_SUCCESS;
+- globus_l_gfs_alias_ent_t * alias_ent;
++ globus_l_gfs_alias_ent_t * alias_ent = GLOBUS_NULL;
+ char * true_path = GLOBUS_NULL;
+ char * start_path;
+ int in_path_len;
+@@ -1730,7 +1731,7 @@ globus_i_gfs_data_check_path(
+
+ if(!rp_list && ret_path)
+ {
+- if(alias_ent->realpath)
++ if(alias_ent && alias_ent->realpath)
+ {
+ strncpy(path, alias_ent->realpath, alias_ent->realpath_len);
+ strcpy(path + alias_ent->realpath_len,
+@@ -2489,58 +2490,6 @@ globus_l_gfs_authorize_cb(
+ GlobusGFSDebugExit();
+ }
+
+-static
+-globus_result_t
+-globus_l_gfs_data_decode_passed_cred(
+- char * encoded_cred,
+- gss_cred_id_t * out_cred)
+-{
+- OM_uint32 major_status;
+- OM_uint32 minor_status;
+- gss_buffer_desc buf;
+- gss_cred_id_t cred;
+- globus_result_t res;
+- GlobusGFSName(globus_l_gfs_data_decode_passed_cred);
+- GlobusGFSDebugEnter();
+-
+- buf.value = globus_libc_strdup(encoded_cred);
+-
+- res = globus_l_gfs_base64_decode(
+- (globus_byte_t *) encoded_cred, buf.value, &buf.length);
+- if(res != GLOBUS_SUCCESS)
+- {
+- globus_free(buf.value);
+- res = GlobusGFSErrorGeneric(
+- "Invalid base64 input for credential.");
+- }
+- else
+- {
+- major_status = gss_import_cred(
+- &minor_status,
+- &cred,
+- GSS_C_NO_OID,
+- 0,
+- &buf,
+- 0,
+- NULL);
+- globus_free(buf.value);
+- if(major_status != GSS_S_COMPLETE)
+- {
+- res = GlobusGFSErrorWrapFailed(
+- "Credential import", minor_status);
+- }
+- else
+- {
+- *out_cred = cred;
+- }
+- }
+-
+- GlobusGFSDebugExit();
+-
+- return res;
+-}
+-
+-
+ /*
+ * this is called when writing. if file exists it is a write
+ * request, if it does not exists it is a create request
+@@ -2913,14 +2862,12 @@ globus_l_gfs_data_auth_init_cb(
+ globus_bool_t destroy_session = GLOBUS_FALSE;
+ globus_bool_t destroy_op = GLOBUS_FALSE;
+ globus_l_gfs_data_operation_t * op;
+- globus_gfs_session_info_t * session_info;
+ globus_gfs_finished_info_t finished_info;
+ globus_bool_t ready = GLOBUS_FALSE;
+ GlobusGFSName(globus_l_gfs_data_auth_init_cb);
+ GlobusGFSDebugEnter();
+
+ op = (globus_l_gfs_data_operation_t *) user_arg;
+- session_info = (globus_gfs_session_info_t *) op->info_struct;
+
+ memset(&finished_info, '\0', sizeof(globus_gfs_finished_info_t));
+ if(result != GLOBUS_SUCCESS)
+@@ -5069,7 +5016,7 @@ globus_l_gfs_base64_encode(
+ {
+ int i;
+ int j;
+- unsigned char c;
++ unsigned char c = 0;
+ for (i=0,j=0; i < in_len; i++)
+ {
+ switch (i%3)
+@@ -5154,9 +5101,7 @@ void
+ globus_i_gfs_data_init()
+ {
+ char * restrict_path;
+- int rc;
+ globus_result_t result;
+- char * driver;
+ GlobusGFSName(globus_i_gfs_data_init);
+ GlobusGFSDebugEnter();
+
+@@ -5514,11 +5459,11 @@ globus_l_gfs_data_stat_kickout(
+ reply.id = bounce_info->op->id;
+ reply.result = bounce_info->error ?
+ globus_error_put(bounce_info->error) : GLOBUS_SUCCESS;
+- reply.info.stat.stat_array = bounce_info->stat_array;
+- reply.info.stat.stat_count = bounce_info->stat_count;
+- reply.info.stat.uid = bounce_info->op->session_handle->uid;
++ reply.info.stat.stat_array = bounce_info->stat_array;
++ reply.info.stat.stat_count = bounce_info->stat_count;
++ reply.info.stat.uid = (int)bounce_info->op->session_handle->uid;
+ reply.info.stat.gid_count = bounce_info->op->session_handle->gid_count;
+- reply.info.stat.gid_array = bounce_info->op->session_handle->gid_array;
++ reply.info.stat.gid_array = (int *)bounce_info->op->session_handle->gid_array;
+
+ /* pull response code from error */
+ if(bounce_info->final_stat && reply.result != GLOBUS_SUCCESS &&
+@@ -5596,7 +5541,7 @@ globus_l_gfs_data_approve_popen(
+ char * end;
+ char * ptr;
+ char * alias;
+- char * prog;
++ char * prog = NULL;
+ char * tmp;
+ char * out = NULL;
+ globus_bool_t found;
+@@ -5752,7 +5697,7 @@ globus_l_gfs_data_load_stack(
+ char * default_stack,
+ globus_bool_t subst_io_drivers)
+ {
+- char * parsed_driver_string;
++ char * parsed_driver_string = NULL;
+ char * driver_string;
+ globus_result_t result = GLOBUS_SUCCESS;
+ GlobusGFSName(globus_l_gfs_data_load_stack);
+@@ -5835,7 +5780,7 @@ globus_i_gfs_data_request_command(
+ {
+ globus_result_t res;
+ int rc;
+- globus_gfs_acl_action_t action;
++ globus_gfs_acl_action_t action = GFS_ACL_ACTION_INIT;
+ globus_bool_t call = GLOBUS_TRUE;
+ globus_l_gfs_data_operation_t * op;
+ globus_result_t result;
+@@ -7621,7 +7566,6 @@ globus_i_gfs_data_request_handle_destroy(
+ globus_result_t result;
+ globus_l_gfs_data_session_t * session_handle;
+ globus_l_gfs_data_handle_t * data_handle;
+- int old_state_dbg;
+ GlobusGFSName(globus_i_gfs_data_request_handle_destroy);
+ GlobusGFSDebugEnter();
+
+@@ -7643,7 +7587,6 @@ globus_i_gfs_data_request_handle_destroy(
+
+ data_handle->destroy_requested = GLOBUS_TRUE;
+
+- old_state_dbg = data_handle->state;
+ session_arg = session_handle->session_arg;
+ switch(data_handle->state)
+ {
+@@ -7783,7 +7726,11 @@ globus_l_gfs_data_hybrid_session_start_cb(
+ {
+ hybrid_op = op->hybrid_op;
+ }
+-
++ else
++ {
++ return;
++ }
++
+ if(op->type == GLOBUS_L_GFS_DATA_INFO_TYPE_PASSIVE)
+ {
+ if(reply->result != GLOBUS_SUCCESS)
+@@ -7855,12 +7802,8 @@ globus_l_gfs_data_hybrid_session_start_cb(
+ hybrid_op->user_arg);
+ }
+ }
+- if(hybrid_op)
+- {
+- globus_l_gfs_data_operation_destroy(hybrid_op);
+- }
+-
+
++ globus_l_gfs_data_operation_destroy(hybrid_op);
+ }
+
+ static
+@@ -8710,9 +8653,9 @@ globus_i_gfs_data_request_recv(
+ return;
+
+ error_module:
++ globus_gridftp_server_finished_transfer(op, result);
+ error_op:
+ error_handle:
+- globus_gridftp_server_finished_transfer(op, result);
+ GlobusGFSDebugExitWithError();
+ }
+
+@@ -8901,9 +8844,9 @@ globus_i_gfs_data_request_send(
+ return;
+
+ error_module:
++ globus_gridftp_server_finished_transfer(op, result);
+ error_op:
+ error_handle:
+- globus_gridftp_server_finished_transfer(op, result);
+ GlobusGFSDebugExitWithError();
+ }
+
+@@ -9056,7 +8999,7 @@ globus_l_gfs_data_list_stat_cb(
+ globus_size_t buffer_len;
+ globus_l_gfs_data_stat_bounce_t * bounce_info;
+ globus_gfs_stat_info_t * stat_info;
+- globus_result_t result;
++ globus_result_t result = GLOBUS_SUCCESS;
+ globus_gfs_stat_t * stat_array;
+ globus_gfs_stat_t stat_temp;
+ int stat_count;
+@@ -9735,7 +9678,6 @@ globus_l_gfs_data_begin_cb(
+ globus_gfs_event_info_t event_reply;
+ globus_gfs_event_info_t event_info;
+ globus_l_gfs_data_operation_t * op;
+- globus_l_gfs_data_handle_state_t last_state;
+ void * remote_data_arg = NULL;
+ GlobusGFSName(globus_l_gfs_data_begin_cb);
+ GlobusGFSDebugEnter();
+@@ -9744,7 +9686,6 @@ globus_l_gfs_data_begin_cb(
+
+ globus_mutex_lock(&op->session_handle->mutex);
+ {
+- last_state = op->state;
+ switch(op->state)
+ {
+ case GLOBUS_L_GFS_DATA_CONNECTING:
+@@ -11915,7 +11856,6 @@ globus_l_gfs_finished_command_kickout(
+ globus_bool_t destroy_op = GLOBUS_FALSE;
+ void * remote_data_arg = NULL;
+ globus_l_gfs_data_operation_t * op;
+- globus_result_t result;
+ globus_l_gfs_data_cmd_bounce_t * bounce;
+
+ bounce = (globus_l_gfs_data_cmd_bounce_t *) user_arg;
+@@ -12304,7 +12244,6 @@ globus_gridftp_server_finished_stat(
+ int i;
+ char * base_path;
+ globus_gfs_stat_info_t * stat_info;
+- int code;
+ GlobusGFSName(globus_gridftp_server_finished_stat);
+ GlobusGFSDebugEnter();
+
+@@ -13465,7 +13404,6 @@ globus_gridftp_server_set_checksum_support(
+ globus_gfs_operation_t op,
+ const char * cksm_str)
+ {
+- globus_result_t result;
+ GlobusGFSName(globus_gridftp_server_set_checksum_support);
+ GlobusGFSDebugEnter();
+
+@@ -14764,7 +14702,7 @@ globus_i_gfs_http_data_parse_request(
+ char * d_req = NULL;
+ globus_size_t req_len;
+ char * line;
+- char * next_line;
++ char * next_line = NULL;
+ char * ptr;
+ char * enc_path;
+ char * enc_url;
+diff --git a/gridftp/server/src/globus_i_gfs_embed.c b/gridftp/server/src/globus_i_gfs_embed.c
+index 6ead624b62..8fafb33f83 100644
+--- a/gridftp/server/src/globus_i_gfs_embed.c
++++ b/gridftp/server/src/globus_i_gfs_embed.c
+@@ -264,7 +264,6 @@ globus_l_gfs_ipc_closed(
+ void * user_arg,
+ globus_result_t result)
+ {
+- globus_xio_handle_t xio_handle;
+ globus_gfs_embed_handle_t handle;
+
+ if(result != GLOBUS_SUCCESS)
+@@ -272,20 +271,18 @@ globus_l_gfs_ipc_closed(
+ /* XXX TODO log and error */
+ }
+
+- xio_handle = (globus_xio_handle_t) user_arg;
+- globus_mutex_unlock(&handle->mutex);
++ handle = (globus_gfs_embed_handle_t) user_arg;
++
++ globus_mutex_lock(&handle->mutex);
+ {
+- result = globus_xio_register_close(
+- xio_handle,
+- NULL,
+- globus_l_gfs_close_cb,
+- handle);
++ result = globus_xio_server_register_close(
++ handle->xio_server, globus_l_gfs_server_close_cb, handle);
+ }
+ globus_mutex_unlock(&handle->mutex);
+
+ if(result != GLOBUS_SUCCESS)
+ {
+- globus_l_gfs_close_cb(xio_handle, result, handle);
++ globus_l_gfs_server_close_cb(handle->xio_server, handle);
+ }
+ }
+
+@@ -380,7 +377,7 @@ globus_l_gfs_new_server_cb(
+ &globus_gfs_ipc_default_iface,
+ system_handle,
+ globus_l_gfs_ipc_closed,
+- xio_handle);
++ handle);
+ }
+ else
+ {
+diff --git a/gridftp/server/src/globus_i_gfs_ipc.c b/gridftp/server/src/globus_i_gfs_ipc.c
+index c2d58fbb1b..acf9063740 100644
+--- a/gridftp/server/src/globus_i_gfs_ipc.c
++++ b/gridftp/server/src/globus_i_gfs_ipc.c
+@@ -4137,17 +4137,17 @@ globus_l_gfs_ipc_reply_read_body_cb(
+ globus_byte_t * new_buf;
+ globus_gfs_ipc_request_t * request = user_arg;
+ globus_i_gfs_ipc_handle_t * ipc;
+- globus_gfs_command_info_t * cmd_info;
+- globus_gfs_transfer_info_t * trans_info;
+- globus_gfs_data_info_t * data_info;
+- globus_gfs_stat_info_t * stat_info;
++ globus_gfs_command_info_t * cmd_info = NULL;
++ globus_gfs_transfer_info_t * trans_info = NULL;
++ globus_gfs_data_info_t * data_info = NULL;
++ globus_gfs_stat_info_t * stat_info = NULL;
+ globus_gfs_event_info_t * event_info;
+ globus_gfs_operation_type_t type;
+- globus_byte_t * user_buffer;
+- globus_size_t user_buffer_length;
+- int user_buffer_type;
++ globus_byte_t * user_buffer = NULL;
++ globus_size_t user_buffer_length = 0;
++ int user_buffer_type = 0;
+ int rc;
+- void * data_arg;
++ void * data_arg = NULL;
+ globus_bool_t process = GLOBUS_FALSE;
+ int error_state;
+ int no_reply_state;
+@@ -4918,6 +4918,7 @@ globus_l_gfs_ipc_reply_cb(
+ goto error_already;
+ break;
+ case GLOBUS_GFS_IPC_STATE_REPLY_WAIT:
++ error_state = GLOBUS_GFS_IPC_STATE_REPLY_WAIT;
+ break;
+ default:
+ globus_assert(0 && "memory corruption?");
+diff --git a/gridftp/server/src/globus_i_gfs_log.c b/gridftp/server/src/globus_i_gfs_log.c
+index bd10c89d2f..837bcfc547 100644
+--- a/gridftp/server/src/globus_i_gfs_log.c
++++ b/gridftp/server/src/globus_i_gfs_log.c
+@@ -85,7 +85,6 @@ globus_i_gfs_log_open()
+ int len;
+ int ctr;
+ char * tag;
+- globus_result_t result;
+ globus_reltime_t flush_interval;
+ globus_size_t buffer;
+ int rc;
+@@ -369,7 +368,6 @@ globus_i_gfs_log_open()
+ void
+ globus_i_gfs_log_close(void)
+ {
+- globus_list_t * list;
+ GlobusGFSName(globus_i_gfs_log_close);
+ GlobusGFSDebugEnter();
+
+diff --git a/gridftp/server/src/modules/file/globus_gridftp_server_file.c b/gridftp/server/src/modules/file/globus_gridftp_server_file.c
+index f7b7416826..2ce4c7fae5 100644
+--- a/gridftp/server/src/modules/file/globus_gridftp_server_file.c
++++ b/gridftp/server/src/modules/file/globus_gridftp_server_file.c
+@@ -783,7 +783,6 @@ globus_l_gfs_file_stat(
+ globus_gfs_stat_t * stat_array;
+ int stat_count = 0;
+ int total_stat_count = 0;
+- DIR * dir;
+ char basepath[MAXPATHLEN];
+ char filename[MAXPATHLEN];
+ char symlink_target[MAXPATHLEN];
+@@ -850,6 +849,7 @@ globus_l_gfs_file_stat(
+ {
+ /* use larger path bufs so we have the full name for err msg */
+ int maxpathlen = GLOBUS_MAX(4096, MAXPATHLEN);
++ DIR * dir;
+ struct dirent * dir_entry;
+ int i;
+ char dir_path[maxpathlen];
+@@ -1046,8 +1046,13 @@ globus_l_gfs_file_stat(
+ stat_count = i;
+
+ closedir(dir);
+-
++ goto done_fake;
+
++error_stat2:
++ globus_l_gfs_file_destroy_stat(stat_array, stat_count);
++error_alloc2:
++ closedir(dir);
++ goto error_open;
+ }
+ done_fake:
+
+@@ -1090,7 +1095,7 @@ done_fake:
+ if(!stat_array)
+ {
+ result = GlobusGFSErrorMemory("stat_array");
+- goto error_alloc2;
++ goto error_open;
+ }
+
+ snprintf(
+@@ -1122,9 +1127,6 @@ done_fake:
+ if(slow_listings &&
+ (dir_entry->d_type == DT_DIR || dir_entry->d_type == DT_REG))
+ {
+- unsigned long h = 0;
+- char * key;
+-
+ stat_buf = (struct stat)
+ {
+ .st_mode = S_IRWXU |
+@@ -1186,7 +1188,7 @@ done_fake:
+ &stat_array[i], &stat_buf, dir_entry->d_name, symlink_target, link_stat_buf.st_mode, base_error);
+
+ /* set nlink to total files in dir for . entry */
+- if(check_cdir && dir_entry->d_name &&
++ if(check_cdir &&
+ dir_entry->d_name[0] == '.' && dir_entry->d_name[1] == '\0')
+ {
+ check_cdir = GLOBUS_FALSE;
+@@ -1231,7 +1233,7 @@ done_fake:
+ if(!stat_array)
+ {
+ result = GlobusGFSErrorMemory("stat_array");
+- goto error_alloc2;
++ goto error_open;
+ }
+
+ stat_count = 0;
+@@ -1253,11 +1255,7 @@ done_fake:
+
+ GlobusGFSFileDebugExit();
+ return;
+-error_stat2:
+- globus_l_gfs_file_destroy_stat(stat_array, stat_count);
+-error_alloc2:
+- closedir(dir);
+-
++
+ error_open:
+ error_alloc1:
+ error_stat1:
+@@ -1977,7 +1975,6 @@ globus_l_gfs_file_open_cksm_cb(
+ void * user_arg)
+ {
+ globus_l_gfs_file_cksm_monitor_t * monitor;
+- char * freq;
+ GlobusGFSName(globus_l_gfs_file_open_cksm_cb);
+ GlobusGFSFileDebugEnter();
+
+diff --git a/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c b/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c
+index b4ab1ae246..675932fde9 100644
+--- a/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c
++++ b/gridftp/server/src/modules/remote/globus_gridftp_server_remote.c
+@@ -402,7 +402,7 @@ globus_l_gfs_remote_select_nodes(
+ repo_name = bounce->repo;
+ callback = bounce->callback;
+ user_arg = bounce->user_arg;
+- nodes_requested = bounce->num_nodes;
++ nodes_requested = num_nodes;
+
+ /* select a new set of nodes */
+ result = globus_gfs_brain_select_nodes(
+@@ -920,7 +920,6 @@ globus_l_gfs_ipc_event_cb(
+ globus_l_gfs_remote_handle_t * my_handle;
+ int i;
+ globus_l_gfs_remote_ipc_bounce_t * bounce_info;
+- globus_list_t * list;
+ globus_bool_t finish = GLOBUS_FALSE;
+ globus_l_gfs_remote_node_info_t * current_node = NULL;
+ globus_l_gfs_remote_node_info_t * master_node = NULL;
+@@ -981,8 +980,7 @@ globus_l_gfs_ipc_event_cb(
+
+ for(i = 0; i < bounce_info->node_handle->count; i++)
+ {
+- node_info = (globus_l_gfs_remote_node_info_t *)
+- globus_list_first(list);
++ node_info = bounce_info->node_handle->nodes[i];
+ info = (globus_gfs_transfer_info_t *) node_info->info;
+
+ if(node_info->ipc_handle == ipc_handle)
+diff --git a/gridftp/server/src/test/error_response_test.c b/gridftp/server/src/test/error_response_test.c
+index a1825b62aa..4a26969cab 100644
+--- a/gridftp/server/src/test/error_response_test.c
++++ b/gridftp/server/src/test/error_response_test.c
+@@ -219,7 +219,6 @@ static
+ bool
+ test_error_multiline(void)
+ {
+- globus_result_t result = GLOBUS_SUCCESS;
+ globus_object_t *err = NULL;
+ char *msg = NULL;
+ char *ftp_str = NULL;
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index a24891e..1e9691f 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -20,6 +20,13 @@ Source2: globus-gridftp-sshftp.service
Source3: %{name}
Source4: globus-gridftp-sshftp
Source8: README
+# Use sha256 hash when generating test certificates
+# https://github.com/gridcf/gct/pull/178
+Patch0: %{name}-sha256.patch
+# Fix some compiler warnings
+# Fix unbalanced mutex lock/unlock
+# https://github.com/gridcf/gct/pull/179
+Patch1: %{name}-warn.patch
BuildRequires: make
BuildRequires: gcc
@@ -114,6 +121,8 @@ Globus GridFTP Server Development Files
%prep
%setup -q -n %{_name}-%{version}
+%patch0 -p4
+%patch1 -p4
%build
# Reduce overlinking
@@ -245,6 +254,11 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Sat Mar 12 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-8
+- Use sha256 hash when generating test certificates
+- Fix some compiler warnings
+- Fix unbalanced mutex lock/unlock
+
* Thu Jan 20 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 13.22-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
commit b8241434ccd636769327253d03c852c1323ee89e
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Jan 20 06:18:17 2022 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index d8cf890..a24891e 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -245,6 +245,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Thu Jan 20 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 13.22-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
* Fri Dec 17 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-6
- Reenable optional test dependency fakeroot on EPEL 9 - now available
commit 21fde77480092fabf1405b4f142b26df6ec7f434
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sat Dec 18 00:32:05 2021 +0100
Reenable optional test dependency fakeroot on EPEL 9 - now available
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 592d6a1..d8cf890 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -51,8 +51,7 @@ BuildConflicts: fakeroot
%else
BuildRequires: fakeroot
%endif
-%endif
-%if %{?fedora}%{!?fedora:0}
+%else
BuildRequires: fakeroot
%endif
@@ -246,6 +245,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Fri Dec 17 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-6
+- Reenable optional test dependency fakeroot on EPEL 9 - now available
+
* Fri Dec 17 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-5
- Make XIO udt driver a weak dependency
commit d625919117312cc3ad17346632a067678d03c214
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Fri Dec 17 09:38:53 2021 +0100
Bump release
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index f8d9ca4..592d6a1 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -246,9 +246,11 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Fri Dec 17 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-5
+- Make XIO udt driver a weak dependency
+
* Thu Dec 16 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-4
- Drop optional test dependency fakeroot on EPEL 9 - not yet available
-- Make XIO udt driver a weak dependency
* Wed Nov 03 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-3
- Drop broken optional test dependency fakeroot on ppc64le in EPEL
commit b8a5f80443ae38047760241bcfa8f7002e3dfda7
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Fri Dec 17 09:33:55 2021 +0100
Make XIO udt driver a weak dependency
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index b565a8c..f8d9ca4 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -57,7 +57,11 @@ BuildRequires: fakeroot
%endif
Requires: globus-xio-gsi-driver%{?_isa} >= 2
+%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
+Recommends: globus-xio-udt-driver%{?_isa} >= 1
+%else
Requires: globus-xio-udt-driver%{?_isa} >= 1
+%endif
Requires: globus-common%{?_isa} >= 17
Requires: globus-xio%{?_isa} >= 5
Requires: globus-gridftp-server-control%{?_isa} >= 9
@@ -244,6 +248,7 @@ fi
%changelog
* Thu Dec 16 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-4
- Drop optional test dependency fakeroot on EPEL 9 - not yet available
+- Make XIO udt driver a weak dependency
* Wed Nov 03 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-3
- Drop broken optional test dependency fakeroot on ppc64le in EPEL
commit 9ce1f2288a48b1b9d37c8199e395e213706f6c6e
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Thu Dec 16 23:05:20 2021 +0100
Drop optional test dependency fakeroot on EPEL 9 - not yet available
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 2f7d5df..b565a8c 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -51,7 +51,8 @@ BuildConflicts: fakeroot
%else
BuildRequires: fakeroot
%endif
-%else
+%endif
+%if %{?fedora}%{!?fedora:0}
BuildRequires: fakeroot
%endif
@@ -241,6 +242,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Thu Dec 16 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-4
+- Drop optional test dependency fakeroot on EPEL 9 - not yet available
+
* Wed Nov 03 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-3
- Drop broken optional test dependency fakeroot on ppc64le in EPEL
commit 66d39ac6ac92fca3f6bef099da288599d26e43aa
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Wed Nov 3 12:53:39 2021 +0100
Drop broken optional test dependency fakeroot on ppc64le in EPEL
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 1e57449..2f7d5df 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -44,7 +44,16 @@ BuildRequires: systemd
# Additional requirements for make check
BuildRequires: openssl
# Optional test dependency
+%if %{?rhel}%{!?rhel:0} == 7 || %{?rhel}%{!?rhel:0} == 8
+%ifarch ppc64le
+# Fakeroot in EPEL is broken on ppc64le
+BuildConflicts: fakeroot
+%else
+BuildRequires: fakeroot
+%endif
+%else
BuildRequires: fakeroot
+%endif
Requires: globus-xio-gsi-driver%{?_isa} >= 2
Requires: globus-xio-udt-driver%{?_isa} >= 1
@@ -232,6 +241,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Wed Nov 03 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-3
+- Drop broken optional test dependency fakeroot on ppc64le in EPEL
+
* Tue Sep 14 2021 Sahana Prasad <sahana(a)redhat.com> - 13.22-2
- Rebuilt with OpenSSL 3.0.0
commit ceca6af6b6ed6355ec1bbe6c82bf50559fdf6750
Author: Sahana Prasad <sahana(a)redhat.com>
Date: Tue Sep 14 19:02:52 2021 +0200
Rebuilt with OpenSSL 3.0.0
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index 2fec752..1e57449 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -9,7 +9,7 @@
Name: globus-gridftp-server
%global _name %(tr - _ <<< %{name})
Version: 13.22
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Grid Community Toolkit - Globus GridFTP Server
License: ASL 2.0
@@ -232,6 +232,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
+* Tue Sep 14 2021 Sahana Prasad <sahana(a)redhat.com> - 13.22-2
+- Rebuilt with OpenSSL 3.0.0
+
* Thu Aug 26 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 13.22-1
- Typo fixes
1 year, 10 months
Architecture specific change in rpms/slirp4netns.git
by githook-noreply@fedoraproject.org
The package rpms/slirp4netns.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/slirp4netns.git/commit/?id=49141c....
Change:
-ExcludeArch: ppc64
Thanks.
Full change:
============
commit 65e60dc0cc7f3d4c20ddbb66a3f99d39235583d8
Author: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
Date: Thu May 19 11:12:02 2022 -0400
build deb packages using debbuild
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
diff --git a/slirp4netns.spec b/slirp4netns.spec
index ea952fa..e4751d1 100644
--- a/slirp4netns.spec
+++ b/slirp4netns.spec
@@ -1,24 +1,36 @@
%global built_tag v1.2.0
-%global built_tag_strip %(b=%{built_tag}; echo ${b:1})
-%global gen_version %(b=%{built_tag_strip}; echo ${b/-/"~"})
Name: slirp4netns
-Version: %{gen_version}
+Version: 1.2.0
+%if "%{_vendor}" == "debbuild"
+Packager: Lokesh Mandvekar <https://github.com/lsm5>
+License: GPL-2.0+
+Release: 0%{?dist}
+%else
Release: %autorelease
-Summary: slirp for network namespaces
License: GPLv2
+%endif
+Summary: slirp for network namespaces
URL: https://github.com/rootless-containers/%{name}
Source0: %{url}/archive/%{built_tag}.tar.gz
BuildRequires: autoconf
BuildRequires: automake
+BuildRequires: go-md2man
+%if "%{_vendor}" == "debbuild"
+BuildRequires: git
+BuildRequires: libglib2.0-dev
+BuildRequires: libcap-dev
+BuildRequires: libseccomp-dev
+BuildRequires: libslirp-dev
+%else
BuildRequires: gcc
BuildRequires: glib2-devel
-BuildRequires: git
-BuildRequires: go-md2man
+BuildRequires: git-core
BuildRequires: libcap-devel
BuildRequires: libseccomp-devel
BuildRequires: libslirp-devel
BuildRequires: make
+%endif
%description
slirp for network namespaces, without copying buffers across the namespaces.
@@ -35,7 +47,7 @@ building other packages which use import path with
%{import_path} prefix.
%prep
-%autosetup -Sgit -n %{name}-%{built_tag_strip}
+%autosetup -Sgit
%build
./autogen.sh
@@ -57,4 +69,6 @@ make DESTDIR=%{buildroot} install install-man
%{_mandir}/man1/%{name}.1.gz
%changelog
+%if "%{_vendor}" != "debbuild"
%autochangelog
+%endif
commit 49141c5c3b67e399bb828abdf6b98498f2f8785a
Author: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
Date: Fri May 13 10:06:04 2022 -0400
bump to v1.2.0, switch to autospc
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
diff --git a/.gitignore b/.gitignore
index 6c2f03e..31c4a18 100644
--- a/.gitignore
+++ b/.gitignore
@@ -80,3 +80,4 @@
/slirp4netns-df67b2f.tar.gz
/v1.1.12.tar.gz
/v1.2.0-beta.0.tar.gz
+/v1.2.0.tar.gz
diff --git a/slirp4netns.spec b/slirp4netns.spec
index 92fe4d5..ea952fa 100644
--- a/slirp4netns.spec
+++ b/slirp4netns.spec
@@ -1,13 +1,10 @@
-# Used for comparing with latest upstream tag
-# to decide whether to autobuild and set download_url (non-rawhide only)
-%global built_tag v1.2.0-beta.0
+%global built_tag v1.2.0
%global built_tag_strip %(b=%{built_tag}; echo ${b:1})
+%global gen_version %(b=%{built_tag_strip}; echo ${b/-/"~"})
Name: slirp4netns
-Version: 1.2.0
-Release: 0.2.beta.0%{?dist}
-# no go-md2man in ppc64
-ExcludeArch: ppc64
+Version: %{gen_version}
+Release: %autorelease
Summary: slirp for network namespaces
License: GPLv2
URL: https://github.com/rootless-containers/%{name}
@@ -60,300 +57,4 @@ make DESTDIR=%{buildroot} install install-man
%{_mandir}/man1/%{name}.1.gz
%changelog
-* Sat Jan 22 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.0-0.2.beta.0
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Thu Jan 06 2022 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.2.0-0.1.beta.0
-- autobuilt v1.2.0-beta.0
-
-* Mon Aug 16 2021 Lokesh Mandvekar <lsm5(a)fedoraproject.org> - 1.1.12-2
-- build v1.1.12
-
-* Mon Aug 16 2021 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.12-1
-- autobuilt v1.1.12
-
-* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.1.11-5.dev.gitdf67b2f
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Mon Jun 21 2021 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.11-4.dev.gitdf67b2f
-- autobuilt df67b2f
-
-* Sun Jun 20 2021 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.11-3.dev.git33eb5f7
-- autobuilt 33eb5f7
-
-* Wed Jun 16 2021 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.11-2.dev.git0a9773c
-- bump to 1.1.11
-- autobuilt 0a9773c
-
-* Fri May 21 2021 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.10-2.dev.gitad49d7f
-- bump to 1.1.10
-- autobuilt ad49d7f
-
-* Mon Apr 26 2021 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.9-2.dev.gitfc25b9e
-- autobuilt fc25b9e
-
-* Mon Mar 01 2021 Lokesh Mandvekar <lsm5(a)fedoraproject.org> - 1.1.9-1.dev.gitb156cc5
-- built commit b156cc5
-
-* Wed Jan 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.1.8-3.dev.git6dc0186
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
-
-* Thu Dec 3 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.8-2.dev.git6dc0186
-- bump to 1.1.8
-- autobuilt 6dc0186
-
-* Wed Nov 25 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.7-3.dev.git0bac994
-- autobuilt 0bac994
-
-* Wed Nov 25 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.7-2.dev.gitf266258
-- bump to 1.1.7
-- autobuilt f266258
-
-* Wed Nov 25 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.6-6.dev.gitd0a8cf1
-- autobuilt d0a8cf1
-
-* Wed Nov 25 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.6-5.dev.git7ed048f
-- autobuilt 7ed048f
-
-* Wed Nov 25 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.6-4.dev.gite2e4eea
-- autobuilt e2e4eea
-
-* Wed Nov 25 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.6-3.dev.git4bce8d8
-- autobuilt 4bce8d8
-
-* Thu Nov 5 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.6-2.dev.git13ac4c2
-- bump to 1.1.6
-- autobuilt 13ac4c2
-
-* Sat Oct 3 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.4-7.dev.git6767922
-- autobuilt 6767922
-
-* Tue Sep 29 2020 Lokesh Mandvekar <lsm5(a)fedoraproject.org> - 1.1.4-6.dev.giteecccdb
-- bump release tag
-
-* Tue Sep 29 2020 Lokesh Mandvekar <lsm5(a)fedoraproject.org> - 1.1.4-5.dev.giteecccdb
-- bump release tag
-
-* Tue Aug 04 08:10:13 GMT 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.4-4.dev.giteecccdb
-- autobuilt eecccdb
-
-* Tue Jul 28 06:09:58 GMT 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.4-3.dev.git6d002ad
-- autobuilt 6d002ad
-
-* Mon Jul 13 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.4-2.dev.git4c6befe
-- bump to 1.1.4
-- autobuilt 4c6befe
-
-* Thu Jul 09 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.3-2.dev.git23ce219
-- bump to 1.1.3
-- autobuilt 23ce219
-
-* Tue Jul 07 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.2-3.dev.git8bf8338
-- autobuilt 8bf8338
-
-* Mon Jul 06 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.2-2.dev.git4a30e56
-- bump to 1.1.2
-- autobuilt 4a30e56
-
-* Fri Jul 03 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.1-6.dev.gitdd4af4f
-- autobuilt dd4af4f
-
-* Sun Jun 14 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.1-5.dev.git99e1516
-- autobuilt 99e1516
-
-* Fri Jun 12 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.1-4.dev.gita32a0d0
-- autobuilt a32a0d0
-
-* Mon Jun 08 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.1-3.dev.gitfcda5d9
-- autobuilt fcda5d9
-
-* Fri Jun 05 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.1-2.dev.git483e855
-- bump to 1.1.1
-- autobuilt 483e855
-
-* Thu Jun 04 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.0-5.dev.git94bd97d
-- autobuilt 94bd97d
-
-* Wed May 27 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.0-4.dev.gitc2c87b9
-- autobuilt c2c87b9
-
-* Tue May 19 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.0-3.dev.git56941dd
-- autobuilt 56941dd
-
-* Sat May 16 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.1.0-2.dev.git3caa737
-- bump to 1.1.0
-- autobuilt 3caa737
-
-* Tue May 05 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.0.1-3.dev.gitce56e0c
-- autobuilt ce56e0c
-
-* Fri Apr 24 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.0.1-2.dev.git4367de7
-- bump to 1.0.1
-- autobuilt 4367de7
-
-* Tue Mar 31 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.0.0-9.0.dev.gitc48f4d7
-- autobuilt c48f4d7
-
-* Tue Mar 31 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.0.0-8.0.dev.gitbdcd9a7
-- autobuilt bdcd9a7
-
-* Mon Mar 30 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.0.0-7.0.dev.gitc0fef8d
-- autobuilt c0fef8d
-
-* Mon Mar 30 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.0.0-6.0.dev.gitcac9a34
-- autobuilt cac9a34
-
-* Wed Mar 25 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.0.0-5.0.dev.git4353fab
-- autobuilt 4353fab
-
-* Wed Mar 25 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.0.0-4.0.dev.gitb797921
-- autobuilt b797921
-
-* Tue Mar 24 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.0.0-3.0.dev.git38334c4
-- autobuilt 38334c4
-
-* Thu Mar 19 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.0.0-2.0.dev.git735fcd7
-- bump to 1.0.0
-- autobuilt 735fcd7
-
-* Wed Mar 18 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 0.4.3-8.0.dev.git7560ba4
-- autobuilt 7560ba4
-
-* Tue Mar 17 2020 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 0.4.3-7.0.dev.git7ba0c6f
-- autobuilt 7ba0c6f
-
-* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.4.3-6.0.dev.gita8414d1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Wed Dec 18 2019 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 0.4.3-5.0.dev.gita8414d1
-- autobuilt a8414d1
-
-* Wed Dec 18 2019 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 0.4.3-4.0.dev.gite6b31fe
-- autobuilt e6b31fe
-
-* Fri Dec 13 2019 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 0.4.3-3.0.dev.gitdad442a
-- autobuilt dad442a
-
-* Thu Dec 12 2019 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 0.4.3-2.0.dev.gite14da48
-- bump to 0.4.3
-- autobuilt e14da48
-
-* Wed Dec 11 2019 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 0.4.2-6.0.dev.git1fea75f
-- autobuilt 1fea75f
-
-* Thu Nov 21 2019 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 0.4.2-5.0.dev.git21fdece
-- autobuilt 21fdece
-
-* Mon Nov 04 2019 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 0.4.2-4.0.dev.git0186bac
-- autobuilt 0186bac
-
-* Thu Oct 31 2019 Jindrich Novy <jnovy(a)redhat.com> - 0.4.2-3.0.dev.git3527c98
-- add BR: libseccomp-devel
-
-* Fri Oct 18 2019 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 0.4.2-2.0.dev.git3527c98
-- bump to 0.4.2
-- autobuilt 3527c98
-
-* Wed Oct 02 2019 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 0.4.1-3.0.dev.gite8759b9
-- autobuilt e8759b9
-
-* Fri Aug 30 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.1-2.0.dev.gitf9503fe
-- bump to 0.4.1
-- autobuilt f9503fe
-
-* Fri Aug 30 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-25.1.dev.gitd2e449b
-- autobuilt d2e449b
-
-* Thu Aug 29 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-24.1.dev.git1a96e26
-- autobuilt 1a96e26
-
-* Sun Aug 25 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-23.1.dev.git29db6bd
-- autobuilt 29db6bd
-
-* Fri Aug 23 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-22.1.dev.git4e51172
-- autobuilt 4e51172
-
-* Wed Aug 21 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-21.1.dev.git56c8370
-- autobuilt 56c8370
-
-* Sun Aug 04 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-20.1.dev.gitbbd6f25
-- autobuilt bbd6f25
-
-* Thu Aug 01 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-19.1.dev.gited51817
-- autobuilt ed51817
-
-* Tue Jul 30 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-18.1.dev.gitaacef69
-- autobuilt aacef69
-
-* Tue Jul 30 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-17.1.dev.git1dfc6f6
-- autobuilt 1dfc6f6
-
-* Sun Jul 28 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-16.1.dev.git96ff33c
-- autobuilt 96ff33c
-
-* Sat Jul 27 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-15.1.dev.gitb911c9a
-- autobuilt b911c9a
-
-* Sat Jul 27 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-14.1.dev.gitd23723e
-- autobuilt d23723e
-
-* Fri Jul 26 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-13.1.dev.git10c0ee5
-- autobuilt 10c0ee5
-
-* Thu Jul 25 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-12.1.dev.git87a4bf7
-- autobuilt 87a4bf7
-
-* Wed Jul 24 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-11.1.dev.git85efff0
-- autobuilt 85efff0
-
-* Wed Jul 24 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-10.1.dev.git4f5a083
-- autobuilt 4f5a083
-
-* Tue Jul 23 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.4.0-9.1.dev.git62cbdd3
-- bump to 0.4.0
-- autobuilt 62cbdd3
-
-* Tue Jul 23 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.3.0-8.1.dev.gitbf199bb
-- autobuilt bf199bb
-
-* Thu Jul 18 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.3.0-7.1.dev.git2f857ec
-- autobuilt 5c690f7
-- autobuilt 2f857ec
-
-* Thu Jul 18 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.3.0-6.1.dev.gitd34e916
-- autobuilt 5c690f7
-- autobuilt d34e916
-
-* Thu Jul 18 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.3.0-5.1.dev.git6612517
-- autobuilt 5c690f7
-- autobuilt 6612517
-
-* Thu Jul 18 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.3.0-4.1.dev.gitf34ad90
-- autobuilt 5c690f7
-- autobuilt f34ad90
-
-* Sun Jul 14 2019 Lokesh Mandvekar (Bot) <lsm5+bot(a)fedoraproject.org> - 0.3.0-3.1.dev.git5c690f7
-- autobuilt 5c690f7
-
-* Wed Jul 10 2019 Lokesh Mandvekar <lsm5(a)fedoraproject.org> - 0.3.0-2.1.dev.git4889f52
-- built 4889f52
-- hook up to autobuild
-
-* Wed May 15 2019 Dan Walsh <dwalsh(a)fedoraproject.org> - v0.3.0-2
-- Update to released version
-
-* Wed Feb 27 2019 Lokesh Mandvekar <lsm5(a)fedoraproject.org> - 0.3.0-1.alpha.2
-- make version tag consistent with upstream
-
-* Sun Feb 17 2019 Dan Walsh <dwalsh(a)fedoraproject.org> - v0.3.0-alpha.2
-- Latest release
-
-* Sat Feb 02 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.1-3.dev.git0037042
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Mon Aug 20 2018 Lokesh Mandvekar <lsm5(a)fedoraproject.org> - 0.1-2.dev.git0037042
-- built 0037042
-
-* Fri Jul 27 2018 Lokesh Mandvekar <lsm5(a)fedoraproject.org> - 0.1-1.dev.gitc4e1bc5
-- Resolves: #1609595 - initial upload
-- First package for Fedora
+%autochangelog
diff --git a/sources b/sources
index b6b58dd..1cd7bed 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (v1.2.0-beta.0.tar.gz) = 8ec60cad4ff21bd9295058e848d7da1ff8dff94a08719c90eb2154ca82627317886ac8b63be743d57c52a29550734477f09b92bd3a655f279d0fa750dca57ed9
+SHA512 (v1.2.0.tar.gz) = 4ede7323aab92d0ad0026bc5e1aefc07898a5b50c4ff57c13eb9d8e75d73a4bb5ac992f021404053fcba2b05c56dcafcbfefbc4bbc47f72a0797ab62bd76a60a
commit cd7211f7a85c1a9b204876201f737754d4c4444f
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Sat Jan 22 01:07:51 2022 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/slirp4netns.spec b/slirp4netns.spec
index f0e3259..92fe4d5 100644
--- a/slirp4netns.spec
+++ b/slirp4netns.spec
@@ -5,7 +5,7 @@
Name: slirp4netns
Version: 1.2.0
-Release: 0.1.beta.0%{?dist}
+Release: 0.2.beta.0%{?dist}
# no go-md2man in ppc64
ExcludeArch: ppc64
Summary: slirp for network namespaces
@@ -60,6 +60,9 @@ make DESTDIR=%{buildroot} install install-man
%{_mandir}/man1/%{name}.1.gz
%changelog
+* Sat Jan 22 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.0-0.2.beta.0
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
* Thu Jan 06 2022 RH Container Bot <rhcontainerbot(a)fedoraproject.org> - 1.2.0-0.1.beta.0
- autobuilt v1.2.0-beta.0
1 year, 10 months
Architecture specific change in rpms/skopeo.git
by githook-noreply@fedoraproject.org
The package rpms/skopeo.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/skopeo.git/commit/?id=e37c250df02....
Change:
+ExclusiveArch: %{go_arches}
Thanks.
Full change:
============
commit e37c250df02d69d73fa60994a0e5756dcde9c5e6
Author: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
Date: Thu May 26 13:41:21 2022 -0400
build deb packages using debbuild
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
(cherry picked from commit 9845ad0ca66bee29a27d11824e3ac87f77d0abac)
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
diff --git a/skopeo.spec b/skopeo.spec
index 056ee84..3ead967 100644
--- a/skopeo.spec
+++ b/skopeo.spec
@@ -1,5 +1,9 @@
%global with_bundled 1
+%if "%{_vendor}" == "debbuild"
+%define gobuild(o:) GO111MODULE=off go build -buildmode pie -tags=" ${BUILDTAGS:-}" -a -v -x %{?**};
+%endif
+
%if 0%{?fedora}
%global with_debug 1
%else
@@ -28,22 +32,37 @@
%global git0 https://%{import_path}
%global built_tag v1.8.0
-%global built_tag_strip %(b=%{built_tag}; echo ${b:1})
-%global gen_version %(b=%{built_tag_strip}; echo ${b/-/"~"})
Name: %{repo}
Epoch: %{conditional_epoch}
-Version: %{gen_version}
+Version: 1.8.0
+%if "%{_vendor}" == "debbuild"
+Maintainer: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
+License: ASL-2.0+
+Release: 0%{?dist}
+%else
+License: ASL 2.0 and BSD and ISC and MIT
Release: %autorelease
+%endif
Summary: Inspect container images and repositories on registries
-License: ASL 2.0 and BSD and ISC and MIT
URL: %{git0}
-ExclusiveArch: %{go_arches}
Source0: %{git0}/archive/%{built_tag}.tar.gz
+BuildRequires: go-md2man
+%if "%{_vendor}" == "debbuild"
+BuildRequires: git
+BuildRequires: golang
+BuildRequires: libassuan-dev
+BuildRequires: libbtrfs-dev
+BuildRequires: libglib2.0-dev
+BuildRequires: libgpgme-dev
+BuildRequires: pkg-config
+BuildRequires: libdevmapper-dev
+Requires: containers-common >= 4:1
+%else
+ExclusiveArch: %{go_arches}
BuildRequires: btrfs-progs-devel
BuildRequires: git-core
BuildRequires: golang >= 1.16.6
-BuildRequires: go-md2man
BuildRequires: go-rpm-macros
BuildRequires: gpgme-devel
BuildRequires: libassuan-devel
@@ -70,6 +89,7 @@ Provides: bundled(golang(github.com/spf13/cobra)) = v1.3.0
Provides: bundled(golang(github.com/spf13/pflag)) = v1.0.5
Provides: bundled(golang(github.com/stretchr/testify)) = v1.7.0
Provides: bundled(golang(github.com/syndtr/gocapability)) = v0.0.0_20200815063812_42c35b437635
+%endif
%description
Command line utility to inspect images and repositories directly on Docker
@@ -94,14 +114,13 @@ Requires: squashfs-tools
This package contains system tests for %{name}
%prep
-%autosetup -Sgit -n %{name}-%{built_tag_strip}
+%autosetup -Sgit
sed -i 's/install-binary: bin\/%{name}/install-binary:/' Makefile
sed -i 's/install-docs: docs/install-docs:/' Makefile
%build
+%if "%{_vendor}" != "debbuild"
%set_build_flags
-export GOPATH=$(pwd)/_build:$(pwd)
-export CGO_CFLAGS=$CFLAGS
# These extra flags present in $CFLAGS have been skipped for now as they break the build
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-flto=auto//g')
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-Wp,D_GLIBCXX_ASSERTIONS//g')
@@ -110,15 +129,19 @@ CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-an
%ifarch x86_64
export CGO_CFLAGS="$CGO_CFLAGS -m64 -mtune=generic -fcf-protection=full"
%endif
+%endif
+
+export GOPATH=$(pwd)/_build:$(pwd)
+export CGO_CFLAGS=$CFLAGS
# unset LDFLAGS earlier set from set_build_flags
LDFLAGS=''
mkdir _build
-pushd _build
+cd _build
mkdir -p src/%{provider}.%{provider_tld}/%{project}
-ln -s $(dirs +1 -l) src/%{import_path}
-popd
+ln -s ../../../../ src/%{import_path}
+cd ..
mv vendor src
@@ -151,4 +174,6 @@ cp -pav systemtest/* %{buildroot}/%{_datadir}/%{name}/test/system/
%{_datadir}/%{name}/test
%changelog
+%if "%{_vendor}" != "debbuild"
%autochangelog
+%endif
commit f3eb8afe2c662dfb772fd8c25a3dc7296d28a145
Author: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
Date: Mon May 9 10:44:23 2022 -0400
try autochangelog
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
(cherry picked from commit 29829e37730f1fd62b72cbf688586de82e210e3e)
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
diff --git a/skopeo.spec b/skopeo.spec
index 6be5def..056ee84 100644
--- a/skopeo.spec
+++ b/skopeo.spec
@@ -151,7 +151,4 @@ cp -pav systemtest/* %{buildroot}/%{_datadir}/%{name}/test/system/
%{_datadir}/%{name}/test
%changelog
-#%%autochangelog
-* Thu Mar 24 2022 Lokesh Mandvekar <lsm5(a)fedoraproject.org> - 1:1.7.0
-- bump to v1.7.0
-- autospec misbehaves if the git logs ever used an unescaped rpm macro
+%autochangelog
commit 374157e784355731ef4993f44aec67c2da362da7
Author: RH Container Bot <rhcontainerbot(a)fedoraproject.org>
Date: Mon May 9 13:08:51 2022 +0000
auto bump to v1.8.0
(cherry picked from commit ae218a8769176956fe74a610e2f759838670e3b1)
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
diff --git a/.gitignore b/.gitignore
index 5371d55..05ecfee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -299,3 +299,4 @@
/v1.6.0.tar.gz
/v1.6.1.tar.gz
/v1.7.0.tar.gz
+/v1.8.0.tar.gz
diff --git a/skopeo.spec b/skopeo.spec
index 911a6e4..6be5def 100644
--- a/skopeo.spec
+++ b/skopeo.spec
@@ -27,7 +27,7 @@
%global import_path %{provider}.%{provider_tld}/%{project}/%{repo}
%global git0 https://%{import_path}
-%global built_tag v1.7.0
+%global built_tag v1.8.0
%global built_tag_strip %(b=%{built_tag}; echo ${b:1})
%global gen_version %(b=%{built_tag_strip}; echo ${b/-/"~"})
diff --git a/sources b/sources
index 668b3c5..99a4b80 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (v1.7.0.tar.gz) = 7d17f98e86677150fb2ddba9edae18d8b1ac8f06fba575268e6ba54c60f7b371b5e5a9eab1a4fe19da6c7e85eb79c1eef169ad2a39eff979130ee8d141bd8d6b
+SHA512 (v1.8.0.tar.gz) = 697242244e533b597f481005754301efed8581018cdc297e071fa24347301ddf6111d1f1d3ccc6e87e3e5a9ea606e9c6b40c47bf69d2df6b44336fb260f546de
1 year, 10 months
Architecture specific change in rpms/skopeo.git
by githook-noreply@fedoraproject.org
The package rpms/skopeo.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/skopeo.git/commit/?id=9845ad0ca66....
Change:
+ExclusiveArch: %{go_arches}
Thanks.
Full change:
============
commit 9845ad0ca66bee29a27d11824e3ac87f77d0abac
Author: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
Date: Thu May 26 13:41:21 2022 -0400
build deb packages using debbuild
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
diff --git a/skopeo.spec b/skopeo.spec
index b06b638..7d69e13 100644
--- a/skopeo.spec
+++ b/skopeo.spec
@@ -1,3 +1,7 @@
+%if "%{_vendor}" == "debbuild"
+%define gobuild(o:) GO111MODULE=off go build -buildmode pie -tags=" ${BUILDTAGS:-}" -a -v -x %{?**};
+%endif
+
%global with_debug 1
%if 0%{?with_debug}
@@ -22,22 +26,37 @@
%global git0 https://%{import_path}
%global built_tag v1.8.0
-%global built_tag_strip %(b=%{built_tag}; echo ${b:1})
-%global gen_version %(b=%{built_tag_strip}; echo ${b/-/"~"})
Name: %{repo}
Epoch: %{conditional_epoch}
-Version: %{gen_version}
+Version: 1.8.0
+%if "%{_vendor}" == "debbuild"
+Maintainer: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
+License: ASL-2.0+
+Release: 0%{?dist}
+%else
+License: ASL 2.0 and BSD and ISC and MIT
Release: %autorelease
+%endif
Summary: Inspect container images and repositories on registries
-License: ASL 2.0 and BSD and ISC and MIT
URL: %{git0}
-ExclusiveArch: %{go_arches}
Source0: %{git0}/archive/%{built_tag}.tar.gz
+BuildRequires: go-md2man
+%if "%{_vendor}" == "debbuild"
+BuildRequires: git
+BuildRequires: golang
+BuildRequires: libassuan-dev
+BuildRequires: libbtrfs-dev
+BuildRequires: libglib2.0-dev
+BuildRequires: libgpgme-dev
+BuildRequires: pkg-config
+BuildRequires: libdevmapper-dev
+Requires: containers-common >= 4:1
+%else
+ExclusiveArch: %{go_arches}
BuildRequires: btrfs-progs-devel
BuildRequires: git-core
BuildRequires: golang >= 1.16.6
-BuildRequires: go-md2man
BuildRequires: go-rpm-macros
BuildRequires: gpgme-devel
BuildRequires: libassuan-devel
@@ -64,6 +83,7 @@ Provides: bundled(golang(github.com/spf13/cobra)) = v1.3.0
Provides: bundled(golang(github.com/spf13/pflag)) = v1.0.5
Provides: bundled(golang(github.com/stretchr/testify)) = v1.7.0
Provides: bundled(golang(github.com/syndtr/gocapability)) = v0.0.0_20200815063812_42c35b437635
+%endif
%description
Command line utility to inspect images and repositories directly on Docker
@@ -88,14 +108,13 @@ Requires: squashfs-tools
This package contains system tests for %{name}
%prep
-%autosetup -Sgit -n %{name}-%{built_tag_strip}
+%autosetup -Sgit
sed -i 's/install-binary: bin\/%{name}/install-binary:/' Makefile
sed -i 's/install-docs: docs/install-docs:/' Makefile
%build
+%if "%{_vendor}" != "debbuild"
%set_build_flags
-export GOPATH=$(pwd)/_build:$(pwd)
-export CGO_CFLAGS=$CFLAGS
# These extra flags present in $CFLAGS have been skipped for now as they break the build
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-flto=auto//g')
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-Wp,D_GLIBCXX_ASSERTIONS//g')
@@ -104,15 +123,19 @@ CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-an
%ifarch x86_64
export CGO_CFLAGS="$CGO_CFLAGS -m64 -mtune=generic -fcf-protection=full"
%endif
+%endif
+
+export GOPATH=$(pwd)/_build:$(pwd)
+export CGO_CFLAGS=$CFLAGS
# unset LDFLAGS earlier set from set_build_flags
LDFLAGS=''
mkdir _build
-pushd _build
+cd _build
mkdir -p src/%{provider}.%{provider_tld}/%{project}
-ln -s $(dirs +1 -l) src/%{import_path}
-popd
+ln -s ../../../../ src/%{import_path}
+cd ..
mv vendor src
@@ -145,4 +168,6 @@ cp -pav systemtest/* %{buildroot}/%{_datadir}/%{name}/test/system/
%{_datadir}/%{name}/test
%changelog
+%if "%{_vendor}" != "debbuild"
%autochangelog
+%endif
commit 29829e37730f1fd62b72cbf688586de82e210e3e
Author: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
Date: Mon May 9 10:44:23 2022 -0400
try autochangelog
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
diff --git a/skopeo.spec b/skopeo.spec
index 00b1c61..b06b638 100644
--- a/skopeo.spec
+++ b/skopeo.spec
@@ -145,7 +145,4 @@ cp -pav systemtest/* %{buildroot}/%{_datadir}/%{name}/test/system/
%{_datadir}/%{name}/test
%changelog
-#%%autochangelog
-* Thu Mar 24 2022 Lokesh Mandvekar <lsm5(a)fedoraproject.org> - 1:1.7.0
-- bump to v1.7.0
-- autospec misbehaves if the git logs ever used an unescaped rpm macro
+%autochangelog
commit ae218a8769176956fe74a610e2f759838670e3b1
Author: RH Container Bot <rhcontainerbot(a)fedoraproject.org>
Date: Mon May 9 13:08:51 2022 +0000
auto bump to v1.8.0
diff --git a/.gitignore b/.gitignore
index 1e58128..9fb2d0d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -298,3 +298,4 @@
/v1.6.0.tar.gz
/v1.6.1.tar.gz
/v1.7.0.tar.gz
+/v1.8.0.tar.gz
diff --git a/skopeo.spec b/skopeo.spec
index e553698..00b1c61 100644
--- a/skopeo.spec
+++ b/skopeo.spec
@@ -21,7 +21,7 @@
%global import_path %{provider}.%{provider_tld}/%{project}/%{repo}
%global git0 https://%{import_path}
-%global built_tag v1.7.0
+%global built_tag v1.8.0
%global built_tag_strip %(b=%{built_tag}; echo ${b:1})
%global gen_version %(b=%{built_tag_strip}; echo ${b/-/"~"})
diff --git a/sources b/sources
index 668b3c5..99a4b80 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (v1.7.0.tar.gz) = 7d17f98e86677150fb2ddba9edae18d8b1ac8f06fba575268e6ba54c60f7b371b5e5a9eab1a4fe19da6c7e85eb79c1eef169ad2a39eff979130ee8d141bd8d6b
+SHA512 (v1.8.0.tar.gz) = 697242244e533b597f481005754301efed8581018cdc297e071fa24347301ddf6111d1f1d3ccc6e87e3e5a9ea606e9c6b40c47bf69d2df6b44336fb260f546de
1 year, 10 months
Architecture specific change in rpms/podman.git
by githook-noreply@fedoraproject.org
The package rpms/podman.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/podman.git/commit/?id=b98b56cfd40....
Change:
-ExclusiveArch: %{golang_arches}
Thanks.
Full change:
============
commit b98b56cfd405ced9a3f12360a5436755f0864b0f
Author: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
Date: Wed May 18 15:16:30 2022 -0400
build deb packages using debbuild
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
diff --git a/podman.spec b/podman.spec
index aa27b72..6334d8a 100644
--- a/podman.spec
+++ b/podman.spec
@@ -1,3 +1,7 @@
+%if "%{_vendor}" == "debbuild"
+%define gobuild(o:) GO111MODULE=off go build -buildmode pie -tags=" ${BUILDTAGS:-}" -a -v -x %{?**};
+%endif
+
%global with_debug 1
%if 0%{?with_debug}
@@ -21,7 +25,6 @@
%global import_path_plugins %{provider}.%{provider_tld}/%{project}/%{repo_plugins}
%global git_plugins https://%{import_path_plugins}
%global commit_plugins 18822f9a4fb35d1349eb256f4cd2bfd372474d84
-%global shortcommit_plugins %(c=%{commit_plugins}; echo ${c:0:7})
# gvproxy
%global repo_gvproxy gvisor-tap-vsock
@@ -29,34 +32,53 @@
%global import_path_gvproxy %%{provider}.%{provider_tld}/%{project}/%{repo_gvproxy}
%global git_gvproxy https://%{import_path_gvproxy}
%global commit_gvproxy 4ee84d66bd86668f011733d8873989b5862bcd07
-%global shortcommit_gvproxy %(c=%{commit_gvproxy}; echo ${c:0:7})
%global built_tag v4.1.0
-%global built_tag_strip %(b=%{built_tag}; echo ${b:1})
-%global gen_version %(b=%{built_tag_strip}; echo ${b/-/"~"})
Name: podman
Epoch: 3
-Version: %{gen_version}
+Version: 4.1.0
+%if "%{_vendor}" == "debbuild"
+Maintainer: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
+License: ASL-2.0+
+Release: 0%{?dist}
+%else
+License: ASL 2.0 and BSD and ISC and MIT and MPLv2.0
Release: %autorelease
+ExclusiveArch: %{golang_arches}
+%endif
Summary: Manage Pods, Containers and Container Images
-License: ASL 2.0 and BSD and ISC and MIT and MPLv2.0
URL: https://%{name}.io/
-ExclusiveArch: %{golang_arches}
Source0: %{git0}/archive/%{built_tag}.tar.gz
-Source1: %{git_plugins}/archive/%{commit_plugins}/%{repo_plugins}-%{shortcommit_plugins}.tar.gz
-Source2: %{git_gvproxy}/archive/%{commit_gvproxy}/%{repo_gvproxy}-%{shortcommit_gvproxy}.tar.gz
+Source1: %{git_plugins}/archive/%{commit_plugins}/%{repo_plugins}-%{commit_plugins}.tar.gz
+Source2: %{git_gvproxy}/archive/%{commit_gvproxy}/%{repo_gvproxy}-%{commit_gvproxy}.tar.gz
Provides: %{name}-manpages = %{epoch}:%{version}-%{release}
+BuildRequires: go-md2man
+BuildRequires: golang
+Requires: iptables
+Requires: nftables
+Recommends: catatonit
+%if "%{_vendor}" == "debbuild"
+BuildRequires: git
+BuildRequires: libassuan-dev
+BuildRequires: libglib2.0-dev
+BuildRequires: libgpg-error-dev
+BuildRequires: libgpgme-dev
+BuildRequires: libseccomp-dev
+BuildRequires: libsystemd-dev
+BuildRequires: pkg-config
+Requires: conmon >= 2:2.0.30
+Requires: containers-common >= 4:1
+Requires: uidmap
+%else
%if ! 0%{?centos}
BuildRequires: btrfs-progs-devel
%endif
BuildRequires: gcc
-BuildRequires: golang >= 1.16.6
BuildRequires: glib2-devel
BuildRequires: glibc-devel
BuildRequires: glibc-static
BuildRequires: git-core
-BuildRequires: go-md2man
%if 0%{?fedora} || 0%{?rhel} >= 9
BuildRequires: go-rpm-macros
%endif
@@ -73,11 +95,8 @@ BuildRequires: systemd
BuildRequires: systemd-devel
Requires: conmon >= 2:2.0.30-2
Requires: containers-common >= 4:1-46
-Suggests: containernetworking-plugins >= 0.9.1-1
Requires: netavark >= 1.0.3-1
-Requires: iptables
-Requires: nftables
-Recommends: catatonit
+Suggests: containernetworking-plugins >= 0.9.1-1
Suggests: qemu-user-static
# vendored libraries
# awk '{print "Provides: bundled(golang("$1")) = "$2}' go.mod | sort | uniq | sed -e 's/-/_/g' -e '/bundled(golang())/d' -e '/bundled(golang(go\|module\|replace\|require))/d'
@@ -141,6 +160,7 @@ Provides: bundled(golang(github.com/uber/jaeger_client_go)) = v2.30.0+incompatib
Provides: bundled(golang(github.com/ulikunitz/xz)) = v0.5.10
Provides: bundled(golang(github.com/vbauerster/mpb/v7)) = v7.4.1
Provides: bundled(golang(github.com/vishvananda/netlink)) = v1.1.1_0.20220115184804_dd687eb2f2d4
+%endif
%description
%{name} (Pod Manager) is a fully featured container engine that is a simple
@@ -227,7 +247,7 @@ gvisor-tap-vsock brings a configurable DNS server and
dynamic port forwarding.
%prep
-%autosetup -Sgit -n %{name}-%{built_tag_strip}
+%autosetup -Sgit
sed -i 's;@@PODMAN@@\;$(BINDIR);@@PODMAN@@\;%{_bindir};' Makefile
# untar dnsname
@@ -237,9 +257,8 @@ tar zxf %{SOURCE1}
tar zxf %{SOURCE2}
%build
+%if "%{_vendor}" != "debbuild"
%set_build_flags
-export GO111MODULE=off
-export GOPATH=$(pwd)/_build:$(pwd)
export CGO_CFLAGS=$CFLAGS
# These extra flags present in $CFLAGS have been skipped for now as they break the build
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-flto=auto//g')
@@ -249,12 +268,16 @@ CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-an
%ifarch x86_64
export CGO_CFLAGS+=" -m64 -mtune=generic -fcf-protection=full"
%endif
+%endif
+
+export GO111MODULE=off
+export GOPATH=$(pwd)/_build:$(pwd)
mkdir _build
-pushd _build
+cd _build
mkdir -p src/%{provider}.%{provider_tld}/%{project}
ln -s ../../../../ src/%{import_path}
-popd
+cd ..
ln -s vendor src
# build date. FIXME: Makefile uses '/v2/libpod', that doesn't work here?
@@ -269,30 +292,30 @@ export BUILDTAGS="seccomp exclude_graphdriver_devicemapper $(hack/btrfs_installe
%gobuild -o bin/%{name} %{import_path}/cmd/%{name}
# build %%{name}-remote
-export BUILDTAGS+=" exclude_graphdriver_btrfs btrfs_noversion remote"
+export BUILDTAGS="seccomp exclude_graphdriver_devicemapper exclude_graphdriver_btrfs btrfs_noversion $(hack/selinux_tag.sh) $(hack/systemd_tag.sh) $(hack/libsubid_tag.sh) remote"
%gobuild -o bin/%{name}-remote %{import_path}/cmd/%{name}
-pushd %{repo_plugins}-%{commit_plugins}
+cd %{repo_plugins}-%{commit_plugins}
mkdir _build
-pushd _build
+cd _build
mkdir -p src/%{provider}.%{provider_tld}/%{project}
ln -s ../../../../ src/%{import_path_plugins}
-popd
+cd ..
ln -s vendor src
export GOPATH=$(pwd)/_build:$(pwd)
%gobuild -o bin/dnsname %{import_path_plugins}/plugins/meta/dnsname
-popd
+cd ..
-pushd %{repo_gvproxy}-%{commit_gvproxy}
+cd %{repo_gvproxy}-%{commit_gvproxy}
mkdir _build
-pushd _build
+cd _build
mkdir -p src/%{provider}.%{provider_tld}/%{project}
ln -s ../../../../ src/%{import_path_gvproxy}
-popd
+cd ..
ln -s vendor src
export GOPATH=$(pwd)/_build:$(pwd)
%gobuild -o bin/gvproxy %{import_path_gvproxy}/cmd/gvproxy
-popd
+cd ..
%{__make} docs docker-docs
@@ -313,15 +336,15 @@ PODMAN_VERSION=%{version} %{__make} PREFIX=%{buildroot}%{_prefix} ETCDIR=%{build
mv pkg/hooks/README.md pkg/hooks/README-hooks.md
# install dnsname plugin
-pushd %{repo_plugins}-%{commit_plugins}
+cd %{repo_plugins}-%{commit_plugins}
%{__make} PREFIX=%{_prefix} DESTDIR=%{buildroot} install
-popd
+cd ..
# install gvproxy
-pushd %{repo_gvproxy}-%{commit_gvproxy}
+cd %{repo_gvproxy}-%{commit_gvproxy}
install -dp %{buildroot}%{_libexecdir}/%{name}
install -p -m0755 bin/gvproxy %{buildroot}%{_libexecdir}/%{name}
-popd
+cd ..
# do not include docker and podman-remote man pages in main package
for file in `find %{buildroot}%{_mandir}/man[15] -type f | sed "s,%{buildroot},," | grep -v -e remote -e docker`; do
commit 8d5f758a1d3b695815945f9daa0907c9c2977aa4
Author: Ed Santiago <santiago(a)redhat.com>
Date: Mon May 9 06:26:05 2022 -0600
setup: log results of 'ip addr'
Purpose: try to diagnose gating-test failure which looks like a
bad combination of netavark + cni
Signed-off-by: Ed Santiago <santiago(a)redhat.com>
diff --git a/tests/roles/run_bats_tests/files/run_bats_tests.sh b/tests/roles/run_bats_tests/files/run_bats_tests.sh
index 6456841..249c3ec 100755
--- a/tests/roles/run_bats_tests/files/run_bats_tests.sh
+++ b/tests/roles/run_bats_tests/files/run_bats_tests.sh
@@ -35,6 +35,9 @@ divider='------------------------------------------------------------------'
echo $divider
printenv | sort
echo $divider
+echo "ip addr:"
+ip addr
+echo $divider
testdir=/usr/share/${TEST_PACKAGE}/test/system
1 year, 10 months
Architecture specific change in rpms/oci-seccomp-bpf-hook.git
by githook-noreply@fedoraproject.org
The package rpms/oci-seccomp-bpf-hook.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/oci-seccomp-bpf-hook.git/commit/?....
Change:
+ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
Thanks.
Full change:
============
commit 6d281ff84ee37eb2793f03a84ea5efcd8c538ee9
Author: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
Date: Fri May 27 09:53:47 2022 -0400
build deb packages using debbuild
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
diff --git a/oci-seccomp-bpf-hook.spec b/oci-seccomp-bpf-hook.spec
index d5c055f..dc65f29 100644
--- a/oci-seccomp-bpf-hook.spec
+++ b/oci-seccomp-bpf-hook.spec
@@ -1,3 +1,7 @@
+%if "%{_vendor}" == "debbuild"
+%define gobuild(o:) GO111MODULE=off go build -buildmode pie -tags=" ${BUILDTAGS:-}" -a -v -x %{?**};
+%endif
+
%global with_debug 1
%if 0%{?with_debug}
@@ -13,24 +17,35 @@
%global repo oci-seccomp-bpf-hook
# https://github.com/containers/oci-seccomp-bpf-hook
%global import_path %{provider}.%{provider_tld}/%{project}/%{repo}
-%global git0 https://%{provider}.%{provider_tld}/%{project}/%{repo}
+%global git0 https://%{import_path}
%global built_tag v1.2.5
-%global built_tag_strip %(b=%{built_tag}; echo ${b:1})
-%global gen_version %(b=%{built_tag_strip}; echo ${b/-/"~"})
# use the same arch definitions as present in the bcc package
-ExclusiveArch: x86_64 %%{power64} aarch64 s390x armv7hl
-
-Name: oci-seccomp-bpf-hook
-Version: %{gen_version}
+ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
+
+Name: %{repo}
+Version: 1.2.5
+%if "%{_vendor}" == "debbuild"
+Maintainer: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
+License: ASL-2.0+
+Release: 0%{?dist}
+%else
+License: ASL 2.0 and BSD and ISC and MIT
Release: %autorelease
+%endif
Summary: OCI Hook to generate seccomp json files based on EBF syscalls used by container
-License: ASL 2.0 and BSD and ISC and MIT
URL: %{git0}
-Source0: %{git0}/archive/%{built_tag}.tar.gz
+Source0: %{url}/archive/%{built_tag}.tar.gz
BuildRequires: golang
BuildRequires: go-md2man
+%if "%{_vendor}" == "debbuild"
+BuildRequires: libbpfcc-dev
+BuildRequires: libglib2.0-dev
+BuildRequires: libgpgme-dev
+BuildRequires: libseccomp-dev
+Requires: libbpfcc
+%else
BuildRequires: go-rpm-macros
BuildRequires: glib2-devel
BuildRequires: glibc-devel
@@ -50,10 +65,11 @@ Provides: bundled(golang(github.com/seccomp/containers_golang)) = v0.6.0
Provides: bundled(golang(github.com/seccomp/libseccomp_golang)) = v0.9.1
Provides: bundled(golang(github.com/sirupsen/logrus)) = v1.8.1
Provides: bundled(golang(github.com/stretchr/testify)) = v1.4.0
+%endif
%description
%{summary}
-%{repo} provides a library for applications looking to use
+%{name} provides a library for applications looking to use
the Container Pod concept popularized by Kubernetes.
%package tests
@@ -69,11 +85,12 @@ Requires: podman
This package contains system tests for %{name}
%prep
-%autosetup -Sgit -n %{name}-%{built_tag_strip}
+%autosetup -Sgit
sed -i 's;HOOK_BIN_DIR;%{_libexecdir}/oci/hooks.d;' %{name}.json
sed -i '/$(HOOK_DIR)\/%{name}.json/d' Makefile
%build
+%if "%{_vendor}" == "debbuild"
%set_build_flags
export CGO_CFLAGS=$CFLAGS
# These extra flags present in $CFLAGS have been skipped for now as they break the build
@@ -84,24 +101,25 @@ CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-an
%ifarch x86_64
export CGO_CFLAGS+=" -m64 -mtune=generic -fcf-protection=full"
%endif
+%endif
export GO111MODULE=off
export GOPATH=$(pwd):$(pwd)/_build
mkdir _build
-pushd _build
+cd _build
mkdir -p src/%{provider}.%{provider_tld}/%{project}
ln -s ../../../../ src/%{import_path}
-popd
+cd ..
ln -s vendor src
export GOPATH=$(pwd)/_build:$(pwd)
export LDFLAGS="-X main.version=%{version}"
%gobuild -o bin/%{name} %{import_path}
-pushd docs
+cd docs
go-md2man -in %{name}.md -out %{name}.1
-popd
+cd ..
%install
%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install-nobuild
@@ -143,4 +161,6 @@ export GOPATH=%{buildroot}/%{gopath}:$(pwd)/vendor:%{gopath}
%{_datadir}/%{name}/test
%changelog
+%if "%{_vendor}" != "debbuild"
%autochangelog
+%endif
1 year, 10 months
Architecture specific change in rpms/oci-seccomp-bpf-hook.git
by githook-noreply@fedoraproject.org
The package rpms/oci-seccomp-bpf-hook.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/oci-seccomp-bpf-hook.git/commit/?....
Change:
+ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
Thanks.
Full change:
============
commit 6d281ff84ee37eb2793f03a84ea5efcd8c538ee9
Author: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
Date: Fri May 27 09:53:47 2022 -0400
build deb packages using debbuild
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
diff --git a/oci-seccomp-bpf-hook.spec b/oci-seccomp-bpf-hook.spec
index d5c055f..dc65f29 100644
--- a/oci-seccomp-bpf-hook.spec
+++ b/oci-seccomp-bpf-hook.spec
@@ -1,3 +1,7 @@
+%if "%{_vendor}" == "debbuild"
+%define gobuild(o:) GO111MODULE=off go build -buildmode pie -tags=" ${BUILDTAGS:-}" -a -v -x %{?**};
+%endif
+
%global with_debug 1
%if 0%{?with_debug}
@@ -13,24 +17,35 @@
%global repo oci-seccomp-bpf-hook
# https://github.com/containers/oci-seccomp-bpf-hook
%global import_path %{provider}.%{provider_tld}/%{project}/%{repo}
-%global git0 https://%{provider}.%{provider_tld}/%{project}/%{repo}
+%global git0 https://%{import_path}
%global built_tag v1.2.5
-%global built_tag_strip %(b=%{built_tag}; echo ${b:1})
-%global gen_version %(b=%{built_tag_strip}; echo ${b/-/"~"})
# use the same arch definitions as present in the bcc package
-ExclusiveArch: x86_64 %%{power64} aarch64 s390x armv7hl
-
-Name: oci-seccomp-bpf-hook
-Version: %{gen_version}
+ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
+
+Name: %{repo}
+Version: 1.2.5
+%if "%{_vendor}" == "debbuild"
+Maintainer: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
+License: ASL-2.0+
+Release: 0%{?dist}
+%else
+License: ASL 2.0 and BSD and ISC and MIT
Release: %autorelease
+%endif
Summary: OCI Hook to generate seccomp json files based on EBF syscalls used by container
-License: ASL 2.0 and BSD and ISC and MIT
URL: %{git0}
-Source0: %{git0}/archive/%{built_tag}.tar.gz
+Source0: %{url}/archive/%{built_tag}.tar.gz
BuildRequires: golang
BuildRequires: go-md2man
+%if "%{_vendor}" == "debbuild"
+BuildRequires: libbpfcc-dev
+BuildRequires: libglib2.0-dev
+BuildRequires: libgpgme-dev
+BuildRequires: libseccomp-dev
+Requires: libbpfcc
+%else
BuildRequires: go-rpm-macros
BuildRequires: glib2-devel
BuildRequires: glibc-devel
@@ -50,10 +65,11 @@ Provides: bundled(golang(github.com/seccomp/containers_golang)) = v0.6.0
Provides: bundled(golang(github.com/seccomp/libseccomp_golang)) = v0.9.1
Provides: bundled(golang(github.com/sirupsen/logrus)) = v1.8.1
Provides: bundled(golang(github.com/stretchr/testify)) = v1.4.0
+%endif
%description
%{summary}
-%{repo} provides a library for applications looking to use
+%{name} provides a library for applications looking to use
the Container Pod concept popularized by Kubernetes.
%package tests
@@ -69,11 +85,12 @@ Requires: podman
This package contains system tests for %{name}
%prep
-%autosetup -Sgit -n %{name}-%{built_tag_strip}
+%autosetup -Sgit
sed -i 's;HOOK_BIN_DIR;%{_libexecdir}/oci/hooks.d;' %{name}.json
sed -i '/$(HOOK_DIR)\/%{name}.json/d' Makefile
%build
+%if "%{_vendor}" == "debbuild"
%set_build_flags
export CGO_CFLAGS=$CFLAGS
# These extra flags present in $CFLAGS have been skipped for now as they break the build
@@ -84,24 +101,25 @@ CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-an
%ifarch x86_64
export CGO_CFLAGS+=" -m64 -mtune=generic -fcf-protection=full"
%endif
+%endif
export GO111MODULE=off
export GOPATH=$(pwd):$(pwd)/_build
mkdir _build
-pushd _build
+cd _build
mkdir -p src/%{provider}.%{provider_tld}/%{project}
ln -s ../../../../ src/%{import_path}
-popd
+cd ..
ln -s vendor src
export GOPATH=$(pwd)/_build:$(pwd)
export LDFLAGS="-X main.version=%{version}"
%gobuild -o bin/%{name} %{import_path}
-pushd docs
+cd docs
go-md2man -in %{name}.md -out %{name}.1
-popd
+cd ..
%install
%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install-nobuild
@@ -143,4 +161,6 @@ export GOPATH=%{buildroot}/%{gopath}:$(pwd)/vendor:%{gopath}
%{_datadir}/%{name}/test
%changelog
+%if "%{_vendor}" != "debbuild"
%autochangelog
+%endif
1 year, 10 months
Architecture specific change in rpms/netavark.git
by githook-noreply@fedoraproject.org
The package rpms/netavark.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/netavark.git/commit/?id=e1630011d....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit e1630011d1e077ae61925f685baa4c0c5c63b4fd
Author: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
Date: Wed May 18 10:45:14 2022 -0400
build deb packages using debbuild
Signed-off-by: Lokesh Mandvekar <lsm5(a)fedoraproject.org>
diff --git a/netavark.spec b/netavark.spec
index 03747aa..8035af2 100644
--- a/netavark.spec
+++ b/netavark.spec
@@ -5,25 +5,32 @@
%global debug_package %{nil}
%global built_tag v1.0.3
-%global built_tag_strip %(b=%{built_tag}; echo ${b:1})
-%global gen_version %(b=%{built_tag_strip}; echo ${b/-/"~"})
Name: netavark
-Version: %{gen_version}
+Version: 1.0.3
+%if "%{_vendor}" == "debbuild"
+Packager: Lokesh Mandvekar <https://github.com/lsm5>
+License: ASL-2.0+
+Release: 0%{?dist}
+%else
Release: %autorelease
-Summary: OCI network stack
-ExclusiveArch: %{rust_arches}
License: ASL 2.0 and BSD and MIT
+ExclusiveArch: %{rust_arches}
+%endif
+Summary: OCI network stack
URL: https://github.com/containers/%{name}
Source0: %{url}/archive/%{built_tag}/%{version}.tar.gz
Source1: %{url}/releases/download/%{built_tag}/%{name}-%{built_tag}-vendor.tar.gz
BuildRequires: cargo
+BuildRequires: go-md2man
+Recommends: aardvark-dns >= 1.0.3
+Provides: container-network-stack = 2
+%if "%{_vendor}" == "debbuild"
+BuildRequires: git
+%else
BuildRequires: make
BuildRequires: rust-srpm-macros
BuildRequires: git-core
-BuildRequires: go-md2man
-Recommends: aardvark-dns >= 1.0.3-1
-Provides: container-network-stack = 2
# Generated using:
# cargo tree --prefix none | awk '{print "Provides: bundled(crate("$1")) = "$2}' | sort | uniq
Provides: bundled(crate(aho-corasick)) = v0.7.18
@@ -167,6 +174,7 @@ Provides: bundled(crate(zbus_macros)) = v2.2.0
Provides: bundled(crate(zbus_names)) = v2.1.0
Provides: bundled(crate(zvariant)) = v3.2.0
Provides: bundled(crate(zvariant_derive)) = v3.2.0
+%endif
%description
%{summary}
@@ -189,7 +197,7 @@ Its features include:
* Support for container DNS resolution via aardvark-dns.
%prep
-%autosetup -Sgit -n %{name}-%{built_tag_strip}
+%autosetup -Sgit
tar fx %{SOURCE1}
mkdir -p .cargo
@@ -204,9 +212,8 @@ EOF
%build
%{__make} build
-pushd docs
+cd docs
go-md2man -in %{name}.1.md -out %{name}.1
-popd
%install
%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install
@@ -218,4 +225,6 @@ popd
%{_mandir}/man1/%{name}.1*
%changelog
+%if "%{_vendor}" != "debbuild"
%autochangelog
+%endif
1 year, 10 months