[Report] Packages Restricting Arches
by root
List of packages currently excluding arches (2573)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- LuxRender
ExclusiveArch: x86_64
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aboot
ExclusiveArch: alpha
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64
- anet
ExclusiveArch: %{GPRbuild_arches}
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: x86_64 %{ix86} %{arm}
- arduino
ExclusiveArch: %{go_arches}
- arduino-builder
ExclusiveArch: %{go_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- atomic
ExclusiveArch: %{go_arches}
- aunit
ExclusiveArch: %GPRbuild_arches
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- banshee
ExclusiveArch: %{mono_arches}
- banshee-community-extensions
ExclusiveArch: %ix86 x86_64 ppc ppc64 ia64 %{arm} sparcv9 alpha s390x
- bareftp
ExclusiveArch: %{mono_arches}
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64}
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- beignet
ExclusiveArch: x86_64 %{ix86}
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- boo
ExclusiveArch: %{mono_arches}
- bpftrace
ExclusiveArch: x86_64 %{power64}
- buildah
ExclusiveArch: x86_64 %{arm} aarch64 ppc64le s390x
- bwa
ExclusiveArch: x86_64
- caddy
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}}
- cadvisor
ExclusiveArch: %{ix86} x86_64 aarch64 ppc64le
- calamares
ExclusiveArch: %{ix86} x86_64
- carto
ExclusiveArch: %{nodejs_arches} noarch
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- chromium
ExclusiveArch: x86_64 i686
ExclusiveArch: x86_64 i686 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- compat-gcc-296
ExclusiveArch: %{ix86} ia64 ppc
- compat-rust-serde_derive
ExclusiveArch: %{rust_arches}
- consul
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- containerd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}}
- containers
ExclusiveArch: %{ldc_arches}
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- 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 %{ix86} aarch64 ppc64 ppc64le
- cryptobone
ExclusiveArch: x86_64 %{ix86} ppc64 ppc64le aarch64
- daq
ExclusiveArch: x86_64 aarch64
- darktable
ExclusiveArch: x86_64 aarch64 ppc64le
- 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-dbus-generator
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-gir-generator
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- derelict
ExclusiveArch: %{ldc_arches}
- direnv
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- discord-irc
ExclusiveArch: %{nodejs_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: %ix86 x86_64 aarch64
- docco
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- docker
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- docker-anaconda-addon
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- docker-latest
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- dolphin-emu
ExclusiveArch: x86_64 armv7l aarch64
- douceur
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dssi-vst
ExclusiveArch: %{ix86} x86_64
- dsymbol
ExclusiveArch: %{ldc_arches}
- dustmite
ExclusiveArch: %{ldc_arches}
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le
- e3
ExclusiveArch: %{ix86} x86_64
- edac-utils
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64}
- edb
ExclusiveArch: %{ix86} x86_64
- edk2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elasticdump
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- embree
ExclusiveArch: x86_64
- embree2
ExclusiveArch: x86_64
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- exciting
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{power64}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- exercism
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- expresso
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- extlinux-bootloader
ExclusiveArch: %{arm} aarch64
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- fedora-gnat-project-common
ExclusiveArch: noarch %{GNAT_arches}
- fedora-toolbox
ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
- fence-virt
ExclusiveArch: i686 x86_64
- fes
ExclusiveArch: x86_64
- flannel
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluxcapacitor
ExclusiveArch: %{ix86} x86_64 %{arm}
- fpc
ExclusiveArch: %{arm} %{ix86} x86_64 ppc ppc64
- freshmaker
ExclusiveArch: %{ix86} x86_64
- frysk
ExclusiveArch: %{ix86} x86_64 ppc64
- fst
ExclusiveArch: i686
- fwts
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x %{power64}
- fwupdate
ExclusiveArch: %{efi}
- ga
ExclusiveArch: %{ix86} x86_64
- gbrainy
ExclusiveArch: %mono_arches
- gdata-sharp
ExclusiveArch: %mono_arches
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gela-asis
ExclusiveArch: %GPRbuild_arches
- geoipupdate
ExclusiveArch: %{go_arches}
- ghdl
ExclusiveArch: %{GNAT_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}}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- gl3n
ExclusiveArch: %{ldc_arches}
- glibc32
ExclusiveArch: x86_64 ppc64 s390x
- glusterd2
ExclusiveArch: %{go_arches}
- gmqcc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- gnatcoll
ExclusiveArch: %GPRbuild_arches
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-guitar
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-i18n
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- godotenv
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- gofed
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- golang
ExclusiveArch: %{golang_arches}
- golang-bitbucket-kardianos-osext
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-deepin-dbus-factory
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-BurntSushi-toml-test
ExclusiveArch: %{go_arches}
- golang-github-Jeffail-gabs
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-PuerkitoBio-goquery
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-PuerkitoBio-purell
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-PuerkitoBio-urlesc
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-RangelReale-osin
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-RangelReale-osincli
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-SeanDolphin-bqschema
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-SermoDigital-jose
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-Shopify-sarama
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-alecthomas-chroma
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-andybalholm-cascadia
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-auth0-go-jwt-middleware
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-bep-gitmap
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-bep-inflect
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-chaseadamsio-goorgeous
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-client9-gospell
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-codegangsta-negroni
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-danwakefield-fnmatch
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-dchest-cssmin
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-dchest-siphash
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-dlclark-regexp2
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-docker-libkv
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-duosecurity-duo_api_golang
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-eknkc-amber
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-endophage-gotuf
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-fatih-structs
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-flynn-go-shlex
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-fortytw2-leaktest
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-fsnotify-fsnotify
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-fsouza-go-dockerclient
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-fullsailor-pkcs7
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-glacjay-goini
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-go-errors-errors
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-go-macaron-inject
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-go-mgo-mgo
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-gobuffalo-envy
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-gocql-gocql
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-golang-image
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-goraft-raft
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-gorilla-css
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-gosexy-gettext
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-hailocab-go-hostpool
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-hashicorp-go-hclog
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-hashicorp-go-plugin
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-hashicorp-go-rootcerts
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-howeyc-fsnotify
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-inconshreveable-go-vhost
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-influxdb-influxdb
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-jdkato-prose
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-jdkato-syllables
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-jefferai-jsonx
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-justinas-alice
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-klauspost-cpuid
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-knieriem-markdown
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-kyokomi-emoji
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-lpabon-godbc
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-markbates-inflect
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mgutz-ansi
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mgutz-logxi
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-michaelklishin-rabbit-hole
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-miekg-mmark
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-milochristiansen-axis2
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-milochristiansen-lua
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mitchellh-go-testing-interface
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mitchellh-goamz
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-montanaflynn-stats
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-muesli-smartcrop
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mvo5-goconfigparser
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-mvo5-uboot-go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-neurosnap-sentences
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-noahdesu-go-ceph
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-ojii-gettext.go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-opencontainers-specs
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-openshift-go-json-rest
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-openshift-go-systemd
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-openshift-openshift-sdn
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-paulrosania-go-charset
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-pquerna-otp
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-prometheus-prometheus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-rackspace-gophercloud
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-rakyll-globalconf
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-rakyll-pb
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-rakyll-statik
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-rasky-go-xdr
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-remeh-sizedwaitgroup
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-ryanuber-go-glob
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-samuel-go-zookeeper
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-seccomp-libseccomp-golang
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-sethgrid-pester
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-shiena-ansicolor
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-shogo82148-go-shuffle
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-shurcooL-sanitized_anchor_name
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-skarademir-naturalsort
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-skynetservices-skydns
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-smartystreets-go-aws-auth
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-spacejam-loghisto
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-spacemonkeygo-openssl
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm} ppc64le s390x}
- golang-github-spaolacci-murmur3
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-spf13-afero
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-spf13-fsync
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-spf13-nitro
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-sstarcher-go-okta
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-stathat-go
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-stevvooe-resumable
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-streadway-amqp
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-stretchr-objx
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-syndtr-gocapability
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-syndtr-goleveldb
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-syndtr-gosnappy
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-tent-http-link-go
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-tonnerre-golang-pretty
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-vaughan0-go-ini
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-vishvananda-netlink
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} aarch64 x86_64 %{arm}}
- golang-github-vishvananda-netns
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-vjeantet-asn1-ber
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-vmware-govcloudair
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-wsxiaoys-terminal
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-xeipuuv-gojsonpointer
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-xeipuuv-gojsonreference
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-xeipuuv-gojsonschema
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-xiang90-probing
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-xrash-smetrics
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-yosssi-ace
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-yosssi-gohtml
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-yvasiyarov-go-metrics
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-yvasiyarov-gorelic
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-yvasiyarov-newrelic_platform_go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-googlecode-gcfg
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-googlecode-go-decimal-inf
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-googlecode-go-exp
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-googlecode-log4go
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-googlecode-sqlite
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-googlecode-uuid
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-gopkg-check
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-gopkg-go-check-check
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-gopkg-go-macaroon-macaroon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-gopkg-retry-v1
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-torproject-pluggable-transports-goptlib
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golint
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- gomtree
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- gotags
ExclusiveArch: %{go_arches}
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha
- gsf-sharp
ExclusiveArch: %mono_arches
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- gudev-sharp
ExclusiveArch: %mono_arches
- hedgewars
ExclusiveArch: %{fpc_arches}
- heketi
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- hsakmt
ExclusiveArch: x86_64 aarch64
- hub
ExclusiveArch: %{go_arches}
- hugo
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64
- icaro
ExclusiveArch: %{ix86} %{arm} x86_64 noarch
- ignition
ExclusiveArch: x86_64 ppc64le aarch64 s390x
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- ikarus
ExclusiveArch: %{ix86}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- insect
ExclusiveArch: %{nodejs_arches} noarch
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-gmmlib
ExclusiveArch: x86_64 i686
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ipw2100-firmware
ExclusiveArch: noarch i386 x86_64
- ipw2200-firmware
ExclusiveArch: noarch i386 x86_64
- ispc
ExclusiveArch: %{arm} %{ix86} x86_64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iwyu
ExclusiveArch: %{ix86} x86_64
- jake
ExclusiveArch: %{nodejs_arches} noarch
- jasmine-node
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- josm
ExclusiveArch: %{ix86} x86_64
- keepass
ExclusiveArch: %{mono_arches}
- kernel
ExclusiveArch: %{all_x86} x86_64 s390x %{arm} aarch64 ppc64le
- kicad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- kompose
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x
- kosmtik
ExclusiveArch: %{nodejs_arches} noarch
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- latrace
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64}
- lazarus
ExclusiveArch: %{fpc_arches}
- ldc
ExclusiveArch: %{ldc_arches}
- libbsr
ExclusiveArch: %{power64}
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdparse
ExclusiveArch: %{ldc_arches}
- libflatarray
ExclusiveArch: %{ix86} x86_64
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libmfx
ExclusiveArch: %{ix86} x86_64
- libocxl
ExclusiveArch: ppc64le
- libpmemobj-cpp
ExclusiveArch: x86_64
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- librtas
ExclusiveArch: %{power64}
- libseccomp
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 mipsel mips64el ppc64 ppc64le s390 s390x
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzfcphbaapi
ExclusiveArch: s390 s390x
- lodash
ExclusiveArch: %{nodejs_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
- maven-eclipse-plugin
ExclusiveArch: %{ix86} x86_64
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mcelog
ExclusiveArch: i686 x86_64
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64
- memtest86+
ExclusiveArch: %{ix86} 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-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- mnemosyne
ExclusiveArch: noarch %{qt5_qtwebengine_arches}
- mocha
ExclusiveArch: %{nodejs_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64
- mongodb
ExclusiveArch: %{upstream_arches}
- 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-debugger
ExclusiveArch: %ix86 x86_64
- 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 %{mips} aarch64 ppc64
- msgpack-d
ExclusiveArch: %{ldc_arches}
- msr-tools
ExclusiveArch: %{ix86} x86_64
- mustache-d
ExclusiveArch: %{ldc_arches}
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- nacl-arm-binutils
ExclusiveArch: x86_64
- nacl-binutils
ExclusiveArch: x86_64
- nacl-gcc
ExclusiveArch: x86_64
- nacl-newlib
ExclusiveArch: x86_64
- nant
ExclusiveArch: %mono_arches
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nim
ExclusiveArch: %{nim_arches}
- node-gyp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs
ExclusiveArch: %{nodejs_arches}
- nodejs-Base64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-abbrev
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-dynamic-import
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn-jsx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-add-stream
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-after
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-agentkeepalive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ain2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-align-text
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-alter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgcyan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bggreen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgmagenta
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgwhite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgyellow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-black
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-blue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bold
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-cyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-dim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-escapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-font
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-gray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-green
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-grey
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-hidden
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-inverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-italic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-magenta
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-red
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-reset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-strikethrough
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-styles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-underline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-white
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-wrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-yellow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansicolors
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansidiff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansistyles
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-field
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-archiver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-archiver-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-archy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-are-we-there-yet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-argparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-argsparser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-exclude
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-union
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-buffer-from-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-differ
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-find
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-find-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-foreach
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-ify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-union
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-uniq
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-unique
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arraybuffer-dot-slice
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arraybuffer-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arrify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ascii-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ascli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-asn1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assert-plus
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assertion-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assume
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ast-traverse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ast-types
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-astral
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-astral-angular-annotate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-astral-pass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-async-arrays
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-limiter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-queue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-some
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asynckit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-atob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-auto-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-autoresolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ava-init
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-aws-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws-sign2
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-code-frame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-messages
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-functions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-generators
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-runtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-babylon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backoff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-balanced-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base-option
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base-plugins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base32-encode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-arraybuffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-base64-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-base64id
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-basic-auth-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-batch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bcrypt
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-bcryptjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-beeper
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-benchmark
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-than-before
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bignumber-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bind-obj-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bindings
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bit-mask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-blob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-block-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bluebird
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-body-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boolbase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-brace-expansion
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-braces
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-breakable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-browser-stdout
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buf-compare
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-crc32
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-shims
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buffer-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buffertools
ExclusiveArch: %{nodejs_arches}
- nodejs-bufferutil
ExclusiveArch: %{nodejs_arches}
- nodejs-builtin-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-builtins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bundle-dependencies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-burrito
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-busboy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-byline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bytes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cache-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caching-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-call-delayed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-matcher
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-me-maybe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-callback-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsites
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camel-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caniuse-db
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-carrier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caseless
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-center-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-as-promised
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-cheerio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-connect-middleware
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-json-schema
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-oauth2orize-grant
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-spies-next
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chainer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chalk
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-change-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-char-spinner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-character-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-chardet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-charenc
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-charm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-check-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-check-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cheerio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-child-process-close
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chmodr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chownr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chroma-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chrono
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ci-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-circular-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cjson
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-class-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clean-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clean-yaml-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clear-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-spinner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cliui
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-stats
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-closure-compiler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cls
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-co-with-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-code-point-at
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-coffee-coverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-collection-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-collections
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-color-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colour
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-columnify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-combined-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commander
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-common-path-prefix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commondir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-commoner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commonmark
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-compare-func
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compare-versions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-inherit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compress-commons
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compressible
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-compression
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-map
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-config-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-livereload
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-browserify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-console-dot-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-group
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-consolemd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-constant-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-constantinople
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-disposition
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-conventional-changelog-angular
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-atom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-core
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-conventional-changelog-ember
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-eslint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-express
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jquery
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jscs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jshint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-preset-loader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-filter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-recommended-bump
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-hex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-jar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookiejar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-copy-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-core-assert
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-util-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-couch-login
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coveralls
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-crc
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-crc32-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cross-spawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cross-spawn-async
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-crypt
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cryptiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csrf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-select
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-what
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csscomb-core
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csslint
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csso
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cssom
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csurf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-generate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-spectrum
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ctype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-currently-unhandled
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cycle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cyclist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-d
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dargs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dashdash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-data-uri-to-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-date-now
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dateformat
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-death
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-debug-fabulous
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debuglog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-decamelize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decamelize-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decimal-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dedent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-eql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deep-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-default-require-extensions
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-default-resolution
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defaults
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defence
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defence-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deferred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-define-properties
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-define-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defined
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-degenerator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-del
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-delayed-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-delegates
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-delete
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dep-graph
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-depd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deprecated
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-indent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-newline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detective
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dezalgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dicer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflib
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dirty-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-discord-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-docopt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-doctrine
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dom-serializer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-domelementtype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-domhandler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-domutils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dot-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dot-prop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dotfile-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dreamopt
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dryice
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dtree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplexer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplexer2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-duplexify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duration
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-each
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-each-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ebnf-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-echomd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-editor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ee-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-emojione
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-empty-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-encodeurl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-end-of-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io-client
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-entities
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-ex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-errorhandler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-abstract
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-to-primitive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es5-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es5-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-iterator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-promisify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-set
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escallmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-html
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-regexp-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escape-string-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escodegen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escope
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower-location-detector
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima-fb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima-harmony-jscs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espurify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esrecurse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse-fb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estree-walker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-etag
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-event-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-eventemitter2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-events-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-everything-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-execa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-exit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-brackets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-tilde
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extend
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extend-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extended-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extsprintf
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-eyes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fake
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fancy-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-far
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fast-levenshtein
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fastfall
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-faucet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-faye-websocket
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fg-lodash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-figures
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-file-entry-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-file-sync-cmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-file-uri-to-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-filelist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-filename-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fileset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fill-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fill-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-finalhandler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-find-cache-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-find-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-findup-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-first-chunk-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flagged-respawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flat-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flot
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-flush-write-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fmix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fn-dot-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fn-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-follow-redirects
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-in
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-for-own
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-foreach
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-foreground-child
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forever-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-form-data
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-formatio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-formidable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forwarded
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fragment-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-freetree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fresh
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-dot-notify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-cached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fs-ext
ExclusiveArch: %{nodejs_arches}
- nodejs-fs-extra
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-temp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-vacuum
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-write-stream-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs2
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-ignore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-npm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ftp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-function-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-function-loop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gauge
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gaze
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gdal
ExclusiveArch: %{nodejs_arches}
- nodejs-generate-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generate-object-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-get-pkg-repo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-port
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-stdin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-uri
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-get-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-getobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-git-dummy-commit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-raw-commits
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-remote-origin-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-semver-tags
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-tails
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gitconfiglocal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-username-repo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob-base
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-expand
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-parent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-global-modules
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-global-prefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globby
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globule
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glogg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gnode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gonzales-pe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-graceful-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-graceful-readlink
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-growl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-angular-templates
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-banner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-cli
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-compare-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-clean
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-concat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-copy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-csslint
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-cssmin
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-htmlmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-internal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-less
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-nodeunit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-requirejs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-uglify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-watch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-git-authors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-init
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-known-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-lib-contrib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-saucelabs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-sed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-simple-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-svgmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-util-args
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-util-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-util-process
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-util-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gulp-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gulp-ng-classify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gulp-util
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gzip-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-handle-thing
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-handlebars
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-har-validator
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-flag
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-symbols
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-unicode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hash_file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hawk
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-heap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hex-to-array-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-highlight-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-historic-readline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hock
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hoek
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-homedir-polyfill
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hook-std
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hooker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hosted-git-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hsluv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-html-minifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-htmlparser2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-deceiver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-errors
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-http-signature
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-https-proxy-agent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-humanize-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-i18n-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i2c
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv-lite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-iferr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ignore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-image-size
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-immutable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-import-local
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imul
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imurmurhash
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-indent-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inflight
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-info-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-inherits
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherits1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ini
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-init-package-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inline-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-install
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-int64-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-intercept-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-interpret
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-invert-kv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ip
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ipaddr-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-irc-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-formatting
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-upd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irregular-plurals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-absolute
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-accessor-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrayish
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-boolean-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-builtin-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-callable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-data-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-date-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-dotfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-equal-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-extendable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-finite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-fullwidth-code-point
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-generator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-lower-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-my-json-valid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-negated-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-number
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-number-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-odd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-path-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-in-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-inside
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-plain-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-primitive
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-registered
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-relative
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-subset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-text-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-typedarray
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-unc-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-upper-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-valid-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-valid-instance
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-windows
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isarray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-isexe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-iso8601
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isodate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-coverage
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-hook
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-report
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-source-maps
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-reports
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jade
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-growl-reporter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-reporters
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jest-mock
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jison
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jison-lex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jju
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joose
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-namespace-depended
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-simplerequest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-base64
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-string-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-js-tokens
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-yaml
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jschardet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jscoverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jshint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-localizer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json-parse-helpfulerror
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stable-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stringify-safe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json3
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer-dot-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonselect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jwt-simple
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keep-alive-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-keygrip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keypress
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-kind-of
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-klaw
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-kuler2gpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-latest-version
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lazy-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lazystream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lcid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lcov-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-leaflet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-formbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-hash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leche
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-left-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-less
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less-plugin-clean-css
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-levn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lex-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-libpq
ExclusiveArch: %{nodejs_arches}
- nodejs-libxmljs
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-line-numbers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-line-reader
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linkify-it
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-load-grunt-tasks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-load-json-file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-locate-character
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-locate-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lockfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-log-driver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-ok
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-symbols
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lolex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-long
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-longest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loophole
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loud-rejection
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lower-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lower-case-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lru-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lru-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ltx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-magic-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-make-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-generator-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makeerror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik
ExclusiveArch: %{nodejs_arches}
- nodejs-mapnik-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik-vector-tile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-markdown
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-markdown-it-testgen
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-matched
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-max-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-maxmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mbtiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-md5
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-hex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-o-matic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mdn-data
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mdurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-media-typer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoizee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-memwatch-next
ExclusiveArch: %{nodejs_arches}
- nodejs-meow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-merge-descriptors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-merge-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-metascript
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-method-override
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-micromatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-millstone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mime-db
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mimeparse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minimalistic-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minimist-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minipass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mkdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mkfiletree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-bin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-modify-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-module-not-found-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-moment
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-moment-timezone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb-core
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-monocle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-morgan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-muffin
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multiline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-multimatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multiparty
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multipipe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-murmur-32
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mustache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mutate-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mute-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mysql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mz
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nan0
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanomatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanoseconds
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ncp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-needle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-negative-zero
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-negotiator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-net-browserify-alt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-netmask
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-next
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-next-tick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ng-classify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-expat
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-node-int64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-static
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-stringprep
ExclusiveArch: %{nodejs_arches}
- nodejs-node-uuid
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nomnom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-noncharacters
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt-usage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-noptify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-normalize-git-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-normalize-package-data
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-normalize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-cache-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-install-checks
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-npm-package-arg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-registry-client
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-npm-run-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-user-validate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npmlog
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nth-check
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-number-is-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-numeral
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth2orize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-assign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-copy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-dot-entries
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-dot-omit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-dot-pick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-observable-to-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-obuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-okay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-finished
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-headers
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-once
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-onetime
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-only-shallow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-opal-runtime
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opener
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-opn
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optionator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opts
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-orchestrator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ordered-read-streams
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-os-homedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-locale
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-tmpdir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-osenv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-output-file-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-own-or
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-own-or-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-finally
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-limit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-locate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pac-proxy-agent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pac-resolver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-package
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-package-json
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-package-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packet-reader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pad-left
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-paperboy
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parallel-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-param-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-github-repo-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parse-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-passwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parsejson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseqs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parserlib
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parseuri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pascal-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pascalcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-http-bearer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2-client-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-array
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-dirname
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-exists
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-extra
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-absolute
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-inside
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-key
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-parse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pathval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pause
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pbkdf2-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pedding
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-connection-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-cursor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-int8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-native
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pgpass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkg-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pkg-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkginfo
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-platform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-plur
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-portscanner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-posix-character-classes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-bytea
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-date
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-interval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-precond
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prelude-ls
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-preserve
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-bytes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-hrtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pretty-time
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prism-media
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-private
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-process-nextick-args
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proclaim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promises-aplus-tests
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prompt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promzard
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-propagate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-propget
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proto-list
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proxy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proxy-addr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-proxyquire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pruddy-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pseudomap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pubcontrol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pump
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pumpify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-q
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-q-io
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-qs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qtdatastream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-queue-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-quick-lru
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qunit-extras
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-qunitjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rainbowsocks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-random-bytes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-random-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-randomatic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-range-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-raw-body
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-re-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-all-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-dir-files
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-installed
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-json-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-package-json
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-pkg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-pkg-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readable-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-readdir-enhanced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdir-scoped-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-realize-package-specifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-recast
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rechoir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-redent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reduce-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regenerator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-regex-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regex-not
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-relateurl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-remove-trailing-separator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repeat-element
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeat-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeating
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-request
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-requestretry
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-cs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-require-directory
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-inject
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-main-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-relative
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-uncached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-yaml
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-requirejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-cwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-pkg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-response-time
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resumer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ret
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-retry
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reusify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-revalidator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rewire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rhea
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-right-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rimraf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rndm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup-plugin-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-commonjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-node-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-pluginutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ronn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-run-parallel-limit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-runforcover
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safe-json-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safecb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-samsam
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sauce-tunnel
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-saucelabs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sax
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-scmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-secure-random
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-seedrandom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-select-hose
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-semver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-send
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sentence-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sentiment
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sequencify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serialize-error
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serve-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serve-static
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-server-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-blocking
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-getter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-set-immediate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-immediate-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-setimmediate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-setprototypeof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sha
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shallow-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-command
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shelljs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-shelljs-nodecli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-format
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-http
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-showdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sigmund
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-signal-exit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-asyncify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-fmt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-single-line-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon-chai
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sinon-restore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slash
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sliced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slide
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-smart-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-snake-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture-set
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snekfetch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snockets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sntp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-socket-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-socks-client
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-socks-proxy-agent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sort-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sorted-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-fixtures
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sparkles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-spawn-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spawn-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-correct
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-exceptions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-license-ids
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-speedometer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sqlite3
ExclusiveArch: %{nodejs_arches}
- nodejs-srs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ssri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-st
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-trace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-utils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-static-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-static-favicon
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-statuses
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-std-mocks
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-combiner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-consume
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-counter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-pair
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-replace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-shift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-spigot
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-streamsearch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-streamsink
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-streamtest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-repeat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-trim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string-width
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string_decoder
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringmap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringscanner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-ansi
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-bom-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-color
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-eof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-indent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-json-comments
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strong-log-transformer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stylus
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-success-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-superagent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-supertest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supervisor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supports-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-suspend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-swap-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-symbol-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-mocha-reporter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-out
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-spec
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar-pack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp-write
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tempfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temporary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-cordovajs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-liferay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-terst
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-test-exclude
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-testdata-w3c-json-form
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-testjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testswarm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testutil
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-extensions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-thenify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thenify-all
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-through2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through2-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thunkify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tildify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tilejson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tilelive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tilelive-mapnik
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tiletype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-diff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-stamp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-timekeeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-timers-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tiny-lr-fork
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tippex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-title-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tlds
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-absolute-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-object-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-regex-range
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-touch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tough-cookie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tracejs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-transformers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-traverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-treeify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tressa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-trim-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim-off-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trivial-deferred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-try-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-try-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tryor
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tsame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tslib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tsscmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tunnel-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tv4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-check
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-type-detect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-name
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-typeahead.js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uc-dot-micro
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uglify-to-browserify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid-number
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uid-safe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ultron
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-umask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unc-path-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore-dot-logger
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unicode-length
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-union-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unique-filename
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-slug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unpipe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unset-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-upper-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-upper-case-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uri-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-urix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-url2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-use
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-user-home
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utfx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-deprecate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-utilities
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utils-merge
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uuid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vali-date
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-validate-npm-package-license
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-validate-npm-package-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vasync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-verror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vhost
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vinyl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vlq
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vow-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vows
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-walkdir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-walker
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ware
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-warning-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-watchit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-watershed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wbuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wcwidth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-websocket-driver
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-when
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-whet-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-which
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-win-spawn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-window-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-winston
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-with
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wolfy87-eventemitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-woothee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wordwrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrap-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wrap-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrappy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-write-file-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write-json-file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write-pkg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ws
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xdg-basedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xml2js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest-ssl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xregexp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-xtend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-y18n
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yallist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yapool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yargs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yargs-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yeast
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zeropad
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zip-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zipfile
ExclusiveArch: %{nodejs_arches}
- nodejs-zlib-browserify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zlibjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodeunit
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: %{ix86} x86_64
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64
- nwchem
ExclusiveArch: x86_64 %{ix86}
- obfs4
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-kvm-hook
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-register-machine
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- oci-umount
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- ocitools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- odcs
ExclusiveArch: %{ix86} x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-netutils
ExclusiveArch: %{ix86} %{arm}
- olpc-powerd
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- onedrive
ExclusiveArch: %{ldc_arches}
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjfx
ExclusiveArch: %{ix86} x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openssl-ibmca
ExclusiveArch: s390 s390x
- origin
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- orion
ExclusiveArch: %{qt5_qtwebengine_arches}
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- oshinko-cli
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- paflib
ExclusiveArch: ppc %{power64}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdfmod
ExclusiveArch: %mono_arches
- peripety
ExclusiveArch: %{rust_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: i686 x86_64 ia64 aarch64
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- pmdk-convert
ExclusiveArch: x86_64
- pocl
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- podman
ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
- 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}
- publican-jboss
ExclusiveArch: i686 x86_64
- pvs-sbcl
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-healpy
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-rpi-gpio
ExclusiveArch: %{arm} aarch64
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- 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}
ExclusiveArch: %{openblas_arches}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- redhat-lsb
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- reg
ExclusiveArch: x86_64
- renderdoc
ExclusiveArch: %{ix86} x86_64
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm}
- rescene
ExclusiveArch: %{mono_arches}
- restsharp
ExclusiveArch: %{mono_arches}
- rhythmbox-alternative-toolbar
ExclusiveArch: %{ix86} %{arm} x86_64 ppc64 ppc64le
- rkt
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- rocm-runtime
ExclusiveArch: x86_64 aarch64
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- runc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le %{mips} s390x
- rust
ExclusiveArch: %{rust_arches}
- rust-abomonation
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-adler32
ExclusiveArch: %{rust_arches}
- rust-aho-corasick
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-ansi_colours
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-antidote
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arrayref
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-atk-sys
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-backtrace-sys
ExclusiveArch: %{rust_arches}
- rust-base100
ExclusiveArch: %{rust_arches}
- rust-base64
ExclusiveArch: %{rust_arches}
- rust-bat
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bincode0.8
ExclusiveArch: %{rust_arches}
- rust-bindgen
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-bitflags0.9
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-brev
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-build_const
ExclusiveArch: %{rust_arches}
- rust-byte-tools
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes
ExclusiveArch: %{rust_arches}
- rust-bytes0.3
ExclusiveArch: %{rust_arches}
- rust-bytesize
ExclusiveArch: %{rust_arches}
- rust-c_vec
ExclusiveArch: %{rust_arches}
- rust-cairo-rs
ExclusiveArch: %{rust_arches}
- rust-cairo-sys-rs
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cc
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-chrono
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-cmake
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
ExclusiveArch: %{rust_arches}
- rust-crc-core
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque0.4
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-cryptovec
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-curl-sys
ExclusiveArch: %{rust_arches}
- rust-custom_derive
ExclusiveArch: %{rust_arches}
- rust-data-encoding
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-delta_e
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-either
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-enum_primitive
ExclusiveArch: %{rust_arches}
- rust-env_logger
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-env_logger0.5
ExclusiveArch: %{rust_arches}
- rust-errln
ExclusiveArch: %{rust_arches}
- rust-errno
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-extprim
ExclusiveArch: %{rust_arches}
- rust-extprim_literals_macros
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake_clock
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-filetime
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-flame
ExclusiveArch: %{rust_arches}
- rust-flate2
ExclusiveArch: %{rust_arches}
- rust-float-cmp
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-fragile
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fuse
ExclusiveArch: %{rust_arches}
- rust-futures
ExclusiveArch: %{rust_arches}
- rust-futures-async-runtime
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-macro-async
ExclusiveArch: %{rust_arches}
- rust-futures-macro-await
ExclusiveArch: %{rust_arches}
- rust-futures-sink
ExclusiveArch: %{rust_arches}
- rust-futures-stable
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures-util
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-gcsf
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-generic-array
ExclusiveArch: %{rust_arches}
- rust-getopts
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-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-glib
ExclusiveArch: %{rust_arches}
- rust-glib-sys
ExclusiveArch: %{rust_arches}
- rust-glob
ExclusiveArch: %{rust_arches}
- rust-globset
ExclusiveArch: %{rust_arches}
- rust-gobject-sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-google-drive3-fork
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-gtk
ExclusiveArch: %{rust_arches}
- rust-gtk-rs-lgpl-docs
ExclusiveArch: %{rust_arches}
- rust-gtk-source-sys
ExclusiveArch: %{rust_arches}
- rust-gtk-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-h2
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-heck
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-horrorshow
ExclusiveArch: %{rust_arches}
- rust-http
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-hyper
ExclusiveArch: %{rust_arches}
- rust-hyper-native-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyper0.10
ExclusiveArch: %{rust_arches}
- rust-id_tree
ExclusiveArch: %{rust_arches}
- rust-idna
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-indexmap
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itoa
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-lab
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lazy-init
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-libc
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys
ExclusiveArch: %{rust_arches}
- rust-libloading
ExclusiveArch: %{rust_arches}
- rust-libm
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libudev
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-lipsum
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru_time_cache
ExclusiveArch: %{rust_arches}
- rust-lzma-sys
ExclusiveArch: %{rust_arches}
- rust-macro-attr
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memoffset
ExclusiveArch: %{rust_arches}
- rust-metadeps
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-mime-sniffer
ExclusiveArch: %{rust_arches}
- rust-mime0.2
ExclusiveArch: %{rust_arches}
- rust-miniz-sys
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
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-mnt
ExclusiveArch: %{rust_arches}
- rust-modifier
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-native-tls
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-net2
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nix
ExclusiveArch: %{rust_arches}
- rust-no-panic
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nom
ExclusiveArch: %{rust_arches}
- rust-nom3
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-complex
ExclusiveArch: %{rust_arches}
- rust-num-integer
ExclusiveArch: %{rust_arches}
- rust-num-iter
ExclusiveArch: %{rust_arches}
- rust-num-rational
ExclusiveArch: %{rust_arches}
- rust-num-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num_cpus
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssl
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-openssl-sys
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-pager
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-parity-wasm
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot_core
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-percent-encoding
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-phf
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_generator
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-pkg-config
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-plist
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-proc-macro2
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.3
ExclusiveArch: %{rust_arches}
- rust-procedural-masquerade
ExclusiveArch: %{rust_arches}
- rust-proptest
ExclusiveArch: %{rust_arches}
- rust-pulldown-cmark
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
ExclusiveArch: %{rust_arches}
- rust-quickersort
ExclusiveArch: %{rust_arches}
- rust-quote
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.5
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_core0.2
ExclusiveArch: %{rust_arches}
- rust-rand_hc
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_os
ExclusiveArch: %{rust_arches}
- rust-rand_pcg
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rayon
ExclusiveArch: %{rust_arches}
- rust-rayon-core
ExclusiveArch: %{rust_arches}
- rust-recycler
ExclusiveArch: %{rust_arches}
- rust-regex
ExclusiveArch: %{rust_arches}
- rust-regex-syntax
ExclusiveArch: %{rust_arches}
- rust-relay
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-rust-ini
ExclusiveArch: %{rust_arches}
- rust-rustc-demangle
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustdoc-stripper
ExclusiveArch: %{rust_arches}
- rust-rustfilt
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-ryu
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-scoped-tls
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-semver
ExclusiveArch: %{rust_arches}
- rust-semver-parser
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.7
ExclusiveArch: %{rust_arches}
- rust-serde
ExclusiveArch: %{rust_arches}
- rust-serde0.8
ExclusiveArch: %{rust_arches}
- rust-serde_bytes
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_derive
ExclusiveArch: %{rust_arches}
- rust-serde_ignored
ExclusiveArch: %{rust_arches}
- rust-serde_json
ExclusiveArch: %{rust_arches}
- rust-serde_json0.8
ExclusiveArch: %{rust_arches}
- rust-serde_test
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_yaml
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal-hook
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-snowflake
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-sourceview
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spmc
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-string
ExclusiveArch: %{rust_arches}
- rust-strings
ExclusiveArch: %{rust_arches}
- rust-strsim
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-structopt-derive
ExclusiveArch: %{rust_arches}
- rust-syn
ExclusiveArch: %{rust_arches}
- rust-syn0.11
ExclusiveArch: %{rust_arches}
- rust-syn0.13
ExclusiveArch: %{rust_arches}
- rust-syn0.14
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-tabwriter
ExclusiveArch: %{rust_arches}
- rust-take
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-tempfile
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term_grid
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termcolor
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-textwrap
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-scoped
ExclusiveArch: %{rust_arches}
- rust-thread_local
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-timerfd
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-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-mockstream
ExclusiveArch: %{rust_arches}
- rust-tokio-process
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-service
ExclusiveArch: %{rust_arches}
- rust-tokio-signal
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-toml
ExclusiveArch: %{rust_arches}
- rust-traitobject
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-typeable
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typenum
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-ucd-util
ExclusiveArch: %{rust_arches}
- rust-unicase
ExclusiveArch: %{rust_arches}
- rust-unicase1
ExclusiveArch: %{rust_arches}
- rust-unicode-bidi
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-unindent
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-url
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
ExclusiveArch: %{rust_arches}
- rust-uuid
ExclusiveArch: %{rust_arches}
- rust-varlink
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-varlink_stdinterfaces
ExclusiveArch: %{rust_arches}
- rust-vec_map
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-void
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-which1
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-yubibomb
ExclusiveArch: %{rust_arches}
- rust-yup-oauth2
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- sagemath
ExclusiveArch: aarch64 %{arm} %{ix86} x86_64 ppc sparcv9
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- seabios
ExclusiveArch: x86_64
- seamonkey
ExclusiveArch: %{ix86} x86_64
- 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
- skychart
ExclusiveArch: %{fpc_arches}
- snapd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- source-to-image
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- spring
ExclusiveArch: %{ix86} x86_64
- springlobby
ExclusiveArch: %{ix86} x86_64
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stdx-allocator
ExclusiveArch: %{ldc_arches}
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- supermin
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tarantool
ExclusiveArch: %{ix86} x86_64 armv7hl armv7hnl aarch64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: %{ix86} x86_64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- termy-qt
ExclusiveArch: %{ix86} x86_64
- ternimal
ExclusiveArch: %{rust_arches}
- 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}
- tmux-top
ExclusiveArch: %{go_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- ugene
ExclusiveArch: %{ix86} x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- uglify-js1
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- v8
ExclusiveArch: %{ix86} x86_64 %{arm} ppc mipsel mips64el
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- valgrind
ExclusiveArch: %{valgrind_arches}
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vdsm
ExclusiveArch: x86_64 %{power64} aarch64
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- virtio-forwarder
ExclusiveArch: x86_64 aarch64 ppc64le %ix86
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- virtualplanet
ExclusiveArch: %{fpc_arches}
- vmaf
ExclusiveArch: x86_64
- 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 %{arm} aarch64
ExclusiveArch: %{ix86} %{arm}
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- wraplinux
ExclusiveArch: %{ix86} x86_64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- x86info
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: %{ix86} x86_64 armv7hl aarch64
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-geode
ExclusiveArch: %{ix86}
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64 ia64
- xorg-x11-drv-omap
ExclusiveArch: %{arm}
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-opentegra
ExclusiveArch: %{arm}
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- ycssmin
ExclusiveArch: %{nodejs_arches} noarch
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
5 years, 3 months
Architecture specific change in rpms/schroot.git
by githook-noreply@fedoraproject.org
The package rpms/schroot.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/schroot.git/commit/?id=71b72a93e0....
Change:
-ExcludeArch: ppc64
Thanks.
Full change:
============
commit 71b72a93e0a72d3251bdc60a3b18734a3b65fbb2
Author: Srgio M. Basto <sergio(a)serjux.com>
Date: Wed Jan 23 02:32:18 2019 +0000
po4a is now available on ppc64 and we can build schroot
diff --git a/schroot.spec b/schroot.spec
index e960e7a..b16c1bb 100644
--- a/schroot.spec
+++ b/schroot.spec
@@ -1,6 +1,6 @@
Name: schroot
Version: 1.6.10
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: Execute commands in a chroot environment
Group: Development/Tools
License: GPLv3+
@@ -44,11 +44,6 @@ BuildRequires: po4a >= 0.40
#BuildRequires: graphviz
#BuildRequires: gtest
-#https://bugzilla.redhat.com/show_bug.cgi?id=1497544#c4
-%if 0%{?rhel}
-ExcludeArch: ppc64
-%endif
-
%description
schroot allows users to execute commands or interactive shells in
different chroots. Any number of named chroots may be created, and
@@ -202,6 +197,9 @@ popd
%{_unitdir}/schroot.service
%changelog
+* Wed Jan 23 2019 Srgio Basto <sergio(a)serjux.com> - 1.6.10-7
+- po4a is now available on ppc64 and we can build schroot
+
* Sat Jul 14 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.10-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
5 years, 3 months
Architecture specific change in rpms/dpkg.git
by githook-noreply@fedoraproject.org
The package rpms/dpkg.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/dpkg.git/commit/?id=67e96add9beee....
Change:
-ExcludeArch: ppc64
Thanks.
Full change:
============
commit 67e96add9beeeae04bdced55b69bc440eaecebfe
Author: Srgio M. Basto <sergio(a)serjux.com>
Date: Wed Jan 23 02:03:10 2019 +0000
po4a is now available on ppc64 and we can build dpkg there
diff --git a/dpkg.spec b/dpkg.spec
index 5683ad8..07313da 100644
--- a/dpkg.spec
+++ b/dpkg.spec
@@ -3,7 +3,7 @@
Name: dpkg
Version: 1.18.25
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: Package maintenance system for Debian Linux
Group: System Environment/Base
# The entire source code is GPLv2+ with exception of the following
@@ -47,10 +47,6 @@ BuildRequires: perl-podlators
Requires(post): coreutils
-#https://bugzilla.redhat.com/show_bug.cgi?id=1497544#c5
-%if 0%{?rhel}
-ExcludeArch: ppc64
-%endif
%description
This package provides the low-level infrastructure for handling the
@@ -473,6 +469,9 @@ create_logfile
%changelog
+* Wed Jan 23 2019 Srgio Basto <sergio(a)serjux.com> - 1.18.25-6
+- po4a is now available on ppc64 and we can build dpkg there
+
* Sun Sep 23 2018 Srgio Basto <sergio(a)serjux.com> - 1.18.25-5
- Revert "Bundle a version of tar to make it compatible in EL7"
- Keep BR: perl(Digest)
5 years, 3 months
Architecture specific change in rpms/singularity.git
by githook-noreply@fedoraproject.org
The package rpms/singularity.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/singularity.git/commit/?id=478ea1....
Change:
+ExcludeArch: ppc64
Thanks.
Full change:
============
commit d313ab7fff93965d66f37f53d9dd8df443419fd9
Author: Dave Dykstra <2129743+DrDaveD(a)users.noreply.github.com>
Date: Tue Jan 22 10:49:37 2019 -0600
no longer needed for 3.0.3
diff --git a/1817.diff b/1817.diff
deleted file mode 100644
index 3f06f4b..0000000
--- a/1817.diff
+++ /dev/null
@@ -1,2319 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index b4c76cd..5785734 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -404,7 +404,6 @@ AC_CONFIG_FILES([
- src/lib/runtime/files/group/Makefile
- src/lib/runtime/files/passwd/Makefile
- src/lib/runtime/files/resolvconf/Makefile
-- src/lib/runtime/files/libs/Makefile
- src/lib/runtime/mounts/Makefile
- src/lib/runtime/mounts/cwd/Makefile
- src/lib/runtime/mounts/dev/Makefile
-@@ -412,9 +411,11 @@ AC_CONFIG_FILES([
- src/lib/runtime/mounts/home/Makefile
- src/lib/runtime/mounts/hostfs/Makefile
- src/lib/runtime/mounts/kernelfs/Makefile
-+ src/lib/runtime/mounts/libs/Makefile
- src/lib/runtime/mounts/tmp/Makefile
- src/lib/runtime/mounts/userbinds/Makefile
- src/lib/runtime/mounts/scratch/Makefile
-+ src/lib/runtime/mounts/domounts/Makefile
- src/lib/runtime/enter/Makefile
- src/lib/runtime/enter/chroot/Makefile
- src/lib/runtime/environment/Makefile
-diff --git a/etc/singularity.conf.in b/etc/singularity.conf.in
-index ecfff37..61a9cbd 100644
---- a/etc/singularity.conf.in
-+++ b/etc/singularity.conf.in
-@@ -137,6 +137,14 @@ bind path = /etc/hosts
- @ENABLE_OVERLAY@ = @ENABLE_OVERLAY_DEFAULT@
-
-
-+# ENABLE UNDERLAY: [yes/no]
-+# DEFAULT: @ENABLE_UNDERLAY_DEFAULT@
-+# Enabling this option will make it possible to specify bind paths to locations
-+# that do not currently exist within the container, similar to the overlay
-+# option. This will only be used if overlay is not enabled.
-+@ENABLE_UNDERLAY@ = @ENABLE_UNDERLAY_DEFAULT@
-+
-+
- # MOUNT SLAVE: [BOOL]
- # DEFAULT: @MOUNT_SLAVE_DEFAULT@
- # Should we automatically propagate file-system changes from the host?
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 9cb40b6..e1eff01 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -15,7 +15,7 @@ EXTRA_PROGRAMS = action-suid mount-suid start-suid
- cleanupd_SOURCES = cleanupd.c util/util.c util/file.c util/message.c util/privilege.c util/config_parser.c util/registry.c
- cleanupd_CPPFLAGS = $(AM_CPPFLAGS)
-
--action_SOURCES = action.c util/util.c util/file.c util/registry.c util/privilege.c util/sessiondir.c util/suid.c util/cleanupd.c util/daemon.c util/mount.c
-+action_SOURCES = action.c util/util.c util/file.c util/registry.c util/privilege.c util/sessiondir.c util/suid.c util/cleanupd.c util/daemon.c util/mount.c util/mountlist.c
- action_LDADD = lib/image/libsingularity-image.la lib/runtime/libsingularity-runtime.la action-lib/libinternal.la
- action_CPPFLAGS = $(AM_CPPFLAGS)
-
-@@ -24,7 +24,7 @@ builddef_LDADD = lib/image/libsingularity-image.la lib/runtime/libsingularity-ru
- builddef_CPPFLAGS = $(AM_CPPFLAGS)
- builddef_LDFLAGS = -static
-
--start_SOURCES = start.c util/util.c util/file.c util/registry.c util/privilege.c util/sessiondir.c util/suid.c util/cleanupd.c util/fork.c util/daemon.c util/signal.c util/mount.c
-+start_SOURCES = start.c util/util.c util/file.c util/registry.c util/privilege.c util/sessiondir.c util/suid.c util/cleanupd.c util/fork.c util/daemon.c util/signal.c util/mount.c util/mountlist.c
- start_LDADD = lib/image/libsingularity-image.la lib/runtime/libsingularity-runtime.la action-lib/libinternal.la
- start_CPPFLAGS = $(AM_CPPFLAGS)
-
-@@ -33,7 +33,7 @@ docker_extract_LDADD = -larchive
- docker_extract_CPPFLAGS = $(AM_CPPFLAGS)
- docker_extract_LDFLAGS = -static
-
--mount_SOURCES = mount.c util/util.c util/file.c util/registry.c util/suid.c util/privilege.c util/mount.c
-+mount_SOURCES = mount.c util/util.c util/file.c util/registry.c util/suid.c util/privilege.c util/mount.c util/mountlist.c
- mount_LDADD = lib/image/libsingularity-image.la lib/runtime/libsingularity-runtime.la
- mount_CPPFLAGS = $(AM_CPPFLAGS)
-
-diff --git a/src/lib/image/Makefile.am b/src/lib/image/Makefile.am
-index 81e7161..44cfb42 100644
---- a/src/lib/image/Makefile.am
-+++ b/src/lib/image/Makefile.am
-@@ -13,7 +13,7 @@ distincludedir = $(includedir)/singularity
- noinst_LTLIBRARIES = libimage.la
- #libimage_la_LIBADD = bind/libinternal.la create/libinternal.la check/libinternal.la expand/libinternal.la mount/libinternal.la offset/libinternal.la open/libinternal.la ext3/libinternal.la dir/libinternal.la squashfs/libinternal.la
- libimage_la_LIBADD = ext3/libinternal.la dir/libinternal.la squashfs/libinternal.la
--libimage_la_SOURCES = image.c bind.c ../../util/registry.c ../../util/message.c ../../util/config_parser.c ../../util/privilege.c ../../util/util.c ../../util/file.c ../../util/suid.c ../../util/mount.c
-+libimage_la_SOURCES = image.c bind.c ../../util/registry.c ../../util/message.c ../../util/config_parser.c ../../util/privilege.c ../../util/util.c ../../util/file.c ../../util/suid.c ../../util/mount.c ../../util/mountlist.c
- libimage_la_CFLAGS = $(AM_CFLAGS) # This fixes duplicate sources in library and progs
-
- distinclude_HEADERS = image.h bind.h
-diff --git a/src/lib/runtime/Makefile.am b/src/lib/runtime/Makefile.am
-index ed83005..d292cca 100644
---- a/src/lib/runtime/Makefile.am
-+++ b/src/lib/runtime/Makefile.am
-@@ -11,7 +11,7 @@ distincludedir = $(includedir)/singularity
-
- noinst_LTLIBRARIES = libinternal.la
- libinternal_la_LIBADD = ns/libinternal.la mounts/libinternal.la files/libinternal.la enter/libinternal.la overlayfs/libinternal.la environment/libinternal.la autofs/libinternal.la
--libinternal_la_SOURCES = runtime.c ../../util/fork.c ../../util/registry.c ../../util/message.c ../../util/config_parser.c ../../util/privilege.c ../../util/util.c ../../util/file.c ../../util/setns.c ../../util/mount.c ../../util/cleanupd.c ../../util/sessiondir.c ../../action-lib/ready.c
-+libinternal_la_SOURCES = runtime.c ../../util/fork.c ../../util/registry.c ../../util/message.c ../../util/config_parser.c ../../util/privilege.c ../../util/util.c ../../util/file.c ../../util/setns.c ../../util/mount.c ../../util/cleanupd.c ../../util/sessiondir.c ../../action-lib/ready.c ../../util/mountlist.c
- libinternal_la_CFLAGS = $(AM_CFLAGS) # This fixes duplicate sources in library and progs
-
- distinclude_HEADERS = runtime.h
-diff --git a/src/lib/runtime/files/Makefile.am b/src/lib/runtime/files/Makefile.am
-index 017c0ee..c2551ce 100644
---- a/src/lib/runtime/files/Makefile.am
-+++ b/src/lib/runtime/files/Makefile.am
-@@ -1,4 +1,4 @@
--SUBDIRS = passwd group resolvconf libs
-+SUBDIRS = passwd group resolvconf
-
- MAINTAINERCLEANFILES = Makefile.in
- DISTCLEANFILES = Makefile
-@@ -11,7 +11,7 @@ AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\
-
- noinst_LTLIBRARIES = libinternal.la
-
--libinternal_la_LIBADD = passwd/libinternal.la group/libinternal.la resolvconf/libinternal.la libs/libinternal.la
-+libinternal_la_LIBADD = passwd/libinternal.la group/libinternal.la resolvconf/libinternal.la
- libinternal_la_SOURCES = files.c file-bind.c
-
- EXTRA_DIST = file-bind.h files.h
-diff --git a/src/lib/runtime/files/files.c b/src/lib/runtime/files/files.c
-index 434d53c..915f81a 100644
---- a/src/lib/runtime/files/files.c
-+++ b/src/lib/runtime/files/files.c
-@@ -36,7 +36,6 @@
- #include "./passwd/passwd.h"
- #include "./group/group.h"
- #include "./resolvconf/resolvconf.h"
--#include "./libs/libs.h"
-
-
- int _singularity_runtime_files(void) {
-@@ -46,7 +45,6 @@ int _singularity_runtime_files(void) {
- retval += _singularity_runtime_files_passwd();
- retval += _singularity_runtime_files_group();
- retval += _singularity_runtime_files_resolvconf();
-- retval += _singularity_runtime_files_libs();
-
- return(retval);
- }
-diff --git a/src/lib/runtime/files/libs/Makefile.am b/src/lib/runtime/files/libs/Makefile.am
-deleted file mode 100644
-index f54f504..0000000
---- a/src/lib/runtime/files/libs/Makefile.am
-+++ /dev/null
-@@ -1,12 +0,0 @@
--MAINTAINERCLEANFILES = Makefile.in
--DISTCLEANFILES = Makefile
--CLEANFILES = core.* *~ *.la
--
--AM_CFLAGS = -Wall -fpie
--AM_LDFLAGS = -pie
--AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DLIBEXECDIR=\"$(libexecdir)\" $(SINGULARITY_DEFINES)
--
--noinst_LTLIBRARIES = libinternal.la
--libinternal_la_SOURCES = libs.c
--
--EXTRA_DIST = libs.h
-diff --git a/src/lib/runtime/files/libs/libs.c b/src/lib/runtime/files/libs/libs.c
-deleted file mode 100644
-index 4ba6f78..0000000
---- a/src/lib/runtime/files/libs/libs.c
-+++ /dev/null
-@@ -1,169 +0,0 @@
--/*
-- * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-- * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-- *
-- * Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
-- *
-- * Copyright (c) 2016-2017, The Regents of the University of California,
-- * through Lawrence Berkeley National Laboratory (subject to receipt of any
-- * required approvals from the U.S. Dept. of Energy). All rights reserved.
-- *
-- * This software is licensed under a customized 3-clause BSD license. Please
-- * consult LICENSE file distributed with the sources of this project regarding
-- * your rights to use or distribute this software.
-- *
-- * NOTICE. This Software was developed under funding from the U.S. Department of
-- * Energy and the U.S. Government consequently retains certain rights. As such,
-- * the U.S. Government has been granted for itself and others acting on its
-- * behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
-- * to reproduce, distribute copies to the public, prepare derivative works, and
-- * perform publicly and display publicly, and to permit other to do so.
-- *
--*/
--
--#ifndef _GNU_SOURCE
--#define _GNU_SOURCE
--#endif
--
--#include <errno.h>
--#include <fcntl.h>
--#include <stdio.h>
--#include <string.h>
--#include <sys/mount.h>
--#include <sys/stat.h>
--#include <unistd.h>
--#include <stdlib.h>
--#include <libgen.h>
--#include <linux/limits.h>
--
--#include "config.h"
--#include "util/file.h"
--#include "util/util.h"
--#include "util/message.h"
--#include "util/privilege.h"
--#include "util/config_parser.h"
--#include "util/registry.h"
--#include "util/mount.h"
--
--#include "../file-bind.h"
--#include "../../runtime.h"
--
--
--int _singularity_runtime_files_libs(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-- char *tmpdir = singularity_registry_get("SESSIONDIR");
-- char *includelibs_string;
-- char *libdir = joinpath(tmpdir, "/libs");
-- char *libdir_contained = joinpath(container_dir, "/.singularity.d/libs");
--
-- if ( ( includelibs_string = singularity_registry_get("CONTAINLIBS") ) != NULL ) {
-- char *tok = NULL;
-- char *current = strtok_r(strdup(includelibs_string), ",", &tok);
--
-- singularity_message(DEBUG, "Parsing SINGULARITY_CONTAINLIBS for user-specified libraries to include.\n");
--
-- free(includelibs_string);
--
-- singularity_message(DEBUG, "Checking if libdir in container exists: %s\n", libdir_contained);
-- if ( is_dir(libdir_contained) != 0 ) {
-- singularity_message(WARNING, "Library bind directory not present in container, update container\n");
-- }
--
-- singularity_message(DEBUG, "Creating session libdir at: %s\n", libdir);
-- if ( container_mkpath_nopriv(libdir, 0755) != 0 ) {
-- singularity_message(ERROR, "Failed creating temp lib directory at: %s\n", libdir);
-- ABORT(255);
-- }
--
-- while (current != NULL ) {
-- char *dest = NULL;
-- char *source = NULL;
--
-- singularity_message(DEBUG, "Evaluating requested library path: %s\n", current);
--
-- dest = joinpath(libdir, basename(current));
--
-- if ( is_file(dest) == 0 ) {
-- singularity_message(VERBOSE3, "Staged library exists, skipping: %s\n", current);
-- current = strtok_r(NULL, ",", &tok);
-- continue;
-- }
--
-- if ( is_link(current) == 0 ) {
-- char *link_name;
-- ssize_t len;
--
-- link_name = (char *) malloc(PATH_MAX);
--
-- len = readlink(current, link_name, PATH_MAX-1); // Flawfinder: ignore
-- if ( ( len > 0 ) && ( len <= PATH_MAX) ) {
-- link_name[len] = '\0';
-- singularity_message(VERBOSE3, "Found library link source: %s -> %s\n", current, link_name);
-- if ( link_name[0] == '/' ) {
-- source = strdup(link_name);
-- } else {
-- if ( link_name[0] == '/' ) {
-- source = strdup(link_name);
-- } else {
-- source = joinpath(dirname(strdup(current)), link_name);
-- }
-- }
-- } else {
-- singularity_message(WARNING, "Failed reading library link for %s: %s\n", current, strerror(errno));
-- ABORT(255);
-- }
-- free(link_name);
--
-- } else if (is_file(current) == 0 ) {
-- source = strdup(current);
-- singularity_message(VERBOSE3, "Found library source: %s\n", source);
-- } else {
-- singularity_message(WARNING, "Could not find library: %s\n", current);
-- current = strtok_r(NULL, ",", &tok);
-- continue;
-- }
--
-- singularity_message(DEBUG, "Binding library source here: %s -> %s\n", source, dest);
--
-- if ( fileput_nopriv(dest, "") != 0 ) {
-- singularity_message(ERROR, "Failed creating file at %s: %s\n", dest, strerror(errno));
-- ABORT(255);
-- }
--
-- singularity_message(VERBOSE, "Binding file '%s' to '%s'\n", source, dest);
-- if ( singularity_mount(source, dest, NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error binding %s to %s: %s\n", source, dest, strerror(errno));
-- ABORT(255);
-- }
--
-- free(source);
-- free(dest);
-- current = strtok_r(NULL, ",", &tok);
-- }
--
-- if ( is_dir(libdir_contained) != 0 ) {
-- char *ld_path;
-- singularity_message(DEBUG, "Attempting to create contained libdir\n");
-- if ( container_mkpath_priv(libdir_contained, 0755) != 0 ) {
-- singularity_message(ERROR, "Failed creating directory %s :%s\n", libdir_contained, strerror(errno));
-- ABORT(255);
-- }
-- ld_path = envar_path("LD_LIBRARY_PATH");
-- if ( ld_path == NULL ) {
-- singularity_message(DEBUG, "Setting LD_LIBRARY_PATH to '/.singularity.d/libs'\n");
-- envar_set("LD_LIBRARY_PATH", "/.singularity.d/libs", 1);
-- } else {
-- singularity_message(DEBUG, "Prepending '/.singularity.d/libs' to LD_LIBRARY_PATH\n");
-- envar_set("LD_LIBRARY_PATH", strjoin("/.singularity.d/libs:", ld_path), 1);
-- }
-- }
--
-- singularity_message(VERBOSE, "Binding libdir '%s' to '%s'\n", libdir, libdir_contained);
-- if ( singularity_mount(libdir, libdir_contained, NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error binding %s to %s: %s\n", libdir, libdir_contained, strerror(errno));
-- ABORT(255);
-- }
-- }
--
-- return(0);
--}
-diff --git a/src/lib/runtime/files/libs/libs.h b/src/lib/runtime/files/libs/libs.h
-deleted file mode 100644
-index e5f843d..0000000
---- a/src/lib/runtime/files/libs/libs.h
-+++ /dev/null
-@@ -1,30 +0,0 @@
--/*
-- * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-- * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-- *
-- * Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
-- *
-- * Copyright (c) 2016-2017, The Regents of the University of California,
-- * through Lawrence Berkeley National Laboratory (subject to receipt of any
-- * required approvals from the U.S. Dept. of Energy). All rights reserved.
-- *
-- * This software is licensed under a customized 3-clause BSD license. Please
-- * consult LICENSE file distributed with the sources of this project regarding
-- * your rights to use or distribute this software.
-- *
-- * NOTICE. This Software was developed under funding from the U.S. Department of
-- * Energy and the U.S. Government consequently retains certain rights. As such,
-- * the U.S. Government has been granted for itself and others acting on its
-- * behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
-- * to reproduce, distribute copies to the public, prepare derivative works, and
-- * perform publicly and display publicly, and to permit other to do so.
-- *
--*/
--
--#ifndef __SINGULARITY_RUNTIME_FILES_LIBS_H_
--#define __SINGULARITY_RUNTIME_FILES_LIBS_H_
--
--extern int _singularity_runtime_files_libs(void);
--
--#endif /* __SINGULARITY_RUNTIME_FILES_LIBS_H */
--
-diff --git a/src/lib/runtime/mounts/Makefile.am b/src/lib/runtime/mounts/Makefile.am
-index f945dc2..8ec7c7f 100644
---- a/src/lib/runtime/mounts/Makefile.am
-+++ b/src/lib/runtime/mounts/Makefile.am
-@@ -1,4 +1,4 @@
--SUBDIRS = binds cwd dev home hostfs kernelfs scratch tmp userbinds
-+SUBDIRS = binds cwd dev domounts home hostfs kernelfs libs scratch tmp userbinds
-
- MAINTAINERCLEANFILES = Makefile.in
- DISTCLEANFILES = Makefile
-@@ -11,7 +11,7 @@ AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\
-
- noinst_LTLIBRARIES = libinternal.la
-
--libinternal_la_LIBADD = binds/libinternal.la cwd/libinternal.la dev/libinternal.la home/libinternal.la hostfs/libinternal.la kernelfs/libinternal.la scratch/libinternal.la tmp/libinternal.la userbinds/libinternal.la
-+libinternal_la_LIBADD = binds/libinternal.la cwd/libinternal.la dev/libinternal.la domounts/libinternal.la home/libinternal.la hostfs/libinternal.la kernelfs/libinternal.la libs/libinternal.la scratch/libinternal.la tmp/libinternal.la userbinds/libinternal.la
- libinternal_la_SOURCES = mounts.c
-
- EXTRA_DIST = mounts.h
-diff --git a/src/lib/runtime/mounts/binds/binds.c b/src/lib/runtime/mounts/binds/binds.c
-index f27323b..4865aea 100644
---- a/src/lib/runtime/mounts/binds/binds.c
-+++ b/src/lib/runtime/mounts/binds/binds.c
-@@ -35,17 +35,17 @@
- #include "util/file.h"
- #include "util/util.h"
- #include "util/message.h"
--#include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
-
--int _singularity_runtime_mount_binds(void) {
-+int _singularity_runtime_mount_binds(struct mountlist *mountlist) {
- char *tmp_config_string;
-- char *container_dir = CONTAINER_FINALDIR;
-+ char *source = NULL;
-+ char *dest = NULL;
-
- if ( singularity_registry_get("CONTAIN") != NULL ) {
- singularity_message(DEBUG, "Skipping bind mounts as contain was requested\n");
-@@ -60,14 +60,21 @@ int _singularity_runtime_mount_binds(void) {
- while ( *tmp_config_string_list != NULL ) {
- tmp_config_string = strdup(*tmp_config_string_list);
- tmp_config_string_list++;
-- char *source = strtok(tmp_config_string, ":");
-- char *dest = strtok(NULL, ":");
-+ if (source != NULL)
-+ free(source);
-+ if (dest != NULL)
-+ free(dest);
-+ source = strtok(tmp_config_string, ":");
-+ dest = strtok(NULL, ":");
-+ source = strdup(source);
- chomp(source);
- if ( dest == NULL ) {
- dest = strdup(source);
- } else {
-+ dest = strdup(dest);
- chomp(dest);
- }
-+ free(tmp_config_string);
-
- singularity_message(VERBOSE2, "Found 'bind path' = %s, %s\n", source, dest);
-
-@@ -76,62 +83,17 @@ int _singularity_runtime_mount_binds(void) {
- continue;
- }
-
-- singularity_message(DEBUG, "Checking if bind point is already mounted: %s\n", dest);
-- if ( check_mounted(dest) >= 0 ) {
-- singularity_message(VERBOSE, "Not mounting bind point (already mounted): %s\n", dest);
-- continue;
-- }
--
-- if ( ( is_file(source) == 0 ) && ( is_file(joinpath(container_dir, dest)) < 0 ) ) {
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL ) {
-- char *basedir = dirname(joinpath(container_dir, dest));
--
-- singularity_message(DEBUG, "Checking base directory for file %s ('%s')\n", dest, basedir);
-- if ( is_dir(basedir) != 0 ) {
-- singularity_message(DEBUG, "Creating base directory for file bind\n");
-- if ( container_mkpath_priv(basedir, 0755) != 0 ) {
-- singularity_message(ERROR, "Failed creating base directory to bind file: %s\n", dest);
-- ABORT(255);
-- }
-- }
--
-- free(basedir);
--
-- singularity_message(VERBOSE3, "Creating bind file on overlay file system: %s\n", dest);
-- if ( fileput_priv(joinpath(container_dir, dest), "") != 0 ) {
-- continue;
-- }
-- singularity_message(DEBUG, "Created bind file: %s\n", dest);
-- } else {
-- singularity_message(WARNING, "Non existent bind point (file) in container: '%s'\n", dest);
-- continue;
-- }
-- } else if ( ( is_dir(source) == 0 ) && ( is_dir(joinpath(container_dir, dest)) < 0 ) ) {
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL ) {
-- singularity_message(VERBOSE3, "Creating bind directory on overlay file system: %s\n", dest);
-- if ( container_mkpath_priv(joinpath(container_dir, dest), 0755) < 0 ) {
-- singularity_message(WARNING, "Could not create bind point directory in container %s: %s\n", dest, strerror(errno));
-- continue;
-- }
-- } else {
-- singularity_message(WARNING, "Non existent bind point (directory) in container: '%s'\n", dest);
-- continue;
-- }
-- }
--
-- singularity_message(VERBOSE, "Binding '%s' to '%s/%s'\n", source, container_dir, dest);
-- if ( singularity_mount(source, joinpath(container_dir, dest), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error binding the path %s: %s\n", source, strerror(errno));
-- ABORT(255);
-- }
-- if ( singularity_priv_userns_enabled() != 1 ) {
-- if ( singularity_mount(NULL, joinpath(container_dir, dest), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error remounting the path %s: %s\n", source, strerror(errno));
-- ABORT(255);
-- }
-- }
-+ singularity_message(VERBOSE, "Queuing bind mount of '%s' to '%s'\n", source, dest);
-+ mountlist_add(mountlist, source, dest, NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, 0);
-+ source = NULL;
-+ dest = NULL;
- }
-
-+ if (source != NULL)
-+ free(source);
-+ if (dest != NULL)
-+ free(dest);
-+
- return(0);
- }
-
-diff --git a/src/lib/runtime/mounts/binds/binds.h b/src/lib/runtime/mounts/binds/binds.h
-index f555370..200ab76 100644
---- a/src/lib/runtime/mounts/binds/binds.h
-+++ b/src/lib/runtime/mounts/binds/binds.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_BINDS_H_
- #define __SINGULARITY_RUNTIME_MOUNT_BINDS_H_
-
--extern int _singularity_runtime_mount_binds(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_binds(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_BINDS_H */
-
-diff --git a/src/lib/runtime/mounts/cwd/cwd.c b/src/lib/runtime/mounts/cwd/cwd.c
-index c251edc..c90ffa4 100644
---- a/src/lib/runtime/mounts/cwd/cwd.c
-+++ b/src/lib/runtime/mounts/cwd/cwd.c
-@@ -40,18 +40,15 @@
- #include "util/file.h"
- #include "util/util.h"
- #include "util/message.h"
--#include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
-
--int _singularity_runtime_mount_cwd(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-+int _singularity_runtime_mount_cwd(struct mountlist *mountlist) {
- char *cwd_path = (char *)malloc(PATH_MAX);
-- int r;
-
- singularity_message(DEBUG, "Checking to see if we should mount current working directory\n");
- if ( cwd_path == NULL ) {
-@@ -73,34 +70,6 @@ int _singularity_runtime_mount_cwd(void) {
- return(0);
- }
-
-- singularity_message(DEBUG, "Checking if current directory already available within container: %s\n", cwd_path);
-- if ( is_dir(joinpath(container_dir, cwd_path)) == 0 ) {
-- char *cwd_fileid = file_devino(cwd_path);
-- char *container_cwd_fileid = file_devino(joinpath(container_dir, cwd_path));
--
-- singularity_message(DEBUG, "Checking if container's cwd == host's cwd\n");
-- if ( strcmp(cwd_fileid, container_cwd_fileid) == 0 ) {
-- singularity_message(VERBOSE, "Not mounting current directory: location already available within container\n");
-- free(cwd_path);
-- free(cwd_fileid);
-- free(container_cwd_fileid);
-- return(0);
-- } else {
-- singularity_message(DEBUG, "Container's cwd is not the same as the host, continuing on...\n");
-- }
-- } else {
-- singularity_message(VERBOSE, "Not mounting CWD, directory does not exist within container: %s\n", cwd_path);
-- free(cwd_path);
-- return(0);
-- }
--
-- singularity_message(DEBUG, "Checking if CWD is already mounted: %s\n", cwd_path);
-- if ( check_mounted(cwd_path) >= 0 ) {
-- singularity_message(VERBOSE, "Not mounting CWD (already mounted in container): %s\n", cwd_path);
-- free(cwd_path);
-- return(0);
-- }
--
- singularity_message(DEBUG, "Checking if cwd is in an operating system directory\n");
- if ( ( strcmp(cwd_path, "/") == 0 ) ||
- ( strcmp(cwd_path, "/bin") == 0 ) ||
-@@ -131,16 +100,9 @@ int _singularity_runtime_mount_cwd(void) {
- return(0);
- }
-
-- singularity_message(VERBOSE, "Binding '%s' to '%s/%s'\n", cwd_path, container_dir, cwd_path);
-- r = singularity_mount(cwd_path, joinpath(container_dir, cwd_path), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL);
-- if ( singularity_priv_userns_enabled() != 1 ) {
-- r = singularity_mount(NULL, joinpath(container_dir, cwd_path), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL);
-- }
-- if ( r < 0 ) {
-- singularity_message(WARNING, "Could not bind CWD to container %s: %s\n", cwd_path, strerror(errno));
-- }
-+ singularity_message(VERBOSE, "Queuing bind mount of '%s' to '%s' if mountpoint exists\n", cwd_path, cwd_path);
-+ mountlist_add(mountlist, NULL, cwd_path, NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, ML_ONLY_IF_POINT_PRESENT);
-
-- free(cwd_path);
- return(0);
- }
-
-diff --git a/src/lib/runtime/mounts/cwd/cwd.h b/src/lib/runtime/mounts/cwd/cwd.h
-index c2c9fd0..3404e12 100644
---- a/src/lib/runtime/mounts/cwd/cwd.h
-+++ b/src/lib/runtime/mounts/cwd/cwd.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_CWD_H_
- #define __SINGULARITY_RUNTIME_MOUNT_CWD_H_
-
--extern int _singularity_runtime_mount_cwd(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_cwd(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_CWD_H */
-
-diff --git a/src/lib/runtime/mounts/dev/dev.c b/src/lib/runtime/mounts/dev/dev.c
-index 7dc7a76..cbd6f19 100644
---- a/src/lib/runtime/mounts/dev/dev.c
-+++ b/src/lib/runtime/mounts/dev/dev.c
-@@ -43,14 +43,14 @@
- #include "util/registry.h"
- #include "util/mount.h"
- #include "util/suid.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
- static int bind_dev(char *tmpdir, char *dev);
-
-
--int _singularity_runtime_mount_dev(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-+int _singularity_runtime_mount_dev(struct mountlist *mountlist) {
-
- if ( ( singularity_registry_get("CONTAIN") != NULL ) || ( strcmp("minimal", singularity_config_get_value(MOUNT_DEV)) == 0 ) ) {
- char *sessiondir = singularity_registry_get("SESSIONDIR");
-@@ -58,22 +58,6 @@ int _singularity_runtime_mount_dev(void) {
- char *nvopt = singularity_registry_get("NV");
- char memfs_type[] = "tmpfs";
-
-- if ( is_dir(joinpath(container_dir, "/dev")) < 0 ) {
-- int ret;
--
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") == NULL ) {
-- singularity_message(WARNING, "Not mounting devices as /dev directory does not exist within container\n");
-- return(-1);
-- }
--
-- ret = container_mkpath_priv(joinpath(container_dir, "/dev"), 0755);
--
-- if ( ret < 0 ) {
-- singularity_message(ERROR, "Could not create /dev inside container\n");
-- ABORT(255);
-- }
-- }
--
- singularity_message(DEBUG, "Creating temporary staged /dev\n");
- if ( container_mkpath_nopriv(devdir, 0755) != 0 ) {
- singularity_message(ERROR, "Failed creating the session device directory %s: %s\n", devdir, strerror(errno));
-@@ -220,31 +204,18 @@ int _singularity_runtime_mount_dev(void) {
- free(devpts_opts);
- }
-
-- singularity_message(DEBUG, "Mounting minimal staged /dev into container\n");
-- if ( singularity_mount(devdir, joinpath(container_dir, "/dev"), NULL, MS_BIND|MS_REC, NULL) < 0 ) {
-- singularity_message(WARNING, "Could not stage dev tree: '%s' -> '%s': %s\n", devdir, joinpath(container_dir, "/dev"), strerror(errno));
-- free(sessiondir);
-- free(devdir);
-- return(-1);
-- }
-+ singularity_message(DEBUG, "Queuing bind mount of minimal staged /dev to mount into container\n");
-+ mountlist_add(mountlist, devdir, strdup("/dev"), NULL, MS_BIND|MS_REC, 0);
-
- free(sessiondir);
-- free(devdir);
-
- return(0);
- }
-
- singularity_message(DEBUG, "Checking configuration file for 'mount dev'\n");
- if ( singularity_config_get_bool_char(MOUNT_DEV) > 0 ) {
-- if ( is_dir(joinpath(container_dir, "/dev")) == 0 ) {
-- singularity_message(VERBOSE, "Bind mounting /dev\n");
-- if ( singularity_mount("/dev", joinpath(container_dir, "/dev"), NULL, MS_BIND|MS_NOSUID|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Could not bind mount container's /dev: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- } else {
-- singularity_message(WARNING, "Not mounting /dev, container has no bind directory\n");
-- }
-+ singularity_message(VERBOSE, "Queuing bind mount of /dev\n");
-+ mountlist_add(mountlist, NULL, strdup("/dev"), NULL, MS_BIND|MS_NOSUID|MS_REC, 0);
- return(0);
- }
-
-diff --git a/src/lib/runtime/mounts/dev/dev.h b/src/lib/runtime/mounts/dev/dev.h
-index 2e15d20..f929017 100644
---- a/src/lib/runtime/mounts/dev/dev.h
-+++ b/src/lib/runtime/mounts/dev/dev.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_DEV_H_
- #define __SINGULARITY_RUNTIME_MOUNT_DEV_H_
-
--extern int _singularity_runtime_mount_dev(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_dev(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_DEV_H */
-
-diff --git a/src/lib/runtime/mounts/domounts/Makefile.am b/src/lib/runtime/mounts/domounts/Makefile.am
-new file mode 100644
-index 0000000..0774cef
---- /dev/null
-+++ b/src/lib/runtime/mounts/domounts/Makefile.am
-@@ -0,0 +1,12 @@
-+MAINTAINERCLEANFILES = Makefile.in
-+DISTCLEANFILES = Makefile
-+CLEANFILES = core.* *~ *.la
-+
-+AM_CFLAGS = -Wall -fpie
-+AM_LDFLAGS = -pie
-+AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DLIBEXECDIR=\"$(libexecdir)\" $(SINGULARITY_DEFINES)
-+
-+noinst_LTLIBRARIES = libinternal.la
-+libinternal_la_SOURCES = domounts.c
-+
-+EXTRA_DIST = domounts.h
-diff --git a/src/lib/runtime/mounts/domounts/domounts.c b/src/lib/runtime/mounts/domounts/domounts.c
-new file mode 100644
-index 0000000..485a87d
---- /dev/null
-+++ b/src/lib/runtime/mounts/domounts/domounts.c
-@@ -0,0 +1,415 @@
-+/*
-+ * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-+ * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-+ *
-+ * Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
-+ *
-+ * Copyright (c) 2016-2017, The Regents of the University of California,
-+ * through Lawrence Berkeley National Laboratory (subject to receipt of any
-+ * required approvals from the U.S. Dept. of Energy). All rights reserved.
-+ *
-+ * This software is licensed under a customized 3-clause BSD license. Please
-+ * consult LICENSE file distributed with the sources of this project regarding
-+ * your rights to use or distribute this software.
-+ *
-+ * NOTICE. This Software was developed under funding from the U.S. Department of
-+ * Energy and the U.S. Government consequently retains certain rights. As such,
-+ * the U.S. Government has been granted for itself and others acting on its
-+ * behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
-+ * to reproduce, distribute copies to the public, prepare derivative works, and
-+ * perform publicly and display publicly, and to permit other to do so.
-+ *
-+*/
-+
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <dirent.h>
-+#include <sys/mount.h>
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <stdlib.h>
-+#include <libgen.h>
-+
-+#include "config.h"
-+#include "util/config_parser.h"
-+#include "util/file.h"
-+#include "util/util.h"
-+#include "util/message.h"
-+#include "util/privilege.h"
-+#include "util/registry.h"
-+#include "util/mount.h"
-+#include "util/mountlist.h"
-+
-+void singularity_runtime_domounts_init(struct mountlist *mountlist) {
-+ memset(mountlist, 0, sizeof(*mountlist));
-+
-+ singularity_registry_set("UNDERLAY_ENABLED", NULL);
-+ if ( ( singularity_config_get_bool_char(ENABLE_UNDERLAY) > 0 ) ) {
-+ if ( singularity_registry_get("DISABLE_UNDERLAY") != NULL ) {
-+ singularity_message(VERBOSE3, "Not enabling underlay via environment\n");
-+ } else {
-+ singularity_message(VERBOSE3, "Enabling underlay\n");
-+ singularity_registry_set("UNDERLAY_ENABLED", "1");
-+ }
-+ }
-+}
-+
-+static void bind_image_final(char *source, char *sub_path) {
-+ char *target = joinpath(CONTAINER_FINALDIR, sub_path);
-+ singularity_message(VERBOSE3, "Binding %s to %s\n", source, target);
-+ if ( singularity_mount(source, target, NULL, MS_BIND|MS_NOSUID|MS_REC, NULL) < 0 ) {
-+
-+ singularity_message(ERROR, "Failed binding %s to %s\n", source, target);
-+ ABORT(255);
-+ }
-+ free(target);
-+}
-+
-+static void mount_missing(char *image_path, char *underlay_path, char *sub_path) {
-+ DIR *dir;
-+ struct dirent *dp;
-+ char *source = NULL;
-+ char *target = NULL;
-+ char *existing_path = NULL;
-+ int binds = 0;
-+
-+ singularity_message(VERBOSE3, "Mounting missing files/directories from %s\n", image_path);
-+
-+ // First find an existing mountpoint inside the underlay directory, if any
-+ if ( ( dir = opendir(underlay_path) ) == NULL ) {
-+ singularity_message(ERROR, "Could not open underlay dir %s", underlay_path);
-+ ABORT(255);
-+ }
-+ while ( (dp = readdir(dir) ) != NULL ) {
-+ if ( ( strcmp(dp->d_name, ".") != 0 ) &&
-+ ( strcmp(dp->d_name, "..") != 0 ) ) {
-+ break;
-+ }
-+ }
-+ if ( dp == NULL ) {
-+ singularity_message(VERBOSE3, "Skipping empty underlay directory: %s\n", underlay_path);
-+ closedir(dir);
-+ return;
-+ }
-+ singularity_message(DEBUG, "There is at least one mountpoint in %s: %s\n", underlay_path, dp->d_name);
-+ existing_path = joinpath(sub_path, dp->d_name);
-+ closedir(dir);
-+
-+ // Now search through the image for missing mountpoints in the underlay
-+ if ( ( dir = opendir(image_path) ) == NULL ) {
-+ singularity_message(ERROR, "Could not open dir %s", image_path);
-+ ABORT(255);
-+ }
-+
-+ while ( ( dp = readdir(dir) ) != NULL ) {
-+ if ( (strcmp(dp->d_name, ".") == 0 ) || (strcmp(dp->d_name, "..") == 0 ) )
-+ continue;
-+ if ( source != NULL )
-+ free(source);
-+ if ( target != NULL )
-+ free(target);
-+ source = joinpath(image_path, dp->d_name);
-+ target = joinpath(underlay_path, dp->d_name);
-+ char *new_sub_path;
-+ if ( strcmp(sub_path, "/") == 0 )
-+ new_sub_path = strdup(dp->d_name);
-+ else
-+ new_sub_path = joinpath(sub_path, dp->d_name);
-+ struct stat statbuf;
-+ int statret = lstat(target, &statbuf);
-+
-+ if ( is_link(source) == 0 ) {
-+ if ( statret < 0 ) {
-+ char link[PATH_MAX+1];
-+ ssize_t linksize = readlink(source, link, PATH_MAX); // Flawfinder: ignore not controllable by user
-+ if ( linksize <= 0 ) {
-+ singularity_message(WARNING, "Failure reading link info from %s, skipping: %s\n", source, strerror(errno));
-+ } else {
-+ link[linksize] = '\0';
-+ singularity_message(VERBOSE3, "Creating symlink on underlay file system: %s->%s\n", target, link);
-+ singularity_priv_escalate();
-+ if ( symlink(link, target) < 0 )
-+ singularity_message(WARNING, "Failure making link to %s at %s, skipping: %s\n", target, source, strerror(errno));
-+ singularity_priv_drop();
-+ }
-+ } else if ( S_ISDIR(statbuf.st_mode) ) {
-+ // It has been replaced by a directory, recurse into it
-+ mount_missing(source, target, new_sub_path);
-+ } else {
-+ singularity_message(VERBOSE3, "Link point on underlay file system already exists, skipping: %s\n", target);
-+ }
-+ } else if ( is_file(source) == 0 ) {
-+ if ( statret < 0 ) {
-+ singularity_message(VERBOSE3, "Creating file mountpoint on underlay file system: %s\n", target);
-+ if ( fileput_priv(target, "") != 0 ) {
-+ singularity_message(ERROR, "Failed creating underlay file mountpoint: %s\n", target);
-+ ABORT(255);
-+ }
-+ bind_image_final(source, new_sub_path);
-+ binds++;
-+ } else {
-+ singularity_message(VERBOSE3, "File mountpoint on underlay file system already exists, skipping: %s\n", target);
-+ }
-+ } else if ( is_dir(source) == 0 ) {
-+ if ( statret < 0 ) {
-+ singularity_message(VERBOSE3, "Creating directory mountpoint on underlay file system: %s\n", target);
-+ if ( container_mkpath_priv(target, 0755) < 0 ) {
-+ singularity_message(ERROR, "Failed creating underlay directory mountpoint: %s\n", target);
-+ ABORT(255);
-+ }
-+ bind_image_final(source, new_sub_path);
-+ binds++;
-+ } else if ( S_ISDIR(statbuf.st_mode) ) {
-+ mount_missing(source, target, new_sub_path);
-+ } else {
-+ singularity_message(VERBOSE3, "Skipping non-directory target with directory source: %s\n", target);
-+ }
-+ } else {
-+ singularity_message(VERBOSE3, "Skipping source that is neither file nor directory nor symlink: %s\n", source);
-+ }
-+ free(new_sub_path);
-+ }
-+
-+ if ( source != NULL )
-+ free(source);
-+ if ( target != NULL )
-+ free(target);
-+ closedir(dir);
-+
-+ if ( binds > 50 ) {
-+ singularity_message(WARNING, "Underlay of /%s required more than 50 (%d) bind mounts\n",
-+ existing_path, binds);
-+ } else {
-+ singularity_message(DEBUG, "Did %d bind mounts around /%s\n",
-+ binds, existing_path);
-+ }
-+ free(existing_path);
-+}
-+
-+static int do_mounts(struct mountlist *mountlist, int overlay) {
-+ char *container_dir = CONTAINER_FINALDIR;
-+ char *source = NULL;
-+ char *target = NULL;
-+ struct mountlist_point *point;
-+
-+ for (point = mountlist->first; point != NULL; point = point->next) {
-+ source = (char *) point->source;
-+ if ( source == NULL )
-+ source = (char *) point->target;
-+ if ( target != NULL )
-+ free(target);
-+ target = joinpath(container_dir, point->target);
-+
-+ if ( check_mounted(point->target) >= 0 ) {
-+ // make the message only information if ML_ONLY_IF_POINT_PRESENT
-+ int msglevel = ( point->mountlistflags & ML_ONLY_IF_POINT_PRESENT ) ? VERBOSE : WARNING;
-+ singularity_message(msglevel, "Not mounting %s (already mounted in container)\n", point->target);
-+ continue;
-+ }
-+
-+ if ( ( is_file(source) == 0 ) && ( is_file(target) < 0 ) ) {
-+ if ( point->mountlistflags & ML_ONLY_IF_POINT_PRESENT ) {
-+ singularity_message(VERBOSE, "Not mounting '%s', file does not exist within container\n", source);
-+ continue;
-+ }
-+ if ( overlay ) {
-+ char *basedir = strdup(target);
-+ basedir = dirname(basedir);
-+
-+ singularity_message(DEBUG, "Checking base directory for file %s ('%s')\n", target, basedir);
-+ if ( is_dir(basedir) != 0 ) {
-+ singularity_message(DEBUG, "Creating base directory for file mount\n");
-+ if ( container_mkpath_priv(basedir, 0755) != 0 ) {
-+ singularity_message(ERROR, "Failed creating base directory for mounted file: %s\n", target);
-+ ABORT(255);
-+ }
-+ }
-+
-+ free(basedir);
-+
-+ singularity_message(VERBOSE3, "Creating file mountpoint on overlay file system: %s\n", target);
-+ if ( fileput_priv(target, "") != 0 ) {
-+ continue;
-+ }
-+ singularity_message(DEBUG, "Created bind file: %s\n", target);
-+ } else {
-+ singularity_message(WARNING, "Non existent mount point (file) in container: '%s'\n", target);
-+ continue;
-+ }
-+ } else if ( ( is_dir(source) == 0 ) && ( is_dir(target) < 0 ) ) {
-+ if ( point->mountlistflags & ML_ONLY_IF_POINT_PRESENT ) {
-+ singularity_message(VERBOSE, "Not mounting '%s', directory does not exist within container\n", source);
-+ continue;
-+ }
-+ if ( overlay ) {
-+ singularity_message(VERBOSE3, "Creating mount directory on overlay file system: %s\n", target);
-+ if ( container_mkpath_priv(target, 0755) < 0 ) {
-+ singularity_message(WARNING, "Could not create mount point directory in container %s: %s\n", target, strerror(errno));
-+ continue;
-+ }
-+ } else {
-+ singularity_message(WARNING, "Non existent mountpoint (directory) in container: '%s'\n", target);
-+ continue;
-+ }
-+ }
-+
-+ singularity_message(VERBOSE, "Mounting '%s' at '%s'\n", source, target);
-+ int read_only = ( (point->mountflags & MS_RDONLY) != 0 );
-+ point->mountflags &= ~MS_RDONLY;
-+ if ( singularity_mount_point(point) < 0 ) {
-+ singularity_message(ERROR, "There was an error mounting %s: %s\n", source, strerror(errno));
-+ ABORT(255);
-+ }
-+
-+ if ( read_only ) {
-+ if ( singularity_priv_userns_enabled() == 1 ) {
-+ singularity_message(WARNING, "Can not make mount read only within the user namespace: %s\n", target);
-+ } else {
-+ singularity_message(VERBOSE, "Remounting %s read-only\n", target);
-+ point->mountflags |= MS_REMOUNT|MS_RDONLY;
-+ if ( singularity_mount_point(point) < 0 ) {
-+ singularity_message(ERROR, "There was an error write-protecting the path %s: %s\n", source, strerror(errno));
-+ ABORT(255);
-+ }
-+ if ( access(target, W_OK) == 0 || (errno != EROFS && errno != EACCES) ) { // Flawfinder: ignore (precautionary confirmation, not necessary)
-+ singularity_message(ERROR, "Failed to write-protect the path %s: %s\n", source, strerror(errno));
-+ ABORT(255);
-+ }
-+ }
-+ } else if ( singularity_priv_userns_enabled() != 1 ) {
-+ point->mountflags |= MS_REMOUNT;
-+ singularity_message(VERBOSE, "Remounting %s\n", target);
-+ if ( singularity_mount_point(point) < 0 ) {
-+ singularity_message(ERROR, "There was an error remounting the path %s: %s\n", source, strerror(errno));
-+ ABORT(255);
-+ }
-+ }
-+ }
-+
-+ if ( target != NULL )
-+ free(target);
-+
-+ return(0);
-+}
-+
-+static int underlay_mounts(struct mountlist *mountlist) {
-+ char *underlay_dir = joinpath(singularity_registry_get("SESSIONDIR"), "underlay");
-+ char *image_dir = CONTAINER_MOUNTDIR;
-+ char *final_dir = CONTAINER_FINALDIR;
-+ char *source = NULL;
-+ char *underlay_target = NULL;
-+ char *image_target = NULL;
-+ struct mountlist_point *point;
-+
-+ singularity_message(DEBUG, "Creating directory for underlay: %s\n", underlay_dir);
-+ if ( container_mkpath_priv(underlay_dir, 0755) < 0 ) {
-+ singularity_message(ERROR, "Failed creating underlay directory %s: %s\n", underlay_dir, strerror(errno));
-+ ABORT(255);
-+ }
-+
-+ singularity_message(DEBUG, "Unmounting final dir %s\n", final_dir);
-+ singularity_priv_escalate();
-+ if ( umount(final_dir) != 0 ) {
-+ singularity_message(ERROR, "Could not umount final directory %s: %s\n", final_dir, strerror(errno));
-+ ABORT(255);
-+ }
-+ singularity_priv_drop();
-+
-+ singularity_message(DEBUG, "Binding underlay directory to final directory %s->%s\n", underlay_dir, final_dir);
-+ if ( singularity_mount(underlay_dir, final_dir, NULL, MS_BIND|MS_NOSUID|MS_REC, NULL) < 0 ) {
-+ singularity_message(ERROR, "Could not bind mount underlay directory to final directory %s->%s: %s\n", underlay_dir, final_dir, strerror(errno));
-+ ABORT(255);
-+ }
-+
-+ // It's important for the underlay directory to be mounted read-only
-+ // because otherwise when running unprivileged the code inside the
-+ // container would be able to modify it's own root filesystem.
-+ // It's not necessary when running setuid because then the
-+ // root filesystem directory is owned by root, but do the same
-+ // thing anyway for consistency.
-+ singularity_message(DEBUG, "Remounting underlay directory to final directory read-only %s->%s\n", underlay_dir, final_dir);
-+ if ( singularity_mount(underlay_dir, final_dir, NULL, MS_REMOUNT|MS_BIND|MS_NOSUID|MS_REC|MS_RDONLY, NULL) < 0 ) {
-+ singularity_message(ERROR, "Could not re-mount underlay directory to final directory read-only %s->%s: %s\n", underlay_dir, final_dir, strerror(errno));
-+ ABORT(255);
-+ }
-+ errno = 0;
-+ if ( access(final_dir, W_OK) == 0 || (errno != EROFS && errno != EACCES) ) { // Flawfinder: ignore (precautionary confirmation, not necessary)
-+ singularity_message(ERROR, "Failed to write-protect the final directory %s: %s\n", final_dir, strerror(errno));
-+ ABORT(255);
-+ }
-+
-+ // make missing mount points in the underlay area
-+ for (point = mountlist->first; point != NULL; point = point->next) {
-+ if ( point->mountlistflags & ML_ONLY_IF_POINT_PRESENT )
-+ continue;
-+
-+ source = (char *) point->source;
-+ if ( source == NULL )
-+ source = (char *) point->target;
-+ if ( underlay_target != NULL )
-+ free(underlay_target);
-+ if ( image_target != NULL )
-+ free(image_target);
-+ underlay_target = joinpath(underlay_dir, point->target);
-+ image_target = joinpath(image_dir, point->target);
-+ char *basedir = strdup(underlay_target);
-+ basedir = dirname(basedir);
-+
-+ if ( ( is_file(source) == 0 ) && ( is_file(underlay_target) < 0 ) &&
-+ ( ( is_file(image_target) < 0 ) || ( is_dir(basedir) == 0 ) ) ) {
-+
-+ singularity_message(DEBUG, "Checking base directory for file %s ('%s')\n", underlay_target, basedir);
-+ if ( is_dir(basedir) != 0 ) {
-+ singularity_message(DEBUG, "Creating base directory for file mount\n");
-+ if ( container_mkpath_priv(basedir, 0755) != 0 ) {
-+ singularity_message(ERROR, "Failed creating base directory for mounted file: %s\n", underlay_target);
-+ ABORT(255);
-+ }
-+ }
-+
-+
-+ singularity_message(VERBOSE3, "Creating file mountpoint on underlay file system: %s\n", underlay_target);
-+ if ( fileput_priv(underlay_target, "") != 0 ) {
-+ singularity_message(ERROR, "Could not create mount point file in underlay %s: %s\n", underlay_target, strerror(errno));
-+ ABORT(255);
-+ }
-+ singularity_message(DEBUG, "Created bind file: %s\n", underlay_target);
-+ } else if ( ( ( point->filesystemtype != NULL ) ||
-+ ( is_dir(source) == 0 ) ) &&
-+ ( is_dir(underlay_target) < 0 ) &&
-+ ( ( is_dir(image_target) < 0 ) ||
-+ ( is_dir(basedir) == 0 ) ) ) {
-+ singularity_message(VERBOSE3, "Creating mount directory on underlay file system: %s\n", underlay_target);
-+ if ( container_mkpath_priv(underlay_target, 0755) < 0 ) {
-+ singularity_message(ERROR, "Could not create mount point directory in underlay %s: %s\n", underlay_target, strerror(errno));
-+ ABORT(255);
-+ }
-+ }
-+ free(basedir);
-+ }
-+
-+ if ( image_target != NULL )
-+ free(image_target);
-+ if ( underlay_target != NULL )
-+ free(underlay_target);
-+
-+ // mount everything else from the image into the underlay area
-+ mount_missing(image_dir, underlay_dir, "/");
-+
-+ free(underlay_dir);
-+
-+ // finally, do the requested mounts
-+ return(do_mounts(mountlist, 0));
-+}
-+
-+int _singularity_runtime_domounts(struct mountlist *mountlist) {
-+ if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL )
-+ return(do_mounts(mountlist, 1));
-+
-+ if ( singularity_registry_get("UNDERLAY_ENABLED") != NULL )
-+ return(underlay_mounts(mountlist));
-+
-+ return(do_mounts(mountlist, 0));
-+}
-diff --git a/src/lib/runtime/mounts/domounts/domounts.h b/src/lib/runtime/mounts/domounts/domounts.h
-new file mode 100644
-index 0000000..d7464b2
---- /dev/null
-+++ b/src/lib/runtime/mounts/domounts/domounts.h
-@@ -0,0 +1,33 @@
-+/*
-+ * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-+ * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-+ *
-+ * Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
-+ *
-+ * Copyright (c) 2016-2017, The Regents of the University of California,
-+ * through Lawrence Berkeley National Laboratory (subject to receipt of any
-+ * required approvals from the U.S. Dept. of Energy). All rights reserved.
-+ *
-+ * This software is licensed under a customized 3-clause BSD license. Please
-+ * consult LICENSE file distributed with the sources of this project regarding
-+ * your rights to use or distribute this software.
-+ *
-+ * NOTICE. This Software was developed under funding from the U.S. Department of
-+ * Energy and the U.S. Government consequently retains certain rights. As such,
-+ * the U.S. Government has been granted for itself and others acting on its
-+ * behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
-+ * to reproduce, distribute copies to the public, prepare derivative works, and
-+ * perform publicly and display publicly, and to permit other to do so.
-+ *
-+*/
-+
-+#ifndef __SINGULARITY_RUNTIME_MOUNT_DOMOUNTS_H_
-+#define __SINGULARITY_RUNTIME_MOUNT_DOMOUNTS_H_
-+
-+struct mountlist;
-+
-+extern int _singularity_runtime_domounts_init(struct mountlist *mountlist);
-+extern int _singularity_runtime_domounts(struct mountlist *mountlist);
-+
-+#endif /* __SINGULARITY_RUNTIME_MOUNT_DOMOUNTS_H */
-+
-diff --git a/src/lib/runtime/mounts/home/home.c b/src/lib/runtime/mounts/home/home.c
-index 665d256..c05c216 100644
---- a/src/lib/runtime/mounts/home/home.c
-+++ b/src/lib/runtime/mounts/home/home.c
-@@ -39,15 +39,15 @@
- #include "util/config_parser.h"
- #include "util/registry.h"
- #include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
-
--int _singularity_runtime_mount_home(void) {
-+int _singularity_runtime_mount_home(struct mountlist *mountlist) {
- char *home_source = singularity_priv_homedir();
- char *home_dest = singularity_priv_home();
- char *session_dir = singularity_registry_get("SESSIONDIR");
-- char *container_dir = CONTAINER_FINALDIR;
-
- singularity_message(DEBUG, "Checking that home directry is configured: %s\n", home_dest);
- if ( home_dest == NULL ) {
-@@ -83,12 +83,6 @@ int _singularity_runtime_mount_home(void) {
- ABORT(255);
- }
-
-- singularity_message(DEBUG, "Checking if home directory is already mounted: %s\n", home_dest);
-- if ( check_mounted(home_dest) >= 0 ) {
-- singularity_message(VERBOSE, "Not mounting home directory (already mounted in container): %s\n", home_dest);
-- return(0);
-- }
--
- singularity_message(DEBUG, "Creating temporary directory to stage home: %s\n", joinpath(session_dir, home_dest));
- if ( container_mkpath_nopriv(joinpath(session_dir, home_dest), 0755) < 0 ) {
- singularity_message(ERROR, "Failed creating home directory stage %s: %s\n", joinpath(session_dir, home_dest), strerror(errno));
-@@ -112,8 +106,9 @@ int _singularity_runtime_mount_home(void) {
- singularity_message(VERBOSE, "Using sessiondir for home directory\n");
- }
-
-- singularity_message(DEBUG, "Checking if overlay is enabled\n");
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") == NULL ) {
-+ singularity_message(DEBUG, "Checking if overlay or underlay is enabled\n");
-+ if ( ( singularity_registry_get("OVERLAYFS_ENABLED") == NULL ) &&
-+ ( singularity_registry_get("UNDERLAY_ENABLED") == NULL ) ) {
- char *homedir_base;
-
- singularity_message(DEBUG, "Staging home directory base\n");
-@@ -124,33 +119,12 @@ int _singularity_runtime_mount_home(void) {
- ABORT(255);
- }
-
-- singularity_message(DEBUG, "Checking home directory base exists in container: %s\n", homedir_base);
-- if ( is_dir(joinpath(container_dir, homedir_base)) != 0 ) {
-- singularity_message(ERROR, "Base home directory does not exist within the container: %s\n", homedir_base);
-- ABORT(255);
-- }
--
-- singularity_message(VERBOSE, "Mounting staged home directory base to container's base dir: %s -> %s\n", joinpath(session_dir, homedir_base), joinpath(container_dir, homedir_base));
-- if ( singularity_mount(joinpath(session_dir, homedir_base), joinpath(container_dir, homedir_base), NULL, MS_BIND | MS_NOSUID | MS_NODEV | MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Failed to mount staged home base: %s -> %s: %s\n", joinpath(session_dir, homedir_base), joinpath(container_dir, homedir_base), strerror(errno));
-- ABORT(255);
-- }
-+ singularity_message(VERBOSE, "Queuing bind mount of staged home directory base to container's base dir: %s/%s -> %s\n", session_dir, homedir_base, homedir_base);
-+ mountlist_add(mountlist, joinpath(session_dir, homedir_base), strdup(homedir_base), NULL, MS_BIND | MS_NOSUID | MS_NODEV | MS_REC, 0);
-
-- free(homedir_base);
- } else {
-- singularity_message(DEBUG, "Staging home directory\n");
--
-- singularity_message(DEBUG, "Creating home directory within container: %s\n", joinpath(container_dir, home_dest));
-- if ( container_mkpath_priv(joinpath(container_dir, home_dest), 0755) < 0 ) {
-- singularity_message(ERROR, "Failed creating home directory in container %s: %s\n", joinpath(container_dir, home_dest), strerror(errno));
-- ABORT(255);
-- }
--
-- singularity_message(VERBOSE, "Mounting staged home directory to container: %s -> %s\n", joinpath(session_dir, home_dest), joinpath(container_dir, home_dest));
-- if ( singularity_mount(joinpath(session_dir, home_dest), joinpath(container_dir, home_dest), NULL, MS_BIND | MS_NOSUID | MS_NODEV | MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Failed to mount staged home base: %s -> %s: %s\n", joinpath(session_dir, home_dest), joinpath(container_dir, home_dest), strerror(errno));
-- ABORT(255);
-- }
-+ singularity_message(VERBOSE, "Queuing bind mount of staged home directory to container: %s/%s -> %s\n", session_dir, home_dest, home_dest);
-+ mountlist_add(mountlist, joinpath(session_dir, home_dest), strdup(home_dest), NULL, MS_BIND | MS_NOSUID | MS_NODEV | MS_REC, 0);
- }
-
- envar_set("HOME", home_dest, 1);
-diff --git a/src/lib/runtime/mounts/home/home.h b/src/lib/runtime/mounts/home/home.h
-index a150177..2553d75 100644
---- a/src/lib/runtime/mounts/home/home.h
-+++ b/src/lib/runtime/mounts/home/home.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_HOME_H_
- #define __SINGULARITY_RUNTIME_MOUNT_HOME_H_
-
--extern int _singularity_runtime_mount_home(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_home(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_HOME_H */
-
-diff --git a/src/lib/runtime/mounts/hostfs/hostfs.c b/src/lib/runtime/mounts/hostfs/hostfs.c
-index 2040d53..a56c5cc 100644
---- a/src/lib/runtime/mounts/hostfs/hostfs.c
-+++ b/src/lib/runtime/mounts/hostfs/hostfs.c
-@@ -37,20 +37,18 @@
- #include "util/file.h"
- #include "util/util.h"
- #include "util/message.h"
--#include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
- #define MAX_LINE_LEN 4096
-
-
--int _singularity_runtime_mount_hostfs(void) {
-+int _singularity_runtime_mount_hostfs(struct mountlist *mountlist) {
- FILE *mounts;
- char *line = NULL;
-- char *container_dir = CONTAINER_FINALDIR;
-
- if ( singularity_config_get_bool(MOUNT_HOSTFS) <= 0 ) {
- singularity_message(DEBUG, "Not mounting host file systems per configuration\n");
-@@ -88,7 +86,7 @@ int _singularity_runtime_mount_hostfs(void) {
- singularity_message(VERBOSE3, "Skipping blank or comment line in /proc/mounts\n");
- continue;
- }
-- if ( ( source = strtok(strdup(line), " ") ) == NULL ) {
-+ if ( ( source = strtok(line, " ") ) == NULL ) {
- singularity_message(VERBOSE3, "Could not obtain mount source from /proc/mounts: %s\n", line);
- continue;
- }
-@@ -129,8 +127,8 @@ int _singularity_runtime_mount_hostfs(void) {
- singularity_message(DEBUG, "Skipping /var based file system: %s,%s,%s\n", source, mountpoint, filesystem);
- continue;
- }
-- if ( strncmp(mountpoint, container_dir, strlength(container_dir, PATH_MAX)) == 0 ) {
-- singularity_message(DEBUG, "Skipping final_dir (%s) based file system: %s,%s,%s\n", container_dir, source, mountpoint, filesystem);
-+ if ( strncmp(mountpoint, CONTAINER_FINALDIR, strlength(CONTAINER_FINALDIR, PATH_MAX)) == 0 ) {
-+ singularity_message(DEBUG, "Skipping final_dir (%s) based file system: %s,%s,%s\n", CONTAINER_FINALDIR, source, mountpoint, filesystem);
- continue;
- }
- if ( strcmp(mountpoint, CONTAINER_MOUNTDIR) == 0 ) {
-@@ -149,37 +147,9 @@ int _singularity_runtime_mount_hostfs(void) {
- singularity_message(DEBUG, "Skipping ramfs file system: %s,%s,%s\n", source, mountpoint, filesystem);
- continue;
- }
-- singularity_message(DEBUG, "Checking if host file system is already mounted: %s\n", mountpoint);
-- if ( check_mounted(mountpoint) >= 0 ) {
-- singularity_message(VERBOSE, "Not mounting host FS (already mounted in container): %s\n", mountpoint);
-- continue;
-- }
--
-- if ( ( is_dir(mountpoint) == 0 ) && ( is_dir(joinpath(container_dir, mountpoint)) < 0 ) ) {
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL ) {
-- if ( container_mkpath_priv(joinpath(container_dir, mountpoint), 0755) < 0 ) {
-- singularity_message(WARNING, "Could not create bind point directory in container %s: %s\n", mountpoint, strerror(errno));
-- continue;
-- }
-- } else {
-- singularity_message(WARNING, "Non existent 'bind point' directory in container: '%s'\n", mountpoint);
-- continue;
-- }
-- }
--
--
-- singularity_message(VERBOSE, "Binding '%s'(%s) to '%s/%s'\n", mountpoint, filesystem, container_dir, mountpoint);
-- if ( singularity_mount(mountpoint, joinpath(container_dir, mountpoint), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error binding the path %s: %s\n", mountpoint, strerror(errno));
-- ABORT(255);
-- }
-- if ( singularity_priv_userns_enabled() != 1 ) {
-- if ( singularity_mount(NULL, joinpath(container_dir, mountpoint), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error remounting the path %s: %s\n", mountpoint, strerror(errno));
-- ABORT(255);
-- }
-- }
-
-+ singularity_message(VERBOSE, "Queuing bind mount of '%s'(%s) to '%s'\n", mountpoint, filesystem, mountpoint);
-+ mountlist_add(mountlist, NULL, strdup(mountpoint), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, 0);
- }
-
- free(line);
-diff --git a/src/lib/runtime/mounts/hostfs/hostfs.h b/src/lib/runtime/mounts/hostfs/hostfs.h
-index 9d9f6ab..62617a1 100644
---- a/src/lib/runtime/mounts/hostfs/hostfs.h
-+++ b/src/lib/runtime/mounts/hostfs/hostfs.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_HOSTFS_H_
- #define __SINGULARITY_RUNTIME_MOUNT_HOSTFS_H_
-
--extern int _singularity_runtime_mount_hostfs(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_hostfs(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_HOSTFS_H */
-
-diff --git a/src/lib/runtime/mounts/kernelfs/kernelfs.c b/src/lib/runtime/mounts/kernelfs/kernelfs.c
-index cc0de35..bfe9741 100644
---- a/src/lib/runtime/mounts/kernelfs/kernelfs.c
-+++ b/src/lib/runtime/mounts/kernelfs/kernelfs.c
-@@ -37,34 +37,23 @@
- #include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
- #include "../../ns/ns.h"
-
-
--int _singularity_runtime_mount_kernelfs(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-+int _singularity_runtime_mount_kernelfs(struct mountlist *mountlist) {
-
- // Mount /proc if we are configured
- singularity_message(DEBUG, "Checking configuration file for 'mount proc'\n");
- if ( singularity_config_get_bool(MOUNT_PROC) > 0 ) {
-- if ( is_dir(joinpath(container_dir, "/proc")) == 0 ) {
-- if ( singularity_registry_get("PIDNS_ENABLED") == NULL ) {
-- singularity_message(VERBOSE, "Bind-mounting host /proc\n");
-- if ( singularity_mount("/proc", joinpath(container_dir, "/proc"), NULL, MS_BIND | MS_NOSUID | MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Could not bind-mount host /proc into container: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- } else {
-- singularity_message(VERBOSE, "Mounting new procfs\n");
-- if ( singularity_mount("proc", joinpath(container_dir, "/proc"), "proc", MS_NOSUID, NULL) < 0 ) {
-- singularity_message(ERROR, "Could not mount new procfs into container: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- }
-+ if ( singularity_registry_get("PIDNS_ENABLED") == NULL ) {
-+ singularity_message(VERBOSE, "Queuing bind mount of host /proc\n");
-+ mountlist_add(mountlist, NULL, strdup("/proc"), NULL, MS_BIND | MS_NOSUID | MS_REC, 0);
- } else {
-- singularity_message(WARNING, "Not mounting /proc, container has no bind directory\n");
-+ singularity_message(VERBOSE, "Queuing mount of new procfs\n");
-+ mountlist_add(mountlist, strdup("proc"), strdup("/proc"), "proc", MS_NOSUID, 0);
- }
- } else {
- singularity_message(VERBOSE, "Skipping /proc mount\n");
-@@ -74,22 +63,12 @@ int _singularity_runtime_mount_kernelfs(void) {
- // Mount /sys if we are configured
- singularity_message(DEBUG, "Checking configuration file for 'mount sys'\n");
- if ( singularity_config_get_bool(MOUNT_SYS) > 0 ) {
-- if ( is_dir(joinpath(container_dir, "/sys")) == 0 ) {
-- if ( singularity_priv_userns_enabled() == 1 ) {
-- singularity_message(VERBOSE, "Mounting /sys\n");
-- if ( singularity_mount("/sys", joinpath(container_dir, "/sys"), NULL, MS_BIND | MS_NOSUID | MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Could not mount /sys into container: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- } else {
-- singularity_message(VERBOSE, "Mounting /sys\n");
-- if ( singularity_mount("sysfs", joinpath(container_dir, "/sys"), "sysfs", MS_NOSUID, NULL) < 0 ) {
-- singularity_message(ERROR, "Could not mount /sys into container: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- }
-+ if ( singularity_priv_userns_enabled() == 1 ) {
-+ singularity_message(VERBOSE, "Queuing bind mount of /sys\n");
-+ mountlist_add(mountlist, NULL, strdup("/sys"), NULL, MS_BIND | MS_NOSUID | MS_REC, 0);
- } else {
-- singularity_message(WARNING, "Not mounting /sys, container has no bind directory\n");
-+ singularity_message(VERBOSE, "Queuing mount of new sysfs\n");
-+ mountlist_add(mountlist, strdup("sysfs"), strdup("/sys"), "sysfs", MS_NOSUID, 0);
- }
- } else {
- singularity_message(VERBOSE, "Skipping /sys mount\n");
-diff --git a/src/lib/runtime/mounts/kernelfs/kernelfs.h b/src/lib/runtime/mounts/kernelfs/kernelfs.h
-index 63143c0..6b49c58 100644
---- a/src/lib/runtime/mounts/kernelfs/kernelfs.h
-+++ b/src/lib/runtime/mounts/kernelfs/kernelfs.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_KERNELFS_H_
- #define __SINGULARITY_RUNTIME_MOUNT_KERNELFS_H_
-
--extern int _singularity_runtime_mount_kernelfs(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_kernelfs(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_KERNELFS_H */
-
-diff --git a/src/lib/runtime/mounts/libs/Makefile.am b/src/lib/runtime/mounts/libs/Makefile.am
-new file mode 100644
-index 0000000..f54f504
---- /dev/null
-+++ b/src/lib/runtime/mounts/libs/Makefile.am
-@@ -0,0 +1,12 @@
-+MAINTAINERCLEANFILES = Makefile.in
-+DISTCLEANFILES = Makefile
-+CLEANFILES = core.* *~ *.la
-+
-+AM_CFLAGS = -Wall -fpie
-+AM_LDFLAGS = -pie
-+AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DLIBEXECDIR=\"$(libexecdir)\" $(SINGULARITY_DEFINES)
-+
-+noinst_LTLIBRARIES = libinternal.la
-+libinternal_la_SOURCES = libs.c
-+
-+EXTRA_DIST = libs.h
-diff --git a/src/lib/runtime/mounts/libs/libs.c b/src/lib/runtime/mounts/libs/libs.c
-new file mode 100644
-index 0000000..7c73771
---- /dev/null
-+++ b/src/lib/runtime/mounts/libs/libs.c
-@@ -0,0 +1,157 @@
-+/*
-+ * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-+ * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-+ *
-+ * Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
-+ *
-+ * Copyright (c) 2016-2017, The Regents of the University of California,
-+ * through Lawrence Berkeley National Laboratory (subject to receipt of any
-+ * required approvals from the U.S. Dept. of Energy). All rights reserved.
-+ *
-+ * This software is licensed under a customized 3-clause BSD license. Please
-+ * consult LICENSE file distributed with the sources of this project regarding
-+ * your rights to use or distribute this software.
-+ *
-+ * NOTICE. This Software was developed under funding from the U.S. Department of
-+ * Energy and the U.S. Government consequently retains certain rights. As such,
-+ * the U.S. Government has been granted for itself and others acting on its
-+ * behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
-+ * to reproduce, distribute copies to the public, prepare derivative works, and
-+ * perform publicly and display publicly, and to permit other to do so.
-+ *
-+*/
-+
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE
-+#endif
-+
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <sys/mount.h>
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <stdlib.h>
-+#include <libgen.h>
-+#include <linux/limits.h>
-+
-+#include "config.h"
-+#include "util/file.h"
-+#include "util/util.h"
-+#include "util/message.h"
-+#include "util/privilege.h"
-+#include "util/config_parser.h"
-+#include "util/registry.h"
-+#include "util/mount.h"
-+#include "util/mountlist.h"
-+
-+#include "../../runtime.h"
-+
-+
-+int _singularity_runtime_mount_libs(struct mountlist *mountlist) {
-+ char *tmpdir = singularity_registry_get("SESSIONDIR");
-+ char *includelibs_string;
-+
-+ if ( ( includelibs_string = singularity_registry_get("CONTAINLIBS") ) != NULL ) {
-+ char *libdir = joinpath(tmpdir, "/libs");
-+ char *libdir_contained = joinpath(CONTAINER_MOUNTDIR, "/.singularity.d/libs");
-+ char *tok = NULL;
-+ char *current = strtok_r(strdup(includelibs_string), ",", &tok);
-+
-+ singularity_message(DEBUG, "Parsing SINGULARITY_CONTAINLIBS for user-specified libraries to include.\n");
-+
-+ free(includelibs_string);
-+
-+ singularity_message(DEBUG, "Checking if libdir in container exists: %s\n", libdir_contained);
-+ if ( is_dir(libdir_contained) != 0 ) {
-+ singularity_message(WARNING, "Library bind directory not present in container, update container\n");
-+ char *ld_path = envar_path("LD_LIBRARY_PATH");
-+ if ( ld_path == NULL ) {
-+ singularity_message(DEBUG, "Setting LD_LIBRARY_PATH to '/.singularity.d/libs'\n");
-+ envar_set("LD_LIBRARY_PATH", "/.singularity.d/libs", 1);
-+ } else {
-+ singularity_message(DEBUG, "Prepending '/.singularity.d/libs' to LD_LIBRARY_PATH\n");
-+ envar_set("LD_LIBRARY_PATH", strjoin("/.singularity.d/libs:", ld_path), 1);
-+ }
-+ }
-+ free(libdir_contained);
-+
-+ singularity_message(DEBUG, "Creating session libdir at: %s\n", libdir);
-+ if ( container_mkpath_nopriv(libdir, 0755) != 0 ) {
-+ singularity_message(ERROR, "Failed creating temp lib directory at: %s\n", libdir);
-+ ABORT(255);
-+ }
-+
-+ while (current != NULL ) {
-+ char *dest = NULL;
-+ char *source = NULL;
-+
-+ singularity_message(DEBUG, "Evaluating requested library path: %s\n", current);
-+
-+ dest = joinpath(libdir, basename(current));
-+
-+ if ( is_file(dest) == 0 ) {
-+ singularity_message(VERBOSE3, "Staged library exists, skipping: %s\n", current);
-+ current = strtok_r(NULL, ",", &tok);
-+ continue;
-+ }
-+
-+ if ( is_link(current) == 0 ) {
-+ char *link_name;
-+ ssize_t len;
-+
-+ link_name = (char *) malloc(PATH_MAX);
-+
-+ len = readlink(current, link_name, PATH_MAX-1); // Flawfinder: ignore
-+ if ( ( len > 0 ) && ( len <= PATH_MAX) ) {
-+ link_name[len] = '\0';
-+ singularity_message(VERBOSE3, "Found library link source: %s -> %s\n", current, link_name);
-+ if ( link_name[0] == '/' ) {
-+ source = strdup(link_name);
-+ } else {
-+ if ( link_name[0] == '/' ) {
-+ source = strdup(link_name);
-+ } else {
-+ source = joinpath(dirname(strdup(current)), link_name);
-+ }
-+ }
-+ } else {
-+ singularity_message(WARNING, "Failed reading library link for %s: %s\n", current, strerror(errno));
-+ ABORT(255);
-+ }
-+ free(link_name);
-+
-+ } else if (is_file(current) == 0 ) {
-+ source = strdup(current);
-+ singularity_message(VERBOSE3, "Found library source: %s\n", source);
-+ } else {
-+ singularity_message(WARNING, "Could not find library: %s\n", current);
-+ current = strtok_r(NULL, ",", &tok);
-+ continue;
-+ }
-+
-+ singularity_message(DEBUG, "Binding library source here: %s -> %s\n", source, dest);
-+
-+ if ( fileput_nopriv(dest, "") != 0 ) {
-+ singularity_message(ERROR, "Failed creating file at %s: %s\n", dest, strerror(errno));
-+ ABORT(255);
-+ }
-+
-+ singularity_message(VERBOSE, "Binding file '%s' to '%s'\n", source, dest);
-+ if ( singularity_mount(source, dest, NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-+ singularity_message(ERROR, "There was an error binding %s to %s: %s\n", source, dest, strerror(errno));
-+ ABORT(255);
-+ }
-+
-+ free(source);
-+ free(dest);
-+ current = strtok_r(NULL, ",", &tok);
-+ }
-+
-+ singularity_message(VERBOSE, "Queueing bind mount of libdir '%s' to '%s'\n", libdir, "/.singularity.d/libs");
-+ mountlist_add(mountlist, libdir, strdup("/.singularity.d/libs"), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, 0);
-+ }
-+
-+ return(0);
-+}
-diff --git a/src/lib/runtime/mounts/libs/libs.h b/src/lib/runtime/mounts/libs/libs.h
-new file mode 100644
-index 0000000..4a6bdff
---- /dev/null
-+++ b/src/lib/runtime/mounts/libs/libs.h
-@@ -0,0 +1,32 @@
-+/*
-+ * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-+ * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-+ *
-+ * Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
-+ *
-+ * Copyright (c) 2016-2017, The Regents of the University of California,
-+ * through Lawrence Berkeley National Laboratory (subject to receipt of any
-+ * required approvals from the U.S. Dept. of Energy). All rights reserved.
-+ *
-+ * This software is licensed under a customized 3-clause BSD license. Please
-+ * consult LICENSE file distributed with the sources of this project regarding
-+ * your rights to use or distribute this software.
-+ *
-+ * NOTICE. This Software was developed under funding from the U.S. Department of
-+ * Energy and the U.S. Government consequently retains certain rights. As such,
-+ * the U.S. Government has been granted for itself and others acting on its
-+ * behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
-+ * to reproduce, distribute copies to the public, prepare derivative works, and
-+ * perform publicly and display publicly, and to permit other to do so.
-+ *
-+*/
-+
-+#ifndef __SINGULARITY_RUNTIME_MOUNT_LIBS_H_
-+#define __SINGULARITY_RUNTIME_MOUNT_LIBS_H_
-+
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_libs(struct mountlist *);
-+
-+#endif /* __SINGULARITY_RUNTIME_MOUNT_LIBS_H */
-+
-diff --git a/src/lib/runtime/mounts/mounts.c b/src/lib/runtime/mounts/mounts.c
-index 4419281..6fa52d1 100644
---- a/src/lib/runtime/mounts/mounts.c
-+++ b/src/lib/runtime/mounts/mounts.c
-@@ -32,6 +32,7 @@
- #include "util/file.h"
- #include "util/util.h"
- #include "util/message.h"
-+#include "util/mountlist.h"
- #include "util/privilege.h"
-
- #include "./binds/binds.h"
-@@ -43,21 +44,31 @@
- #include "./cwd/cwd.h"
- #include "./userbinds/userbinds.h"
- #include "./scratch/scratch.h"
-+#include "./libs/libs.h"
-+#include "./domounts/domounts.h"
-
-
- int _singularity_runtime_mounts(void) {
- int retval = 0;
-+ struct mountlist mountlist;
-+
-+ singularity_runtime_domounts_init(&mountlist);
-
- singularity_message(VERBOSE, "Running all mount components\n");
-- retval += _singularity_runtime_mount_dev();
-- retval += _singularity_runtime_mount_kernelfs();
-- retval += _singularity_runtime_mount_hostfs();
-- retval += _singularity_runtime_mount_binds();
-- retval += _singularity_runtime_mount_home();
-- retval += _singularity_runtime_mount_userbinds();
-- retval += _singularity_runtime_mount_tmp();
-- retval += _singularity_runtime_mount_scratch();
-- retval += _singularity_runtime_mount_cwd();
-+ retval += _singularity_runtime_mount_dev(&mountlist);
-+ retval += _singularity_runtime_mount_kernelfs(&mountlist);
-+ retval += _singularity_runtime_mount_hostfs(&mountlist);
-+ retval += _singularity_runtime_mount_binds(&mountlist);
-+ retval += _singularity_runtime_mount_home(&mountlist);
-+ retval += _singularity_runtime_mount_userbinds(&mountlist);
-+ retval += _singularity_runtime_mount_tmp(&mountlist);
-+ retval += _singularity_runtime_mount_scratch(&mountlist);
-+ retval += _singularity_runtime_mount_cwd(&mountlist);
-+ retval += _singularity_runtime_mount_libs(&mountlist);
-+
-+ retval += _singularity_runtime_domounts(&mountlist);
-+
-+ mountlist_cleanup(&mountlist);
-
- return(retval);
- }
-diff --git a/src/lib/runtime/mounts/scratch/scratch.c b/src/lib/runtime/mounts/scratch/scratch.c
-index 66a5f60..4a8c829 100644
---- a/src/lib/runtime/mounts/scratch/scratch.c
-+++ b/src/lib/runtime/mounts/scratch/scratch.c
-@@ -41,17 +41,15 @@
- #include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
-
--int _singularity_runtime_mount_scratch(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-+int _singularity_runtime_mount_scratch(struct mountlist *mountlist) {
- char *scratchdir_path;
- char *tmpdir_path;
- char *sourcedir_path;
-- int r;
-
- singularity_message(DEBUG, "Getting SINGULARITY_SCRATCHDIR from environment\n");
- if ( ( scratchdir_path = singularity_registry_get("SCRATCHDIR") ) == NULL ) {
-@@ -78,54 +76,20 @@ int _singularity_runtime_mount_scratch(void) {
- free(tmpdir_path);
-
- char *outside_token = NULL;
-- char *current = strtok_r(strdup(scratchdir_path), ",", &outside_token);
--
-- free(scratchdir_path);
-+ char *current = strtok_r(scratchdir_path, ",", &outside_token);
-
- while ( current != NULL ) {
--
-- char *full_sourcedir_path = joinpath(sourcedir_path, basename(strdup(current)));
-- char *full_destdir_path = joinpath(container_dir, current);
--
-- singularity_message(DEBUG, "Checking if bind point is already mounted: %s\n", current);
-- if ( check_mounted(current) >= 0 ) {
-- singularity_message(ERROR, "Not mounting requested scratch directory (already mounted in container): %s\n", current);
-- ABORT(255);
-- }
-+ char *current_copy = strdup(current);
-+ char *full_sourcedir_path = joinpath(sourcedir_path, basename(current_copy));
-+ free(current_copy);
-
- if ( container_mkpath_nopriv(full_sourcedir_path, 0750) < 0 ) {
- singularity_message(ERROR, "Could not create scratch working directory %s: %s\n", full_sourcedir_path, strerror(errno));
- ABORT(255);
- }
-
-- if ( is_dir(full_destdir_path) != 0 ) {
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL ) {
-- singularity_message(DEBUG, "Creating scratch directory inside container\n");
-- r = container_mkpath_priv(full_destdir_path, 0755);
-- if ( r < 0 ) {
-- singularity_message(VERBOSE, "Skipping scratch directory mount, could not create dir inside container %s: %s\n", current, strerror(errno));
-- current = strtok_r(NULL, ",", &outside_token);
-- continue;
-- }
-- } else {
-- singularity_message(WARNING, "Skipping scratch directory mount, target directory does not exist: %s\n", current);
-- current = strtok_r(NULL, ",", &outside_token);
-- continue;
-- }
-- }
--
-- singularity_message(VERBOSE, "Binding '%s' to '%s/%s'\n", full_sourcedir_path, container_dir, current);
-- r = singularity_mount(full_sourcedir_path, joinpath(container_dir, current), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL);
-- if ( singularity_priv_userns_enabled() != 1 ) {
-- r += singularity_mount(NULL, joinpath(container_dir, current), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL);
-- }
-- if ( r < 0 ) {
-- singularity_message(WARNING, "Could not bind scratch directory into container %s: %s\n", full_sourcedir_path, strerror(errno));
-- ABORT(255);
-- }
--
-- free(full_sourcedir_path);
-- free(full_destdir_path);
-+ singularity_message(VERBOSE, "Queuing bind mount of '%s' to '%s'\n", full_sourcedir_path, current);
-+ mountlist_add(mountlist, full_sourcedir_path, strdup(current), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, 0);
-
- current = strtok_r(NULL, ",", &outside_token);
-
-@@ -134,6 +98,8 @@ int _singularity_runtime_mount_scratch(void) {
- current = strtok_r(NULL, ",", &outside_token);
- }
- }
-+
-+ free(scratchdir_path);
- return(0);
- }
-
-diff --git a/src/lib/runtime/mounts/scratch/scratch.h b/src/lib/runtime/mounts/scratch/scratch.h
-index 00104c4..3ab46e4 100644
---- a/src/lib/runtime/mounts/scratch/scratch.h
-+++ b/src/lib/runtime/mounts/scratch/scratch.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_SCRATCH_H_
- #define __SINGULARITY_RUNTIME_MOUNT_SCRATCH_H_
-
--extern int _singularity_runtime_mount_scratch(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_scratch(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_SCRATCH_H */
-
-diff --git a/src/lib/runtime/mounts/tmp/tmp.c b/src/lib/runtime/mounts/tmp/tmp.c
-index 7384b4a..1969306 100644
---- a/src/lib/runtime/mounts/tmp/tmp.c
-+++ b/src/lib/runtime/mounts/tmp/tmp.c
-@@ -36,16 +36,14 @@
- #include "util/file.h"
- #include "util/util.h"
- #include "util/message.h"
--#include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
-
--int _singularity_runtime_mount_tmp(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-+int _singularity_runtime_mount_tmp(struct mountlist *mountlist) {
- char *tmp_source;
- char *vartmp_source;
-
-@@ -74,60 +72,26 @@ int _singularity_runtime_mount_tmp(void) {
- free(tmpdirpath);
- }
-
-- if ( check_mounted("/tmp") < 0 ) {
-- if ( s_mkpath(tmp_source, 0755) < 0 ) {
-- singularity_message(ERROR, "Could not create source /tmp directory %s: %s\n", tmp_source, strerror(errno));
-- ABORT(255);
-- }
-- if ( is_dir(tmp_source) == 0 ) {
-- if ( is_dir(joinpath(container_dir, "/tmp")) == 0 ) {
-- singularity_message(VERBOSE, "Mounting directory: /tmp\n");
-- if ( singularity_mount(tmp_source, joinpath(container_dir, "/tmp"), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Failed to mount %s -> /tmp: %s\n", tmp_source, strerror(errno));
-- ABORT(255);
-- }
-- if ( singularity_priv_userns_enabled() != 1 ) {
-- if ( singularity_mount(NULL, joinpath(container_dir, "/tmp"), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL) < 0 ) {
-- singularity_message(ERROR, "Failed to remount /tmp: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- }
-- } else {
-- singularity_message(VERBOSE, "Could not mount container's /tmp directory: does not exist\n");
-- }
-- } else {
-- singularity_message(VERBOSE, "Could not mount host's /tmp directory (%s): does not exist\n", tmp_source);
-- }
-+ if ( s_mkpath(tmp_source, 0755) < 0 ) {
-+ singularity_message(ERROR, "Could not create source /tmp directory %s: %s\n", tmp_source, strerror(errno));
-+ ABORT(255);
-+ }
-+ if ( is_dir(tmp_source) == 0 ) {
-+ singularity_message(VERBOSE, "Queuing bind mount of /tmp\n");
-+ mountlist_add(mountlist, strdup(tmp_source), strdup("/tmp"), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, 0);
- } else {
-- singularity_message(VERBOSE, "Not mounting '/tmp', already mounted\n");
-+ singularity_message(VERBOSE, "Could not mount host's /tmp directory (%s): does not exist\n", tmp_source);
- }
-
-- if ( check_mounted("/var/tmp") < 0 ) {
-- if ( s_mkpath(vartmp_source, 0755) < 0 ) {
-- singularity_message(ERROR, "Could not create source /var/tmp directory %s: %s\n", vartmp_source, strerror(errno));
-- ABORT(255);
-- }
-- if ( is_dir(vartmp_source) == 0 ) {
-- if ( is_dir(joinpath(container_dir, "/var/tmp")) == 0 ) {
-- singularity_message(VERBOSE, "Mounting directory: /var/tmp\n");
-- if ( singularity_mount(vartmp_source, joinpath(container_dir, "/var/tmp"), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Failed to mount %s -> /var/tmp: %s\n", vartmp_source, strerror(errno));
-- ABORT(255);
-- }
-- if ( singularity_priv_userns_enabled() != 1 ) {
-- if ( singularity_mount(NULL, joinpath(container_dir, "/var/tmp"), NULL, MS_BIND|MS_NOSUID|MS_REC|MS_NODEV|MS_REMOUNT, NULL) < 0 ) {
-- singularity_message(ERROR, "Failed to remount /var/tmp: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- }
-- } else {
-- singularity_message(VERBOSE, "Could not mount container's /var/tmp directory: does not exist\n");
-- }
-- } else {
-- singularity_message(VERBOSE, "Could not mount host's /var/tmp directory (%s): does not exist\n", vartmp_source);
-- }
-+ if ( s_mkpath(vartmp_source, 0755) < 0 ) {
-+ singularity_message(ERROR, "Could not create source /var/tmp directory %s: %s\n", vartmp_source, strerror(errno));
-+ ABORT(255);
-+ }
-+ if ( is_dir(vartmp_source) == 0 ) {
-+ singularity_message(VERBOSE, "Queuing bind mount of /var/tmp\n");
-+ mountlist_add(mountlist, strdup(vartmp_source), strdup("/var/tmp"), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, 0);
- } else {
-- singularity_message(VERBOSE, "Not mounting '/var/tmp', already mounted\n");
-+ singularity_message(VERBOSE, "Could not mount host's /var/tmp directory (%s): does not exist\n", vartmp_source);
- }
-
- free(tmp_source);
-diff --git a/src/lib/runtime/mounts/tmp/tmp.h b/src/lib/runtime/mounts/tmp/tmp.h
-index d793b79..b6b2590 100644
---- a/src/lib/runtime/mounts/tmp/tmp.h
-+++ b/src/lib/runtime/mounts/tmp/tmp.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_TMP_H_
- #define __SINGULARITY_RUNTIME_MOUNT_TMP_H_
-
--extern int _singularity_runtime_mount_tmp(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_tmp(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_TMP_H */
-
-diff --git a/src/lib/runtime/mounts/userbinds/userbinds.c b/src/lib/runtime/mounts/userbinds/userbinds.c
-index 7e6f0b8..f4dfd6b 100644
---- a/src/lib/runtime/mounts/userbinds/userbinds.c
-+++ b/src/lib/runtime/mounts/userbinds/userbinds.c
-@@ -35,16 +35,14 @@
- #include "util/file.h"
- #include "util/util.h"
- #include "util/message.h"
--#include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
-
--int _singularity_runtime_mount_userbinds(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-+int _singularity_runtime_mount_userbinds(struct mountlist *mountlist) {
- char *bind_path_string;
-
- singularity_message(DEBUG, "Checking for environment variable 'SINGULARITY_BINDPATH'\n");
-@@ -59,12 +57,10 @@ int _singularity_runtime_mount_userbinds(void) {
- singularity_message(DEBUG, "Parsing SINGULARITY_BINDPATH for user-specified bind mounts.\n");
- char *outside_token = NULL;
- char *inside_token = NULL;
-- char *current = strtok_r(strdup(bind_path_string), ",", &outside_token);
--
-- free(bind_path_string);
-+ char *current = strtok_r(bind_path_string, ",", &outside_token);
-
- while ( current != NULL ) {
-- int read_only = 0;
-+ unsigned long read_only = 0;
- char *source = strtok_r(current, ":", &inside_token);
- char *dest = strtok_r(NULL, ":", &inside_token);
- char *opts = strtok_r(NULL, ":", &inside_token);
-@@ -81,7 +77,7 @@ int _singularity_runtime_mount_userbinds(void) {
- if ( strcmp(opts, "rw") == 0 ) {
- // This is the default
- } else if ( strcmp(opts, "ro") == 0 ) {
-- read_only = 1;
-+ read_only = MS_RDONLY;
- } else {
- singularity_message(WARNING, "Not mounting requested bind point, invalid mount option %s: %s\n", opts, dest);
- continue;
-@@ -89,79 +85,12 @@ int _singularity_runtime_mount_userbinds(void) {
- }
-
-
-- singularity_message(DEBUG, "Checking if bind point is already mounted: %s\n", dest);
-- if ( check_mounted(dest) >= 0 ) {
-- singularity_message(WARNING, "Not mounting requested bind point (already mounted in container): %s\n", dest);
-- continue;
-- }
--
-- if ( ( is_file(source) == 0 ) && ( is_file(joinpath(container_dir, dest)) < 0 ) ) {
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL ) {
-- char *dir = dirname(strdup(dest));
-- if ( is_dir(joinpath(container_dir, dir)) < 0 ) {
-- singularity_message(VERBOSE3, "Creating bind directory on overlay file system: %s\n", dest);
-- if ( container_mkpath_nopriv(joinpath(container_dir, dir), 0755) < 0 ) {
-- singularity_message(VERBOSE3, "Retrying with privileges to create bind directory on overlay file system: %s\n", dest);
-- if ( container_mkpath_priv(joinpath(container_dir, dir), 0755) < 0 ) {
-- singularity_message(ERROR, "Could not create basedir for file bind %s: %s\n", dest, strerror(errno));
-- continue;
-- }
-- }
-- }
-- singularity_message(VERBOSE3, "Creating bind file on overlay file system: %s\n", dest);
-- if ( fileput_priv(joinpath(container_dir, dest), "") != 0 ) {
-- continue;
-- }
-- singularity_message(DEBUG, "Created bind file: %s\n", dest);
-- } else {
-- singularity_message(WARNING, "Skipping user bind, non existent bind point (file) in container: '%s'\n", dest);
-- continue;
-- }
-- } else if ( ( is_dir(source) == 0 ) && ( is_dir(joinpath(container_dir, dest)) < 0 ) ) {
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL ) {
-- singularity_message(VERBOSE3, "Creating bind directory on overlay file system: %s\n", dest);
-- if ( container_mkpath_nopriv(joinpath(container_dir, dest), 0755) < 0 ) {
-- singularity_message(VERBOSE3, "Retrying with privileges to create bind directory on overlay file system: %s\n", dest);
-- if ( container_mkpath_priv(joinpath(container_dir, dest), 0755) < 0 ) {
-- singularity_message(WARNING, "Skipping user bind, could not create bind point %s: %s\n", dest, strerror(errno));
-- continue;
-- }
-- }
-- } else {
-- singularity_message(WARNING, "Skipping user bind, non existent bind point (directory) in container: '%s'\n", dest);
-- continue;
-- }
-- }
--
-- singularity_message(VERBOSE, "Binding '%s' to '%s/%s'\n", source, container_dir, dest);
-- if ( singularity_mount(source, joinpath(container_dir, dest), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error binding the path %s: %s\n", source, strerror(errno));
-- ABORT(255);
-- }
-- if ( read_only ) {
-- if ( singularity_priv_userns_enabled() == 1 ) {
-- singularity_message(WARNING, "Can not make bind mount read only within the user namespace: %s\n", dest);
-- } else {
-- singularity_message(VERBOSE, "Remounting %s read-only\n", dest);
-- if ( singularity_mount(NULL, joinpath(container_dir, dest), NULL, MS_RDONLY|MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error write-protecting the path %s: %s\n", source, strerror(errno));
-- ABORT(255);
-- }
-- if ( access(joinpath(container_dir, dest), W_OK) == 0 || (errno != EROFS && errno != EACCES) ) { // Flawfinder: ignore (precautionary confirmation, not necessary)
-- singularity_message(ERROR, "Failed to write-protect the path %s: %s\n", source, strerror(errno));
-- ABORT(255);
-- }
-- }
-- } else {
-- if ( singularity_priv_userns_enabled() <= 0 ) {
-- if ( singularity_mount(NULL, joinpath(container_dir, dest), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error remounting the path %s: %s\n", source, strerror(errno));
-- ABORT(255);
-- }
-- }
-- }
-+ singularity_message(VERBOSE, "Queuing bind mount of '%s' to '%s'\n", source, dest);
-+ mountlist_add(mountlist, strdup(source), strdup(dest), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|read_only, 0);
- }
-
-+ free(bind_path_string);
-+
- singularity_message(DEBUG, "Unsetting environment variable 'SINGULARITY_BINDPATH'\n");
- unsetenv("SINGULARITY_BINDPATH");
- } else {
-diff --git a/src/lib/runtime/mounts/userbinds/userbinds.h b/src/lib/runtime/mounts/userbinds/userbinds.h
-index cd14d5d..34cd52a 100644
---- a/src/lib/runtime/mounts/userbinds/userbinds.h
-+++ b/src/lib/runtime/mounts/userbinds/userbinds.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_USERBINDS_H_
- #define __SINGULARITY_RUNTIME_MOUNT_USERBINDS_H_
-
--extern int _singularity_runtime_mount_userbinds(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_userbinds(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_USERBINDS_H */
-
-diff --git a/src/util/Makefile.am b/src/util/Makefile.am
-index ad58525..7a78e4f 100644
---- a/src/util/Makefile.am
-+++ b/src/util/Makefile.am
-@@ -20,6 +20,8 @@ EXTRA_DIST = cleanupd.c \
- message.h \
- mount.c \
- mount.h \
-+ mountlist.c \
-+ mountlist.h \
- privilege.c \
- privilege.h \
- registry.c \
-diff --git a/src/util/config_defaults.h.in b/src/util/config_defaults.h.in
-index 6bfeb78..b1676f8 100644
---- a/src/util/config_defaults.h.in
-+++ b/src/util/config_defaults.h.in
-@@ -41,6 +41,9 @@
- #define ENABLE_OVERLAY "enable overlay"
- #define ENABLE_OVERLAY_DEFAULT "try"
-
-+#define ENABLE_UNDERLAY "enable underlay"
-+#define ENABLE_UNDERLAY_DEFAULT "no"
-+
- #define CONFIG_PASSWD "config passwd"
- #define CONFIG_PASSWD_DEFAULT 1
-
-diff --git a/src/util/mount.c b/src/util/mount.c
-index f609f82..46d2874 100644
---- a/src/util/mount.c
-+++ b/src/util/mount.c
-@@ -127,7 +127,7 @@ int singularity_mount(const char *source, const char *target,
- return ret;
- }
-
--int check_mounted(char *mountpoint) {
-+int check_mounted(const char *mountpoint) {
- int retval = -1;
- FILE *mounts;
- char *line = (char *)malloc(MAX_LINE_LEN);
-diff --git a/src/util/mount.h b/src/util/mount.h
-index 8c80ea9..afca177 100644
---- a/src/util/mount.h
-+++ b/src/util/mount.h
-@@ -20,6 +20,6 @@
- int singularity_mount(const char *source, const char *target,
- const char *filesystemtype, unsigned long mountflags,
- const void *data);
--int check_mounted(char *mountpoint);
-+int check_mounted(const char *mountpoint);
-
- #endif /* __MOUNT_H_ */
-diff --git a/src/util/mountlist.c b/src/util/mountlist.c
-new file mode 100644
-index 0000000..5aded49
---- /dev/null
-+++ b/src/util/mountlist.c
-@@ -0,0 +1,82 @@
-+/*
-+ * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-+ * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-+ *
-+ * See the COPYRIGHT.md file at the top-level directory of this distribution and at
-+ * https://github.com/singularityware/singularity/blob/master/COPYRIGHT.md.
-+ *
-+ * This file is part of the Singularity Linux container project. It is subject to the license
-+ * terms in the LICENSE.md file found in the top-level directory of this distribution and
-+ * at https://github.com/singularityware/singularity/blob/master/LICENSE.md. No part
-+ * of Singularity, including this file, may be copied, modified, propagated, or distributed
-+ * except according to the terms contained in the LICENSE.md file.
-+ *
-+*/
-+
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <unistd.h>
-+#include <stdlib.h>
-+
-+#include "config.h"
-+#include "util/util.h"
-+#include "util/mount.h"
-+#include "util/mountlist.h"
-+#include "util/message.h"
-+
-+void mountlist_add(struct mountlist *mountlist,
-+ const char *source, const char *target,
-+ const char *filesystemtype, unsigned long mountflags,
-+ unsigned long mountlistflags) {
-+
-+ struct mountlist_point *point;
-+ point = (struct mountlist_point *) malloc(sizeof(struct mountlist_point));
-+ if (mountlist->first == NULL)
-+ mountlist->first = point;
-+ if (mountlist->last != NULL)
-+ mountlist->last->next = point;
-+ mountlist->last = point;
-+ point->next = NULL;
-+ point->source = source;
-+ point->target = target;
-+ point->filesystemtype = filesystemtype;
-+ point->mountflags = mountflags;
-+ point->mountlistflags = mountlistflags;
-+ point->resolved_target = NULL;
-+}
-+
-+void mountlist_cleanup(struct mountlist *mountlist) {
-+ struct mountlist_point *point = mountlist->first;
-+
-+ while (point != NULL) {
-+ if ( point->source != NULL)
-+ free((char *)point->source);
-+ if ( point->target != NULL)
-+ free((char *)point->target);
-+ if ( point->resolved_target != NULL)
-+ free(point->resolved_target);
-+ struct mountlist_point *next = point->next;
-+ free(point);
-+ point = next;
-+ }
-+
-+ mountlist->first = NULL;
-+ mountlist->last = NULL;
-+}
-+
-+int singularity_mount_point(struct mountlist_point *point) {
-+
-+ int retval;
-+ char *target = joinpath(CONTAINER_FINALDIR, point->target);
-+ const char *source = point->source;
-+ if (source == NULL)
-+ source = point->target;
-+
-+ retval = singularity_mount(source, target,
-+ point->filesystemtype, point->mountflags, NULL);
-+
-+ free(target);
-+ return retval;
-+}
-diff --git a/src/util/mountlist.h b/src/util/mountlist.h
-new file mode 100644
-index 0000000..66d44a5
---- /dev/null
-+++ b/src/util/mountlist.h
-@@ -0,0 +1,49 @@
-+/*
-+ * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-+ * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-+ *
-+ * See the COPYRIGHT.md file at the top-level directory of this distribution and at
-+ * https://github.com/singularityware/singularity/blob/master/COPYRIGHT.md.
-+ *
-+ * This file is part of the Singularity Linux container project. It is subject to the license
-+ * terms in the LICENSE.md file found in the top-level directory of this distribution and
-+ * at https://github.com/singularityware/singularity/blob/master/LICENSE.md. No part
-+ * of Singularity, including this file, may be copied, modified, propagated, or distributed
-+ * except according to the terms contained in the LICENSE.md file.
-+ *
-+*/
-+
-+
-+#ifndef __MOUNTLIST_H_
-+#define __MOUNTLIST_H_
-+
-+// mountlist flags
-+#define ML_ONLY_IF_POINT_PRESENT 0x01
-+
-+struct mountlist_point {
-+ struct mountlist_point *next;
-+ const char *source;
-+ const char *target;
-+ const char *filesystemtype;
-+ unsigned long mountflags;
-+ unsigned long mountlistflags;
-+ char *resolved_target;
-+};
-+
-+struct mountlist {
-+ struct mountlist_point *first;
-+ struct mountlist_point *last;
-+};
-+
-+// if source is NULL, it will be copied from target
-+// CONTAINER_FINALDIR will be prepended to target
-+// target will be freed by mountlist_cleanup, as will source if it isn't NULL
-+void mountlist_add(struct mountlist *mountlist,
-+ const char *source, const char *target,
-+ const char *filesystemtype, unsigned long mountflags,
-+ unsigned long mountlistflags);
-+void mountlist_cleanup(struct mountlist *mountlist);
-+
-+int singularity_mount_point(struct mountlist_point *point);
-+
-+#endif /* __MOUNTLIST_H_ */
diff --git a/1818.patch b/1818.patch
deleted file mode 100644
index 7436cb5..0000000
--- a/1818.patch
+++ /dev/null
@@ -1,321 +0,0 @@
-From 08ad53f2bdb8ef3a1cc02ff8a423d5a6da434dff Mon Sep 17 00:00:00 2001
-From: Dave Dykstra <2129743+DrDaveD(a)users.noreply.github.com>
-Date: Sun, 15 Jul 2018 14:43:57 -0500
-Subject: [PATCH] prefer python3 if present
-
----
- configure.ac | 29 +++++++++++++++--------
- etc/configure_transform.py | 9 ++++++-
- libexec/helpers/checks/1-bash-hiddens.py | 10 +++++++-
- libexec/helpers/checks/1-cache-content.py | 10 +++++++-
- libexec/helpers/checks/1-docker.py | 10 +++++++-
- libexec/helpers/checks/3-cve.py | 10 +++++++-
- libexec/python/helpers/json/add.py | 10 +++++++-
- libexec/python/helpers/json/delete.py | 10 +++++++-
- libexec/python/helpers/json/dump.py | 10 +++++++-
- libexec/python/helpers/json/get.py | 10 +++++++-
- libexec/python/helpers/json/inspect.py | 10 +++++++-
- libexec/python/import.py | 10 +++++++-
- libexec/python/pull.py | 10 +++++++-
- libexec/python/shub/api.py | 10 +++++++-
- libexec/python/size.py | 10 +++++++-
- 15 files changed, 144 insertions(+), 24 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b4c76cda3..836fb44bf 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -299,23 +299,32 @@ AM_COND_IF([FOUND_MKSQUASHFS],,[AC_MSG_WARN([mksquashfs not found - needed at ru
- # PYTHON
- # ---------------------------------------------------------------------
-
--AC_CHECK_PROG(PYTHON_CHECK,python,yes)
--if test x"$PYTHON_CHECK" != x"yes" ; then
-- AC_MSG_ERROR([Please install python before installing.])
-+_PYTHON_EXEC=""
-+AC_CHECK_PROG(PYTHON_CHECK,python3,yes)
-+if test x"$PYTHON_CHECK" = x"yes" ; then
-+ _PYTHON_EXEC=python3
- else
-+ AC_CHECK_PROG(PYTHON_CHECK,python,yes)
-+ if test x"$PYTHON_CHECK" = x"yes" ; then
-+ _PYTHON_EXEC=python
-+ else
-+ AC_MSG_ERROR([Please install python before installing.])
-+ fi
-+fi
-
-+if test x"$_PYTHON_EXEC" != ""; then
- PYTHON_MODULES="base64 datetime glob hashlib io itertools json math multiprocessing pickle pwd re shutil signal subprocess stat sys tarfile tempfile time"
- for PYTHON_MODULE in $PYTHON_MODULES; do
- AC_MSG_CHECKING([for the $PYTHON_MODULE python module])
-- python_module_result=`python -c "import $PYTHON_MODULE" 2>&1`
-- if test -z "$python_module_result"; then
-- AC_MSG_RESULT([yes])
-- else
-- AC_MSG_RESULT([no])
-- AC_MSG_ERROR([cannot import Python module $PYTHON_MODULE.
-+ python_module_result=`$_PYTHON_EXEC -c "import $PYTHON_MODULE" 2>&1`
-+ if test -z "$python_module_result"; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ AC_MSG_ERROR([cannot import Python module $PYTHON_MODULE.
- Please check your Python installation. The error was:
- $python_module_result])
-- fi
-+ fi
- done
-
- fi
-diff --git a/etc/configure_transform.py b/etc/configure_transform.py
-index 2d28114f1..42b165156 100755
---- a/etc/configure_transform.py
-+++ b/etc/configure_transform.py
-@@ -1,4 +1,11 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-
- '''
- Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-diff --git a/libexec/helpers/checks/1-bash-hiddens.py b/libexec/helpers/checks/1-bash-hiddens.py
-index fabca4bd9..b9e385104 100755
---- a/libexec/helpers/checks/1-bash-hiddens.py
-+++ b/libexec/helpers/checks/1-bash-hiddens.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
- #
- # Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
- # Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-diff --git a/libexec/helpers/checks/1-cache-content.py b/libexec/helpers/checks/1-cache-content.py
-index d31c2829a..f08555511 100755
---- a/libexec/helpers/checks/1-cache-content.py
-+++ b/libexec/helpers/checks/1-cache-content.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
- #
- # Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
- # Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-diff --git a/libexec/helpers/checks/1-docker.py b/libexec/helpers/checks/1-docker.py
-index 224506311..e4914a6a5 100755
---- a/libexec/helpers/checks/1-docker.py
-+++ b/libexec/helpers/checks/1-docker.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
- #
- # Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
- # Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-diff --git a/libexec/helpers/checks/3-cve.py b/libexec/helpers/checks/3-cve.py
-index 319e90673..94829b102 100755
---- a/libexec/helpers/checks/3-cve.py
-+++ b/libexec/helpers/checks/3-cve.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
- #
- # Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
- # Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-diff --git a/libexec/python/helpers/json/add.py b/libexec/python/helpers/json/add.py
-index 9b533464d..0dab042ae 100644
---- a/libexec/python/helpers/json/add.py
-+++ b/libexec/python/helpers/json/add.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/helpers/json/delete.py b/libexec/python/helpers/json/delete.py
-index 0975e4e60..c2c95f95c 100644
---- a/libexec/python/helpers/json/delete.py
-+++ b/libexec/python/helpers/json/delete.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/helpers/json/dump.py b/libexec/python/helpers/json/dump.py
-index a1411565b..93c21ebf5 100644
---- a/libexec/python/helpers/json/dump.py
-+++ b/libexec/python/helpers/json/dump.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/helpers/json/get.py b/libexec/python/helpers/json/get.py
-index 355be9040..4e8a066ee 100644
---- a/libexec/python/helpers/json/get.py
-+++ b/libexec/python/helpers/json/get.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/helpers/json/inspect.py b/libexec/python/helpers/json/inspect.py
-index 85cbe47d5..40a836502 100644
---- a/libexec/python/helpers/json/inspect.py
-+++ b/libexec/python/helpers/json/inspect.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/import.py b/libexec/python/import.py
-index e67dda121..37dd22289 100644
---- a/libexec/python/import.py
-+++ b/libexec/python/import.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/pull.py b/libexec/python/pull.py
-index c3af8d4d0..21d967ca1 100644
---- a/libexec/python/pull.py
-+++ b/libexec/python/pull.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/shub/api.py b/libexec/python/shub/api.py
-index ce7574a1f..67d375e73 100644
---- a/libexec/python/shub/api.py
-+++ b/libexec/python/shub/api.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/size.py b/libexec/python/size.py
-index 34331fd27..3e8ee385a 100644
---- a/libexec/python/size.py
-+++ b/libexec/python/size.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
commit 478ea1e9e74cfc28378408df6f168a3d28fa5bd7
Author: Dave Dykstra <2129743+DrDaveD(a)users.noreply.github.com>
Date: Tue Jan 22 10:49:24 2019 -0600
update to 3.0.3
Conflicts:
singularity.spec
diff --git a/singularity.spec b/singularity.spec
index 1afd998..b1a03eb 100644
--- a/singularity.spec
+++ b/singularity.spec
@@ -21,176 +21,131 @@
#
#
-%global _hardened_build 1
+%define singgopath src/github.com/sylabs/singularity
-%{!?_rel:%{expand:%%global _rel 1.1}}
-
-%if ! 0%{?osg}
-%define require_python3 1
-%else
-%define require_python3 0
-%endif
+# Disable debugsource packages; otherwise it ends up with an empty %files
+# file in debugsourcefiles.list on Fedora
+%undefine _debugsource_packages
Summary: Application and environment virtualization
Name: singularity
-Version: 2.6.1
-Release: %{_rel}%{?dist}
+Version: 3.0.3
+Release: 1%{?dist}
# https://spdx.org/licenses/BSD-3-Clause-LBNL.html
-License: BSD and LBNL BSD
+License: BSD-3-Clause-LBNL
Group: System Environment/Base
-URL: http://singularity.lbl.gov/
-Source: https://github.com/sylabs/singularity/releases/download/%{version}/%{name...
-Source2: %{name}.abignore
-%if %{require_python3}
-# from https://github.com/sylabs/singularity/pull/1818.patch
-Patch1: 1818.patch
-%endif
-# Not from https://github.com/sylabs/singularity/pull/1817.diff
-# because that includes renames; instead, check out the PR and do git diff
-Patch2: 1817.diff
+URL: https://www.sylabs.io/singularity/
+Source: %{name}-%{version}.tar.gz
ExclusiveOS: linux
BuildRoot: %{?_tmppath}%{!?_tmppath:/var/tmp}/%{name}-%{version}-%{release}-root
-%if %{require_python3}
-BuildRequires: /usr/bin/python3
+%if "%{_target_vendor}" == "suse"
+BuildRequires: go
%else
-BuildRequires: python
+BuildRequires: golang
+%endif
+BuildRequires: wget
+BuildRequires: git
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: libuuid-devel
+BuildRequires: openssl-devel
+%if ! 0%{?el6}
+BuildRequires: libseccomp-devel
%endif
-BuildRequires: automake libtool
-BuildRequires: libarchive-devel
%if "%{_target_vendor}" == "suse"
Requires: squashfs
%else
Requires: squashfs-tools
%endif
-Requires: %{name}-runtime = %{version}-%{release}
+# there's no golang for ppc64, just ppc64le
+ExcludeArch: ppc64
+
+Provides: %{name}-runtime
+Obsoletes: %{name}-runtime
%description
Singularity provides functionality to make portable
containers that can be used across host environments.
-%package devel
-Summary: Development libraries for Singularity
-Group: System Environment/Development
-
-%description devel
-Development files for Singularity
-
-%package runtime
-Summary: Support for running Singularity containers
-Group: System Environment/Base
-
-%if %{require_python3}
-Requires: /usr/bin/python3
-%endif
-
-%description runtime
-This package contains support for running containers created
-by the %{name} package.
+%debug_package
%prep
-%setup -q
-%if %{require_python3}
-%patch1 -p1
-%endif
-%patch2 -p1
-
+# Create our build root
+rm -rf %{name}-%{version}
+mkdir %{name}-%{version}
%build
-# always invoke even if configure exists, because the corresponding
-# automake version may be wrong
-./autogen.sh
+cd %{name}-%{version}
-%configure
-%{__make} %{?mflags}
+mkdir -p gopath/%{singgopath}
+tar -C "gopath/src/github.com/sylabs/" -xf "%SOURCE0"
+export GOPATH=$PWD/gopath
+export PATH=$GOPATH/bin:$PATH
+cd $GOPATH/%{singgopath}
+
+./mconfig -V %{version}-%{release} --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
+ --bindir=%{_bindir} --libexecdir=%{_libexecdir} --sysconfdir=%{_sysconfdir} \
+ --sharedstatedir=%{_sharedstatedir} --localstatedir=%{_localstatedir} \
+ --libdir=%{_libdir}
+
+cd builddir
+make old_config=
%install
-%{__make} install DESTDIR=$RPM_BUILD_ROOT %{?mflags_install}
-rm -f $RPM_BUILD_ROOT/%{_libdir}/singularity/lib*.la
-install -m 644 %{SOURCE2} $RPM_BUILD_ROOT/%{_libdir}/singularity/
+cd %{name}-%{version}
-%post runtime -p /sbin/ldconfig
-%postun runtime -p /sbin/ldconfig
+export GOPATH=$PWD/gopath
+export PATH=$GOPATH/bin:$PATH
+cd $GOPATH/%{singgopath}/builddir
+
+mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
+make DESTDIR=$RPM_BUILD_ROOT install man
+chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/singularity/actions/*
%clean
rm -rf $RPM_BUILD_ROOT
%files
-%license LICENSE.md LICENSE-LBNL.md
-%doc examples CONTRIBUTORS.md CONTRIBUTING.md COPYRIGHT.md INSTALL.md LICENSE-LBNL.md LICENSE.md README.md
-%attr(0755, root, root) %dir %{_sysconfdir}/singularity
-%attr(0644, root, root) %config(noreplace) %{_sysconfdir}/singularity/*
-
-%{_libexecdir}/singularity/cli/apps.*
-%{_libexecdir}/singularity/cli/bootstrap.*
-%{_libexecdir}/singularity/cli/build.*
-%{_libexecdir}/singularity/cli/check.*
-%{_libexecdir}/singularity/cli/create.*
-%{_libexecdir}/singularity/cli/image.*
-%{_libexecdir}/singularity/cli/inspect.*
-%{_libexecdir}/singularity/cli/mount.*
-%{_libexecdir}/singularity/cli/pull.*
-%{_libexecdir}/singularity/cli/selftest.*
-%{_libexecdir}/singularity/helpers
-
-# Binaries
-%{_libexecdir}/singularity/bin/builddef
-%{_libexecdir}/singularity/bin/get-section
-%{_libexecdir}/singularity/bin/mount
-%{_libexecdir}/singularity/bin/image-type
-%{_libexecdir}/singularity/bin/prepheader
-
-#SUID programs
-%attr(4755, root, root) %{_libexecdir}/singularity/bin/mount-suid
-
-%files runtime
+%attr(4755, root, root) %{_libexecdir}/singularity/bin/starter-suid
+%{_bindir}/*
%dir %{_libexecdir}/singularity
-%dir %{_localstatedir}/singularity
-%dir %{_localstatedir}/singularity/mnt
-%dir %{_localstatedir}/singularity/mnt/session
-%dir %{_localstatedir}/singularity/mnt/container
-%dir %{_localstatedir}/singularity/mnt/overlay
-%dir %{_localstatedir}/singularity/mnt/final
-%{_bindir}/singularity
-%{_bindir}/run-singularity
-%{_libdir}/singularity/lib*.so.*
-%{_libdir}/singularity/*.abignore
-%{_libexecdir}/singularity/cli/action_argparser.*
-%{_libexecdir}/singularity/cli/exec.*
-%{_libexecdir}/singularity/cli/help.*
-%{_libexecdir}/singularity/cli/instance.*
-%{_libexecdir}/singularity/cli/run.*
-%{_libexecdir}/singularity/cli/shell.*
-%{_libexecdir}/singularity/cli/test.*
-%{_libexecdir}/singularity/bin/action
-%{_libexecdir}/singularity/bin/get-configvals
-%{_libexecdir}/singularity/bin/cleanupd
-%{_libexecdir}/singularity/bin/start
-%{_libexecdir}/singularity/bin/docker-extract
-%{_libexecdir}/singularity/bootstrap-scripts
-%{_libexecdir}/singularity/functions
-%{_libexecdir}/singularity/handlers
-%{_libexecdir}/singularity/image-handler.sh
-%{_libexecdir}/singularity/python
+%{_libexecdir}/singularity/bin/starter
+%{_libexecdir}/singularity/cni/*
%dir %{_sysconfdir}/singularity
%config(noreplace) %{_sysconfdir}/singularity/*
-%{_mandir}/man1/singularity.1*
+%attr(755, root, root) %{_sysconfdir}/singularity/actions/exec
+%attr(755, root, root) %{_sysconfdir}/singularity/actions/run
+%attr(755, root, root) %{_sysconfdir}/singularity/actions/shell
+%attr(755, root, root) %{_sysconfdir}/singularity/actions/start
+%attr(755, root, root) %{_sysconfdir}/singularity/actions/test
%dir %{_sysconfdir}/bash_completion.d
-%{_sysconfdir}/bash_completion.d/singularity
+%{_sysconfdir}/bash_completion.d/*
+%dir %{_localstatedir}/singularity
+%dir %{_localstatedir}/singularity/mnt
+%dir %{_localstatedir}/singularity/mnt/session
+# XXX: Not great since we can't control this location...
+%{_mandir}/man1/*
-#SUID programs
-%attr(4755, root, root) %{_libexecdir}/singularity/bin/action-suid
-%attr(4755, root, root) %{_libexecdir}/singularity/bin/start-suid
-%files devel
-%defattr(-, root, root)
-%{_libdir}/singularity/lib*.so
-%{_libdir}/singularity/lib*.a
-%{_includedir}/singularity/*.h
+%changelog
+* Tue Jan 22 2019 Dave Dykstra <dwd(a)fedoraproject.org> - 3.0.3-1
+- Update to upstream 3.0.3-1 release.
+* Fri Jan 18 2019 Dave Dykstra <dwd(a)fedoraproject.org> - 3.0.3-rc2
+- Update to upstream 3.0.3-rc2
+
+* Wed Jan 16 2019 Dave Dykstra <dwd(a)fedoraproject.org> - 3.0.3-rc1
+- Update to upstream 3.0.3-rc1
+
+* Wed Jan 09 2019 Dave Dykstra <dwd(a)fedoraproject.org> - 3.0.2-1.2
+- Add patch for PR 2531
+
+* Mon Jan 07 2019 Dave Dykstra <dwd(a)fedoraproject.org> - 3.0.2-1.1
+- Update to upstream 3.0.2
+- Added patches for PRs 2472, 2478, 2481
-%changelog
* Tue Dec 11 2018 Dave Dykstra <dwd(a)fedoraproject.org> - 2.6.1-1.1
- Update to released upstream 2.6.1
@@ -344,6 +299,3 @@ rm -rf $RPM_BUILD_ROOT
- New version
- BR automake, libtool and run autogen
-* Wed Apr 06 2016 Dave Love <loveshack(a)fedoraproject.org> - 1.0-0.1.20150405
-- Initial version adapted for Fedora as minimally as possible from
- bundled spec (can't run on el5)
diff --git a/sources b/sources
index 709aa7f..397d2b1 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (singularity-2.6.1.tar.gz) = 063327c67dae2629d1decebc060c474a72e6741f6dc9b6373734e429ccf11d53ee55c1578c28e74e8f8bcda87f3e0b735a3a0e982c9ea894f03a31eaaadf617c
+SHA512 (singularity-3.0.3.tar.gz) = c0a6b22417355d302aba34ca802a1be8500edb724c2b6ba9c53a3632019a390759188674a5af5d037fd838d611db15a922c13b298def85c9989d39c95c8569ae
5 years, 3 months
Architecture specific change in rpms/singularity.git
by githook-noreply@fedoraproject.org
The package rpms/singularity.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/singularity.git/commit/?id=ef0ea9....
Change:
+ExcludeArch: ppc64
Thanks.
Full change:
============
commit 951451cd0bce7139325722066ed9c483b69af9af
Author: Dave Dykstra <2129743+DrDaveD(a)users.noreply.github.com>
Date: Tue Jan 22 10:49:37 2019 -0600
no longer needed for 3.0.3
diff --git a/1817.diff b/1817.diff
deleted file mode 100644
index 3f06f4b..0000000
--- a/1817.diff
+++ /dev/null
@@ -1,2319 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index b4c76cd..5785734 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -404,7 +404,6 @@ AC_CONFIG_FILES([
- src/lib/runtime/files/group/Makefile
- src/lib/runtime/files/passwd/Makefile
- src/lib/runtime/files/resolvconf/Makefile
-- src/lib/runtime/files/libs/Makefile
- src/lib/runtime/mounts/Makefile
- src/lib/runtime/mounts/cwd/Makefile
- src/lib/runtime/mounts/dev/Makefile
-@@ -412,9 +411,11 @@ AC_CONFIG_FILES([
- src/lib/runtime/mounts/home/Makefile
- src/lib/runtime/mounts/hostfs/Makefile
- src/lib/runtime/mounts/kernelfs/Makefile
-+ src/lib/runtime/mounts/libs/Makefile
- src/lib/runtime/mounts/tmp/Makefile
- src/lib/runtime/mounts/userbinds/Makefile
- src/lib/runtime/mounts/scratch/Makefile
-+ src/lib/runtime/mounts/domounts/Makefile
- src/lib/runtime/enter/Makefile
- src/lib/runtime/enter/chroot/Makefile
- src/lib/runtime/environment/Makefile
-diff --git a/etc/singularity.conf.in b/etc/singularity.conf.in
-index ecfff37..61a9cbd 100644
---- a/etc/singularity.conf.in
-+++ b/etc/singularity.conf.in
-@@ -137,6 +137,14 @@ bind path = /etc/hosts
- @ENABLE_OVERLAY@ = @ENABLE_OVERLAY_DEFAULT@
-
-
-+# ENABLE UNDERLAY: [yes/no]
-+# DEFAULT: @ENABLE_UNDERLAY_DEFAULT@
-+# Enabling this option will make it possible to specify bind paths to locations
-+# that do not currently exist within the container, similar to the overlay
-+# option. This will only be used if overlay is not enabled.
-+@ENABLE_UNDERLAY@ = @ENABLE_UNDERLAY_DEFAULT@
-+
-+
- # MOUNT SLAVE: [BOOL]
- # DEFAULT: @MOUNT_SLAVE_DEFAULT@
- # Should we automatically propagate file-system changes from the host?
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 9cb40b6..e1eff01 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -15,7 +15,7 @@ EXTRA_PROGRAMS = action-suid mount-suid start-suid
- cleanupd_SOURCES = cleanupd.c util/util.c util/file.c util/message.c util/privilege.c util/config_parser.c util/registry.c
- cleanupd_CPPFLAGS = $(AM_CPPFLAGS)
-
--action_SOURCES = action.c util/util.c util/file.c util/registry.c util/privilege.c util/sessiondir.c util/suid.c util/cleanupd.c util/daemon.c util/mount.c
-+action_SOURCES = action.c util/util.c util/file.c util/registry.c util/privilege.c util/sessiondir.c util/suid.c util/cleanupd.c util/daemon.c util/mount.c util/mountlist.c
- action_LDADD = lib/image/libsingularity-image.la lib/runtime/libsingularity-runtime.la action-lib/libinternal.la
- action_CPPFLAGS = $(AM_CPPFLAGS)
-
-@@ -24,7 +24,7 @@ builddef_LDADD = lib/image/libsingularity-image.la lib/runtime/libsingularity-ru
- builddef_CPPFLAGS = $(AM_CPPFLAGS)
- builddef_LDFLAGS = -static
-
--start_SOURCES = start.c util/util.c util/file.c util/registry.c util/privilege.c util/sessiondir.c util/suid.c util/cleanupd.c util/fork.c util/daemon.c util/signal.c util/mount.c
-+start_SOURCES = start.c util/util.c util/file.c util/registry.c util/privilege.c util/sessiondir.c util/suid.c util/cleanupd.c util/fork.c util/daemon.c util/signal.c util/mount.c util/mountlist.c
- start_LDADD = lib/image/libsingularity-image.la lib/runtime/libsingularity-runtime.la action-lib/libinternal.la
- start_CPPFLAGS = $(AM_CPPFLAGS)
-
-@@ -33,7 +33,7 @@ docker_extract_LDADD = -larchive
- docker_extract_CPPFLAGS = $(AM_CPPFLAGS)
- docker_extract_LDFLAGS = -static
-
--mount_SOURCES = mount.c util/util.c util/file.c util/registry.c util/suid.c util/privilege.c util/mount.c
-+mount_SOURCES = mount.c util/util.c util/file.c util/registry.c util/suid.c util/privilege.c util/mount.c util/mountlist.c
- mount_LDADD = lib/image/libsingularity-image.la lib/runtime/libsingularity-runtime.la
- mount_CPPFLAGS = $(AM_CPPFLAGS)
-
-diff --git a/src/lib/image/Makefile.am b/src/lib/image/Makefile.am
-index 81e7161..44cfb42 100644
---- a/src/lib/image/Makefile.am
-+++ b/src/lib/image/Makefile.am
-@@ -13,7 +13,7 @@ distincludedir = $(includedir)/singularity
- noinst_LTLIBRARIES = libimage.la
- #libimage_la_LIBADD = bind/libinternal.la create/libinternal.la check/libinternal.la expand/libinternal.la mount/libinternal.la offset/libinternal.la open/libinternal.la ext3/libinternal.la dir/libinternal.la squashfs/libinternal.la
- libimage_la_LIBADD = ext3/libinternal.la dir/libinternal.la squashfs/libinternal.la
--libimage_la_SOURCES = image.c bind.c ../../util/registry.c ../../util/message.c ../../util/config_parser.c ../../util/privilege.c ../../util/util.c ../../util/file.c ../../util/suid.c ../../util/mount.c
-+libimage_la_SOURCES = image.c bind.c ../../util/registry.c ../../util/message.c ../../util/config_parser.c ../../util/privilege.c ../../util/util.c ../../util/file.c ../../util/suid.c ../../util/mount.c ../../util/mountlist.c
- libimage_la_CFLAGS = $(AM_CFLAGS) # This fixes duplicate sources in library and progs
-
- distinclude_HEADERS = image.h bind.h
-diff --git a/src/lib/runtime/Makefile.am b/src/lib/runtime/Makefile.am
-index ed83005..d292cca 100644
---- a/src/lib/runtime/Makefile.am
-+++ b/src/lib/runtime/Makefile.am
-@@ -11,7 +11,7 @@ distincludedir = $(includedir)/singularity
-
- noinst_LTLIBRARIES = libinternal.la
- libinternal_la_LIBADD = ns/libinternal.la mounts/libinternal.la files/libinternal.la enter/libinternal.la overlayfs/libinternal.la environment/libinternal.la autofs/libinternal.la
--libinternal_la_SOURCES = runtime.c ../../util/fork.c ../../util/registry.c ../../util/message.c ../../util/config_parser.c ../../util/privilege.c ../../util/util.c ../../util/file.c ../../util/setns.c ../../util/mount.c ../../util/cleanupd.c ../../util/sessiondir.c ../../action-lib/ready.c
-+libinternal_la_SOURCES = runtime.c ../../util/fork.c ../../util/registry.c ../../util/message.c ../../util/config_parser.c ../../util/privilege.c ../../util/util.c ../../util/file.c ../../util/setns.c ../../util/mount.c ../../util/cleanupd.c ../../util/sessiondir.c ../../action-lib/ready.c ../../util/mountlist.c
- libinternal_la_CFLAGS = $(AM_CFLAGS) # This fixes duplicate sources in library and progs
-
- distinclude_HEADERS = runtime.h
-diff --git a/src/lib/runtime/files/Makefile.am b/src/lib/runtime/files/Makefile.am
-index 017c0ee..c2551ce 100644
---- a/src/lib/runtime/files/Makefile.am
-+++ b/src/lib/runtime/files/Makefile.am
-@@ -1,4 +1,4 @@
--SUBDIRS = passwd group resolvconf libs
-+SUBDIRS = passwd group resolvconf
-
- MAINTAINERCLEANFILES = Makefile.in
- DISTCLEANFILES = Makefile
-@@ -11,7 +11,7 @@ AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\
-
- noinst_LTLIBRARIES = libinternal.la
-
--libinternal_la_LIBADD = passwd/libinternal.la group/libinternal.la resolvconf/libinternal.la libs/libinternal.la
-+libinternal_la_LIBADD = passwd/libinternal.la group/libinternal.la resolvconf/libinternal.la
- libinternal_la_SOURCES = files.c file-bind.c
-
- EXTRA_DIST = file-bind.h files.h
-diff --git a/src/lib/runtime/files/files.c b/src/lib/runtime/files/files.c
-index 434d53c..915f81a 100644
---- a/src/lib/runtime/files/files.c
-+++ b/src/lib/runtime/files/files.c
-@@ -36,7 +36,6 @@
- #include "./passwd/passwd.h"
- #include "./group/group.h"
- #include "./resolvconf/resolvconf.h"
--#include "./libs/libs.h"
-
-
- int _singularity_runtime_files(void) {
-@@ -46,7 +45,6 @@ int _singularity_runtime_files(void) {
- retval += _singularity_runtime_files_passwd();
- retval += _singularity_runtime_files_group();
- retval += _singularity_runtime_files_resolvconf();
-- retval += _singularity_runtime_files_libs();
-
- return(retval);
- }
-diff --git a/src/lib/runtime/files/libs/Makefile.am b/src/lib/runtime/files/libs/Makefile.am
-deleted file mode 100644
-index f54f504..0000000
---- a/src/lib/runtime/files/libs/Makefile.am
-+++ /dev/null
-@@ -1,12 +0,0 @@
--MAINTAINERCLEANFILES = Makefile.in
--DISTCLEANFILES = Makefile
--CLEANFILES = core.* *~ *.la
--
--AM_CFLAGS = -Wall -fpie
--AM_LDFLAGS = -pie
--AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DLIBEXECDIR=\"$(libexecdir)\" $(SINGULARITY_DEFINES)
--
--noinst_LTLIBRARIES = libinternal.la
--libinternal_la_SOURCES = libs.c
--
--EXTRA_DIST = libs.h
-diff --git a/src/lib/runtime/files/libs/libs.c b/src/lib/runtime/files/libs/libs.c
-deleted file mode 100644
-index 4ba6f78..0000000
---- a/src/lib/runtime/files/libs/libs.c
-+++ /dev/null
-@@ -1,169 +0,0 @@
--/*
-- * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-- * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-- *
-- * Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
-- *
-- * Copyright (c) 2016-2017, The Regents of the University of California,
-- * through Lawrence Berkeley National Laboratory (subject to receipt of any
-- * required approvals from the U.S. Dept. of Energy). All rights reserved.
-- *
-- * This software is licensed under a customized 3-clause BSD license. Please
-- * consult LICENSE file distributed with the sources of this project regarding
-- * your rights to use or distribute this software.
-- *
-- * NOTICE. This Software was developed under funding from the U.S. Department of
-- * Energy and the U.S. Government consequently retains certain rights. As such,
-- * the U.S. Government has been granted for itself and others acting on its
-- * behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
-- * to reproduce, distribute copies to the public, prepare derivative works, and
-- * perform publicly and display publicly, and to permit other to do so.
-- *
--*/
--
--#ifndef _GNU_SOURCE
--#define _GNU_SOURCE
--#endif
--
--#include <errno.h>
--#include <fcntl.h>
--#include <stdio.h>
--#include <string.h>
--#include <sys/mount.h>
--#include <sys/stat.h>
--#include <unistd.h>
--#include <stdlib.h>
--#include <libgen.h>
--#include <linux/limits.h>
--
--#include "config.h"
--#include "util/file.h"
--#include "util/util.h"
--#include "util/message.h"
--#include "util/privilege.h"
--#include "util/config_parser.h"
--#include "util/registry.h"
--#include "util/mount.h"
--
--#include "../file-bind.h"
--#include "../../runtime.h"
--
--
--int _singularity_runtime_files_libs(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-- char *tmpdir = singularity_registry_get("SESSIONDIR");
-- char *includelibs_string;
-- char *libdir = joinpath(tmpdir, "/libs");
-- char *libdir_contained = joinpath(container_dir, "/.singularity.d/libs");
--
-- if ( ( includelibs_string = singularity_registry_get("CONTAINLIBS") ) != NULL ) {
-- char *tok = NULL;
-- char *current = strtok_r(strdup(includelibs_string), ",", &tok);
--
-- singularity_message(DEBUG, "Parsing SINGULARITY_CONTAINLIBS for user-specified libraries to include.\n");
--
-- free(includelibs_string);
--
-- singularity_message(DEBUG, "Checking if libdir in container exists: %s\n", libdir_contained);
-- if ( is_dir(libdir_contained) != 0 ) {
-- singularity_message(WARNING, "Library bind directory not present in container, update container\n");
-- }
--
-- singularity_message(DEBUG, "Creating session libdir at: %s\n", libdir);
-- if ( container_mkpath_nopriv(libdir, 0755) != 0 ) {
-- singularity_message(ERROR, "Failed creating temp lib directory at: %s\n", libdir);
-- ABORT(255);
-- }
--
-- while (current != NULL ) {
-- char *dest = NULL;
-- char *source = NULL;
--
-- singularity_message(DEBUG, "Evaluating requested library path: %s\n", current);
--
-- dest = joinpath(libdir, basename(current));
--
-- if ( is_file(dest) == 0 ) {
-- singularity_message(VERBOSE3, "Staged library exists, skipping: %s\n", current);
-- current = strtok_r(NULL, ",", &tok);
-- continue;
-- }
--
-- if ( is_link(current) == 0 ) {
-- char *link_name;
-- ssize_t len;
--
-- link_name = (char *) malloc(PATH_MAX);
--
-- len = readlink(current, link_name, PATH_MAX-1); // Flawfinder: ignore
-- if ( ( len > 0 ) && ( len <= PATH_MAX) ) {
-- link_name[len] = '\0';
-- singularity_message(VERBOSE3, "Found library link source: %s -> %s\n", current, link_name);
-- if ( link_name[0] == '/' ) {
-- source = strdup(link_name);
-- } else {
-- if ( link_name[0] == '/' ) {
-- source = strdup(link_name);
-- } else {
-- source = joinpath(dirname(strdup(current)), link_name);
-- }
-- }
-- } else {
-- singularity_message(WARNING, "Failed reading library link for %s: %s\n", current, strerror(errno));
-- ABORT(255);
-- }
-- free(link_name);
--
-- } else if (is_file(current) == 0 ) {
-- source = strdup(current);
-- singularity_message(VERBOSE3, "Found library source: %s\n", source);
-- } else {
-- singularity_message(WARNING, "Could not find library: %s\n", current);
-- current = strtok_r(NULL, ",", &tok);
-- continue;
-- }
--
-- singularity_message(DEBUG, "Binding library source here: %s -> %s\n", source, dest);
--
-- if ( fileput_nopriv(dest, "") != 0 ) {
-- singularity_message(ERROR, "Failed creating file at %s: %s\n", dest, strerror(errno));
-- ABORT(255);
-- }
--
-- singularity_message(VERBOSE, "Binding file '%s' to '%s'\n", source, dest);
-- if ( singularity_mount(source, dest, NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error binding %s to %s: %s\n", source, dest, strerror(errno));
-- ABORT(255);
-- }
--
-- free(source);
-- free(dest);
-- current = strtok_r(NULL, ",", &tok);
-- }
--
-- if ( is_dir(libdir_contained) != 0 ) {
-- char *ld_path;
-- singularity_message(DEBUG, "Attempting to create contained libdir\n");
-- if ( container_mkpath_priv(libdir_contained, 0755) != 0 ) {
-- singularity_message(ERROR, "Failed creating directory %s :%s\n", libdir_contained, strerror(errno));
-- ABORT(255);
-- }
-- ld_path = envar_path("LD_LIBRARY_PATH");
-- if ( ld_path == NULL ) {
-- singularity_message(DEBUG, "Setting LD_LIBRARY_PATH to '/.singularity.d/libs'\n");
-- envar_set("LD_LIBRARY_PATH", "/.singularity.d/libs", 1);
-- } else {
-- singularity_message(DEBUG, "Prepending '/.singularity.d/libs' to LD_LIBRARY_PATH\n");
-- envar_set("LD_LIBRARY_PATH", strjoin("/.singularity.d/libs:", ld_path), 1);
-- }
-- }
--
-- singularity_message(VERBOSE, "Binding libdir '%s' to '%s'\n", libdir, libdir_contained);
-- if ( singularity_mount(libdir, libdir_contained, NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error binding %s to %s: %s\n", libdir, libdir_contained, strerror(errno));
-- ABORT(255);
-- }
-- }
--
-- return(0);
--}
-diff --git a/src/lib/runtime/files/libs/libs.h b/src/lib/runtime/files/libs/libs.h
-deleted file mode 100644
-index e5f843d..0000000
---- a/src/lib/runtime/files/libs/libs.h
-+++ /dev/null
-@@ -1,30 +0,0 @@
--/*
-- * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-- * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-- *
-- * Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
-- *
-- * Copyright (c) 2016-2017, The Regents of the University of California,
-- * through Lawrence Berkeley National Laboratory (subject to receipt of any
-- * required approvals from the U.S. Dept. of Energy). All rights reserved.
-- *
-- * This software is licensed under a customized 3-clause BSD license. Please
-- * consult LICENSE file distributed with the sources of this project regarding
-- * your rights to use or distribute this software.
-- *
-- * NOTICE. This Software was developed under funding from the U.S. Department of
-- * Energy and the U.S. Government consequently retains certain rights. As such,
-- * the U.S. Government has been granted for itself and others acting on its
-- * behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
-- * to reproduce, distribute copies to the public, prepare derivative works, and
-- * perform publicly and display publicly, and to permit other to do so.
-- *
--*/
--
--#ifndef __SINGULARITY_RUNTIME_FILES_LIBS_H_
--#define __SINGULARITY_RUNTIME_FILES_LIBS_H_
--
--extern int _singularity_runtime_files_libs(void);
--
--#endif /* __SINGULARITY_RUNTIME_FILES_LIBS_H */
--
-diff --git a/src/lib/runtime/mounts/Makefile.am b/src/lib/runtime/mounts/Makefile.am
-index f945dc2..8ec7c7f 100644
---- a/src/lib/runtime/mounts/Makefile.am
-+++ b/src/lib/runtime/mounts/Makefile.am
-@@ -1,4 +1,4 @@
--SUBDIRS = binds cwd dev home hostfs kernelfs scratch tmp userbinds
-+SUBDIRS = binds cwd dev domounts home hostfs kernelfs libs scratch tmp userbinds
-
- MAINTAINERCLEANFILES = Makefile.in
- DISTCLEANFILES = Makefile
-@@ -11,7 +11,7 @@ AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\
-
- noinst_LTLIBRARIES = libinternal.la
-
--libinternal_la_LIBADD = binds/libinternal.la cwd/libinternal.la dev/libinternal.la home/libinternal.la hostfs/libinternal.la kernelfs/libinternal.la scratch/libinternal.la tmp/libinternal.la userbinds/libinternal.la
-+libinternal_la_LIBADD = binds/libinternal.la cwd/libinternal.la dev/libinternal.la domounts/libinternal.la home/libinternal.la hostfs/libinternal.la kernelfs/libinternal.la libs/libinternal.la scratch/libinternal.la tmp/libinternal.la userbinds/libinternal.la
- libinternal_la_SOURCES = mounts.c
-
- EXTRA_DIST = mounts.h
-diff --git a/src/lib/runtime/mounts/binds/binds.c b/src/lib/runtime/mounts/binds/binds.c
-index f27323b..4865aea 100644
---- a/src/lib/runtime/mounts/binds/binds.c
-+++ b/src/lib/runtime/mounts/binds/binds.c
-@@ -35,17 +35,17 @@
- #include "util/file.h"
- #include "util/util.h"
- #include "util/message.h"
--#include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
-
--int _singularity_runtime_mount_binds(void) {
-+int _singularity_runtime_mount_binds(struct mountlist *mountlist) {
- char *tmp_config_string;
-- char *container_dir = CONTAINER_FINALDIR;
-+ char *source = NULL;
-+ char *dest = NULL;
-
- if ( singularity_registry_get("CONTAIN") != NULL ) {
- singularity_message(DEBUG, "Skipping bind mounts as contain was requested\n");
-@@ -60,14 +60,21 @@ int _singularity_runtime_mount_binds(void) {
- while ( *tmp_config_string_list != NULL ) {
- tmp_config_string = strdup(*tmp_config_string_list);
- tmp_config_string_list++;
-- char *source = strtok(tmp_config_string, ":");
-- char *dest = strtok(NULL, ":");
-+ if (source != NULL)
-+ free(source);
-+ if (dest != NULL)
-+ free(dest);
-+ source = strtok(tmp_config_string, ":");
-+ dest = strtok(NULL, ":");
-+ source = strdup(source);
- chomp(source);
- if ( dest == NULL ) {
- dest = strdup(source);
- } else {
-+ dest = strdup(dest);
- chomp(dest);
- }
-+ free(tmp_config_string);
-
- singularity_message(VERBOSE2, "Found 'bind path' = %s, %s\n", source, dest);
-
-@@ -76,62 +83,17 @@ int _singularity_runtime_mount_binds(void) {
- continue;
- }
-
-- singularity_message(DEBUG, "Checking if bind point is already mounted: %s\n", dest);
-- if ( check_mounted(dest) >= 0 ) {
-- singularity_message(VERBOSE, "Not mounting bind point (already mounted): %s\n", dest);
-- continue;
-- }
--
-- if ( ( is_file(source) == 0 ) && ( is_file(joinpath(container_dir, dest)) < 0 ) ) {
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL ) {
-- char *basedir = dirname(joinpath(container_dir, dest));
--
-- singularity_message(DEBUG, "Checking base directory for file %s ('%s')\n", dest, basedir);
-- if ( is_dir(basedir) != 0 ) {
-- singularity_message(DEBUG, "Creating base directory for file bind\n");
-- if ( container_mkpath_priv(basedir, 0755) != 0 ) {
-- singularity_message(ERROR, "Failed creating base directory to bind file: %s\n", dest);
-- ABORT(255);
-- }
-- }
--
-- free(basedir);
--
-- singularity_message(VERBOSE3, "Creating bind file on overlay file system: %s\n", dest);
-- if ( fileput_priv(joinpath(container_dir, dest), "") != 0 ) {
-- continue;
-- }
-- singularity_message(DEBUG, "Created bind file: %s\n", dest);
-- } else {
-- singularity_message(WARNING, "Non existent bind point (file) in container: '%s'\n", dest);
-- continue;
-- }
-- } else if ( ( is_dir(source) == 0 ) && ( is_dir(joinpath(container_dir, dest)) < 0 ) ) {
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL ) {
-- singularity_message(VERBOSE3, "Creating bind directory on overlay file system: %s\n", dest);
-- if ( container_mkpath_priv(joinpath(container_dir, dest), 0755) < 0 ) {
-- singularity_message(WARNING, "Could not create bind point directory in container %s: %s\n", dest, strerror(errno));
-- continue;
-- }
-- } else {
-- singularity_message(WARNING, "Non existent bind point (directory) in container: '%s'\n", dest);
-- continue;
-- }
-- }
--
-- singularity_message(VERBOSE, "Binding '%s' to '%s/%s'\n", source, container_dir, dest);
-- if ( singularity_mount(source, joinpath(container_dir, dest), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error binding the path %s: %s\n", source, strerror(errno));
-- ABORT(255);
-- }
-- if ( singularity_priv_userns_enabled() != 1 ) {
-- if ( singularity_mount(NULL, joinpath(container_dir, dest), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error remounting the path %s: %s\n", source, strerror(errno));
-- ABORT(255);
-- }
-- }
-+ singularity_message(VERBOSE, "Queuing bind mount of '%s' to '%s'\n", source, dest);
-+ mountlist_add(mountlist, source, dest, NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, 0);
-+ source = NULL;
-+ dest = NULL;
- }
-
-+ if (source != NULL)
-+ free(source);
-+ if (dest != NULL)
-+ free(dest);
-+
- return(0);
- }
-
-diff --git a/src/lib/runtime/mounts/binds/binds.h b/src/lib/runtime/mounts/binds/binds.h
-index f555370..200ab76 100644
---- a/src/lib/runtime/mounts/binds/binds.h
-+++ b/src/lib/runtime/mounts/binds/binds.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_BINDS_H_
- #define __SINGULARITY_RUNTIME_MOUNT_BINDS_H_
-
--extern int _singularity_runtime_mount_binds(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_binds(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_BINDS_H */
-
-diff --git a/src/lib/runtime/mounts/cwd/cwd.c b/src/lib/runtime/mounts/cwd/cwd.c
-index c251edc..c90ffa4 100644
---- a/src/lib/runtime/mounts/cwd/cwd.c
-+++ b/src/lib/runtime/mounts/cwd/cwd.c
-@@ -40,18 +40,15 @@
- #include "util/file.h"
- #include "util/util.h"
- #include "util/message.h"
--#include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
-
--int _singularity_runtime_mount_cwd(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-+int _singularity_runtime_mount_cwd(struct mountlist *mountlist) {
- char *cwd_path = (char *)malloc(PATH_MAX);
-- int r;
-
- singularity_message(DEBUG, "Checking to see if we should mount current working directory\n");
- if ( cwd_path == NULL ) {
-@@ -73,34 +70,6 @@ int _singularity_runtime_mount_cwd(void) {
- return(0);
- }
-
-- singularity_message(DEBUG, "Checking if current directory already available within container: %s\n", cwd_path);
-- if ( is_dir(joinpath(container_dir, cwd_path)) == 0 ) {
-- char *cwd_fileid = file_devino(cwd_path);
-- char *container_cwd_fileid = file_devino(joinpath(container_dir, cwd_path));
--
-- singularity_message(DEBUG, "Checking if container's cwd == host's cwd\n");
-- if ( strcmp(cwd_fileid, container_cwd_fileid) == 0 ) {
-- singularity_message(VERBOSE, "Not mounting current directory: location already available within container\n");
-- free(cwd_path);
-- free(cwd_fileid);
-- free(container_cwd_fileid);
-- return(0);
-- } else {
-- singularity_message(DEBUG, "Container's cwd is not the same as the host, continuing on...\n");
-- }
-- } else {
-- singularity_message(VERBOSE, "Not mounting CWD, directory does not exist within container: %s\n", cwd_path);
-- free(cwd_path);
-- return(0);
-- }
--
-- singularity_message(DEBUG, "Checking if CWD is already mounted: %s\n", cwd_path);
-- if ( check_mounted(cwd_path) >= 0 ) {
-- singularity_message(VERBOSE, "Not mounting CWD (already mounted in container): %s\n", cwd_path);
-- free(cwd_path);
-- return(0);
-- }
--
- singularity_message(DEBUG, "Checking if cwd is in an operating system directory\n");
- if ( ( strcmp(cwd_path, "/") == 0 ) ||
- ( strcmp(cwd_path, "/bin") == 0 ) ||
-@@ -131,16 +100,9 @@ int _singularity_runtime_mount_cwd(void) {
- return(0);
- }
-
-- singularity_message(VERBOSE, "Binding '%s' to '%s/%s'\n", cwd_path, container_dir, cwd_path);
-- r = singularity_mount(cwd_path, joinpath(container_dir, cwd_path), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL);
-- if ( singularity_priv_userns_enabled() != 1 ) {
-- r = singularity_mount(NULL, joinpath(container_dir, cwd_path), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL);
-- }
-- if ( r < 0 ) {
-- singularity_message(WARNING, "Could not bind CWD to container %s: %s\n", cwd_path, strerror(errno));
-- }
-+ singularity_message(VERBOSE, "Queuing bind mount of '%s' to '%s' if mountpoint exists\n", cwd_path, cwd_path);
-+ mountlist_add(mountlist, NULL, cwd_path, NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, ML_ONLY_IF_POINT_PRESENT);
-
-- free(cwd_path);
- return(0);
- }
-
-diff --git a/src/lib/runtime/mounts/cwd/cwd.h b/src/lib/runtime/mounts/cwd/cwd.h
-index c2c9fd0..3404e12 100644
---- a/src/lib/runtime/mounts/cwd/cwd.h
-+++ b/src/lib/runtime/mounts/cwd/cwd.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_CWD_H_
- #define __SINGULARITY_RUNTIME_MOUNT_CWD_H_
-
--extern int _singularity_runtime_mount_cwd(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_cwd(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_CWD_H */
-
-diff --git a/src/lib/runtime/mounts/dev/dev.c b/src/lib/runtime/mounts/dev/dev.c
-index 7dc7a76..cbd6f19 100644
---- a/src/lib/runtime/mounts/dev/dev.c
-+++ b/src/lib/runtime/mounts/dev/dev.c
-@@ -43,14 +43,14 @@
- #include "util/registry.h"
- #include "util/mount.h"
- #include "util/suid.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
- static int bind_dev(char *tmpdir, char *dev);
-
-
--int _singularity_runtime_mount_dev(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-+int _singularity_runtime_mount_dev(struct mountlist *mountlist) {
-
- if ( ( singularity_registry_get("CONTAIN") != NULL ) || ( strcmp("minimal", singularity_config_get_value(MOUNT_DEV)) == 0 ) ) {
- char *sessiondir = singularity_registry_get("SESSIONDIR");
-@@ -58,22 +58,6 @@ int _singularity_runtime_mount_dev(void) {
- char *nvopt = singularity_registry_get("NV");
- char memfs_type[] = "tmpfs";
-
-- if ( is_dir(joinpath(container_dir, "/dev")) < 0 ) {
-- int ret;
--
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") == NULL ) {
-- singularity_message(WARNING, "Not mounting devices as /dev directory does not exist within container\n");
-- return(-1);
-- }
--
-- ret = container_mkpath_priv(joinpath(container_dir, "/dev"), 0755);
--
-- if ( ret < 0 ) {
-- singularity_message(ERROR, "Could not create /dev inside container\n");
-- ABORT(255);
-- }
-- }
--
- singularity_message(DEBUG, "Creating temporary staged /dev\n");
- if ( container_mkpath_nopriv(devdir, 0755) != 0 ) {
- singularity_message(ERROR, "Failed creating the session device directory %s: %s\n", devdir, strerror(errno));
-@@ -220,31 +204,18 @@ int _singularity_runtime_mount_dev(void) {
- free(devpts_opts);
- }
-
-- singularity_message(DEBUG, "Mounting minimal staged /dev into container\n");
-- if ( singularity_mount(devdir, joinpath(container_dir, "/dev"), NULL, MS_BIND|MS_REC, NULL) < 0 ) {
-- singularity_message(WARNING, "Could not stage dev tree: '%s' -> '%s': %s\n", devdir, joinpath(container_dir, "/dev"), strerror(errno));
-- free(sessiondir);
-- free(devdir);
-- return(-1);
-- }
-+ singularity_message(DEBUG, "Queuing bind mount of minimal staged /dev to mount into container\n");
-+ mountlist_add(mountlist, devdir, strdup("/dev"), NULL, MS_BIND|MS_REC, 0);
-
- free(sessiondir);
-- free(devdir);
-
- return(0);
- }
-
- singularity_message(DEBUG, "Checking configuration file for 'mount dev'\n");
- if ( singularity_config_get_bool_char(MOUNT_DEV) > 0 ) {
-- if ( is_dir(joinpath(container_dir, "/dev")) == 0 ) {
-- singularity_message(VERBOSE, "Bind mounting /dev\n");
-- if ( singularity_mount("/dev", joinpath(container_dir, "/dev"), NULL, MS_BIND|MS_NOSUID|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Could not bind mount container's /dev: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- } else {
-- singularity_message(WARNING, "Not mounting /dev, container has no bind directory\n");
-- }
-+ singularity_message(VERBOSE, "Queuing bind mount of /dev\n");
-+ mountlist_add(mountlist, NULL, strdup("/dev"), NULL, MS_BIND|MS_NOSUID|MS_REC, 0);
- return(0);
- }
-
-diff --git a/src/lib/runtime/mounts/dev/dev.h b/src/lib/runtime/mounts/dev/dev.h
-index 2e15d20..f929017 100644
---- a/src/lib/runtime/mounts/dev/dev.h
-+++ b/src/lib/runtime/mounts/dev/dev.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_DEV_H_
- #define __SINGULARITY_RUNTIME_MOUNT_DEV_H_
-
--extern int _singularity_runtime_mount_dev(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_dev(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_DEV_H */
-
-diff --git a/src/lib/runtime/mounts/domounts/Makefile.am b/src/lib/runtime/mounts/domounts/Makefile.am
-new file mode 100644
-index 0000000..0774cef
---- /dev/null
-+++ b/src/lib/runtime/mounts/domounts/Makefile.am
-@@ -0,0 +1,12 @@
-+MAINTAINERCLEANFILES = Makefile.in
-+DISTCLEANFILES = Makefile
-+CLEANFILES = core.* *~ *.la
-+
-+AM_CFLAGS = -Wall -fpie
-+AM_LDFLAGS = -pie
-+AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DLIBEXECDIR=\"$(libexecdir)\" $(SINGULARITY_DEFINES)
-+
-+noinst_LTLIBRARIES = libinternal.la
-+libinternal_la_SOURCES = domounts.c
-+
-+EXTRA_DIST = domounts.h
-diff --git a/src/lib/runtime/mounts/domounts/domounts.c b/src/lib/runtime/mounts/domounts/domounts.c
-new file mode 100644
-index 0000000..485a87d
---- /dev/null
-+++ b/src/lib/runtime/mounts/domounts/domounts.c
-@@ -0,0 +1,415 @@
-+/*
-+ * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-+ * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-+ *
-+ * Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
-+ *
-+ * Copyright (c) 2016-2017, The Regents of the University of California,
-+ * through Lawrence Berkeley National Laboratory (subject to receipt of any
-+ * required approvals from the U.S. Dept. of Energy). All rights reserved.
-+ *
-+ * This software is licensed under a customized 3-clause BSD license. Please
-+ * consult LICENSE file distributed with the sources of this project regarding
-+ * your rights to use or distribute this software.
-+ *
-+ * NOTICE. This Software was developed under funding from the U.S. Department of
-+ * Energy and the U.S. Government consequently retains certain rights. As such,
-+ * the U.S. Government has been granted for itself and others acting on its
-+ * behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
-+ * to reproduce, distribute copies to the public, prepare derivative works, and
-+ * perform publicly and display publicly, and to permit other to do so.
-+ *
-+*/
-+
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <dirent.h>
-+#include <sys/mount.h>
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <stdlib.h>
-+#include <libgen.h>
-+
-+#include "config.h"
-+#include "util/config_parser.h"
-+#include "util/file.h"
-+#include "util/util.h"
-+#include "util/message.h"
-+#include "util/privilege.h"
-+#include "util/registry.h"
-+#include "util/mount.h"
-+#include "util/mountlist.h"
-+
-+void singularity_runtime_domounts_init(struct mountlist *mountlist) {
-+ memset(mountlist, 0, sizeof(*mountlist));
-+
-+ singularity_registry_set("UNDERLAY_ENABLED", NULL);
-+ if ( ( singularity_config_get_bool_char(ENABLE_UNDERLAY) > 0 ) ) {
-+ if ( singularity_registry_get("DISABLE_UNDERLAY") != NULL ) {
-+ singularity_message(VERBOSE3, "Not enabling underlay via environment\n");
-+ } else {
-+ singularity_message(VERBOSE3, "Enabling underlay\n");
-+ singularity_registry_set("UNDERLAY_ENABLED", "1");
-+ }
-+ }
-+}
-+
-+static void bind_image_final(char *source, char *sub_path) {
-+ char *target = joinpath(CONTAINER_FINALDIR, sub_path);
-+ singularity_message(VERBOSE3, "Binding %s to %s\n", source, target);
-+ if ( singularity_mount(source, target, NULL, MS_BIND|MS_NOSUID|MS_REC, NULL) < 0 ) {
-+
-+ singularity_message(ERROR, "Failed binding %s to %s\n", source, target);
-+ ABORT(255);
-+ }
-+ free(target);
-+}
-+
-+static void mount_missing(char *image_path, char *underlay_path, char *sub_path) {
-+ DIR *dir;
-+ struct dirent *dp;
-+ char *source = NULL;
-+ char *target = NULL;
-+ char *existing_path = NULL;
-+ int binds = 0;
-+
-+ singularity_message(VERBOSE3, "Mounting missing files/directories from %s\n", image_path);
-+
-+ // First find an existing mountpoint inside the underlay directory, if any
-+ if ( ( dir = opendir(underlay_path) ) == NULL ) {
-+ singularity_message(ERROR, "Could not open underlay dir %s", underlay_path);
-+ ABORT(255);
-+ }
-+ while ( (dp = readdir(dir) ) != NULL ) {
-+ if ( ( strcmp(dp->d_name, ".") != 0 ) &&
-+ ( strcmp(dp->d_name, "..") != 0 ) ) {
-+ break;
-+ }
-+ }
-+ if ( dp == NULL ) {
-+ singularity_message(VERBOSE3, "Skipping empty underlay directory: %s\n", underlay_path);
-+ closedir(dir);
-+ return;
-+ }
-+ singularity_message(DEBUG, "There is at least one mountpoint in %s: %s\n", underlay_path, dp->d_name);
-+ existing_path = joinpath(sub_path, dp->d_name);
-+ closedir(dir);
-+
-+ // Now search through the image for missing mountpoints in the underlay
-+ if ( ( dir = opendir(image_path) ) == NULL ) {
-+ singularity_message(ERROR, "Could not open dir %s", image_path);
-+ ABORT(255);
-+ }
-+
-+ while ( ( dp = readdir(dir) ) != NULL ) {
-+ if ( (strcmp(dp->d_name, ".") == 0 ) || (strcmp(dp->d_name, "..") == 0 ) )
-+ continue;
-+ if ( source != NULL )
-+ free(source);
-+ if ( target != NULL )
-+ free(target);
-+ source = joinpath(image_path, dp->d_name);
-+ target = joinpath(underlay_path, dp->d_name);
-+ char *new_sub_path;
-+ if ( strcmp(sub_path, "/") == 0 )
-+ new_sub_path = strdup(dp->d_name);
-+ else
-+ new_sub_path = joinpath(sub_path, dp->d_name);
-+ struct stat statbuf;
-+ int statret = lstat(target, &statbuf);
-+
-+ if ( is_link(source) == 0 ) {
-+ if ( statret < 0 ) {
-+ char link[PATH_MAX+1];
-+ ssize_t linksize = readlink(source, link, PATH_MAX); // Flawfinder: ignore not controllable by user
-+ if ( linksize <= 0 ) {
-+ singularity_message(WARNING, "Failure reading link info from %s, skipping: %s\n", source, strerror(errno));
-+ } else {
-+ link[linksize] = '\0';
-+ singularity_message(VERBOSE3, "Creating symlink on underlay file system: %s->%s\n", target, link);
-+ singularity_priv_escalate();
-+ if ( symlink(link, target) < 0 )
-+ singularity_message(WARNING, "Failure making link to %s at %s, skipping: %s\n", target, source, strerror(errno));
-+ singularity_priv_drop();
-+ }
-+ } else if ( S_ISDIR(statbuf.st_mode) ) {
-+ // It has been replaced by a directory, recurse into it
-+ mount_missing(source, target, new_sub_path);
-+ } else {
-+ singularity_message(VERBOSE3, "Link point on underlay file system already exists, skipping: %s\n", target);
-+ }
-+ } else if ( is_file(source) == 0 ) {
-+ if ( statret < 0 ) {
-+ singularity_message(VERBOSE3, "Creating file mountpoint on underlay file system: %s\n", target);
-+ if ( fileput_priv(target, "") != 0 ) {
-+ singularity_message(ERROR, "Failed creating underlay file mountpoint: %s\n", target);
-+ ABORT(255);
-+ }
-+ bind_image_final(source, new_sub_path);
-+ binds++;
-+ } else {
-+ singularity_message(VERBOSE3, "File mountpoint on underlay file system already exists, skipping: %s\n", target);
-+ }
-+ } else if ( is_dir(source) == 0 ) {
-+ if ( statret < 0 ) {
-+ singularity_message(VERBOSE3, "Creating directory mountpoint on underlay file system: %s\n", target);
-+ if ( container_mkpath_priv(target, 0755) < 0 ) {
-+ singularity_message(ERROR, "Failed creating underlay directory mountpoint: %s\n", target);
-+ ABORT(255);
-+ }
-+ bind_image_final(source, new_sub_path);
-+ binds++;
-+ } else if ( S_ISDIR(statbuf.st_mode) ) {
-+ mount_missing(source, target, new_sub_path);
-+ } else {
-+ singularity_message(VERBOSE3, "Skipping non-directory target with directory source: %s\n", target);
-+ }
-+ } else {
-+ singularity_message(VERBOSE3, "Skipping source that is neither file nor directory nor symlink: %s\n", source);
-+ }
-+ free(new_sub_path);
-+ }
-+
-+ if ( source != NULL )
-+ free(source);
-+ if ( target != NULL )
-+ free(target);
-+ closedir(dir);
-+
-+ if ( binds > 50 ) {
-+ singularity_message(WARNING, "Underlay of /%s required more than 50 (%d) bind mounts\n",
-+ existing_path, binds);
-+ } else {
-+ singularity_message(DEBUG, "Did %d bind mounts around /%s\n",
-+ binds, existing_path);
-+ }
-+ free(existing_path);
-+}
-+
-+static int do_mounts(struct mountlist *mountlist, int overlay) {
-+ char *container_dir = CONTAINER_FINALDIR;
-+ char *source = NULL;
-+ char *target = NULL;
-+ struct mountlist_point *point;
-+
-+ for (point = mountlist->first; point != NULL; point = point->next) {
-+ source = (char *) point->source;
-+ if ( source == NULL )
-+ source = (char *) point->target;
-+ if ( target != NULL )
-+ free(target);
-+ target = joinpath(container_dir, point->target);
-+
-+ if ( check_mounted(point->target) >= 0 ) {
-+ // make the message only information if ML_ONLY_IF_POINT_PRESENT
-+ int msglevel = ( point->mountlistflags & ML_ONLY_IF_POINT_PRESENT ) ? VERBOSE : WARNING;
-+ singularity_message(msglevel, "Not mounting %s (already mounted in container)\n", point->target);
-+ continue;
-+ }
-+
-+ if ( ( is_file(source) == 0 ) && ( is_file(target) < 0 ) ) {
-+ if ( point->mountlistflags & ML_ONLY_IF_POINT_PRESENT ) {
-+ singularity_message(VERBOSE, "Not mounting '%s', file does not exist within container\n", source);
-+ continue;
-+ }
-+ if ( overlay ) {
-+ char *basedir = strdup(target);
-+ basedir = dirname(basedir);
-+
-+ singularity_message(DEBUG, "Checking base directory for file %s ('%s')\n", target, basedir);
-+ if ( is_dir(basedir) != 0 ) {
-+ singularity_message(DEBUG, "Creating base directory for file mount\n");
-+ if ( container_mkpath_priv(basedir, 0755) != 0 ) {
-+ singularity_message(ERROR, "Failed creating base directory for mounted file: %s\n", target);
-+ ABORT(255);
-+ }
-+ }
-+
-+ free(basedir);
-+
-+ singularity_message(VERBOSE3, "Creating file mountpoint on overlay file system: %s\n", target);
-+ if ( fileput_priv(target, "") != 0 ) {
-+ continue;
-+ }
-+ singularity_message(DEBUG, "Created bind file: %s\n", target);
-+ } else {
-+ singularity_message(WARNING, "Non existent mount point (file) in container: '%s'\n", target);
-+ continue;
-+ }
-+ } else if ( ( is_dir(source) == 0 ) && ( is_dir(target) < 0 ) ) {
-+ if ( point->mountlistflags & ML_ONLY_IF_POINT_PRESENT ) {
-+ singularity_message(VERBOSE, "Not mounting '%s', directory does not exist within container\n", source);
-+ continue;
-+ }
-+ if ( overlay ) {
-+ singularity_message(VERBOSE3, "Creating mount directory on overlay file system: %s\n", target);
-+ if ( container_mkpath_priv(target, 0755) < 0 ) {
-+ singularity_message(WARNING, "Could not create mount point directory in container %s: %s\n", target, strerror(errno));
-+ continue;
-+ }
-+ } else {
-+ singularity_message(WARNING, "Non existent mountpoint (directory) in container: '%s'\n", target);
-+ continue;
-+ }
-+ }
-+
-+ singularity_message(VERBOSE, "Mounting '%s' at '%s'\n", source, target);
-+ int read_only = ( (point->mountflags & MS_RDONLY) != 0 );
-+ point->mountflags &= ~MS_RDONLY;
-+ if ( singularity_mount_point(point) < 0 ) {
-+ singularity_message(ERROR, "There was an error mounting %s: %s\n", source, strerror(errno));
-+ ABORT(255);
-+ }
-+
-+ if ( read_only ) {
-+ if ( singularity_priv_userns_enabled() == 1 ) {
-+ singularity_message(WARNING, "Can not make mount read only within the user namespace: %s\n", target);
-+ } else {
-+ singularity_message(VERBOSE, "Remounting %s read-only\n", target);
-+ point->mountflags |= MS_REMOUNT|MS_RDONLY;
-+ if ( singularity_mount_point(point) < 0 ) {
-+ singularity_message(ERROR, "There was an error write-protecting the path %s: %s\n", source, strerror(errno));
-+ ABORT(255);
-+ }
-+ if ( access(target, W_OK) == 0 || (errno != EROFS && errno != EACCES) ) { // Flawfinder: ignore (precautionary confirmation, not necessary)
-+ singularity_message(ERROR, "Failed to write-protect the path %s: %s\n", source, strerror(errno));
-+ ABORT(255);
-+ }
-+ }
-+ } else if ( singularity_priv_userns_enabled() != 1 ) {
-+ point->mountflags |= MS_REMOUNT;
-+ singularity_message(VERBOSE, "Remounting %s\n", target);
-+ if ( singularity_mount_point(point) < 0 ) {
-+ singularity_message(ERROR, "There was an error remounting the path %s: %s\n", source, strerror(errno));
-+ ABORT(255);
-+ }
-+ }
-+ }
-+
-+ if ( target != NULL )
-+ free(target);
-+
-+ return(0);
-+}
-+
-+static int underlay_mounts(struct mountlist *mountlist) {
-+ char *underlay_dir = joinpath(singularity_registry_get("SESSIONDIR"), "underlay");
-+ char *image_dir = CONTAINER_MOUNTDIR;
-+ char *final_dir = CONTAINER_FINALDIR;
-+ char *source = NULL;
-+ char *underlay_target = NULL;
-+ char *image_target = NULL;
-+ struct mountlist_point *point;
-+
-+ singularity_message(DEBUG, "Creating directory for underlay: %s\n", underlay_dir);
-+ if ( container_mkpath_priv(underlay_dir, 0755) < 0 ) {
-+ singularity_message(ERROR, "Failed creating underlay directory %s: %s\n", underlay_dir, strerror(errno));
-+ ABORT(255);
-+ }
-+
-+ singularity_message(DEBUG, "Unmounting final dir %s\n", final_dir);
-+ singularity_priv_escalate();
-+ if ( umount(final_dir) != 0 ) {
-+ singularity_message(ERROR, "Could not umount final directory %s: %s\n", final_dir, strerror(errno));
-+ ABORT(255);
-+ }
-+ singularity_priv_drop();
-+
-+ singularity_message(DEBUG, "Binding underlay directory to final directory %s->%s\n", underlay_dir, final_dir);
-+ if ( singularity_mount(underlay_dir, final_dir, NULL, MS_BIND|MS_NOSUID|MS_REC, NULL) < 0 ) {
-+ singularity_message(ERROR, "Could not bind mount underlay directory to final directory %s->%s: %s\n", underlay_dir, final_dir, strerror(errno));
-+ ABORT(255);
-+ }
-+
-+ // It's important for the underlay directory to be mounted read-only
-+ // because otherwise when running unprivileged the code inside the
-+ // container would be able to modify it's own root filesystem.
-+ // It's not necessary when running setuid because then the
-+ // root filesystem directory is owned by root, but do the same
-+ // thing anyway for consistency.
-+ singularity_message(DEBUG, "Remounting underlay directory to final directory read-only %s->%s\n", underlay_dir, final_dir);
-+ if ( singularity_mount(underlay_dir, final_dir, NULL, MS_REMOUNT|MS_BIND|MS_NOSUID|MS_REC|MS_RDONLY, NULL) < 0 ) {
-+ singularity_message(ERROR, "Could not re-mount underlay directory to final directory read-only %s->%s: %s\n", underlay_dir, final_dir, strerror(errno));
-+ ABORT(255);
-+ }
-+ errno = 0;
-+ if ( access(final_dir, W_OK) == 0 || (errno != EROFS && errno != EACCES) ) { // Flawfinder: ignore (precautionary confirmation, not necessary)
-+ singularity_message(ERROR, "Failed to write-protect the final directory %s: %s\n", final_dir, strerror(errno));
-+ ABORT(255);
-+ }
-+
-+ // make missing mount points in the underlay area
-+ for (point = mountlist->first; point != NULL; point = point->next) {
-+ if ( point->mountlistflags & ML_ONLY_IF_POINT_PRESENT )
-+ continue;
-+
-+ source = (char *) point->source;
-+ if ( source == NULL )
-+ source = (char *) point->target;
-+ if ( underlay_target != NULL )
-+ free(underlay_target);
-+ if ( image_target != NULL )
-+ free(image_target);
-+ underlay_target = joinpath(underlay_dir, point->target);
-+ image_target = joinpath(image_dir, point->target);
-+ char *basedir = strdup(underlay_target);
-+ basedir = dirname(basedir);
-+
-+ if ( ( is_file(source) == 0 ) && ( is_file(underlay_target) < 0 ) &&
-+ ( ( is_file(image_target) < 0 ) || ( is_dir(basedir) == 0 ) ) ) {
-+
-+ singularity_message(DEBUG, "Checking base directory for file %s ('%s')\n", underlay_target, basedir);
-+ if ( is_dir(basedir) != 0 ) {
-+ singularity_message(DEBUG, "Creating base directory for file mount\n");
-+ if ( container_mkpath_priv(basedir, 0755) != 0 ) {
-+ singularity_message(ERROR, "Failed creating base directory for mounted file: %s\n", underlay_target);
-+ ABORT(255);
-+ }
-+ }
-+
-+
-+ singularity_message(VERBOSE3, "Creating file mountpoint on underlay file system: %s\n", underlay_target);
-+ if ( fileput_priv(underlay_target, "") != 0 ) {
-+ singularity_message(ERROR, "Could not create mount point file in underlay %s: %s\n", underlay_target, strerror(errno));
-+ ABORT(255);
-+ }
-+ singularity_message(DEBUG, "Created bind file: %s\n", underlay_target);
-+ } else if ( ( ( point->filesystemtype != NULL ) ||
-+ ( is_dir(source) == 0 ) ) &&
-+ ( is_dir(underlay_target) < 0 ) &&
-+ ( ( is_dir(image_target) < 0 ) ||
-+ ( is_dir(basedir) == 0 ) ) ) {
-+ singularity_message(VERBOSE3, "Creating mount directory on underlay file system: %s\n", underlay_target);
-+ if ( container_mkpath_priv(underlay_target, 0755) < 0 ) {
-+ singularity_message(ERROR, "Could not create mount point directory in underlay %s: %s\n", underlay_target, strerror(errno));
-+ ABORT(255);
-+ }
-+ }
-+ free(basedir);
-+ }
-+
-+ if ( image_target != NULL )
-+ free(image_target);
-+ if ( underlay_target != NULL )
-+ free(underlay_target);
-+
-+ // mount everything else from the image into the underlay area
-+ mount_missing(image_dir, underlay_dir, "/");
-+
-+ free(underlay_dir);
-+
-+ // finally, do the requested mounts
-+ return(do_mounts(mountlist, 0));
-+}
-+
-+int _singularity_runtime_domounts(struct mountlist *mountlist) {
-+ if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL )
-+ return(do_mounts(mountlist, 1));
-+
-+ if ( singularity_registry_get("UNDERLAY_ENABLED") != NULL )
-+ return(underlay_mounts(mountlist));
-+
-+ return(do_mounts(mountlist, 0));
-+}
-diff --git a/src/lib/runtime/mounts/domounts/domounts.h b/src/lib/runtime/mounts/domounts/domounts.h
-new file mode 100644
-index 0000000..d7464b2
---- /dev/null
-+++ b/src/lib/runtime/mounts/domounts/domounts.h
-@@ -0,0 +1,33 @@
-+/*
-+ * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-+ * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-+ *
-+ * Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
-+ *
-+ * Copyright (c) 2016-2017, The Regents of the University of California,
-+ * through Lawrence Berkeley National Laboratory (subject to receipt of any
-+ * required approvals from the U.S. Dept. of Energy). All rights reserved.
-+ *
-+ * This software is licensed under a customized 3-clause BSD license. Please
-+ * consult LICENSE file distributed with the sources of this project regarding
-+ * your rights to use or distribute this software.
-+ *
-+ * NOTICE. This Software was developed under funding from the U.S. Department of
-+ * Energy and the U.S. Government consequently retains certain rights. As such,
-+ * the U.S. Government has been granted for itself and others acting on its
-+ * behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
-+ * to reproduce, distribute copies to the public, prepare derivative works, and
-+ * perform publicly and display publicly, and to permit other to do so.
-+ *
-+*/
-+
-+#ifndef __SINGULARITY_RUNTIME_MOUNT_DOMOUNTS_H_
-+#define __SINGULARITY_RUNTIME_MOUNT_DOMOUNTS_H_
-+
-+struct mountlist;
-+
-+extern int _singularity_runtime_domounts_init(struct mountlist *mountlist);
-+extern int _singularity_runtime_domounts(struct mountlist *mountlist);
-+
-+#endif /* __SINGULARITY_RUNTIME_MOUNT_DOMOUNTS_H */
-+
-diff --git a/src/lib/runtime/mounts/home/home.c b/src/lib/runtime/mounts/home/home.c
-index 665d256..c05c216 100644
---- a/src/lib/runtime/mounts/home/home.c
-+++ b/src/lib/runtime/mounts/home/home.c
-@@ -39,15 +39,15 @@
- #include "util/config_parser.h"
- #include "util/registry.h"
- #include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
-
--int _singularity_runtime_mount_home(void) {
-+int _singularity_runtime_mount_home(struct mountlist *mountlist) {
- char *home_source = singularity_priv_homedir();
- char *home_dest = singularity_priv_home();
- char *session_dir = singularity_registry_get("SESSIONDIR");
-- char *container_dir = CONTAINER_FINALDIR;
-
- singularity_message(DEBUG, "Checking that home directry is configured: %s\n", home_dest);
- if ( home_dest == NULL ) {
-@@ -83,12 +83,6 @@ int _singularity_runtime_mount_home(void) {
- ABORT(255);
- }
-
-- singularity_message(DEBUG, "Checking if home directory is already mounted: %s\n", home_dest);
-- if ( check_mounted(home_dest) >= 0 ) {
-- singularity_message(VERBOSE, "Not mounting home directory (already mounted in container): %s\n", home_dest);
-- return(0);
-- }
--
- singularity_message(DEBUG, "Creating temporary directory to stage home: %s\n", joinpath(session_dir, home_dest));
- if ( container_mkpath_nopriv(joinpath(session_dir, home_dest), 0755) < 0 ) {
- singularity_message(ERROR, "Failed creating home directory stage %s: %s\n", joinpath(session_dir, home_dest), strerror(errno));
-@@ -112,8 +106,9 @@ int _singularity_runtime_mount_home(void) {
- singularity_message(VERBOSE, "Using sessiondir for home directory\n");
- }
-
-- singularity_message(DEBUG, "Checking if overlay is enabled\n");
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") == NULL ) {
-+ singularity_message(DEBUG, "Checking if overlay or underlay is enabled\n");
-+ if ( ( singularity_registry_get("OVERLAYFS_ENABLED") == NULL ) &&
-+ ( singularity_registry_get("UNDERLAY_ENABLED") == NULL ) ) {
- char *homedir_base;
-
- singularity_message(DEBUG, "Staging home directory base\n");
-@@ -124,33 +119,12 @@ int _singularity_runtime_mount_home(void) {
- ABORT(255);
- }
-
-- singularity_message(DEBUG, "Checking home directory base exists in container: %s\n", homedir_base);
-- if ( is_dir(joinpath(container_dir, homedir_base)) != 0 ) {
-- singularity_message(ERROR, "Base home directory does not exist within the container: %s\n", homedir_base);
-- ABORT(255);
-- }
--
-- singularity_message(VERBOSE, "Mounting staged home directory base to container's base dir: %s -> %s\n", joinpath(session_dir, homedir_base), joinpath(container_dir, homedir_base));
-- if ( singularity_mount(joinpath(session_dir, homedir_base), joinpath(container_dir, homedir_base), NULL, MS_BIND | MS_NOSUID | MS_NODEV | MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Failed to mount staged home base: %s -> %s: %s\n", joinpath(session_dir, homedir_base), joinpath(container_dir, homedir_base), strerror(errno));
-- ABORT(255);
-- }
-+ singularity_message(VERBOSE, "Queuing bind mount of staged home directory base to container's base dir: %s/%s -> %s\n", session_dir, homedir_base, homedir_base);
-+ mountlist_add(mountlist, joinpath(session_dir, homedir_base), strdup(homedir_base), NULL, MS_BIND | MS_NOSUID | MS_NODEV | MS_REC, 0);
-
-- free(homedir_base);
- } else {
-- singularity_message(DEBUG, "Staging home directory\n");
--
-- singularity_message(DEBUG, "Creating home directory within container: %s\n", joinpath(container_dir, home_dest));
-- if ( container_mkpath_priv(joinpath(container_dir, home_dest), 0755) < 0 ) {
-- singularity_message(ERROR, "Failed creating home directory in container %s: %s\n", joinpath(container_dir, home_dest), strerror(errno));
-- ABORT(255);
-- }
--
-- singularity_message(VERBOSE, "Mounting staged home directory to container: %s -> %s\n", joinpath(session_dir, home_dest), joinpath(container_dir, home_dest));
-- if ( singularity_mount(joinpath(session_dir, home_dest), joinpath(container_dir, home_dest), NULL, MS_BIND | MS_NOSUID | MS_NODEV | MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Failed to mount staged home base: %s -> %s: %s\n", joinpath(session_dir, home_dest), joinpath(container_dir, home_dest), strerror(errno));
-- ABORT(255);
-- }
-+ singularity_message(VERBOSE, "Queuing bind mount of staged home directory to container: %s/%s -> %s\n", session_dir, home_dest, home_dest);
-+ mountlist_add(mountlist, joinpath(session_dir, home_dest), strdup(home_dest), NULL, MS_BIND | MS_NOSUID | MS_NODEV | MS_REC, 0);
- }
-
- envar_set("HOME", home_dest, 1);
-diff --git a/src/lib/runtime/mounts/home/home.h b/src/lib/runtime/mounts/home/home.h
-index a150177..2553d75 100644
---- a/src/lib/runtime/mounts/home/home.h
-+++ b/src/lib/runtime/mounts/home/home.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_HOME_H_
- #define __SINGULARITY_RUNTIME_MOUNT_HOME_H_
-
--extern int _singularity_runtime_mount_home(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_home(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_HOME_H */
-
-diff --git a/src/lib/runtime/mounts/hostfs/hostfs.c b/src/lib/runtime/mounts/hostfs/hostfs.c
-index 2040d53..a56c5cc 100644
---- a/src/lib/runtime/mounts/hostfs/hostfs.c
-+++ b/src/lib/runtime/mounts/hostfs/hostfs.c
-@@ -37,20 +37,18 @@
- #include "util/file.h"
- #include "util/util.h"
- #include "util/message.h"
--#include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
- #define MAX_LINE_LEN 4096
-
-
--int _singularity_runtime_mount_hostfs(void) {
-+int _singularity_runtime_mount_hostfs(struct mountlist *mountlist) {
- FILE *mounts;
- char *line = NULL;
-- char *container_dir = CONTAINER_FINALDIR;
-
- if ( singularity_config_get_bool(MOUNT_HOSTFS) <= 0 ) {
- singularity_message(DEBUG, "Not mounting host file systems per configuration\n");
-@@ -88,7 +86,7 @@ int _singularity_runtime_mount_hostfs(void) {
- singularity_message(VERBOSE3, "Skipping blank or comment line in /proc/mounts\n");
- continue;
- }
-- if ( ( source = strtok(strdup(line), " ") ) == NULL ) {
-+ if ( ( source = strtok(line, " ") ) == NULL ) {
- singularity_message(VERBOSE3, "Could not obtain mount source from /proc/mounts: %s\n", line);
- continue;
- }
-@@ -129,8 +127,8 @@ int _singularity_runtime_mount_hostfs(void) {
- singularity_message(DEBUG, "Skipping /var based file system: %s,%s,%s\n", source, mountpoint, filesystem);
- continue;
- }
-- if ( strncmp(mountpoint, container_dir, strlength(container_dir, PATH_MAX)) == 0 ) {
-- singularity_message(DEBUG, "Skipping final_dir (%s) based file system: %s,%s,%s\n", container_dir, source, mountpoint, filesystem);
-+ if ( strncmp(mountpoint, CONTAINER_FINALDIR, strlength(CONTAINER_FINALDIR, PATH_MAX)) == 0 ) {
-+ singularity_message(DEBUG, "Skipping final_dir (%s) based file system: %s,%s,%s\n", CONTAINER_FINALDIR, source, mountpoint, filesystem);
- continue;
- }
- if ( strcmp(mountpoint, CONTAINER_MOUNTDIR) == 0 ) {
-@@ -149,37 +147,9 @@ int _singularity_runtime_mount_hostfs(void) {
- singularity_message(DEBUG, "Skipping ramfs file system: %s,%s,%s\n", source, mountpoint, filesystem);
- continue;
- }
-- singularity_message(DEBUG, "Checking if host file system is already mounted: %s\n", mountpoint);
-- if ( check_mounted(mountpoint) >= 0 ) {
-- singularity_message(VERBOSE, "Not mounting host FS (already mounted in container): %s\n", mountpoint);
-- continue;
-- }
--
-- if ( ( is_dir(mountpoint) == 0 ) && ( is_dir(joinpath(container_dir, mountpoint)) < 0 ) ) {
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL ) {
-- if ( container_mkpath_priv(joinpath(container_dir, mountpoint), 0755) < 0 ) {
-- singularity_message(WARNING, "Could not create bind point directory in container %s: %s\n", mountpoint, strerror(errno));
-- continue;
-- }
-- } else {
-- singularity_message(WARNING, "Non existent 'bind point' directory in container: '%s'\n", mountpoint);
-- continue;
-- }
-- }
--
--
-- singularity_message(VERBOSE, "Binding '%s'(%s) to '%s/%s'\n", mountpoint, filesystem, container_dir, mountpoint);
-- if ( singularity_mount(mountpoint, joinpath(container_dir, mountpoint), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error binding the path %s: %s\n", mountpoint, strerror(errno));
-- ABORT(255);
-- }
-- if ( singularity_priv_userns_enabled() != 1 ) {
-- if ( singularity_mount(NULL, joinpath(container_dir, mountpoint), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error remounting the path %s: %s\n", mountpoint, strerror(errno));
-- ABORT(255);
-- }
-- }
-
-+ singularity_message(VERBOSE, "Queuing bind mount of '%s'(%s) to '%s'\n", mountpoint, filesystem, mountpoint);
-+ mountlist_add(mountlist, NULL, strdup(mountpoint), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, 0);
- }
-
- free(line);
-diff --git a/src/lib/runtime/mounts/hostfs/hostfs.h b/src/lib/runtime/mounts/hostfs/hostfs.h
-index 9d9f6ab..62617a1 100644
---- a/src/lib/runtime/mounts/hostfs/hostfs.h
-+++ b/src/lib/runtime/mounts/hostfs/hostfs.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_HOSTFS_H_
- #define __SINGULARITY_RUNTIME_MOUNT_HOSTFS_H_
-
--extern int _singularity_runtime_mount_hostfs(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_hostfs(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_HOSTFS_H */
-
-diff --git a/src/lib/runtime/mounts/kernelfs/kernelfs.c b/src/lib/runtime/mounts/kernelfs/kernelfs.c
-index cc0de35..bfe9741 100644
---- a/src/lib/runtime/mounts/kernelfs/kernelfs.c
-+++ b/src/lib/runtime/mounts/kernelfs/kernelfs.c
-@@ -37,34 +37,23 @@
- #include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
- #include "../../ns/ns.h"
-
-
--int _singularity_runtime_mount_kernelfs(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-+int _singularity_runtime_mount_kernelfs(struct mountlist *mountlist) {
-
- // Mount /proc if we are configured
- singularity_message(DEBUG, "Checking configuration file for 'mount proc'\n");
- if ( singularity_config_get_bool(MOUNT_PROC) > 0 ) {
-- if ( is_dir(joinpath(container_dir, "/proc")) == 0 ) {
-- if ( singularity_registry_get("PIDNS_ENABLED") == NULL ) {
-- singularity_message(VERBOSE, "Bind-mounting host /proc\n");
-- if ( singularity_mount("/proc", joinpath(container_dir, "/proc"), NULL, MS_BIND | MS_NOSUID | MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Could not bind-mount host /proc into container: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- } else {
-- singularity_message(VERBOSE, "Mounting new procfs\n");
-- if ( singularity_mount("proc", joinpath(container_dir, "/proc"), "proc", MS_NOSUID, NULL) < 0 ) {
-- singularity_message(ERROR, "Could not mount new procfs into container: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- }
-+ if ( singularity_registry_get("PIDNS_ENABLED") == NULL ) {
-+ singularity_message(VERBOSE, "Queuing bind mount of host /proc\n");
-+ mountlist_add(mountlist, NULL, strdup("/proc"), NULL, MS_BIND | MS_NOSUID | MS_REC, 0);
- } else {
-- singularity_message(WARNING, "Not mounting /proc, container has no bind directory\n");
-+ singularity_message(VERBOSE, "Queuing mount of new procfs\n");
-+ mountlist_add(mountlist, strdup("proc"), strdup("/proc"), "proc", MS_NOSUID, 0);
- }
- } else {
- singularity_message(VERBOSE, "Skipping /proc mount\n");
-@@ -74,22 +63,12 @@ int _singularity_runtime_mount_kernelfs(void) {
- // Mount /sys if we are configured
- singularity_message(DEBUG, "Checking configuration file for 'mount sys'\n");
- if ( singularity_config_get_bool(MOUNT_SYS) > 0 ) {
-- if ( is_dir(joinpath(container_dir, "/sys")) == 0 ) {
-- if ( singularity_priv_userns_enabled() == 1 ) {
-- singularity_message(VERBOSE, "Mounting /sys\n");
-- if ( singularity_mount("/sys", joinpath(container_dir, "/sys"), NULL, MS_BIND | MS_NOSUID | MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Could not mount /sys into container: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- } else {
-- singularity_message(VERBOSE, "Mounting /sys\n");
-- if ( singularity_mount("sysfs", joinpath(container_dir, "/sys"), "sysfs", MS_NOSUID, NULL) < 0 ) {
-- singularity_message(ERROR, "Could not mount /sys into container: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- }
-+ if ( singularity_priv_userns_enabled() == 1 ) {
-+ singularity_message(VERBOSE, "Queuing bind mount of /sys\n");
-+ mountlist_add(mountlist, NULL, strdup("/sys"), NULL, MS_BIND | MS_NOSUID | MS_REC, 0);
- } else {
-- singularity_message(WARNING, "Not mounting /sys, container has no bind directory\n");
-+ singularity_message(VERBOSE, "Queuing mount of new sysfs\n");
-+ mountlist_add(mountlist, strdup("sysfs"), strdup("/sys"), "sysfs", MS_NOSUID, 0);
- }
- } else {
- singularity_message(VERBOSE, "Skipping /sys mount\n");
-diff --git a/src/lib/runtime/mounts/kernelfs/kernelfs.h b/src/lib/runtime/mounts/kernelfs/kernelfs.h
-index 63143c0..6b49c58 100644
---- a/src/lib/runtime/mounts/kernelfs/kernelfs.h
-+++ b/src/lib/runtime/mounts/kernelfs/kernelfs.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_KERNELFS_H_
- #define __SINGULARITY_RUNTIME_MOUNT_KERNELFS_H_
-
--extern int _singularity_runtime_mount_kernelfs(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_kernelfs(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_KERNELFS_H */
-
-diff --git a/src/lib/runtime/mounts/libs/Makefile.am b/src/lib/runtime/mounts/libs/Makefile.am
-new file mode 100644
-index 0000000..f54f504
---- /dev/null
-+++ b/src/lib/runtime/mounts/libs/Makefile.am
-@@ -0,0 +1,12 @@
-+MAINTAINERCLEANFILES = Makefile.in
-+DISTCLEANFILES = Makefile
-+CLEANFILES = core.* *~ *.la
-+
-+AM_CFLAGS = -Wall -fpie
-+AM_LDFLAGS = -pie
-+AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DLIBEXECDIR=\"$(libexecdir)\" $(SINGULARITY_DEFINES)
-+
-+noinst_LTLIBRARIES = libinternal.la
-+libinternal_la_SOURCES = libs.c
-+
-+EXTRA_DIST = libs.h
-diff --git a/src/lib/runtime/mounts/libs/libs.c b/src/lib/runtime/mounts/libs/libs.c
-new file mode 100644
-index 0000000..7c73771
---- /dev/null
-+++ b/src/lib/runtime/mounts/libs/libs.c
-@@ -0,0 +1,157 @@
-+/*
-+ * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-+ * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-+ *
-+ * Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
-+ *
-+ * Copyright (c) 2016-2017, The Regents of the University of California,
-+ * through Lawrence Berkeley National Laboratory (subject to receipt of any
-+ * required approvals from the U.S. Dept. of Energy). All rights reserved.
-+ *
-+ * This software is licensed under a customized 3-clause BSD license. Please
-+ * consult LICENSE file distributed with the sources of this project regarding
-+ * your rights to use or distribute this software.
-+ *
-+ * NOTICE. This Software was developed under funding from the U.S. Department of
-+ * Energy and the U.S. Government consequently retains certain rights. As such,
-+ * the U.S. Government has been granted for itself and others acting on its
-+ * behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
-+ * to reproduce, distribute copies to the public, prepare derivative works, and
-+ * perform publicly and display publicly, and to permit other to do so.
-+ *
-+*/
-+
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE
-+#endif
-+
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <sys/mount.h>
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <stdlib.h>
-+#include <libgen.h>
-+#include <linux/limits.h>
-+
-+#include "config.h"
-+#include "util/file.h"
-+#include "util/util.h"
-+#include "util/message.h"
-+#include "util/privilege.h"
-+#include "util/config_parser.h"
-+#include "util/registry.h"
-+#include "util/mount.h"
-+#include "util/mountlist.h"
-+
-+#include "../../runtime.h"
-+
-+
-+int _singularity_runtime_mount_libs(struct mountlist *mountlist) {
-+ char *tmpdir = singularity_registry_get("SESSIONDIR");
-+ char *includelibs_string;
-+
-+ if ( ( includelibs_string = singularity_registry_get("CONTAINLIBS") ) != NULL ) {
-+ char *libdir = joinpath(tmpdir, "/libs");
-+ char *libdir_contained = joinpath(CONTAINER_MOUNTDIR, "/.singularity.d/libs");
-+ char *tok = NULL;
-+ char *current = strtok_r(strdup(includelibs_string), ",", &tok);
-+
-+ singularity_message(DEBUG, "Parsing SINGULARITY_CONTAINLIBS for user-specified libraries to include.\n");
-+
-+ free(includelibs_string);
-+
-+ singularity_message(DEBUG, "Checking if libdir in container exists: %s\n", libdir_contained);
-+ if ( is_dir(libdir_contained) != 0 ) {
-+ singularity_message(WARNING, "Library bind directory not present in container, update container\n");
-+ char *ld_path = envar_path("LD_LIBRARY_PATH");
-+ if ( ld_path == NULL ) {
-+ singularity_message(DEBUG, "Setting LD_LIBRARY_PATH to '/.singularity.d/libs'\n");
-+ envar_set("LD_LIBRARY_PATH", "/.singularity.d/libs", 1);
-+ } else {
-+ singularity_message(DEBUG, "Prepending '/.singularity.d/libs' to LD_LIBRARY_PATH\n");
-+ envar_set("LD_LIBRARY_PATH", strjoin("/.singularity.d/libs:", ld_path), 1);
-+ }
-+ }
-+ free(libdir_contained);
-+
-+ singularity_message(DEBUG, "Creating session libdir at: %s\n", libdir);
-+ if ( container_mkpath_nopriv(libdir, 0755) != 0 ) {
-+ singularity_message(ERROR, "Failed creating temp lib directory at: %s\n", libdir);
-+ ABORT(255);
-+ }
-+
-+ while (current != NULL ) {
-+ char *dest = NULL;
-+ char *source = NULL;
-+
-+ singularity_message(DEBUG, "Evaluating requested library path: %s\n", current);
-+
-+ dest = joinpath(libdir, basename(current));
-+
-+ if ( is_file(dest) == 0 ) {
-+ singularity_message(VERBOSE3, "Staged library exists, skipping: %s\n", current);
-+ current = strtok_r(NULL, ",", &tok);
-+ continue;
-+ }
-+
-+ if ( is_link(current) == 0 ) {
-+ char *link_name;
-+ ssize_t len;
-+
-+ link_name = (char *) malloc(PATH_MAX);
-+
-+ len = readlink(current, link_name, PATH_MAX-1); // Flawfinder: ignore
-+ if ( ( len > 0 ) && ( len <= PATH_MAX) ) {
-+ link_name[len] = '\0';
-+ singularity_message(VERBOSE3, "Found library link source: %s -> %s\n", current, link_name);
-+ if ( link_name[0] == '/' ) {
-+ source = strdup(link_name);
-+ } else {
-+ if ( link_name[0] == '/' ) {
-+ source = strdup(link_name);
-+ } else {
-+ source = joinpath(dirname(strdup(current)), link_name);
-+ }
-+ }
-+ } else {
-+ singularity_message(WARNING, "Failed reading library link for %s: %s\n", current, strerror(errno));
-+ ABORT(255);
-+ }
-+ free(link_name);
-+
-+ } else if (is_file(current) == 0 ) {
-+ source = strdup(current);
-+ singularity_message(VERBOSE3, "Found library source: %s\n", source);
-+ } else {
-+ singularity_message(WARNING, "Could not find library: %s\n", current);
-+ current = strtok_r(NULL, ",", &tok);
-+ continue;
-+ }
-+
-+ singularity_message(DEBUG, "Binding library source here: %s -> %s\n", source, dest);
-+
-+ if ( fileput_nopriv(dest, "") != 0 ) {
-+ singularity_message(ERROR, "Failed creating file at %s: %s\n", dest, strerror(errno));
-+ ABORT(255);
-+ }
-+
-+ singularity_message(VERBOSE, "Binding file '%s' to '%s'\n", source, dest);
-+ if ( singularity_mount(source, dest, NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-+ singularity_message(ERROR, "There was an error binding %s to %s: %s\n", source, dest, strerror(errno));
-+ ABORT(255);
-+ }
-+
-+ free(source);
-+ free(dest);
-+ current = strtok_r(NULL, ",", &tok);
-+ }
-+
-+ singularity_message(VERBOSE, "Queueing bind mount of libdir '%s' to '%s'\n", libdir, "/.singularity.d/libs");
-+ mountlist_add(mountlist, libdir, strdup("/.singularity.d/libs"), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, 0);
-+ }
-+
-+ return(0);
-+}
-diff --git a/src/lib/runtime/mounts/libs/libs.h b/src/lib/runtime/mounts/libs/libs.h
-new file mode 100644
-index 0000000..4a6bdff
---- /dev/null
-+++ b/src/lib/runtime/mounts/libs/libs.h
-@@ -0,0 +1,32 @@
-+/*
-+ * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-+ * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-+ *
-+ * Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
-+ *
-+ * Copyright (c) 2016-2017, The Regents of the University of California,
-+ * through Lawrence Berkeley National Laboratory (subject to receipt of any
-+ * required approvals from the U.S. Dept. of Energy). All rights reserved.
-+ *
-+ * This software is licensed under a customized 3-clause BSD license. Please
-+ * consult LICENSE file distributed with the sources of this project regarding
-+ * your rights to use or distribute this software.
-+ *
-+ * NOTICE. This Software was developed under funding from the U.S. Department of
-+ * Energy and the U.S. Government consequently retains certain rights. As such,
-+ * the U.S. Government has been granted for itself and others acting on its
-+ * behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
-+ * to reproduce, distribute copies to the public, prepare derivative works, and
-+ * perform publicly and display publicly, and to permit other to do so.
-+ *
-+*/
-+
-+#ifndef __SINGULARITY_RUNTIME_MOUNT_LIBS_H_
-+#define __SINGULARITY_RUNTIME_MOUNT_LIBS_H_
-+
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_libs(struct mountlist *);
-+
-+#endif /* __SINGULARITY_RUNTIME_MOUNT_LIBS_H */
-+
-diff --git a/src/lib/runtime/mounts/mounts.c b/src/lib/runtime/mounts/mounts.c
-index 4419281..6fa52d1 100644
---- a/src/lib/runtime/mounts/mounts.c
-+++ b/src/lib/runtime/mounts/mounts.c
-@@ -32,6 +32,7 @@
- #include "util/file.h"
- #include "util/util.h"
- #include "util/message.h"
-+#include "util/mountlist.h"
- #include "util/privilege.h"
-
- #include "./binds/binds.h"
-@@ -43,21 +44,31 @@
- #include "./cwd/cwd.h"
- #include "./userbinds/userbinds.h"
- #include "./scratch/scratch.h"
-+#include "./libs/libs.h"
-+#include "./domounts/domounts.h"
-
-
- int _singularity_runtime_mounts(void) {
- int retval = 0;
-+ struct mountlist mountlist;
-+
-+ singularity_runtime_domounts_init(&mountlist);
-
- singularity_message(VERBOSE, "Running all mount components\n");
-- retval += _singularity_runtime_mount_dev();
-- retval += _singularity_runtime_mount_kernelfs();
-- retval += _singularity_runtime_mount_hostfs();
-- retval += _singularity_runtime_mount_binds();
-- retval += _singularity_runtime_mount_home();
-- retval += _singularity_runtime_mount_userbinds();
-- retval += _singularity_runtime_mount_tmp();
-- retval += _singularity_runtime_mount_scratch();
-- retval += _singularity_runtime_mount_cwd();
-+ retval += _singularity_runtime_mount_dev(&mountlist);
-+ retval += _singularity_runtime_mount_kernelfs(&mountlist);
-+ retval += _singularity_runtime_mount_hostfs(&mountlist);
-+ retval += _singularity_runtime_mount_binds(&mountlist);
-+ retval += _singularity_runtime_mount_home(&mountlist);
-+ retval += _singularity_runtime_mount_userbinds(&mountlist);
-+ retval += _singularity_runtime_mount_tmp(&mountlist);
-+ retval += _singularity_runtime_mount_scratch(&mountlist);
-+ retval += _singularity_runtime_mount_cwd(&mountlist);
-+ retval += _singularity_runtime_mount_libs(&mountlist);
-+
-+ retval += _singularity_runtime_domounts(&mountlist);
-+
-+ mountlist_cleanup(&mountlist);
-
- return(retval);
- }
-diff --git a/src/lib/runtime/mounts/scratch/scratch.c b/src/lib/runtime/mounts/scratch/scratch.c
-index 66a5f60..4a8c829 100644
---- a/src/lib/runtime/mounts/scratch/scratch.c
-+++ b/src/lib/runtime/mounts/scratch/scratch.c
-@@ -41,17 +41,15 @@
- #include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
-
--int _singularity_runtime_mount_scratch(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-+int _singularity_runtime_mount_scratch(struct mountlist *mountlist) {
- char *scratchdir_path;
- char *tmpdir_path;
- char *sourcedir_path;
-- int r;
-
- singularity_message(DEBUG, "Getting SINGULARITY_SCRATCHDIR from environment\n");
- if ( ( scratchdir_path = singularity_registry_get("SCRATCHDIR") ) == NULL ) {
-@@ -78,54 +76,20 @@ int _singularity_runtime_mount_scratch(void) {
- free(tmpdir_path);
-
- char *outside_token = NULL;
-- char *current = strtok_r(strdup(scratchdir_path), ",", &outside_token);
--
-- free(scratchdir_path);
-+ char *current = strtok_r(scratchdir_path, ",", &outside_token);
-
- while ( current != NULL ) {
--
-- char *full_sourcedir_path = joinpath(sourcedir_path, basename(strdup(current)));
-- char *full_destdir_path = joinpath(container_dir, current);
--
-- singularity_message(DEBUG, "Checking if bind point is already mounted: %s\n", current);
-- if ( check_mounted(current) >= 0 ) {
-- singularity_message(ERROR, "Not mounting requested scratch directory (already mounted in container): %s\n", current);
-- ABORT(255);
-- }
-+ char *current_copy = strdup(current);
-+ char *full_sourcedir_path = joinpath(sourcedir_path, basename(current_copy));
-+ free(current_copy);
-
- if ( container_mkpath_nopriv(full_sourcedir_path, 0750) < 0 ) {
- singularity_message(ERROR, "Could not create scratch working directory %s: %s\n", full_sourcedir_path, strerror(errno));
- ABORT(255);
- }
-
-- if ( is_dir(full_destdir_path) != 0 ) {
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL ) {
-- singularity_message(DEBUG, "Creating scratch directory inside container\n");
-- r = container_mkpath_priv(full_destdir_path, 0755);
-- if ( r < 0 ) {
-- singularity_message(VERBOSE, "Skipping scratch directory mount, could not create dir inside container %s: %s\n", current, strerror(errno));
-- current = strtok_r(NULL, ",", &outside_token);
-- continue;
-- }
-- } else {
-- singularity_message(WARNING, "Skipping scratch directory mount, target directory does not exist: %s\n", current);
-- current = strtok_r(NULL, ",", &outside_token);
-- continue;
-- }
-- }
--
-- singularity_message(VERBOSE, "Binding '%s' to '%s/%s'\n", full_sourcedir_path, container_dir, current);
-- r = singularity_mount(full_sourcedir_path, joinpath(container_dir, current), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL);
-- if ( singularity_priv_userns_enabled() != 1 ) {
-- r += singularity_mount(NULL, joinpath(container_dir, current), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL);
-- }
-- if ( r < 0 ) {
-- singularity_message(WARNING, "Could not bind scratch directory into container %s: %s\n", full_sourcedir_path, strerror(errno));
-- ABORT(255);
-- }
--
-- free(full_sourcedir_path);
-- free(full_destdir_path);
-+ singularity_message(VERBOSE, "Queuing bind mount of '%s' to '%s'\n", full_sourcedir_path, current);
-+ mountlist_add(mountlist, full_sourcedir_path, strdup(current), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, 0);
-
- current = strtok_r(NULL, ",", &outside_token);
-
-@@ -134,6 +98,8 @@ int _singularity_runtime_mount_scratch(void) {
- current = strtok_r(NULL, ",", &outside_token);
- }
- }
-+
-+ free(scratchdir_path);
- return(0);
- }
-
-diff --git a/src/lib/runtime/mounts/scratch/scratch.h b/src/lib/runtime/mounts/scratch/scratch.h
-index 00104c4..3ab46e4 100644
---- a/src/lib/runtime/mounts/scratch/scratch.h
-+++ b/src/lib/runtime/mounts/scratch/scratch.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_SCRATCH_H_
- #define __SINGULARITY_RUNTIME_MOUNT_SCRATCH_H_
-
--extern int _singularity_runtime_mount_scratch(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_scratch(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_SCRATCH_H */
-
-diff --git a/src/lib/runtime/mounts/tmp/tmp.c b/src/lib/runtime/mounts/tmp/tmp.c
-index 7384b4a..1969306 100644
---- a/src/lib/runtime/mounts/tmp/tmp.c
-+++ b/src/lib/runtime/mounts/tmp/tmp.c
-@@ -36,16 +36,14 @@
- #include "util/file.h"
- #include "util/util.h"
- #include "util/message.h"
--#include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
-
--int _singularity_runtime_mount_tmp(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-+int _singularity_runtime_mount_tmp(struct mountlist *mountlist) {
- char *tmp_source;
- char *vartmp_source;
-
-@@ -74,60 +72,26 @@ int _singularity_runtime_mount_tmp(void) {
- free(tmpdirpath);
- }
-
-- if ( check_mounted("/tmp") < 0 ) {
-- if ( s_mkpath(tmp_source, 0755) < 0 ) {
-- singularity_message(ERROR, "Could not create source /tmp directory %s: %s\n", tmp_source, strerror(errno));
-- ABORT(255);
-- }
-- if ( is_dir(tmp_source) == 0 ) {
-- if ( is_dir(joinpath(container_dir, "/tmp")) == 0 ) {
-- singularity_message(VERBOSE, "Mounting directory: /tmp\n");
-- if ( singularity_mount(tmp_source, joinpath(container_dir, "/tmp"), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Failed to mount %s -> /tmp: %s\n", tmp_source, strerror(errno));
-- ABORT(255);
-- }
-- if ( singularity_priv_userns_enabled() != 1 ) {
-- if ( singularity_mount(NULL, joinpath(container_dir, "/tmp"), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL) < 0 ) {
-- singularity_message(ERROR, "Failed to remount /tmp: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- }
-- } else {
-- singularity_message(VERBOSE, "Could not mount container's /tmp directory: does not exist\n");
-- }
-- } else {
-- singularity_message(VERBOSE, "Could not mount host's /tmp directory (%s): does not exist\n", tmp_source);
-- }
-+ if ( s_mkpath(tmp_source, 0755) < 0 ) {
-+ singularity_message(ERROR, "Could not create source /tmp directory %s: %s\n", tmp_source, strerror(errno));
-+ ABORT(255);
-+ }
-+ if ( is_dir(tmp_source) == 0 ) {
-+ singularity_message(VERBOSE, "Queuing bind mount of /tmp\n");
-+ mountlist_add(mountlist, strdup(tmp_source), strdup("/tmp"), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, 0);
- } else {
-- singularity_message(VERBOSE, "Not mounting '/tmp', already mounted\n");
-+ singularity_message(VERBOSE, "Could not mount host's /tmp directory (%s): does not exist\n", tmp_source);
- }
-
-- if ( check_mounted("/var/tmp") < 0 ) {
-- if ( s_mkpath(vartmp_source, 0755) < 0 ) {
-- singularity_message(ERROR, "Could not create source /var/tmp directory %s: %s\n", vartmp_source, strerror(errno));
-- ABORT(255);
-- }
-- if ( is_dir(vartmp_source) == 0 ) {
-- if ( is_dir(joinpath(container_dir, "/var/tmp")) == 0 ) {
-- singularity_message(VERBOSE, "Mounting directory: /var/tmp\n");
-- if ( singularity_mount(vartmp_source, joinpath(container_dir, "/var/tmp"), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "Failed to mount %s -> /var/tmp: %s\n", vartmp_source, strerror(errno));
-- ABORT(255);
-- }
-- if ( singularity_priv_userns_enabled() != 1 ) {
-- if ( singularity_mount(NULL, joinpath(container_dir, "/var/tmp"), NULL, MS_BIND|MS_NOSUID|MS_REC|MS_NODEV|MS_REMOUNT, NULL) < 0 ) {
-- singularity_message(ERROR, "Failed to remount /var/tmp: %s\n", strerror(errno));
-- ABORT(255);
-- }
-- }
-- } else {
-- singularity_message(VERBOSE, "Could not mount container's /var/tmp directory: does not exist\n");
-- }
-- } else {
-- singularity_message(VERBOSE, "Could not mount host's /var/tmp directory (%s): does not exist\n", vartmp_source);
-- }
-+ if ( s_mkpath(vartmp_source, 0755) < 0 ) {
-+ singularity_message(ERROR, "Could not create source /var/tmp directory %s: %s\n", vartmp_source, strerror(errno));
-+ ABORT(255);
-+ }
-+ if ( is_dir(vartmp_source) == 0 ) {
-+ singularity_message(VERBOSE, "Queuing bind mount of /var/tmp\n");
-+ mountlist_add(mountlist, strdup(vartmp_source), strdup("/var/tmp"), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, 0);
- } else {
-- singularity_message(VERBOSE, "Not mounting '/var/tmp', already mounted\n");
-+ singularity_message(VERBOSE, "Could not mount host's /var/tmp directory (%s): does not exist\n", vartmp_source);
- }
-
- free(tmp_source);
-diff --git a/src/lib/runtime/mounts/tmp/tmp.h b/src/lib/runtime/mounts/tmp/tmp.h
-index d793b79..b6b2590 100644
---- a/src/lib/runtime/mounts/tmp/tmp.h
-+++ b/src/lib/runtime/mounts/tmp/tmp.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_TMP_H_
- #define __SINGULARITY_RUNTIME_MOUNT_TMP_H_
-
--extern int _singularity_runtime_mount_tmp(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_tmp(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_TMP_H */
-
-diff --git a/src/lib/runtime/mounts/userbinds/userbinds.c b/src/lib/runtime/mounts/userbinds/userbinds.c
-index 7e6f0b8..f4dfd6b 100644
---- a/src/lib/runtime/mounts/userbinds/userbinds.c
-+++ b/src/lib/runtime/mounts/userbinds/userbinds.c
-@@ -35,16 +35,14 @@
- #include "util/file.h"
- #include "util/util.h"
- #include "util/message.h"
--#include "util/privilege.h"
- #include "util/config_parser.h"
- #include "util/registry.h"
--#include "util/mount.h"
-+#include "util/mountlist.h"
-
- #include "../../runtime.h"
-
-
--int _singularity_runtime_mount_userbinds(void) {
-- char *container_dir = CONTAINER_FINALDIR;
-+int _singularity_runtime_mount_userbinds(struct mountlist *mountlist) {
- char *bind_path_string;
-
- singularity_message(DEBUG, "Checking for environment variable 'SINGULARITY_BINDPATH'\n");
-@@ -59,12 +57,10 @@ int _singularity_runtime_mount_userbinds(void) {
- singularity_message(DEBUG, "Parsing SINGULARITY_BINDPATH for user-specified bind mounts.\n");
- char *outside_token = NULL;
- char *inside_token = NULL;
-- char *current = strtok_r(strdup(bind_path_string), ",", &outside_token);
--
-- free(bind_path_string);
-+ char *current = strtok_r(bind_path_string, ",", &outside_token);
-
- while ( current != NULL ) {
-- int read_only = 0;
-+ unsigned long read_only = 0;
- char *source = strtok_r(current, ":", &inside_token);
- char *dest = strtok_r(NULL, ":", &inside_token);
- char *opts = strtok_r(NULL, ":", &inside_token);
-@@ -81,7 +77,7 @@ int _singularity_runtime_mount_userbinds(void) {
- if ( strcmp(opts, "rw") == 0 ) {
- // This is the default
- } else if ( strcmp(opts, "ro") == 0 ) {
-- read_only = 1;
-+ read_only = MS_RDONLY;
- } else {
- singularity_message(WARNING, "Not mounting requested bind point, invalid mount option %s: %s\n", opts, dest);
- continue;
-@@ -89,79 +85,12 @@ int _singularity_runtime_mount_userbinds(void) {
- }
-
-
-- singularity_message(DEBUG, "Checking if bind point is already mounted: %s\n", dest);
-- if ( check_mounted(dest) >= 0 ) {
-- singularity_message(WARNING, "Not mounting requested bind point (already mounted in container): %s\n", dest);
-- continue;
-- }
--
-- if ( ( is_file(source) == 0 ) && ( is_file(joinpath(container_dir, dest)) < 0 ) ) {
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL ) {
-- char *dir = dirname(strdup(dest));
-- if ( is_dir(joinpath(container_dir, dir)) < 0 ) {
-- singularity_message(VERBOSE3, "Creating bind directory on overlay file system: %s\n", dest);
-- if ( container_mkpath_nopriv(joinpath(container_dir, dir), 0755) < 0 ) {
-- singularity_message(VERBOSE3, "Retrying with privileges to create bind directory on overlay file system: %s\n", dest);
-- if ( container_mkpath_priv(joinpath(container_dir, dir), 0755) < 0 ) {
-- singularity_message(ERROR, "Could not create basedir for file bind %s: %s\n", dest, strerror(errno));
-- continue;
-- }
-- }
-- }
-- singularity_message(VERBOSE3, "Creating bind file on overlay file system: %s\n", dest);
-- if ( fileput_priv(joinpath(container_dir, dest), "") != 0 ) {
-- continue;
-- }
-- singularity_message(DEBUG, "Created bind file: %s\n", dest);
-- } else {
-- singularity_message(WARNING, "Skipping user bind, non existent bind point (file) in container: '%s'\n", dest);
-- continue;
-- }
-- } else if ( ( is_dir(source) == 0 ) && ( is_dir(joinpath(container_dir, dest)) < 0 ) ) {
-- if ( singularity_registry_get("OVERLAYFS_ENABLED") != NULL ) {
-- singularity_message(VERBOSE3, "Creating bind directory on overlay file system: %s\n", dest);
-- if ( container_mkpath_nopriv(joinpath(container_dir, dest), 0755) < 0 ) {
-- singularity_message(VERBOSE3, "Retrying with privileges to create bind directory on overlay file system: %s\n", dest);
-- if ( container_mkpath_priv(joinpath(container_dir, dest), 0755) < 0 ) {
-- singularity_message(WARNING, "Skipping user bind, could not create bind point %s: %s\n", dest, strerror(errno));
-- continue;
-- }
-- }
-- } else {
-- singularity_message(WARNING, "Skipping user bind, non existent bind point (directory) in container: '%s'\n", dest);
-- continue;
-- }
-- }
--
-- singularity_message(VERBOSE, "Binding '%s' to '%s/%s'\n", source, container_dir, dest);
-- if ( singularity_mount(source, joinpath(container_dir, dest), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error binding the path %s: %s\n", source, strerror(errno));
-- ABORT(255);
-- }
-- if ( read_only ) {
-- if ( singularity_priv_userns_enabled() == 1 ) {
-- singularity_message(WARNING, "Can not make bind mount read only within the user namespace: %s\n", dest);
-- } else {
-- singularity_message(VERBOSE, "Remounting %s read-only\n", dest);
-- if ( singularity_mount(NULL, joinpath(container_dir, dest), NULL, MS_RDONLY|MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error write-protecting the path %s: %s\n", source, strerror(errno));
-- ABORT(255);
-- }
-- if ( access(joinpath(container_dir, dest), W_OK) == 0 || (errno != EROFS && errno != EACCES) ) { // Flawfinder: ignore (precautionary confirmation, not necessary)
-- singularity_message(ERROR, "Failed to write-protect the path %s: %s\n", source, strerror(errno));
-- ABORT(255);
-- }
-- }
-- } else {
-- if ( singularity_priv_userns_enabled() <= 0 ) {
-- if ( singularity_mount(NULL, joinpath(container_dir, dest), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|MS_REMOUNT, NULL) < 0 ) {
-- singularity_message(ERROR, "There was an error remounting the path %s: %s\n", source, strerror(errno));
-- ABORT(255);
-- }
-- }
-- }
-+ singularity_message(VERBOSE, "Queuing bind mount of '%s' to '%s'\n", source, dest);
-+ mountlist_add(mountlist, strdup(source), strdup(dest), NULL, MS_BIND|MS_NOSUID|MS_NODEV|MS_REC|read_only, 0);
- }
-
-+ free(bind_path_string);
-+
- singularity_message(DEBUG, "Unsetting environment variable 'SINGULARITY_BINDPATH'\n");
- unsetenv("SINGULARITY_BINDPATH");
- } else {
-diff --git a/src/lib/runtime/mounts/userbinds/userbinds.h b/src/lib/runtime/mounts/userbinds/userbinds.h
-index cd14d5d..34cd52a 100644
---- a/src/lib/runtime/mounts/userbinds/userbinds.h
-+++ b/src/lib/runtime/mounts/userbinds/userbinds.h
-@@ -24,7 +24,9 @@
- #ifndef __SINGULARITY_RUNTIME_MOUNT_USERBINDS_H_
- #define __SINGULARITY_RUNTIME_MOUNT_USERBINDS_H_
-
--extern int _singularity_runtime_mount_userbinds(void);
-+struct mountlist;
-+
-+extern int _singularity_runtime_mount_userbinds(struct mountlist *mountlist);
-
- #endif /* __SINGULARITY_RUNTIME_MOUNT_USERBINDS_H */
-
-diff --git a/src/util/Makefile.am b/src/util/Makefile.am
-index ad58525..7a78e4f 100644
---- a/src/util/Makefile.am
-+++ b/src/util/Makefile.am
-@@ -20,6 +20,8 @@ EXTRA_DIST = cleanupd.c \
- message.h \
- mount.c \
- mount.h \
-+ mountlist.c \
-+ mountlist.h \
- privilege.c \
- privilege.h \
- registry.c \
-diff --git a/src/util/config_defaults.h.in b/src/util/config_defaults.h.in
-index 6bfeb78..b1676f8 100644
---- a/src/util/config_defaults.h.in
-+++ b/src/util/config_defaults.h.in
-@@ -41,6 +41,9 @@
- #define ENABLE_OVERLAY "enable overlay"
- #define ENABLE_OVERLAY_DEFAULT "try"
-
-+#define ENABLE_UNDERLAY "enable underlay"
-+#define ENABLE_UNDERLAY_DEFAULT "no"
-+
- #define CONFIG_PASSWD "config passwd"
- #define CONFIG_PASSWD_DEFAULT 1
-
-diff --git a/src/util/mount.c b/src/util/mount.c
-index f609f82..46d2874 100644
---- a/src/util/mount.c
-+++ b/src/util/mount.c
-@@ -127,7 +127,7 @@ int singularity_mount(const char *source, const char *target,
- return ret;
- }
-
--int check_mounted(char *mountpoint) {
-+int check_mounted(const char *mountpoint) {
- int retval = -1;
- FILE *mounts;
- char *line = (char *)malloc(MAX_LINE_LEN);
-diff --git a/src/util/mount.h b/src/util/mount.h
-index 8c80ea9..afca177 100644
---- a/src/util/mount.h
-+++ b/src/util/mount.h
-@@ -20,6 +20,6 @@
- int singularity_mount(const char *source, const char *target,
- const char *filesystemtype, unsigned long mountflags,
- const void *data);
--int check_mounted(char *mountpoint);
-+int check_mounted(const char *mountpoint);
-
- #endif /* __MOUNT_H_ */
-diff --git a/src/util/mountlist.c b/src/util/mountlist.c
-new file mode 100644
-index 0000000..5aded49
---- /dev/null
-+++ b/src/util/mountlist.c
-@@ -0,0 +1,82 @@
-+/*
-+ * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-+ * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-+ *
-+ * See the COPYRIGHT.md file at the top-level directory of this distribution and at
-+ * https://github.com/singularityware/singularity/blob/master/COPYRIGHT.md.
-+ *
-+ * This file is part of the Singularity Linux container project. It is subject to the license
-+ * terms in the LICENSE.md file found in the top-level directory of this distribution and
-+ * at https://github.com/singularityware/singularity/blob/master/LICENSE.md. No part
-+ * of Singularity, including this file, may be copied, modified, propagated, or distributed
-+ * except according to the terms contained in the LICENSE.md file.
-+ *
-+*/
-+
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <unistd.h>
-+#include <stdlib.h>
-+
-+#include "config.h"
-+#include "util/util.h"
-+#include "util/mount.h"
-+#include "util/mountlist.h"
-+#include "util/message.h"
-+
-+void mountlist_add(struct mountlist *mountlist,
-+ const char *source, const char *target,
-+ const char *filesystemtype, unsigned long mountflags,
-+ unsigned long mountlistflags) {
-+
-+ struct mountlist_point *point;
-+ point = (struct mountlist_point *) malloc(sizeof(struct mountlist_point));
-+ if (mountlist->first == NULL)
-+ mountlist->first = point;
-+ if (mountlist->last != NULL)
-+ mountlist->last->next = point;
-+ mountlist->last = point;
-+ point->next = NULL;
-+ point->source = source;
-+ point->target = target;
-+ point->filesystemtype = filesystemtype;
-+ point->mountflags = mountflags;
-+ point->mountlistflags = mountlistflags;
-+ point->resolved_target = NULL;
-+}
-+
-+void mountlist_cleanup(struct mountlist *mountlist) {
-+ struct mountlist_point *point = mountlist->first;
-+
-+ while (point != NULL) {
-+ if ( point->source != NULL)
-+ free((char *)point->source);
-+ if ( point->target != NULL)
-+ free((char *)point->target);
-+ if ( point->resolved_target != NULL)
-+ free(point->resolved_target);
-+ struct mountlist_point *next = point->next;
-+ free(point);
-+ point = next;
-+ }
-+
-+ mountlist->first = NULL;
-+ mountlist->last = NULL;
-+}
-+
-+int singularity_mount_point(struct mountlist_point *point) {
-+
-+ int retval;
-+ char *target = joinpath(CONTAINER_FINALDIR, point->target);
-+ const char *source = point->source;
-+ if (source == NULL)
-+ source = point->target;
-+
-+ retval = singularity_mount(source, target,
-+ point->filesystemtype, point->mountflags, NULL);
-+
-+ free(target);
-+ return retval;
-+}
-diff --git a/src/util/mountlist.h b/src/util/mountlist.h
-new file mode 100644
-index 0000000..66d44a5
---- /dev/null
-+++ b/src/util/mountlist.h
-@@ -0,0 +1,49 @@
-+/*
-+ * Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
-+ * Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-+ *
-+ * See the COPYRIGHT.md file at the top-level directory of this distribution and at
-+ * https://github.com/singularityware/singularity/blob/master/COPYRIGHT.md.
-+ *
-+ * This file is part of the Singularity Linux container project. It is subject to the license
-+ * terms in the LICENSE.md file found in the top-level directory of this distribution and
-+ * at https://github.com/singularityware/singularity/blob/master/LICENSE.md. No part
-+ * of Singularity, including this file, may be copied, modified, propagated, or distributed
-+ * except according to the terms contained in the LICENSE.md file.
-+ *
-+*/
-+
-+
-+#ifndef __MOUNTLIST_H_
-+#define __MOUNTLIST_H_
-+
-+// mountlist flags
-+#define ML_ONLY_IF_POINT_PRESENT 0x01
-+
-+struct mountlist_point {
-+ struct mountlist_point *next;
-+ const char *source;
-+ const char *target;
-+ const char *filesystemtype;
-+ unsigned long mountflags;
-+ unsigned long mountlistflags;
-+ char *resolved_target;
-+};
-+
-+struct mountlist {
-+ struct mountlist_point *first;
-+ struct mountlist_point *last;
-+};
-+
-+// if source is NULL, it will be copied from target
-+// CONTAINER_FINALDIR will be prepended to target
-+// target will be freed by mountlist_cleanup, as will source if it isn't NULL
-+void mountlist_add(struct mountlist *mountlist,
-+ const char *source, const char *target,
-+ const char *filesystemtype, unsigned long mountflags,
-+ unsigned long mountlistflags);
-+void mountlist_cleanup(struct mountlist *mountlist);
-+
-+int singularity_mount_point(struct mountlist_point *point);
-+
-+#endif /* __MOUNTLIST_H_ */
diff --git a/1818.patch b/1818.patch
deleted file mode 100644
index 7436cb5..0000000
--- a/1818.patch
+++ /dev/null
@@ -1,321 +0,0 @@
-From 08ad53f2bdb8ef3a1cc02ff8a423d5a6da434dff Mon Sep 17 00:00:00 2001
-From: Dave Dykstra <2129743+DrDaveD(a)users.noreply.github.com>
-Date: Sun, 15 Jul 2018 14:43:57 -0500
-Subject: [PATCH] prefer python3 if present
-
----
- configure.ac | 29 +++++++++++++++--------
- etc/configure_transform.py | 9 ++++++-
- libexec/helpers/checks/1-bash-hiddens.py | 10 +++++++-
- libexec/helpers/checks/1-cache-content.py | 10 +++++++-
- libexec/helpers/checks/1-docker.py | 10 +++++++-
- libexec/helpers/checks/3-cve.py | 10 +++++++-
- libexec/python/helpers/json/add.py | 10 +++++++-
- libexec/python/helpers/json/delete.py | 10 +++++++-
- libexec/python/helpers/json/dump.py | 10 +++++++-
- libexec/python/helpers/json/get.py | 10 +++++++-
- libexec/python/helpers/json/inspect.py | 10 +++++++-
- libexec/python/import.py | 10 +++++++-
- libexec/python/pull.py | 10 +++++++-
- libexec/python/shub/api.py | 10 +++++++-
- libexec/python/size.py | 10 +++++++-
- 15 files changed, 144 insertions(+), 24 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b4c76cda3..836fb44bf 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -299,23 +299,32 @@ AM_COND_IF([FOUND_MKSQUASHFS],,[AC_MSG_WARN([mksquashfs not found - needed at ru
- # PYTHON
- # ---------------------------------------------------------------------
-
--AC_CHECK_PROG(PYTHON_CHECK,python,yes)
--if test x"$PYTHON_CHECK" != x"yes" ; then
-- AC_MSG_ERROR([Please install python before installing.])
-+_PYTHON_EXEC=""
-+AC_CHECK_PROG(PYTHON_CHECK,python3,yes)
-+if test x"$PYTHON_CHECK" = x"yes" ; then
-+ _PYTHON_EXEC=python3
- else
-+ AC_CHECK_PROG(PYTHON_CHECK,python,yes)
-+ if test x"$PYTHON_CHECK" = x"yes" ; then
-+ _PYTHON_EXEC=python
-+ else
-+ AC_MSG_ERROR([Please install python before installing.])
-+ fi
-+fi
-
-+if test x"$_PYTHON_EXEC" != ""; then
- PYTHON_MODULES="base64 datetime glob hashlib io itertools json math multiprocessing pickle pwd re shutil signal subprocess stat sys tarfile tempfile time"
- for PYTHON_MODULE in $PYTHON_MODULES; do
- AC_MSG_CHECKING([for the $PYTHON_MODULE python module])
-- python_module_result=`python -c "import $PYTHON_MODULE" 2>&1`
-- if test -z "$python_module_result"; then
-- AC_MSG_RESULT([yes])
-- else
-- AC_MSG_RESULT([no])
-- AC_MSG_ERROR([cannot import Python module $PYTHON_MODULE.
-+ python_module_result=`$_PYTHON_EXEC -c "import $PYTHON_MODULE" 2>&1`
-+ if test -z "$python_module_result"; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ AC_MSG_ERROR([cannot import Python module $PYTHON_MODULE.
- Please check your Python installation. The error was:
- $python_module_result])
-- fi
-+ fi
- done
-
- fi
-diff --git a/etc/configure_transform.py b/etc/configure_transform.py
-index 2d28114f1..42b165156 100755
---- a/etc/configure_transform.py
-+++ b/etc/configure_transform.py
-@@ -1,4 +1,11 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-
- '''
- Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-diff --git a/libexec/helpers/checks/1-bash-hiddens.py b/libexec/helpers/checks/1-bash-hiddens.py
-index fabca4bd9..b9e385104 100755
---- a/libexec/helpers/checks/1-bash-hiddens.py
-+++ b/libexec/helpers/checks/1-bash-hiddens.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
- #
- # Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
- # Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-diff --git a/libexec/helpers/checks/1-cache-content.py b/libexec/helpers/checks/1-cache-content.py
-index d31c2829a..f08555511 100755
---- a/libexec/helpers/checks/1-cache-content.py
-+++ b/libexec/helpers/checks/1-cache-content.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
- #
- # Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
- # Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-diff --git a/libexec/helpers/checks/1-docker.py b/libexec/helpers/checks/1-docker.py
-index 224506311..e4914a6a5 100755
---- a/libexec/helpers/checks/1-docker.py
-+++ b/libexec/helpers/checks/1-docker.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
- #
- # Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
- # Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-diff --git a/libexec/helpers/checks/3-cve.py b/libexec/helpers/checks/3-cve.py
-index 319e90673..94829b102 100755
---- a/libexec/helpers/checks/3-cve.py
-+++ b/libexec/helpers/checks/3-cve.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
- #
- # Copyright (c) 2017-2018, SyLabs, Inc. All rights reserved.
- # Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
-diff --git a/libexec/python/helpers/json/add.py b/libexec/python/helpers/json/add.py
-index 9b533464d..0dab042ae 100644
---- a/libexec/python/helpers/json/add.py
-+++ b/libexec/python/helpers/json/add.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/helpers/json/delete.py b/libexec/python/helpers/json/delete.py
-index 0975e4e60..c2c95f95c 100644
---- a/libexec/python/helpers/json/delete.py
-+++ b/libexec/python/helpers/json/delete.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/helpers/json/dump.py b/libexec/python/helpers/json/dump.py
-index a1411565b..93c21ebf5 100644
---- a/libexec/python/helpers/json/dump.py
-+++ b/libexec/python/helpers/json/dump.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/helpers/json/get.py b/libexec/python/helpers/json/get.py
-index 355be9040..4e8a066ee 100644
---- a/libexec/python/helpers/json/get.py
-+++ b/libexec/python/helpers/json/get.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/helpers/json/inspect.py b/libexec/python/helpers/json/inspect.py
-index 85cbe47d5..40a836502 100644
---- a/libexec/python/helpers/json/inspect.py
-+++ b/libexec/python/helpers/json/inspect.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/import.py b/libexec/python/import.py
-index e67dda121..37dd22289 100644
---- a/libexec/python/import.py
-+++ b/libexec/python/import.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/pull.py b/libexec/python/pull.py
-index c3af8d4d0..21d967ca1 100644
---- a/libexec/python/pull.py
-+++ b/libexec/python/pull.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/shub/api.py b/libexec/python/shub/api.py
-index ce7574a1f..67d375e73 100644
---- a/libexec/python/shub/api.py
-+++ b/libexec/python/shub/api.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
-diff --git a/libexec/python/size.py b/libexec/python/size.py
-index 34331fd27..3e8ee385a 100644
---- a/libexec/python/size.py
-+++ b/libexec/python/size.py
-@@ -1,4 +1,12 @@
--#!/usr/bin/env python
-+#!/bin/bash
-+# the following line is the start of a comment to python and a no-op to bash
-+''':'
-+if type python3 >/dev/null 2>&1; then
-+ exec python3 "$0" "$@"
-+fi
-+exec python "$0" "$@"
-+'''
-+
-
- '''
-
commit ef0ea97670f11da5bdf32651204c73a18d95904c
Author: Dave Dykstra <2129743+DrDaveD(a)users.noreply.github.com>
Date: Tue Jan 22 10:49:24 2019 -0600
update to 3.0.3
diff --git a/singularity.spec b/singularity.spec
index 05fc4a4..1890d15 100644
--- a/singularity.spec
+++ b/singularity.spec
@@ -21,175 +21,131 @@
#
#
-%global _hardened_build 1
+%define singgopath src/github.com/sylabs/singularity
-%{!?_rel:%{expand:%%global _rel 1.1}}
-
-%if ! 0%{?osg}
-%define require_python3 1
-%else
-%define require_python3 0
-%endif
+# Disable debugsource packages; otherwise it ends up with an empty %files
+# file in debugsourcefiles.list on Fedora
+%undefine _debugsource_packages
Summary: Application and environment virtualization
Name: singularity
-Version: 2.6.1
-Release: %{_rel}%{?dist}
+Version: 3.0.3
+Release: 1%{?dist}
# https://spdx.org/licenses/BSD-3-Clause-LBNL.html
-License: BSD and LBNL BSD
+License: BSD-3-Clause-LBNL
Group: System Environment/Base
-URL: http://singularity.lbl.gov/
-Source: https://github.com/sylabs/singularity/releases/download/%{version}/%{name...
-Source2: %{name}.abignore
-%if %{require_python3}
-# from https://github.com/sylabs/singularity/pull/1818.patch
-Patch1: 1818.patch
-%endif
-# Not from https://github.com/sylabs/singularity/pull/1817.diff
-# because that includes renames; instead, check out the PR and do git diff
-Patch2: 1817.diff
+URL: https://www.sylabs.io/singularity/
+Source: %{name}-%{version}.tar.gz
ExclusiveOS: linux
BuildRoot: %{?_tmppath}%{!?_tmppath:/var/tmp}/%{name}-%{version}-%{release}-root
-%if %{require_python3}
-BuildRequires: /usr/bin/python3
+%if "%{_target_vendor}" == "suse"
+BuildRequires: go
%else
-BuildRequires: python
+BuildRequires: golang
+%endif
+BuildRequires: wget
+BuildRequires: git
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: libuuid-devel
+BuildRequires: openssl-devel
+%if ! 0%{?el6}
+BuildRequires: libseccomp-devel
%endif
-BuildRequires: automake libtool
-BuildRequires: libarchive-devel
%if "%{_target_vendor}" == "suse"
Requires: squashfs
%else
Requires: squashfs-tools
%endif
-Requires: %{name}-runtime = %{version}-%{release}
+# there's no golang for ppc64, just ppc64le
+ExcludeArch: ppc64
+
+Provides: %{name}-runtime
+Obsoletes: %{name}-runtime
%description
Singularity provides functionality to make portable
containers that can be used across host environments.
-%package devel
-Summary: Development libraries for Singularity
-Group: System Environment/Development
-
-%description devel
-Development files for Singularity
-
-%package runtime
-Summary: Support for running Singularity containers
-Group: System Environment/Base
-
-%if %{require_python3}
-Requires: /usr/bin/python3
-%endif
-
-%description runtime
-This package contains support for running containers created
-by the %{name} package.
+%debug_package
%prep
-%setup -q
-%if %{require_python3}
-%patch1 -p1
-%endif
-%patch2 -p1
-
+# Create our build root
+rm -rf %{name}-%{version}
+mkdir %{name}-%{version}
%build
-# always invoke even if configure exists, because the corresponding
-# automake version may be wrong
-./autogen.sh
+cd %{name}-%{version}
-%configure
-%{__make} %{?mflags}
+mkdir -p gopath/%{singgopath}
+tar -C "gopath/src/github.com/sylabs/" -xf "%SOURCE0"
+export GOPATH=$PWD/gopath
+export PATH=$GOPATH/bin:$PATH
+cd $GOPATH/%{singgopath}
+
+./mconfig -V %{version}-%{release} --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
+ --bindir=%{_bindir} --libexecdir=%{_libexecdir} --sysconfdir=%{_sysconfdir} \
+ --sharedstatedir=%{_sharedstatedir} --localstatedir=%{_localstatedir} \
+ --libdir=%{_libdir}
+
+cd builddir
+make old_config=
%install
-%{__make} install DESTDIR=$RPM_BUILD_ROOT %{?mflags_install}
-rm -f $RPM_BUILD_ROOT/%{_libdir}/singularity/lib*.la
-install -m 644 %{SOURCE2} $RPM_BUILD_ROOT/%{_libdir}/singularity/
+cd %{name}-%{version}
-%post runtime -p /sbin/ldconfig
-%postun runtime -p /sbin/ldconfig
+export GOPATH=$PWD/gopath
+export PATH=$GOPATH/bin:$PATH
+cd $GOPATH/%{singgopath}/builddir
+
+mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
+make DESTDIR=$RPM_BUILD_ROOT install man
+chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/singularity/actions/*
%clean
rm -rf $RPM_BUILD_ROOT
%files
-%license LICENSE.md LICENSE-LBNL.md
-%doc examples CONTRIBUTORS.md CONTRIBUTING.md COPYRIGHT.md INSTALL.md LICENSE-LBNL.md LICENSE.md README.md
-%attr(0755, root, root) %dir %{_sysconfdir}/singularity
-%attr(0644, root, root) %config(noreplace) %{_sysconfdir}/singularity/*
-
-%{_libexecdir}/singularity/cli/apps.*
-%{_libexecdir}/singularity/cli/bootstrap.*
-%{_libexecdir}/singularity/cli/build.*
-%{_libexecdir}/singularity/cli/check.*
-%{_libexecdir}/singularity/cli/create.*
-%{_libexecdir}/singularity/cli/image.*
-%{_libexecdir}/singularity/cli/inspect.*
-%{_libexecdir}/singularity/cli/mount.*
-%{_libexecdir}/singularity/cli/pull.*
-%{_libexecdir}/singularity/cli/selftest.*
-%{_libexecdir}/singularity/helpers
-
-# Binaries
-%{_libexecdir}/singularity/bin/builddef
-%{_libexecdir}/singularity/bin/get-section
-%{_libexecdir}/singularity/bin/mount
-%{_libexecdir}/singularity/bin/image-type
-%{_libexecdir}/singularity/bin/prepheader
-
-#SUID programs
-%attr(4755, root, root) %{_libexecdir}/singularity/bin/mount-suid
-
-%files runtime
+%attr(4755, root, root) %{_libexecdir}/singularity/bin/starter-suid
+%{_bindir}/*
%dir %{_libexecdir}/singularity
-%dir %{_localstatedir}/singularity
-%dir %{_localstatedir}/singularity/mnt
-%dir %{_localstatedir}/singularity/mnt/session
-%dir %{_localstatedir}/singularity/mnt/container
-%dir %{_localstatedir}/singularity/mnt/overlay
-%dir %{_localstatedir}/singularity/mnt/final
-%{_bindir}/singularity
-%{_bindir}/run-singularity
-%{_libdir}/singularity/lib*.so.*
-%{_libdir}/singularity/*.abignore
-%{_libexecdir}/singularity/cli/action_argparser.*
-%{_libexecdir}/singularity/cli/exec.*
-%{_libexecdir}/singularity/cli/help.*
-%{_libexecdir}/singularity/cli/instance.*
-%{_libexecdir}/singularity/cli/run.*
-%{_libexecdir}/singularity/cli/shell.*
-%{_libexecdir}/singularity/cli/test.*
-%{_libexecdir}/singularity/bin/action
-%{_libexecdir}/singularity/bin/get-configvals
-%{_libexecdir}/singularity/bin/cleanupd
-%{_libexecdir}/singularity/bin/start
-%{_libexecdir}/singularity/bin/docker-extract
-%{_libexecdir}/singularity/bootstrap-scripts
-%{_libexecdir}/singularity/functions
-%{_libexecdir}/singularity/handlers
-%{_libexecdir}/singularity/image-handler.sh
-%{_libexecdir}/singularity/python
+%{_libexecdir}/singularity/bin/starter
+%{_libexecdir}/singularity/cni/*
%dir %{_sysconfdir}/singularity
%config(noreplace) %{_sysconfdir}/singularity/*
-%{_mandir}/man1/singularity.1*
+%attr(755, root, root) %{_sysconfdir}/singularity/actions/exec
+%attr(755, root, root) %{_sysconfdir}/singularity/actions/run
+%attr(755, root, root) %{_sysconfdir}/singularity/actions/shell
+%attr(755, root, root) %{_sysconfdir}/singularity/actions/start
+%attr(755, root, root) %{_sysconfdir}/singularity/actions/test
%dir %{_sysconfdir}/bash_completion.d
-%{_sysconfdir}/bash_completion.d/singularity
+%{_sysconfdir}/bash_completion.d/*
+%dir %{_localstatedir}/singularity
+%dir %{_localstatedir}/singularity/mnt
+%dir %{_localstatedir}/singularity/mnt/session
+# XXX: Not great since we can't control this location...
+%{_mandir}/man1/*
-#SUID programs
-%attr(4755, root, root) %{_libexecdir}/singularity/bin/action-suid
-%attr(4755, root, root) %{_libexecdir}/singularity/bin/start-suid
-%files devel
-%{_libdir}/singularity/lib*.so
-%{_libdir}/singularity/lib*.a
-%{_includedir}/singularity/*.h
+%changelog
+* Tue Jan 22 2019 Dave Dykstra <dwd(a)fedoraproject.org> - 3.0.3-1
+- Update to upstream 3.0.3-1 release.
+* Fri Jan 18 2019 Dave Dykstra <dwd(a)fedoraproject.org> - 3.0.3-rc2
+- Update to upstream 3.0.3-rc2
+
+* Wed Jan 16 2019 Dave Dykstra <dwd(a)fedoraproject.org> - 3.0.3-rc1
+- Update to upstream 3.0.3-rc1
+
+* Wed Jan 09 2019 Dave Dykstra <dwd(a)fedoraproject.org> - 3.0.2-1.2
+- Add patch for PR 2531
+
+* Mon Jan 07 2019 Dave Dykstra <dwd(a)fedoraproject.org> - 3.0.2-1.1
+- Update to upstream 3.0.2
+- Added patches for PRs 2472, 2478, 2481
-%changelog
* Tue Dec 11 2018 Dave Dykstra <dwd(a)fedoraproject.org> - 2.6.1-1.1
- Update to released upstream 2.6.1
@@ -346,6 +302,3 @@ rm -rf $RPM_BUILD_ROOT
- New version
- BR automake, libtool and run autogen
-* Wed Apr 06 2016 Dave Love <loveshack(a)fedoraproject.org> - 1.0-0.1.20150405
-- Initial version adapted for Fedora as minimally as possible from
- bundled spec (can't run on el5)
diff --git a/sources b/sources
index 709aa7f..397d2b1 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (singularity-2.6.1.tar.gz) = 063327c67dae2629d1decebc060c474a72e6741f6dc9b6373734e429ccf11d53ee55c1578c28e74e8f8bcda87f3e0b735a3a0e982c9ea894f03a31eaaadf617c
+SHA512 (singularity-3.0.3.tar.gz) = c0a6b22417355d302aba34ca802a1be8500edb724c2b6ba9c53a3632019a390759188674a5af5d037fd838d611db15a922c13b298def85c9989d39c95c8569ae
5 years, 3 months
Architecture specific change in rpms/viking.git
by githook-noreply@fedoraproject.org
The package rpms/viking.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/viking.git/commit/?id=c0802baddb6....
Change:
+ExcludeArch: s390 s390x
Thanks.
Full change:
============
commit c0802baddb69388c684b4ac1e9589071d94d6341
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 14:42:20 2019 +0100
Exclude s390 s390x
diff --git a/viking.spec b/viking.spec
index 672c2ee..c8f21c4 100644
--- a/viking.spec
+++ b/viking.spec
@@ -7,6 +7,7 @@ License: GPLv2+
URL: http://viking.sourceforge.net/
Source0: http://downloads.sourceforge.net/viking/viking-%{version}.tar.bz2
#Patch0: path-to-manpages-docbook-xsl.patch
+ExcludeArch: s390 s390x
BuildRequires: gcc-c++
BuildRequires: intltool
commit 70afa59d51e6f69fe02da59630bdea5d1e7041c8
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 14:21:15 2019 +0100
Update compiler BR
diff --git a/viking.spec b/viking.spec
index 8badd03..672c2ee 100644
--- a/viking.spec
+++ b/viking.spec
@@ -8,7 +8,7 @@ URL: http://viking.sourceforge.net/
Source0: http://downloads.sourceforge.net/viking/viking-%{version}.tar.bz2
#Patch0: path-to-manpages-docbook-xsl.patch
-BuildRequires: gcc
+BuildRequires: gcc-c++
BuildRequires: intltool
BuildRequires: expat-devel
BuildRequires: gdk-pixbuf2-devel
commit f69e8b2d8ecfcc8a4dbfba9973344f8dd822c2ab
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 14:08:50 2019 +0100
Add nettle-devel as BR
diff --git a/viking.spec b/viking.spec
index cd8005d..8badd03 100644
--- a/viking.spec
+++ b/viking.spec
@@ -28,6 +28,7 @@ BuildRequires: mapnik-devel
BuildRequires: rarian-compat
BuildRequires: geoclue2-devel
BuildRequires: liboauth-devel
+BuildRequires: nettle-devel
BuildRequires: desktop-file-utils
BuildRequires: gettext
commit c044eb461326fb4b1ac39e43a731fe8d8df75fa9
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 14:01:58 2019 +0100
Add liboauth-devel as BR
diff --git a/viking.spec b/viking.spec
index 6bbbc9b..cd8005d 100644
--- a/viking.spec
+++ b/viking.spec
@@ -27,6 +27,8 @@ BuildRequires: docbook-style-xsl
BuildRequires: mapnik-devel
BuildRequires: rarian-compat
BuildRequires: geoclue2-devel
+BuildRequires: liboauth-devel
+
BuildRequires: desktop-file-utils
BuildRequires: gettext
commit cf191c6541d98aeb6a8cf950986b9693a8c8bb58
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 13:55:35 2019 +0100
Add new BR
diff --git a/viking.spec b/viking.spec
index a44315e..6bbbc9b 100644
--- a/viking.spec
+++ b/viking.spec
@@ -26,7 +26,7 @@ BuildRequires: docbook-utils
BuildRequires: docbook-style-xsl
BuildRequires: mapnik-devel
BuildRequires: rarian-compat
-
+BuildRequires: geoclue2-devel
BuildRequires: desktop-file-utils
BuildRequires: gettext
commit 86eccbfd5da9d828e477569491a5465874973a43
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 13:45:16 2019 +0100
Disable patch for a test
diff --git a/viking.spec b/viking.spec
index 4fe3fe5..a44315e 100644
--- a/viking.spec
+++ b/viking.spec
@@ -6,7 +6,7 @@ Summary: GPS data editor and analyzer
License: GPLv2+
URL: http://viking.sourceforge.net/
Source0: http://downloads.sourceforge.net/viking/viking-%{version}.tar.bz2
-Patch0: path-to-manpages-docbook-xsl.patch
+#Patch0: path-to-manpages-docbook-xsl.patch
BuildRequires: gcc
BuildRequires: intltool
commit a54f42857b5f6c95656fa6b068a3254b12583305
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 13:38:58 2019 +0100
Fix year
diff --git a/viking.spec b/viking.spec
index 8c9c57c..4fe3fe5 100644
--- a/viking.spec
+++ b/viking.spec
@@ -90,7 +90,7 @@ fi
%{_mandir}/man1/%{name}.1*
%changelog
-* Tue Jan 22 2018 Fabian Affolter <mail(a)fabian-affolter.ch> - 1.7-1
+* Tue Jan 22 2019 Fabian Affolter <mail(a)fabian-affolter.ch> - 1.7-1
- Update to new upstream version 1.7
* Fri Sep 28 2018 Federico Bruni <fede(a)inventati.org> - 1.6.2-8
commit 930d218157bc59009eaf61ebdc47ed783799c17d
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 13:38:08 2019 +0100
* Tue Jan 22 2018 Fabian Affolter <mail(a)fabian-affolter.ch> - 1.7-1
- Update to new upstream version 1.7
diff --git a/.gitignore b/.gitignore
index beef472..fde820c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,4 @@ viking-0.9.94.tar.gz
/viking-1.6.tar.bz2
/viking-1.6.1.tar.bz2
/viking-1.6.2.tar.bz2
+/viking-1.7.tar.bz2
diff --git a/sources b/sources
index a272d8d..7606c46 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-288cf8c6043ff4d04523595457fd5ed0 viking-1.6.2.tar.bz2
+SHA512 (viking-1.7.tar.bz2) = ff26cd808b407af5cb7c3cebed4c550e0c28ac1871497c2cedd09f7e1e72bd24ef0048e6e5d587aa9b03cb1860c3d3afcbe62308ade2179dea4b5f9668d05600
diff --git a/viking.spec b/viking.spec
index e1df85c..8c9c57c 100644
--- a/viking.spec
+++ b/viking.spec
@@ -1,6 +1,6 @@
Name: viking
-Version: 1.6.2
-Release: 8%{?dist}
+Version: 1.7
+Release: 1%{?dist}
Summary: GPS data editor and analyzer
License: GPLv2+
@@ -90,6 +90,9 @@ fi
%{_mandir}/man1/%{name}.1*
%changelog
+* Tue Jan 22 2018 Fabian Affolter <mail(a)fabian-affolter.ch> - 1.7-1
+- Update to new upstream version 1.7
+
* Fri Sep 28 2018 Federico Bruni <fede(a)inventati.org> - 1.6.2-8
- Add man page and fix help files location (rhbz#1633836)
commit 727e27368c9847474d7d539223b202b0ef030318
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Sun Dec 2 22:15:02 2018 +0100
Remove period
diff --git a/viking.spec b/viking.spec
index 0a5ba12..e1df85c 100644
--- a/viking.spec
+++ b/viking.spec
@@ -91,7 +91,7 @@ fi
%changelog
* Fri Sep 28 2018 Federico Bruni <fede(a)inventati.org> - 1.6.2-8
-- Add man page and fix help files location (rhbz#1633836).
+- Add man page and fix help files location (rhbz#1633836)
* Sat Jul 14 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
commit 7cd6d9aa40d00b5ce5149c34697f6aa43ba554ad
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Sun Dec 2 22:12:54 2018 +0100
Add patch
diff --git a/path-to-manpages-docbook-xsl.patch b/path-to-manpages-docbook-xsl.patch
new file mode 100644
index 0000000..bd86f4a
--- /dev/null
+++ b/path-to-manpages-docbook-xsl.patch
@@ -0,0 +1,26 @@
+From e34d60083a5eb5a918ac0a03c76062348f4292f1 Mon Sep 17 00:00:00 2001
+From: Federico Bruni <fede(a)inventati.org>
+Date: Tue, 2 Oct 2018 05:56:15 +0200
+Subject: [PATCH] use Fedora path to manpages/docbook.xsl
+
+otherwise man and help pages won't be built.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 370ba78e..ace03de0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -553,7 +553,7 @@ AC_DEFINE_UNQUOTED(VIK_CONFIG_DEFAULT_TILE_AGE, ${VIK_CONFIG_DEFAULT_TILE_AGE},
+ AC_DEFINE(HAVE_VIKING, 1, [Enable Viking specifics in otherwise reusable code])
+
+ dnl man pages processing
+-DB2MAN_XSL=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
++DB2MAN_XSL=/usr/share/sgml/docbook/xsl-stylesheets-1.79.2/manpages/docbook.xsl
+ AC_SUBST(DB2MAN_XSL)
+ AC_PATH_PROG(XP,xsltproc)
+ AM_CONDITIONAL([HAVE_XSLTPROC],[test "x$XP" != "x"])
+--
+2.17.1
+
commit c9d11cf435c69e38a7a749a2ad79ef6e4b992729
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Sun Dec 2 22:12:09 2018 +0100
* Fri Sep 28 2018 Federico Bruni <fede(a)inventati.org> - 1.6.2-8
- Add man page and fix help files location (rhbz#1633836)
diff --git a/viking.spec b/viking.spec
index 1ecab37..0a5ba12 100644
--- a/viking.spec
+++ b/viking.spec
@@ -1,18 +1,19 @@
Name: viking
Version: 1.6.2
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: GPS data editor and analyzer
License: GPLv2+
URL: http://viking.sourceforge.net/
Source0: http://downloads.sourceforge.net/viking/viking-%{version}.tar.bz2
+Patch0: path-to-manpages-docbook-xsl.patch
BuildRequires: gcc
BuildRequires: intltool
BuildRequires: expat-devel
BuildRequires: gdk-pixbuf2-devel
BuildRequires: gpsd-devel
-BuildRequires: gtk2-devel
+BuildRequires: gtk2-devel
BuildRequires: libcurl-devel
BuildRequires: gtk-doc
BuildRequires: gnome-doc-utils
@@ -21,6 +22,10 @@ BuildRequires: bzip2-devel
BuildRequires: file-devel
BuildRequires: libgexiv2-devel
BuildRequires: sqlite-devel
+BuildRequires: docbook-utils
+BuildRequires: docbook-style-xsl
+BuildRequires: mapnik-devel
+BuildRequires: rarian-compat
BuildRequires: desktop-file-utils
BuildRequires: gettext
@@ -33,10 +38,10 @@ Requires: expect
Viking is a free/open source program to manage GPS data. You can import
and plot tracks and waypoints, show OpenStreetMap and/or Terraserver maps
under it, download geocaches for an area on the map, make new tracks and
-waypoints, see real-time GPS position, etc.
+waypoints, see real-time GPS position, etc.
%prep
-%setup -q
+%autosetup
# Convert to utf-8
for file in ChangeLog NEWS TODO; do
mv $file timestamp
@@ -45,10 +50,8 @@ for file in ChangeLog NEWS TODO; do
done
%build
-%configure \
- --disable-scrollkeeper \
- --disable-mapnik
- # Failing for 1.6.1
+%configure
+ # Failing for 1.6.1
#--enable-gtk-doc
make %{?_smp_mflags}
@@ -60,7 +63,7 @@ desktop-file-install \
--delete-original \
--dir=%{buildroot}%{_datadir}/applications \
%{buildroot}/%{_datadir}/applications/%{name}.desktop
-%find_lang %{name}
+%find_lang %{name} --with-gnome
%check
make test
@@ -84,8 +87,12 @@ fi
%{_datadir}/%{name}/
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*x*/apps/%{name}.png
+%{_mandir}/man1/%{name}.1*
%changelog
+* Fri Sep 28 2018 Federico Bruni <fede(a)inventati.org> - 1.6.2-8
+- Add man page and fix help files location (rhbz#1633836).
+
* Sat Jul 14 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
5 years, 3 months
Architecture specific change in rpms/viking.git
by githook-noreply@fedoraproject.org
The package rpms/viking.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/viking.git/commit/?id=c0802baddb6....
Change:
+ExcludeArch: s390 s390x
Thanks.
Full change:
============
commit c0802baddb69388c684b4ac1e9589071d94d6341
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 14:42:20 2019 +0100
Exclude s390 s390x
diff --git a/viking.spec b/viking.spec
index 672c2ee..c8f21c4 100644
--- a/viking.spec
+++ b/viking.spec
@@ -7,6 +7,7 @@ License: GPLv2+
URL: http://viking.sourceforge.net/
Source0: http://downloads.sourceforge.net/viking/viking-%{version}.tar.bz2
#Patch0: path-to-manpages-docbook-xsl.patch
+ExcludeArch: s390 s390x
BuildRequires: gcc-c++
BuildRequires: intltool
commit 70afa59d51e6f69fe02da59630bdea5d1e7041c8
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 14:21:15 2019 +0100
Update compiler BR
diff --git a/viking.spec b/viking.spec
index 8badd03..672c2ee 100644
--- a/viking.spec
+++ b/viking.spec
@@ -8,7 +8,7 @@ URL: http://viking.sourceforge.net/
Source0: http://downloads.sourceforge.net/viking/viking-%{version}.tar.bz2
#Patch0: path-to-manpages-docbook-xsl.patch
-BuildRequires: gcc
+BuildRequires: gcc-c++
BuildRequires: intltool
BuildRequires: expat-devel
BuildRequires: gdk-pixbuf2-devel
commit f69e8b2d8ecfcc8a4dbfba9973344f8dd822c2ab
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 14:08:50 2019 +0100
Add nettle-devel as BR
diff --git a/viking.spec b/viking.spec
index cd8005d..8badd03 100644
--- a/viking.spec
+++ b/viking.spec
@@ -28,6 +28,7 @@ BuildRequires: mapnik-devel
BuildRequires: rarian-compat
BuildRequires: geoclue2-devel
BuildRequires: liboauth-devel
+BuildRequires: nettle-devel
BuildRequires: desktop-file-utils
BuildRequires: gettext
commit c044eb461326fb4b1ac39e43a731fe8d8df75fa9
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 14:01:58 2019 +0100
Add liboauth-devel as BR
diff --git a/viking.spec b/viking.spec
index 6bbbc9b..cd8005d 100644
--- a/viking.spec
+++ b/viking.spec
@@ -27,6 +27,8 @@ BuildRequires: docbook-style-xsl
BuildRequires: mapnik-devel
BuildRequires: rarian-compat
BuildRequires: geoclue2-devel
+BuildRequires: liboauth-devel
+
BuildRequires: desktop-file-utils
BuildRequires: gettext
commit cf191c6541d98aeb6a8cf950986b9693a8c8bb58
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 13:55:35 2019 +0100
Add new BR
diff --git a/viking.spec b/viking.spec
index a44315e..6bbbc9b 100644
--- a/viking.spec
+++ b/viking.spec
@@ -26,7 +26,7 @@ BuildRequires: docbook-utils
BuildRequires: docbook-style-xsl
BuildRequires: mapnik-devel
BuildRequires: rarian-compat
-
+BuildRequires: geoclue2-devel
BuildRequires: desktop-file-utils
BuildRequires: gettext
commit 86eccbfd5da9d828e477569491a5465874973a43
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 13:45:16 2019 +0100
Disable patch for a test
diff --git a/viking.spec b/viking.spec
index 4fe3fe5..a44315e 100644
--- a/viking.spec
+++ b/viking.spec
@@ -6,7 +6,7 @@ Summary: GPS data editor and analyzer
License: GPLv2+
URL: http://viking.sourceforge.net/
Source0: http://downloads.sourceforge.net/viking/viking-%{version}.tar.bz2
-Patch0: path-to-manpages-docbook-xsl.patch
+#Patch0: path-to-manpages-docbook-xsl.patch
BuildRequires: gcc
BuildRequires: intltool
commit a54f42857b5f6c95656fa6b068a3254b12583305
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 13:38:58 2019 +0100
Fix year
diff --git a/viking.spec b/viking.spec
index 8c9c57c..4fe3fe5 100644
--- a/viking.spec
+++ b/viking.spec
@@ -90,7 +90,7 @@ fi
%{_mandir}/man1/%{name}.1*
%changelog
-* Tue Jan 22 2018 Fabian Affolter <mail(a)fabian-affolter.ch> - 1.7-1
+* Tue Jan 22 2019 Fabian Affolter <mail(a)fabian-affolter.ch> - 1.7-1
- Update to new upstream version 1.7
* Fri Sep 28 2018 Federico Bruni <fede(a)inventati.org> - 1.6.2-8
commit 930d218157bc59009eaf61ebdc47ed783799c17d
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Tue Jan 22 13:38:08 2019 +0100
* Tue Jan 22 2018 Fabian Affolter <mail(a)fabian-affolter.ch> - 1.7-1
- Update to new upstream version 1.7
diff --git a/.gitignore b/.gitignore
index beef472..fde820c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,4 @@ viking-0.9.94.tar.gz
/viking-1.6.tar.bz2
/viking-1.6.1.tar.bz2
/viking-1.6.2.tar.bz2
+/viking-1.7.tar.bz2
diff --git a/sources b/sources
index a272d8d..7606c46 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-288cf8c6043ff4d04523595457fd5ed0 viking-1.6.2.tar.bz2
+SHA512 (viking-1.7.tar.bz2) = ff26cd808b407af5cb7c3cebed4c550e0c28ac1871497c2cedd09f7e1e72bd24ef0048e6e5d587aa9b03cb1860c3d3afcbe62308ade2179dea4b5f9668d05600
diff --git a/viking.spec b/viking.spec
index e1df85c..8c9c57c 100644
--- a/viking.spec
+++ b/viking.spec
@@ -1,6 +1,6 @@
Name: viking
-Version: 1.6.2
-Release: 8%{?dist}
+Version: 1.7
+Release: 1%{?dist}
Summary: GPS data editor and analyzer
License: GPLv2+
@@ -90,6 +90,9 @@ fi
%{_mandir}/man1/%{name}.1*
%changelog
+* Tue Jan 22 2018 Fabian Affolter <mail(a)fabian-affolter.ch> - 1.7-1
+- Update to new upstream version 1.7
+
* Fri Sep 28 2018 Federico Bruni <fede(a)inventati.org> - 1.6.2-8
- Add man page and fix help files location (rhbz#1633836)
commit 727e27368c9847474d7d539223b202b0ef030318
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Sun Dec 2 22:15:02 2018 +0100
Remove period
diff --git a/viking.spec b/viking.spec
index 0a5ba12..e1df85c 100644
--- a/viking.spec
+++ b/viking.spec
@@ -91,7 +91,7 @@ fi
%changelog
* Fri Sep 28 2018 Federico Bruni <fede(a)inventati.org> - 1.6.2-8
-- Add man page and fix help files location (rhbz#1633836).
+- Add man page and fix help files location (rhbz#1633836)
* Sat Jul 14 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
commit 7cd6d9aa40d00b5ce5149c34697f6aa43ba554ad
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Sun Dec 2 22:12:54 2018 +0100
Add patch
diff --git a/path-to-manpages-docbook-xsl.patch b/path-to-manpages-docbook-xsl.patch
new file mode 100644
index 0000000..bd86f4a
--- /dev/null
+++ b/path-to-manpages-docbook-xsl.patch
@@ -0,0 +1,26 @@
+From e34d60083a5eb5a918ac0a03c76062348f4292f1 Mon Sep 17 00:00:00 2001
+From: Federico Bruni <fede(a)inventati.org>
+Date: Tue, 2 Oct 2018 05:56:15 +0200
+Subject: [PATCH] use Fedora path to manpages/docbook.xsl
+
+otherwise man and help pages won't be built.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 370ba78e..ace03de0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -553,7 +553,7 @@ AC_DEFINE_UNQUOTED(VIK_CONFIG_DEFAULT_TILE_AGE, ${VIK_CONFIG_DEFAULT_TILE_AGE},
+ AC_DEFINE(HAVE_VIKING, 1, [Enable Viking specifics in otherwise reusable code])
+
+ dnl man pages processing
+-DB2MAN_XSL=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
++DB2MAN_XSL=/usr/share/sgml/docbook/xsl-stylesheets-1.79.2/manpages/docbook.xsl
+ AC_SUBST(DB2MAN_XSL)
+ AC_PATH_PROG(XP,xsltproc)
+ AM_CONDITIONAL([HAVE_XSLTPROC],[test "x$XP" != "x"])
+--
+2.17.1
+
commit c9d11cf435c69e38a7a749a2ad79ef6e4b992729
Author: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Sun Dec 2 22:12:09 2018 +0100
* Fri Sep 28 2018 Federico Bruni <fede(a)inventati.org> - 1.6.2-8
- Add man page and fix help files location (rhbz#1633836)
diff --git a/viking.spec b/viking.spec
index 1ecab37..0a5ba12 100644
--- a/viking.spec
+++ b/viking.spec
@@ -1,18 +1,19 @@
Name: viking
Version: 1.6.2
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: GPS data editor and analyzer
License: GPLv2+
URL: http://viking.sourceforge.net/
Source0: http://downloads.sourceforge.net/viking/viking-%{version}.tar.bz2
+Patch0: path-to-manpages-docbook-xsl.patch
BuildRequires: gcc
BuildRequires: intltool
BuildRequires: expat-devel
BuildRequires: gdk-pixbuf2-devel
BuildRequires: gpsd-devel
-BuildRequires: gtk2-devel
+BuildRequires: gtk2-devel
BuildRequires: libcurl-devel
BuildRequires: gtk-doc
BuildRequires: gnome-doc-utils
@@ -21,6 +22,10 @@ BuildRequires: bzip2-devel
BuildRequires: file-devel
BuildRequires: libgexiv2-devel
BuildRequires: sqlite-devel
+BuildRequires: docbook-utils
+BuildRequires: docbook-style-xsl
+BuildRequires: mapnik-devel
+BuildRequires: rarian-compat
BuildRequires: desktop-file-utils
BuildRequires: gettext
@@ -33,10 +38,10 @@ Requires: expect
Viking is a free/open source program to manage GPS data. You can import
and plot tracks and waypoints, show OpenStreetMap and/or Terraserver maps
under it, download geocaches for an area on the map, make new tracks and
-waypoints, see real-time GPS position, etc.
+waypoints, see real-time GPS position, etc.
%prep
-%setup -q
+%autosetup
# Convert to utf-8
for file in ChangeLog NEWS TODO; do
mv $file timestamp
@@ -45,10 +50,8 @@ for file in ChangeLog NEWS TODO; do
done
%build
-%configure \
- --disable-scrollkeeper \
- --disable-mapnik
- # Failing for 1.6.1
+%configure
+ # Failing for 1.6.1
#--enable-gtk-doc
make %{?_smp_mflags}
@@ -60,7 +63,7 @@ desktop-file-install \
--delete-original \
--dir=%{buildroot}%{_datadir}/applications \
%{buildroot}/%{_datadir}/applications/%{name}.desktop
-%find_lang %{name}
+%find_lang %{name} --with-gnome
%check
make test
@@ -84,8 +87,12 @@ fi
%{_datadir}/%{name}/
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*x*/apps/%{name}.png
+%{_mandir}/man1/%{name}.1*
%changelog
+* Fri Sep 28 2018 Federico Bruni <fede(a)inventati.org> - 1.6.2-8
+- Add man page and fix help files location (rhbz#1633836).
+
* Sat Jul 14 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
commit f090989f5a84056f10eda76342c0a5a26a2d7915
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Sat Jul 14 08:32:07 2018 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/viking.spec b/viking.spec
index 791af7a..1ecab37 100644
--- a/viking.spec
+++ b/viking.spec
@@ -1,6 +1,6 @@
Name: viking
Version: 1.6.2
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: GPS data editor and analyzer
License: GPLv2+
@@ -86,6 +86,9 @@ fi
%{_datadir}/icons/hicolor/*x*/apps/%{name}.png
%changelog
+* Sat Jul 14 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.2-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
* Fri Feb 09 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
commit 7d0c62526d29072df98e05f97210c2de2ee60a66
Author: Igor Gnatenko <ignatenko(a)redhat.com>
Date: Mon Jul 9 19:06:53 2018 +0200
add BuildRequires: gcc
Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
diff --git a/viking.spec b/viking.spec
index 4201c02..791af7a 100644
--- a/viking.spec
+++ b/viking.spec
@@ -7,6 +7,7 @@ License: GPLv2+
URL: http://viking.sourceforge.net/
Source0: http://downloads.sourceforge.net/viking/viking-%{version}.tar.bz2
+BuildRequires: gcc
BuildRequires: intltool
BuildRequires: expat-devel
BuildRequires: gdk-pixbuf2-devel
5 years, 3 months
[Report] Packages Restricting Arches
by root
List of packages currently excluding arches (2573)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- LuxRender
ExclusiveArch: x86_64
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aboot
ExclusiveArch: alpha
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64
- anet
ExclusiveArch: %{GPRbuild_arches}
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: x86_64 %{ix86} %{arm}
- arduino
ExclusiveArch: %{go_arches}
- arduino-builder
ExclusiveArch: %{go_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- atomic
ExclusiveArch: %{go_arches}
- aunit
ExclusiveArch: %GPRbuild_arches
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- banshee
ExclusiveArch: %{mono_arches}
- banshee-community-extensions
ExclusiveArch: %ix86 x86_64 ppc ppc64 ia64 %{arm} sparcv9 alpha s390x
- bareftp
ExclusiveArch: %{mono_arches}
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64}
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- beignet
ExclusiveArch: x86_64 %{ix86}
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- boo
ExclusiveArch: %{mono_arches}
- bpftrace
ExclusiveArch: x86_64 %{power64}
- buildah
ExclusiveArch: x86_64 %{arm} aarch64 ppc64le s390x
- bwa
ExclusiveArch: x86_64
- caddy
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}}
- cadvisor
ExclusiveArch: %{ix86} x86_64 aarch64 ppc64le
- calamares
ExclusiveArch: %{ix86} x86_64
- carto
ExclusiveArch: %{nodejs_arches} noarch
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- chromium
ExclusiveArch: x86_64 i686
ExclusiveArch: x86_64 i686 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- compat-gcc-296
ExclusiveArch: %{ix86} ia64 ppc
- compat-rust-serde_derive
ExclusiveArch: %{rust_arches}
- consul
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- containerd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}}
- containers
ExclusiveArch: %{ldc_arches}
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- 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 %{ix86} aarch64 ppc64 ppc64le
- cryptobone
ExclusiveArch: x86_64 %{ix86} ppc64 ppc64le aarch64
- daq
ExclusiveArch: x86_64 aarch64
- darktable
ExclusiveArch: x86_64 aarch64 ppc64le
- 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-dbus-generator
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-gir-generator
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- derelict
ExclusiveArch: %{ldc_arches}
- direnv
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- discord-irc
ExclusiveArch: %{nodejs_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: %ix86 x86_64 aarch64
- docco
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- docker
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- docker-anaconda-addon
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- docker-latest
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- dolphin-emu
ExclusiveArch: x86_64 armv7l aarch64
- douceur
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dssi-vst
ExclusiveArch: %{ix86} x86_64
- dsymbol
ExclusiveArch: %{ldc_arches}
- dustmite
ExclusiveArch: %{ldc_arches}
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le
- e3
ExclusiveArch: %{ix86} x86_64
- edac-utils
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64}
- edb
ExclusiveArch: %{ix86} x86_64
- edk2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elasticdump
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- embree
ExclusiveArch: x86_64
- embree2
ExclusiveArch: x86_64
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- exciting
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{power64}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- exercism
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- expresso
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- extlinux-bootloader
ExclusiveArch: %{arm} aarch64
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- fedora-gnat-project-common
ExclusiveArch: noarch %{GNAT_arches}
- fedora-toolbox
ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
- fence-virt
ExclusiveArch: i686 x86_64
- fes
ExclusiveArch: x86_64
- flannel
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluxcapacitor
ExclusiveArch: %{ix86} x86_64 %{arm}
- fpc
ExclusiveArch: %{arm} %{ix86} x86_64 ppc ppc64
- freshmaker
ExclusiveArch: %{ix86} x86_64
- frysk
ExclusiveArch: %{ix86} x86_64 ppc64
- fst
ExclusiveArch: i686
- fwts
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x %{power64}
- fwupdate
ExclusiveArch: %{efi}
- ga
ExclusiveArch: %{ix86} x86_64
- gbrainy
ExclusiveArch: %mono_arches
- gdata-sharp
ExclusiveArch: %mono_arches
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gela-asis
ExclusiveArch: %GPRbuild_arches
- geoipupdate
ExclusiveArch: %{go_arches}
- ghdl
ExclusiveArch: %{GNAT_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}}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- gl3n
ExclusiveArch: %{ldc_arches}
- glibc32
ExclusiveArch: x86_64 ppc64 s390x
- glusterd2
ExclusiveArch: %{go_arches}
- gmqcc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- gnatcoll
ExclusiveArch: %GPRbuild_arches
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-guitar
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-i18n
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- godotenv
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- gofed
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- golang
ExclusiveArch: %{golang_arches}
- golang-bitbucket-kardianos-osext
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-deepin-dbus-factory
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-BurntSushi-toml-test
ExclusiveArch: %{go_arches}
- golang-github-Jeffail-gabs
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-PuerkitoBio-goquery
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-PuerkitoBio-purell
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-PuerkitoBio-urlesc
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-RangelReale-osin
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-RangelReale-osincli
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-SeanDolphin-bqschema
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-SermoDigital-jose
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-Shopify-sarama
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-alecthomas-chroma
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-andybalholm-cascadia
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-auth0-go-jwt-middleware
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-bep-gitmap
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-bep-inflect
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-chaseadamsio-goorgeous
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-client9-gospell
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-codegangsta-negroni
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-danwakefield-fnmatch
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-dchest-cssmin
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-dchest-siphash
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-dlclark-regexp2
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-docker-libkv
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-duosecurity-duo_api_golang
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-eknkc-amber
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-endophage-gotuf
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-fatih-structs
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-flynn-go-shlex
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-fortytw2-leaktest
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-fsnotify-fsnotify
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-fsouza-go-dockerclient
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-fullsailor-pkcs7
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-glacjay-goini
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-go-errors-errors
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-go-macaron-inject
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-go-mgo-mgo
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-gobuffalo-envy
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-gocql-gocql
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-golang-image
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-goraft-raft
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-gorilla-css
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-gosexy-gettext
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-hailocab-go-hostpool
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-hashicorp-go-hclog
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-hashicorp-go-plugin
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-hashicorp-go-rootcerts
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-howeyc-fsnotify
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-inconshreveable-go-vhost
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-influxdb-influxdb
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-jdkato-prose
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-jdkato-syllables
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-jefferai-jsonx
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-justinas-alice
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-klauspost-cpuid
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-knieriem-markdown
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-kyokomi-emoji
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-lpabon-godbc
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-markbates-inflect
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mgutz-ansi
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mgutz-logxi
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-michaelklishin-rabbit-hole
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-miekg-mmark
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-milochristiansen-axis2
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-milochristiansen-lua
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mitchellh-go-testing-interface
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mitchellh-goamz
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-montanaflynn-stats
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-muesli-smartcrop
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mvo5-goconfigparser
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-mvo5-uboot-go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-neurosnap-sentences
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-noahdesu-go-ceph
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-ojii-gettext.go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-opencontainers-specs
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-openshift-go-json-rest
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-openshift-go-systemd
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-openshift-openshift-sdn
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-paulrosania-go-charset
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-pquerna-otp
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-prometheus-prometheus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-rackspace-gophercloud
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-rakyll-globalconf
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-rakyll-pb
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-rakyll-statik
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-rasky-go-xdr
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-remeh-sizedwaitgroup
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-ryanuber-go-glob
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-samuel-go-zookeeper
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-seccomp-libseccomp-golang
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-sethgrid-pester
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-shiena-ansicolor
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-shogo82148-go-shuffle
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-shurcooL-sanitized_anchor_name
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-skarademir-naturalsort
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-skynetservices-skydns
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-smartystreets-go-aws-auth
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-spacejam-loghisto
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-spacemonkeygo-openssl
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm} ppc64le s390x}
- golang-github-spaolacci-murmur3
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-spf13-afero
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-spf13-fsync
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-spf13-nitro
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-sstarcher-go-okta
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-stathat-go
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-stevvooe-resumable
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-streadway-amqp
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-stretchr-objx
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-syndtr-gocapability
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-syndtr-goleveldb
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-syndtr-gosnappy
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-tent-http-link-go
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-tonnerre-golang-pretty
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-vaughan0-go-ini
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-vishvananda-netlink
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} aarch64 x86_64 %{arm}}
- golang-github-vishvananda-netns
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-vjeantet-asn1-ber
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-vmware-govcloudair
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-wsxiaoys-terminal
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-xeipuuv-gojsonpointer
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-xeipuuv-gojsonreference
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-xeipuuv-gojsonschema
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-xiang90-probing
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-xrash-smetrics
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-yosssi-ace
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-yosssi-gohtml
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-yvasiyarov-go-metrics
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-yvasiyarov-gorelic
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-yvasiyarov-newrelic_platform_go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-googlecode-gcfg
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-googlecode-go-decimal-inf
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-googlecode-go-exp
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-googlecode-log4go
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-googlecode-sqlite
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-googlecode-uuid
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-gopkg-check
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-gopkg-go-check-check
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-gopkg-go-macaroon-macaroon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-gopkg-retry-v1
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-torproject-pluggable-transports-goptlib
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golint
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- gomtree
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- gotags
ExclusiveArch: %{go_arches}
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha
- gsf-sharp
ExclusiveArch: %mono_arches
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- gudev-sharp
ExclusiveArch: %mono_arches
- hedgewars
ExclusiveArch: %{fpc_arches}
- heketi
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- hsakmt
ExclusiveArch: x86_64 aarch64
- hub
ExclusiveArch: %{go_arches}
- hugo
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64
- icaro
ExclusiveArch: %{ix86} %{arm} x86_64 noarch
- ignition
ExclusiveArch: x86_64 ppc64le aarch64 s390x
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- ikarus
ExclusiveArch: %{ix86}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- insect
ExclusiveArch: %{nodejs_arches} noarch
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-gmmlib
ExclusiveArch: x86_64 i686
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ipw2100-firmware
ExclusiveArch: noarch i386 x86_64
- ipw2200-firmware
ExclusiveArch: noarch i386 x86_64
- ispc
ExclusiveArch: %{arm} %{ix86} x86_64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iwyu
ExclusiveArch: %{ix86} x86_64
- jake
ExclusiveArch: %{nodejs_arches} noarch
- jasmine-node
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- josm
ExclusiveArch: %{ix86} x86_64
- keepass
ExclusiveArch: %{mono_arches}
- kernel
ExclusiveArch: %{all_x86} x86_64 s390x %{arm} aarch64 ppc64le
- kicad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- kompose
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x
- kosmtik
ExclusiveArch: %{nodejs_arches} noarch
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- latrace
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64}
- lazarus
ExclusiveArch: %{fpc_arches}
- ldc
ExclusiveArch: %{ldc_arches}
- libbsr
ExclusiveArch: %{power64}
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdparse
ExclusiveArch: %{ldc_arches}
- libflatarray
ExclusiveArch: %{ix86} x86_64
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libmfx
ExclusiveArch: %{ix86} x86_64
- libocxl
ExclusiveArch: ppc64le
- libpmemobj-cpp
ExclusiveArch: x86_64
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- librtas
ExclusiveArch: %{power64}
- libseccomp
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 mipsel mips64el ppc64 ppc64le s390 s390x
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzfcphbaapi
ExclusiveArch: s390 s390x
- lodash
ExclusiveArch: %{nodejs_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
- maven-eclipse-plugin
ExclusiveArch: %{ix86} x86_64
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mcelog
ExclusiveArch: i686 x86_64
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64
- memtest86+
ExclusiveArch: %{ix86} 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-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- mnemosyne
ExclusiveArch: noarch %{qt5_qtwebengine_arches}
- mocha
ExclusiveArch: %{nodejs_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64
- mongodb
ExclusiveArch: %{upstream_arches}
- 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-debugger
ExclusiveArch: %ix86 x86_64
- 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 %{mips} aarch64 ppc64
- msgpack-d
ExclusiveArch: %{ldc_arches}
- msr-tools
ExclusiveArch: %{ix86} x86_64
- mustache-d
ExclusiveArch: %{ldc_arches}
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- nacl-arm-binutils
ExclusiveArch: x86_64
- nacl-binutils
ExclusiveArch: x86_64
- nacl-gcc
ExclusiveArch: x86_64
- nacl-newlib
ExclusiveArch: x86_64
- nant
ExclusiveArch: %mono_arches
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nim
ExclusiveArch: %{nim_arches}
- node-gyp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs
ExclusiveArch: %{nodejs_arches}
- nodejs-Base64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-abbrev
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-dynamic-import
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn-jsx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-add-stream
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-after
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-agentkeepalive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ain2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-align-text
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-alter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgcyan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bggreen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgmagenta
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgwhite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgyellow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-black
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-blue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bold
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-cyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-dim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-escapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-font
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-gray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-green
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-grey
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-hidden
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-inverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-italic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-magenta
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-red
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-reset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-strikethrough
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-styles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-underline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-white
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-wrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-yellow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansicolors
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansidiff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansistyles
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-field
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-archiver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-archiver-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-archy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-are-we-there-yet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-argparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-argsparser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-exclude
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-union
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-buffer-from-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-differ
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-find
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-find-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-foreach
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-ify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-union
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-uniq
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-unique
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arraybuffer-dot-slice
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arraybuffer-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arrify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ascii-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ascli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-asn1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assert-plus
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assertion-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assume
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ast-traverse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ast-types
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-astral
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-astral-angular-annotate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-astral-pass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-async-arrays
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-limiter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-queue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-some
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asynckit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-atob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-auto-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-autoresolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ava-init
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-aws-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws-sign2
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-code-frame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-messages
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-functions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-generators
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-runtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-babylon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backoff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-balanced-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base-option
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base-plugins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base32-encode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-arraybuffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-base64-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-base64id
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-basic-auth-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-batch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bcrypt
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-bcryptjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-beeper
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-benchmark
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-than-before
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bignumber-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bind-obj-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bindings
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bit-mask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-blob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-block-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bluebird
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-body-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boolbase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-brace-expansion
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-braces
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-breakable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-browser-stdout
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buf-compare
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-crc32
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-shims
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buffer-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buffertools
ExclusiveArch: %{nodejs_arches}
- nodejs-bufferutil
ExclusiveArch: %{nodejs_arches}
- nodejs-builtin-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-builtins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bundle-dependencies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-burrito
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-busboy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-byline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bytes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cache-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caching-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-call-delayed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-matcher
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-me-maybe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-callback-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsites
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camel-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caniuse-db
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-carrier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caseless
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-center-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-as-promised
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-cheerio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-connect-middleware
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-json-schema
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-oauth2orize-grant
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-spies-next
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chainer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chalk
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-change-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-char-spinner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-character-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-chardet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-charenc
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-charm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-check-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-check-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cheerio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-child-process-close
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chmodr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chownr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chroma-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chrono
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ci-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-circular-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cjson
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-class-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clean-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clean-yaml-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clear-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-spinner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cliui
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-stats
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-closure-compiler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cls
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-co-with-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-code-point-at
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-coffee-coverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-collection-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-collections
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-color-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colour
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-columnify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-combined-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commander
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-common-path-prefix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commondir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-commoner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commonmark
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-compare-func
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compare-versions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-inherit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compress-commons
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compressible
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-compression
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-map
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-config-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-livereload
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-browserify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-console-dot-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-group
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-consolemd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-constant-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-constantinople
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-disposition
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-conventional-changelog-angular
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-atom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-core
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-conventional-changelog-ember
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-eslint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-express
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jquery
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jscs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jshint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-preset-loader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-filter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-recommended-bump
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-hex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-jar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookiejar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-copy-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-core-assert
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-util-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-couch-login
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coveralls
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-crc
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-crc32-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cross-spawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cross-spawn-async
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-crypt
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cryptiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csrf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-select
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-what
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csscomb-core
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csslint
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csso
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cssom
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csurf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-generate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-spectrum
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ctype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-currently-unhandled
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cycle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cyclist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-d
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dargs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dashdash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-data-uri-to-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-date-now
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dateformat
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-death
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-debug-fabulous
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debuglog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-decamelize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decamelize-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decimal-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dedent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-eql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deep-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-default-require-extensions
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-default-resolution
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defaults
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defence
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defence-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deferred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-define-properties
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-define-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defined
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-degenerator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-del
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-delayed-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-delegates
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-delete
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dep-graph
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-depd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deprecated
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-indent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-newline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detective
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dezalgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dicer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflib
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dirty-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-discord-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-docopt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-doctrine
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dom-serializer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-domelementtype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-domhandler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-domutils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dot-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dot-prop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dotfile-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dreamopt
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dryice
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dtree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplexer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplexer2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-duplexify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duration
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-each
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-each-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ebnf-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-echomd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-editor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ee-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-emojione
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-empty-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-encodeurl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-end-of-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io-client
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-entities
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-ex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-errorhandler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-abstract
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-to-primitive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es5-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es5-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-iterator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-promisify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-set
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escallmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-html
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-regexp-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escape-string-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escodegen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escope
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower-location-detector
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima-fb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima-harmony-jscs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espurify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esrecurse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse-fb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estree-walker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-etag
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-event-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-eventemitter2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-events-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-everything-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-execa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-exit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-brackets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-tilde
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extend
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extend-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extended-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extsprintf
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-eyes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fake
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fancy-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-far
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fast-levenshtein
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fastfall
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-faucet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-faye-websocket
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fg-lodash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-figures
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-file-entry-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-file-sync-cmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-file-uri-to-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-filelist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-filename-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fileset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fill-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fill-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-finalhandler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-find-cache-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-find-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-findup-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-first-chunk-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flagged-respawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flat-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flot
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-flush-write-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fmix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fn-dot-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fn-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-follow-redirects
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-in
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-for-own
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-foreach
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-foreground-child
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forever-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-form-data
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-formatio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-formidable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forwarded
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fragment-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-freetree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fresh
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-dot-notify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-cached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fs-ext
ExclusiveArch: %{nodejs_arches}
- nodejs-fs-extra
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-temp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-vacuum
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-write-stream-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs2
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-ignore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-npm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ftp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-function-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-function-loop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gauge
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gaze
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gdal
ExclusiveArch: %{nodejs_arches}
- nodejs-generate-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generate-object-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-get-pkg-repo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-port
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-stdin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-uri
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-get-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-getobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-git-dummy-commit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-raw-commits
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-remote-origin-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-semver-tags
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-tails
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gitconfiglocal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-username-repo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob-base
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-expand
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-parent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-global-modules
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-global-prefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globby
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globule
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glogg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gnode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gonzales-pe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-graceful-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-graceful-readlink
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-growl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-angular-templates
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-banner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-cli
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-compare-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-clean
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-concat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-copy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-csslint
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-cssmin
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-htmlmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-internal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-less
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-nodeunit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-requirejs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-uglify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-watch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-git-authors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-init
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-known-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-lib-contrib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-saucelabs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-sed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-simple-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-svgmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-util-args
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-util-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-util-process
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-util-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gulp-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gulp-ng-classify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gulp-util
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gzip-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-handle-thing
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-handlebars
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-har-validator
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-flag
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-symbols
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-unicode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hash_file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hawk
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-heap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hex-to-array-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-highlight-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-historic-readline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hock
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hoek
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-homedir-polyfill
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hook-std
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hooker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hosted-git-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hsluv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-html-minifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-htmlparser2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-deceiver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-errors
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-http-signature
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-https-proxy-agent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-humanize-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-i18n-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i2c
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv-lite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-iferr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ignore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-image-size
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-immutable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-import-local
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imul
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imurmurhash
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-indent-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inflight
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-info-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-inherits
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherits1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ini
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-init-package-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inline-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-install
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-int64-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-intercept-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-interpret
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-invert-kv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ip
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ipaddr-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-irc-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-formatting
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-upd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irregular-plurals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-absolute
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-accessor-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrayish
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-boolean-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-builtin-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-callable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-data-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-date-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-dotfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-equal-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-extendable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-finite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-fullwidth-code-point
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-generator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-lower-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-my-json-valid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-negated-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-number
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-number-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-odd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-path-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-in-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-inside
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-plain-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-primitive
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-registered
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-relative
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-subset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-text-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-typedarray
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-unc-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-upper-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-valid-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-valid-instance
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-windows
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isarray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-isexe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-iso8601
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isodate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-coverage
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-hook
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-report
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-source-maps
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-reports
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jade
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-growl-reporter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-reporters
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jest-mock
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jison
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jison-lex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jju
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joose
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-namespace-depended
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-simplerequest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-base64
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-string-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-js-tokens
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-yaml
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jschardet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jscoverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jshint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-localizer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json-parse-helpfulerror
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stable-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stringify-safe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json3
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer-dot-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonselect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jwt-simple
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keep-alive-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-keygrip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keypress
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-kind-of
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-klaw
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-kuler2gpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-latest-version
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lazy-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lazystream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lcid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lcov-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-leaflet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-formbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-hash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leche
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-left-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-less
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less-plugin-clean-css
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-levn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lex-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-libpq
ExclusiveArch: %{nodejs_arches}
- nodejs-libxmljs
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-line-numbers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-line-reader
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linkify-it
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-load-grunt-tasks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-load-json-file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-locate-character
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-locate-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lockfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-log-driver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-ok
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-symbols
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lolex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-long
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-longest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loophole
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loud-rejection
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lower-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lower-case-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lru-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lru-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ltx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-magic-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-make-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-generator-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makeerror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik
ExclusiveArch: %{nodejs_arches}
- nodejs-mapnik-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik-vector-tile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-markdown
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-markdown-it-testgen
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-matched
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-max-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-maxmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mbtiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-md5
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-hex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-o-matic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mdn-data
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mdurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-media-typer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoizee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-memwatch-next
ExclusiveArch: %{nodejs_arches}
- nodejs-meow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-merge-descriptors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-merge-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-metascript
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-method-override
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-micromatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-millstone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mime-db
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mimeparse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minimalistic-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minimist-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minipass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mkdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mkfiletree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-bin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-modify-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-module-not-found-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-moment
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-moment-timezone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb-core
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-monocle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-morgan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-muffin
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multiline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-multimatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multiparty
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multipipe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-murmur-32
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mustache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mutate-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mute-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mysql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mz
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nan0
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanomatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanoseconds
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ncp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-needle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-negative-zero
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-negotiator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-net-browserify-alt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-netmask
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-next
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-next-tick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ng-classify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-expat
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-node-int64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-static
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-stringprep
ExclusiveArch: %{nodejs_arches}
- nodejs-node-uuid
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nomnom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-noncharacters
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt-usage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-noptify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-normalize-git-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-normalize-package-data
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-normalize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-cache-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-install-checks
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-npm-package-arg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-registry-client
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-npm-run-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-user-validate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npmlog
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nth-check
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-number-is-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-numeral
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth2orize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-assign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-copy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-dot-entries
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-dot-omit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-dot-pick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-observable-to-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-obuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-okay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-finished
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-headers
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-once
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-onetime
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-only-shallow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-opal-runtime
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opener
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-opn
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optionator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opts
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-orchestrator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ordered-read-streams
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-os-homedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-locale
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-tmpdir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-osenv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-output-file-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-own-or
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-own-or-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-finally
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-limit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-locate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pac-proxy-agent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pac-resolver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-package
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-package-json
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-package-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packet-reader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pad-left
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-paperboy
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parallel-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-param-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-github-repo-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parse-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-passwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parsejson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseqs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parserlib
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parseuri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pascal-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pascalcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-http-bearer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2-client-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-array
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-dirname
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-exists
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-extra
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-absolute
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-inside
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-key
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-parse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pathval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pause
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pbkdf2-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pedding
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-connection-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-cursor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-int8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-native
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pgpass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkg-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pkg-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkginfo
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-platform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-plur
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-portscanner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-posix-character-classes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-bytea
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-date
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-interval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-precond
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prelude-ls
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-preserve
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-bytes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-hrtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pretty-time
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prism-media
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-private
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-process-nextick-args
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proclaim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promises-aplus-tests
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prompt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promzard
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-propagate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-propget
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proto-list
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proxy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proxy-addr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-proxyquire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pruddy-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pseudomap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pubcontrol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pump
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pumpify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-q
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-q-io
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-qs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qtdatastream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-queue-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-quick-lru
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qunit-extras
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-qunitjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rainbowsocks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-random-bytes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-random-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-randomatic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-range-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-raw-body
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-re-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-all-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-dir-files
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-installed
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-json-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-package-json
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-pkg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-pkg-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readable-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-readdir-enhanced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdir-scoped-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-realize-package-specifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-recast
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rechoir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-redent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reduce-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regenerator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-regex-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regex-not
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-relateurl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-remove-trailing-separator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repeat-element
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeat-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeating
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-request
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-requestretry
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-cs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-require-directory
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-inject
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-main-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-relative
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-uncached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-yaml
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-requirejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-cwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-pkg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-response-time
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resumer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ret
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-retry
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reusify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-revalidator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rewire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rhea
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-right-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rimraf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rndm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup-plugin-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-commonjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-node-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-pluginutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ronn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-run-parallel-limit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-runforcover
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safe-json-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safecb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-samsam
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sauce-tunnel
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-saucelabs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sax
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-scmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-secure-random
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-seedrandom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-select-hose
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-semver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-send
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sentence-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sentiment
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sequencify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serialize-error
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serve-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serve-static
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-server-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-blocking
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-getter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-set-immediate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-immediate-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-setimmediate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-setprototypeof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sha
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shallow-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-command
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shelljs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-shelljs-nodecli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-format
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-http
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-showdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sigmund
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-signal-exit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-asyncify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-fmt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-single-line-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon-chai
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sinon-restore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slash
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sliced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slide
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-smart-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-snake-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture-set
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snekfetch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snockets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sntp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-socket-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-socks-client
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-socks-proxy-agent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sort-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sorted-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-fixtures
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sparkles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-spawn-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spawn-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-correct
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-exceptions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-license-ids
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-speedometer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sqlite3
ExclusiveArch: %{nodejs_arches}
- nodejs-srs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ssri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-st
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-trace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-utils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-static-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-static-favicon
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-statuses
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-std-mocks
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-combiner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-consume
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-counter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-pair
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-replace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-shift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-spigot
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-streamsearch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-streamsink
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-streamtest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-repeat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-trim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string-width
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string_decoder
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringmap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringscanner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-ansi
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-bom-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-color
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-eof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-indent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-json-comments
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strong-log-transformer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stylus
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-success-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-superagent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-supertest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supervisor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supports-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-suspend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-swap-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-symbol-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-mocha-reporter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-out
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-spec
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar-pack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp-write
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tempfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temporary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-cordovajs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-liferay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-terst
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-test-exclude
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-testdata-w3c-json-form
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-testjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testswarm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testutil
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-extensions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-thenify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thenify-all
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-through2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through2-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thunkify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tildify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tilejson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tilelive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tilelive-mapnik
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tiletype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-diff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-stamp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-timekeeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-timers-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tiny-lr-fork
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tippex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-title-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tlds
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-absolute-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-object-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-regex-range
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-touch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tough-cookie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tracejs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-transformers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-traverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-treeify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tressa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-trim-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim-off-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trivial-deferred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-try-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-try-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tryor
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tsame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tslib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tsscmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tunnel-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tv4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-check
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-type-detect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-name
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-typeahead.js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uc-dot-micro
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uglify-to-browserify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid-number
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uid-safe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ultron
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-umask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unc-path-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore-dot-logger
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unicode-length
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-union-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unique-filename
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-slug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unpipe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unset-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-upper-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-upper-case-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uri-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-urix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-url2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-use
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-user-home
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utfx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-deprecate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-utilities
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utils-merge
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uuid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vali-date
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-validate-npm-package-license
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-validate-npm-package-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vasync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-verror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vhost
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vinyl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vlq
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vow-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vows
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-walkdir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-walker
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ware
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-warning-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-watchit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-watershed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wbuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wcwidth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-websocket-driver
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-when
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-whet-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-which
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-win-spawn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-window-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-winston
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-with
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wolfy87-eventemitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-woothee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wordwrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrap-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wrap-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrappy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-write-file-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write-json-file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write-pkg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ws
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xdg-basedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xml2js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest-ssl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xregexp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-xtend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-y18n
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yallist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yapool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yargs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yargs-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yeast
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zeropad
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zip-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zipfile
ExclusiveArch: %{nodejs_arches}
- nodejs-zlib-browserify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zlibjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodeunit
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: %{ix86} x86_64
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64
- nwchem
ExclusiveArch: x86_64 %{ix86}
- obfs4
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-kvm-hook
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-register-machine
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- oci-umount
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- ocitools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- odcs
ExclusiveArch: %{ix86} x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-netutils
ExclusiveArch: %{ix86} %{arm}
- olpc-powerd
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- onedrive
ExclusiveArch: %{ldc_arches}
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjfx
ExclusiveArch: %{ix86} x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openssl-ibmca
ExclusiveArch: s390 s390x
- origin
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- orion
ExclusiveArch: %{qt5_qtwebengine_arches}
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- oshinko-cli
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- paflib
ExclusiveArch: ppc %{power64}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdfmod
ExclusiveArch: %mono_arches
- peripety
ExclusiveArch: %{rust_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: i686 x86_64 ia64 aarch64
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- pmdk-convert
ExclusiveArch: x86_64
- pocl
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- podman
ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
- 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}
- publican-jboss
ExclusiveArch: i686 x86_64
- pvs-sbcl
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-healpy
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-rpi-gpio
ExclusiveArch: %{arm} aarch64
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- 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}
ExclusiveArch: %{openblas_arches}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- redhat-lsb
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- reg
ExclusiveArch: x86_64
- renderdoc
ExclusiveArch: %{ix86} x86_64
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm}
- rescene
ExclusiveArch: %{mono_arches}
- restsharp
ExclusiveArch: %{mono_arches}
- rhythmbox-alternative-toolbar
ExclusiveArch: %{ix86} %{arm} x86_64 ppc64 ppc64le
- rkt
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- rocm-runtime
ExclusiveArch: x86_64 aarch64
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- runc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le %{mips} s390x
- rust
ExclusiveArch: %{rust_arches}
- rust-abomonation
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-adler32
ExclusiveArch: %{rust_arches}
- rust-aho-corasick
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-ansi_colours
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-antidote
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arrayref
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-atk-sys
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-backtrace-sys
ExclusiveArch: %{rust_arches}
- rust-base100
ExclusiveArch: %{rust_arches}
- rust-base64
ExclusiveArch: %{rust_arches}
- rust-bat
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bincode0.8
ExclusiveArch: %{rust_arches}
- rust-bindgen
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-bitflags0.9
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-brev
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-build_const
ExclusiveArch: %{rust_arches}
- rust-byte-tools
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes
ExclusiveArch: %{rust_arches}
- rust-bytes0.3
ExclusiveArch: %{rust_arches}
- rust-bytesize
ExclusiveArch: %{rust_arches}
- rust-c_vec
ExclusiveArch: %{rust_arches}
- rust-cairo-rs
ExclusiveArch: %{rust_arches}
- rust-cairo-sys-rs
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cc
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-chrono
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-cmake
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
ExclusiveArch: %{rust_arches}
- rust-crc-core
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque0.4
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-cryptovec
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-curl-sys
ExclusiveArch: %{rust_arches}
- rust-custom_derive
ExclusiveArch: %{rust_arches}
- rust-data-encoding
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-delta_e
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-either
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-enum_primitive
ExclusiveArch: %{rust_arches}
- rust-env_logger
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-env_logger0.5
ExclusiveArch: %{rust_arches}
- rust-errln
ExclusiveArch: %{rust_arches}
- rust-errno
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-extprim
ExclusiveArch: %{rust_arches}
- rust-extprim_literals_macros
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake_clock
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-filetime
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-flame
ExclusiveArch: %{rust_arches}
- rust-flate2
ExclusiveArch: %{rust_arches}
- rust-float-cmp
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-fragile
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fuse
ExclusiveArch: %{rust_arches}
- rust-futures
ExclusiveArch: %{rust_arches}
- rust-futures-async-runtime
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-macro-async
ExclusiveArch: %{rust_arches}
- rust-futures-macro-await
ExclusiveArch: %{rust_arches}
- rust-futures-sink
ExclusiveArch: %{rust_arches}
- rust-futures-stable
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures-util
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-gcsf
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-generic-array
ExclusiveArch: %{rust_arches}
- rust-getopts
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-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-glib
ExclusiveArch: %{rust_arches}
- rust-glib-sys
ExclusiveArch: %{rust_arches}
- rust-glob
ExclusiveArch: %{rust_arches}
- rust-globset
ExclusiveArch: %{rust_arches}
- rust-gobject-sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-google-drive3-fork
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-gtk
ExclusiveArch: %{rust_arches}
- rust-gtk-rs-lgpl-docs
ExclusiveArch: %{rust_arches}
- rust-gtk-source-sys
ExclusiveArch: %{rust_arches}
- rust-gtk-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-h2
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-heck
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-horrorshow
ExclusiveArch: %{rust_arches}
- rust-http
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-hyper
ExclusiveArch: %{rust_arches}
- rust-hyper-native-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyper0.10
ExclusiveArch: %{rust_arches}
- rust-id_tree
ExclusiveArch: %{rust_arches}
- rust-idna
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-indexmap
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itoa
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-lab
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lazy-init
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-libc
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys
ExclusiveArch: %{rust_arches}
- rust-libloading
ExclusiveArch: %{rust_arches}
- rust-libm
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libudev
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-lipsum
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru_time_cache
ExclusiveArch: %{rust_arches}
- rust-lzma-sys
ExclusiveArch: %{rust_arches}
- rust-macro-attr
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memoffset
ExclusiveArch: %{rust_arches}
- rust-metadeps
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-mime-sniffer
ExclusiveArch: %{rust_arches}
- rust-mime0.2
ExclusiveArch: %{rust_arches}
- rust-miniz-sys
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
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-mnt
ExclusiveArch: %{rust_arches}
- rust-modifier
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-native-tls
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-net2
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nix
ExclusiveArch: %{rust_arches}
- rust-no-panic
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nom
ExclusiveArch: %{rust_arches}
- rust-nom3
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-complex
ExclusiveArch: %{rust_arches}
- rust-num-integer
ExclusiveArch: %{rust_arches}
- rust-num-iter
ExclusiveArch: %{rust_arches}
- rust-num-rational
ExclusiveArch: %{rust_arches}
- rust-num-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num_cpus
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssl
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-openssl-sys
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-pager
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-parity-wasm
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot_core
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-percent-encoding
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-phf
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_generator
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-pkg-config
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-plist
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-proc-macro2
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.3
ExclusiveArch: %{rust_arches}
- rust-procedural-masquerade
ExclusiveArch: %{rust_arches}
- rust-proptest
ExclusiveArch: %{rust_arches}
- rust-pulldown-cmark
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
ExclusiveArch: %{rust_arches}
- rust-quickersort
ExclusiveArch: %{rust_arches}
- rust-quote
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.5
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_core0.2
ExclusiveArch: %{rust_arches}
- rust-rand_hc
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_os
ExclusiveArch: %{rust_arches}
- rust-rand_pcg
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rayon
ExclusiveArch: %{rust_arches}
- rust-rayon-core
ExclusiveArch: %{rust_arches}
- rust-recycler
ExclusiveArch: %{rust_arches}
- rust-regex
ExclusiveArch: %{rust_arches}
- rust-regex-syntax
ExclusiveArch: %{rust_arches}
- rust-relay
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-rust-ini
ExclusiveArch: %{rust_arches}
- rust-rustc-demangle
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustdoc-stripper
ExclusiveArch: %{rust_arches}
- rust-rustfilt
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-ryu
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-scoped-tls
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-semver
ExclusiveArch: %{rust_arches}
- rust-semver-parser
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.7
ExclusiveArch: %{rust_arches}
- rust-serde
ExclusiveArch: %{rust_arches}
- rust-serde0.8
ExclusiveArch: %{rust_arches}
- rust-serde_bytes
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_derive
ExclusiveArch: %{rust_arches}
- rust-serde_ignored
ExclusiveArch: %{rust_arches}
- rust-serde_json
ExclusiveArch: %{rust_arches}
- rust-serde_json0.8
ExclusiveArch: %{rust_arches}
- rust-serde_test
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_yaml
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal-hook
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-snowflake
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-sourceview
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spmc
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-string
ExclusiveArch: %{rust_arches}
- rust-strings
ExclusiveArch: %{rust_arches}
- rust-strsim
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-structopt-derive
ExclusiveArch: %{rust_arches}
- rust-syn
ExclusiveArch: %{rust_arches}
- rust-syn0.11
ExclusiveArch: %{rust_arches}
- rust-syn0.13
ExclusiveArch: %{rust_arches}
- rust-syn0.14
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-tabwriter
ExclusiveArch: %{rust_arches}
- rust-take
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-tempfile
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term_grid
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termcolor
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-textwrap
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-scoped
ExclusiveArch: %{rust_arches}
- rust-thread_local
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-timerfd
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-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-mockstream
ExclusiveArch: %{rust_arches}
- rust-tokio-process
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-service
ExclusiveArch: %{rust_arches}
- rust-tokio-signal
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-toml
ExclusiveArch: %{rust_arches}
- rust-traitobject
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-typeable
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typenum
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-ucd-util
ExclusiveArch: %{rust_arches}
- rust-unicase
ExclusiveArch: %{rust_arches}
- rust-unicase1
ExclusiveArch: %{rust_arches}
- rust-unicode-bidi
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-unindent
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-url
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
ExclusiveArch: %{rust_arches}
- rust-uuid
ExclusiveArch: %{rust_arches}
- rust-varlink
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-varlink_stdinterfaces
ExclusiveArch: %{rust_arches}
- rust-vec_map
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-void
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-which1
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-yubibomb
ExclusiveArch: %{rust_arches}
- rust-yup-oauth2
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- sagemath
ExclusiveArch: aarch64 %{arm} %{ix86} x86_64 ppc sparcv9
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- seabios
ExclusiveArch: x86_64
- seamonkey
ExclusiveArch: %{ix86} x86_64
- 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
- skychart
ExclusiveArch: %{fpc_arches}
- snapd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- source-to-image
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- spring
ExclusiveArch: %{ix86} x86_64
- springlobby
ExclusiveArch: %{ix86} x86_64
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stdx-allocator
ExclusiveArch: %{ldc_arches}
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- supermin
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tarantool
ExclusiveArch: %{ix86} x86_64 armv7hl armv7hnl aarch64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: %{ix86} x86_64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- termy-qt
ExclusiveArch: %{ix86} x86_64
- ternimal
ExclusiveArch: %{rust_arches}
- 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}
- tmux-top
ExclusiveArch: %{go_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- ugene
ExclusiveArch: %{ix86} x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- uglify-js1
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- v8
ExclusiveArch: %{ix86} x86_64 %{arm} ppc mipsel mips64el
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- valgrind
ExclusiveArch: %{valgrind_arches}
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vdsm
ExclusiveArch: x86_64 %{power64} aarch64
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- virtio-forwarder
ExclusiveArch: x86_64 aarch64 ppc64le %ix86
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- virtualplanet
ExclusiveArch: %{fpc_arches}
- vmaf
ExclusiveArch: x86_64
- 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 %{arm} aarch64
ExclusiveArch: %{ix86} %{arm}
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- wraplinux
ExclusiveArch: %{ix86} x86_64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- x86info
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: %{ix86} x86_64 armv7hl aarch64
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-geode
ExclusiveArch: %{ix86}
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64 ia64
- xorg-x11-drv-omap
ExclusiveArch: %{arm}
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-opentegra
ExclusiveArch: %{arm}
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- ycssmin
ExclusiveArch: %{nodejs_arches} noarch
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
5 years, 3 months
Architecture specific change in rpms/libguestfs.git
by githook-noreply@fedoraproject.org
The package rpms/libguestfs.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/libguestfs.git/commit/?id=ca6d3c6....
Change:
+%ifnarch %{arm} aarch64 s390 s390x riscv64
Thanks.
Full change:
============
commit ca6d3c66e51df7ac2855cdfcbeecaaf090771971
Author: David Abdurachmanov <david.abdurachmanov(a)gmail.com>
Date: Mon Jan 21 18:36:27 2019 +0100
Disable ZFS for RISC-V (riscv64)
Signed-off-by: David Abdurachmanov <david.abdurachmanov(a)gmail.com>
diff --git a/libguestfs.spec b/libguestfs.spec
index 63bfd70..b6dd24a 100644
--- a/libguestfs.spec
+++ b/libguestfs.spec
@@ -40,7 +40,7 @@ Summary: Access and modify virtual machine disk images
Name: libguestfs
Epoch: 1
Version: 1.40.1
-Release: 2%{?dist}
+Release: 3%{?dist}
License: LGPLv2+
# Source and patches.
@@ -176,7 +176,7 @@ BuildRequires: acl attr augeas-libs bash binutils btrfs-progs bzip2 coreutils cp
%ifnarch ppc
BuildRequires: hfsplus-tools
%endif
-%ifnarch %{arm} aarch64 s390 s390x
+%ifnarch %{arm} aarch64 s390 s390x riscv64
# http://zfs-fuse.net/issues/94
BuildRequires: zfs-fuse
%endif
@@ -426,7 +426,7 @@ This adds XFS support to %{name}. Install it if you want to process
disk images containing XFS.
-%ifnarch %{arm} aarch64 s390 s390x
+%ifnarch %{arm} aarch64 s390 s390x riscv64
%package zfs
Summary: ZFS support for %{name}
License: LGPLv2+
@@ -1031,7 +1031,7 @@ move_to strace zz-packages-rescue
move_to vim-minimal zz-packages-rescue
move_to rsync zz-packages-rsync
move_to xfsprogs zz-packages-xfs
-%ifnarch %{arm} aarch64 s390 s390x
+%ifnarch %{arm} aarch64 s390 s390x riscv64
move_to zfs-fuse zz-packages-zfs
%endif
@@ -1157,7 +1157,7 @@ install -m 0644 utils/boot-benchmark/boot-benchmark.1 $RPM_BUILD_ROOT%{_mandir}/
%files xfs
%{_libdir}/guestfs/supermin.d/zz-packages-xfs
-%ifnarch %{arm} aarch64 s390 s390x
+%ifnarch %{arm} aarch64 s390 s390x riscv64
%files zfs
%{_libdir}/guestfs/supermin.d/zz-packages-zfs
%endif
@@ -1411,6 +1411,9 @@ install -m 0644 utils/boot-benchmark/boot-benchmark.1 $RPM_BUILD_ROOT%{_mandir}/
%changelog
+* Mon Jan 21 2019 David Abdurachmanov <david.abdurachmanov(a)gmail.com> - 1:1.40.1-3
+- Disable ZFS for RISC-V (riscv64)
+
* Thu Jan 17 2019 Richard W.M. Jones <rjones(a)redhat.com> - 1:1.40.1-2
- nbdkit Python3 plugin is called "python3" in Fedora, adjust configure line.
5 years, 3 months