atErik / PortableAppsOSX64

Tools & Scripts To Run macOS App As macOSX Portable App. Used For ‟Portable AppName OSX-64.app” Bundle. Run It From Portable/Internal Drives, Or Run Multiple Instances Of Same App. Developing. New Tools/Scripts Can Also Be Adapted To Run Other Older-‟Portable OS X Apps”.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

<style type="text/css"> /*
Skip this Paragraph or Scroll-down to see main content of README.md,
or Press/Tap on "View all of README.md".
If this Line/Paragraph/<style>..</style>-CSS-Block is Shown On This README.md,
Then GitHub Disabled Usage Of <style>-CSS HTML Tag/Command for all GitHub users!
It Appears That, To Support "GitHub-Pages"-Hosting/DEAL$/…/… GitHub,… Disabled
CSS, JS, etc Here, & Directing Users To Use "GitHub-Pages" For CSS/JS/etc.
But We Need Freedom of Basic-CSS Here, As it(<style>) Helps Developers/Users To
Define Simple CSS To Present/Show Distinct-Contents Distinctly+Accurately.
GitHub Already Applying Filtering/Restrictions On HTML Commands, So Contact
GitHub-Support & Request Them To Unblock+Enable Essential Function(s), Tell
@github/support To Apply Filtering Also For CSS/JS Commands Inside "<STYLE>"
& "<SCRIPT>" Commands, to AtLeast Allow (safer) CSS & JS With Limited/Restricted
Functionalities/Abilities, like: Element+Text Coloring, Positioning, Width/Margin/
/Padding/Height/etc Controlling, etc,etc.
We/Devs/Users also need basic PHP or markdown-based-Template support, to repeat or
include common paragraphs/sections/template/data in other files, or else we have to
repeat the task of editing all files just for a simple/tiny change.
For This README.md Page, Few Txt/inl/Blk/etc Element’s Style(Look/Appearance/etc)
OverRiding CSS Rules Are Defined Below:
BEGIN CSS RULES:
Square Boxes:
*/ .PAosx64-50{ float:left; position:relative; width:30%; padding-bottom:30%; margin:1.66%; overflow:hidden; } /*
Content inside SqrBox:
*/ .PAosx64-51{ position:absolute; height:80%; width:90%; padding:10% 5%; } /*
Table For Vertical Allignment:
*/ .PAosx64-52{ display:table; height:100%; width:100%; } /*
Cell in Vert Tbl:
*/ .PAosx64-53{ display:table-cell; vertical-align:middle; height:100%; width:100%; } /*
No-Border:
*/ .PAosx64-70{ border-collapse:collapse; border-spacing:0px; width:100%; border-style:none; border:none; border-width:0px; margin:0px; padding:0px;} /*
Table-Cell-Border for Borderless-Table:
*/ .PAosx64-70 td,.PAosx64-70 tr td,.PAosx64-70 th,.PAosx64-70 tr th,.PAosx64-70 tbody td,.PAosx64-70 tbody tr td,.PAosx64-70 tbody th,.PAosx64-70 tbody tr th,.PAosx64-70 theader td,.PAosx64-70 theader tr td,.PAosx64-70 theader th,.PAosx64-70 theader tr th,.PAosx64-70 tfooter td,.PAosx64-70 tfooter tr td,.PAosx64-70 tfooter th,.PAosx64-70 tfooter tr th{ border-collapse:collapse; border-spacing:0px; border-width:1px; border-style:solid; border-color:gray; margin:0px; padding:3px; } /*
Border-1:
*/ .PAosx64-81{ border-width:1px; width:100%; margin:0px; padding:0px; } /*
Top & Bottom Border Without Sides:
*/ .PAosx64-82{ border-width:1px; border-width-top:1px; border-width-bottom:1px; border-width-left:0px; border-width-right:0px; width:100%; } /*
Only Bottom Border:
*/ .PAosx64-83{ border-width:1px; border-width-top:0px; border-width-bottom:1px; border-width-left:0px; border-width-right:0px; width:100%; } /*
Only Top Border:
*/ .PAosx64-84{ border-width:0px; border-width-top:1px; } /*
Top & Both-Side Border:
*/ .PAosx64-85{ border-width:1px; border-width-bottom:0px; } /*
No Top Border:
*/ .PAosx64-86{ border-width:1px; border-width-top:0px; } /*
Align Center:
*/ .PAosx64-TAC{ text-align:center; } /*
END of CSS STYLEs: */ </style>

PORTABLE APPS OS X 64

Portable Apps for MacOSX-64 is a (Set of) Scripts/Tools Which Allows To Run Apps (i.e: Mozilla’s "Firefox.app") for macOS As A macOSX-64 Portable App, & Also Allows To Run (Second/Third/)Multiple Instances Of Same App, in macOSX. (View this repo/project on GitHub).

So We Are Including 64bit Pashua dialog, 64bit Platypus, etc etc Tools To Assist In Executing/Running macOS (64bit) Apps Either As Portable App Or As Multi-Instance Of Same App, & To Run Our Apps Either From Portable/External Drive/Disk Or Run From Mac’s Internal-Drive, & To Run Our Apps On Both 64bit-Only macOSX (Catalina & macOSX after it) And also 64bit+32bit macOSX (Mojave & macOSX before it).
The Newer ‘Script’/Tool That We Are Building Can (Also) Be Modified/Adapted To Use With Other “Portable Apps for OSX 64” (Under This Project), And Can Also Be Used With Older “Portable Apps for OSX” (from another developer’s project “FreeSMUG”/“osxportableapps”).
FreeSMUG/osx-pa based older Portable-Apps cannot run on 64-bit-only macOSX (Catalina or macOSX after it) because Apps were not built with completely 64bit compatible codes/tools)
For Windows based “PortableApps”, checkout another developer’s project: https://GitHub.com/PortableApps
By the way, not-all but some Windows Apps Can Be Run On macOSX By Using : “Wine”, “Wineskin”, “WineBottler”, “PlayOnMac”, etc.
Not-all but many many Unix/BSD/Linux/etc based tools/apps can be built from source-code (and some binary/executable tools can also be downloaded) on your macOSX Mac computer, by using these package-management tools:
MacPorts” (Be warned: “MacPorts” requires admin/sudo privileged access),
HomeBrew” (click on “Assets” below a release, then click on “brew-*.tar.gz” to download). (ByTheWay, Be Warned of Violation of Privacy-Rights by “HomeBrew” project & “Google” : HomeBrew (by-default) uses Google engines/APIs/etc, & Google stores+records+collects your ALL download/usage patterns/profile, private-info, etc near-ForEver).
PA = pa = Portable App.

 
Portable-Apps-OS-X-64: ¦ F ¦ Portable Firefox OSX64 ¦
Content/Index List: ¦ Intro ¦ Build/Run-Tools(for-Devs) { Portable-Apps-OS-X-64 ¦ Xcode ¦ Swift ¦ Platypus ¦ Pashua } ¦ Pre-Build(for-Devs) { PB-1 ¦ PB-2 ¦ PB-3 ¦ PB-4 ¦ PB-5 } ¦ Build(for-Devs) { B-1 ¦ B-2 ¦ B-3 ¦ B-4 } ¦ Post-Build(for-Users) ¦ Run/Execute/Test ¦ Errors ¦ Help-To-Build ¦ Extra-Notes { Load Folders Under RootFolder ¦ Show All Files Folders ¦ Related Unicode Chars ¦ Verify File Authenticity ¦ CodeSign } ¦ Abbreviations ¦ License(s) ¦
macOSX Catalina version is 10.15.x (mostly 64bit-only)
macOSX Mojave version is 10.14.x (64bit+32bit)

