Fullscreen cropped when scale factor changes

This is on the latest Windows 10. Probably a Windows bug that will get fixed sometime in future, but I'll just leave this here, since GLFW is affected.

Make sure monitor scale factor is at 100%
Create window in windowed mode (can use Boing example)
Set monitor scale factor to 125%
Set window mode to fullscreen (Alt+Enter for Boing)
Now Alt+Tab and change monitor scale factor to 100%
Open your window - it now doesn't cover the screen and appears cropped

This happens on a Windows Insider build? I couldn't reproduce it reproduce on 1903.

That's on 1903. Maybe I have some bugged dll left over... such things happened to me in the past, not related to scaling. I may be able to try this on another pc.

Yup, or it could be my PC having a non-standard setting somewhere. Either way, thank you for finding and reporting this, as always! Hope we can pin it down.

Tried this on other PC, the same problem.

Someone has had the same issue (posted 2 years ago) https://stackoverflow.com/questions/47019924/windows-10-dpi-scaling-and-fullscreen

After further testing, the WM_GETDPISCALEDSIZE message doesn't even seem to be sent if the window is fullscreen, only if it's windowed (WS_POPUP works but only if the size isn't the same as the monitor). Therefore I can't even override this behaviour, and Windows 8.1 works different to Windows 10 v1703 for fullscreened windows.

@elmindreda This is what I've found in Micirosoft's Terminal repo https://github.com/microsoft/terminal/blob/master/src/interactivity/win32/windowproc.cpp
I believe, if even Microsoft thinks DPICHANGED should be ignored for fullscreen windows, then GLFW should do the same. However, a mere if (window->monitor) check will not be enough - this should be done for borderless monitor-sized windows as well, as those behave the same way on Windows -  and I'm not sure how this could be done on the GLFW side.

// If we're a full screen window, completely ignore what the DPICHANGED says as it will be bigger than the monitor and
// instead just ensure that the window is still taking up the full screen.

case WM_DPICHANGED:
{
    _fInDPIChange = true;
    ServiceLocator::LocateGlobals().dpi = HIWORD(wParam);
    _UpdateSystemMetrics();
    s_ReinitializeFontsForDPIChange();

    if (IsInFullscreen())
    {
        // If we're a full screen window, completely ignore what the DPICHANGED says as it will be bigger than the monitor and
        // instead just ensure that the window is still taking up the full screen.
        SetIsFullscreen(true);
    }
    else
    {
        // this is the RECT that the system suggests.
        RECT* const prcNewScale = (RECT*)lParam;
        SetWindowPos(hWnd, HWND_TOP, prcNewScale->left, prcNewScale->top, RECT_WIDTH(prcNewScale), RECT_HEIGHT(prcNewScale), SWP_NOZORDER | SWP_NOACTIVATE);
    }

    _fInDPIChange = false;

    break;
}

@elmindreda I found solution, it works very well. Could you try to reproduce this issue again (maybe you missed something in my description) and see if this solution is good for GLFW?
RECT window_area, monitor_area;
GetWindowRect(window->win32.handle, &window_area);
GetWindowRect(GetDesktopWindow(), &monitor_area);

if (!EqualRect(&window_area, &monitor_area))
    ...

case WM_DPICHANGED:
{
    const float xscale = HIWORD(wParam) / (float) USER_DEFAULT_SCREEN_DPI;
    const float yscale = LOWORD(wParam) / (float) USER_DEFAULT_SCREEN_DPI;

    // Only apply the suggested size if the OS is new enough to have
    // sent a WM_GETDPISCALEDSIZE before this
    if (_glfwIsWindows10CreatorsUpdateOrGreaterWin32())
    {
        RECT window_area, monitor_area;
        GetWindowRect(window->win32.handle, &window_area);
        GetWindowRect(GetDesktopWindow(), &monitor_area);

        if (!EqualRect(&window_area, &monitor_area))
        {
            RECT* suggested = (RECT*) lParam;
            SetWindowPos(window->win32.handle, HWND_TOP,
                         suggested->left,
                         suggested->top,
                         suggested->right - suggested->left,
                         suggested->bottom - suggested->top,
                         SWP_NOACTIVATE | SWP_NOZORDER);
        }
    }

    _glfwInputWindowContentScale(window, xscale, yscale);
    break;
}

@ghuser404 Thank you for all that information! I should be able to reproduce the bug now.

@elmindreda Thanks for the fix, it works well for the fullscreen scenario and all. However, this doesn't fix it for the borderless window that covers the monitor (aka fullscreen borderless mode) - Windows has special treatment for such windows.
I know the original ticket description didn't specify this scenario. Should we reopen this ticket or create a new one?


Manual override for flasher_args.json to mark "encrypted" true (IDFGH-10700)

Is your feature request related to a problem?
Follow up to https://github.com/espressif/esp-idf/issues/11909
We found CONFIG_SECURE_BOOT_FLASH_BOOTLOADER_DEFAULT really useful for producing a flasher_args.json that a another (non idf.py tool) can take an post process for production deployment.
unfortunately, in the secure build config, the encrypted entry remains "false"
Describe the solution you'd like.
A similar override to CONFIG_SECURE_BOOT_FLASH_BOOTLOADER_DEFAULT that can mark entries to be `encrypted" : "true", like this:
"bootloader" : { "offset" : "<snip>", "file" : "bootloader/bootloader.signed.bin", "encrypted" : "true" },
"app" : { "offset" : "<snip>", "file" : "application.signedbin", "encrypted" : "true" },
"partition-table" : { "offset" : "0xd000", "file" : "partition_table/partition-table.bin", "encrypted" : "true" },
"otadata" : { "offset" : "0x27000", "file" : "ota_data_initial.bin", "encrypted" : "true" },

even if this is not an output that idf.py flash is not supposed to use.
Describe alternatives you've considered.
right now we are doing manual sed string substitution on the output of flasher_args.json
Additional context.
No response

unfortunately, in the secure build config, the encrypted entry remains "false"

Can you please share your sdkconfig for flash encryption related options? Please note that the encrypted flag in the flasher config would come into picture provided the flash encryption feature is enabled in the development mode (CONFIG_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT set to y).

@mahavirj : Of course, here is all the cat sdkconfig | grep "ENCRYPT" for our build
# CONFIG_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT is not set
CONFIG_SECURE_FLASH_ENCRYPTION_MODE_RELEASE=y
# CONFIG_PARTITION_TABLE_SINGLE_APP_ENCRYPTED_NVS is not set
CONFIG_NVS_ENCRYPTION=y
CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y
CONFIG_FLASH_ENCRYPTION_ENABLED=y
# CONFIG_FLASH_ENCRYPTION_INSECURE is not set

I understand that idf.py has its own logic to mark encrypt: false in the flasher args. In our system we only use idf.py build to generate binaries and flasher_args.json and then uses a different tooling to stage/sign binaries into the device.
I am looking for advice for a good incision point to make all the entries in flasher_args.json be listed as encrypt: true (even if it is a HACK override that can't be mainlined).

even if this is not an output that idf.py flash is not supposed to use.

flasher_args.json is an internal file ESP-IDF tools supposed to use. Putting there items which our tools would ignore could be misleading. Honestly I don't think we or you should try to do this.
If you want to use that file then you can even parse it as it is in standard JSON format, make any necessary changes and write it out your tools would use. But be aware, that the format of the file can change at any time since it is considered as an internal file - rules for ESP-IDF semantic versions don't apply there.
If I might suggest that you can get the same information from sdkconfig.json and then write your own flasher_args-like JSON file for your tools.


Run a Rails app with the K2 agent

Run a Rails playground application through some standard behavior with the K2 agent. Look for anomalies in behavior, performance, etc.

Repos and instructions shared on 5/9. Starting to set them up.
Internal


Ceph Mimic is deprecated, no need to support it with Ceph-CSI v3.x

Mimic has been retired as of today:

<EMAIL_ADDRESS>https://ceph.io/releases/mimic-is-retired/

There should be no need to test the upcoming Ceph-CSI v3 releases with Mimic anymore. Users that have not migrated from Mimic to Nautilus or Octopus can use older Ceph-CSI releases (v2.x is still maintained) until they upgraded their Ceph cluster.
Note that Mimic has been part of the CI during the majority of the Ceph-CSI v3 development cycle, so it most likely will still function as expected. However the Ceph version will be removed from the CI, so developers are not notified about any breakage any longer.
Changes required:

[ ] documentation update
[ ] drop Mimic from the CI

@dillaman @kotreshhr @ShyamsundarR @travisn can you get an ack from core side to deprecate the support for Mimic

can you get an ack from core side to deprecate the support for Mimic

@Madhu-1 I am not sure I understand what you are asking for

can you get an ack from core side to deprecate the support for Mimic

@Madhu-1 I am not sure I understand what you are asking for

just checking with you guys is it good to remove Mimic support from ceph-csi v3.0.0(we need to update README for the same) as Mimic is deprecated in ceph

@Madhu-1 Rook already removed support for mimic in v1.3, so it's fine from Rook's perspective.

@Madhu-1 Yup -- sounds good to me.


Refactor: convert view properties structs to classes

Convert FlutterDesktopViewProperties and ViewProperties from structs to classes. The main motivation for this change is to be able to use std::string member variables as view properties.
This is necessary for an upcoming pull-request (#316) that allows configuring the window title and app-id using these view properties.
Warning
:warning: Please review this very carefully. I'm not familiar enough with C++ and the code-base to understand if this might have unintended side-effects. Also, feel free to suggest alternative solutions it these changes are not deemed acceptable.
Note: I agree to delegate all rights related to this PR to Sony.

Thanks for the feedback, that makes sense.

the embedder's interface must use C language in order for user-land side to be able to use other languages such as C lang.

Does this requirement apply to both FlutterDesktopViewProperties and flutter::FlutterViewController::ViewProperties or only to FlutterDesktopViewProperties?
As far as i can tell flutter::FlutterViewController::ViewProperties is declared inside a C++ class already (FlutterViewController) so maybe that one is not supposed to be compatible with other languages or C anyway? If that's the case, do you think it makes sense to convert only flutter::FlutterViewController::ViewProperties into a class and keep ``FlutterDesktopViewProperties` as a struct?

Oh, sorry. I mistook the check. Correctly, I remember using a struct according to Google's coding style.
See: https://google.github.io/styleguide/cppguide.html#Structs_vs._Classes

I'm closing this pull-request because #316 has been updated to no longer require this refactoring (i.e.: the FlutterDesktopViewProperties and ViewProperties can still be kept as structs).
I think the new implementation from #316 is more in-line with the linked C++ Google Style Guide and it no longer breaks interoperability with other languages (e.g.: plain C) when using the FlutterDesktopViewProperties type.


Added additional way of installation

Added Nix/NixOS Installation.Linux

Coverage remained the same at 93.605% when pulling 5feebde58a677a92d50191858d3fc528b0597fcb on mehandes:patch-1 into 95c33e31a2f7d35fb8cae3b4a392bb640503c3de on jakubroztocil:master.


Unable to find the type for stream "image".  It may be set to AnyType or something else that isn't determinable,

mediapipe0.87,  after building gpu python API success,i encount Unable to find the type for stream "image".  It may be set to AnyType or something else that isn't determinable,

Hi @cndcnd085, Can you please go through this This is intended. MediaPipe Python package only contains CPU graphs. If you need to run any GPU graphs, see #1651 (comment).

'm making a pose_ tracking_ GPU program, I can compile with C + + and execute it correctly. Now I want to make a python API. I did it according #1651 to modify my pose_ tracking_ Gpu.pbtxt file, but I still have runtime error:; Unable to find the type for stream "image". It may be set to anytype or something else that isn't deterministic, or the type may be defined but not registered_ tracking_ Gpu.pbtxt is as follows
MediaPipe graph that performs pose tracking with TensorFlow Lite on GPU.
GPU buffer. (GpuBuffer)
input_stream: "IMAGE:image"
Output image with rendered results. (GpuBuffer)
output_stream: "output_video"
Pose landmarks. (NormalizedLandmarkList)
output_stream: "pose_landmarks"
node: {
calculator: "ColorConvertCalculator"
input_stream: "RGB_IN:image"
output_stream: "RGBA_OUT:image_rgba"
}
node: {
calculator: "ImageFrameToGpuBufferCalculator"
input_stream: "image_rgba"
output_stream: "image_gpu"
}
Generates side packet to enable segmentation.
node {
calculator: "ConstantSidePacketCalculator"
output_side_packet: "PACKET:enable_segmentation"
node_options: {
[type.googleapis.com/mediapipe.ConstantSidePacketCalculatorOptions]: {
packet { bool_value: false }
}
}
}
Throttles the images flowing downstream for flow control. It passes through
the very first incoming image unaltered, and waits for downstream nodes
(calculators and subgraphs) in the graph to finish their tasks before it
passes through another image. All images that come in while waiting are
dropped, limiting the number of in-flight images in most part of the graph to
1. This prevents the downstream nodes from queuing up incoming images and data
excessively, which leads to increased latency and memory usage, unwanted in
real-time mobile applications. It also eliminates unnecessarily computation,
e.g., the output produced by a node may get dropped downstream if the
subsequent nodes are still busy processing previous inputs.
Subgraph that detects poses and corresponding landmarks.
node {
calculator: "PoseLandmarkGpu"
input_side_packet: "ENABLE_SEGMENTATION:enable_segmentation"
input_stream: "IMAGE:image_gpu"
output_stream: "LANDMARKS:pose_landmarks"
output_stream: "SEGMENTATION_MASK:segmentation_mask"
output_stream: "DETECTION:pose_detection"
output_stream: "ROI_FROM_LANDMARKS:roi_from_landmarks"
}
Subgraph that renders pose-landmark annotation onto the input image.
node {
calculator: "PoseRendererGpu"
input_stream: "IMAGE:image_gpu"
input_stream: "LANDMARKS:pose_landmarks"
input_stream: "SEGMENTATION_MASK:segmentation_mask"
input_stream: "DETECTION:pose_detection"
input_stream: "ROI:roi_from_landmarks"
output_stream: "IMAGE:output_video"
}

Hello @cndcnd085,
We are upgrading the MediaPipe Legacy Solutions to new MediaPipe solutions However, the libraries, documentation, and source code for all the MediaPipe Legacy Solutions will continue to be available in our GitHub repository and through library distribution services, such as Maven and NPM.
You can continue to use those legacy solutions in your applications if you choose. Though, we would request you to check new MediaPipe solutions which can help you more easily build and customize ML solutions for your applications. These new solutions will provide a superset of capabilities available in the legacy solutions.


K8s (minikube) INSTALLATION FAILED: failed post-install: timed out waiting for the condition

Installed Helm version - 3.9.4
Installed Minikube version - 1.26.1
Steps to reproduce the behavior:

Follow KUBERNETES.md instructions - kubernetes-local-quickstart
Perform helm install
See error

~/django-DefectDojo$ helm install defectdojo ./helm/defectdojo --set django.ingress.enabled=true --set django.ingress.activateTLS=false --set createSecret=true --set createRabbitMqSecret=true --set createMysqlSecret=true
Error: INSTALLATION FAILED: failed post-install: timed out waiting for the condition
Debug mode
~/django-DefectDojo$ helm install defectdojo ./helm/defectdojo --set django.ingress.enabled=true --set django.ingress.activateTLS=false --set createSecret=true --set createRabbitMqSecret=true --set createMysqlSecret=true --debug
install.go:192: [debug] Original chart version: ""
install.go:209: [debug] CHART PATH: ~/django-DefectDojo/helm/defectdojo
client.go:310: [debug] Starting delete for "defectdojo" ServiceAccount
client.go:128: [debug] creating 1 resource(s)
client.go:310: [debug] Starting delete for "defectdojo" Secret
client.go:128: [debug] creating 1 resource(s)
client.go:310: [debug] Starting delete for "defectdojo-mysql-specific" Secret
client.go:128: [debug] creating 1 resource(s)
client.go:310: [debug] Starting delete for "defectdojo-rabbitmq-specific" Secret
client.go:128: [debug] creating 1 resource(s)
client.go:128: [debug] creating 16 resource(s)
client.go:310: [debug] Starting delete for "defectdojo-initializer-2022-10-21-17-52" Job
client.go:339: [debug] jobs.batch "defectdojo-initializer-2022-10-21-17-52" not found
client.go:128: [debug] creating 1 resource(s)
client.go:540: [debug] Watching for changes to Job defectdojo-initializer-2022-10-21-17-52 with timeout of 5m0s
client.go:568: [debug] Add/Modify event for defectdojo-initializer-2022-10-21-17-52: ADDED
client.go:607: [debug] defectdojo-initializer-2022-10-21-17-52: Jobs active: 0, jobs failed: 0, jobs succeeded: 0
client.go:568: [debug] Add/Modify event for defectdojo-initializer-2022-10-21-17-52: MODIFIED
client.go:607: [debug] defectdojo-initializer-2022-10-21-17-52: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
Error: INSTALLATION FAILED: failed post-install: timed out waiting for the condition
helm.go:84: [debug] failed post-install: timed out waiting for the condition
INSTALLATION FAILED
main.newInstallCmd.func2
helm.sh/helm/v3/cmd/helm/install.go:141
github.com/spf13/cobra.(*Command).execute
github.com/spf13/cobra@v1.5.0/command.go:872
github.com/spf13/cobra.(*Command).ExecuteC
github.com/spf13/cobra@v1.5.0/command.go:990
github.com/spf13/cobra.(*Command).Execute
github.com/spf13/cobra@v1.5.0/command.go:918
main.main
helm.sh/helm/v3/cmd/helm/helm.go:83
runtime.main
runtime/proc.go:250
runtime.goexit
runtime/asm_amd64.s:1571

Do you have enough resources on the k8s?

I believe so - minikube setup is running on an Ubuntu VM with a 4 CPU / 16 GB Memory configuration. I'm able to successfully install DefectDojo using the docker-compose approach (postgresql & rabbitmq config) so image pullback etc is not an issue. Still troubleshooting to figure out is anything is blocked by the firewall as part of K8s setup of the pods. Thanks!!

Hi, I'm facing the same problem and I'm sure the resource enough. There is any workaround about this?

Hi sorry, finally I have some time to debug it. But in your configuration I don't see that you specified database: mysql , while pgsql is default

Hi,
I'm also facing this issue.
When this happens, pods are being created on the cluster, but when I issue helm uninstall defectdojo, the initializer pod won't terminate.
I would really appreciate if the issue can be addressed. @dsever, you have mentioned that database: mysql wasn't specified. Can you please expand on what does this mean? I'm very new to DefectDojo as a whole.
Thanks!

Can you describe scenario you want to have (redis, mysql, pg, rabbit or what), then I will provide you proper  command?

@sprathod369 is it your first installation? Asking because I had issues when re-installing without running
kubectl delete secrets defectdojo defectdojo-redis-specific defectdojo-rabbitmq-specific defectdojo-postgresql-specific defectdojo-mysql-specific  kubectl delete serviceAccount defectdojo kubectl delete pvc data-defectdojo-rabbitmq-0 data-defectdojo-postgresql-0 data-defectdojo-mysql-0
I use k3d instead of minikube and it worked alright, also in a vm (way less powerful than yours).

Thanks @meytrix183 for the inputs.  I've been using the docker-compose setup for a while which is working fine. I've not retested this on minikube since I opened this issue. Closing this for now as I've now moved to Kind (from minikube) so will explore this further on this setup.


[BUG]: value.map is not a function when selecting enum array column

What version of drizzle-orm are you using?
0.22.0
Describe the Bug
I'm getting value.map is not a function when I select().from(tableWithEnums) It seems like its due to an enum array I'm using for a column
export const muscleEnum = pgEnum('muscle', [
  'abdominals',
  'hamstrings',
  'adductors',
  'quadriceps',
  'biceps',
  'shoulders',
  'chest',
  'middle_back',
  'calves',
  'glutes',
  'lower_back',
  'lats',
  'triceps',
  'traps',
  'forearms',
  'neck',
  'abductors',
]);

export const exercises = pgTable('exercises', {
  id,
  name: varchar('name').notNull(),
  force: forceEnum('force'),
  level: levelEnum('level'),
  mechanic: mechanicEnum('mechanic'),
  equipment: equipmentEnum('equipment'),
  instructions: text('instructions'),
  category: categoryEnum('category'),
  primaryMuscles: muscleEnum('primary_muscles').array(),
  secondaryMuscles: muscleEnum('secondary_muscles').array(),
  ...timestamps,
});

Oof, this was a tough one. Turns out Postgres drivers don't parse/map the array literal values to/from JS arrays if they consist of enum values, so I had to implement that from scratch. Good news is I succeeded, so this should be now fixed in drizzle-orm@beta.

Shweet thanks! Ill take a look when I get a chance after work.


Figure out hot to handle shadow_root and shadow_dom_target in non-svelthree 'container' components

<!-- MyCar.svelte (non-svelthree 'container' component) -->

<script>...</script>

<Mesh name="body"/>
<Mesh name="wheel_1"/>
<Mesh name="wheel_2"/>
<Mesh name="wheel_3"/>
<Mesh name="wheel_4"/>

<!-- App.svelte -->

<script>...</script>

<Canvas>
  <Scene>
    <MyCar />
  </Scene>
</Canvas>

Turns out, the "problem" has something to do with Svelte. If a non-svelthree 'container' component has a child component with slots and bind:this is set on any of it's slots, the child component will receive context before anything else, even before the Scene which is actually it's higher parent -> means: the Scene component will have no shadow_dom_target which get's generated reactively when the Scene receives the shadow_root element from a store shared via context by Canvas.
I've filed a Svelte issue concerning this, but I guess I'll have to find some workaround for this, like... simply avoiding slots in non-svelthree 'containers' / 'wrappers'? 🤔

Unfortunately this is still not 100% fixed...
After fiddling a bit, I think the real fix would be to share parents_shadow_dom_target in a store via context and let the children reactively generate their shadow_dom_target when parents_shadow_dom_target is available.
Removing await tick() from Scene component's logic made it look good for the most of the test-scenes, even scene-in-scene, but the shadow DOM structure of scene-in-mesh was wrong, means this is not the fix.

Ok, will deploy the new fix in a minute.
I ended up not using context only (not stores) close to the logic for getting parent components / scenes.
Checked with test-scenes, looking good.


Minor improvements

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.31%. Comparing base (967ce4b) to head (5645c47).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #237   +/-   ##
=======================================
  Coverage   97.31%   97.31%
=======================================
  Files          37       37
  Lines         818      818
  Branches       29       29
=======================================
  Hits          796      796
  Misses         22       22

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Improve HOMEBREW_INSTALL_FROM_API failure messaging

brew config output
HOMEBREW_VERSION: 3.6.0
ORIGIN: https://github.com/Homebrew/brew
HEAD: 93ea8cb2c40e1ef25f1489b0267526bd47bc8030
Last commit: 10 hours ago
Core tap: N/A
HOMEBREW_PREFIX: /data/shared/lusers/jacktose/.linuxbrew
HOMEBREW_REPOSITORY: /data/shared/lusers/jacktose/.linuxbrew/Homebrew
HOMEBREW_CELLAR: /data/shared/lusers/jacktose/.linuxbrew/Cellar
HOMEBREW_CASK_OPTS: []
HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: 7
HOMEBREW_CLEANUP_MAX_AGE_DAYS: 60
HOMEBREW_CURL_PATH: /usr/lusers/jacktose/bin/curl
HOMEBREW_DISPLAY_INSTALL_TIMES: set
HOMEBREW_EDITOR: vim
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_GIT_PATH: /usr/local/bin/git
HOMEBREW_INSTALL_FROM_API: set
HOMEBREW_MAKE_JOBS: 2
Homebrew Ruby: 2.6.8 => /data/shared/lusers/jacktose/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.8_1/bin/ruby
CPU: dual-core 64-bit ivybridge
Clang: N/A
Git: 2.31.1 => /usr/local/bin/git
Curl: 7.79.1 => /usr/lusers/jacktose/bin/curl
Kernel: Linux 3.10.0-862.6.3.el7.x86_64 x86_64 GNU/Linux
OS: CentOS Linux release 7.9.2009 (Core) (Core)
Host glibc: 2.17
/usr/bin/gcc: 4.8.5
/usr/bin/ruby: N/A
glibc: N/A
gcc@11: N/A
xorg: N/A

brew doctor output
see gist
Verification

[X] I ran brew update and am still able to reproduce my issue.
[ ] I have resolved all warnings from brew doctor and that did not fix my problem.

What were you trying to do (and why)?
Fresh install of brew 3.6.0 (on CentOS 7, no sudo, non-default path) with HOMEBREW_INSTALL_FROM_API set.
To test the setting as suggested in the blog and hopefully shrink my linuxbrew directory size.
export HOMEBREW_INSTALL_FROM_API=1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# log out / in
brew update
brew install gcc

What happened (include all command output)?
brew install gcc failed on its first dependency, glibc:
FormulaUnavailableError: No available formula with the name "/data/shared/lusers/jacktose/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/glibc.rb".

With HOMEBREW_INSTALL_FROM_API unset, brew install gcc (cloned homebrew/core and then) succeeded.
I'd guess this has to do with the new handling of glibc in glibc-bootstrap, but I don't understand how all that works.

Installation
ad-user-ads-11 ~ ★ env | grep HOMEBREW
HOMEBREW_CURL_PATH=/usr/lusers/jacktose/bin/curl
HOMEBREW_INSTALL_FROM_API=1
HOMEBREW_GIT_PATH=/usr/local/bin/git
HOMEBREW_DISPLAY_INSTALL_TIMES=1
HOMEBREW_GITHUB_API_TOKEN=hunter2
HOMEBREW_CLEANUP_MAX_AGE_DAYS=60
HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS=7

ad-user-ads-11 ~ ★ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
==> Found Git: /usr/local/bin/git
==> Found cURL: /usr/lusers/jacktose/bin/curl
==> Setting HOMEBREW_DEVELOPER to use Git/cURL not in /usr/bin
==> Checking for `sudo` access (which may request your password)...
==> Select a Homebrew installation directory:
- Enter your password to install to /home/linuxbrew/.linuxbrew (recommended)
- Press Control-D to install to /usr/lusers/jacktose/.linuxbrew
- Press Control-C to cancel installation
[sudo] password for jacktose:
sudo: no password was provided
==> This script will install:
/usr/lusers/jacktose/.linuxbrew/bin/brew
/usr/lusers/jacktose/.linuxbrew/share/doc/homebrew
/usr/lusers/jacktose/.linuxbrew/share/man/man1/brew.1
/usr/lusers/jacktose/.linuxbrew/share/zsh/site-functions/_brew
/usr/lusers/jacktose/.linuxbrew/etc/bash_completion.d/brew
/usr/lusers/jacktose/.linuxbrew/Homebrew
==> The following new directories will be created:
/usr/lusers/jacktose/.linuxbrew/bin
/usr/lusers/jacktose/.linuxbrew/etc
/usr/lusers/jacktose/.linuxbrew/include
/usr/lusers/jacktose/.linuxbrew/lib
/usr/lusers/jacktose/.linuxbrew/sbin
/usr/lusers/jacktose/.linuxbrew/share
/usr/lusers/jacktose/.linuxbrew/var
/usr/lusers/jacktose/.linuxbrew/opt
/usr/lusers/jacktose/.linuxbrew/share/zsh
/usr/lusers/jacktose/.linuxbrew/share/zsh/site-functions
/usr/lusers/jacktose/.linuxbrew/var/homebrew
/usr/lusers/jacktose/.linuxbrew/var/homebrew/linked
/usr/lusers/jacktose/.linuxbrew/Cellar
/usr/lusers/jacktose/.linuxbrew/Caskroom
/usr/lusers/jacktose/.linuxbrew/Frameworks
==> HOMEBREW_INSTALL_FROM_API is set.
Homebrew/homebrew-core will not be tapped during this install run.

Press RETURN/ENTER to continue or any other key to abort:
==> /usr/bin/install -d -o jacktose -g users -m 0755 /usr/lusers/jacktose/.linuxbrew
==> /bin/mkdir -p /usr/lusers/jacktose/.linuxbrew/bin /usr/lusers/jacktose/.linuxbrew/etc /usr/lusers/jacktose/.linuxbrew/include /usr/lusers/jacktose/.linuxbrew/lib /usr/lusers/jacktose/.linuxbrew/sbin /usr/lusers/jacktose/.linuxbrew/share /usr/lusers/jacktose/.linuxbrew/var /usr/lusers/jacktose/.linuxbrew/opt /usr/lusers/jacktose/.linuxbrew/share/zsh /usr/lusers/jacktose/.linuxbrew/share/zsh/site-functions /usr/lusers/jacktose/.linuxbrew/var/homebrew /usr/lusers/jacktose/.linuxbrew/var/homebrew/linked /usr/lusers/jacktose/.linuxbrew/Cellar /usr/lusers/jacktose/.linuxbrew/Caskroom /usr/lusers/jacktose/.linuxbrew/Frameworks
==> /bin/chmod ug=rwx /usr/lusers/jacktose/.linuxbrew/bin /usr/lusers/jacktose/.linuxbrew/etc /usr/lusers/jacktose/.linuxbrew/include /usr/lusers/jacktose/.linuxbrew/lib /usr/lusers/jacktose/.linuxbrew/sbin /usr/lusers/jacktose/.linuxbrew/share /usr/lusers/jacktose/.linuxbrew/var /usr/lusers/jacktose/.linuxbrew/opt /usr/lusers/jacktose/.linuxbrew/share/zsh /usr/lusers/jacktose/.linuxbrew/share/zsh/site-functions /usr/lusers/jacktose/.linuxbrew/var/homebrew /usr/lusers/jacktose/.linuxbrew/var/homebrew/linked /usr/lusers/jacktose/.linuxbrew/Cellar /usr/lusers/jacktose/.linuxbrew/Caskroom /usr/lusers/jacktose/.linuxbrew/Frameworks
==> /bin/chmod go-w /usr/lusers/jacktose/.linuxbrew/share/zsh /usr/lusers/jacktose/.linuxbrew/share/zsh/site-functions
==> /bin/chown jacktose /usr/lusers/jacktose/.linuxbrew/bin /usr/lusers/jacktose/.linuxbrew/etc /usr/lusers/jacktose/.linuxbrew/include /usr/lusers/jacktose/.linuxbrew/lib /usr/lusers/jacktose/.linuxbrew/sbin /usr/lusers/jacktose/.linuxbrew/share /usr/lusers/jacktose/.linuxbrew/var /usr/lusers/jacktose/.linuxbrew/opt /usr/lusers/jacktose/.linuxbrew/share/zsh /usr/lusers/jacktose/.linuxbrew/share/zsh/site-functions /usr/lusers/jacktose/.linuxbrew/var/homebrew /usr/lusers/jacktose/.linuxbrew/var/homebrew/linked /usr/lusers/jacktose/.linuxbrew/Cellar /usr/lusers/jacktose/.linuxbrew/Caskroom /usr/lusers/jacktose/.linuxbrew/Frameworks
==> /bin/chgrp users /usr/lusers/jacktose/.linuxbrew/bin /usr/lusers/jacktose/.linuxbrew/etc /usr/lusers/jacktose/.linuxbrew/include /usr/lusers/jacktose/.linuxbrew/lib /usr/lusers/jacktose/.linuxbrew/sbin /usr/lusers/jacktose/.linuxbrew/share /usr/lusers/jacktose/.linuxbrew/var /usr/lusers/jacktose/.linuxbrew/opt /usr/lusers/jacktose/.linuxbrew/share/zsh /usr/lusers/jacktose/.linuxbrew/share/zsh/site-functions /usr/lusers/jacktose/.linuxbrew/var/homebrew /usr/lusers/jacktose/.linuxbrew/var/homebrew/linked /usr/lusers/jacktose/.linuxbrew/Cellar /usr/lusers/jacktose/.linuxbrew/Caskroom /usr/lusers/jacktose/.linuxbrew/Frameworks
==> /bin/mkdir -p /usr/lusers/jacktose/.linuxbrew/Homebrew
==> /bin/chown -R jacktose:users /usr/lusers/jacktose/.linuxbrew/Homebrew
==> Downloading and installing Homebrew...
remote: Enumerating objects: 215758, done.
remote: Counting objects: 100% (45/45), done.
remote: Compressing objects: 100% (45/45), done.
remote: Total 215758 (delta 0), reused 45 (delta 0), pack-reused 215713
Receiving objects: 100% (215758/215758), 60.57 MiB | 17.21 MiB/s, done.
Resolving deltas: 100% (158758/158758), done.
From https://github.com/Homebrew/brew
 * [new branch]          dependabot/bundler/Library/Homebrew/rack-3.0.0         -> origin/dependabot/bundler/Library/Homebrew/rack-3.0.0
 * [new branch]          dependabot/bundler/Library/Homebrew/rspec-sorbet-1.9.0 -> origin/dependabot/bundler/Library/Homebrew/rspec-sorbet-1.9.0
 * [new branch]          dependabot/bundler/Library/Homebrew/rubocop-1.36.0     -> origin/dependabot/bundler/Library/Homebrew/rubocop-1.36.0
 * [new branch]          master                                                 -> origin/master
 * [new tag]             0.1                                                    -> 0.1
 * [new tag]             0.2                                                    -> 0.2
 * [new tag]             0.3                                                    -> 0.3
 * [new tag]             0.4                                                    -> 0.4
 * [new tag]             0.5                                                    -> 0.5
 * [new tag]             0.6                                                    -> 0.6
 * [new tag]             0.7                                                    -> 0.7
 * [new tag]             0.7.1                                                  -> 0.7.1
 * [new tag]             0.8                                                    -> 0.8
 * [new tag]             0.8.1                                                  -> 0.8.1
 * [new tag]             0.9                                                    -> 0.9
 * [new tag]             0.9.1                                                  -> 0.9.1
 * [new tag]             0.9.2                                                  -> 0.9.2
 * [new tag]             0.9.3                                                  -> 0.9.3
 * [new tag]             0.9.4                                                  -> 0.9.4
 * [new tag]             0.9.5                                                  -> 0.9.5
 * [new tag]             0.9.8                                                  -> 0.9.8
 * [new tag]             0.9.9                                                  -> 0.9.9
 * [new tag]             1.0.0                                                  -> 1.0.0
 * [new tag]             1.0.1                                                  -> 1.0.1
 * [new tag]             1.0.2                                                  -> 1.0.2
 * [new tag]             1.0.3                                                  -> 1.0.3
 * [new tag]             1.0.4                                                  -> 1.0.4
 * [new tag]             1.0.5                                                  -> 1.0.5
 * [new tag]             1.0.6                                                  -> 1.0.6
 * [new tag]             1.0.7                                                  -> 1.0.7
 * [new tag]             1.0.8                                                  -> 1.0.8
 * [new tag]             1.0.9                                                  -> 1.0.9
 * [new tag]             1.1.0                                                  -> 1.1.0
 * [new tag]             1.1.1                                                  -> 1.1.1
 * [new tag]             1.1.10                                                 -> 1.1.10
 * [new tag]             1.1.11                                                 -> 1.1.11
 * [new tag]             1.1.12                                                 -> 1.1.12
 * [new tag]             1.1.13                                                 -> 1.1.13
 * [new tag]             1.1.2                                                  -> 1.1.2
 * [new tag]             1.1.3                                                  -> 1.1.3
 * [new tag]             1.1.4                                                  -> 1.1.4
 * [new tag]             1.1.5                                                  -> 1.1.5
 * [new tag]             1.1.6                                                  -> 1.1.6
 * [new tag]             1.1.7                                                  -> 1.1.7
 * [new tag]             1.1.8                                                  -> 1.1.8
 * [new tag]             1.1.9                                                  -> 1.1.9
 * [new tag]             1.2.0                                                  -> 1.2.0
 * [new tag]             1.2.1                                                  -> 1.2.1
 * [new tag]             1.2.2                                                  -> 1.2.2
 * [new tag]             1.2.3                                                  -> 1.2.3
 * [new tag]             1.2.4                                                  -> 1.2.4
 * [new tag]             1.2.5                                                  -> 1.2.5
 * [new tag]             1.2.6                                                  -> 1.2.6
 * [new tag]             1.3.0                                                  -> 1.3.0
 * [new tag]             1.3.1                                                  -> 1.3.1
 * [new tag]             1.3.2                                                  -> 1.3.2
 * [new tag]             1.3.3                                                  -> 1.3.3
 * [new tag]             1.3.4                                                  -> 1.3.4
 * [new tag]             1.3.5                                                  -> 1.3.5
 * [new tag]             1.3.6                                                  -> 1.3.6
 * [new tag]             1.3.7                                                  -> 1.3.7
 * [new tag]             1.3.8                                                  -> 1.3.8
 * [new tag]             1.3.9                                                  -> 1.3.9
 * [new tag]             1.4.0                                                  -> 1.4.0
 * [new tag]             1.4.1                                                  -> 1.4.1
 * [new tag]             1.4.2                                                  -> 1.4.2
 * [new tag]             1.4.3                                                  -> 1.4.3
 * [new tag]             1.5.0                                                  -> 1.5.0
 * [new tag]             1.5.1                                                  -> 1.5.1
 * [new tag]             1.5.10                                                 -> 1.5.10
 * [new tag]             1.5.11                                                 -> 1.5.11
 * [new tag]             1.5.12                                                 -> 1.5.12
 * [new tag]             1.5.13                                                 -> 1.5.13
 * [new tag]             1.5.14                                                 -> 1.5.14
 * [new tag]             1.5.2                                                  -> 1.5.2
 * [new tag]             1.5.3                                                  -> 1.5.3
 * [new tag]             1.5.4                                                  -> 1.5.4
 * [new tag]             1.5.5                                                  -> 1.5.5
 * [new tag]             1.5.6                                                  -> 1.5.6
 * [new tag]             1.5.7                                                  -> 1.5.7
 * [new tag]             1.5.8                                                  -> 1.5.8
 * [new tag]             1.5.9                                                  -> 1.5.9
 * [new tag]             1.6.0                                                  -> 1.6.0
 * [new tag]             1.6.1                                                  -> 1.6.1
 * [new tag]             1.6.10                                                 -> 1.6.10
 * [new tag]             1.6.11                                                 -> 1.6.11
 * [new tag]             1.6.12                                                 -> 1.6.12
 * [new tag]             1.6.13                                                 -> 1.6.13
 * [new tag]             1.6.14                                                 -> 1.6.14
 * [new tag]             1.6.15                                                 -> 1.6.15
 * [new tag]             1.6.16                                                 -> 1.6.16
 * [new tag]             1.6.17                                                 -> 1.6.17
 * [new tag]             1.6.2                                                  -> 1.6.2
 * [new tag]             1.6.3                                                  -> 1.6.3
 * [new tag]             1.6.4                                                  -> 1.6.4
 * [new tag]             1.6.5                                                  -> 1.6.5
 * [new tag]             1.6.6                                                  -> 1.6.6
 * [new tag]             1.6.7                                                  -> 1.6.7
 * [new tag]             1.6.8                                                  -> 1.6.8
 * [new tag]             1.6.9                                                  -> 1.6.9
 * [new tag]             1.7.0                                                  -> 1.7.0
 * [new tag]             1.7.1                                                  -> 1.7.1
 * [new tag]             1.7.2                                                  -> 1.7.2
 * [new tag]             1.7.3                                                  -> 1.7.3
 * [new tag]             1.7.4                                                  -> 1.7.4
 * [new tag]             1.7.5                                                  -> 1.7.5
 * [new tag]             1.7.6                                                  -> 1.7.6
 * [new tag]             1.7.7                                                  -> 1.7.7
 * [new tag]             1.8.0                                                  -> 1.8.0
 * [new tag]             1.8.1                                                  -> 1.8.1
 * [new tag]             1.8.2                                                  -> 1.8.2
 * [new tag]             1.8.3                                                  -> 1.8.3
 * [new tag]             1.8.4                                                  -> 1.8.4
 * [new tag]             1.8.5                                                  -> 1.8.5
 * [new tag]             1.8.6                                                  -> 1.8.6
 * [new tag]             1.9.0                                                  -> 1.9.0
 * [new tag]             1.9.1                                                  -> 1.9.1
 * [new tag]             1.9.2                                                  -> 1.9.2
 * [new tag]             1.9.3                                                  -> 1.9.3
 * [new tag]             2.0.0                                                  -> 2.0.0
 * [new tag]             2.0.1                                                  -> 2.0.1
 * [new tag]             2.0.2                                                  -> 2.0.2
 * [new tag]             2.0.3                                                  -> 2.0.3
 * [new tag]             2.0.4                                                  -> 2.0.4
 * [new tag]             2.0.5                                                  -> 2.0.5
 * [new tag]             2.0.6                                                  -> 2.0.6
 * [new tag]             2.1.0                                                  -> 2.1.0
 * [new tag]             2.1.1                                                  -> 2.1.1
 * [new tag]             2.1.10                                                 -> 2.1.10
 * [new tag]             2.1.11                                                 -> 2.1.11
 * [new tag]             2.1.12                                                 -> 2.1.12
 * [new tag]             2.1.13                                                 -> 2.1.13
 * [new tag]             2.1.14                                                 -> 2.1.14
 * [new tag]             2.1.15                                                 -> 2.1.15
 * [new tag]             2.1.16                                                 -> 2.1.16
 * [new tag]             2.1.2                                                  -> 2.1.2
 * [new tag]             2.1.3                                                  -> 2.1.3
 * [new tag]             2.1.4                                                  -> 2.1.4
 * [new tag]             2.1.5                                                  -> 2.1.5
 * [new tag]             2.1.6                                                  -> 2.1.6
 * [new tag]             2.1.7                                                  -> 2.1.7
 * [new tag]             2.1.8                                                  -> 2.1.8
 * [new tag]             2.1.9                                                  -> 2.1.9
 * [new tag]             2.2.0                                                  -> 2.2.0
 * [new tag]             2.2.1                                                  -> 2.2.1
 * [new tag]             2.2.10                                                 -> 2.2.10
 * [new tag]             2.2.11                                                 -> 2.2.11
 * [new tag]             2.2.12                                                 -> 2.2.12
 * [new tag]             2.2.13                                                 -> 2.2.13
 * [new tag]             2.2.14                                                 -> 2.2.14
 * [new tag]             2.2.15                                                 -> 2.2.15
 * [new tag]             2.2.16                                                 -> 2.2.16
 * [new tag]             2.2.17                                                 -> 2.2.17
 * [new tag]             2.2.2                                                  -> 2.2.2
 * [new tag]             2.2.3                                                  -> 2.2.3
 * [new tag]             2.2.4                                                  -> 2.2.4
 * [new tag]             2.2.5                                                  -> 2.2.5
 * [new tag]             2.2.6                                                  -> 2.2.6
 * [new tag]             2.2.7                                                  -> 2.2.7
 * [new tag]             2.2.8                                                  -> 2.2.8
 * [new tag]             2.2.9                                                  -> 2.2.9
 * [new tag]             2.3.0                                                  -> 2.3.0
 * [new tag]             2.4.0                                                  -> 2.4.0
 * [new tag]             2.4.1                                                  -> 2.4.1
 * [new tag]             2.4.10                                                 -> 2.4.10
 * [new tag]             2.4.11                                                 -> 2.4.11
 * [new tag]             2.4.12                                                 -> 2.4.12
 * [new tag]             2.4.13                                                 -> 2.4.13
 * [new tag]             2.4.14                                                 -> 2.4.14
 * [new tag]             2.4.15                                                 -> 2.4.15
 * [new tag]             2.4.16                                                 -> 2.4.16
 * [new tag]             2.4.2                                                  -> 2.4.2
 * [new tag]             2.4.3                                                  -> 2.4.3
 * [new tag]             2.4.4                                                  -> 2.4.4
 * [new tag]             2.4.5                                                  -> 2.4.5
 * [new tag]             2.4.6                                                  -> 2.4.6
 * [new tag]             2.4.7                                                  -> 2.4.7
 * [new tag]             2.4.8                                                  -> 2.4.8
 * [new tag]             2.4.9                                                  -> 2.4.9
 * [new tag]             2.5.0                                                  -> 2.5.0
 * [new tag]             2.5.1                                                  -> 2.5.1
 * [new tag]             2.5.10                                                 -> 2.5.10
 * [new tag]             2.5.11                                                 -> 2.5.11
 * [new tag]             2.5.12                                                 -> 2.5.12
 * [new tag]             2.5.2                                                  -> 2.5.2
 * [new tag]             2.5.3                                                  -> 2.5.3
 * [new tag]             2.5.4                                                  -> 2.5.4
 * [new tag]             2.5.5                                                  -> 2.5.5
 * [new tag]             2.5.6                                                  -> 2.5.6
 * [new tag]             2.5.7                                                  -> 2.5.7
 * [new tag]             2.5.8                                                  -> 2.5.8
 * [new tag]             2.5.9                                                  -> 2.5.9
 * [new tag]             2.6.0                                                  -> 2.6.0
 * [new tag]             2.6.1                                                  -> 2.6.1
 * [new tag]             2.6.2                                                  -> 2.6.2
 * [new tag]             2.7.0                                                  -> 2.7.0
 * [new tag]             2.7.1                                                  -> 2.7.1
 * [new tag]             2.7.2                                                  -> 2.7.2
 * [new tag]             2.7.3                                                  -> 2.7.3
 * [new tag]             2.7.4                                                  -> 2.7.4
 * [new tag]             2.7.5                                                  -> 2.7.5
 * [new tag]             2.7.6                                                  -> 2.7.6
 * [new tag]             2.7.7                                                  -> 2.7.7
 * [new tag]             3.0.0                                                  -> 3.0.0
 * [new tag]             3.0.1                                                  -> 3.0.1
 * [new tag]             3.0.10                                                 -> 3.0.10
 * [new tag]             3.0.11                                                 -> 3.0.11
 * [new tag]             3.0.2                                                  -> 3.0.2
 * [new tag]             3.0.3                                                  -> 3.0.3
 * [new tag]             3.0.4                                                  -> 3.0.4
 * [new tag]             3.0.5                                                  -> 3.0.5
 * [new tag]             3.0.6                                                  -> 3.0.6
 * [new tag]             3.0.7                                                  -> 3.0.7
 * [new tag]             3.0.8                                                  -> 3.0.8
 * [new tag]             3.0.9                                                  -> 3.0.9
 * [new tag]             3.1.0                                                  -> 3.1.0
 * [new tag]             3.1.1                                                  -> 3.1.1
 * [new tag]             3.1.10                                                 -> 3.1.10
 * [new tag]             3.1.11                                                 -> 3.1.11
 * [new tag]             3.1.12                                                 -> 3.1.12
 * [new tag]             3.1.2                                                  -> 3.1.2
 * [new tag]             3.1.3                                                  -> 3.1.3
 * [new tag]             3.1.4                                                  -> 3.1.4
 * [new tag]             3.1.5                                                  -> 3.1.5
 * [new tag]             3.1.6                                                  -> 3.1.6
 * [new tag]             3.1.7                                                  -> 3.1.7
 * [new tag]             3.1.8                                                  -> 3.1.8
 * [new tag]             3.1.9                                                  -> 3.1.9
 * [new tag]             3.2.0                                                  -> 3.2.0
 * [new tag]             3.2.1                                                  -> 3.2.1
 * [new tag]             3.2.10                                                 -> 3.2.10
 * [new tag]             3.2.11                                                 -> 3.2.11
 * [new tag]             3.2.12                                                 -> 3.2.12
 * [new tag]             3.2.13                                                 -> 3.2.13
 * [new tag]             3.2.14                                                 -> 3.2.14
 * [new tag]             3.2.15                                                 -> 3.2.15
 * [new tag]             3.2.16                                                 -> 3.2.16
 * [new tag]             3.2.17                                                 -> 3.2.17
 * [new tag]             3.2.2                                                  -> 3.2.2
 * [new tag]             3.2.3                                                  -> 3.2.3
 * [new tag]             3.2.4                                                  -> 3.2.4
 * [new tag]             3.2.5                                                  -> 3.2.5
 * [new tag]             3.2.6                                                  -> 3.2.6
 * [new tag]             3.2.7                                                  -> 3.2.7
 * [new tag]             3.2.8                                                  -> 3.2.8
 * [new tag]             3.2.9                                                  -> 3.2.9
 * [new tag]             3.3.0                                                  -> 3.3.0
 * [new tag]             3.3.1                                                  -> 3.3.1
 * [new tag]             3.3.10                                                 -> 3.3.10
 * [new tag]             3.3.11                                                 -> 3.3.11
 * [new tag]             3.3.12                                                 -> 3.3.12
 * [new tag]             3.3.13                                                 -> 3.3.13
 * [new tag]             3.3.14                                                 -> 3.3.14
 * [new tag]             3.3.15                                                 -> 3.3.15
 * [new tag]             3.3.16                                                 -> 3.3.16
 * [new tag]             3.3.2                                                  -> 3.3.2
 * [new tag]             3.3.3                                                  -> 3.3.3
 * [new tag]             3.3.4                                                  -> 3.3.4
 * [new tag]             3.3.5                                                  -> 3.3.5
 * [new tag]             3.3.6                                                  -> 3.3.6
 * [new tag]             3.3.7                                                  -> 3.3.7
 * [new tag]             3.3.8                                                  -> 3.3.8
 * [new tag]             3.3.9                                                  -> 3.3.9
 * [new tag]             3.4.0                                                  -> 3.4.0
 * [new tag]             3.4.1                                                  -> 3.4.1
 * [new tag]             3.4.10                                                 -> 3.4.10
 * [new tag]             3.4.11                                                 -> 3.4.11
 * [new tag]             3.4.2                                                  -> 3.4.2
 * [new tag]             3.4.3                                                  -> 3.4.3
 * [new tag]             3.4.4                                                  -> 3.4.4
 * [new tag]             3.4.5                                                  -> 3.4.5
 * [new tag]             3.4.6                                                  -> 3.4.6
 * [new tag]             3.4.7                                                  -> 3.4.7
 * [new tag]             3.4.8                                                  -> 3.4.8
 * [new tag]             3.4.9                                                  -> 3.4.9
 * [new tag]             3.5.0                                                  -> 3.5.0
 * [new tag]             3.5.1                                                  -> 3.5.1
 * [new tag]             3.5.10                                                 -> 3.5.10
 * [new tag]             3.5.2                                                  -> 3.5.2
 * [new tag]             3.5.3                                                  -> 3.5.3
 * [new tag]             3.5.4                                                  -> 3.5.4
 * [new tag]             3.5.5                                                  -> 3.5.5
 * [new tag]             3.5.6                                                  -> 3.5.6
 * [new tag]             3.5.7                                                  -> 3.5.7
 * [new tag]             3.5.8                                                  -> 3.5.8
 * [new tag]             3.5.9                                                  -> 3.5.9
 * [new tag]             3.6.0                                                  -> 3.6.0
Updating files: 100% (2895/2895), done.
HEAD is now at 00179ba5b Merge pull request #13819 from Bo98/docker-deprecate
==> Skip tapping homebrew/core because `$HOMEBREW_INSTALL_FROM_API` is set.
==> Downloading https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:fc45ee6eddf4c7a17f4373dde7b1bc8a58255ea61e6847d3bf895225b28d072a
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/portable-ruby-2.6.8_1.x86_64_linux.bottle.tar.gz
==> Pouring portable-ruby-2.6.8_1.x86_64_linux.bottle.tar.gz
Warning: /usr/lusers/jacktose/.linuxbrew/bin is not in your PATH.
  Instructions on how to configure your shell for Homebrew
  can be found in the 'Next steps' section below.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (nor will any be during this install run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
    echo 'eval "$(/usr/lusers/jacktose/.linuxbrew/bin/brew shellenv)"' >> /usr/lusers/jacktose/.bash_profile
    eval "$(/usr/lusers/jacktose/.linuxbrew/bin/brew shellenv)"
- Install Homebrew's dependencies if you have sudo access:
    sudo yum groupinstall 'Development Tools'
  For more information, see:
    https://docs.brew.sh/Homebrew-on-Linux
- We recommend that you install GCC:
    brew install gcc
- Run brew help to get started
- Further documentation:
    https://docs.brew.sh

# log out / in for PATH etc. to take effect

ad-user-ads-11 ~ ★ brew update
Already up-to-date.

brew install gcc from API
ad-user-ads-11 ~ ★ brew install gcc
==> Downloading https://ghcr.io/v2/homebrew/core/linux-headers/5.15/manifests/5.15.57-1
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/linux-headers/5.15/blobs/sha256:8692682830cbb1fb74bb61190b644da9de0f4c3a40cf18653a9b4a85bc5ce50d
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:8692682830cbb1fb74bb61190b644da9de0f4c3a40cf18653a9b4a85bc5ce50d?se=2022-09-07T21%3A40%3A00Z&sig=9g21jn%2BhvQ5ErvN46Nct53u%2B8BHttRBDKfvR74z9IcQ%3D
######################################################################## 100.0%
Warning: Building glibc from source as the bottle needs:
- HOMEBREW_CELLAR: /home/linuxbrew/.linuxbrew/Cellar (yours is /data/shared/lusers/jacktose/.linuxbrew/Cellar)
- HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew (yours is /data/shared/lusers/jacktose/.linuxbrew)
==> Downloading https://ftp.gnu.org/gnu/glibc/glibc-2.35.tar.gz
######################################################################## 100.0%
Warning: Cannot verify integrity of '329d4c5b7b38da0a5dcb652257748b77e9100bbc4771166317ac852d1376cf82--glibc-2.35.tar.gz'.
No checksum was provided for this resource.
For your reference, the checksum is:
  sha256 "3e8e0c6195da8dfbd31d77c56fb8d99576fb855fafd47a9e0a895e51fd5942d4"
==> Downloading https://ghcr.io/v2/homebrew/core/gmp/manifests/6.2.1_1
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/gmp/blobs/sha256:786ae29f0c0b06ea86e42bd9c6ac2c49bd5757da037dead7053e8bd612c4cf8c
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:786ae29f0c0b06ea86e42bd9c6ac2c49bd5757da037dead7053e8bd612c4cf8c?se=2022-09-07T21%3A40%3A00Z&sig=w1W%2BxEDSleI71pbaWsu0ezTydOLupaqL7t%2FYfqPqLAY%3D
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/isl/manifests/0.25
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/isl/blobs/sha256:c0244c95ed9cc89b826868de83bec3150fcc120add1265017176770150757083
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:c0244c95ed9cc89b826868de83bec3150fcc120add1265017176770150757083?se=2022-09-07T21%3A40%3A00Z&sig=AJEf97zcw4szf9yyWYnS0Bf%2FN9Et4815kK4Jlj5gtZ4%3D&s
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/mpfr/manifests/4.1.0
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/mpfr/blobs/sha256:4c5f1cfd038e8fbd640795e34e5e23c11244be3eca7781979600ec0d50bb9c0b
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:4c5f1cfd038e8fbd640795e34e5e23c11244be3eca7781979600ec0d50bb9c0b?se=2022-09-07T21%3A40%3A00Z&sig=0SVxjyy%2B%2Ff4bgm6JzI2WgbrvpgVFUdfGmWs6FG6fHvA%3D
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/libmpc/manifests/1.2.1
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/libmpc/blobs/sha256:d74eb5f1377d8fa72fad88baca1bd5f00c29d45ba186fbec89ad690c1d1f721f
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:d74eb5f1377d8fa72fad88baca1bd5f00c29d45ba186fbec89ad690c1d1f721f?se=2022-09-07T21%3A40%3A00Z&sig=OUbx9ySbDkEFoEXDagaNNnXUC%2BvxFWGrScb%2FjvO0R3c%3D
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/lz4/manifests/1.9.4
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/lz4/blobs/sha256:1757fefc3840e11c4822e4c2a95aa62aca44a4eaccce6f5c414ea51d1e58bf8e
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:1757fefc3840e11c4822e4c2a95aa62aca44a4eaccce6f5c414ea51d1e58bf8e?se=2022-09-07T21%3A40%3A00Z&sig=tPlfDoFWmE6eR1jxlMWLNMktjWiFIX5fKBeat9bPVtY%3D&sp=
######################################################################## 100.0%
Warning: Building xz from source as the bottle needs:
- HOMEBREW_CELLAR: /home/linuxbrew/.linuxbrew/Cellar (yours is /data/shared/lusers/jacktose/.linuxbrew/Cellar)
- HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew (yours is /data/shared/lusers/jacktose/.linuxbrew)
==> Downloading https://downloads.sourceforge.net/project/lzmautils/xz-5.2.6.tar.gz
==> Downloading from https://cfhcable.dl.sourceforge.net/project/lzmautils/xz-5.2.6.tar.gz
######################################################################## 100.0%
Warning: Cannot verify integrity of 'f0d58652924441ff0e52ea2e154e2e949a3737d58d9b91052639afd4727c4e89--xz-5.2.6.tar.gz'.
No checksum was provided for this resource.
For your reference, the checksum is:
  sha256 "a2105abee17bcd2ebd15ced31b4f5eda6e17efd6b10f921a01cda4a44c91b3a0"
==> Downloading https://ghcr.io/v2/homebrew/core/zlib/manifests/1.2.12
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/zlib/blobs/sha256:23b1d8f0500bbccdf5cc466e7acbd7eddc40cd1465687239af423389abe4f46e
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:23b1d8f0500bbccdf5cc466e7acbd7eddc40cd1465687239af423389abe4f46e?se=2022-09-07T21%3A40%3A00Z&sig=g7qliE3Ya2mnj51jPI8Vt09krZB4d02L4YNGDeoW%2F3Q%3D&s
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/zstd/manifests/1.5.2-3
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/zstd/blobs/sha256:006b5ab6a4616a8b6f59953cb9efb546d312e3ba231c303bb56749e7f66f56df
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:006b5ab6a4616a8b6f59953cb9efb546d312e3ba231c303bb56749e7f66f56df?se=2022-09-07T21%3A40%3A00Z&sig=uAcCFxtS%2Fc0267sI%2B08c7cChftOTj8kIR9gH5ldM9fk%3D
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/binutils/manifests/2.39_1
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/binutils/blobs/sha256:efa7497e2ea56d9b68ce41363cdc1a41cad032b3ae2fa2cbe819459011651809
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:efa7497e2ea56d9b68ce41363cdc1a41cad032b3ae2fa2cbe819459011651809?se=2022-09-07T21%3A40%3A00Z&sig=rIIfggO1%2BpFlMlPBRjFRk5LQxDmDsfI2cEovHE8a0wo%3D&s
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/gcc/11/manifests/11.3.0
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/gcc/11/blobs/sha256:64d9c853ddbe63e0361a993560da8b7883bde57854bef20a0f07afa4aa597b34
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:64d9c853ddbe63e0361a993560da8b7883bde57854bef20a0f07afa4aa597b34?se=2022-09-07T21%3A40%3A00Z&sig=d4NtpFUbHmOSR%2BGWwftTOw9Ag3oJ3q3yXYyC7FPkQXc%3D&s
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/gcc/manifests/12.2.0-1
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/gcc/blobs/sha256:c7f773f9af560766b2d971d815a8d224c267088c05ed1f2b864bd1d9ebc26e1a
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:c7f773f9af560766b2d971d815a8d224c267088c05ed1f2b864bd1d9ebc26e1a?se=2022-09-07T21%3A40%3A00Z&sig=%2Fjk%2B8PUSBRjtXBSVQDetQkqBlmQtWfqYRunoOSW%2BCnI%
######################################################################## 100.0%
==> Installing dependencies for gcc<EMAIL_ADDRESS>glibc, gmp, isl, mpfr, libmpc, lz4, xz, zlib, zstd, binutils and gcc@11
==> Installing gcc dependency<EMAIL_ADDRESS>==> Pouring<EMAIL_ADDRESS>🍺<EMAIL_ADDRESS>963 files, 5.6MB
==> Installing gcc dependency: glibc
Error: An exception occurred within a child process:
  FormulaUnavailableError: No available formula with the name "/data/shared/lusers/jacktose/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/glibc.rb".

brew install gcc traditionally (from clone)
ad-user-ads-11 ~ ★ unset HOMEBREW_INSTALL_FROM_API
ad-user-ads-11 ~ ★ brew config
HOMEBREW_VERSION: 3.6.0
ORIGIN: https://github.com/Homebrew/brew
HEAD: 93ea8cb2c40e1ef25f1489b0267526bd47bc8030
Last commit: 10 hours ago
Core tap: N/A
HOMEBREW_PREFIX: /data/shared/lusers/jacktose/.linuxbrew
HOMEBREW_REPOSITORY: /data/shared/lusers/jacktose/.linuxbrew/Homebrew
HOMEBREW_CELLAR: /data/shared/lusers/jacktose/.linuxbrew/Cellar
HOMEBREW_CASK_OPTS: []
HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: 7
HOMEBREW_CLEANUP_MAX_AGE_DAYS: 60
HOMEBREW_CURL_PATH: /usr/lusers/jacktose/bin/curl
HOMEBREW_DISPLAY_INSTALL_TIMES: set
HOMEBREW_EDITOR: vim
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_GIT_PATH: /usr/local/bin/git
HOMEBREW_MAKE_JOBS: 2
Homebrew Ruby: 2.6.8 => /data/shared/lusers/jacktose/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.8_1/bin/ruby
CPU: dual-core 64-bit ivybridge
Clang: N/A
Git: 2.31.1 => /usr/local/bin/git
Curl: 7.79.1 => /usr/lusers/jacktose/bin/curl
Kernel: Linux 3.10.0-862.6.3.el7.x86_64 x86_64 GNU/Linux
OS: CentOS Linux release 7.9.2009 (Core) (Core)
Host glibc: 2.17
/usr/bin/gcc: 4.8.5
/usr/bin/ruby: N/A
glibc: N/A
gcc@11: N/A
xorg: N/A

ad-user-ads-11 ~ ★ brew install gcc
==> Tapping homebrew/core
Cloning into '/data/shared/lusers/jacktose/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core'...
remote: Enumerating objects: 1263561, done.
remote: Counting objects: 100% (223/223), done.
remote: Compressing objects: 100% (114/114), done.
remote: Total 1263561 (delta 134), reused 189 (delta 109), pack-reused 1263338
Receiving objects: 100% (1263561/1263561), 510.24 MiB | 27.92 MiB/s, done.
Resolving deltas: 100% (871283/871283), done.
Tapped 3 commands and 6272 formulae (6,615 files, 559.0MB).
Warning: Building glibc from source as the bottle needs:
- HOMEBREW_CELLAR: /home/linuxbrew/.linuxbrew/Cellar (yours is /data/shared/lusers/jacktose/.linuxbrew/Cellar)
- HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew (yours is /data/shared/lusers/jacktose/.linuxbrew)
==> Downloading https://github.com/Homebrew/glibc-bootstrap/releases/download/1.0.0/bootstrap-binutils-2.38.tar.gz
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/524462031/c3fca5e4-a3da-452b-8f38-386842754d71?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220907%2Fus-
######################################################################## 100.0%
==> Downloading https://github.com/Homebrew/glibc-bootstrap/releases/download/1.0.0/bootstrap-bison-3.8.2.tar.gz
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/524462031/3e4e6eec-5d37-4f38-a6d5-d0b1a5f7a82e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220907%2Fus-
######################################################################## 100.0%
==> Downloading https://github.com/Homebrew/glibc-bootstrap/releases/download/1.0.0/bootstrap-gawk-5.1.1.tar.gz
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/524462031/008dab63-a3bb-4b5b-bd2e-967fbaa30be4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220907%2Fus-
######################################################################## 100.0%
==> Downloading https://github.com/Homebrew/glibc-bootstrap/releases/download/1.0.0/bootstrap-gcc-9.5.0.tar.gz
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/524462031/630070d9-8fef-42dc-a67d-5956d2bdbbf5?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220907%2Fus-
######################################################################## 100.0%
==> Downloading https://github.com/Homebrew/glibc-bootstrap/releases/download/1.0.0/bootstrap-make-4.3.tar.gz
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/524462031/c5b48a6a-f632-4d36-9750-f1d3cf00a9af?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220907%2Fus-
######################################################################## 100.0%
==> Downloading https://github.com/Homebrew/glibc-bootstrap/releases/download/1.0.0/bootstrap-python3-3.9.13.tar.gz
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/524462031/f92c5234-dc31-4155-b26e-d7fd413f6beb?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220907%2Fus-
######################################################################## 100.0%
==> Downloading https://github.com/Homebrew/glibc-bootstrap/releases/download/1.0.0/bootstrap-sed-4.8.tar.gz
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/524462031/88886ee5-7b8d-4891-a37c-f6e1fe8e69dc?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220907%2Fus-
######################################################################## 100.0%
==> Downloading https://ftp.gnu.org/gnu/glibc/glibc-2.35.tar.gz
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/329d4c5b7b38da0a5dcb652257748b77e9100bbc4771166317ac852d1376cf82--glibc-2.35.tar.gz
==> Downloading https://ghcr.io/v2/homebrew/core/gmp/manifests/6.2.1_1
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/a1986a80dafb4e42b8372268a00d8d14aa8294154c876ba82e7ce48db06885cb--gmp-6.2.1_1.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/gmp/blobs/sha256:786ae29f0c0b06ea86e42bd9c6ac2c49bd5757da037dead7053e8bd612c4cf8c
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/b4fd2f8770dab9531cfeae2cbc9cdae3bfbccbf4e251c4aa251b75d23beb3fd9--gmp--6.2.1_1.x86_64_linux.bottle.tar.gz
==> Downloading https://ghcr.io/v2/homebrew/core/isl/manifests/0.25
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/ab8f0cce52620f47320ff6c28ff1f404a8632c53e8ab21e349952ed856012166--isl-0.25.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/isl/blobs/sha256:c0244c95ed9cc89b826868de83bec3150fcc120add1265017176770150757083
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/15d4353c1be20192741e9372a9e3a5b1c3a811be34877ae476440606539456e1--isl--0.25.x86_64_linux.bottle.tar.gz
==> Downloading https://ghcr.io/v2/homebrew/core/mpfr/manifests/4.1.0
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/e8b18e060649c00d9e1e351e3e05515c365e52dbd7bd392e2b99808d1f355b5b--mpfr-4.1.0.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/mpfr/blobs/sha256:4c5f1cfd038e8fbd640795e34e5e23c11244be3eca7781979600ec0d50bb9c0b
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/4f5616326bca124978f18950459d2952bf4c7f89b1fa8bb329d79ca75a45079c--mpfr--4.1.0.x86_64_linux.bottle.tar.gz
==> Downloading https://ghcr.io/v2/homebrew/core/libmpc/manifests/1.2.1
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/3f193de9dd7f9e68742cf207cfadd3a63b695a8026d343b668e10a9b7bcf6e52--libmpc-1.2.1.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/libmpc/blobs/sha256:d74eb5f1377d8fa72fad88baca1bd5f00c29d45ba186fbec89ad690c1d1f721f
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/b0eefa39efa0e65819ea5dabcf012f00a06214a76e611e7fd0412dd437ad2c06--libmpc--1.2.1.x86_64_linux.bottle.tar.gz
==> Downloading https://ghcr.io/v2/homebrew/core/lz4/manifests/1.9.4
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/379e59b981667f9585b33a2ff318769d8edca3ce6fd2e9a67ed291ae3e0cc872--lz4-1.9.4.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/lz4/blobs/sha256:1757fefc3840e11c4822e4c2a95aa62aca44a4eaccce6f5c414ea51d1e58bf8e
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/0e1822b21340968e08a38ebad2df2a2007600450c01d984e82071a679ae9b419--lz4--1.9.4.x86_64_linux.bottle.tar.gz
Warning: Building xz from source as the bottle needs:
- HOMEBREW_CELLAR: /home/linuxbrew/.linuxbrew/Cellar (yours is /data/shared/lusers/jacktose/.linuxbrew/Cellar)
- HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew (yours is /data/shared/lusers/jacktose/.linuxbrew)
==> Downloading https://downloads.sourceforge.net/project/lzmautils/xz-5.2.6.tar.gz
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/f0d58652924441ff0e52ea2e154e2e949a3737d58d9b91052639afd4727c4e89--xz-5.2.6.tar.gz
==> Downloading https://ghcr.io/v2/homebrew/core/zlib/manifests/1.2.12
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/bcdc14b1a503ec4a85882f6714ff61745887ed3635254ba02009e49edea4bd8c--zlib-1.2.12.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/zlib/blobs/sha256:23b1d8f0500bbccdf5cc466e7acbd7eddc40cd1465687239af423389abe4f46e
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/cd6436a3fcb2a35afbcfab85fa01b48302ec958430579d632dfd3a76cdd6448a--zlib--1.2.12.x86_64_linux.bottle.tar.gz
==> Downloading https://ghcr.io/v2/homebrew/core/zstd/manifests/1.5.2-3
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/f1226cb81ee54df46f1bb53da8118ca107a4f229ac63dc9405f2519c9f6fb45e--zstd-1.5.2-3.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/zstd/blobs/sha256:006b5ab6a4616a8b6f59953cb9efb546d312e3ba231c303bb56749e7f66f56df
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/fad42b2ea8e815a7377d5254c66ab075b4ff6731cd31f4073a5b69fbeb1b424d--zstd--1.5.2.x86_64_linux.bottle.3.tar.gz
==> Downloading https://ghcr.io/v2/homebrew/core/binutils/manifests/2.39_1
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/0e62125ed5cacf720aff507ece31b188bbc9b9f80c5a860eb9f7efb65d759f5b--binutils-2.39_1.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/binutils/blobs/sha256:efa7497e2ea56d9b68ce41363cdc1a41cad032b3ae2fa2cbe819459011651809
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/6b48e70fcf2d6cac042ea157418e4443cb64c6600ae8588375267caa97496480--binutils--2.39_1.x86_64_linux.bottle.tar.gz
==> Downloading https://ghcr.io/v2/homebrew/core/gcc/manifests/12.2.0-1
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/17f82b402f963fe2a37f78f96b2c576d044d8ae90286180fa458720f45d6484e--gcc-12.2.0-1.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/gcc/blobs/sha256:c7f773f9af560766b2d971d815a8d224c267088c05ed1f2b864bd1d9ebc26e1a
Already downloaded: /usr/lusers/jacktose/.cache/Homebrew/downloads/8e39f41437b42328c2caa0cc411fc5efd9ac7ebb7a6058533b6f13239384480d--gcc--12.2.0.x86_64_linux.bottle.1.tar.gz
==> Installing dependencies for gcc: glibc, gmp, isl, mpfr, libmpc, lz4, xz, zlib, zstd and binutils
==> Installing gcc dependency: glibc
==> ../configure --disable-crypt --disable-debug --disable-dependency-tracking --disable-silent-rules --prefix=/data/shared/lusers/jacktose/.linuxbrew/Cellar/glibc/2.35 --enable-obsolete-rpc --without-gd --without-selinux --with-bin
==> make all
==> make install
==> Installing locale data for en_US.UTF-8 en_US.utf8
==> /data/shared/lusers/jacktose/.linuxbrew/Cellar/glibc/2.35/bin/localedef -i en_US -f UTF-8 en_US.UTF-8
==> /data/shared/lusers/jacktose/.linuxbrew/Cellar/glibc/2.35/bin/localedef -i en_US -f UTF-8 en_US.utf8
🍺  /data/shared/lusers/jacktose/.linuxbrew/Cellar/glibc/2.35: 1,438 files, 133.3MB, built in 12 minutes 6 seconds
==> Installing gcc dependency: gmp
==> Pouring gmp--6.2.1_1.x86_64_linux.bottle.tar.gz
🍺  /data/shared/lusers/jacktose/.linuxbrew/Cellar/gmp/6.2.1_1: 23 files, 3.9MB
==> Installing gcc dependency: isl
==> Pouring isl--0.25.x86_64_linux.bottle.tar.gz
🍺  /data/shared/lusers/jacktose/.linuxbrew/Cellar/isl/0.25: 74 files, 9.2MB
==> Installing gcc dependency: mpfr
==> Pouring mpfr--4.1.0.x86_64_linux.bottle.tar.gz
🍺  /data/shared/lusers/jacktose/.linuxbrew/Cellar/mpfr/4.1.0: 31 files, 7.9MB
==> Installing gcc dependency: libmpc
==> Pouring libmpc--1.2.1.x86_64_linux.bottle.tar.gz
🍺  /data/shared/lusers/jacktose/.linuxbrew/Cellar/libmpc/1.2.1: 13 files, 526.4KB
==> Installing gcc dependency: lz4
==> Pouring lz4--1.9.4.x86_64_linux.bottle.tar.gz
🍺  /data/shared/lusers/jacktose/.linuxbrew/Cellar/lz4/1.9.4: 22 files, 660.0KB
==> Installing gcc dependency: xz
==> ./configure --prefix=/data/shared/lusers/jacktose/.linuxbrew/Cellar/xz/5.2.6
Last 15 lines from /usr/lusers/jacktose/.cache/Homebrew/Logs/xz/01.configure:

Initializing Automake:
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether ln -s works... yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/tmp/xz-20220907-30693-thmvrh/xz-5.2.6':
configure: error: C compiler cannot create executables
See `config.log' for more details

READ THIS: https://docs.brew.sh/Troubleshooting

Note that there's another problem with xz, but at least glibc succeeded. One problem at a time.

What did you expect to happen?
Successful installation of gcc and its dependencies, including glibc, from the API.
Step-by-step reproduction instructions (by running brew commands)
export HOMEBREW_INSTALL_FROM_API=1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"  # Ctrl-D at sudo prompt
eval "$(/usr/lusers/jacktose/.linuxbrew/bin/brew shellenv)"  # or equivalent
brew update  # optional
brew install gcc  # or presumably, brew install glibc

Build from source isn't supported yet when installing from the API and the glibc bottle can only be used from the default prefix.

Ah, that'll do it. Is there an issue/PR to watch for either of those, so I can try again later?

Postinstall is included as a point in #13794. Build from source I don't think is explicitly tracked anywhere, but it has been discussed as something that may be mostly covered by the postinstall work.

I'm not sure we're planning on ever supporting installs from source with HOMEBREW_INSTALL_FROM_API since we can't really offer support for source installs in most cases so it's a pretty low priority. As Bo said, it is possible that the work we do with postinstall will allow source builds, but I'm just not sure that will end up playing out.
Regardless, I think the messaging should be improved here so it's clear that HOMEBREW_INSTALL_FROM_API doesn't always work for non-standard configurations

That's too bad, but here's hoping.
It does seem like the messaging or behavior could be improved, because this error doesn't really point to the root cause or solution/workaround.
When a formula won't work with HOMEBREW_INSTALL_FROM_API, should brew either:

Override the env var, clone, and continue?
Prompt the user to override the env var, if yes clone and continue?
Tell the user to unset the env var if they want to install that formula?
In any case, it sounds like brew could make that determination from the package metadata, before most of the download & install work.

Tell the user to unset the env var if they want to install that formula?

Probably this.

@MikeMcQuaid I've replicated it on a fresh Ubuntu 22.04.1 on WSL.
When Homebrew is installed in the default directory, gcc, glibc, & friends are poured.
If I explicitly ask for a build, it stops me with a useful error:
Error: Invalid usage: --build-from-source is not supported when using HOMEBREW_INSTALL_FROM_API.
I suppose I could try installing a formula without a (linux) bottle, but I don't know one offhand.
To replicate this, I had to reinstall Homebrew without sudo, i.e. in /home/jack/.linuxbrew. Therefore there is still one warning in doctor.

Fresh install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"  # Ctrl-D at sudo prompt
eval "$(/home/jack/.linuxbrew/bin/brew shellenv)"
sudo apt-get install build-essential
brew update

brew config
jack@jack-desktop:~$ brew config
HOMEBREW_VERSION: 3.6.0
ORIGIN: https://github.com/Homebrew/brew
HEAD: 93ea8cb2c40e1ef25f1489b0267526bd47bc8030
Last commit: 33 hours ago
Core tap: N/A
HOMEBREW_PREFIX: /home/jack/.linuxbrew
HOMEBREW_REPOSITORY: /home/jack/.linuxbrew/Homebrew
HOMEBREW_CELLAR: /home/jack/.linuxbrew/Cellar
HOMEBREW_CASK_OPTS: []
HOMEBREW_INSTALL_FROM_API: set
HOMEBREW_MAKE_JOBS: 4
Homebrew Ruby: 2.6.8 => /home/jack/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.8_1/bin/ruby
CPU: quad-core 64-bit ivybridge
Clang: N/A
Git: 2.34.1 => /bin/git
Curl: 7.81.0 => /bin/curl
Kernel: Linux <IP_ADDRESS>-microsoft-standard-WSL2 x86_64 GNU/Linux
OS: Ubuntu 22.04.1 LTS (jammy)
Host glibc: 2.35
/usr/bin/gcc: 11.2.0
/usr/bin/ruby: N/A
glibc: N/A
gcc@11: N/A
xorg: N/A

brew doctor
jack@jack-desktop:~$ brew dr
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Your Homebrew's prefix is not /home/linuxbrew/.linuxbrew.
Some of Homebrew's bottles (binary packages) can only be used with the default
prefix (/home/linuxbrew/.linuxbrew).
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Twitter or any other official channels. You are responsible for resolving
any issues you experience while you are running this
unsupported configuration.

brew install --debug glibc
jack@jack-desktop:~$ brew install --debug glibc
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Linuxbrew/3.6.0\ \(Linux\;\ x86_64\ Ubuntu\ 22.04.1\ LTS\)\ curl/7.81.0 --header Accept-Language:\ en --fail --progress-bar --max-time 5 --retry 3 --location --remote-time --output /home/jack/.cache/Homebrew/api/formula.json --time-cond /home/jack/.cache/Homebrew/api/formula.json --compressed --silent https://formulae.brew.sh/api/formula.json
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading glibc from API
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Linuxbrew/3.6.0\ \(Linux\;\ x86_64\ Ubuntu\ 22.04.1\ LTS\)\ curl/7.81.0 --header Accept-Language:\ en --max-time 5 --retry 3 --fail https://formulae.brew.sh/api/cask-source/glibc.rb
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading<EMAIL_ADDRESS>from API
==> Downloading https://ghcr.io/v2/homebrew/core/linux-headers/5.15/manifests/5.15.57-1
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Linuxbrew/3.6.0\ \(Linux\;\ x86_64\ Ubuntu\ 22.04.1\ LTS\)\ curl/7.81.0 --header Accept-Language:\ en --retry 3 --header Accept:\ application/vnd.oci.image.index.v1\+json --header Authorization:\ Bearer\ QQ== --location --silent --head --request GET https://ghcr.io/v2/homebrew/core/linux-headers/5.15/manifests/5.15.57-1
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Linuxbrew/3.6.0\ \(Linux\;\ x86_64\ Ubuntu\ 22.04.1\ LTS\)\ curl/7.81.0 --header Accept-Language:\ en --retry 3 --header Accept:\ application/vnd.oci.image.index.v1\+json --header Authorization:\ Bearer\ QQ== --location --head https://ghcr.io/v2/homebrew/core/linux-headers/5.15/manifests/5.15.57-1
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Linuxbrew/3.6.0\ \(Linux\;\ x86_64\ Ubuntu\ 22.04.1\ LTS\)\ curl/7.81.0 --header Accept-Language:\ en --fail --progress-bar --retry 3 --header Accept:\ application/vnd.oci.image.index.v1\+json --header Authorization:\ Bearer\ QQ== --location --remote-time --output<EMAIL_ADDRESS>https://ghcr.io/v2/homebrew/core/linux-headers/5.15/manifests/5.15.57-1
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/linux-headers/5.15/blobs/sha256:8692682830cbb1fb74bb61190b644da9de0f4c3
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Linuxbrew/3.6.0\ \(Linux\;\ x86_64\ Ubuntu\ 22.04.1\ LTS\)\ curl/7.81.0 --header Accept-Language:\ en --retry 3 --header Authorization:\ Bearer\ QQ== --location --silent --head --request GET https://ghcr.io/v2/homebrew/core/linux-headers/5.15/blobs/sha256:8692682830cbb1fb74bb61190b644da9de0f4c3a40cf18653a9b4a85bc5ce50d
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:8692682830cbb1fb74bb61190b644da9de0
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Linuxbrew/3.6.0\ \(Linux\;\ x86_64\ Ubuntu\ 22.04.1\ LTS\)\ curl/7.81.0 --header Accept-Language:\ en --retry 3 --location --head https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:8692682830cbb1fb74bb61190b644da9de0f4c3a40cf18653a9b4a85bc5ce50d\?se=2022-09-08T21\%3A05\%3A00Z\&sig=eMNpGDK827exyg\%2FRKf\%2FBKG4eCcw1bh1ojCCf8F8Nhb8\%3D\&sp=r\&spr=https\&sr=b\&sv=2019-12-12
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Linuxbrew/3.6.0\ \(Linux\;\ x86_64\ Ubuntu\ 22.04.1\ LTS\)\ curl/7.81.0 --header Accept-Language:\ en --fail --progress-bar --retry 3 --location --remote-time --output<EMAIL_ADDRESS>https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:8692682830cbb1fb74bb61190b644da9de0f4c3a40cf18653a9b4a85bc5ce50d\?se=2022-09-08T21\%3A05\%3A00Z\&sig=eMNpGDK827exyg\%2FRKf\%2FBKG4eCcw1bh1ojCCf8F8Nhb8\%3D\&sp=r\&spr=https\&sr=b\&sv=2019-12-12
######################################################################## 100.0%
Warning: Building glibc from source as the bottle needs:
- HOMEBREW_CELLAR: /home/linuxbrew/.linuxbrew/Cellar (yours is /home/jack/.linuxbrew/Cellar)
- HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew (yours is /home/jack/.linuxbrew)
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Linuxbrew/3.6.0\ \(Linux\;\ x86_64\ Ubuntu\ 22.04.1\ LTS\)\ curl/7.81.0 --header Accept-Language:\ en --retry 3 --location --silent --head --request GET https://ftp.gnu.org/gnu/glibc/glibc-2.35.tar.gz
==> Downloading https://ftp.gnu.org/gnu/glibc/glibc-2.35.tar.gz
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Linuxbrew/3.6.0\ \(Linux\;\ x86_64\ Ubuntu\ 22.04.1\ LTS\)\ curl/7.81.0 --header Accept-Language:\ en --retry 3 --location --head https://ftp.gnu.org/gnu/glibc/glibc-2.35.tar.gz
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Linuxbrew/3.6.0\ \(Linux\;\ x86_64\ Ubuntu\ 22.04.1\ LTS\)\ curl/7.81.0 --header Accept-Language:\ en --fail --progress-bar --retry 3 --location --remote-time --output /home/jack/.cache/Homebrew/downloads/329d4c5b7b38da0a5dcb652257748b77e9100bbc4771166317ac852d1376cf82--glibc-2.35.tar.gz.incomplete https://ftp.gnu.org/gnu/glibc/glibc-2.35.tar.gz
######################################################################## 100.0%
Warning: Cannot verify integrity of '329d4c5b7b38da0a5dcb652257748b77e9100bbc4771166317ac852d1376cf82--glibc-2.35.tar.gz'.
No checksum was provided for this resource.
For your reference, the checksum is:
  sha256 "3e8e0c6195da8dfbd31d77c56fb8d99576fb855fafd47a9e0a895e51fd5942d4"
==> Installing dependencies for glibc<EMAIL_ADDRESS>==> Installing glibc dependency<EMAIL_ADDRESS>==> Pouring<EMAIL_ADDRESS>tar --extract --no-same-owner --file<EMAIL_ADDRESS>--directory /tmp/d20220908-2317-1qvx09f
cp -pR<EMAIL_ADDRESS><EMAIL_ADDRESS>/home/jack/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Linuxbrew/3.6.0\ \(Linux\;\ x86_64\ Ubuntu\ 22.04.1\ LTS\)\ curl/7.81.0 --header Accept-Language:\ en --max-time 5 --retry 3 --fail<EMAIL_ADDRESS>/home/jack/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FromPathLoader): loading /home/jack/.linuxbrew/opt/linux-headers<EMAIL_ADDRESS>🍺<EMAIL_ADDRESS>963 files, 5.7MB
==> Installing glibc
Error: An exception occurred within a child process:
  FormulaUnavailableError: No available formula with the name "/home/jack/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/glibc.rb".
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:491:in `get_formula'
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:551:in `factory'
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/cli/named_args.rb:98:in `load_formula_or_cask'
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/cli/named_args.rb:57:in `block in to_formulae_and_casks'
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/cli/named_args.rb:56:in `each'
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/cli/named_args.rb:56:in `flat_map'
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/cli/named_args.rb:56:in `to_formulae_and_casks'
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/cli/named_args.rb:40:in `to_formulae'
/home/jack/.linuxbrew/Homebrew/Library/Homebrew/build.rb:224:in `<main>'

I know non-default directory isn't fully supported, but I think a useful error message is worthwhile. I'm happy to make the PR if someone can point me to where this check should go.

Note that it shouldn't be necessary to install glibc on 22.04. It's only needed on earlier versions.

I can redo that in 18, 20, or another distro, if it makes a difference. Or with some other formula with no or non-relocatable linux bottle.

Thanks for the fix @Rylan12 and for the report @jacktose. Keep the reports coming in for HOMEBREW_INSTALL_FROM_API edge-cases 👍🏻


whitelist citi.bridgetrack.com

Used by Citi Bank for online banking.

Thanks @bogusman citi.bridgetrack.com comes from mvps.org who are awesome.  Contact<EMAIL_ADDRESS>take this up with them.
Closing.


As a dev, I want the GET /inspections/<inspection_id> to return properly formatted JSON instead of a JSON string

Description
Bug Summary:
The GET /inspections/<inspection_id> endpoint currently returns a response where the JSON object is incorrectly serialized as a string. This causes issues when trying to consume the API, as clients expect the response to be a parsed JSON object, not a JSON string.
Steps to Reproduce:

Make a GET request to the /inspections/<inspection_id> endpoint.
Observe that the response contains the entire JSON payload as a string (escaped with backslashes), rather than as a properly formatted JSON object.

Expected Behavior:
The endpoint should return a properly formatted JSON object that can be directly consumed by the client without requiring additional parsing.
Actual Behavior:
The endpoint returns the JSON as a string, which requires manual deserialization to extract the data.

This will be fixed in #182.


Replace git clone --depth 1 with a full git clone and git fetch subsequently

The current method of updating the repository is possibly very inefficient as will it delete the existing repository folder and sync the whole repository at a specific point in time. Depending on the size of the repository at that time, this may result in many MB/GB of data being downloaded while a simple git fetch could have ended up downloading a very small delta.
A better repository syncing method would be to clone the whole repository and fetch changes on each subsequent update.
Here is some pseudo-code:
if (file_exists($repository) {
	git fetch
} else {
	git clone
}
 git checkout -f branch/sha1/tag

I accept PRs :)


Adding Dynamic Low-Rank Adaptation (DoRA ACL2024)

Feature request
Paper link: https://arxiv.org/pdf/2405.17357
Source code: https://github.com/MIkumikumi0116/DoRA/blob/main/Src/Finetune_And_Benchmark/Finetune_Utils.py
Motivation
When I read this paper, I found this intrigued me about enhance AdaLoRA in these quotes:

Compared to existing methods of dynamic parameter allocation (e.g., AdaLoRA), DoRA can allocate parameter budgets more appropriately based on a richer set of information from projection matrices.

Compared to previous methods (Zhang et al., 2023), we use ( |\Delta W_i|_F ) instead of ( c_i ) to assess the importance of components, thereby incorporating information from ( A_i ) and ( B_i ) for a more comprehensive evaluation of component importance.

I have checked AdaLoRA and found that there are 2 implementation in DoRA paper can be added to PEFT

Implement DEM loss in the Trainer with method compute_loss to integrate this loss into DoRA
The pruning method from DoRA to find the rank for LoRA layers

Your contribution
I'm working on reimplementing this paper, further update will be added to this issue

Thanks for bringing this paper to our attention and offering to work on the implementation. I haven't looked at the details, but wanted to mention a few things:

The change to Trainer that you mentioned would have to be added to tranformers, as PEFT itself doesn't offer any training code directly. However, if it's implemented as a callback, I could see adding that to PEFT. Otherwise, we can add a training example that subclasses Trainer for users to copy.
There is already a method called DoRA in PEFT, so we should use another name to avoid confusion.
Besides AdaLoRA, it could also be worth it take a look at the newly added EVA method, which also reallocates LoRA ranks in a data driven way.


Don't let Datasette(path) without a list cause weird errors

I got a confusing sqlite3.OperationalError: disk I/O error error in my tests, it turned out it was because this:
ds = Datasette(path)

Should have been this:
ds = Datasette([path])

Originally posted by @simonw in https://github.com/simonw/datasette-faiss/issues/1#issuecomment-1378252673

Datasette(path) should either work or it should return an easily debugged error message.


Advancement or level up spell pulled to PC's

Is there a way or could there be a way to pull all the class spells available on each level/advancement up?

Should be handled by #1540


staticpodstate: do not blip on unready containers and check the termination exit code

Avoid blip to failure=true in operator status when "not-ready" container is found in the static pod. This is usually very short period of time for each container and is not worth signaling failure via operator.
Additionally, only set failure=true when the the container is terminated due to an error (in case of graceful termination because of cert reload or something, don't report failure=true).
/cc @deads2k

/lgtm