Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#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)

sqliteman.icns (55.0 KB) - added by tvb377@… 13 years ago.
PkgInfo (8 bytes) - added by tvb377@… 13 years ago.
Info.plist (1000 bytes) - added by tvb377@… 13 years ago.
sqliteman-Portfile.diff (1.8 KB) - added by tvb377@… 13 years ago.
this patch uses makeicns instead of premade icns file

Download all attachments as: .zip

Change History (10)

Changed 13 years ago by tvb377@…

Attachment: sqliteman.icns added

Changed 13 years ago by tvb377@…

Attachment: PkgInfo added

Changed 13 years ago by tvb377@…

Attachment: Info.plist added

comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to ryandesign@…
Status: newassigned
Summary: sqliteman: install as app bundlesqliteman: install app bundle
Type: defectenhancement

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.

comment:2 in reply to:  1 ; 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 in reply to:  2 ; Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

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: closedreopened

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: reopenedclosed

Oops, thank you for noticing that important detail. Fixed in r82474.

comment:6 in reply to:  3 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!

Note: See TracTickets for help on using tickets.