Learn more about these different git repos.
Other Git URLs
Thought I would file this to coordinate and track mass rebuild.
The mass rebuild is scheduled for 2023-01-18
@humaton will be running things from releng.
Improvements I would like to make sure we get in:
Things we are rebuilding for:
https://pagure.io/releng/issue/11173 - Mass rebuild for _FORTIFY_SOURCE=3 in Fedora 38
https://pagure.io/releng/issue/10842 - F38: System wide change: fno-omit-frame-pointer changes
Things we might be also rebuilding for:
https://pagure.io/fesco/issue/2932 - Change: GNU Toolchain Update (gcc 13.0, binutils 2.39, glibc 2.37, gdb 12.1)
Things we have been asked to do:
https://pagure.io/releng/issue/11217 - please exclude all Haskell packages from F38 mass rebuild
Also, the ELN sig has asked us to tell them before we merge the mass rebuild back to ack that things look ok from their side.
use this issue to track any other mass rebuild related items or update status.
Using --depth 1 for fedpkg clones will break %autorelease, see https://pagure.io/fedora-infra/rpmautospec/issue/227
--depth 1
Ah shoot. ok, thanks for the heads up. I guess we will not do that this time, but it would be nice to get it in place for the next.
I don't think this is possible. In essence, rpmautospec needs commit metadata for all commits since the last time an overriding changelog file was writting into, to be able to generate the changelog entries from there on and to compute release fields values for the current build as well as any automatically generated changelog entry.
changelog
See here for a more long-winded explanation. 😉
Metadata Update from @kevin: - Issue tagged with: medium-gain, medium-trouble, ops
Thanks for the heads up, we will not use -- depth 1 in this mass rebuild.
-- depth 1
as per community request, we will skip all Haskel packages for this mass rebuild. List of the packages:
ghc ghc-rpm-macros ghc8.10 ghc9.0 ghc9.2 ghc9.4 haskell-platform Agda ShellCheck alex bench brainfuck bustle cab cabal-install cabal-rpm cpphs darcs dhall dhall-json dl-fedora fbrnch ghc-Boolean ghc-ConfigFile ghc-DAV ghc-Decimal ghc-Diff ghc-GLURaw ghc-Glob ghc-HSH ghc-HStringTemplate ghc-HTTP ghc-HUnit ghc-HaXml ghc-HsOpenSSL ghc-HsOpenSSL-x509-system ghc-HsYAML ghc-IOSpec ghc-IfElse ghc-JuicyPixels ghc-MemoTrie ghc-MissingH ghc-MonadCatchIO-mtl ghc-MonadCatchIO-transformers ghc-MonadRandom ghc-NumInstances ghc-ObjectName ghc-Only ghc-OpenGL ghc-OpenGLRaw ghc-QuickCheck ghc-RSA ghc-SHA ghc-STMonadTrans ghc-SafeSemaphore ghc-StateVar ghc-Stream ghc-X11 ghc-X11-xft ghc-abstract-deque ghc-abstract-par ghc-adjunctions ghc-aeson ghc-aeson-better-errors ghc-aeson-compat ghc-aeson-pretty ghc-aeson-yaml ghc-annotated-wl-pprint ghc-ansi-terminal ghc-ansi-wl-pprint ghc-appar ghc-arrows ghc-asn1-encoding ghc-asn1-parse ghc-asn1-types ghc-assoc ghc-async ghc-atomic-write ghc-attoparsec ghc-attoparsec-binary ghc-attoparsec-iso8601 ghc-authenticate-oauth ghc-auto-update ghc-aws ghc-base-compat ghc-base-compat-batteries ghc-base-orphans ghc-base-prelude ghc-base-unicode-symbols ghc-base16-bytestring ghc-base64-bytestring ghc-basement ghc-basic-prelude ghc-bencode ghc-bifunctors ghc-binary-shared ghc-bindings-DSL ghc-bitarray ghc-blaze-builder ghc-blaze-html ghc-blaze-markup ghc-blaze-textual ghc-bloomfilter ghc-bower-json ghc-boxes ghc-brick ghc-bsb-http-chunked ghc-bugzilla-redhat ghc-byteable ghc-byteorder ghc-bytes ghc-bytestring-nums ghc-bytestring-show ghc-bytestring-trie ghc-cabal-doctest ghc-cabal-file-th ghc-cabal-helper ghc-cairo ghc-call-stack ghc-case-insensitive ghc-cassava ghc-cautious-file ghc-cborg ghc-cborg-json ghc-cereal ghc-charset ghc-cheapskate ghc-chunked-data ghc-cipher-aes ghc-clientsession ghc-clock ghc-cmark ghc-cmark-gfm ghc-cmdargs ghc-code-page ghc-colour ghc-colourista ghc-comonad ghc-concatenative ghc-concurrent-extra ghc-concurrent-output ghc-cond ghc-conduit ghc-conduit-extra ghc-config-ini ghc-connection ghc-contravariant ghc-control-monad-free ghc-cookie ghc-cprng-aes ghc-criterion ghc-crypto-api ghc-crypto-cipher-types ghc-crypto-pubkey-types ghc-crypto-random ghc-cryptohash ghc-cryptohash-md5 ghc-cryptohash-sha1 ghc-cryptohash-sha256 ghc-cryptonite ghc-cryptonite-conduit ghc-css-text ghc-csv ghc-curl ghc-data-accessor ghc-data-binary-ieee754 ghc-data-clist ghc-data-default ghc-data-default-class ghc-data-default-instances-containers ghc-data-default-instances-dlist ghc-data-default-instances-old-locale ghc-data-fix ghc-data-hash ghc-data-inttrie ghc-data-memocombinators ghc-data-reify ghc-dataenc ghc-date-cache ghc-dbus ghc-dec ghc-deepseq-generics ghc-digest ghc-disk-free-space ghc-distributive ghc-djinn-ghc ghc-djinn-lib ghc-dlist ghc-dns ghc-doctemplates ghc-doctest ghc-dotgen ghc-double-conversion ghc-echo ghc-ed25519 ghc-edit-distance ghc-either ghc-email-validate ghc-enclosed-exceptions ghc-entropy ghc-equivalence ghc-erf ghc-esqueleto ghc-executable-path ghc-explicit-exception ghc-extensible-exceptions ghc-extra ghc-fast-logger ghc-fclabels ghc-fdo-notify ghc-feed ghc-fgl ghc-file-embed ghc-filemanip ghc-filepath-bytestring ghc-filepattern ghc-filestore ghc-filtrable ghc-fingertree ghc-fixed ghc-foldl ghc-formatting ghc-foundation ghc-free ghc-fsnotify ghc-generic-deriving ghc-generics-sop ghc-ghc-lib-parser ghc-ghc-mtl ghc-ghc-paths ghc-ghc-syb-utils ghc-gi-atk ghc-gi-cairo ghc-gi-gdk ghc-gi-gdkpixbuf ghc-gi-gio ghc-gi-glib ghc-gi-gmodule ghc-gi-gobject ghc-gi-gtk ghc-gi-harfbuzz ghc-gi-ostree ghc-gi-pango ghc-gio ghc-git-lfs ghc-gitrev ghc-glib ghc-graphviz ghc-gtk ghc-gtk3 ghc-hackage-security ghc-haddock-library ghc-hakyll ghc-half ghc-happstack-server ghc-hashable ghc-hashtables ghc-haskell-gi ghc-haskell-gi-base ghc-haskell-gi-overloading ghc-haskell-lexer ghc-haskell-src-exts ghc-haskell-src-exts-util ghc-haskell-src-meta ghc-haxr ghc-hgettext ghc-highlighting-kate ghc-hinotify ghc-hint ghc-hjsmin ghc-hledger-lib ghc-hoauth2 ghc-hosc ghc-hostname ghc-hourglass ghc-hs-bibutils ghc-hslogger ghc-hslua ghc-hslua-module-text ghc-hspec ghc-hspec-core ghc-hspec-discover ghc-hspec-expectations ghc-hspec-megaparsec ghc-html ghc-html-conduit ghc-htoml ghc-http-api-data ghc-http-client ghc-http-client-openssl ghc-http-client-restricted ghc-http-client-tls ghc-http-common ghc-http-conduit ghc-http-date ghc-http-directory ghc-http-media ghc-http-query ghc-http-streams ghc-http-types ghc-http2 ghc-hxt ghc-hxt-charproperties ghc-hxt-regex-xmlschema ghc-hxt-unicode ghc-ieee754 ghc-ilist ghc-indents ghc-indexed-traversable ghc-infer-license ghc-integer-logarithms ghc-io-streams ghc-iproute ghc-iso8601-time ghc-js-flot ghc-js-jquery ghc-json ghc-kan-extensions ghc-koji ghc-language-c ghc-language-docker ghc-language-ecmascript ghc-language-java ghc-language-javascript ghc-lazysmallcheck ghc-lens ghc-lens-aeson ghc-lens-family-core ghc-libffi ghc-libmpd ghc-libxml-sax ghc-lifted-base ghc-listsafe ghc-logging-facade ghc-logict ghc-lrucache ghc-lukko ghc-lzma-conduit ghc-maccatcher ghc-magic ghc-managed ghc-math-functions ghc-megaparsec ghc-memory ghc-microlens ghc-microlens-ghc ghc-microlens-mtl ghc-microlens-platform ghc-microlens-th ghc-microstache ghc-mime-types ghc-mmap ghc-mmorph ghc-mockery ghc-modern-uri ghc-monad-control ghc-monad-journal ghc-monad-logger ghc-monad-loops ghc-monad-par ghc-monad-par-extras ghc-monads-tf ghc-mono-traversable ghc-mountpoints ghc-mtlparse ghc-mwc-random ghc-nanospec ghc-natural-transformation ghc-netlist ghc-netlist-to-vhdl ghc-network ghc-network-bsd ghc-network-byte-order ghc-network-info ghc-network-multicast ghc-network-uri ghc-numbers ghc-oeis ghc-old-locale ghc-old-time ghc-openssl-streams ghc-optional-args ghc-optparse-applicative ghc-optparse-simple ghc-pandoc-types ghc-pango ghc-parallel ghc-parsec-numbers ghc-parser-combinators ghc-parsers ghc-path ghc-path-io ghc-path-pieces ghc-pattern-arrows ghc-pcap ghc-pcre-light ghc-pem ghc-persistent ghc-persistent-sqlite ghc-persistent-template ghc-pipes ghc-polyparse ghc-prelude-extras ghc-pretty-show ghc-pretty-simple ghc-pretty-terminal ghc-prettyprinter ghc-prettyprinter-ansi-terminal ghc-primitive ghc-profunctors ghc-protolude ghc-psqueues ghc-publicsuffixlist ghc-pureMD5 ghc-quickcheck-io ghc-random ghc-ranges ghc-readline ghc-recaptcha ghc-reducers ghc-refact ghc-reflection ghc-regex-applicative ghc-regex-base ghc-regex-compat ghc-regex-pcre ghc-regex-posix ghc-regex-tdfa ghc-regexpr ghc-relude ghc-repline ghc-req ghc-resolv ghc-resource-pool ghc-resourcet ghc-retry ghc-rfc5051 ghc-rio ghc-rio-prettyprint ghc-rosezipper ghc-rpm-nvr ghc-safe ghc-sandi ghc-scientific ghc-scotty ghc-securemem ghc-semigroupoids ghc-semigroups ghc-semver ghc-sendfile ghc-serialise ghc-servant ghc-servant-client ghc-servant-client-core ghc-servant-foreign ghc-servant-options ghc-servant-server ghc-setenv ghc-setlocale ghc-shakespeare ghc-shelly ghc-show ghc-silently ghc-simple-cabal ghc-simple-cmd ghc-simple-cmd-args ghc-simple-sendfile ghc-singleton-bool ghc-skein ghc-skylighting ghc-smallcheck ghc-snap-core ghc-snap-server ghc-socks ghc-sourcemap ghc-spdx ghc-split ghc-statistics ghc-stm-chans ghc-streaming-commons ghc-strict ghc-string-conversions ghc-string-qq ghc-stringbuilder ghc-stringsearch ghc-syb ghc-system-fileio ghc-system-filepath ghc-tabular ghc-tagged ghc-tagsoup ghc-tar ghc-tar-conduit ghc-tasty ghc-tasty-hunit ghc-tasty-kat ghc-tasty-quickcheck ghc-tasty-rerun ghc-temporary ghc-terminal-size ghc-texmath ghc-text-manipulate ghc-text-metrics ghc-text-short ghc-text-zipper ghc-tf-random ghc-th-abstraction ghc-th-compat ghc-th-expand-syns ghc-th-lift ghc-th-lift-instances ghc-th-orphans ghc-th-reify-many ghc-these ghc-threads ghc-tidal ghc-time-compat ghc-time-locale-compat ghc-time-manager ghc-tls ghc-tls-session-manager ghc-torrent ghc-transformers-base ghc-transformers-compat ghc-turtle ghc-typed-process ghc-uglymemo ghc-unbounded-delays ghc-unicode-transforms ghc-union-find ghc-uniplate ghc-unix-compat ghc-unix-time ghc-unliftio ghc-unliftio-core ghc-unordered-containers ghc-uri ghc-uri-bytestring ghc-uri-bytestring-aeson ghc-uri-encode ghc-url ghc-utf8-light ghc-utf8-string ghc-uuid ghc-uuid-types ghc-vault ghc-vector ghc-vector-algorithms ghc-vector-binary-instances ghc-vector-builder ghc-vector-space ghc-vector-th-unbox ghc-void ghc-vty ghc-wai ghc-wai-app-static ghc-wai-cors ghc-wai-extra ghc-wai-handler-launch ghc-wai-logger ghc-wai-websockets ghc-warp ghc-warp-tls ghc-websockets ghc-with-location ghc-wizards ghc-wl-pprint ghc-wl-pprint-text ghc-word-wrap ghc-word8 ghc-wreq ghc-x509 ghc-x509-store ghc-x509-system ghc-x509-validation ghc-xdg-basedir ghc-xdg-userdirs ghc-xml ghc-xml-conduit ghc-xml-hamlet ghc-xml-types ghc-xmonad-contrib ghc-xss-sanitize ghc-yaml ghc-yesod ghc-yesod-core ghc-yesod-form ghc-yesod-persistent ghc-yesod-static ghc-zip-archive ghc-zlib ghc-zlib-bindings ghcid git-annex git-repair gitit gtk2hs-buildtools hadolint happy hledger hledger-ui hledger-web hlint hscolour hwk idris koji-tool lsfrom ormolu pagure-cli pandoc patat pkgtreediff rhbzquery rpmbuild-order shake tart unlambda xmobar xmonad
What could be relevant for the mass rebuild is #2161595, if the libgcc unwinder is built with -fno-omit-frame-pointer at least on powerpc64le-linux, then it doesn't work properly (haven't studied details yet, but __builtin_eh_return has lots of assumptions and is quite fragile, it is only used in the libgcc unwinder). Now, for packages which just link against -lgcc_s it can be fixed by rebuilding gcc later, but for packages which link in -lgcc_eh (whether because of -static link or -static-libgcc or other ways to get the unwinder into the libraries or binaries), they'd need to be rebuilt again after the mass rebuild to fix it.
Of course, for powerpc64le-linux the primary question is why would we do -fno-omit-frame-pointer at all, I don't see how that would help with profiling except for making things slower. The thing is that the powerpc64le-linux ABI - see https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#STACK has a backchain by default (which can't be turned off). Stack pointer (r1) always points to a stack frame, which contains at least the backchain at offset 0 and link register copy at offset 16, so one can unwind through that pair regardless of -fno-omit-frame-pointer, which just eats one extra register and needs to be saved/restored etc. Compare https://godbolt.org/z/7Eje1TfMd (this one using gcc 12). The exception are leaf functions, in those one can look up the lr register to find the immediate caller 0(1) will be the stack pointer from the caller's caller and 16(1) return address from the caller's caller.
Thanks for surfacing this. I put up https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/241 to exclude ppc64le for the time being.
I can confirm the change is in redhat-rpm-config-245-1.fc38, but as I wrote in rhbz#2161595 , it isn't sufficient for the unwinder, libgcc_eh.a needs to be rebuilt without that -fno-omit-frame-pointer on ppc64le first before it is linked into various binaries/libraries. https://koji.fedoraproject.org/koji/taskinfo?taskID=96265376 is currently building, finished already on aarch64 and ppc64le so I'll verify rhbz#2161595 fix momentarily, but it can take some time to finish the remaining architectures. i686 and x86_64 are now in %check, s390x still in %build.
We will wait for the gcc build to finish and start our massrebuild with the latest build.
The build finished and make %check also looks good on all arches, but I still need to wait for some automated tests before https://bodhi.fedoraproject.org/updates/FEDORA-2023-7544068644 can be pushed into stable.
koji latest-pkg --quiet f38 gcc gcc-13.0.1-0.1.fc38 f38 jakub So from my side ready for mass rebuild.
Thanks, the mass rebuild started after gcc landed in rawhide.
Looking at mass rebuild, there are still the following packages listed as need rebuild [1]:
rubygem-activemodel-serializers-xml rubygem-addressable
The strange thing is that while there is mass rebuild commit, I can see anywhere that the package build would be attempted. So somebody probably wants to check, what went wrong.
This is caused by https://pagure.io/releng/issue/8601
ie, a 'prep' on the first ends here with:
+ /usr/lib/rpm/rpmuncompress -x /home/kevin/git/pkgs/rubygem-activemodel-serializers-xml/activemodel-serializers-xml-1.0.2.gem sh: line 1: /usr/bin/gem: No such file or directory
and the second:
+ /usr/lib/rpm/rpmuncompress -x /home/kevin/git/pkgs/rubygem-addressable/addressable-2.8.1.gem sh: line 1: /usr/bin/gem: No such file or directory
I see
ie, a 'prep' on the first ends here with: + /usr/lib/rpm/rpmuncompress -x /home/kevin/git/pkgs/rubygem-activemodel-serializers-xml/activemodel-serializers-xml-1.0.2.gem sh: line 1: /usr/bin/gem: No such file or directory
How this happened? Where I can see full log? How can I reproduce?
This to me seems to be some weird infra issue.
Yeah, I guess I was incorrect there. That was a local fedpkg prep... but I didn't have the buildrequires installed...
So, I am unsure what caused this. A scratch build completes fine.
Can you just build them?
@humaton do you have the output from the mass rebuild script still around? Can you see what happened to these packages there? Perhaps it failed to talk to the koji api to launch the build?
Yep, already did that.
From the log:
Checking out rubygem-activemodel-serializers-xml Bumping /home/fedora/humaton/massbuild/rubygem-activemodel-serializers-xml/rubygem-activemodel-serializers-xml.spec Setting git user.name and user.email Committing changes for rubygem-activemodel-serializers-xml Pushing changes for rubygem-activemodel-serializers-xml Getting git url for rubygem-activemodel-serializers-xml Building rubygem-activemodel-serializers-xml Successful submission: rubygem-activemodel-serializers-xml taskID: 96440479
https://koji.fedoraproject.org/koji/taskinfo?taskID=96440479
Checking out rubygem-addressable Bumping /home/fedora/humaton/massbuild/rubygem-addressable/rubygem-addressable.spec Setting git user.name and user.email Committing changes for rubygem-addressable Pushing changes for rubygem-addressable Getting git url for rubygem-addressable Building rubygem-addressable Successful submission: rubygem-addressable taskID: 96440550
https://koji.fedoraproject.org/koji/taskinfo?taskID=96440550
ok, so it was https://pagure.io/releng/issue/8601
There was a git checkout / network error and that caused it to not be able to make a src.rpm. ;(
Is it time to file FTBFS tickets?
Rebuild is long done and merged. Closing
Metadata Update from @humaton: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.