diff options
author | 0x9fff00 | 2019-12-01 15:01:28 +0100 |
---|---|---|
committer | 0x9fff00 | 2019-12-01 15:01:28 +0100 |
commit | 603a831e29552dc9601ef1b107680a145acf845e (patch) | |
tree | 12a707d9e72ef2d080f52fe0605244fca410c298 | |
parent | 8c2e0c62706daa548ef6f76d00b371cfde062288 (diff) | |
download | aur-603a831e29552dc9601ef1b107680a145acf845e.tar.gz |
Add patches for missing algorithm header
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | .gitignore | 28 | ||||
-rw-r--r-- | .gitignore_append | 2 | ||||
-rw-r--r-- | 0001-Fix-31-add-missing-algorithm-header.patch | 144 | ||||
-rw-r--r-- | 0002-Add-missing-algorithm-header-to-main.cpp.patch | 24 | ||||
-rw-r--r-- | PKGBUILD | 36 |
6 files changed, 227 insertions, 13 deletions
@@ -1,6 +1,6 @@ pkgbase = img4tool-git pkgdesc = Tool for manipulating IMG4, IM4M and IM4P files - pkgver = r162.d514ce5 + pkgver = r168.dd53076 pkgrel = 1 url = https://github.com/tihmstar/img4tool arch = x86_64 @@ -13,7 +13,11 @@ pkgbase = img4tool-git provides = img4tool conflicts = img4tool source = git+https://github.com/tihmstar/img4tool.git + source = 0001-Fix-31-add-missing-algorithm-header.patch + source = 0002-Add-missing-algorithm-header-to-main.cpp.patch sha256sums = SKIP + sha256sums = 656580f345b286f2f9b5c1b91e2a819b2dea580cb3a9b4a22ccb4befd7ea42b0 + sha256sums = d95f9c542b65b36df5ebf7cf3ed374222cc77ad92235cb0a98e986e964e36fff pkgname = img4tool-git diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..c7c217204f79 --- /dev/null +++ b/.gitignore @@ -0,0 +1,28 @@ +*.tar +*.tar.* +*.jar +*.exe +*.msi +*.zip +*.tgz +*.log +*.log.* +*.sig + +pkg/ +src/ +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* +# archlinuxpackages linux +img4tool diff --git a/.gitignore_append b/.gitignore_append new file mode 100644 index 000000000000..bd2eb20ceeac --- /dev/null +++ b/.gitignore_append @@ -0,0 +1,2 @@ +# archlinuxpackages linux +img4tool diff --git a/0001-Fix-31-add-missing-algorithm-header.patch b/0001-Fix-31-add-missing-algorithm-header.patch new file mode 100644 index 000000000000..599a743e7072 --- /dev/null +++ b/0001-Fix-31-add-missing-algorithm-header.patch @@ -0,0 +1,144 @@ +From 371ef6a8e0260bd15b0d3ccc29bb25d8a5dd7a4d Mon Sep 17 00:00:00 2001 +From: elp0t0r1c0 <elpotorico@protonmail.com> +Date: Fri, 29 Nov 2019 21:44:29 +0100 +Subject: [PATCH 1/2] Fix #31: add missing algorithm header + +--- + img4tool/img4tool.cpp | 33 +++++++++++++++++---------------- + 1 file changed, 17 insertions(+), 16 deletions(-) + +diff --git a/img4tool/img4tool.cpp b/img4tool/img4tool.cpp +index ac62916..3746257 100644 +--- a/img4tool/img4tool.cpp ++++ b/img4tool/img4tool.cpp +@@ -10,6 +10,7 @@ + #include <stdio.h> + #include <string.h> + #include <array> ++#include <algorithm> + #include <arpa/inet.h> + #include "ASN1DERElement.hpp" + #include <libgeneral/macros.h> +@@ -369,7 +370,7 @@ void tihmstar::img4tool::printIM4P(const void *buf, size_t size){ + { + ASN1DERElement versionTag = tag[0]; + ASN1DERElement sizeTag = tag[1]; +- ++ + assure(versionTag.tag().isConstructed == ASN1DERElement::Primitive); + assure(versionTag.tag().tagNumber == ASN1DERElement::TagINTEGER); + assure(versionTag.tag().tagClass == ASN1DERElement::Universal); +@@ -480,22 +481,22 @@ ASN1DERElement tihmstar::img4tool::getIM4RFromIMG4(const ASN1DERElement &img4){ + ASN1DERElement im4r = container[0]; + + assure(isIM4R(im4r)); +- ++ + return im4r; + } + + ASN1DERElement tihmstar::img4tool::getBNCNFromIM4R(const ASN1DERElement &im4r){ + assure(isIM4R(im4r)); +- ++ + ASN1DERElement set = im4r[1]; + ASN1DERElement bncnTag = set[0]; + size_t ptagVal = 0; + ASN1DERElement ptag = parsePrivTag(bncnTag.buf(), bncnTag.size(), &ptagVal); + ASN1DERElement octet = ptag[1]; +- ++ + //convert big endian to little endian + std::string octetString{(char*)octet.payload(),octet.payloadSize()}; +- ++ + ASN1DERElement retval({ASN1DERElement::TagOCTET, ASN1DERElement::Primitive, ASN1DERElement::Universal},octetString.c_str(),octetString.size()); + return retval; + } +@@ -564,7 +565,7 @@ ASN1DERElement tihmstar::img4tool::uncompressIfNeeded(const ASN1DERElement &comp + ASN1DERElement compressingSequence = origIM4P[5]; + ASN1DERElement versionTag = compressingSequence[0]; + ASN1DERElement sizeTag = compressingSequence[1]; +- ++ + assure(versionTag.tag().isConstructed == ASN1DERElement::Primitive); + assure(versionTag.tag().tagNumber == ASN1DERElement::TagINTEGER); + assure(versionTag.tag().tagClass == ASN1DERElement::Universal); +@@ -574,10 +575,10 @@ ASN1DERElement tihmstar::img4tool::uncompressIfNeeded(const ASN1DERElement &comp + assure(sizeTag.tag().isConstructed == ASN1DERElement::Primitive); + assure(sizeTag.tag().tagNumber == ASN1DERElement::TagINTEGER); + assure(sizeTag.tag().tagClass == ASN1DERElement::Universal); +- ++ + unpackedLen = sizeTag.getIntegerValue(); + unpacked = (char*)malloc(unpackedLen); +- ++ + if ((uncompSizeReal = lzfse_decode_buffer((uint8_t*)unpacked, unpackedLen, (const uint8_t*)compressedOctet.payload(), compressedOctet.payloadSize(), NULL)) == unpackedLen) { + retVal = ASN1DERElement({ASN1DERElement::TagNumber::TagOCTET,ASN1DERElement::Primitive, ASN1DERElement::Universal}, unpacked, unpackedLen); + printf("ok\n"); +@@ -780,9 +781,9 @@ bool tihmstar::img4tool::isGeneratorValidForIM4M(const ASN1DERElement &im4m, std + try { + ASN1DERElement bnch = getValFromIM4M(im4m,'BNCH'); + uint64_t gen = 0; +- ++ + sscanf(generator.c_str(), "0x%16llx", &gen); +- ++ + if (bnch.payloadSize() == SHA_DIGEST_LENGTH) { + std::array<char, SHA_DIGEST_LENGTH> tmp{'\0'}; + std::string hash{tmp.begin(),tmp.end()}; +@@ -915,7 +916,7 @@ bool tihmstar::img4tool::isIM4R(const ASN1DERElement &im4r) noexcept{ + assure(set.tag().tagClass == ASN1DERElement::TagClass::Universal); + + ASN1DERElement bncnTag = set[0]; +- ++ + size_t ptagVal = 0; + ASN1DERElement ptag = parsePrivTag(bncnTag.buf(), bncnTag.size(), &ptagVal); + assure(ptagVal == htonl('BNCN')); +@@ -1079,7 +1080,7 @@ bool tihmstar::img4tool::im4mMatchesBuildIdentity(const ASN1DERElement &im4m, pl + checksPassed = false; + findDGST = ignoreWhitelist[0]+1; + } +- ++ + printf("[IMG4TOOL] checking buildidentity matches board ... "); + if (!doesIM4MBoardMatchBuildIdentity(im4m, buildIdentity)) { + printf("NO\n"); +@@ -1135,19 +1136,19 @@ bool tihmstar::img4tool::im4mMatchesBuildIdentity(const ASN1DERElement &im4m, pl + continue; + } + } +- ++ + { + if (!strncmp(eKey, "Savage,",strlen("Savage,"))) { + printf("IGN (custom ignore: Savage)\n"); + continue; + } + } +- ++ + if (!(pDigest = plist_dict_get_item(eVal, "Digest"))) { + printf("IGN (no digest in BuildManifest)\n"); + continue; + } +- ++ + assure(plist_get_node_type(pDigest) == PLIST_DATA); + plist_get_data_val(pDigest, &digest, &digestLen); + +@@ -1194,7 +1195,7 @@ bool tihmstar::img4tool::im4mMatchesBuildIdentity(const ASN1DERElement &im4m, pl + } + } + } +- ++ + if (!hasDigit) { + if (findDGST.size()) { + printf("IGN (hash not found in im4m, but ignoring since we only care about '%s')\n",findDGST.c_str()); +-- +2.24.0 + diff --git a/0002-Add-missing-algorithm-header-to-main.cpp.patch b/0002-Add-missing-algorithm-header-to-main.cpp.patch new file mode 100644 index 000000000000..c107b427ff49 --- /dev/null +++ b/0002-Add-missing-algorithm-header-to-main.cpp.patch @@ -0,0 +1,24 @@ +From 60f9462c5a57789fc7d9ac3be595422366ec3a2d Mon Sep 17 00:00:00 2001 +From: 0x9fff00 <0x9fff00+git@protonmail.ch> +Date: Sun, 1 Dec 2019 14:45:41 +0100 +Subject: [PATCH 2/2] Add missing algorithm header to main.cpp + +--- + img4tool/main.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/img4tool/main.cpp b/img4tool/main.cpp +index dc2474e..6f9fc66 100644 +--- a/img4tool/main.cpp ++++ b/img4tool/main.cpp +@@ -12,6 +12,7 @@ + #include <getopt.h> + #include <string.h> + #include <stdlib.h> ++#include <algorithm> + + #include <libgeneral/macros.h> + #include "img4tool.hpp" +-- +2.24.0 + @@ -1,36 +1,48 @@ # Maintainer: 0x9fff00 <0x9fff00+git@protonmail.ch> # Contributor: Jonas Heinrich <onny@project-insanity.org> -_pkgname=img4tool -pkgname=$_pkgname-git -pkgver=r162.d514ce5 +_name=img4tool +pkgname=$_name-git +pkgver=r168.dd53076 pkgrel=1 pkgdesc='Tool for manipulating IMG4, IM4M and IM4P files' arch=('x86_64') -url="https://github.com/tihmstar/$_pkgname" +url="https://github.com/tihmstar/$_name" license=('LGPL3') depends=('libgeneral' 'libplist' 'openssl') makedepends=('git' 'lzfse') -provides=("$_pkgname") -conflicts=("$_pkgname") -source=("git+$url.git") -sha256sums=('SKIP') +provides=("$_name") +conflicts=("$_name") +source=("git+$url.git" + '0001-Fix-31-add-missing-algorithm-header.patch' + '0002-Add-missing-algorithm-header-to-main.cpp.patch') +sha256sums=('SKIP' + '656580f345b286f2f9b5c1b91e2a819b2dea580cb3a9b4a22ccb4befd7ea42b0' + 'd95f9c542b65b36df5ebf7cf3ed374222cc77ad92235cb0a98e986e964e36fff') pkgver() { - cd "$_pkgname" + cd "$_name" - printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" + printf 'r%s.%s' "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +prepare() { + cd "$_name" + + for p in "$srcdir"/*.patch; do + patch -Np1 -i "$p" + done } build() { - cd "$_pkgname" + cd "$_name" ./autogen.sh --prefix=/usr make } package() { - cd "$_pkgname" + cd "$_name" make DESTDIR="$pkgdir/" install } |