Add files missing from initial import
This commit is contained in:
parent
bec7131d10
commit
b3d3216bfe
101
README.local-patches
Normal file
101
README.local-patches
Normal file
@ -0,0 +1,101 @@
|
||||
Fedora GDB local patches policy
|
||||
===============================
|
||||
|
||||
In order to make things easier for the Fedora GDB maintainer, we
|
||||
choose to auto-generate the local patches by making use of an upstream
|
||||
git repository. Below you can find a few instructions on how to work
|
||||
using this method.
|
||||
|
||||
You need to run the following commands from the directory that
|
||||
contains the "gdb.spec" file.
|
||||
|
||||
### Importing the GDB patches into a git repository
|
||||
|
||||
1) The local patches (*.patch) need to be imported into an upstream
|
||||
git repository. For example, let's assume you cloned the repository
|
||||
by doing:
|
||||
|
||||
$ git clone git://sourceware.org/git/binutils-gdb.git
|
||||
|
||||
## TIP: if you already have the repository cloned somewhere in your
|
||||
## system, you can pass a "--reference <dir>" to the "git clone"
|
||||
## command and it will use your local repository as much as possible
|
||||
## to make the clone, speeding up things.
|
||||
|
||||
2) After cloning the upstream repository, you can import your patches
|
||||
by using the script "generate-git-repo-from-patches.sh":
|
||||
|
||||
$ sh generate-git-repo-from-patches.sh <REPOSITORY_DIR>
|
||||
|
||||
The script will basically cd into the repository, checkout the
|
||||
revision specified in the file "_git_upstream_commit", iterate through
|
||||
the file "_patch_order" and "git-am" every patch *in that order*.
|
||||
This operation should complete without errors; if you find a problem
|
||||
with "git-am", it probably means that the revision specified in the
|
||||
file "_git_upstream_commit" is wrong.
|
||||
|
||||
### Rebasing the patches against a newer version/release
|
||||
|
||||
1) First, cd into the upstream repository. All you have to do is
|
||||
choose the revision against which you plan to rebase the patches, and
|
||||
"git rebase <REVISION>". git will do the rest, and you will be able
|
||||
to perform conflict resolution by git's algorithm, which is smarter.
|
||||
|
||||
### Creating new patches
|
||||
|
||||
1) Create the new patch on top of the the others, as usual. Note that
|
||||
you can use "git rebase" whenever you want to reorder patch order, or
|
||||
even to delete a patch.
|
||||
|
||||
2) When writing the commit log, you must obey a few rules. The
|
||||
subject line *must* be the filename of the patch. This line will be
|
||||
used when exporting the patches from the git repository, and
|
||||
(obviously) it gives the filename that should be used for this
|
||||
specific patch.
|
||||
|
||||
3) You can also add comments that will go into the auto-generated
|
||||
"Patch:" file (see below). To do that, use the special marker ";;" at
|
||||
the beginning of the line. This way, a commit log that says:
|
||||
|
||||
test-patch.patch
|
||||
|
||||
;; This is a test patch
|
||||
;; Second line
|
||||
|
||||
Will generate the following entry in the auto-generated "Patch:" file:
|
||||
|
||||
# This is a test patch
|
||||
# Second line
|
||||
PatchXYZ: test-patch.patch
|
||||
|
||||
### Exporting the GDB patches from the git repository
|
||||
|
||||
1) When you're done working with the patches, go back to the directory
|
||||
that contains the "gdb.spec" file, and from there you run:
|
||||
|
||||
$ sh generate-patches-from-git-repo.sh <REPOSITORY_DIR>
|
||||
|
||||
This will regenerate all of the *.patch files (excluding the ones that
|
||||
were also excluded from the git repository), and also regenerate a few
|
||||
control files. These control files are:
|
||||
|
||||
- _gdb.spec.Patch.include: This file contains the "Patch:" directives.
|
||||
|
||||
- _gdb.spec.patch.include: This file contains the "%patch" directives.
|
||||
|
||||
- _patch_order: This file contains the patches, in the exact order
|
||||
that they must be applied. It is used when importing the patches
|
||||
into the git repository.
|
||||
|
||||
- _git_upstream_commit: This file contains the last upstream commit
|
||||
against which the patches were rebased. It is used when importing
|
||||
the patches into the git repository.
|
||||
|
||||
NOTE: If you did a rebase against a newer upstream version, you need
|
||||
to specify the commit/tag/branch against which you rebased:
|
||||
|
||||
$ sh generate-patches-from-git-repo.sh <REPOSITORY_DIR> <COMMIT_OR_TAG_OR_BRANCH>
|
||||
|
||||
For example, if you rebased against "gdb-8.1-release":
|
||||
|
||||
$ sh generate-patches-from-git-repo.sh <REPOSITORY_DIR> gdb-8.1-release
|
1
_git_upstream_commit
Normal file
1
_git_upstream_commit
Normal file
@ -0,0 +1 @@
|
||||
00f223631fa9803b783515a2f667f86997e2cdbe
|
200
_patch_order
Normal file
200
_patch_order
Normal file
@ -0,0 +1,200 @@
|
||||
gdb-6.3-rh-testversion-20041202.patch
|
||||
gdb-vla-intel-fortran-strides.patch
|
||||
gdb-vla-intel-fortran-vla-strings.patch
|
||||
gdb-vla-intel-stringbt-fix.patch
|
||||
gdb-6.3-ppc64syscall-20040622.patch
|
||||
gdb-6.3-ppc64displaysymbol-20041124.patch
|
||||
gdb-6.3-gstack-20050411.patch
|
||||
gdb-6.3-test-pie-20050107.patch
|
||||
gdb-6.3-test-self-20050110.patch
|
||||
gdb-6.3-test-dtorfix-20050121.patch
|
||||
gdb-6.3-test-movedir-20050125.patch
|
||||
gdb-6.3-threaded-watchpoints2-20050225.patch
|
||||
gdb-6.3-inferior-notification-20050721.patch
|
||||
gdb-6.3-inheritancetest-20050726.patch
|
||||
gdb-6.3-readnever-20050907.patch
|
||||
gdb-6.5-bz203661-emit-relocs.patch
|
||||
gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
|
||||
gdb-6.5-sharedlibrary-path.patch
|
||||
gdb-6.5-BEA-testsuite.patch
|
||||
gdb-6.5-last-address-space-byte-test.patch
|
||||
gdb-6.5-readline-long-line-crash-test.patch
|
||||
gdb-6.5-bz216711-clone-is-outermost.patch
|
||||
gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
|
||||
gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
|
||||
gdb-6.5-bz109921-DW_AT_decl_file-test.patch
|
||||
gdb-6.3-bz140532-ppc-unwinding-test.patch
|
||||
gdb-6.3-bz202689-exec-from-pthread-test.patch
|
||||
gdb-6.6-bz230000-power6-disassembly-test.patch
|
||||
gdb-6.6-bz229517-gcore-without-terminal.patch
|
||||
gdb-6.6-testsuite-timeouts.patch
|
||||
gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
|
||||
gdb-6.6-scheduler_locking-step-is-default.patch
|
||||
gdb-6.3-attach-see-vdso-test.patch
|
||||
gdb-6.5-bz243845-stale-testing-zombie-test.patch
|
||||
gdb-6.6-buildid-locate.patch
|
||||
gdb-6.6-buildid-locate-solib-missing-ids.patch
|
||||
gdb-6.6-buildid-locate-rpm.patch
|
||||
gdb-6.7-charsign-test.patch
|
||||
gdb-6.7-ppc-clobbered-registers-O2-test.patch
|
||||
gdb-6.7-testsuite-stable-results.patch
|
||||
gdb-6.5-ia64-libunwind-leak-test.patch
|
||||
gdb-6.5-missed-trap-on-step-test.patch
|
||||
gdb-6.5-gcore-buffer-limit-test.patch
|
||||
gdb-6.3-mapping-zero-inode-test.patch
|
||||
gdb-6.3-focus-cmd-prev-test.patch
|
||||
gdb-6.8-bz442765-threaded-exec-test.patch
|
||||
gdb-6.8-sparc64-silence-memcpy-check.patch
|
||||
gdb-6.5-section-num-fixup-test.patch
|
||||
gdb-6.8-bz436037-reg-no-longer-active.patch
|
||||
gdb-6.8-watchpoint-conditionals-test.patch
|
||||
gdb-6.8-bz466901-backtrace-full-prelinked.patch
|
||||
gdb-simultaneous-step-resume-breakpoint-test.patch
|
||||
gdb-core-open-vdso-warning.patch
|
||||
gdb-x86_64-i386-syscall-restart.patch
|
||||
gdb-bz533176-fortran-omp-step.patch
|
||||
gdb-follow-child-stale-parent.patch
|
||||
gdb-ccache-workaround.patch
|
||||
gdb-archer-pie-addons.patch
|
||||
gdb-archer-pie-addons-keep-disabled.patch
|
||||
gdb-lineno-makeup-test.patch
|
||||
gdb-ppc-power7-test.patch
|
||||
gdb-bz541866-rwatch-before-run.patch
|
||||
gdb-moribund-utrace-workaround.patch
|
||||
gdb-archer-next-over-throw-cxx-exec.patch
|
||||
gdb-bz601887-dwarf4-rh-test.patch
|
||||
gdb-6.6-buildid-locate-core-as-arg.patch
|
||||
gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
|
||||
gdb-test-bt-cfi-without-die.patch
|
||||
gdb-bz568248-oom-is-error.patch
|
||||
gdb-bz634108-solib_address.patch
|
||||
gdb-test-pid0-core.patch
|
||||
gdb-test-dw2-aranges.patch
|
||||
gdb-test-expr-cumulative-archer.patch
|
||||
gdb-physname-pr11734-test.patch
|
||||
gdb-physname-pr12273-test.patch
|
||||
gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch
|
||||
gdb-test-ivy-bridge.patch
|
||||
gdb-runtest-pie-override.patch
|
||||
gdb-attach-fail-reasons-5of5.patch
|
||||
gdb-glibc-strstr-workaround.patch
|
||||
gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
|
||||
gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
|
||||
gdb-rhbz795424-bitpos-20of25.patch
|
||||
gdb-rhbz795424-bitpos-21of25.patch
|
||||
gdb-rhbz795424-bitpos-22of25.patch
|
||||
gdb-rhbz795424-bitpos-23of25.patch
|
||||
gdb-rhbz795424-bitpos-25of25.patch
|
||||
gdb-rhbz795424-bitpos-25of25-test.patch
|
||||
gdb-rhbz795424-bitpos-lazyvalue.patch
|
||||
gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
|
||||
gdb-gnat-dwarf-crash-3of3.patch
|
||||
gdb-rhbz1007614-memleak-infpy_read_memory-test.patch
|
||||
gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
|
||||
gdb-archer-vla-tests.patch
|
||||
gdb-vla-intel-tests.patch
|
||||
gdb-btrobust.patch
|
||||
gdb-fortran-frame-string.patch
|
||||
gdb-python-gil.patch
|
||||
gdb-rhbz1156192-recursive-dlopen-test.patch
|
||||
gdb-jit-reader-multilib.patch
|
||||
gdb-rhbz1149205-catch-syscall-after-fork-test.patch
|
||||
gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch
|
||||
gdb-rhbz1350436-type-printers-error.patch
|
||||
gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
|
||||
gdb-bz1219747-attach-kills.patch
|
||||
gdb-fedora-libncursesw.patch
|
||||
gdb-opcodes-clflushopt-test.patch
|
||||
gdb-dts-rhel6-python-compat.patch
|
||||
gdb-6.6-buildid-locate-rpm-scl.patch
|
||||
gdb-readline62-ask-more-rh.patch
|
||||
gdb-6.8-quit-never-aborts.patch
|
||||
gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
|
||||
gdb-container-rh-pkg.patch
|
||||
gdb-rhbz1325795-framefilters-test.patch
|
||||
gdb-linux_perf-bundle.patch
|
||||
gdb-libexec-add-index.patch
|
||||
gdb-rhbz1398387-tab-crash-test.patch
|
||||
gdb-testsuite-readline63-sigint.patch
|
||||
gdb-archer.patch
|
||||
gdb-vla-intel-fix-print-char-array.patch
|
||||
gdb-rhbz1553104-s390x-arch12-test.patch
|
||||
gdb-rhbz881849-ipv6-1of3.patch
|
||||
gdb-rhbz881849-ipv6-2of3.patch
|
||||
gdb-rhbz881849-ipv6-3of3.patch
|
||||
gdb-rhbz1187581-power8-regs-1of7.patch
|
||||
gdb-rhbz1187581-power8-regs-2of7.patch
|
||||
gdb-rhbz1187581-power8-regs-3of7.patch
|
||||
gdb-rhbz1187581-power8-regs-4of7.patch
|
||||
gdb-rhbz1187581-power8-regs-5of7.patch
|
||||
gdb-rhbz1187581-power8-regs-6of7.patch
|
||||
gdb-rhbz1187581-power8-regs-7of7.patch
|
||||
gdb-rhbz1491128-batch-mode-exit-status-1of2.patch
|
||||
gdb-rhbz1491128-batch-mode-exit-status-2of2.patch
|
||||
gdb-use-pulongest-aarch64-linux-tdep.patch
|
||||
gdb-rhbz1653410-avoid-crash-when-calling-warning-too-early.patch
|
||||
gdb-rhbz1639242-fix-dwarf2_find_containing_comp_unit-binary-search.patch
|
||||
gdb-rhbz1560010-fix-assertion-symbol-language-dict-language-1of5.patch
|
||||
gdb-rhbz1560010-fix-assertion-symbol-language-dict-language-2of5.patch
|
||||
gdb-rhbz1560010-fix-assertion-symbol-language-dict-language-3of5.patch
|
||||
gdb-rhbz1560010-fix-assertion-symbol-language-dict-language-4of5.patch
|
||||
gdb-rhbz1560010-fix-assertion-symbol-language-dict-language-5of5.patch
|
||||
gdb-rhbz1666249-suggest-yum-instead-of-dnf.patch
|
||||
gdb-rhbz1668635-libiberty-demangle_template-memleak.patch
|
||||
gdb-rhbz1669953-aarch64-sve-binutils.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-01of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-02of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-03of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-04of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-05of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-06of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-07of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-08of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-09of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-10of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-11of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-12of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-13of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-14of15.patch
|
||||
gdb-rhbz1187581-power8-regs-not-in-8.2-15of15.patch
|
||||
gdb-rhbz1708192-parse_macro_definition-crash.patch
|
||||
gdb-rhbz1742099-reject-sections-with-invalid-sizes.patch
|
||||
gdb-rhbz1768593-s390x-arch13-01.patch
|
||||
gdb-rhbz1768593-s390x-arch13-02.patch
|
||||
gdb-rhbz1768593-s390x-arch13-03.patch
|
||||
gdb-rhbz1659535-z15-record-replay.patch
|
||||
gdb-rhbz1852580-terminal-woes.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-1of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-2of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-3of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-4of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-5of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-6of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-7of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-8of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-9of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-10of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-11of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-12of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-13of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-14of15.patch
|
||||
gdb-rhbz1842691-corefile-mem-access-15of15.patch
|
||||
gdb-rhbz1878810-bfd-suppress-loadable-section-outside-ELF-sections.patch
|
||||
gdb-rhbz1905701-DWARF-data_location.patch
|
||||
gdb-rhbz1903374-s390x-store-on-condition.patch
|
||||
gdb-rhbz1934673-fortran-nameless-modules.patch
|
||||
gdb-rhbz1854784-powerpc-remove-region-limit-dawr-1of7.patch
|
||||
gdb-rhbz1854784-powerpc-remove-region-limit-dawr-2of7.patch
|
||||
gdb-rhbz1854784-powerpc-remove-region-limit-dawr-3of7.patch
|
||||
gdb-rhbz1854784-powerpc-remove-region-limit-dawr-4of7.patch
|
||||
gdb-rhbz1854784-powerpc-remove-region-limit-dawr-5of7.patch
|
||||
gdb-rhbz1854784-powerpc-remove-region-limit-dawr-6of7.patch
|
||||
gdb-rhbz1854784-powerpc-remove-region-limit-dawr-7of7.patch
|
||||
gdb-rhbz2012818-ibmz-update-1of5.patch
|
||||
gdb-rhbz2012818-ibmz-update-2of5.patch
|
||||
gdb-rhbz2012818-ibmz-update-3of5.patch
|
||||
gdb-rhbz2012818-ibmz-update-4of5.patch
|
||||
gdb-rhbz2012818-ibmz-update-5of5.patch
|
||||
gdb-rhbz2018504-do-not-update-elf-headers.patch
|
||||
gdb-rhbz2015131-restore-inferior-terminal-1of2.patch
|
||||
gdb-rhbz2015131-avoid-sigttou-forks-2of2.patch
|
72
generate-git-repo-from-patches.sh
Executable file
72
generate-git-repo-from-patches.sh
Executable file
@ -0,0 +1,72 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Generic function to print an error message and bail out.
|
||||
die ()
|
||||
{
|
||||
echo $1 > /dev/stderr
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Print usage
|
||||
usage ()
|
||||
{
|
||||
cat <<EOF
|
||||
$0 -- Generate a git repository from .patch files
|
||||
|
||||
Usage:
|
||||
$0 [-u] [-h] <REPOSITORY>
|
||||
|
||||
<REPOSITORY> is the directory where the rebase was performed. You
|
||||
need to clone the repository first.
|
||||
|
||||
Options are:
|
||||
|
||||
-h: Print this message
|
||||
-u: Uncommit all patches and initialize stgit repo
|
||||
EOF
|
||||
exit 0
|
||||
}
|
||||
|
||||
test -f gdb.spec || die "This script needs to run from the same directory as gdb.spec."
|
||||
|
||||
test -z $1 && die "You need to specify the repository."
|
||||
test "$1" = "-h" && usage
|
||||
|
||||
uncommit=0
|
||||
if [ "$1" = "-u" ]; then
|
||||
uncommit=1
|
||||
shift
|
||||
fi
|
||||
|
||||
git_repo=$1
|
||||
if [ ! -e $git_repo ]; then
|
||||
echo "$0: repository \"$git_repo\" does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
test -f _git_upstream_commit || die "Cannot find _git_upstream_commit file."
|
||||
test -f _patch_order || die "Cannot find _patch_order file."
|
||||
|
||||
last_ancestor_commit=`cat _git_upstream_commit`
|
||||
|
||||
cd $1
|
||||
|
||||
git name-rev $last_ancestor_commit
|
||||
test $? -eq 0 || die "Could not find $last_ancestor_commit in the repository $1. Did you run 'git fetch'?"
|
||||
|
||||
# Create a branch for the checkout; use the distro name in
|
||||
# the name of this branch.
|
||||
f=`cd .. && pwd`
|
||||
name=devel-`basename $f`
|
||||
git checkout -b $name $last_ancestor_commit
|
||||
echo "Applying patches..."
|
||||
for p in `cat ../_patch_order` ; do
|
||||
git am ../$p
|
||||
test $? -eq 0 || die "Could not apply patch '$p'."
|
||||
done
|
||||
|
||||
if (($uncommit)); then
|
||||
echo "Uncommitting patches..."
|
||||
stg init
|
||||
stg uncommit -t $last_ancestor_commit -x
|
||||
fi
|
101
generate-patches-from-git-repo.sh
Executable file
101
generate-patches-from-git-repo.sh
Executable file
@ -0,0 +1,101 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Generic function to print an error message and bail out.
|
||||
die ()
|
||||
{
|
||||
echo $1 > /dev/stderr
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Print usage
|
||||
usage ()
|
||||
{
|
||||
cat <<EOF
|
||||
$0 -- Generate .patch files for a RPM package from a git repository
|
||||
|
||||
Usage:
|
||||
$0 <REPOSITORY> [<COMMIT_OR_TAG_OR_BRANCH>]
|
||||
|
||||
<REPOSITORY> is the directory where the rebase was performed.
|
||||
|
||||
<COMMIT_OR_TAG_OR_BRANCH> is the commit or tag or branch against which
|
||||
the rebase was performed. It generally just needs to be provided if
|
||||
the file "_git_upstream_commit" doesn't exist, or if you are doing a
|
||||
rebase. This script will then use 'git merge-base' to find the most
|
||||
recent common ancestor between HEAD and COMMIT_OR_TAG_OR_BRANCH.
|
||||
|
||||
Options are:
|
||||
|
||||
-h: Print this message
|
||||
EOF
|
||||
exit 0
|
||||
}
|
||||
|
||||
test -f gdb.spec || die "This script needs to run from the same directory as gdb.spec."
|
||||
|
||||
test -z $1 && die "You need to specify the repository."
|
||||
test "$1" = "-h" && usage
|
||||
|
||||
commit_or_tag="`cat _git_upstream_commit`"
|
||||
if test ! -z "$2" ; then
|
||||
commit_or_tag="$2"
|
||||
fi
|
||||
|
||||
test -z $commit_or_tag && die "Because the '_git_upstream_commit' file doesn't exist, you need to specify a commit/tag/branch."
|
||||
|
||||
test -d $1 || die "$1 is not a directory."
|
||||
|
||||
# Remove all the current patches
|
||||
for f in `cat _patch_order` ; do
|
||||
git rm -f $f
|
||||
done
|
||||
|
||||
cd $1
|
||||
|
||||
# If patches were uncommitted when the patches were applied,
|
||||
# make sure that we're sitting at the top-most patch. Otherwise
|
||||
# we'll only add patches up to the current top patch.
|
||||
# It's safe to just assume stgit was used -- the push will simply
|
||||
# fail.
|
||||
stg push --all > /dev/null 2>&1
|
||||
|
||||
git name-rev $commit_or_tag
|
||||
test $? -eq 0 || die "Could not find $commit_or_tag in the repository. Did you run 'git fetch'?"
|
||||
|
||||
idx=1
|
||||
common_ancestor=`git merge-base HEAD $commit_or_tag`
|
||||
|
||||
test -z "$common_ancestor" && die "Could not find common ancestor between HEAD and $commit_or_tag."
|
||||
|
||||
temp_PATCH_file=/tmp/_gdb.spec.Patch.include
|
||||
temp_patch_file=/tmp/_gdb.spec.patch.include
|
||||
temp_patch_order_file=/tmp/_patch_order
|
||||
|
||||
rm -f $temp_PATCH_file $temp_patch_file $temp_patch_order_file
|
||||
|
||||
for c in `git rev-list --reverse ${common_ancestor}..HEAD` ; do
|
||||
fname=`git log -1 --pretty='format:%s' $c`
|
||||
test -z $fname && die "Could not determine filename for commit $c."
|
||||
# Because git-format-patch generates patches with the first line
|
||||
# containing the commit hash, every time we do a git-format-patch
|
||||
# here we will have a different .patch file from what we had
|
||||
# before, even if nothing has changed. This is bad, so we replace
|
||||
# the commit hash by something constant (the string
|
||||
# "FEDORA_PATCHES").
|
||||
git format-patch --no-signature --no-stat -k -1 --stdout $c | sed -e '1 s/^From [0-9a-f]\+ \(.*\)/From FEDORA_PATCHES \1/' -e '/^index [0-9a-f]\+\.\.[0-9a-f]\+.*$/d' > ../$fname
|
||||
(cd .. && git add $fname)
|
||||
|
||||
cat >> $temp_PATCH_file <<EOF
|
||||
`git log -1 --pretty='format:%b' $c | sed -n 's/^;;/#/p'`
|
||||
EOF
|
||||
printf "Patch%03d: %s\n\n" $idx $fname >> $temp_PATCH_file
|
||||
printf "%%patch%03d -p1\n" $idx >> $temp_patch_file
|
||||
echo $fname >> $temp_patch_order_file
|
||||
idx=`expr $idx + 1`
|
||||
done
|
||||
|
||||
cd ..
|
||||
mv $temp_PATCH_file _gdb.spec.Patch.include
|
||||
mv $temp_patch_file _gdb.spec.patch.include
|
||||
mv $temp_patch_order_file _patch_order
|
||||
echo "$common_ancestor" > _git_upstream_commit
|
31
tests/README
Normal file
31
tests/README
Normal file
@ -0,0 +1,31 @@
|
||||
Justification
|
||||
|
||||
Adds tests according to the CI wiki specifically the standard test
|
||||
interface in the spec.
|
||||
|
||||
The playbook includes Tier1 level test cases that have been tested in
|
||||
the following contexts and is passing reliably: Classic and
|
||||
Container. Test logs are stored in the artifacts directory.
|
||||
|
||||
The following steps are used to execute the tests using the standard
|
||||
test interface: Test environment
|
||||
|
||||
Make sure you have installed packages from the spec
|
||||
|
||||
# rpm -q ansible python2-dnf libselinux-python standard-test-roles
|
||||
ansible-2.3.2.0-1.fc26.noarch
|
||||
python2-dnf-2.6.3-11.fc26.noarch
|
||||
libselinux-python-2.6-7.fc26.x86_64
|
||||
standard-test-roles-2.4-1.fc26.noarch
|
||||
|
||||
Run tests for Classic (must be run as root)
|
||||
|
||||
# export ANSIBLE_INVENTORY=$(test -e inventory && echo inventory || echo /usr/share/ansible/inventory)
|
||||
# ansible-playbook --tags=classic tests.yml
|
||||
|
||||
Run tests for Container (must be run as root)
|
||||
|
||||
# export ANSIBLE_INVENTORY=$(test -e inventory && echo inventory || echo /usr/share/ansible/inventory)
|
||||
# export TEST_SUBJECTS=docker:docker.io/library/fedora:26
|
||||
# ansible-playbook --tags=container tests.yml
|
||||
|
3
tests/inventory
Executable file
3
tests/inventory
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
export TEST_DOCKER_EXTRA_ARGS="--privileged"
|
||||
exec merge-standard-inventory "$@"
|
27
tests/tests.yml
Normal file
27
tests/tests.yml
Normal file
@ -0,0 +1,27 @@
|
||||
---
|
||||
# This first play always runs on the local staging system
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-beakerlib
|
||||
tags:
|
||||
- classic
|
||||
- container
|
||||
repositories:
|
||||
- repo: "git://pkgs.devel.redhat.com/tests/gdb"
|
||||
dest: "gdb"
|
||||
tests:
|
||||
- gdb/Sanity/debug-toolset-binary
|
||||
- gdb/Sanity/debug-system-binary
|
||||
required_packages:
|
||||
- gdb
|
||||
- coreutils
|
||||
- binutils
|
||||
- binutils-debuginfo
|
||||
- glibc
|
||||
- glibc-debuginfo
|
||||
- gcc
|
||||
- gcc-debuginfo
|
||||
- zlib
|
||||
- zlib-debuginfo
|
||||
- coreutils-debuginfo
|
||||
- which
|
Loading…
Reference in New Issue
Block a user