From 085adb197bb73d81ba49c6128c634609d69dd191 Mon Sep 17 00:00:00 2001 From: Qiu Tingting Date: Tue, 26 Sep 2023 08:12:31 +0800 Subject: tar: add ptest support Add a ptest for tar. - It is taking around 3m to execute with kvm, so added it to PTEST_SLOW. - It contains 244 cases. - Below is parts of the run log: START: ptest-runner 2023-09-26T08:37 BEGIN: /usr/lib/tar/ptest ## ------------------------ ## ## GNU tar 1.35 test suite. ## ## ------------------------ ## PASS: tar version PASS: decompressing from stdin ... 200 tests were successful. 44 tests were skipped. DURATION: 190 END: /usr/lib/tar/ptest 2023-09-26T08:40 STOP: ptest-runner TOTAL: 1 FAIL: 0 (From OE-Core rev: 12eed1e6c701759321541d2c04eeca3db3c99247) Signed-off-by: Qiu Tingting Signed-off-by: Yan Xinkuan Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- ...CS-directory-with-writing-from-an-archive.patch | 112 +++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch (limited to 'meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch') diff --git a/meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch b/meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch new file mode 100644 index 0000000000..577a9ba997 --- /dev/null +++ b/meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch @@ -0,0 +1,112 @@ +From 4f814e0e4c673f86dc65a557f7e55f6b5efd1529 Mon Sep 17 00:00:00 2001 +From: Anton Makrushin +Date: Mon, 20 Mar 2023 20:05:42 +0530 +Subject: Exclude VCS directory with writing from an archive + +See https://savannah.gnu.org/bugs/?62859 + +Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=4f814e0e4c673f86dc65a557f7e55f6b5efd1529] + +Signed-off-by: Qiu Tingting + +--- + tests/exclude18.at | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 87 insertions(+) + create mode 100644 tests/exclude18.at + +diff --git a/tests/exclude18.at b/tests/exclude18.at +new file mode 100644 +index 0000000..64aaa52 +--- /dev/null ++++ b/tests/exclude18.at +@@ -0,0 +1,87 @@ ++# Process this file with autom4te to create testsuite. -*- Autotest -*- ++ ++# Test suite for GNU tar. ++# Copyright 2004-2023 Free Software Foundation, Inc. ++ ++# This file is part of GNU tar. ++ ++# GNU tar is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3 of the License, or ++# (at your option) any later version. ++ ++# GNU tar is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++# Test --exclude-vcs option with subcommands: EXTRACT, LIST, DIFF. ++# Check VCS directory with files, and empty. ++# ++# Ref: https://savannah.gnu.org/bugs/?62859 ++# Wed 03 Aug 2022 04:06:28 PM UTC, original submission: Quote ++# Mohamed Akram ++# > The --exclude-vcs flag seems to exclude .gitignore but not .git when ++# extracting. ++ ++AT_SETUP([--exclude-vcs extract list compare]) ++AT_KEYWORDS([exclude-vcs extract list compare exclude18]) ++ ++AT_TAR_CHECK([ ++AT_SORT_PREREQ ++mkdir gitrepo ++cd gitrepo ++ ++# Make an empty VCS directory: ++mkdir .svn ++ ++# Make a VCS directory with a file: ++mkdir .git ++touch .git/_A ++ ++# Make a VCS file: ++touch .gitignore ++ ++# Make non-VCS files: ++touch .git_B ++touch _C ++ ++# Create an archive, include VCS: ++cd .. ++tar -cf gitrepo.tar gitrepo ++rm -r gitrepo ++ ++echo Extract: ++tar -xvf gitrepo.tar --exclude-vcs | sort ++ ++echo ++echo List: ++tar -tf gitrepo.tar --exclude-vcs | sort ++ ++echo ++echo Diff: ++tar -dvf gitrepo.tar --exclude-vcs gitrepo | sort ++ ++], ++[0], ++[Extract: ++gitrepo/ ++gitrepo/.git_B ++gitrepo/_C ++ ++List: ++gitrepo/ ++gitrepo/.git_B ++gitrepo/_C ++ ++Diff: ++gitrepo/ ++gitrepo/.git_B ++gitrepo/_C ++], ++[]) ++ ++AT_CLEANUP +-- +cgit v1.1 + -- cgit v1.2.3-54-g00ecf