summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update the German translationHolger Wansing2015-02-081-279/+343
|
* Make gettext happyJean Delvare2015-02-061-2/+2
|
* Partial German translation updatePetr Tesarik2015-02-061-78/+43
|
* Fix one string in Japanese translationYasushi SHOJI2015-02-051-4/+2
| | | | Bash's printf doesn't allow reordering the arguments.
* Update Japanaese translation for 0.64Yasushi SHOJI2015-02-051-110/+97
|
* setup: Fix a corner case in create_symlinkJean Delvare2015-02-041-1/+1
| | | | | | | | | | | When a link's target is the directory it lives in, create_symlink would erroneously link to "..". Fix the code to properly link to "." instead. This fixes openSUSE bug #916007: https://bugzilla.opensuse.org/show_bug.cgi?id=916007 Credits to Robert Milasan for spotting the bug.
* setup: Fix removal of "." components in normalize_pathJean Delvare2015-02-041-1/+1
| | | | | | | | | | | The code was broken in 3 ways: * I forgot to escape the "." so it would match any character. * The g flag is not enough to catch consecutive "." components, because pattern matches can't overlap. * A trailing "." component would not be removed. This fixes commit 3fd706a50b7dbb4f8db6e5db014729db51e6beb0 ("setup: Let normalize_path deal with "."".)
* Update the Russian translationSergey Basalaev2015-02-011-288/+293
|
* Update the French translationJean Delvare2015-01-301-45/+45
|
* Resync translation filesJean Delvare2015-01-305-295/+544
|
* mail: Don't include the release number in User-AgentJean Delvare2015-01-292-2/+1
| | | | | | | | | | | | | | | | @RELEASE@ is replaced with the package-level release number in two places: the spec file, where it is legitimate, and the mail command's User-Agent string, where I think it is not. The package release number should not affect the contents of the package, otherwise it makes it difficult to compare build results. I have checked other MUA (Mutt, Thunderbird, Claws Mail) and they all only include the version, not the release number in their User-Agent string. Drop the @RELEASE@ replacement rule to make sure we don't use it accidentally anywhere in the future. The spec file has its own build rule so it is not affected.
* Clean up TESTS definitionJean Delvare2015-01-281-3/+3
| | | | | | Don't filter out test/patch-wrapper.test if we are going to add it back. Do it the other way around, that is include it by default and only filter it out if needed.
* Sort the testsJean Delvare2015-01-281-1/+2
| | | | | | | | Run the tests in predictable order. This allows comparing the output of "make check" between builds. With older versions of GNU make, the list was already sorted, but this is no longer the case. Suggested by Rich Burridge.
* quilt/mail: Remove procmail dependencyKent R. Spillner2015-01-276-34/+21
| | | | | | | | | | | quilt depends on procmail because 'quilt mail' requires formail. However, formail is only used to extract header values from messages. Since quilt already requires sed we can replace formail -x uses with sed instead. The sed script is slightly complicated because it needs to handle the case of "Long Header Fields" definied in RFC 2822, but essentially all it's doing is: look for the first line beginning with the name of header we are looking for, and print every line until one that does not start with blanks.
* test/mail: Test multi-line headersJean Delvare2015-01-271-2/+6
| | | | Add coverage of the multi-line header case to the mail test case.
* setup: Merge inspect into setupJean Delvare2015-01-243-200/+142
| | | | | | | There is no good reason for the setup command to be split into two scripts, setup and inspect. Merge inspect into setup to save the extra interfacing overhead. Performance improvement reaches 5% on simple packages.
* setup: Fix link creationJean Delvare2015-01-241-0/+1
| | | | | | | Fix funtion create_symlink. If the link has an absolute path then its target should be set to an absolute path as well. This fixes the use of "quilt setup" with an absolute -d path and a relative --sourcedir path.
* setup: Let normalize_path deal with "."Jean Delvare2015-01-201-1/+2
| | | | | | | Let function normalize_path handle "." path components. Otherwise invocations like "quilt setup --sourcedir=. foo.spec" may produce invalid series files, and "quilt setup -d ./dir foo.spec" generates a broken "patches" link.
* quilt-el: Fix patch select completionLeonid Movshovich2015-01-181-1/+1
| | | | | | A typo in quilt-patch-list prevents patch select completion operation. Reviewed and tested by Satoru Takeuchi.
* quilt-el: Fix tramp supportLeonid Movshovich2015-01-181-3/+3
| | | | | | | quilt-find-dir goes to endless recursion if root is not '/'. This holds for files opened with tramp for example. Reviewed and tested by Satoru Takeuchi.
* Test refresh behavior on hard-linked patchesJean Delvare2015-01-141-0/+36
| | | | | | If a patch file has hard links, refreshing it should break the links so that the other copies are left unmodified. Test this behavior to avoid breaking it accidentally.
* setup: Merge testsJean Delvare2014-12-181-32/+33
| | | | Don't test the same condition twice in a row, it's inefficient.
* setup: Add --fast optionJean Delvare2014-12-183-7/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an alternative implementation of "quilt setup" for rpm spec files, which is much faster than the original implementation. The idea is to have rpmbuild generate our working tree directly, instead of taking note of everything it does and then replaying that record from scratch. The new implementation is enabled with option --fast. The original implementation can be selected with --slow, which is the default. Having this option makes it possible to set the default to --fast in ~/.quiltrc and revert to --slow on the command line on a case-by-case basis. This will also make it easier if we decide to change the default in the future. In general, the generated working tree should be the same with --slow or --fast. There are 3 known exceptions though: * The header of the series files is incomplete when using --fast, which means that you can't reuse these series files to feed "quilt setup" later. * If the spec file generates files other than with the tar, unzip and patch commands, you wouldn't get these files in your working tree with --slow, but with --fast you will. * With --fast, all patches are added to the series file, regardless of whether they apply or not. This also means that patches which fail to apply are not reported as such until you attempt to push them. On large packages, this alternative implementation was found to be up to 4 times faster than the original implementation.
* inspect-wrapper: Trace calls earlierJean Delvare2014-12-181-3/+3
| | | | | | | Trace the calls to the patch/tar/unzip wrapper earlier. That way, if anything goes wrong, we know which type of file was being processed. Even if nothing goes wrong, the user now sees the file type as it is being processed (which can take a long time.)
* setup: New function to generate series headerJean Delvare2014-12-081-9/+13
| | | | | | Move the code that generates the series file header to a separate function. This makes the code easier to read due to less folding, and this is also more efficient than spawning a subshell.
* push: Clean up stray references to interactive modeJean Delvare2014-12-072-5/+1
| | | | | The push --interactive option has been removed long ago, clean up remaining references.
* Do not use interactive mode with "quilt push -f"Martin Panter2014-12-071-5/+2
| | | | | | The interactive mode was broken long ago, and not forcing the patch causes unpredictable and confusing behavior. Now the "patch -f" option is always used.
* push: Add --refresh optionJean Delvare2014-11-122-2/+40
| | | | | Add an option to automatically refresh each patch after is was successfully applied.
* pop: Add --refresh optionJean Delvare2014-11-122-2/+45
| | | | | Add an option to automatically refresh each patch before it gets unapplied.
* Allow patch format options to pass throughJean Delvare2014-11-121-0/+5
| | | | | In order to make "quilt_command refresh" work properly, we must ensure that format options are passed through.
* inspect-wrapper: Use exec to pass control backJean Delvare2014-11-121-2/+2
| | | | | | | When the wrapper script is done, it passes control back to tar, unzip or patch. Nothing needs to be done after that, so we might as well use exec to switch to the new process. That should be marginally faster than regular forking.
* 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.