| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
I couldn't find any reason why the patch/tar/unzip wrapper is
generated each time inspect is invoked. Make it a separate script in
its own right and let the patch, tar and unzip links point to it.
This makes this piece of code easier to read, edit, trace and debug.
This also solves the case where the filesystem hosting the temporary
files is mounted with noexec.
|
|
|
|
|
| |
Move the path normalization code to a separate function, to avoid
redundancy and make the code more readable.
|
|
|
|
|
|
|
|
| |
A few more files can be excluded from md5sums as we know they are
neither patches nor archives:
* _constraints, _service and baselibs.conf, from the Build Service
* signature files
* rpmlintrc files
|
|
|
|
|
|
|
|
|
| |
This temporary data file is overwritten as needed and the directory
it sits in is blasted when the script exits, so there is no point in
explicitly deleting this file at the beginning of each wrapper
invocation.
This simple change speeds up "inspect" by 3-4% in my tests.
|
|
|
|
|
|
| |
The wrappers may be called before the %prep section is entered, in
which case RPM_BUILD_DIR isn't set yet. In that case we want to
pass trough transparently.
|
|
|
|
|
|
|
|
|
|
| |
Instead of exporting an arbitrary list of quilt internal variables,
which helper scripts may or may not use, let each command explicitly
export variables as needed before calling an helper script. This is
both clearer and more efficient.
In practice, only dependency-graph needs to access internal
variables at the moment, and it only uses $QUILT_PC.
|
|
|
|
|
|
|
|
| |
If the series file is inconsistent, "quilt pop" will disable the
consistency check as it updates the timestamp of the database file.
It's OK if all patches are popped. If not then the series file may
still be inconsistent. In that case, we want to update the timestamp
of the series file, to rearm the consistency check.
|
|
|
|
| |
Options -v and --sourcedir were not listed.
|
|
|
|
|
|
| |
* Drop quotes that aren't needed and break syntax highlighting in some
editors.
* Coding style cleanups.
|
|
|
|
|
|
|
|
|
| |
"quilt push 0" returns the following cryptic message:
Now at patch patches/quilt
So add the same check we already have in command pop and detect when
nothing needs to be done, returning the more sane message:
No patch applied
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Quilt allows manual changes to the series file to some degree. For
example, adding comments or reordering patches in the unapplied
section of the series file is OK. However, changing the order of
applied patches breaks a number of assumptions and can cause quilt to
produce unexpected or confusing results.
For example, starting from this:
+ patches/01.patch
= patches/02.patch
patches/03.patch
patches/04.patch
and moving the last patch at the beginning of the series file,
"quilt series -v" will print:
+ patches/04.patch
+ patches/01.patch
= patches/02.patch
patches/03.patch
That is, it will claim that 04.patch is applied, while it it not.
Likewise, 04.patch would be listed by neither "quilt applied" nor
"quilt unapplied".
While addressing all such cases would certainly be possible, that
would require a significant amount of work, and would come with
performance penalties. It would also be difficult to be certain that
all issues have been found and addressed. So it seems more reasonable
to simply spot such manual changes to the series file and ask the user
to pop all patches to start from a clean state as needed.
|
| |
|
|
|
|
|
| |
The same test can be implemented using only shell code, saving the
cost of piping to an external command.
|
| |
|
|
|
|
|
|
|
| |
Commit a626fcf8b95f2ff51701a00d65043b9f65207514 (setup: Skip version
check) is insufficient for spec file-based setup commands. inspect
itself also sources patchfns, so it must also skip the version check
explicitly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The command line interface to tar is complex and sometimes confusing,
but we should still do our best to figure out where the file name is
on that command line.
Add support for the --file FILE and --file=FILE options. Other long
options must be explicitly skipped, as well as short options not
containing the letter "f".
With this we should be good to go in most real-world cases, but
there are still a few corner cases we may not handle properly. Let's
just hope we never hit them.
Reported by Petr Tesarik.
|
|
|
|
|
|
| |
We already have a function to figure out which files are touched by
unapplied patches. The only thing missing to let the user call "quilt
files" on unapplied patches was two small spots of glue.
|
|
|
|
|
| |
Filter out duplicates in filenames_in_patch so that callers don't
have to deal with them.
|
|
|
|
|
| |
Another minor optimization in filenames_in_patch: reorder the field
testing to only test $3 as needed.
|
|
|
|
|
| |
Now that the patches command works with context patches, we can test
that.
|
|
|
|
|
| |
Function filenames_in_patch in patchfns does roughly the same as
function touched_by_patch, so fix the former and use it.
|
|
|
|
|
|
| |
Minor optimizations:
* Drop unneeded quotes
* Drop unneeded pattern capturing
|
|
|
|
|
|
|
|
|
| |
Introduce a helper function checking for availability of a given
external tool. A standard error message is displayed if the required
tool is not available.
Use this helper function in graph, mail and setup, instead of
duplicating the code.
|
|
|
|
|
| |
Use the array_join helper function, it is more readable than bash
magic.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, trying to use the graph subcommand without graphviz being
installed resulted in a cryptic error message:
Can't exec "tred": No such file or directory at /usr/lib/perl/5.14/IO/File.pm line 66, <STDIN> line 1.
graphviz is already in the Suggests field of the debian package, and
we cannot raise this dependency severity given the central role of
quilt in the debian infrastructure. This informative error message is
much more sensible.
Also, merge the error message with the one from quilt mail when
formail is not installed to ease the life of translators.
Fixes Debian bug #659944:
Bug-Debian: http://bugs.debian.org/659944
|
|
|
|
|
| |
Before running inspect on a spec file, verify that rpmbuild is
available. Print a user-friendly error message if not.
|
|
|
|
|
|
|
| |
The version check is irrelevant when running "quilt setup", as it is
creating a brand new working tree anyway.
Reported by Petr Tesarik.
|
|
|
|
|
|
|
|
| |
Commit 48ff26d6 already added a QUILT_COMPAT_PROG_PATH line for cp to
configure.ac, and the corresponding CP variable in Makefile.in. I
don't know how I missed this originally; sorry for the churn!
Signed-off-by: Kent R. Spillner <kspillner@acm.org>
|
|
|
|
|
|
|
|
| |
diff might be called by a different name if the configure script was
invoked with the --with-diff argument. Make the permissions test in
faildiff.test match other names as well.
Signed-off-by: Kent R. Spillner <kspillner@acm.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
293c4ddb added checks to Makefile.in to disable the patch-wrapper test
when the configure script is not invoked with the --with-patch-wrapper
argument. Those checks assumed that PATCH_WRAPPER will always be empty
unless --with-patch-wrapper was used. However, PATCH_WRAPPER will be
set to "no" when the configure script is invoked with the
--without-patch-wrapper argument.
Reported-by: Kent R. Spillner <kspillner@acm.org>
Signed-off-by: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Create directory "patches" so that quilt commands get the right root
even if patch-wrapper fails.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
File quilt.changes is essentially redundant with git log. It is close
to useless to packagers and users as it contains too much details
while at the same time some important changes can be missing when we
forget to include them in the file.
A new file, NEWS, was created to list the user-visible change summary
for each version. This is much more useful for the target audience.
NEWS is now used instead of quilt.changes to generate the %changelog
section of the rpm spec file.
Thus we can delete quilt.changes, as well as changes2changelog.
|
|
|
|
|
| |
Update doc/RELEASING to mention the NEWS file instead of the
quilt.changes file.
|
|
|
|
|
| |
NEWS is much more appropriate than quilt.changes to feed the rpm spec
file's %changelog section.
|
|
|
|
|
|
|
|
| |
Add a NEWS file containing a summary of the most important
user-visible changes in each version of quilt. The goal is to
replace quilt.changes, which was partly incomplete and partly
redundant with the git log, by something useful for packagers and
users.
|
|
|
|
|
|
|
| |
The patch-wrapper test was unconditionally disabled by commit
97200435 ("Only run test/patch-wrapper.test if the
--with-patch-wrapper config option is used.") Re-enable this test
when the --with-patch-wrapper config option is actually used.
|
|
|
|
|
|
|
|
|
|
| |
The heuristic to find file names in unapplied patches fails miserably
on all patches with timestamps. We have to consider everything past
the last tab as the timestamp and strip it. The timestamp itself will
contain spaces so we can't split on that.
This fixes a regression introduced by commit 4df47975. It's hard to
believe this has been broken for over 4 years and nobody ever noticed.
|
|
|
|
|
| |
We need to pass --docdir to the configure script so that the
documentation files are installed where we expect them.
|
|
|
|
| |
Use file_in_patch instead of reimplementing it.
|
|
|
|
|
| |
I have no idea why I introduced this "match" variable in the first
place, it's not needed.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Function print_patch currently doesn't print a newline character at
the end of the patch name. Because of this, callers which need the
newline character much wrap print_patch with an echo. This hurts
performance and isn't too elegant either.
So let print_patch print a trailing newline character. If the caller
doesn't need it, it will typically be stripped by bash anyway (tailing
whitespace is stripped on variable expansion.) And if the caller does
need it, it avoids the extra call to echo.
|