-
-
Notifications
You must be signed in to change notification settings - Fork 127
make the update script work on macOS #349
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
base: master
Are you sure you want to change the base?
Conversation
macOS users run into the following issues when trying to install Skyscraper: • They may have skipped over the need to install the `qt5` and `wget` Homebrew packages • BSD `tar` does not support `--overwrite`. It also doesn't need it, as it overwrites by default • BSD `rm` doesn't support `--force`, but `-f` should work across all platforms • `make clean` won't work if this is the first time you're fetching Skyscraper, as no `Makefile` exists yet to define the 'clean' target • `qmake` will treat the `VERSION` file as source and fail on the invalid syntax of its contents • A sudden prompt for a password might be confusing or concerning The `update_skyscraper.sh` script has been updated to address these things while retaining compatibility with non-macOS systems. The following changes have been made: • Each step of the update process has been moved into its own function • `qmake` and `wget` are looked for in PATH before proceeding • The `tar` command will conditionally add `--overwrite` whenever a non-macOS system is involved • `rm --force` has been replaced with `rm -f` • `make clean` is not performed unless `Makefile` exists • `VERSION` has been renamed to `VERSION.txt` • A note is echoed to STDOUT about it being the installation's use of `sudo` that may require a password. The following things should NOT need to be done by macOS users: • Installing GNU tar on macOS • Changing the Qmake defaults away from clang to gcc
|
Hi, |
- use 'VERSION' as the version file's name - on macOS systems, rename 'VERSION' to 'VERSION.bak' temporarily to prevent build issues with `make`, which evidently evidently treats 'VERSION' files as source
Hi @muldjord, Sure thing, I have gone back to The problem is that Also... now that I am able to get Skyscraper working on my macOS system, I am really enjoying it. Thank you very much for such a great product! |
|
Hmm, I think the reason Perhaps digging into the makefile qmake creates can help figure out what's going on. |
|
@muldjord It looks like the Qmake project file directly does an I dug into this one a little further. We wouldn't have to rename or temporarily move the If I make this change to the contents of - VERSION=1.2.3
+ VERSION="1.2.3"then everything works. |
|
That makes perfect sense. I will make that change. Thanks for looking into it. If you can then adjust the PR to not worry about the VERSION file, then I could test that also. Thanks. |
|
I apologize, @muldjord - it seems that my earlier conclusion about simply using quotes was incorrect. They don't hurt anything, but they don't make things work. When testing from scratch, I am still running into errors getting I then tried changing With those changes, the For now it seems that we must do one of the following:
I'll let you know if I come up with any other ideas. |
|
Here is some more information about why the existence of the
That include lights up the following chain of includes:
On macOS, the filesystem is case-insensitive by default. Therefore the I can currently think of the following 4 ways around this problem:
|
|
Using the forked script in this PR seemed to allow things to install properly, but no artwork is being generated for any platform on an M1 Mac running Ventura. |
macOS users run into the following issues when trying to install Skyscraper:
- They may have skipped over the need to install the
qt5andwgetHomebrew packagestardoes not support--overwrite. It also doesn't need it, as it overwrites by default- BSD
rmdoesn't support--force, but-fshould work across all platformsmake cleanwon't work if this is the first time you're fetching Skyscraper, as noMakefileexists yet to define the 'clean' target-
-makewill treat theVERSIONfile as source and fail on the invalid syntax of its contents- A sudden prompt for a password might be confusing or concerning
The
update_skyscraper.shscript has been updated to address these things while retaining compatibility with non-macOS systems.The following changes have been made:
- Each step of the update process has been moved into its own function
qmakeandwgetare looked for in PATH before proceedingtarcommand will conditionally add--overwritewhenever a non-macOS system is involvedrm --forcehas been replaced withrm -fmake cleanis not performed unlessMakefileexistsmakeunder macOS,VERSIONgets temporarily renamed toVERSION.bak• A note is echoed to STDOUT about it being the installation's use of
sudothat may require a password.The following things should NOT need to be done by macOS users:
resolves #301