Broken dependencies: erlang-rpm-macros
by Fedora Koji Build System
erlang-rpm-macros has broken dependencies in the epel-7 tree:
On x86_64:
erlang-rpm-macros-0.1.3-6.el7.noarch requires /usr/bin/escript
On ppc64:
erlang-rpm-macros-0.1.3-6.el7.noarch requires /usr/bin/escript
Please resolve this as soon as possible.
10 years, 3 months
Using git for patch management in Fedora
by Richard W.M. Jones
Several packages are using git for patch management. eg:
http://pkgs.fedoraproject.org/cgit/erlang.git/tree/erlang.spec#n46
http://pkgs.fedoraproject.org/cgit/libguestfs.git/tree/libguestfs.spec?h=...
http://pkgs.fedoraproject.org/cgit/qemu.git/tree/
http://pkgs.fedoraproject.org/cgit/ocaml.git/tree/ocaml.spec#n16
Some of these packages have invented home-brewed methods to generate
the Patch lines in the spec file, eg:
http://pkgs.fedoraproject.org/cgit/erlang.git/tree/otp-get-patches.sh
http://pkgs.fedoraproject.org/cgit/libguestfs.git/tree/copy-patches.sh?h=f20
More importantly, all are using random git repositories to store the
exploded tree. This makes it difficult for co-maintainers and proven
packagers to fit in with the patch management chosen by the
maintainer. Usually they won't have access to the git repository for
these patches, making it difficult to add patches and near impossible
to upgrade to a new version.
I think that git is an excellent way to manage patches, but we ought
to think about formalizing this process. I think the goals should be:
(1) A git repository is used that co-maintainers and proven packagers
automatically have access to.
(2) A single method & script is used to update the patches in the spec file.
Although there is already a git repository satisfying (1) above,
namely dist-git, it isn't suitable for storing the exploded tree since
commits to the spec file would conflict with commits (patches) to the
tree. So either a separate side repository which packages could
opt-in to, or perhaps a separate branch of the same git repo could be
used. I think using a branch would require no additional
infrastructure.
For (2) I would suggest a lightweight technique where git-managed
patches are marked in the spec file using:
### GIT-MANAGED-PATCHES ###
### END-GIT-MANGED-PATCHES ###
and a simple script that replaces everything between those marks with
PatchXXXX lines. The script could be adapted from copy-patches.sh
(see above).
To apply the patches, a standard RPM macro could be created:
%prep
%setup -q
%{git_apply_patches}
which would expand to something like:
git init
git config user.email "%{name}-owner(a)fedoraproject.org"
git config user.name "%{name}"
git add .
git commit -a -q -m "%{version} baseline"
git am %{patches}
Thoughts on this?
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top
10 years, 3 months
Broken dependencies: erlang-rpm-macros
by Fedora Koji Build System
erlang-rpm-macros has broken dependencies in the epel-7 tree:
On x86_64:
erlang-rpm-macros-0.1.3-6.el7.noarch requires /usr/bin/escript
On ppc64:
erlang-rpm-macros-0.1.3-6.el7.noarch requires /usr/bin/escript
Please resolve this as soon as possible.
10 years, 3 months
[elixir/f19] (6 commits) ...symlink instead of hardcoding rebar path
by Ricky Elrod
Summary of changes:
ea7e89d... Update to upstream 0.12.2. (*)
1e3b121... Update sources to the REAL 0.12.2 (*)
bb26679... Remove patch that is no longer needed. (*)
9f4498c... and actually commit the spec file. :P (*)
5bb23f5... Remove %patch0 (*)
a14cc63... symlink instead of hardcoding rebar path (*)
(*) This commit already existed in another branch; no separate mail sent
10 years, 3 months
[elixir/f20] (6 commits) ...symlink instead of hardcoding rebar path
by Ricky Elrod
Summary of changes:
ea7e89d... Update to upstream 0.12.2. (*)
1e3b121... Update sources to the REAL 0.12.2 (*)
bb26679... Remove patch that is no longer needed. (*)
9f4498c... and actually commit the spec file. :P (*)
5bb23f5... Remove %patch0 (*)
a14cc63... symlink instead of hardcoding rebar path (*)
(*) This commit already existed in another branch; no separate mail sent
10 years, 3 months
[elixir] symlink instead of hardcoding rebar path
by Ricky Elrod
commit a14cc636380d8f49b044e703d1471c9538868ab8
Author: Ricky Elrod <ricky(a)elrod.me>
Date: Sun Jan 19 14:38:10 2014 -0500
symlink instead of hardcoding rebar path
elixir.spec | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
---
diff --git a/elixir.spec b/elixir.spec
index e4d323e..1b0c650 100644
--- a/elixir.spec
+++ b/elixir.spec
@@ -24,8 +24,7 @@ fault-tolerant, non-stop applications with hot code swapping.
%prep
%setup -q
rm rebar
-sed -i '/REBAR := /d' Makefile
-sed -i '1i REBAR := "$(shell which rebar || echo `pwd`/rebar)"' Makefile
+ln -s "$(which rebar)" .
sed -i -e "s/time //g" Makefile
find -name '*.bat' -exec rm \{\} \;
10 years, 3 months
[elixir] Remove %patch0
by Ricky Elrod
commit 5bb23f5979a118a510beae84206e4a3193ebbdff
Author: Ricky Elrod <ricky(a)elrod.me>
Date: Sun Jan 19 03:39:18 2014 -0500
Remove %patch0
elixir.spec | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
---
diff --git a/elixir.spec b/elixir.spec
index 9f899c7..e4d323e 100644
--- a/elixir.spec
+++ b/elixir.spec
@@ -23,7 +23,6 @@ fault-tolerant, non-stop applications with hot code swapping.
%prep
%setup -q
-%patch0 -p1
rm rebar
sed -i '/REBAR := /d' Makefile
sed -i '1i REBAR := "$(shell which rebar || echo `pwd`/rebar)"' Makefile
10 years, 3 months
[elixir] and actually commit the spec file. :P
by Ricky Elrod
commit 9f4498ce095c0a4fed86cae460753c15e9ba7018
Author: Ricky Elrod <ricky(a)elrod.me>
Date: Sun Jan 19 03:37:28 2014 -0500
and actually commit the spec file. :P
elixir.spec | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
---
diff --git a/elixir.spec b/elixir.spec
index 98f0bc4..9f899c7 100644
--- a/elixir.spec
+++ b/elixir.spec
@@ -1,6 +1,6 @@
Name: elixir
Version: 0.12.2
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: A modern approach to programming for the Erlang VM
Group: Development/Languages
@@ -16,10 +16,6 @@ BuildRequires: git
Requires: erlang-erts >= R16B
Requires: erlang-inets
-# https://github.com/elixir-lang/elixir/commit/407427f627f7d07f6a6275978b9d...
-# This just fixes a test that failed when it wasn't run from a git clone of Elixir.
-Patch0: mix-test-nogit.patch
-
%description
Elixir is a programming language built on top of the Erlang VM.
As Erlang, it is a functional language built to support distributed,
@@ -61,6 +57,9 @@ ln -s %{_datadir}/%{name}/%{version}/bin/{elixir,elixirc,iex,mix} %{buildroot}/%
%{_datadir}/%{name}
%changelog
+* Sun Jan 19 2014 Ricky Elrod <codeblock(a)fedoraproject.org> - 0.12.2-2
+- Remove patch that is no longer needed.
+
* Fri Jan 17 2014 Patrick Uiterwijk <puiterwijk(a)redhat.com> - 0.12.2-1
- Update to upstream 0.12.2.
10 years, 3 months