Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Cannot upgrade libreoffice-language-pack #106790

Closed
Melebius opened this issue Jun 4, 2021 · 16 comments · Fixed by #140741
Closed

Cannot upgrade libreoffice-language-pack #106790

Melebius opened this issue Jun 4, 2021 · 16 comments · Fixed by #140741
Labels
core Issue with Homebrew itself rather than with a specific cask. help wanted outdated

Comments

@Melebius
Copy link

Melebius commented Jun 4, 2021

brew config output

HOMEBREW_VERSION: 3.1.9-121-g654c78c
ORIGIN: https://github.com/Homebrew/brew
HEAD: 654c78c2d7aec2620f006f9e5bd07ec498c32d5d
Last commit: 20 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 2075103336a75ed768517a71a72a2c5653652658
Core tap last commit: 45 minutes ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.PIoQuQsb8E/org.macosforge.xquartz:0
HOMEBREW_MAKE_JOBS: 4
Homebrew Ruby: 2.6.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/bin/ruby
CPU: quad-core 64-bit haswell
Clang: 10.0.1 build 1001
Git: 2.31.0 => /usr/local/bin/git
Curl: 7.54.0 => /usr/bin/curl
macOS: 10.14.6-x86_64
CLT: 10.3.0.0.1.1562985497
Xcode: N/A
XQuartz: 2.7.11 => /opt/X11

brew doctor output

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: A newer Command Line Tools release is available.
Update them from Software Update in System Preferences or run:
  softwareupdate --all --install --force

If that doesn't show you any updates, run:
  sudo rm -rf /Library/Developer/CommandLineTools
  sudo xcode-select --install

Alternatively, manually download them from:
  https://developer.apple.com/download/more/.
You should download the Command Line Tools for Xcode 11.3.1.


Warning: Some installed kegs have no formulae!
This means they were either deleted or installed with `brew diy`.
You should find replacements for the following formulae:
  php56-xdebug
  php@5.6
  php@5.6
  protobuf@3.7

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
  /usr/local/include/node/android-ifaddrs.h
  /usr/local/include/node/openssl/archs/BSD-x86/opensslconf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/opensslconf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/opensslconf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/opensslconf.h
  /usr/local/include/node/openssl/archs/aix-gcc/opensslconf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/opensslconf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/opensslconf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-armv4/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-elf/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-ppc/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-x32/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/opensslconf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/opensslconf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/opensslconf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/opensslconf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/opensslconf.h
  /usr/local/include/node/openssl/des_old.h
  /usr/local/include/node/openssl/dso.h
  /usr/local/include/node/openssl/krb5_asn.h
  /usr/local/include/node/openssl/kssl.h
  /usr/local/include/node/openssl/pqueue.h
  /usr/local/include/node/openssl/ssl23.h
  /usr/local/include/node/openssl/ui_compat.h
  /usr/local/include/node/pthread-barrier.h
  /usr/local/include/node/stdint-msvc2008.h
  /usr/local/include/node/tree.h
  /usr/local/include/node/uv-aix.h
  /usr/local/include/node/uv-bsd.h
  /usr/local/include/node/uv-darwin.h
  /usr/local/include/node/uv-errno.h
  /usr/local/include/node/uv-linux.h
  /usr/local/include/node/uv-os390.h
  /usr/local/include/node/uv-posix.h
  /usr/local/include/node/uv-sunos.h
  /usr/local/include/node/uv-threadpool.h
  /usr/local/include/node/uv-unix.h
  /usr/local/include/node/uv-version.h
  /usr/local/include/node/uv-win.h
  /usr/local/include/node/v8-debug.h
  /usr/local/include/node/v8-inspector-protocol.h
  /usr/local/include/node/v8-inspector.h

Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause formulae that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  qt
  php@5.6

Warning: Some installed formulae are not readable:
  php56-xdebug: cannot load such file -- /usr/local/opt/php56-xdebug/Abstract/abstract-php-extension

  php@5.6: "cxx11" is not a recognized standard

Warning: Homebrew's "sbin" was not found in your PATH but you have installed
formulae that put executables in /usr/local/sbin.
Consider setting your PATH for example like so:
  echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.zshrc

I ran brew update and am still able to reproduce my issue.

What were you trying to do (and why)?

I tried to upgrade selected casks from brew outdated using the command brew upgrade cask.... The upgrade failed for libreoffice-language-pack.

What happened (include all command output)?

$ brew upgrade libreoffice-language-pack
Error: Not upgrading 1 `installer manual` cask.
libreoffice-language-pack
$

What did you expect to happen?

The cask should be upgraded (as it did in the past) or a more descriptive message should be presented (including instructions what to do to upgrade the cask).

@SMillerDev
Copy link
Member

The cask should be upgraded (as it did in the past)

You can blame upstream for this, sometimes they change the install method and casks break.

or a more descriptive message should be presented (including instructions what to do to upgrade the cask).

As far as I know this is impossible since installer manual: just means "we can't script this install" so we wouldn't know what to do either.

@Melebius
Copy link
Author

Melebius commented Jun 4, 2021

As far as I know this is impossible since installer manual: just means "we can't script this install" so we wouldn't know what to do either.

Thank you for the reply! I am aware I’d most likely have to install the language pack manually (like before). However, I expected Homebrew to download the newer version of the installer for me, like it did with previous versions. This is currently not done using brew upgrade libreoffice-language-pack. After running it, I still get:

