From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6685232874431447040 X-Received: by 2002:a1c:c181:: with SMTP id r123mr16134763wmf.13.1556527073499; Mon, 29 Apr 2019 01:37:53 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:d84d:: with SMTP id k13ls6545086wrl.10.gmail; Mon, 29 Apr 2019 01:37:52 -0700 (PDT) X-Google-Smtp-Source: APXvYqwEU/W/zfymWkJuL7rVouu4qpLxs993NDMmVn2dmz+avuZf2XJ7uuIsAnnkLURm9W5lbrJL X-Received: by 2002:a5d:52c6:: with SMTP id r6mr21829207wrv.131.1556527072165; Mon, 29 Apr 2019 01:37:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556527072; cv=none; d=google.com; s=arc-20160816; b=oD2za3MwPXaw3HfEvb22jmvyYLHKl43UB6P8H2Pgr3xHPHBUnm9IYKcqWrNBuwmptD BmjZCAwrNcWs+iUTkD5tGkaPRprBEn6LLCg8LN/p24XXuFvsCkA7Z/16wEYiziEJIIhl jSt05P4LPuNA7lLkuiBiq4JWhQ2uUthKh337PHpC/IupXNIHw8Yb0V/wbg9hy8hBVq3I pwzzYqlhqBcL0v0gsnSu6jOeaLDQrKNu7fB3iQh6uYCgv6p+kvTo9ymSOaJc687NcLW+ VszG6XvD+oekeaB8eQCLnnG4uHArI1erUliN6+9Rv91QsHV3LlJlbJbootYXjPMXntRG qllg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:mime-version:user-agent :date:message-id:subject:from:cc:to; bh=wfdIHnfX4sVhfqVKK4ebv6e4vUkVLvknQ/hC1+PvEjU=; b=q9MssPGH9v/fhPIpap1hznmRIcl8xbgGrV4a8VoztJmIH3z/Ad4+MIP9JtBhNuh4t5 NVuqK5KLSDGhAA4Dl+yFroH21jeGGh9F0LGu/0WnhvsA53dZ/dVurVIR6Cjd8OOy941p D2QuJyi3Ecq4ACjs7yvrlphWkIrleFKFlbqeKwLanlbRykVI2fHitMQw/9+EngGlXgwt QNddXw5znxLj1Vx1ErAGZg6p55oMEUcjZf34Ps5mGp7DGlKyeCvw31n9pqKtFarVnKZZ b8Z+bkKYNGPbyhnRHmkrnXQH2cRQ52ksH9GRQjrqlCW5rd6SJcGuFTtK8UGpjYh8yRv+ bZ1g== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Return-Path: Received: from david.siemens.de (david.siemens.de. [192.35.17.14]) by gmr-mx.google.com with ESMTPS id y130si628395wmd.2.2019.04.29.01.37.52 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Apr 2019 01:37:52 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.14 as permitted sender) client-ip=192.35.17.14; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id x3T8bp4c010931 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 29 Apr 2019 10:37:51 +0200 Received: from [139.22.43.249] ([139.22.43.249]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id x3T8bpqA005185; Mon, 29 Apr 2019 10:37:51 +0200 To: isar-users Cc: "Su, Bao Cheng (RC-CN DF FA R&D)" From: Jan Kiszka Subject: [PATCH] patch: Add support for patches in sub-directories Message-ID: <529c6ca1-0270-1323-07a2-7f0827329abb@siemens.com> Date: Mon, 29 Apr 2019 10:37:51 +0200 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: qXxvh72XM4oF From: Jan Kiszka The patch class was assuming that the file is flat in the workdir after unpack. That may not be true. Enhance the logic and add a test case to hello-isar. Reported-by: Su Bao Cheng Signed-off-by: Jan Kiszka --- .../hello-isar/files/{ => subdir}/0001-Add-some-help.patch | 0 meta-isar/recipes-app/hello-isar/hello-isar.bb | 2 +- meta/classes/patch.bbclass | 9 +++++---- 3 files changed, 6 insertions(+), 5 deletions(-) rename meta-isar/recipes-app/hello-isar/files/{ => subdir}/0001-Add-some-help.patch (100%) diff --git a/meta-isar/recipes-app/hello-isar/files/0001-Add-some-help.patch b/meta-isar/recipes-app/hello-isar/files/subdir/0001-Add-some-help.patch similarity index 100% rename from meta-isar/recipes-app/hello-isar/files/0001-Add-some-help.patch rename to meta-isar/recipes-app/hello-isar/files/subdir/0001-Add-some-help.patch diff --git a/meta-isar/recipes-app/hello-isar/hello-isar.bb b/meta-isar/recipes-app/hello-isar/hello-isar.bb index 5806f9e..144a433 100644 --- a/meta-isar/recipes-app/hello-isar/hello-isar.bb +++ b/meta-isar/recipes-app/hello-isar/hello-isar.bb @@ -16,7 +16,7 @@ DEPENDS += "libhello" SRC_URI = " \ git://github.com/ilbers/hello.git;protocol=https;destsuffix=${P} \ - file://0001-Add-some-help.patch \ + file://subdir/0001-Add-some-help.patch \ file://yet-another-change.txt;apply=yes;striplevel=0" SRCREV = "a18c14cc11ce6b003f3469e89223cffb4016861d" diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass index bb203b7..2662702 100644 --- a/meta/classes/patch.bbclass +++ b/meta/classes/patch.bbclass @@ -40,8 +40,8 @@ python do_patch() { if apply == "no": continue - basename = fetcher.ud[src_uri].basename or "" - if not (basename.endswith(".patch") or apply == "yes"): + path = fetcher.ud[src_uri].path or "" + if not (path.endswith(".patch") or apply == "yes"): continue patchdir = fetcher.ud[src_uri].parm.get("patchdir") or src_dir @@ -54,8 +54,9 @@ python do_patch() { cmds = open(applied_patches_dir + ".patch-commands", "a") - patch_file = applied_patches_dir + basename - shutil.copyfile(workdir + basename, patch_file) + patch_file = applied_patches_dir + path + bb.utils.mkdirhier(os.path.dirname(patch_file)) + shutil.copyfile(workdir + path, patch_file) striplevel = fetcher.ud[src_uri].parm.get("striplevel") or "1" -- 2.16.4