BUILD TOOLS & EXECUTION/RUN TOOLS (for DEVELOPERs):

We use (mentioned in below) tools to build our binary executable, & we also use (mentioned in below) tools to assist our-project tool during execution, & for executing the App either as portable app or as multi-instance of same app.
Note: Verify files/apps after download. And download only when download url/website begins with “https”.
If you only-want to USE built Apps, & do not want to completely compile/build, then go directly into App sub-dir/sub-folder, shown here & obtain *-OSX-64.dmg (or *-OSX-64.tar.gz or *-OSX-64.zip) file release, and FOLLOW “POST-BUILD (for USER)” instruction shown on “Portable-AppName-OSX-64” page, to know what else you have to get & do.
Some items/files/components we may-not or cannot be directly included inside in some of the built+shared App archive (*.dmg,etc) file. Either because of License/proprietary restrictions or to provide you/USER more Security/Privacy: ( Some files/components should not be provided by someone-else, as it may have pre-fixed (or trackable) IDs/numbers/settings, etc or it has some restriction(s), So it is better+safer to load/install (those specific components) on your side, (to get your own & different IDs/numbers/etc). And some IDs/numbers inside some items/components need-to-be or should-be anonymized/randomized, to provide more Privacy/Security to USER, those are/will-be done & pre-included by us, and All of such matters/modifications are mentioned in that App’s page.

Portable Apps OSX 64:
Script(s)/Tool(s), Config(s)/Settings, etc For “Portable-Apps-OS-X-64” (this project) are released with following License(s) + Restrictions + Permissions:
GNU General Public License Version 3 (GPL v3)
Do Not Use This To Kill/Harm/Violate (or Steal-from)(Any) Human/Community,Earth,etc
Copyright © 2020 Erik T Ashfolk (<atErik@ÖυťĹöōķ·ċōm; atErik@AśhFölķ·ćōm> Do Not Copy Eml-Adrs, Type In English/Basic-Latin Char, No Soliciting Permitted). All rights reserved.
(All other trademarks, etc cited here are the property of their respective owners.)
(All other copyright items cited here are the copyright of their respective author/creator.)

Xcode:
Xcode is released by Apple. It includes complete toolset for developing Mac/macOS, iPhone/iOS, etc, IDE (GUI) for building Apps,etc, iOS simulator, source-code management, Frameworks & Tools, Command-Line-Tools(CLT), etc, etc, etc, etc.
At currrent stage of this project, we will-be/are using only/mostly Command-Line-Tools (CLT) portion of Xcode. CLT includes: SDK frameworks & headers, compiler (gcc, LLVM, etc), Linker, Make, etc etc.
to install Xcode-CLT, run this command in Terminal window:
  xcode-select --install
or, Visit Apple Dev site (and create a “free” account) & obtain only Xcode-CLT portion (not full Xcode), for now:
  https://Developer.Apple.com/downloads
Command Line Tools for Xcode 11.5(dmg file, 260.4 MBytes) (May-20, 2020) has MD5:5620d026d2313934cdfee2499c10ccc4, SHA1:23943d6eaccdec9290077457252132707298210f, SHA256:4a6210962fe568d871e2b51ceb8836930031f432a8e1a7ec2e98f64768f87c79.
To get a sense on size of FULL Xcode: Xcode 11.5 (xip file, 8.12 GBytes) (May-20, 2020) has MD5:65a84fa871855af4f369fe643fe278e0, SHA1:4654b261841d0336cb90ea1c82d15fd7aa03c982, SHA256:a5568ae0d30d9d3be94416dbd1aa3a26f23ca5d937c4b9895913cda1b18ceea4.

Swift:
Swift is released by Apple. Its a programming language, etc (to build Apps, etc). Since v2.2 it is released as open-source. It provides Swift related LLVM compiler & related toolchains, frameworks & headers, etc to Xcode.
At currrent stage of this project, we may/will-be/are using Swift Toolchain:
Swift: v5.2.4 Toolchain (pkg file, 599.4 MBytes) for Xcode 11.5 (May-20, 2020) has MD5:9da44d83095e17cbcde46691af5a043b, SHA1:ddd4ee0cb0dc640121680606e203c809eec854ab, SHA256:ba409649620129375e014c4753a6f802fb94e46ee833dbf917111e593342ddfc.

PLATYPUS:
Older "Portable AppName.app" bundle is created/packaged by using the Platypus script wrapper (aka Platypus App builder) from http://sveinbjorn.sytes.net/platypus
New website: https://Sveinbjorn.org/platypus
GitHub: https://GitHub.com/sveinbjornt/Platypus
Platypus is licensed under BSD-3-clause, & Platypus (v5.3 & later version) seems to be able to generate 64bit-only compatible app bundles, but it does not (digitally) sign or provides any option to sign the generated app bundle, So it seems, only Admin level privileged user can use+run Platypus generated apps in 64bit-only macOSX(Catalina & macOSX after it), and (it appears v5.3 & later version generated) apps can also be run/used in 64bit+32bit supported macOSX(Mojave & macOSX before it) by a less privileged user.
To wrap an App for macOSX Mojave & before it, use v4.9. Zip file is 1.7 MBytes, MD5:076f27017fde028948fe560dd7457b71, SHA1:490107b5da6f16cfe7d64692b1699905c3eba960.
To wrap an App for macOSX Catalina & after it, use v5.3 & later. v5.3 zip file is 3.3 MBytes, MD5:51ebf430b45529a7dd891b8d6cd80517, SHA1:dacaf4b6f9309f4abff3f453ea31fe0edf74dd05.

PASHUA:
Pashua dialog uses completely 64bit compatible codes, so it seems to be a good choice for now (as a ‘dialog’/interaction assistor), (and its licensed-under BSD-3-clause), Check here:
Website: https://www.BlueM.net/en/projects/pashua/
Github: https://GitHub.com/BlueM/Pashua
We have to use Pashua or similar, because older “Portable OSX Apps” (from “FreeSMUG”/“osx-pa”) do not include 64bit dialog/interaction software/tools, So cannot be run/executed on 64-only macOSX (Catalina or after it).
Pashua(dmg) v0.11 file has 1.8 MBytes, MD5:7492da10f78dde4833264eebbda9c210, SHA1:bcc843a1f889ff779a6b6acc1b90a27b72f040f5.
( PA = pa = Portable App )
Goto Top or Index

PRE-BUILD (for DEVELOPERs):

BRING TOGETHER BUILD-RELATED ITEMS/OBJECTS,ETC (PREPARATION):

Here, We use “OSX” or “OSX-Old” (and Not-“OSX64”) in-the-End of a Folder/Directory NAME to indicate, that this Folder/Dir is for an older PA app (that was likely obtained from “OsxPortableApps”/“FreeSMUG” site) & its not-compatible with 64bit-only macOSX (Catalina & macOSX after it),
and, We use “OSX64” at-end of a Folder/Dir NAME (i.e: PortableOSX64App or “PortableAppName-OSX64” or “PortableAppName-OSX-64” etc) to indicate, this is where we will use this-project & this is where we will work + create/build our App that will/can run on both: 64-bit-only macOSX (Catalina & macOSX after it) & also on 64bit+32bit based older macOSX (Mojave & macOSX before it).

PB-1: Suppose, We are working-on/building this project from below (example) folder:
"/System/Volumes/Data/Projects/Portable-Apps-OS-X-64/"
Above folder can also be accessed in this shorter way in (Catalina or) macOS (after it):
 "/Projects/Portable-Apps-OS-X-64/"
Follow Create Folder(s) Under RootFolder section for macOS Catalina or macOS after it.
( Another option is to create a build/developement related folder “PA-OSX64” inside your own userspace:
"/Users/MyUserName/MyProjects/PA-OSX64/" )
( PA = Portable App )
Note: To Devs, You Must Create Duplicate-Files For “LICENSE” & “README.md” File(s), & Duplicates Must Have Different FileNAME : For Any Item(Program / Script / Tool / License / ReadMe file, etc) Under This Project/Repo, (If Not Done Already/Yet), Devs/You Need/Have To Add A “ReadMe” & A “License” File, You May/Can Do That In This Way : Use GitHub To Choose & Add Your Choice Of "LICENSE" Type & File, Then Goto RAW View (Page/Mode/Button), Copy & Paste That (RAW)-Info/Content Into Another NEW (Text) File With Such File-Name: "LICENSE.<License-Type/NAME-&-Version>.<Software/Script/Program/Tool-NAME>.txt" (i.e: "LICENSE.MPL-2.0.Firefox.txt"). And You Also Need/Have To Create Another NEW File To Duplicate The Content Of “README.md”, It Will Be A Backup “ReadMe” File, But It Must Have A Different FileNAME: "README.<Software/Script/Program/Tool-NAME>.md" (i.e: "README.Firefox.md").
This Will Allow To Clearly Show+Include : Which App Has What “LICENSE” File, & Which App Has What “ReadMe” File, & This Will AVOID The Problem Of OVERWRITE/DISCARD Of Same Named “LICENSE” File(s) Or Same Named “README.md” File(s), When Multiple Different-Project's Tool / Script / Program / License / README, etc Are (Or Will Be) Placed In Same Folder. This Project Uses (And Will Use) Multiple Items (From Different Folders) Into Same Folder. So Each File Must Have Unique (aka: Non-Conflicting, aka: different) File-NAME. PLEASE Follow The Convention We Laid Out, Thank You.
PB-2: Obtain NEW Platypus (at the time of writing this README.md, it is/was v5.3),
   from here: https://Sveinbjorn.org/platypus
and install in your Mac computer, new version allows to build “*.app” for both: 64bit-only macOSX Catalina or macOSX after it, & also for 64bit+32bit older macOSX Mojave or macOSX before that.
Also get Platypus v4.9, as that is/was the last 32bit+64bit supported ( & working) Platypus (for older mcOSX), that allows to build/wrap macOS app⒮ for 64bit+32bit suppported older macOSX Mojave or macOSX earlier of that.

PB-3: Obtain Pashua dialog from here : https://www.BlueM.net/en/projects/pashua/
Open dmg installer, Copy "Pashua.app", "Pashua.sh" into below build related folder:
"/System/Volumes/Data/Projects/Portable-Apps-OS-X-64/"
( shorter form of above location is: "/Projects/Portable-Apps-OS-X-64/" )
( or, Copy in your userspace: "/Users/MyUserName/MyProjects/PA-OSX64/" )
( PA = pa = Portable App )
PB-4: Get macOS 64-bit compatible APP,
(to convert them as Portable App or to convert them as Multi-instance App).

PB-5: Get (Language, Profile, License, etc) build related files/folders/bundles:

a: Use GitHub’s “Clone or Download” button & select “Download ZIP”, save zip file, goto default download location folder “Downloads”, double-click/tap on zip file (to decompress it), you’ll get a folder with same-name (without the “zip” extension), then Copy all files inside that folder, & Paste into our build folder:
"/System/Volumes/Data/Projects/Portable-Apps-OS-X-64/"
( above location’s shorter form is: "/Projects/Portable-Apps-OS-X-64/" )
( or Paste into your userspace: "/Users/MyUserName/MyProjects/PA-OSX64/" )
b: Skip below files/steps which you’ve already obtained/exists or already done.
c: Obtain old PortableAppNameOSX App (i.e: PortableFirefoxOSX) (download from here(FreeSMUG/OsxPortableApps sites), or download any other non-portable macOS Apps directly from original releaser’s website.
d: Double-Click/Tap on "PortableAppName_*.dmg" or "AppName_*.dmg" file to view internal contents(files, bundles, folders, etc).
e: Copy necessary files/bundles (if does not exist in destination), & Paste into below sub-dir structure shown inside our build location:
1st Create a single-letter sub-dir/sub-folder by using the 1st alphabet/letter of “AppName”, in the location which was shown in above PB-5-a step, & also shown below:
"/System/Volumes/Data/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/"
( above location’s shorter form is:
"/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/" )
then Create another sub-dir with “AppName”, under that single-letter sub-dir:
"/System/Volumes/Data/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX-Old/"
or, "/System/Volumes/Data/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/AppName-OSX/"
( above location’s shorter form is:
"/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX-Old/"
or, "/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/AppName-OSX/" )
( or Create it inside your userspace, like this:
"/Users/MyUserName/MyProjects/PA-OSX64/PA-AppName-OSX-Old/"
or, "/Users/MyUserName/MyProjects/PA-OSX64/AppName-OSX/" )
( NOTE: Use “OSX” or “OSX-Old” (and Not-“OSX64”) in the End, to indicate the App inside this folder is Not-Yet-Converted into a PortableOSX64App, & this App (very likely) was obtained from “OsxPortableApps”/“FreeSMUG” site . PA = pa = Portable App. )
f: Create another sub-dir "PA-AppName-OSX64" under the location shown in PB-5-a step:
"/System/Volumes/Data/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppNameOSX64/"
( above location’s shorter form is:
"/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppNameOSX64/" )
( or Create that sub-dir inside your userspace, like this:
"/Users/MyUserName/MyProjects/PA-OSX64/PA-AppName-OSX64/" )
g: After following the step PB-5-e, you will/should find a folder "Portable AppName OS X" inside ".../PortableAppNameOSX-Old/" folder (or in ".../PA-AppName-OSX-Old/" folder). And inside that folder, you will/should find the portable app bundle "Portable AppName.app".
h: Right-click (or Tap with double-finger) on "Portable AppName.app" bundle, which is here:
"/System/Volumes/Data/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX-Old/Portable AppName OS X/Portable AppName.app"
( above location’s shorter form is: "/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX-Old/Portable AppName OS X/Portable AppName.app" )
( or access it inside your userspace: "/Users/MyUserName/MyProjects/PA-OSX64/PA-AppName-OSX-Old/Portable AppName OS X/Portable AppName.app" )
and select “Show Package Contents” option, to go inside the bundle:
i-1: Copy these 2-folders: "English.lproj" (and "profile" if it exists), from below location (this location is inside the bundle):
"/System/Volumes/Data/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX-Old/Portable AppName OS X/Portable AppName.app/Contents/Resources/"
( above location’s shorter form is: "/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX-Old/Portable AppName/Portable AppName.app/Contents/Resources/" )
( or here: "/Users/MyUserName/MyProjects/PA-OSX64/PA-AppName-OSX-Old/Portable AppName OS X/Portable AppName.app/Contents/Resources/" )
i-2: If you want to use your existing Portable-App’s settings/profile from "Portable AppName OS X" (which is in your external storage/drive), then Copy "profile" folder from that, into our build location.
i-3: If you want to use your existing App’s settings/“profile” in your/current system (inside your computer’s internal drive), with the newer “Portable AppName OSX64”, then copy below “profile” folder:
  "/Users/MyUserName/Library/Applications Support/AppName/Profiles/********.default/"
( Note: some app’s Developer uses the app’s NAME inside "Applications Support/" folder, some Dev uses his/her own or employer company NAME. So you should find out app’s company/business/group name also. )
j: Paste the “profile” folder inside our build related (destination) folder:
"/System/Volumes/Data/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX64/"
( above location’s shorter form is:
"/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX64/" )
( or Paste in your userspace:
"/Users/MyUserName/MyProjects/PA-OSX64/PA-AppName-OSX64/" )
Goto Top or Index

BUILD (for DEVELOPERs):

BUILD/WRAP/GENERATE WITH PLATYPUS:

B-1: Test the ‘script’ file, before using it to build Portable App for OS X 64:
Tips: a good practice from beginning would-be, After getting this ‘script’
(Place it inside the recommended folder, that is shown few paragraphs above),
1st Rename it to "script.sh", then Open "script.sh" with your choice of code editing/developing editor/build software,
Improve/Modify source code, Save,
then Use below commands to test if bash code syntaxes are right or where the fault⒮ is/are:
0┌─────────────────
1│MacNm:~ UsrNm$ sh -n /System/Volumes/Data/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX64/script.sh
2│MacNm:~ UsrNm$ echo $?
3│0
4│MacNm:~ UsrNm$
5└─────────────────
( the above ‘script’ can also be accessed from here:
"/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX64/script.sh" )
When there is no syntax-error, (in other words, When the output is “0”),
then copy the "script.sh" & paste it in same folder,
& Rename the "script.sh Copy" file, into the "script",
then follow next/below stage/procedures.

B-2: Build the final “Portable AppName OSX64.app” bundle, by using Platypus:
To build new “Portable AppName OSX64.app” bundle,
choose these below files, directories, bundles, etc inside the Platypus GUI interface:
directory : English.lproj
directory (optional) : profile
bundle : AppName.app
bundle : Pashua.app
icon : P_AppName_Caution.icns
icon : appIcon.icns
sh-script : pashua.sh
sh-script : pashua.sh.lib
sh-script : script
tool : filecount
tool : dirsize
readme-file : Read me.txt
license-file : GPL-3.0_LICENSE_for_script.txt
license-file : <App’s-License’s-shortName-&-version-number>_LICENSE_for_AppName.txt
license-file : BSD-3-clause_LICENSE_for_Pashua.txt
license-file : BSD-3-clause_LICENSE_for_Platypus.txt
license-file : BSD-3-clause.txt

B-3: Then you may use, these type of settings in Platypus GUI interface:
Script Type : Shell : /bin/sh
Script Path : /System/Volumes/Data/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX64/script
  ( above location’s shorter form is: "/Projects/Portable-Apps-OS-X-64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX64/script" )
  ( if you’re using your userpsace: "/Users/MyUserName/MyProjects/PA-OSX64/PA-AppName-OSX64/script" )
Interface : Text Window
Unselected options : Run with root privileges , Run in background , Accept dropped items
Selected/Check-Marked options : Remain running after execution
App Name : Portable AppName OSX64 (or specify what you want)
Fill in other boxes: identifier, author, etc

B-4: Then tap/click/select/press the “Create App” button.
It will create/generate a new “Portable AppName OSX64.app” bundle, that is
compatible with 64-only macOSX (Catalina or macOSX after it), and also
compatible with 64bit+32bit macOSX (Mojave or macOSX earlier of it)

POST-BUILD (for USERS):

Users/you may have to download+add some files or apps or components (or change a settings) by yourself, & place that inside a specific sub-folder location, inside the “*.app” bundle, which is inside the downloaded “*.dmg” (archive) file.
In different App’s page, instruction in this section/paragraph, will be different.
This section/paragraph may also be empty, if User have to do nothing.

RUN/EXECUTE/TEST:

Now you need-to run/execute & test & investigate the “*.app” App/bundle.

You may OPTIONALLY do these:
Which “profile” folder is used by the running AppName ?
AppName > main menu > ... > Show Profile Folder: ...

ERRORs/PROBLEMs:

If you have spotted an bug/error/fault, then let us know,
create/report an issue under this project in GitHub.
And during/after build, if you received/observed/found Error(s)
please Write down what Error⒮ you’re getting,
try to research & try to solve as much possible,
and/then Let us know about your unsolved errors & Share your code changes
by creating an Issue here in GitHub, & submit info.

If no errors, even then please share your final working code, your OS info, etc (if you want to)
either: by Forking/Cloning (this project) + Edit/Change & Test ‘script’ file in your side/computer + Push your own (successful/working) code-changes inside your own (this)-cloned-project first + then send a Pull-request to this project,
or: by Sharing/pasting your code-changes, by using the create new “Issue” option in GitHub under this project.

HELP TO BUILD:

Please help+contribute+collaborate+improve+rectify current codes to build this bash-shell ‘script’ (or apple-script or ..., etc ), so-that it can be run/used by Platypus or run/used directly by user, To run macOSX Apps on (64-bit) macOSX from portable/external
drive/storage⒮), or run macOSX App as a second/third/multi-instance of same App.
Thanks in advance.

Goto Top or Index

EXTRA-NOTES:

Create Directory Under Root-Directory: ( Directory = Folder )
To create "MyProjects" folder in mac hard drive (not under your user-name), you may edit synthetic.conf:
0┌─────────────────
1│sudo nano /etc/synthetic.conf
2└─────────────────
and then add below 2-lines of settings:
0┌─────────────────
1│Projects System/Volumes/Data/Projects
2│Development System/Volumes/Data/Development
3└─────────────────
then Press Ctrl+X (to Exit), and Nano prompts/asks you to press “Y” (to Save) or “N” (to Discard) changes, so press “Y” (to Save), then Nano shows target/destination filename /etc/synthetic.conf (and allows you to change name), So press Enter to select it & Save+Exit.
Note: you must press tab-button after typing "Projects"/"Development". More on Nano
and Execute below Terminal/shell command⒮ to create those 2-folders:
0┌─────────────────
1│sudo mkdir -p /System/Volumes/Data/Projects
2│sudo mkdir -p /System/Volumes/Data/Development
3└─────────────────
... and then you must REBOOT.

Now "MyProjects" or "Development" folder(s) can be accessed in these ways:
"/System/Volumes/Data/Projects"
"/System/Volumes/Data/Development"
and also in its shorter form:
"/Projects"
"/Development"

Show All Files & Folders in macOS:
To see all files in Finder (inlcuding Hidden/System) in macOS, i executed below 2-commands:
0┌─────────────────
1│defaults write com.apple.finder AppleShowAllFiles TRUE
2│killall Finder
3└─────────────────
or, in Finder, press these 3-buttons together at-same-time: [⇧Shift]+[⌘Command]+[ >. ]
Goto Top or Index

List Of Few Useful Unicode Characters/Symbols, & How To Use/Show Them:
( We will use some of these in our dialog messages from this ‘script’ )
Unicode related Abbreviations: • Char = Character/Symbol/Glyph • Grph = Graphic • Emj ~= Emoji ~= Emoticons • Txt = Textual Glyph • U = Unicode • A = ASCII • Ref = Reference • dec = decimal • DEC = DRC = Decimal Entity (Ref) Code • HEC = HexaDecimal Entity (Ref) Code • h = H = x = hex = HexaDecimal • CNRC = Character Name Ref/Entity Code • PE = Percent-Encoding • FRE = Font/Character/Glyph/Grapheme Rendering Engine
⬐1of3⬐2of3⬐3of3
• Low-Density Dotted Grph Char ░ &#9617; 176 • Medium-Density Dotted ▒ &#9618; 177 • High-Density Dotted ▓ &#9619; 178
• Block █ &#9608; &block; 219 • Bottom Half-Block ▄ &#9604; &lhblk; 220 • Top Half-Block ▀ &#9600; &uhblk; 223
⬑1of3⬑2of3⬑3of3
⬐1of3⬐2of3⬐3of3
Box-Drawings:    
• Light-Horizontal ─ &#9472; • Light-Vertical │ &#9474; • Light-Down&Right ┌ &#9484;
• Light-Down&Left ┐ &#9488; • Light-Up&Right └ &#9492; • Light-Up&Left ┘ &#9496;
• Light-Vert&Right ├ &#9500; • Light-Vert&Left ┤ &#9508; • Light-Down&Horizontal ┬ &#9516;
• Light-Up&Horizontal ┴ &#9524; • Light-Vert.&Horiz. ┼ &#9532;  
⬑1of3⬑2of3⬑3of3
⬐1of3⬐2of3⬐3of3
• 📁 1F4C1, File Folder. Closed • 📂 1F4C2, Open File Folder • 📃 1F4C3, Page with curl. Rolled Paper
• 📄<1F4C4, Page facing Up. Page/Paper/Files • 📤 1F4E4, Outbox Tray. For Send Out. Copy • 📥 1F4E5, Inbox Tray. For Receiving. Paste
• Warning Sign ⚠︎ (Txt) U+26A0 • Warning Sign ⚠️ (Emj) • Left-Pointing Magnifying Glass 🔍 U+1F50D
• Right-Pointing Magnifying Glass 🔎 U+1F50E • Computer (Laptop) 💻 U+1F4BB • Monitor/Screen 🖳
• Computer (Desktop) 🖥 U+1F5A5    
⬑1of3⬑2of3⬑3of3
⬐1of3⬐2of3⬐3of3
• Middot “·” &#183; 🍎⌥Opt+⇧Shift+9 ❖Alt+250 / ❖Alt+0183 • Bullet “•” &#8226; 🍎⌥Opt+8 ❖Alt+249  
• Apostrophe (aka Vertical Single-Quote) ' &#39; &apos; • (Vertical/Straight/Double) Quotation-Mark " &#34; &quot; • Grave-Accent (aka Backtick/Tick, DiacriticalGrave) ` (`) &grave; &#96;
• Acute-Accent ´ &#180; • Full-Width Quotation-Mark " • Full-Width Apostrophe '
• (Curved/Curly) Left Double Quotation-Mark: “ (“) (&#8220;) &ldquo; 🍎⌥Opt+[ ❖Alt+0147 • (Curved/Curly) Right Double Quotation-Mark: ” (”) (&#8221;) &rdquo; 🍎⌥Opt+⇧Shift+] ❖Alt+0148 • Double High-Reversed-9 Quotation-Mark ‟ &#8223;
• (Curved/Curly) Left Single-Quotation-Mark ‘ (‘) &#8216; &lsquo; 🍎⌥Opt+] ❖Alt+0145 • (Curved/Curly) Right Single-Quotation-Mark ’ (’) &#8217; &rsquo; 🍎⌥Opt+⇧Shift+] ❖Alt+0146 • Single High-Reversed-9 Quotation-Mark ‛ &#8219;
• (CJK) Reversed Double Prime Quation Mark 〝 U+301D • (CJK) Double Prime Quotation Mark 〞U+301E
• (Single)-Vertical-Line (aka Pipe Char) "|" &#124; &verbar; &vert; • (Single)-Broken-Bar "¦" &#166; &brvbar; ❖AltGr+` ❖AltGr+6 ❖AltGr+⇧Shift+Right\  
• Ampersand (aka And) & &#38; &amp; • Less-Than < &#60; &lt; • Greater-Than > &#62; &gt;
• Non-Breaking Space " " &#160; &nbsp; 🍎⌥Opt+Space ❖Alt+0160 ❖Alt+255 • Narrow No-Break Space " " &#8239; • Space " " &#32;
• Zero-Width Space(ZWSP) "​" &#8203; U+200B    
• Percent % &#37; • Asterisk * &#42; &ast; • Exclamation ! &#33; &excl;
• Number (aka Hash, Pound-Sign) # &#35; &num; • Plus + &#43; &plus; • Comma , &#44; &comma;
• Period (aka dot, full stop) . &#46; &period; • Solidus (Forward-Slash) / &#47; &sol; • Colon : &#58; &colon;
• SemiColon ; &#59; &semi; • Equals = &#61; &equals; • Question ? &#63; &quest;
• Commercial-At @ &#64; &commat; • Square-Bracket [ ] &#91; &#93; &lsqb; &rsqb; • Reverse-Solidus (Back-Slash) \ &#92; &bsol;
• Circumflex-Accent (Hat) (Caret) ^ &#94; &Hat; • Low-Line (aka LowBar, UnderBar, UnderScore) _ &#95; &lowbar; Full-Width Asterisk * U+FF0A
• Registered-Trademark: ®(base) ®️️(emj) ®︎(txt) &#174; U+00AE 🍎⌥Opt+r ❖Alt+0174 • Copyright: ©(base) ©️️(emj) ©︎(txt) &#169; U+00A9 🍎⌥Opt+g ❖Alt+0169 • Trademark: ™ &#8482; 🍎⌥Opt+⇧Shift+2 ❖Alt+0153
• Copyleft © (ɔ)    
• Euro: € &#8364; 🍎⌥Opt+2 ❖Alt+0128 • Cent: ¢ &#162; 🍎⌥Opt+4 ❖Alt+155 • Yen: ¥ &#165; 🍎⌥Opt+y ❖Alt+157
• Pound (Currency-Sign) £ &#163; 🍎⌥Opt+3 ❖Alt+156 • Dollar $ &#36; &dollar;  
⬑1of3⬑2of3⬑3of3
⬐1of3⬐2of3⬐3of3
• Apple symbol “” &#63743; U+F8FF 🍎⌥Opt+⇧Shift+k (macOS) • Red Apple “🍎”(emj) &#58181; U+E345 &#xe345; 🍎︎(txt) • Green Apple “🍏” &#127823; U+1F34F &#x1f34f; 🍏︎(txt)
These char(s) also look like an Apple, & displayed with Unicode Combining Diacritics: • Ag (Ol-Chiki) “ᱜ” U+1C5C (Apple/Mango) ​̀ᱜ , ᱜ̀ , ᱜ́ , ᱜ̀ , ᱜ́ , ᱜ̌ , ᱜ̇́ • Ha (Limbu) “ᤜ” U+191C , ᤜ+ᤨ=“ᤜᤨ” , ᤜ+ᤧ=“ᤜᤧ” , ᤜ+‌ᤪ=ᤜᤪ , ᤜ͑ , ᤜ͗ , ᤜ̀ , ᤜ́ , ᤜ̍ , ᤜ̀ , ᤜ́ , ᤜ̖ , ᤜ̗ , ᤜ̌ , ᤜ̭ , ᤜ̜ , ᤜͅ • Low-Ca (Tai-Tham) “ᨩ” U+1A29 ᨩ̴ , ​̴ᨩ , ᨩ̀ , ᨩ́ • High-Ca (Tai-Tham) “ᨧ” U+1A27 ​̴ᨧ , ᨧ̴ , ᨧ̀ , ᨧ́ • Mem-Qoph (Pahlavi) “𐭬” (R-to-L) U+10B6C • Om (WarangCiti) “𑣿” U+118FF • Latin O with Acute “Ó” U+00D3 • o with grave “ò” U+00F2 • o with acute “ó” U+00F3 • Small Omicron with Tonos/AcuteAccent (Greek) “ό” U+03CC (Apple/Orange) • Ban (Georgian) “ბ” U+10D1 & “Ბ” U+1C91 (Apple/Orange) • AntiClockwise Clock-Circle Arrow “⥀”(base) “⥀︎”(txt) (Apple) • Tu (Linear-B B069) “𐀶” U+10036 (Apple/Peach) • Ra (Telugu) “ర” U+0C30 (Apple/Orange) • Da (Telugu) “ద” (apple) U+0C26 ద̖ , ద̗ , ద̜ , ద̨ , ద̩ , ద̹ , దͅ , ద᪹ , ద᪺ • Ba (Mayanmar/Burmese) “ဗ” U+1017 (an Apple in sideway) ​̴ဗ , ဗ̴ , ဗ̖ , ဗ̗ , ဗ̜ , ဗ̨ , ဗ̩ , ဗ̭ , ဗ̹ , ဗͅ , ဗ᪹ , ဗ᪺ • Yesieung (Hangul Jamo) “ㆁ” U+3181 • Dha (Kannada) “ಧ” U+ (Upside-down Apple falling from a tree-branch) • Tha (Tai-Tham) “ᨵ” U+1A35 ᨵ̖ , ᨵ̗ , ᨵ̴ , ​̴ᨵ , ᨵ̜ , ᨵ̨ , ᨵ̩ , ᨵ̭ , ᨵ̹ , ᨵ᪹ , ᨵ᪺
⬐1of2 ⬐2of2
• “Squared-Plus” “⊞” &#8862; U+229E used by Wikipedia as indicator for Windows Flag/Logo/Key symbol, ❖Win+B ❖Win • Kangxi “⽥” U+2F65
• “Black Diamond Minus White X” “❖” &#10070; U+2756 used by others+me to indicate Windows Flag/Logo/Key symbol • CJKUI “㗊” U+35CA
• Ro (Halfwidth Katakana) “ロ” U+FF9B (its like “White Vertical Rectangle” “▯” U+25AF) • Nu (Vai) “ꖸ” U+A5B8
These also look like a Windows or Windows: • CJKUI “田” U+7530 • CJKUI “毌” U+6BCC • “畋” U+754B = 田X = WindowsX = Windows10 • Esh (Old Italic) “𐌎” U+1030E • CJKUI “回” U+56DE • Squared-Square “⧈” U+29C8 • He (Old Itlaic) “𐌇” U+10307 • Squared Minus “⊟” U+229F • Clear-Screen symbol “⎚” U+239A • White Square with Vertical Bisecting Line “◫” U+25EB • CJK = Chinese Japanese Korean, CJKUI = CJK Unified Ideograph • Lagab (Cuneiform) “𒆸” U+121B8 • Lagab-Lagab “𒇔” U+121D4
⬐1of2 ⬐2of2
• Goat “🐐”(emj) &#128016; U+1F410 🐐︎(txt) often used to indicate GNU software, GNU/GPL-License, GNU-Hurd OS, GNU-BSD OS, etc. Wildebeest & Goat🐐 are in similar family & have similarity.  
• Egypt Hiero. Goat/kid 𓃙 U+130D9 • Ibex 𓃵 U+130F5 • Hartebeest 𓄃 U+13103 • Oryx 𓃲 U+130F2
⬐1of2 ⬐2of2
• Penguin “🐧”(emj) &#128039; U+1F427 🐧︎(txt) often used to indicate GNU-Linux-OS. Tux is a 🐧︎ penguin  
Combining-Diacritics (with Unicode hex code-point): • ◌̀ 300 • ◌́ 301 • ◌̃ 303 • ◌̆ 306 • ◌̇ 307 • ◌̌ 30C • ◌̍ 30D • ◌̖ 316 • ◌̗ 317 • ◌̜ 31C • ◌̨ 328 • ◌̩ 329 • ◌̭ 32D • ◌̴ 334 • ◌̹ 339 • ◌̀ 340 • ◌́ 341 • ◌ͅ 345 • ◌͑ 351 • ◌͗ 357 • ◌ͨ 368 • ◌᪹ 1AB9 • ◌᪺ 1ABA • ◌᷎ 1DCE • ◌᷃ 1DC3 • ◌᷎ 1DCE • ◌ᷗ 1DD7 • ◌ᷛ 1DDB • ◌ᷞ 1DDE
⬐1of3⬐2of3⬐3of3
• Congruence Relation Symbol ≡ &#8801; &equiv; A 240 U+2261 • Vertical Ellipsis ⋮ U+22EE vellip • Menu/App key ▤
• Identical To ≡ • Strictly Identical To ≣ • Greek Capital Letter Xi Ξ
• Not-Equal-To ≠ &#8800; &ne; 🍎⌥Opt.= • Almost-Equal-To ≈ &#8776; &asymp; &ap; &approx; 🍎⌥Opt+x • Division ÷ &#247; 🍎⌥Opt+? 🍎⌥Opt+/ ❖Alt+0247
• Plus-Minus ± &#177; 🍎⌥Opt+⇧Shift+= ❖Alt+241 • Infinity ∞ &#8734; &infin; 🍎⌥Opt+5  
⬑1of3⬑2of3⬑3of3
⬐1of3⬐2of3⬐3of3
• White Frowning Face ☹ ️ &#9785;/&#65039; &#x2639;/&#xFE0F; ☹︎(txt) • Worried Face 😟(emj) &#128543; 0x1F61F 😟︎(txt) • White Smiling Face ☺ &#9786; 0x263A ☺︎(txt)
• Slightly Smiling Face 🙂(emj) &#128578; 0x1F642 🙂︎(txt) • Black Smiling Face ☻ &#9787; 0x263B ☻︎(txt)  
⬑1of3⬑2of3⬑3of3
⬐1of3⬐2of3⬐3of3
• Ballot Box ☐ &#9744; U+2610 • Ballot Box with Check ☑ &#9745; U+2611 ☑︎(txt) • Ballot Box with X ☒ &#9746; U+2612 ☒︎(txt)
• ª U+00AA &#170; &ordf; • ʈ U+0288 &#648;

Unicode Tricks+Tips:
• To display an Emoji/Emoticon(emj) as a Textual(txt) glyph (if available/renderable), Use a VS15-char(&#xFE0E; or &#65038;) after the Emoji, (or apply CSS, i.e: span.gray { -webkit-filter: grayscale(100%); filter: grayscale(100%); }).
• When an Emoji-Modifier character (i.e: “Emoji Modifier FitzPatrick Type-6” character &#x1F3FF; or &#127999; U+1F3FF) is placed after an Emoji (not all Emojis, but usually Emojis with (human)-body/body-parts are supported), then that Emoji will appear with dark/gray color/skin-tone, but many (font/glypgh/emoji)-Rendering-engine/system still does not support this "Human Diversity" for all Emojis!
• If you want to Join a diacritical-mark with an Unicode-char(U-char), then place diacritic(s)-char(s) after the base/primary U-char in sequence, in such case Text/Font Rendering Engine will/may join them as a sequence of single-char to display, so your Search/Find(Ctrl+F) option/button may or may-not work to find it, But if you want to join AND also want to make sure to be able to search/find those char(s) separately, then place the CGJ-char(U+034F or &#847; or &#x34F;) in-between them. Text/Font Rendering Engine in your system may-not work/support/uptodate as expected/instructed/requested by Unicode consortium/group.
• If you want to display a character & a diacrtic-mark separately & close to each other, but without joined-by the Font/Text rendering engine/system, then place a ZWNJ char(U+200C &#8204; or &zwnj; or &#x200C;) in between them.
http://Liberties.WikiDot.com/symbols1
http://Liberties.WikiDot.com/ligatures1
https://en.Wikipedia.org/wiki/Unicode_font
https://en.Wikipedia.org/wiki/List_of_Unicode_characters
Goto Top or Index

Verify/Authenticate Files:
In macOSX, Calculate & Compare hash/checksum/digest code (it is a very unique identity code) of a file/bundle:
In macOSX in shell (“Terminal” utility) window, type command (shasum) & press space key,
then drag the .dmg file from Finder(file browser) window & drop it into Terminal window:
The shasum tool by-default calculates the “SHA1” hash-code, & openssl usage also shown:
0┌─────────────────
1│MacNm:~ UsrNm$ shasum /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
2│50ff626452dfadb9cbb6a2a5e2ddf60848adf256 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
3│MacNm:~ UsrNm$ shasum -a 1 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
4│50ff626452dfadb9cbb6a2a5e2ddf60848adf256 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
5│MacNm:~ UsrNm$ openssl sha1 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
6│SHA1(/Users/UsrNm/Down…/Port…Firefox…r4.1.dmg)= 50ff626452dfadb9cbb6a2a5e2ddf60848adf256
7└─────────────────
To calculate “SHA256” hash-code, use -a 256 option in shasum, & openssl usage also shown:
0┌─────────────────
1│MacNm:~ UsrNm$ shasum -a 256 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
2│e0052b8423cc117c99371a97e51a6ef9948510ac9a9c0ec1f2537be3597bad57 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
3│MacNm:~ UsrNm$ openssl sha256 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
4│SHA256(/Users/UsrNm/Down…/Port…Firefox…r4.1.dmg)= e0052b8423cc117c99371a97e51a6ef9948510ac9a9c0ec1f2537be3597bad57
5└─────────────────
To calculate “MD5” hash-code, use md5 option in openssl:
0┌─────────────────
1│MacNm:~ UsrNm$ openssl md5 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
2│MD5(/Users/UsrNm/Down…/Port…Firefox…r4.1.dmg)= fa6691336e22a2d83e5629533b830300
3└─────────────────

Add Signature With App/Code:
Sign (aka: “codesign”, aka: add digital-signature) a macOSX binary app, without being in the Mac Developer Program:
  https://StackOverflow.com/questions/27474751/
Apple Developer Program (ADP) requires $99 fee ! & that allows a Dev to release (signed) App with signature, & that App (if its a general app) can be used by less-privileged user (and ofcourse by any privileged user). Apple Developer site/website (not ADP) allows to create “Free” account, by using a user’s/dev’s Apple-ID, that allows to download/get some basic Development related items for free, like: Xcode, Xcode-CLT, etc.
 
Goto Top or Index

Abbreviations:
Acronyms, Recursive Backronyms & Abbreviations used here:
Dev = Develope = Bld = Build . Web-Browser = WB = WebBr . Ver = Version = v . Mem = Memory . Mngr = Manager . Virtual = Virt . FileSystem = FS . Network = Net . Socket = Sock . Security = Sec . Hardware = HW . Software = SW . Firmware = FW . Driver = Drvr = Drv . Server = Srv . Service = Svc . Graphics = Grph . Engine = Engn . JavaScript = JS . Apple = Apl . Microsoft = MS . Google = Ggl . Mozilla = Mz .
PA = Portable App . Ususally kept-in & run from a user’s External/Portable drives/storage, Or PA is kept-in & run from internal-Storage when a user need to run 2nd or multiple instances of same PA apps with different profile(s)/settings.
FF = Firefox . A web-browser from Mozilla Foundation. Before FF v57 it used Gecko engine. Since v57, FF was renamed as “Firefox Quantum”(FFQ) & began to use a different & new web-browser engine, & Mozilla REMOVED SUPPORT FOR ALL PREVIOUS ADDONS/PLUGINS in FFQ !!! and, Although major parts of new engine were+are mostly based on Servo,..engine but it is still (deceptively/purposely) named/known as same “Gecko”! some users calls/identifies it GwS(“Gecko-with-Servo” or “Gecko-w/Servo”) or SbG(“Servo-based-Gecko”) or in-short just calls it “Servo” engine. I will call it here, just Servo or GwS or SbG. FFQ in iOS was forced to use WebKit based engine. Lots of PLUGINS existed & was released for (older) Gecko based older FF (before v57), Mozilla STOPPED sharing/distrubuting ALL OF THOSE ADDONS/PLUGINS for older Gecko based older “Firefox” !!! Which indicated (again & sadly, that) Mozilla products are not-reliable & not-stable & cannot be depended-upon. Now there are very VERY LESS PLUGINS availble/ported/released for Servo/GwS based FFQ (v57 & after). WebRTC is kept in enabled state by-default, which can reveal user’s local location without user’s consent with full-awareness, which is a violation of Privacy-Rights, & this type of violation is also done by other new web-browsers too!
SF = AS = Safari . A web-browser developed by Apple Inc . Proprietary . Uses open-source WebKit based engine. WebKit was closed-source & based-on OpenSource KDE-HTML(KHTML) layout engine & OpenSource KDE-JS(KJS) engine, etc. KHTML in WebKit was renamed into WebCore, & KJS in WebKit was renamed into JavaScriptCore by Apple Inc. Later WebKit was made open-source(LGPL) by Apple Inc, and then Adobe Systems, KDE, Igalia, & others joined. Later JavaScriptCore was replaced with SquirrelFish JS (SFX) engine in WebKit. WebKit was internally upgraded into WebKit2. Many other web-browsers are actually based on modified/customized version of WebKit engine. WebKit devs have removed GC related codes, after Google forked WebKit & created (WebKit-based) Blink for GC. Apple Inc forcefully/indirectly restricts other devs/groups, i.e: devs are forced to use WebKit to develop their apps for macOS/iOS, etc.
CM = CH = Chromium . Open-Source . A web-browser initially developed by Google LLC. Uses Blink rendering engine (Blink is based on modified WebKit engine), & V8 (JavaScript engine). Later Microsoft, Igalia, Yandex, & others joined to develope CM. Later Facebook, Opera Software, Adobe Systems, Intel, IBM, Samsung, & others joined to develope Blink. Many many web-browsers are actually based on modified/customized version of this CM web-browser or Blink engine from CM.
Ch = GC = Chrome = Google-Chrome = GCh = gCh = gCH . Ch is developed by Google LLC . Many features+components are Proprietary & runs various binaries even before user logins into their OS, & does-not provide any option to completely disable/remove such malware-like behavior. GC web-browser’s engine is based-on Chromium web-browser. Initially used WebKit rendering engine, later Google eventually forked WebKit to create Blink (BSD-License) based engine, now all Google-Chrome variants are using Blink except in iOS, in iOS its forced to use WebKit based engine.
OS = Operating System = OprtSys = OpSys . A collection/set of vast numbers+types of programs, to assist interactions between computer User and computer hardwares & softwares and computer networks. Many OS did-not & does-not have GUI. Modern OS usually contains: microKernel/monolithicKernel/nanoKernel, HW layout & mngr, HW drvr, IPC mngr, I/O mngr, Virt mem mngr, Protected mem mngr, Scheduling, PreEmptive MultiTasking, RealTime support, Console I/O, FS support, Net support, Sockets, Security monitoring, Process mngr, PnP mngr, Power mngr, Graphics Display mngr, Window mngr, system services, related System Libraries, Userland/UserApps, App Environments, Servers/Daemons/Services for Userland, OS SubSystems/Thread support, related Userland Libraries.
Unx = Unix = Research-Unix = *nix. Originally developed (in 1969) by Ken Thompson & Dennis Ritchie & others at-then AT&T Bell Labs.
BSD = BSD-Unix = Berkeley Software Distribution . Initially “BSD” was based on Unix v5, & it was developed by Bill Joy & Ozalp Babaoglu & Keith Bostic & others from CSRG(Computer Systems Research Group). Uses Monolithic kernel. BSD was updated to “4.3BSD-Net2”, and ~finally upd into “4.4BSD-Lite2” (after winning lawsuit filed-by AT&T), then BSD development ended. But 1-pair of devs released “386BSD” based on 4.3BSD-Net2. Later 386BSD & 4.4BSD-Lite were forked as “NetBSD” by another group, and later one more group forked 386BSD & 4.4BSD-Lite as “FreeBSD”. Later FreeBSD was forked into “DragonFly-BSD”. Later NetBSD was forked into “OpenBSD”. OpenBSD group prioritizes & focuses on SECURITY, trustworthiness, etc of source code & OS functionalities.
OSX = 🍎 = MacOS = macOS = macOSX . An OS developed by Apple Inc. ClosedSource GUI OS. Initially based on Apple Lisa OS & (Unix based) Xenix, etc, then it was changed into combination of Unix … BSD(4.3BSD-Net2, 386BSD, 4.4BSD-Lite2, FreeBSD, NextSTEP, etc) … then finally changed into “Darwin” based OS. Initially kernel was Monolithic (for 68k) & nanokernel (for PowerPC), then changed into Hybrid(XNU) Kernel (initially CMU-Mach2.5 & 4.3BSD, then changed into OSFMK/Utah-Mach4 & FreeBSD).
Win = ❖ = Windows OS = WinOS . WinOS developed by Microsoft corp . ClosedSource GUI OS . Windows 9X (Win9X), WinMe & earlier WinOS used Monolithic kernel & was based on “Interface Manager”, etc. Later WinCE-family & WinNT-family of WinOS used Hybrid(NT) Kernel. Initial WinOS was a Graphical-Shell of MS-DOS OS, initially MS-DOS was based on CP/M-OS, 86-DOS, etc. WinOS-10/Win10 includes MS-Edge web-browser, its initially based on Trident engine, then changed into Blink(CM) engine.
Lnx = 🐐︎GNU-🐧︎Linux = GNU/Linux = GNU/Lnx, though most users shorten/call/know it as or “Linux OS” or “Linux”. OpenSource (Unix-like) OS, with OpenSource Kernel. GNU-OS used/uses (Unix based) GNU tools/utilities developed by Richard Stallman, uses GNU-Kernel (aka GNU/Hurd-Kernel). Linux-kernel (aka “Linux”, kLnx, “Freax”) was developed by Linus Torvald based on Unix & MINIX-OS, to replace MINIX-OS. MINIX was/is based on Unix (v7) tools/utilies & it uses microkernel. MINIX began to use GNU tools/utilies after GNU was released). When AT&T filed lawsuit against BSD, users/devs could not get+use new/updated BSD/BSD-kernel, & all users/devs realized they needed a “free” OS-&-kernel without AT&T’s-restrictions, & this “Linux” was build+available exactly/around that time with “free” GNU-GPL license & tools/utilities, So users/devs ended-up using this “GNU/Linux” instead of BSD, & So “GNU/Linux” became popular. Various groups & individuals later began to develop/release various distros/OSes based on GNU/Linux or GNU/Hurd (aka GNU/Mach) or GNU/BSD etc etc. All of these were/are primarily a derivative of Unix.
AOS = 🤖︎ = Andr = Android OS . A (GUI) OS developed by Google LLC (under Alphabet Inc), with members of OHA consortium, & by open-source dev(s)+individual(s). Many components are open-source, except these CLOSED-SOURCE components: “Google Play”, “Google Play Services”, etc, etc, etc). Andr uses (BSD based) Bionic C-Lib, uses ToyBox (based on older BusyBox) based Unix utilities, mksh, etc. Andr uses modified Linux-kernel.
iOS = 🍎📱 . Developed by Apple Inc, used in/as iPhone OS, iPad OS, etc. Its a closed-source GUI OS. Based on (Unix->BSD->) Darwin OS. Uses Hybrid(XNU) Kernel.
Goto Top or Index


About

Tools & Scripts To Run macOS App As macOSX Portable App. Used For ‟Portable AppName OSX-64.app” Bundle. Run It From Portable/Internal Drives, Or Run Multiple Instances Of Same App. Developing. New Tools/Scripts Can Also Be Adapted To Run Other Older-‟Portable OS X Apps”.


Languages

Language:HTML 80.3%Language:Shell 19.7%