$ brew outdated -v | grep libreoffice-language-pack
libreoffice-language-pack (7.0.3) != 7.1.3

@cho-m
Copy link
Member

cho-m commented Jun 12, 2021

This may be due to changes done to avoid uninstalling Casks discussed in #105622
Specific Homebrew code change in Homebrew/brew#11378

@Melebius
Copy link
Author

Specific Homebrew code change in Homebrew/brew#11378

Thank you for the link, @cho-m! (I had seen the other issue before but not this one.) The mentioned change added the error message I am experiencing. However, LibreOffice Language Pack (LLP) works differently than battle-net as described in #105622. The LLP cask provides an installer that just modifies LibreOffice.app and then can be safely removed or replaced (upgraded).

I discovered a workaround – I downloaded the upgrade of LLP successfully by issuing:

brew reinstall libreoffice-language-pack

So I think the same action could be still done in brew upgrade as it used to be. (Moreover, the command could automatically launch the GUI installer of LibreOffice Language Pack instead of just writing its location but that’s another story.)

I am not an expert in Homebrew internals but I think the installer: manual definition should be removed from the LibreOffice Language Pack cask or replaced with a more appropriate one since its meaning changed due to Homebrew/brew#11378.

@github-actions
Copy link

github-actions bot commented Jul 6, 2021

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

@github-actions github-actions bot added the stale Issue which has not received any feedback for some time. label Jul 6, 2021
@Melebius
Copy link
Author

Melebius commented Jul 9, 2021

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

The problem has not been corrected yet (checked by issuing brew upgrade libreoffice-language-pack now), so this issue is not ready to be closed.

@github-actions github-actions bot removed the stale Issue which has not received any feedback for some time. label Jul 9, 2021
@cho-m cho-m added core Issue with Homebrew itself rather than with a specific cask. help wanted labels Jul 15, 2021
@alexs77

This comment has been minimized.

@uselpa

This comment has been minimized.

@ricounet67

This comment has been minimized.

1 similar comment
@mentastic

This comment has been minimized.

@SMillerDev
Copy link
Member

We don't need anyone to confirm this, we know this happens. Unless someone fixes this somehow, it'll stay this way too.

@bevanjkay
Copy link
Member

Preferentially I would say that this is the desired behaviour until there is a --allow-gui or similar switch (#24377). My primary concern is that brew upgrade will first uninstall the cask, so if you forget to run the installer the cask is no longer installed as brew will "succeed" as long as the download is successful.

Perhaps in the interim we could add some output to the Error: Not upgrading 1 installer manual cask. output to reference using reinstall instead.

@Melebius
Copy link
Author

Melebius commented Jan 1, 2022

Thanks for your reply, @bevanjkay, but I am not sure you are aware of how libreoffice-language-pack (LLP) actually works. Please read my previous post carefully as I think it answers your concerns.

Preferentially I would say that this is the desired behaviour until there is a --allow-gui

Yes, adding such a switch could improve the way LLP is installed using Homebrew. However, I’ve said I don’t want to discuss such a change in this issue. The actual problem is that currently brew install libreoffice-language-pack is able to download and unpack LLP (without installing it which would require GUI) while brew upgrade refuses to do the same (with a newer version).

My primary concern is that brew upgrade will first uninstall the cask, so if you forget to run the installer the cask is no longer installed as brew will "succeed" as long as the download is successful.

LLP is just an installer app containing a script to modify LibreOffice.app. It is OK to replace LLP with a newer version (proven by using brew reinstall libreoffice-language-pack). When you run brew upgrade libreoffice successfully (i.e. replace the contents of LibreOffice.app), you get the current LibreOffice version without LLP installed. The current Homebrew behavior does not help you to ensure keeping a localized LibreOffice.app in any way.

AFAIK brew upgrade libreoffice-language-pack used to succeed (and brew reinstall libreoffice-language-pack does succeed) when it downloads the current version of LLP and prints the notice to install it manually. I find this the best option as far as GUI is not allowed and LLP maintainers don’t provide a scriptable solution.

Perhaps in the interim we could add some output to the Error: Not upgrading 1 installer manual cask. output to reference using reinstall instead.

This would be slightly better than the current state but not as good as restoring the previous upgrade functionality. Moreover, this would still mean we could not upgrade all installed casks using brew upgrade.

@muescha
Copy link
Contributor

muescha commented Mar 15, 2022

i was also surprised that the upgrade not work anymore on libreoffice-language-pack :(

Error: Not upgrading 1 installer manual cask.

This error message gives me no hint what is wrong with it and i even need to google for an explanaition of the error message, because i never seen this with brew before.

at least it would be helpful if it would print out a help text (which is in the cask definition file) and i see a "solution" how to get things done.

in this example:

hint: cask libreoffice-language-pack can not upgraded, use brew reinstall --cask libreoffice-language-pack instead

@muescha
Copy link
Contributor

muescha commented Feb 9, 2023

the last language packs I was able to install direct? what is changed since then?

@adidalal
Copy link
Contributor

adidalal commented Feb 9, 2023

@muescha I simply added a note similar to your last comment in the cask itself - so it will show up during install for the users

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 12, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
core Issue with Homebrew itself rather than with a specific cask. help wanted outdated
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants