On 05/29/2012 05:58 PM, Richard W.M. Jones wrote:
On Tue, May 29, 2012 at 09:57:46PM +0200, Hans Ulrich Niedermann
wrote:
> On 29/05/12 18:46, Richard W.M. Jones wrote:
>
>> Has anyone written any tools for converting git repos into patches?
>> Currently I use 'git format-patch' and then I copy the patches.
>>
>> Should we have a naming convention for patches? I proposed to use
>> the 000*-*.patch files directly from git format-patch without
>> renaming them.
>
>> How should we comment the spec files for packages maintained this way?
>
> For Fedora's "erlang" package, Peter Lemenkov and I have been doing
> something similar. This is probably not suitable for large scale
> emulation, but it more or less works for us.
>
> We both maintain a fork of upstream's Erlang/OTP git repository in our
> respective github accounts. The RPMs are built from upstream's release
> tarballs plus Fedora specific patch files. Whoever does the new Fedora
> package, creates a fedora specific branch (re)based on that release's
> git tag and commits the patches for the RPM to that branch (doing
> cherry-pick, rebase, or whatever).
>
> The otp-get-patches.sh script extracts the commits on that fedora
> specific branch as patch files, hooks those into the spec file and also
> changes the git index to account for old patch files removed and new
> ones added. Specific lines from the commit messages are copied into the
> spec files as comments, and as RPM %if... conditionals.
>
> See the source in erlang.spec and otp-get-patches.sh for details.
Thanks, I will have a look.
Here is the change (simplification, really) I made to ocaml.spec:
http://pkgs.fedoraproject.org/gitweb/?p=ocaml.git;a=commitdiff;h=a0711228...
Just glancing at what you've got - have you considered something like:
diff --git a/ocaml.spec b/ocaml.spec
index bbf2669..2ab0ecc 100644
--- a/ocaml.spec
+++ b/ocaml.spec
@@ -233,9 +233,13 @@ man pages and info files.
git init
git config user.email "noone(a)example.com"
git config user.name "no one"
+git config sendemail.to "%{name}-owner(a)fedoraproject.org"
git add .
git commit -a -q -m "%{version} baseline"
git am %{patches}
+git config --unset user.email
+git config --unset user.name
+echo "Use 'git config user.email \"foo(a)example.com\" to set an address
for patc
cp %{SOURCE2} refman.pdf
as well? (Props for using "git am %{patches}" to avoid missing %patchXX
statements)
--
Peter
The Shuttle is now going five times the sound of speed.
-- Dan Rather, first landing of Columbia