summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* setup: Fix path to extra patches in series fileJean Delvare2014-11-052-1/+27
| | | | | | | | | | | | | | | Extra patches (typically contained in archives) end up in the working directory, not the source directory where regular patches live. In the most common case, it makes no difference because both directories are the same. However, as soon as options -d or --sourcedir are used in conjunction with extra patches, the working directory and the source directory are different, and the paths to the extra patches in the series file get wrong. While we can't possible handle the case where the source and working directories are completely different, we can easily handle the most typical case where the working directory is a subdirectory of the source directory.
* inspect-wrapper: Minor code optimizationJean Delvare2014-11-051-2/+4
| | | | Don't test if inputfile is set twice in a row.
* inspect: Split the patch/tar/unzip wrapper to a separate scriptJean Delvare2014-11-053-282/+271
| | | | | | | | | | 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.
* setup: Introduce function normalize_pathJean Delvare2014-11-031-10/+11
| | | | | Move the path normalization code to a separate function, to avoid redundancy and make the code more readable.
* inspect: Exclude more files from md5sumsJean Delvare2014-11-031-1/+1
| | | | | | | | 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
* inspect: Don't explicitly delete the temporary data fileJean Delvare2014-10-301-1/+0
| | | | | | | | | 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.
* inspect: Pass through the wrappers when appropriateJean Delvare2014-10-301-1/+4
| | | | | | 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.
* Don't export arbitrary variablesJean Delvare2014-10-302-1/+1
| | | | | | | | | | 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.
* pop: Rearm consistency check if neededJean Delvare2014-10-302-6/+26
| | | | | | | | 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.
* inspect: List all options in usage textJean Delvare2014-10-291-1/+1
| | | | Options -v and --sourcedir were not listed.
* setup/inspect: CleanupsJean Delvare2014-10-292-13/+16
| | | | | | * Drop quotes that aren't needed and break syntax highlighting in some editors. * Coding style cleanups.
* push: Fix handling of "quilt push 0"Jean Delvare2014-10-292-0/+15
| | | | | | | | | "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
* Check for series file consistencyJean Delvare2014-10-272-3/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* inspect: Comment updateJean Delvare2014-10-251-1/+1
|
* Optimize function is_numericJean Delvare2014-10-241-1/+1
| | | | | The same test can be implemented using only shell code, saving the cost of piping to an external command.
* Test push and pop with numeric argumentsJean Delvare2014-10-151-0/+23
|
* inspect: Skip version checkJean Delvare2014-10-131-0/+3
| | | | | | | 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.
* inspect: Handle long options passed to tarJean Delvare2014-10-131-0/+45
| | | | | | | | | | | | | | | | 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.
* files: Add support for unapplied patchesJean Delvare2014-07-232-2/+10
| | | | | | 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.
* filenames_in_patch: Print each file only onceJean Delvare2014-07-231-2/+3
| | | | | Filter out duplicates in filenames_in_patch so that callers don't have to deal with them.
* Optimize function filenames_in_patch againJean Delvare2014-07-161-2/+2
| | | | | Another minor optimization in filenames_in_patch: reorder the field testing to only test $3 as needed.
* Test context patchesJean Delvare2014-07-141-1/+43
| | | | | Now that the patches command works with context patches, we can test that.
* patches: Use filenames_in_patchJean Delvare2014-07-142-26/+7
| | | | | Function filenames_in_patch in patchfns does roughly the same as function touched_by_patch, so fix the former and use it.
* Optimize function filenames_in_patchJean Delvare2014-06-241-2/+2
| | | | | | Minor optimizations: * Drop unneeded quotes * Drop unneeded pattern capturing
* Helper function checking for external toolJean Delvare2014-06-174-25/+19
| | | | | | | | | 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.
* mail: Use array_joinJean Delvare2014-06-111-1/+1
| | | | | Use the array_join helper function, it is more readable than bash magic.
* Fix NEWS file formatJean Delvare2014-06-091-3/+3
|
* Informative message when using graph without graphvizMartin Quinson2014-06-092-1/+16
| | | | | | | | | | | | | | | | | | 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
* setup: Check for rpmbuild availabilityJean Delvare2014-06-091-0/+8
| | | | | Before running inspect on a spec file, verify that rpmbuild is available. Print a user-friendly error message if not.
* setup: Skip version checkJean Delvare2014-06-092-0/+10
| | | | | | | The version check is irrelevant when running "quilt setup", as it is creating a brand new working tree anyway. Reported by Petr Tesarik.
* partially revert commit fc06a60fKent R. Spillner2014-06-043-94/+0
| | | | | | | | 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>
* faildiff.test: loosen error string constraintKent R. Spillner2014-06-031-1/+1
| | | | | | | | 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>
* Makefile.in: fix patch-wrapper checksAndreas Gruenbacher2014-06-032-3/+11
| | | | | | | | | | | | 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>
* Set version to 0.63v0.63Martin Quinson2014-05-253-11/+14
|
* Set version to 0.62v0.62Martin Quinson2014-05-073-11/+11
|
* reupdate the translation files (no manual change)Martin Quinson2014-05-074-329/+410
|
* translations need love tooMartin Quinson2014-05-071-0/+4
|
* update the french translation, back to 100%Martin Quinson2014-05-071-96/+111
|
* tentative documentation of the upcoming releaseMartin Quinson2014-05-051-0/+15
|
* improve the documentation about the layout of a working directoryMartin Quinson2014-05-041-9/+24
|
* test: Extend mail.test to check for more than 2 duplicate subject linesJean Delvare2014-04-251-0/+11
|
* test: Make patch-wrapper.test saferJean Delvare2014-04-251-0/+7
| | | | | Create directory "patches" so that quilt commands get the right root even if patch-wrapper fails.
* Delete quilt.changesJean Delvare2014-04-172-4073/+0
| | | | | | | | | | | | | | 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 the release checklistJean Delvare2014-04-171-3/+3
| | | | | Update doc/RELEASING to mention the NEWS file instead of the quilt.changes file.
* Generate rpm's %changelog from NEWSJean Delvare2014-04-171-4/+5
| | | | | NEWS is much more appropriate than quilt.changes to feed the rpm spec file's %changelog section.
* Add a NEWS fileJean Delvare2014-04-171-0/+106
| | | | | | | | 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.
* Re-enable patch-wrapper testJean Delvare2014-04-161-0/+3
| | | | | | | 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.
* patches: Fix heuristic for unapplied patches with timestampsJean Delvare2014-04-092-1/+47
| | | | | | | | | | 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.
* quilt.spec: Configure with the right docdirJean Delvare2014-04-061-2/+5
| | | | | We need to pass --docdir to the configure script so that the documentation files are installed where we expect them.
* Use file_in_patchJean Delvare2014-04-062-2/+2
| | | | Use file_in_patch instead of reimplementing it.