#30756 closed enhancement (fixed)
sqliteman: install app bundle
Reported by: | tvb377@… | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.1 |
Keywords: | haspatch | Cc: | |
Port: | sqliteman |
Description
sqliteman did not install as an app bundle.
The following Portfile patch manually creates an app bundle together with the files to be installed into files_dir.
I could not figure if there is a more elegant way to make an app bundle from this software.
At least it seems to work the way I implemented it.
Attachments (4)
Change History (10)
Changed 13 years ago by tvb377@…
Attachment: | sqliteman.icns added |
---|
Changed 13 years ago by tvb377@…
Changed 13 years ago by tvb377@…
Attachment: | Info.plist added |
---|
comment:1 follow-up: 2 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from macports-tickets@… to ryandesign@… |
---|---|
Status: | new → assigned |
Summary: | sqliteman: install as app bundle → sqliteman: install app bundle |
Type: | defect → enhancement |
comment:2 follow-up: 3 Changed 13 years ago by tvb377@…
Replying to ryandesign@…:
The problem with this is it will no longer install into ${prefix}/bin, where all existing users are expecting to find it.
Even though there's nothing installed which one could reasonably expect to find?
It's only message catalogs and icons.
As an example, also qt4-creator-mac installs everything into /Applications/MacPorts.
Changed 13 years ago by tvb377@…
Attachment: | sqliteman-Portfile.diff added |
---|
this patch uses makeicns instead of premade icns file
comment:3 follow-up: 6 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Replying to tvb377@…:
Even though there's nothing installed which one could reasonably expect to find?
It's only message catalogs and icons.
sqliteman @1.2.2_0 installs the program ${prefix}/bin/sqliteman. That is where existing users of the port expect to find the program. It is in fact useful to run sqliteman on the command line; for example, it can report its version number:
$ /opt/local/bin/sqliteman -v Sqliteman 1.2.2
Therefore while I agree there should be a way to launch this program from the Finder via an icon in applications_dir, I maintain that sqliteman should remain in ${prefix}/bin so that users can also access it easily from the command line. I implemented your request in r82472 in the way I described, the same way I've done it for many other ports. See also #30759 in which I hope to make this more streamlined and consistent in the future.
comment:4 Changed 13 years ago by tvb377@…
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Thanks for the rework!
However, please specify correct symlink name:
--- Info.plist.in.org 2011-08-14 13:34:04.000000000 +0200 +++ Info.plist.in 2011-08-14 13:34:14.000000000 +0200 @@ -5,7 +5,7 @@ <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleExecutable</key> - <string>sqliteman</string> + <string>Sqliteman</string> <key>CFBundleIconFile</key> <string>sqliteman.icns</string> <key>CFBundleIdentifier</key>
comment:5 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Oops, thank you for noticing that important detail. Fixed in r82474.
comment:6 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to ryandesign@…:
See also #30759 in which I hope to make this more streamlined and consistent in the future.
The new app portgroup has been created and sqliteman has been updated to use it. Much simpler!
The problem with this is it will no longer install into ${prefix}/bin, where all existing users are expecting to find it.
We typically let the program build and install into ${prefix}/bin as normal, then in post-destroot, create an app bundle and a symlink inside it pointing to the binary in ${prefix}/bin.
We also typically use the makeicns program (from the makeicns port) to make an icns file out of a png included with the project, if available, rather than distribute the port with a prebuilt icns file which is much larger.