diff options
| author | Jakub Jirutka <jakub@jirutka.cz> | 2019-07-28 21:39:47 +0200 |
|---|---|---|
| committer | Jakub Jirutka <jakub@jirutka.cz> | 2019-07-28 21:39:54 +0200 |
| commit | f2518caccfe3208aa2b5212ea338ee43f044bdf3 (patch) | |
| tree | 9335862fa0a93a815fa3b1dcc391e059da21e77b /testing/git-crypt | |
| parent | 73f168230426b9c6466d5aef3ed4bb50c5b3d043 (diff) | |
| download | aports-f2518caccfe3208aa2b5212ea338ee43f044bdf3.tar.bz2 aports-f2518caccfe3208aa2b5212ea338ee43f044bdf3.tar.xz | |
community/git-crypt: move from testing
Diffstat (limited to 'testing/git-crypt')
| -rw-r--r-- | testing/git-crypt/0001-add-merge-driver.patch | 459 | ||||
| -rw-r--r-- | testing/git-crypt/0002-keep-empty-files-unencrypted.patch | 44 | ||||
| -rw-r--r-- | testing/git-crypt/APKBUILD | 34 |
3 files changed, 0 insertions, 537 deletions
diff --git a/testing/git-crypt/0001-add-merge-driver.patch b/testing/git-crypt/0001-add-merge-driver.patch deleted file mode 100644 index 771cc56e33..0000000000 --- a/testing/git-crypt/0001-add-merge-driver.patch +++ /dev/null @@ -1,459 +0,0 @@ -From b6f4f33ba969cfd44cdd9a5df2048ad5b6330fb0 Mon Sep 17 00:00:00 2001 -From: Jakub Jirutka <jakub@jirutka.cz> -Date: Sun, 28 Jul 2019 17:14:09 +0200 -Subject: [PATCH 1/2] Change clean() and smudge() functions to accept in/out - stream - -This is a preparation for the merge command. - -I've extracted this change from #107. - -Co-Authored-By: Shlomo Shachar <shlomo.shachar@binatix.com> -Patch-Source: https://github.com/AGWA/git-crypt/pull/180 ---- - commands.cpp | 38 +++++++++++++++++++------------------- - commands.hpp | 5 +++-- - 2 files changed, 22 insertions(+), 21 deletions(-) - -diff --git a/commands.cpp b/commands.cpp -index d25c4cc..93a840e 100644 ---- a/commands.cpp -+++ b/commands.cpp -@@ -690,8 +690,8 @@ static int parse_plumbing_options (const char** key_name, const char** key_file, - return parse_options(options, argc, argv); - } - --// Encrypt contents of stdin and write to stdout --int clean (int argc, const char** argv) -+// Encrypt contents of &in and write to &out -+int clean (int argc, const char** argv, std::istream& in, std::ostream& out) - { - const char* key_name = 0; - const char* key_path = 0; -@@ -724,10 +724,10 @@ int clean (int argc, const char** argv) - - char buffer[1024]; - -- while (std::cin && file_size < Aes_ctr_encryptor::MAX_CRYPT_BYTES) { -- std::cin.read(buffer, sizeof(buffer)); -+ while (in && file_size < Aes_ctr_encryptor::MAX_CRYPT_BYTES) { -+ in.read(buffer, sizeof(buffer)); - -- const size_t bytes_read = std::cin.gcount(); -+ const size_t bytes_read = in.gcount(); - - hmac.add(reinterpret_cast<unsigned char*>(buffer), bytes_read); - file_size += bytes_read; -@@ -775,8 +775,8 @@ int clean (int argc, const char** argv) - hmac.get(digest); - - // Write a header that... -- std::cout.write("\0GITCRYPT\0", 10); // ...identifies this as an encrypted file -- std::cout.write(reinterpret_cast<char*>(digest), Aes_ctr_encryptor::NONCE_LEN); // ...includes the nonce -+ out.write("\0GITCRYPT\0", 10); // ...identifies this as an encrypted file -+ out.write(reinterpret_cast<char*>(digest), Aes_ctr_encryptor::NONCE_LEN); // ...includes the nonce - - // Now encrypt the file and write to stdout - Aes_ctr_encryptor aes(key->aes_key, digest); -@@ -787,7 +787,7 @@ int clean (int argc, const char** argv) - while (file_data_len > 0) { - const size_t buffer_len = std::min(sizeof(buffer), file_data_len); - aes.process(file_data, reinterpret_cast<unsigned char*>(buffer), buffer_len); -- std::cout.write(buffer, buffer_len); -+ out.write(buffer, buffer_len); - file_data += buffer_len; - file_data_len -= buffer_len; - } -@@ -803,14 +803,14 @@ int clean (int argc, const char** argv) - aes.process(reinterpret_cast<unsigned char*>(buffer), - reinterpret_cast<unsigned char*>(buffer), - buffer_len); -- std::cout.write(buffer, buffer_len); -+ out.write(buffer, buffer_len); - } - } - - return 0; - } - --static int decrypt_file_to_stdout (const Key_file& key_file, const unsigned char* header, std::istream& in) -+static int decrypt_file_to_stream (const Key_file& key_file, const unsigned char* header, std::istream& in, std::ostream& out = std::cout) - { - const unsigned char* nonce = header + 10; - uint32_t key_version = 0; // TODO: get the version from the file header -@@ -828,7 +828,7 @@ static int decrypt_file_to_stdout (const Key_file& key_file, const unsigned char - in.read(reinterpret_cast<char*>(buffer), sizeof(buffer)); - aes.process(buffer, buffer, in.gcount()); - hmac.add(buffer, in.gcount()); -- std::cout.write(reinterpret_cast<char*>(buffer), in.gcount()); -+ out.write(reinterpret_cast<char*>(buffer), in.gcount()); - } - - unsigned char digest[Hmac_sha1_state::LEN]; -@@ -844,8 +844,8 @@ static int decrypt_file_to_stdout (const Key_file& key_file, const unsigned char - return 0; - } - --// Decrypt contents of stdin and write to stdout --int smudge (int argc, const char** argv) -+// Decrypt contents of &in and write to &out -+int smudge (int argc, const char** argv, std::istream& in, std::ostream& out) - { - const char* key_name = 0; - const char* key_path = 0; -@@ -864,8 +864,8 @@ int smudge (int argc, const char** argv) - - // Read the header to get the nonce and make sure it's actually encrypted - unsigned char header[10 + Aes_ctr_decryptor::NONCE_LEN]; -- std::cin.read(reinterpret_cast<char*>(header), sizeof(header)); -- if (std::cin.gcount() != sizeof(header) || std::memcmp(header, "\0GITCRYPT\0", 10) != 0) { -+ in.read(reinterpret_cast<char*>(header), sizeof(header)); -+ if (in.gcount() != sizeof(header) || std::memcmp(header, "\0GITCRYPT\0", 10) != 0) { - // File not encrypted - just copy it out to stdout - std::clog << "git-crypt: Warning: file not encrypted" << std::endl; - std::clog << "git-crypt: Run 'git-crypt status' to make sure all files are properly encrypted." << std::endl; -@@ -873,12 +873,12 @@ int smudge (int argc, const char** argv) - std::clog << "git-crypt: this file may be unencrypted in the repository's history. If this" << std::endl; - std::clog << "git-crypt: file contains sensitive information, you can use 'git filter-branch'" << std::endl; - std::clog << "git-crypt: to remove its old versions from the history." << std::endl; -- std::cout.write(reinterpret_cast<char*>(header), std::cin.gcount()); // include the bytes which we already read -- std::cout << std::cin.rdbuf(); -+ out.write(reinterpret_cast<char*>(header), in.gcount()); // include the bytes which we already read -+ out << in.rdbuf(); - return 0; - } - -- return decrypt_file_to_stdout(key_file, header, std::cin); -+ return decrypt_file_to_stream(key_file, header, in, out); - } - - int diff (int argc, const char** argv) -@@ -920,7 +920,7 @@ int diff (int argc, const char** argv) - } - - // Go ahead and decrypt it -- return decrypt_file_to_stdout(key_file, header, in); -+ return decrypt_file_to_stream(key_file, header, in); - } - - void help_init (std::ostream& out) -diff --git a/commands.hpp b/commands.hpp -index f441e93..bf4632c 100644 ---- a/commands.hpp -+++ b/commands.hpp -@@ -33,6 +33,7 @@ - - #include <string> - #include <iosfwd> -+#include <iostream> - - struct Error { - std::string message; -@@ -41,8 +42,8 @@ struct Error { - }; - - // Plumbing commands: --int clean (int argc, const char** argv); --int smudge (int argc, const char** argv); -+int clean (int argc, const char** argv, std::istream& in = std::cin, std::ostream& out = std::cout); -+int smudge (int argc, const char** argv, std::istream& in = std::cin, std::ostream& out = std::cout); - int diff (int argc, const char** argv); - // Public commands: - int init (int argc, const char** argv); - -From b2efa705c4bd8c5d5590816226aace123bf19265 Mon Sep 17 00:00:00 2001 -From: Jakub Jirutka <jakub@jirutka.cz> -Date: Sun, 28 Jul 2019 19:18:39 +0200 -Subject: [PATCH 2/2] Add git-crypt merge driver to support secret files - merging - -This commit is based on #107. - -Co-Authored-By: Shlomo Shachar <shlomo.shachar@binatix.com> -Patch-Source: https://github.com/AGWA/git-crypt/pull/180 ---- - README | 8 ++-- - README.md | 8 ++-- - commands.cpp | 111 +++++++++++++++++++++++++++++++++++++++++++ - commands.hpp | 1 + - doc/multiple_keys.md | 2 +- - git-crypt.cpp | 4 ++ - man/git-crypt.xml | 8 ++-- - 7 files changed, 129 insertions(+), 13 deletions(-) - -diff --git a/README b/README -index 232947f..2810a26 100644 ---- a/README -+++ b/README -@@ -28,8 +28,8 @@ Configure a repository to use git-crypt: - - Specify files to encrypt by creating a .gitattributes file: - -- secretfile filter=git-crypt diff=git-crypt -- *.key filter=git-crypt diff=git-crypt -+ secretfile filter=git-crypt diff=git-crypt merge=git-crypt -+ *.key filter=git-crypt diff=git-crypt merge=git-crypt - - Like a .gitignore file, it can match wildcards and should be checked into - the repository. See below for more information about .gitattributes. -@@ -151,8 +151,8 @@ Also note that the pattern `dir/*` does not match files under - sub-directories of dir/. To encrypt an entire sub-tree dir/, place the - following in dir/.gitattributes: - -- * filter=git-crypt diff=git-crypt -- .gitattributes !filter !diff -+ * filter=git-crypt diff=git-crypt merge=git-crypt -+ .gitattributes !filter !diff !merge - - The second pattern is essential for ensuring that .gitattributes itself - is not encrypted. -diff --git a/README.md b/README.md -index d24517a..d008aab 100644 ---- a/README.md -+++ b/README.md -@@ -29,8 +29,8 @@ Configure a repository to use git-crypt: - - Specify files to encrypt by creating a .gitattributes file: - -- secretfile filter=git-crypt diff=git-crypt -- *.key filter=git-crypt diff=git-crypt -+ secretfile filter=git-crypt diff=git-crypt merge=git-crypt -+ *.key filter=git-crypt diff=git-crypt merge=git-crypt - - Like a .gitignore file, it can match wildcards and should be checked into - the repository. See below for more information about .gitattributes. -@@ -153,8 +153,8 @@ Also note that the pattern `dir/*` does not match files under - sub-directories of dir/. To encrypt an entire sub-tree dir/, place the - following in dir/.gitattributes: - -- * filter=git-crypt diff=git-crypt -- .gitattributes !filter !diff -+ * filter=git-crypt diff=git-crypt merge=git-crypt -+ .gitattributes !filter !diff !merge - - The second pattern is essential for ensuring that .gitattributes itself - is not encrypted. -diff --git a/commands.cpp b/commands.cpp -index 93a840e..415b36a 100644 ---- a/commands.cpp -+++ b/commands.cpp -@@ -160,11 +160,16 @@ static void configure_git_filters (const char* key_name) - git_config(std::string("filter.git-crypt-") + key_name + ".required", "true"); - git_config(std::string("diff.git-crypt-") + key_name + ".textconv", - escaped_git_crypt_path + " diff --key-name=" + key_name); -+ git_config(std::string("merge.git-crypt-") + key_name + ".name", "git-crypt merge driver"); -+ git_config(std::string("merge.git-crypt-") + key_name + ".driver", -+ escaped_git_crypt_path + " merge --key-name=" + key_name + " %A %O %B %L"); - } else { - git_config("filter.git-crypt.smudge", escaped_git_crypt_path + " smudge"); - git_config("filter.git-crypt.clean", escaped_git_crypt_path + " clean"); - git_config("filter.git-crypt.required", "true"); - git_config("diff.git-crypt.textconv", escaped_git_crypt_path + " diff"); -+ git_config("merge.git-crypt.name", "git-crypt merge driver"); -+ git_config("merge.git-crypt.driver", escaped_git_crypt_path + " merge %A %O %B %L"); - } - } - -@@ -181,6 +186,12 @@ static void deconfigure_git_filters (const char* key_name) - if (git_has_config("diff." + attribute_name(key_name) + ".textconv")) { - git_deconfig("diff." + attribute_name(key_name)); - } -+ -+ if (git_has_config("merge." + attribute_name(key_name) + ".name") || -+ git_has_config("merge." + attribute_name(key_name) + ".driver")) { -+ -+ git_deconfig("merge." + attribute_name(key_name)); -+ } - } - - static bool git_checkout (const std::vector<std::string>& paths) -@@ -923,6 +934,106 @@ int diff (int argc, const char** argv) - return decrypt_file_to_stream(key_file, header, in); - } - -+int merge (int argc, const char** argv) -+{ -+ const char* key_name = 0; // unused but needed -+ const char* key_path = 0; // unused but needed -+ const char* current_path = 0; // %A -+ const char* base_path = 0; // %O -+ const char* other_path = 0; // %B -+ const char* marker_size = 0; // %L -+ -+ int argi = parse_plumbing_options(&key_name, &key_path, argc, argv); -+ if (argc - argi == 4) { -+ current_path = argv[argi]; -+ base_path = argv[argi + 1]; -+ other_path = argv[argi + 2]; -+ marker_size = argv[argi + 3]; -+ } else { -+ std::clog << "Usage: git-crypt merge [--key-name=NAME] [--key-file=PATH] CURRENT BASE OTHER MARKER_SIZE" << std::endl; -+ return 2; -+ } -+ -+ // Run smudge on input files -+ std::vector<std::string> smudge_files; -+ smudge_files.push_back(current_path); -+ smudge_files.push_back(base_path); -+ smudge_files.push_back(other_path); -+ -+ for (std::vector<std::string>::const_iterator file(smudge_files.begin()); file != smudge_files.end(); ++file) { -+ std::ifstream in(*file, std::ifstream::binary); -+ if (!in) { -+ std::clog << "git-crypt: " << *file << ": unable to open for reading" << std::endl; -+ return 1; -+ } -+ in.exceptions(std::ifstream::badbit); -+ -+ std::ofstream out(*file + ".tmp", std::ofstream::binary | std::ofstream::trunc); -+ if (!out) { -+ std::clog << "git-crypt: " << *file << ".tmp: unable to open for writing" << std::endl; -+ return 1; -+ } -+ out.exceptions(std::ifstream::badbit); -+ -+ if (smudge(argi, argv, in, out) != 0) { -+ std::clog << "Error: failed to smudge " << *file << ": unable to merge file" << std::endl; -+ return 1; -+ } -+ in.close(); -+ out.close(); -+ } -+ -+ // git merge-file --marker-size <marker_size> <current_path> <base_path> <other_path> -+ std::vector<std::string> command; -+ command.push_back("git"); -+ command.push_back("merge-file"); -+ command.push_back("-L"); -+ command.push_back("ours"); -+ command.push_back("-L"); -+ command.push_back("base"); -+ command.push_back("-L"); -+ command.push_back("theirs"); -+ command.push_back("--marker-size"); -+ command.push_back(marker_size); -+ command.push_back(std::string(current_path) + ".tmp"); -+ command.push_back(std::string(base_path) + ".tmp"); -+ command.push_back(std::string(other_path) + ".tmp"); -+ int ret = exit_status(exec_command(command)); -+ -+ // Run clean on output file -+ // We have to clean (encrypt) the output file because git runs smudge filter on it -+ // afterwards which would complain about the file not being encrypted. -+ { -+ std::ifstream in(std::string(current_path) + ".tmp", std::ifstream::binary); -+ if (!in) { -+ std::clog << "git-crypt: " << current_path << ".tmp: unable to open for reading" << std::endl; -+ return 1; -+ } -+ in.exceptions(std::ifstream::badbit); -+ -+ std::ofstream out(current_path, std::ofstream::binary | std::ofstream::trunc); -+ if (!out) { -+ std::clog << "git-crypt: " << current_path << ": unable to open for writing" << std::endl; -+ return 1; -+ } -+ out.exceptions(std::ifstream::badbit); -+ -+ if (clean(argi, argv, in, out) != 0) { -+ std::clog << "Error: failed to clean " << current_path << ": unable to merge file" << std::endl; -+ return 1; -+ } -+ in.close(); -+ out.close(); -+ } -+ -+ // Clean-up temporary files -+ for (std::vector<std::string>::const_iterator file(smudge_files.begin()); file != smudge_files.end(); ++file) { -+ remove_file(*file + ".tmp"); -+ } -+ -+ return ret; -+} -+ - void help_init (std::ostream& out) - { - // |--------------------------------------------------------------------------------| 80 chars -diff --git a/commands.hpp b/commands.hpp -index bf4632c..51f4aea 100644 ---- a/commands.hpp -+++ b/commands.hpp -@@ -45,6 +45,7 @@ struct Error { - int clean (int argc, const char** argv, std::istream& in = std::cin, std::ostream& out = std::cout); - int smudge (int argc, const char** argv, std::istream& in = std::cin, std::ostream& out = std::cout); - int diff (int argc, const char** argv); -+int merge (int argc, const char** argv); - // Public commands: - int init (int argc, const char** argv); - int unlock (int argc, const char** argv); -diff --git a/doc/multiple_keys.md b/doc/multiple_keys.md -index 6d7fc69..66b462a 100644 ---- a/doc/multiple_keys.md -+++ b/doc/multiple_keys.md -@@ -11,7 +11,7 @@ option to `git-crypt init` as follows: - To encrypt a file with an alternative key, use the `git-crypt-KEYNAME` - filter in `.gitattributes` as follows: - -- secretfile filter=git-crypt-KEYNAME diff=git-crypt-KEYNAME -+ secretfile filter=git-crypt-KEYNAME diff=git-crypt-KEYNAME merge=git-crypt-KEYNAME - - To export an alternative key or share it with a GPG user, pass the `-k - KEYNAME` option to `git-crypt export-key` or `git-crypt add-gpg-user` -diff --git a/git-crypt.cpp b/git-crypt.cpp -index 9505834..d8c2072 100644 ---- a/git-crypt.cpp -+++ b/git-crypt.cpp -@@ -73,6 +73,7 @@ static void print_usage (std::ostream& out) - out << " clean [LEGACY-KEYFILE]" << std::endl; - out << " smudge [LEGACY-KEYFILE]" << std::endl; - out << " diff [LEGACY-KEYFILE] FILE" << std::endl; -+ out << " merge" << std::endl; - */ - out << std::endl; - out << "See 'git-crypt help COMMAND' for more information on a specific command." << std::endl; -@@ -231,6 +232,9 @@ try { - if (std::strcmp(command, "diff") == 0) { - return diff(argc, argv); - } -+ if (std::strcmp(command, "merge") == 0) { -+ return merge(argc, argv); -+ } - } catch (const Option_error& e) { - std::clog << "git-crypt: Error: " << e.option_name << ": " << e.message << std::endl; - help_for_command(command, std::clog); -diff --git a/man/git-crypt.xml b/man/git-crypt.xml -index 96f53d7..21e1359 100644 ---- a/man/git-crypt.xml -+++ b/man/git-crypt.xml -@@ -310,11 +310,11 @@ - <para> - Then, you specify the files to encrypt by creating a - <citerefentry><refentrytitle>gitattributes</refentrytitle><manvolnum>5</manvolnum></citerefentry> file. -- Each file which you want to encrypt should be assigned the "<literal>filter=git-crypt diff=git-crypt</literal>" -+ Each file which you want to encrypt should be assigned the "<literal>filter=git-crypt diff=git-crypt merge=git-crypt</literal>" - attributes. For example: - </para> - -- <screen>secretfile filter=git-crypt diff=git-crypt *.key filter=git-crypt diff=git-crypt</screen> -+ <screen>secretfile filter=git-crypt diff=git-crypt merge=git-crypt *.key filter=git-crypt diff=git-crypt merge=git-crypt</screen> - - <para> - Like a <filename>.gitignore</filename> file, <filename>.gitattributes</filename> files can match wildcards and -@@ -383,7 +383,7 @@ - following in <filename>dir/.gitattributes</filename>: - </para> - -- <screen>* filter=git-crypt diff=git-crypt .gitattributes !filter !diff</screen> -+ <screen>* filter=git-crypt diff=git-crypt merge=git-crypt .gitattributes !filter !diff !merge</screen> - - <para> - The second pattern is essential for ensuring that <filename>.gitattributes</filename> itself -@@ -414,7 +414,7 @@ - filter in <filename>.gitattributes</filename> as follows: - </para> - -- <screen><replaceable>secretfile</replaceable> filter=git-crypt-<replaceable>KEYNAME</replaceable> diff=git-crypt-<replaceable>KEYNAME</replaceable></screen> -+ <screen><replaceable>secretfile</replaceable> filter=git-crypt-<replaceable>KEYNAME</replaceable> diff=git-crypt-<replaceable>KEYNAME</replaceable> merge=git-crypt-<replaceable>KEYNAME</replaceable></screen> - - <para> - To export an alternative key or share it with a GPG user, pass the diff --git a/testing/git-crypt/0002-keep-empty-files-unencrypted.patch b/testing/git-crypt/0002-keep-empty-files-unencrypted.patch deleted file mode 100644 index d0e490bfd8..0000000000 --- a/testing/git-crypt/0002-keep-empty-files-unencrypted.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 62c372581b3342d6540e5c11aaea3247ee9f852c Mon Sep 17 00:00:00 2001 -From: Hugo Peixoto <hugo.peixoto@gmail.com> -Date: Mon, 29 Oct 2018 19:40:18 +0000 -Subject: [PATCH] Keep empty files unencrypted - -To work around the issue that git considers the working directory -dirty when empty files are encrypted, these are kept untouched when -cleaning/smudging. - -Security wise, this is not an issue, as you can check if an encrypted -file is empty due to the deterministic encryption properties. - -Patch-Source: https://github.com/AGWA/git-crypt/issues/53 ---- - commands.cpp | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/commands.cpp b/commands.cpp -index 5ac0b47..a0a8d6e 100644 ---- a/commands.cpp -+++ b/commands.cpp -@@ -748,6 +748,10 @@ int clean (int argc, const char** argv) - return 1; - } - -+ if (file_size == 0) { -+ return 0; -+ } -+ - // We use an HMAC of the file as the encryption nonce (IV) for CTR mode. - // By using a hash of the file we ensure that the encryption is - // deterministic so git doesn't think the file has changed when it really -@@ -865,6 +869,11 @@ int smudge (int argc, const char** argv) - // Read the header to get the nonce and make sure it's actually encrypted - unsigned char header[10 + Aes_ctr_decryptor::NONCE_LEN]; - in.read(reinterpret_cast<char*>(header), sizeof(header)); -+ -+ if (in.gcount() == 0) { -+ return 0; -+ } -+ - if (in.gcount() != sizeof(header) || std::memcmp(header, "\0GITCRYPT\0", 10) != 0) { - // File not encrypted - just copy it out to stdout - std::clog << "git-crypt: Warning: file not encrypted" << std::endl; diff --git a/testing/git-crypt/APKBUILD b/testing/git-crypt/APKBUILD deleted file mode 100644 index 037fdc3799..0000000000 --- a/testing/git-crypt/APKBUILD +++ /dev/null @@ -1,34 +0,0 @@ -# Contributor: Laurent Arnoud <laurent@spkdev.net> -# Contributor: Jakub Jirutka <jakub@jirutka.cz> -# Maintainer: Laurent Arnoud <laurent@spkdev.net> -pkgname=git-crypt -pkgver=0.6.0 -pkgrel=1 -pkgdesc="Transparent file encryption in git" -url="https://www.agwa.name/projects/git-crypt" -arch="all" -license="GPL-3.0-or-later" -depends="git" -options="!check" # No test suite -makedepends="docbook-xml docbook-xsl openssl-dev" -subpackages="$pkgname-doc" -source="$pkgname-$pkgver.tar.gz::https://github.com/AGWA/$pkgname/archive/$pkgver.tar.gz - 0001-add-merge-driver.patch - 0002-keep-empty-files-unencrypted.patch - " -builddir="$srcdir/$pkgname-$pkgver" - -build() { - cd "$builddir" - make -} - -package() { - cd "$builddir" - make PREFIX="/usr" DESTDIR="$pkgdir" ENABLE_MAN=yes install - install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING -} - -sha512sums="06fd9f6dbdc5c9fa9196f3e81a87cd3688089623b2658daf9c98809d5ca14df0b7ca69fdfe8279abf575957c366f2f93bd5a6885092eb533bd0d1ed9fe9dfac5 git-crypt-0.6.0.tar.gz -90da8f4c6f084ec35a753969908eb1b1c4e2ff3bc6b0eb22aa3d4b88c712c2f9db09d7ad404ec2fb0e6addeb6f4c724b7008ed2687ad3892ea4bf16f4685c975 0001-add-merge-driver.patch -136b5ad3a197f462878210462ce4d4bac6978d9ef67f5a4f49acedd58c48491c245f8649885bcc2bed43d642f7e5652d32acf12861b28582b6658482168f7088 0002-keep-empty-files-unencrypted.patch" |
