Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/auriamg/macdylibbundler.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSCG82 <scg082+github@gmail.com>2021-12-20 23:52:11 +0300
committerSCG82 <scg082+github@gmail.com>2021-12-20 23:53:13 +0300
commit357ebbf7a5c1f724caa9e62af12b14eda8f0ee59 (patch)
treee50c6f2da3debf770e6e6f68e7f0340a0c53b4df
parent6453357120f9da9b62f29a9fa9938a8164b8ffd6 (diff)
Add option to disable ad-hoc codesigning
-rw-r--r--src/Settings.cpp3
-rw-r--r--src/Settings.h3
-rw-r--r--src/Utils.cpp2
-rw-r--r--src/main.cpp8
4 files changed, 15 insertions, 1 deletions
diff --git a/src/Settings.cpp b/src/Settings.cpp
index 0ace811..1d9674b 100644
--- a/src/Settings.cpp
+++ b/src/Settings.cpp
@@ -31,14 +31,17 @@ namespace Settings
bool overwrite_files = false;
bool overwrite_dir = false;
bool create_dir = false;
+bool codesign = true;
bool canOverwriteFiles(){ return overwrite_files; }
bool canOverwriteDir(){ return overwrite_dir; }
bool canCreateDir(){ return create_dir; }
+bool canCodesign(){ return codesign; }
void canOverwriteFiles(bool permission){ overwrite_files = permission; }
void canOverwriteDir(bool permission){ overwrite_dir = permission; }
void canCreateDir(bool permission){ create_dir = permission; }
+void canCodesign(bool permission){ codesign = permission; }
bool bundleLibs_bool = false;
diff --git a/src/Settings.h b/src/Settings.h
index 1b1cb27..c03afc5 100644
--- a/src/Settings.h
+++ b/src/Settings.h
@@ -44,6 +44,9 @@ void canOverwriteDir(bool permission);
bool canCreateDir();
void canCreateDir(bool permission);
+bool canCodesign();
+void canCodesign(bool permission);
+
bool bundleLibs();
void bundleLibs(bool on);
diff --git a/src/Utils.cpp b/src/Utils.cpp
index fc2b990..168f659 100644
--- a/src/Utils.cpp
+++ b/src/Utils.cpp
@@ -220,6 +220,8 @@ std::string getUserInputDirForFile(const std::string& filename)
void adhocCodeSign(const std::string& file)
{
+ if( Settings::canCodesign() == false ) return;
+
// Add ad-hoc signature for ARM (Apple Silicon) binaries
std::string signCommand = std::string("codesign --force --deep --preserve-metadata=entitlements,requirements,flags,runtime --sign - \"") + file + "\"";
if( systemp( signCommand ) != 0 )
diff --git a/src/main.cpp b/src/main.cpp
index 02416d4..d114875 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -41,7 +41,7 @@ THE SOFTWARE.
*/
-const std::string VERSION = "1.0.2";
+const std::string VERSION = "1.0.3";
// FIXME - no memory management is done at all (anyway the program closes immediately so who cares?)
@@ -62,6 +62,7 @@ void showHelp()
std::cout << "-of, --overwrite-files (allow overwriting files in output directory)" << std::endl;
std::cout << "-od, --overwrite-dir (totally overwrite output directory if it already exists. implies --create-dir)" << std::endl;
std::cout << "-cd, --create-dir (creates output directory if necessary)" << std::endl;
+ std::cout << "-ns, --no-codesign (disables ad-hoc codesigning)" << std::endl;
std::cout << "-i, --ignore <location to ignore> (will ignore libraries in this directory)" << std::endl;
std::cout << "-h, --help" << std::endl;
}
@@ -117,6 +118,11 @@ int main (int argc, char * const argv[])
Settings::canCreateDir(true);
continue;
}
+ else if(strcmp(argv[i],"-ns")==0 or strcmp(argv[i],"--no-codesign")==0)
+ {
+ Settings::canCodesign(false);
+ continue;
+ }
else if(strcmp(argv[i],"-h")==0 or strcmp(argv[i],"--help")==0)
{
showHelp();