#8522 F30: Retire FTBFS packages on 2019-08-06
Closed: Fixed 4 years ago by churchyard. Opened 4 years ago by churchyard.

Describe the issue

According to the FTBFS/FTI policy:

A week before the mass branching, any packages which still have open FTBFS bugs from the previous release will be retired. This can be requested via a releng issue.

A week before the mass branching, according to the schedule, is at 2019-08-06.

There are currently ~800 open F30FTBFS bugzillas, 20-30 of them are ON_QA.

Prior to the retiring, I suggest we close bugs for packages that built after the mass rebuild. (I've tried to run mass-rebuild-close-bugs.py but it apparently sees no builds, as it did nothing but skipped all. Either I've used it wrong or it is broken.)

When do you need this?

On 2019-08-06.

When is this no longer needed or useful?

Final F30 Freeze (2019-10-08) makes this not useful for F30, but stil useful for rawhide/F31.

If we cannot complete your request, what is the impact?

8 hundred FTBFS packages that nobody fixes.


Anyone who knows how to use mass-rebuild-close-bugs.py correctly?

I have to look into it. Its been busy with EPEL8. Now that its almost ready, I can work on this stuff.

(I wanted to talk to @mohanboddu on Friday over IRC, but I completely forgot.)

Here's a draft:

set -e
set -u
set -o pipefail

tracker=${1:-1674516}
date="${2:-2019-01-31 10:10:00.000000}"
for line in $(bugzilla query --blocked $tracker --status NEW,ASSIGNED,POST,MODIFIED --outputformat "%{id}:%{component}"); do
  bug_component=( ${line/:/ } )
  bug=${bug_component[0]}
  component=${bug_component[1]}
  builds=$(koji list-builds --package $component --after "$date" --state=COMPLETE --quiet) || continue
  # XXX any better way to get rid of epel and fc29 builds?
  builds=$(echo "$builds" | egrep "fc(30|31)" | cut -f1 -d' ' | tr '\n' ' ' || true)
  if [ -z "$builds" ]; then
    echo "$component fails to build from source: https://bugzilla.redhat.com/show_bug.cgi?id=$bug"
    if false; then
      fedpkg clone $component
      (cd $component && fedpkg retire "$component fails to build from source: https://bugzilla.redhat.com/show_bug.cgi?id=$bug")
      rm -rf $component
      bugzilla modify --status CLOSED --close EOL --comment "The package was retired." $bug
    fi
  else
    echo "The following builds were made: $builds"
    if false; then
      bugzilla modify --status CLOSED --close WORKSFORME --comment "The following builds were made: $builds" $bug
    fi
  fi

done

The if-falsed blocks are there to make it dry-run. change false to true to turn on the killer mode.

@churchyard no need to reinvent the wheel.

I have written script which does something what you want here: https://pagure.io/releng/blob/master/f/scripts/mass-rebuild-close-bugs.py

(it does not handle fedpkg retire, but that is easy to integrate). Just wanted to point out to not write same scripts over and over.

As written 3 weeks ago:

I've tried to run mass-rebuild-close-bugs.py but it apparently sees no builds, as it did nothing but skipped all. Either I've used it wrong or it is broken.

And two weeks ago:

Anyone who knows how to use mass-rebuild-close-bugs.py correctly?

If you can run it an close the bugz, good. I could have not. Nobody else replied. I'd rather reinvent the wheel than have another Fedora release where we just fail to retire the packages again.

I've talked to @mohanboddu over IRC. The conclusion was:

  • @mohanboddu to send an announcement about this happening (when?)
  • @mohanboddu is on vacation on Tuesday, @kevin is traveling to Flock, but will try to run this
  • delay to Wednesday if the above fails to happen

(I'll try to meet @mohanboddu and @kevin at Flock if that helps.)

Today is the scheduled day to retire the FTBFS packages.

Hello @kevin, @mohanboddu. Any chance this will be done today?

Metadata Update from @churchyard:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

4 years ago

Login to comment on this ticket.

Metadata