Pass Arguments to Package Maker Contents Install Destination from Command line (Terminal) - macos

I am using Mac 10.8 and latest version of Package Maker. My product destination path (Install Location) contains our Product version.
Eg. Test/1.1.0.1/Sample.
We have planned to automate the process. We will increase the build number in each automation. So I need to change the Version number in destination path in every automation. I am using below command to make the Packages using Terminal.
PackageMaker –v –d Test.pmdoc –o TestSample.pkg
Is there any option to pass the version number from this argument? Shall we implement this using a preinstall script? Please provide same samples if any option from Preinstall Scripts, since I am new to shell scripts. Please help me to solve this issue.

Personally I found it much easier to do this:
copy the package folder from a common location (ie /project-redist-master)
modify package contents as desired (see below)
create package
If you need more personalization, for example the version number somewhere inside the package, I found it most convenient to simple search & replace strings. For example you could write ___PROJECTVERSION___ to any text or resource file (ie pmdoc) where the version number is used. Then, before creating the package, run a little tool (bash script, personally I prefer writing Cocoa command line tools) that searches and replaces such placeholder strings. That tool would also get the version string from somewhere, for example a version.h header or the changelist number from source control.

PackageMaker always was buggy has hell, and got deprecated with Mac OS X 10.6 Snow Leopard.
I recommend to use pkgbuild together with productbuild.

Related

Clarify how installing Bazel on windows works?

So I'm following the install instructions for Bazel 2.0, and basically it seems like all I have to do is download the ".exe" file, add it to the path, and then I can use it from windows powershell (probably bash too, although I haven't tried). What I want to know is - does the ".exe" file do any manipulation of my system (outside of the obvious compiling work) or download anything else under the hood? I ask because I want to try it out while working on a restricted computer system, as I'm sure some of you have encountered before.
It will extract itself into the location where it also (unless configured otherwise) keeps its build output. By default this would be under current user's home directory. The location can be changed with --output_user_root parameter or TEST_TMPDIR environmental variable. You can check out the docs for more detailed description.
Adding to Ondrej K.'s answer:
Yes, you just download the .exe and add it to your PATH. Do not run it from Bash though, because it's broken. (I'm linking to the documentation at master as of 2020-02-28 and as of 2.1.0 being the most recent version. The current master will become the release doc for 2.2.0.)
Yes, Bazel will download stuff. This includes tools for the languages you build (e.g. Java), and also external dependencies of the project.
Yes, Bazel will write to disk even if you just run it once: as Ondrej K. wrote, it will extract itself to a directory.
Do not set TEST_TMPDIR to tell Bazel where to run. Setting this envvar will make Bazel believe it's running inside a test, and it will significantly reduce its resource use and change its behavior in subtle ways you probably don't want. (If you want to limit its resource use, you can do so with several flags, see --jobs and --local_ram_resources, --local_cpu_resources.)

its possible install telegram-cli in windows

Is it Possible to install telegramcli in Windows?
I want to compile .exe file.
this source run in ubuntu but not worked php shell
First of all, the binary is now in ./bin folder and is named telegram-cli. So be careful, not to use old binary.
Second, config folder is now ${HOME}/.telegram-cli
Third, database is not compatible with older versions, so you'll have to login again.
Fourth, in peer_name '#' are substitued to '#'. (Not applied to appending of '#%d' in case of two peers having same name).
You can use Cygwin to compile the original source code into telegram-cli windows binary.
Follow this guide (official): https://github.com/vysheng/tg/blob/master/README-Cygwin.md

Mac OS X: ask for configuration during pkg install

I used Packages to create a.pkg installer for a Mac OS X LaunchDaemon.
During install, I would like the user to be able to provide a few values for the configuration file. The resulting file is a simple text configuration file which will be sourced by a shell script when it is run.
Is there some tool that would make it easy to create a fill-in form with a few text fields? This would be presented to the user during install, and then save the values provided (or make them available to a postinstall shell script).
If there is no such tool, I guess I could do it with the shell and a few reads in a Terminal. But in that case, how to start that interactive shell script from my postinstall script?
Not sure, you can do it with the Distribution.dist XML file. It is JavaScript, but I have not looked though the definitions, since it comes out all garbled on my current version of Safari.
The easiest would be to create a small applications dialog run from the script, which you have full control over.

