Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace bazaar with breezy #83573

Merged
merged 12 commits into from
Oct 18, 2021

Conversation

bayandin
Copy link
Member

  • Have you followed the guidelines for contributing?
  • Have you ensured that your commits follow the commit style guide?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

bazaar required Python 2 and was unsupported for a long time, so let's deprecate it and replace it with breezy.

This PR deprecated bazaar and adds a required symlink to breezy formula to make it a drop-in replacement.
We have only 2 dependants on bazaar formula (except bazaar plugins) cayley and influxdb — let's try to rebuild it with breezy instead.

And it looks like other package managers did the same:

The thing I'd like to point out (just in case) is that currently, bazaar has significantly more installs than breezy:

  • bazaar: `install: 202 (30 days), 774 (90 days), 3,981 (365 days);
  • breezy: install: 10 (30 days), 43 (90 days), 123 (365 days)

PS I hate their naming, that's too easy to make a typo and confuse one with the other.

@bayandin bayandin added the CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. label Aug 19, 2021
Formula/breezy.rb Outdated Show resolved Hide resolved
@danielnachun
Copy link
Member

I'm puzzled as to why the dependents tests are failing now. Shouldn't the symlink we make let them find bzr?

@carlocab
Copy link
Member

carlocab commented Aug 20, 2021

No, the ones that failed all still have depends_on "bazaar". They're not able to run because both bazaar and breezy were unlinked at an earlier stage (because of the conflicts_with) but test-bot did not link bazaar before testing the bazaar dependents.

@cho-m
Copy link
Member

cho-m commented Aug 20, 2021

We may want to see if some of those can be switched to breezy too. List of current bazaar dependents:

bzr-builder       bzr-externals     bzr-rewrite       bzr-xmloutput     cayley
bzr-colo          bzr-extmerge      bzr-upload        bzrtools          influxdb

Or possibly deprecate some of them too (dependents of deprecated package)?


Is there also a better way to direct bazaar users to breezy?
The conflicts_with and deprecated messages don't really provide much info.

conflicts_with will at least mention breezy, but conflicts_with can be used for unrelated packages. In this case, users may want to know breezy is a drop-in replacement.

@bayandin
Copy link
Member Author

but test-bot did not link bazaar before testing the bazaar dependents.

This doesn't sound right.

bzr-builder bzr-externals bzr-rewrite bzr-xmloutput
bzr-colo bzr-extmerge bzr-upload bzrtools

Those are bazaar plugins, and if we switch them from bazaar to breeze, they won't be available for bazaar. I'm not sure that it's exactly what we want to do.

Is there also a better way to direct bazaar users to breezy?

I think I will use a custom deprecation message suggesting breezy

@carlocab
Copy link
Member

but test-bot did not link bazaar before testing the bazaar dependents.

This doesn't sound right.

It doesn't, but it's been around for a while. It's why vice fails with every rust version bump as of late. See also this related issue: Homebrew/homebrew-test-bot#544

@bayandin
Copy link
Member Author

bayandin commented Sep 3, 2021

Now it's influxdb, fails with

$ /usr/local/Cellar/influxdb/2.0.8/bin/influxd print-config --bolt-path=/usr/local/var/lib/influxdb2/influxdb.bolt --engine-path=/usr/local/var/lib/influxdb2/engine
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0xb01dfacedebac1e pc=0x7fff20543c9e]

runtime stack:
runtime: unexpected return pc for runtime.sigpanic called from 0x7fff20543c9e
stack: frame={sp:0x7ffeefbfe878, fp:0x7ffeefbfe8c8} stack=[0x7ffeefb7f918,0x7ffeefbfe980)
0x00007ffeefbfe778:  0x01007ffeefbfe798  0x0000000000000004 
0x00007ffeefbfe788:  0x000000000000001f  0x00007fff20543c9e 
0x00007ffeefbfe798:  0x0b01dfacedebac1e  0x0000000000000001 
0x00007ffeefbfe7a8:  0x000000000403a191 <runtime.throw+0x0000000000000071>  0x00007ffeefbfe848 
0x00007ffeefbfe7b8:  0x0000000005f1b9b5  0x00007ffeefbfe800 
0x00007ffeefbfe7c8:  0x000000000403a448 <runtime.fatalthrow.func1+0x0000000000000048>  0x000000000d572880 
0x00007ffeefbfe7d8:  0x0000000000000001  0x0000000000000001 
0x00007ffeefbfe7e8:  0x00007ffeefbfe848  0x000000000403a191 <runtime.throw+0x0000000000000071> 
0x00007ffeefbfe7f8:  0x000000000d572880  0x00007ffeefbfe838 
0x00007ffeefbfe808:  0x000000000403a3d0 <runtime.fatalthrow+0x0000000000000050>  0x00007ffeefbfe818 
0x00007ffeefbfe818:  0x000000000403a400 <runtime.fatalthrow.func1+0x0000000000000000>  0x000000000d572880 
0x00007ffeefbfe828:  0x000000000403a191 <runtime.throw+0x0000000000000071>  0x00007ffeefbfe848 
0x00007ffeefbfe838:  0x00007ffeefbfe868  0x000000000403a191 <runtime.throw+0x0000000000000071> 
0x00007ffeefbfe848:  0x00007ffeefbfe850  0x000000000403a1c0 <runtime.throw.func1+0x0000000000000000> 
0x00007ffeefbfe858:  0x0000000005f4e102  0x000000000000002a 
0x00007ffeefbfe868:  0x00007ffeefbfe8b8  0x00000000040507b6 <runtime.sigpanic+0x0000000000000396> 
0x00007ffeefbfe878: <0x0000000005f4e102  0x000000000d572880 
0x00007ffeefbfe888:  0x00007ffeefbfe8f8  0x000000000402b266 <runtime.(*mheap).allocSpan+0x0000000000000546> 
0x00007ffeefbfe898:  0x000000000d58bc08  0x0000000000000000 
0x00007ffeefbfe8a8:  0x000000c000d1ffe0  0x000000c000d1ffe8 
0x00007ffeefbfe8b8:  0x00007ffeefbfe900 !0x00007fff20543c9e 
0x00007ffeefbfe8c8: >0x00007ffeefbfe900  0x00000000083b4000 
0x00007ffeefbfe8d8:  0x000000000000084c  0x00000000046a2905 <golang.org/x/sys/unix.libc_ioctl_trampoline+0x0000000000000005> 
0x00007ffeefbfe8e8:  0x000000000406fe3f <runtime.syscall+0x000000000000001f>  0x000000c000d1f918 
0x00007ffeefbfe8f8:  0x00007ffeefbfe940  0x000000c000d1f8e8 
0x00007ffeefbfe908:  0x000000000406dc70 <runtime.asmcgocall+0x0000000000000070>  0x0000000000000001 
0x00007ffeefbfe918:  0x0000000004016600 <runtime.mapassign_fast64ptr+0x0000000000000060>  0x6600000000001018 
0x00007ffeefbfe928:  0x0000000000000000  0x000000000d5abb38 
0x00007ffeefbfe938:  0x0000000000000740  0x000000c0000001a0 
0x00007ffeefbfe948:  0x000000000406bd89 <runtime.systemstack+0x0000000000000049>  0x0000000000000004 
0x00007ffeefbfe958:  0x00000000071e6100  0x000000000d572880 
0x00007ffeefbfe968:  0x00007ffeefbfe9b8  0x000000000406bc85 <runtime.mstart+0x0000000000000005> 
0x00007ffeefbfe978:  0x000000000406bc3d <runtime.rt0_go+0x000000000000013d> 
runtime.throw({0x5f4e102, 0xd572880})
	runtime/panic.go:1198 +0x71
runtime: unexpected return pc for runtime.sigpanic called from 0x7fff20543c9e
stack: frame={sp:0x7ffeefbfe878, fp:0x7ffeefbfe8c8} stack=[0x7ffeefb7f918,0x7ffeefbfe980)
0x00007ffeefbfe778:  0x01007ffeefbfe798  0x0000000000000004 
0x00007ffeefbfe788:  0x000000000000001f  0x00007fff20543c9e 
0x00007ffeefbfe798:  0x0b01dfacedebac1e  0x0000000000000001 
0x00007ffeefbfe7a8:  0x000000000403a191 <runtime.throw+0x0000000000000071>  0x00007ffeefbfe848 
0x00007ffeefbfe7b8:  0x0000000005f1b9b5  0x00007ffeefbfe800 
0x00007ffeefbfe7c8:  0x000000000403a448 <runtime.fatalthrow.func1+0x0000000000000048>  0x000000000d572880 
0x00007ffeefbfe7d8:  0x0000000000000001  0x0000000000000001 
0x00007ffeefbfe7e8:  0x00007ffeefbfe848  0x000000000403a191 <runtime.throw+0x0000000000000071> 
0x00007ffeefbfe7f8:  0x000000000d572880  0x00007ffeefbfe838 
0x00007ffeefbfe808:  0x000000000403a3d0 <runtime.fatalthrow+0x0000000000000050>  0x00007ffeefbfe818 
0x00007ffeefbfe818:  0x000000000403a400 <runtime.fatalthrow.func1+0x0000000000000000>  0x000000000d572880 
0x00007ffeefbfe828:  0x000000000403a191 <runtime.throw+0x0000000000000071>  0x00007ffeefbfe848 
0x00007ffeefbfe838:  0x00007ffeefbfe868  0x000000000403a191 <runtime.throw+0x0000000000000071> 
0x00007ffeefbfe848:  0x00007ffeefbfe850  0x000000000403a1c0 <runtime.throw.func1+0x0000000000000000> 
0x00007ffeefbfe858:  0x0000000005f4e102  0x000000000000002a 
0x00007ffeefbfe868:  0x00007ffeefbfe8b8  0x00000000040507b6 <runtime.sigpanic+0x0000000000000396> 
0x00007ffeefbfe878: <0x0000000005f4e102  0x000000000d572880 
0x00007ffeefbfe888:  0x00007ffeefbfe8f8  0x000000000402b266 <runtime.(*mheap).allocSpan+0x0000000000000546> 
0x00007ffeefbfe898:  0x000000000d58bc08  0x0000000000000000 
0x00007ffeefbfe8a8:  0x000000c000d1ffe0  0x000000c000d1ffe8 
0x00007ffeefbfe8b8:  0x00007ffeefbfe900 !0x00007fff20543c9e 
0x00007ffeefbfe8c8: >0x00007ffeefbfe900  0x00000000083b4000 
0x00007ffeefbfe8d8:  0x000000000000084c  0x00000000046a2905 <golang.org/x/sys/unix.libc_ioctl_trampoline+0x0000000000000005> 
0x00007ffeefbfe8e8:  0x000000000406fe3f <runtime.syscall+0x000000000000001f>  0x000000c000d1f918 
0x00007ffeefbfe8f8:  0x00007ffeefbfe940  0x000000c000d1f8e8 
0x00007ffeefbfe908:  0x000000000406dc70 <runtime.asmcgocall+0x0000000000000070>  0x0000000000000001 
0x00007ffeefbfe918:  0x0000000004016600 <runtime.mapassign_fast64ptr+0x0000000000000060>  0x6600000000001018 
0x00007ffeefbfe928:  0x0000000000000000  0x000000000d5abb38 
0x00007ffeefbfe938:  0x0000000000000740  0x000000c0000001a0 
0x00007ffeefbfe948:  0x000000000406bd89 <runtime.systemstack+0x0000000000000049>  0x0000000000000004 
0x00007ffeefbfe958:  0x00000000071e6100  0x000000000d572880 
0x00007ffeefbfe968:  0x00007ffeefbfe9b8  0x000000000406bc85 <runtime.mstart+0x0000000000000005> 
0x00007ffeefbfe978:  0x000000000406bc3d <runtime.rt0_go+0x000000000000013d> 
runtime.sigpanic()
	runtime/signal_unix.go:719 +0x396

goroutine 1 [syscall, locked to thread]:
syscall.syscall(0x46a2900, 0x0, 0x40487413, 0xc000d1f9a8)
	runtime/sys_darwin.go:22 +0x3b fp=0xc000d1f918 sp=0xc000d1f8f8 pc=0x406a67b
syscall.syscall(0x4049aa3, 0x84095e0, 0xc000d1f9f0, 0x4011c74)
	<autogenerated>:1 +0x26 fp=0xc000d1f960 sp=0xc000d1f918 pc=0x4070686
golang.org/x/sys/unix.ioctl(0x0, 0x4011c74, 0x1)
	golang.org/x/sys@v0.0.0-20210124154548-22da62e12c0c/unix/zsyscall_darwin_amd64.go:689 +0x39 fp=0xc000d1f990 sp=0xc000d1f960 pc=0x46a2379
golang.org/x/sys/unix.IoctlGetTermios(...)
	golang.org/x/sys@v0.0.0-20210124154548-22da62e12c0c/unix/ioctl.go:72
github.com/mattn/go-isatty.IsTerminal(0x98)
	github.com/mattn/go-isatty@v0.0.13/isatty_bsd.go:10 +0x50 fp=0xc000d1fa00 sp=0xc000d1f990 pc=0x46a29d0
github.com/influxdata/influx-cli/v2/pkg/stdio.newTerminalStdio({0x7236dd8, 0xc000010010}, {0x7236e00, 0xc000010018}, {0x72220e0, 0xc000010020})
	github.com/influxdata/influx-cli/v2@v2.1.0-rc1.0.20210721210341-bfd929f4449e/pkg/stdio/stdio.go:37 +0x54 fp=0xc000d1fa60 sp=0xc000d1fa00 pc=0x567d7f4
github.com/influxdata/influx-cli/v2/pkg/stdio.init()
	github.com/influxdata/influx-cli/v2@v2.1.0-rc1.0.20210721210341-bfd929f4449e/pkg/stdio/stdio.go:52 +0x45 fp=0xc000d1faa0 sp=0xc000d1fa60 pc=0x567dac5
runtime.doInit(0x8413500)
	runtime/proc.go:6498 +0x123 fp=0xc000d1fbd8 sp=0xc000d1faa0 pc=0x4049aa3
runtime.doInit(0x8414500)
	runtime/proc.go:6475 +0x71 fp=0xc000d1fd10 sp=0xc000d1fbd8 pc=0x40499f1
runtime.doInit(0x8426b20)
	runtime/proc.go:6475 +0x71 fp=0xc000d1fe48 sp=0xc000d1fd10 pc=0x40499f1
runtime.doInit(0x8415780)
	runtime/proc.go:6475 +0x71 fp=0xc000d1ff80 sp=0xc000d1fe48 pc=0x40499f1
runtime.main()
	runtime/proc.go:238 +0x1e6 fp=0xc000d1ffe0 sp=0xc000d1ff80 pc=0x403c7e6
runtime.goexit()
	runtime/asm_amd64.s:1581 +0x1 fp=0xc000d1ffe8 sp=0xc000d1ffe0 pc=0x406df61

goroutine 7 [chan receive]:
github.com/influxdata/flux/execute.createOperatorProfiler.func1(0xc00027bdb0)
	github.com/influxdata/flux@v0.124.0/execute/profiler.go:108 +0xd3
created by github.com/influxdata/flux/execute.createOperatorProfiler
	github.com/influxdata/flux@v0.124.0/execute/profiler.go:106 +0xda

goroutine 8 [select]:
go.opencensus.io/stats/view.(*worker).start(0xc00046e050)
	go.opencensus.io@v0.22.3/stats/view/worker.go:154 +0xb9
created by go.opencensus.io/stats/view.init.0
	go.opencensus.io@v0.22.3/stats/view/worker.go:32 +0x87

@bayandin
Copy link
Member Author

bayandin commented Sep 3, 2021

It looks like the problem was caused by the latest go update. It's fixed in influxdata/influxdb#22363 (the patch doesn't apply clearly). Probably we could wait until next influxdb release

@github-actions
Copy link
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@github-actions github-actions bot added the stale No recent activity label Sep 25, 2021
@bayandin bayandin added in progress Stale bot should stay away and removed stale No recent activity labels Sep 25, 2021
@bayandin
Copy link
Member Author

CI is green 🎉

@danielnachun danielnachun merged commit f75b628 into Homebrew:master Oct 18, 2021
@carlocab
Copy link
Member

carlocab commented Oct 18, 2021

@danielnachun please don't use squash-and-merge for PRs that modify multiple formulae. Use rebase-and-merge instead. The breezy bottles also need to be rebuilt for the revision bump.

@BrewTestBot
Copy link
Member

@bayandin bottle request for breezy failed.

@bayandin
Copy link
Member Author

Thanks for updating bottles @carlocab!
b4b37cc

@bayandin bayandin deleted the replace-bazaar-with-breezy branch October 18, 2021 10:51
@BrewTestBot
Copy link
Member

@bayandin bottle request for breezy failed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. in progress Stale bot should stay away
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants