[llvmlinux] Last patch update

Charlebois, Mark mcharleb at quicinc.com
Fri Jul 20 22:58:45 UTC 2012


The addprefix commands in toolchain/clang/clang.mk are broken

The line:

rm -f $(addprefix ${LLVMSTATE}/,clang-patch,clang-configure,clang-build,llvm-build)

is executing as:

rm -f /local/mnt/workspace/mcharleb/shared/llvm/llvm-setup/toolchain/clang/state/clang-patch,clang-configure,clang-build,llvm-build

Which does not remove the state files.

I assume all other addprefix instances are behaving similarly.

From: llvmlinux-bounces at lists.linuxfoundation.org [mailto:llvmlinux-bounces at lists.linuxfoundation.org] On Behalf Of Behan Webster
Sent: Friday, July 20, 2012 3:35 PM
To: Compiling the Linux Kernel with Clang/LLVM
Subject: Re: [llvmlinux] quilt for patches

I've already pushed the fixed patch.

Behan

On 12-07-20 06:22 PM, Charlebois, Mark wrote:
I fixed the patch earlier today, just haven't pushed it


From: llvmlinux-bounces at lists.linuxfoundation.org<mailto:llvmlinux-bounces at lists.linuxfoundation.org> [mailto:llvmlinux-bounces at lists.linuxfoundation.org] On Behalf Of Behan Webster
Sent: Friday, July 20, 2012 3:21 PM
To: llvmlinux at lists.linuxfoundation.org<mailto:llvmlinux at lists.linuxfoundation.org>
Subject: [llvmlinux] quilt for patches

There was an issue with one of the LLVM patches not applying cleanly anymore today.

While fixing it I took the opportunity to change patching of LLVM/Clang to using quilt (currently on top of git, but probably soon to be on top of svn). Quilt provides a set of tools which allows a developer to manage a set of patches on top of a tree of code from any kind of repo checkout. Amongst other things it allows the trivial refreshing of patches, such as when they need a fuzz factor in order to apply.

The new system installs a symlink into the src checkout and then does a "quilt push -a" to apply all the patches in the series file.

For those unfamiliar with quilt, all you really need to know is:
quilt import <patchfile>       (This allows you to import a patchfile into quilt)
quilt push                              (Apply the next patch in the series)
quilt push -a                          (Apply the rest of the patches in the series)
quilt push -f                           (Force apply a patch if manual intervention is needed)
quilt refresh                          (Refresh a patch from the current state)
quilt pop                                (Unapply the last patch)
quilt pop -a                            (Unapply all patches in the series)
There is a lot more, but you can read that in the man page.

LLVM and Clang are both stored in SVN. We currently use the git mirrors for these projects, but will likely need to move to an SVN scheckout since the SVN revision is required for eventual patch submission. Using quilt allows the project to use a patch management tool which is agnostic to the underlying version control system employed.

You may see that the current buildbot status shows the build as broken. I've submitted a ticket to have quilt installed on the buildbot machine, but until it is, the build will fail. Sorry, I was too eager to merge to master.

Next time I will make sure the tool is installed before merging to master. :P

Behan




--

Behan Webster

behanw at converseincode.com<mailto:behanw at converseincode.com>




_______________________________________________

LLVMLinux mailing list

LLVMLinux at lists.linuxfoundation.org<mailto:LLVMLinux at lists.linuxfoundation.org>

https://lists.linuxfoundation.org/mailman/listinfo/llvmlinux




--

Behan Webster

behanw at converseincode.com<mailto:behanw at converseincode.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/llvmlinux/attachments/20120720/52f1422b/attachment-0001.html>


More information about the LLVMLinux mailing list