how to add to PATH variable in OSX

I'm going to try building a custom language extension for Komodo Edit.
In order to build an xpi file, I need to add something to the PATH variable.
I'm not really familiar with the command line, so I'm not 100% sure how to do this.
I started by created an empty .profile file in my user directory.
Can I add modify that in a text editor to do what I need to do?
Here's the instructions I'm trying to follow.
http://community.activestate.com/forum/introduction-building-komodo-extension
Here is how packing up the Mako UDL into a Komodo extension works. Komodo includes a SDK in its install tree. On Linux and Windows this is found at "installdir/lib/sdk", and for a Mac it's found at "komodo.app/Contents/SharedSupport/sdk". That SDK includes a koext helper tool in the /lib/sdk/bin directory:
Put the SDK bin dir on your PATH and you should be able to run koext at the command line. Similar to tools like cvs or svn, these are tools with multiple sub-commands.
Something like that should be helpful
http://www.tech-recipes.com/rx/2621/os_x_change_path_environment_variable/
export PATH=/ANYTHING_YOU_ARE_WORKIN_ON/bin:/opt/local/bin:/opt/local/sbin:$PATH export

How can I test my vim plugin?

Hi guys : I recently (accidentally) removed all folders/files from my .vim folder in mac os x (home directory).
I am trying to add in the Clojure Vim plugin (VimClojure) - its simply a folder which you are supposed to "drop into .vim/plugins".
I have added it, but I don't see any changes to the syntax highlighting when I launch vim. I'm not sure wether vim "sees" the plugin or not.
I'm on OS X .
Any ideas on how to debug the plugin ? In particular
1) How does VIM look for plugins ?
2) Are there files which need to be in $HOME/.vim/ ?
3) Is it sufficient to simply dump the unzip a new plugin file into $HOME/.vim/plugins when installing a standard vim plugin ?
Thanks
About debugging: in order to see whether vim has loaded your plugin you can use :scriptnames and also breakadd file /path/to/your/plugin (or breakadd file *your_plugin_name.vim: I never used absolute paths so I do not know what breakadd will do in this case). Other questions:
Described in :h initialization, precisely :h load-plugins.
Vim does not need any files at all (except vim executable, used shared libraries, dynamic linker and the kernel of course).
Follow installation instructions. Normally plugins are either extracted to ~/.vim or distributed as a singe file that should go to either ~/.vim/plugin (no s!), ~/.vim/colors, ~/.vim/ftplugin or such. I guess you should try to extract it to ~/.vim/plugin, but if archive contains some special directories like plugin/, ftplugin/, colors/, after/ (see /usr/share/vim/vim73 for a list) it is likely that it should go to ~/.vim. Also consider using vim-addon-manager, if plugin was posted on vim.org VAM is likely to be able to install it.
A few points.
How does vim look for plugins? See :help startup so see where and when vim looks for files to load.
Not really. Anything there is just personal customization. Vim will run fine without a .vim folder.
That all depends on the plugin. It sounds to me like the VimClojure plugin may be a little misleading. Do you have a link to the source you are using?
In any case, the first step I always take when attempting to debug a script is check the output of :scriptnames. This command will show you what scripts vim has loaded for the current session. If you see none of the files shipped with VimClojure, you probably made a mistake during the installation.
Another tip is that you really should look in to using a plugin manager such as vundle or vim-addon-manager, or at least the runtimepath manager pathogen. This seems to be the way of the future for vim configuration these days and it makes installing and managing plugins much easier. They also help to keep your .vim folder clean and organized.
The VimClojure directory should either be extraction on top of your .vim folder, or in a bundle folder if your using something like pathogen (which you should!). If you're starting from scratch, consider starting with vimclojure-easy (not to toot my own horn) which is a basic, full install of VimClojure with instructions.

Resources