[glusterfs/f17: 2/2] no man pages in 3.3.0, they're commented out in doc/Makefile.am
by Kaleb KEITHLEY
commit b012c24de9d7fc576087b4465a2c9eca3e82b010
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Thu May 31 15:47:34 2012 -0400
no man pages in 3.3.0, they're commented out in doc/Makefile.am
glusterfs.spec | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/glusterfs.spec b/glusterfs.spec
index 618b5ff..240183c 100644
--- a/glusterfs.spec
+++ b/glusterfs.spec
@@ -304,7 +304,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha
%{_libdir}/*.so.*
%{_sbindir}/glusterfs*
%{_libexecdir}/glusterfs
-%{_mandir}/man8/*gluster*.8*
+#%{_mandir}/man8/*gluster*.8* # man page install commented out in 3.3.0 source
%dir %{_localstatedir}/log/glusterfs
%if 0%{!?_without_rdma:1}
%exclude %{_libdir}/glusterfs/%{version}/rpc-transport/rdma*
@@ -340,7 +340,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse
%{_libdir}/glusterfs/%{version}/xlator/mount/fuse*
-%{_mandir}/man8/mount.glusterfs.8*
+#%{_mandir}/man8/mount.glusterfs.8* # man page install commented out in 3.3.0 source
/sbin/mount.glusterfs
/sbin/umount.glusterfs
%if 0%{?_with_fusermount:1}
10Â years, 8Â months
[e2fsprogs/f17] Update to upstream 1.42.3 plus > 16T fixes
by Eric Sandeen
commit 2c034d382df2ee1e9a0d37d8db0af685e4f066e2
Author: Eric Sandeen <sandeen(a)redhat.com>
Date: Thu May 31 14:20:55 2012 -0500
Update to upstream 1.42.3 plus > 16T fixes
e2fsprogs-1.42.2-64-bit-fixes.patch | 320 +++++++++++++++++++++++++++++++++++
e2fsprogs.spec | 12 +-
2 files changed, 330 insertions(+), 2 deletions(-)
---
diff --git a/e2fsprogs-1.42.2-64-bit-fixes.patch b/e2fsprogs-1.42.2-64-bit-fixes.patch
new file mode 100644
index 0000000..bc6c33c
--- /dev/null
+++ b/e2fsprogs-1.42.2-64-bit-fixes.patch
@@ -0,0 +1,320 @@
+commit 8c778b3acd885c79d76d94b4ba0b7fad7b031607
+Author: Theodore Ts'o <tytso(a)mit.edu>
+Date: Mon May 21 10:59:01 2012 -0400
+
+ libe2p: teach e2p_jrnl_feature2string() about the 64-bit journal feature
+
+ This will allow dumpe2fs to correctly display the 64-bit journal
+ feature, if it is enabled.
+
+ Signed-off-by: "Theodore Ts'o" <tytso(a)mit.edu>
+
+diff --git a/lib/e2p/feature.c b/lib/e2p/feature.c
+index db85365..9691263 100644
+--- a/lib/e2p/feature.c
++++ b/lib/e2p/feature.c
+@@ -104,6 +104,8 @@ static struct feature jrnl_feature_list[] = {
+
+ { E2P_FEATURE_INCOMPAT, JFS_FEATURE_INCOMPAT_REVOKE,
+ "journal_incompat_revoke" },
++ { E2P_FEATURE_INCOMPAT, JFS_FEATURE_INCOMPAT_64BIT,
++ "journal_64bit" },
+ { E2P_FEATURE_INCOMPAT, JFS_FEATURE_INCOMPAT_ASYNC_COMMIT,
+ "journal_async_commit" },
+ { 0, 0, 0 },
+
+commit 3b693d0b03569795d04920a04a0a21e5f64ffedc
+Author: Theodore Ts'o <tytso(a)mit.edu>
+Date: Mon May 21 21:30:45 2012 -0400
+
+ e2fsck: fix 64-bit journal support
+
+ 64-bit journal support was broken; we weren't using the high bits from
+ the journal descriptor blocks! We were also using "unsigned long" for
+ the journal block numbers, which would be a problem on 32-bit systems.
+
+ Signed-off-by: "Theodore Ts'o" <tytso(a)mit.edu>
+
+diff --git a/e2fsck/jfs_user.h b/e2fsck/jfs_user.h
+index 9e33306..92f8ae2 100644
+--- a/e2fsck/jfs_user.h
++++ b/e2fsck/jfs_user.h
+@@ -18,7 +18,7 @@ struct buffer_head {
+ e2fsck_t b_ctx;
+ io_channel b_io;
+ int b_size;
+- blk_t b_blocknr;
++ unsigned long long b_blocknr;
+ int b_dirty;
+ int b_uptodate;
+ int b_err;
+@@ -121,7 +121,7 @@ _INLINE_ size_t journal_tag_bytes(journal_t *journal)
+ /*
+ * Kernel compatibility functions are defined in journal.c
+ */
+-int journal_bmap(journal_t *journal, blk64_t block, unsigned long *phys);
++int journal_bmap(journal_t *journal, blk64_t block, unsigned long long *phys);
+ struct buffer_head *getblk(kdev_t ctx, blk64_t blocknr, int blocksize);
+ void sync_blockdev(kdev_t kdev);
+ void ll_rw_block(int rw, int dummy, struct buffer_head *bh[]);
+diff --git a/e2fsck/journal.c b/e2fsck/journal.c
+index 915b8bb..bada028 100644
+--- a/e2fsck/journal.c
++++ b/e2fsck/journal.c
+@@ -44,7 +44,7 @@ static int bh_count = 0;
+ * to use the recovery.c file virtually unchanged from the kernel, so we
+ * don't have to do much to keep kernel and user recovery in sync.
+ */
+-int journal_bmap(journal_t *journal, blk64_t block, unsigned long *phys)
++int journal_bmap(journal_t *journal, blk64_t block, unsigned long long *phys)
+ {
+ #ifdef USE_INODE_IO
+ *phys = block;
+@@ -80,8 +80,8 @@ struct buffer_head *getblk(kdev_t kdev, blk64_t blocknr, int blocksize)
+ if (journal_enable_debug >= 3)
+ bh_count++;
+ #endif
+- jfs_debug(4, "getblk for block %lu (%d bytes)(total %d)\n",
+- (unsigned long) blocknr, blocksize, bh_count);
++ jfs_debug(4, "getblk for block %llu (%d bytes)(total %d)\n",
++ (unsigned long long) blocknr, blocksize, bh_count);
+
+ bh->b_ctx = kdev->k_ctx;
+ if (kdev->k_dev == K_DEV_FS)
+@@ -114,38 +114,39 @@ void ll_rw_block(int rw, int nr, struct buffer_head *bhp[])
+ for (; nr > 0; --nr) {
+ bh = *bhp++;
+ if (rw == READ && !bh->b_uptodate) {
+- jfs_debug(3, "reading block %lu/%p\n",
+- (unsigned long) bh->b_blocknr, (void *) bh);
++ jfs_debug(3, "reading block %llu/%p\n",
++ bh->b_blocknr, (void *) bh);
+ retval = io_channel_read_blk64(bh->b_io,
+ bh->b_blocknr,
+ 1, bh->b_data);
+ if (retval) {
+ com_err(bh->b_ctx->device_name, retval,
+- "while reading block %lu\n",
+- (unsigned long) bh->b_blocknr);
++ "while reading block %llu\n",
++ bh->b_blocknr);
+ bh->b_err = retval;
+ continue;
+ }
+ bh->b_uptodate = 1;
+ } else if (rw == WRITE && bh->b_dirty) {
+- jfs_debug(3, "writing block %lu/%p\n",
+- (unsigned long) bh->b_blocknr, (void *) bh);
++ jfs_debug(3, "writing block %llu/%p\n",
++ bh->b_blocknr,
++ (void *) bh);
+ retval = io_channel_write_blk64(bh->b_io,
+ bh->b_blocknr,
+ 1, bh->b_data);
+ if (retval) {
+ com_err(bh->b_ctx->device_name, retval,
+- "while writing block %lu\n",
+- (unsigned long) bh->b_blocknr);
++ "while writing block %llu\n",
++ bh->b_blocknr);
+ bh->b_err = retval;
+ continue;
+ }
+ bh->b_dirty = 0;
+ bh->b_uptodate = 1;
+ } else {
+- jfs_debug(3, "no-op %s for block %lu\n",
++ jfs_debug(3, "no-op %s for block %llu\n",
+ rw == READ ? "read" : "write",
+- (unsigned long) bh->b_blocknr);
++ bh->b_blocknr);
+ }
+ }
+ }
+@@ -164,8 +165,8 @@ void brelse(struct buffer_head *bh)
+ {
+ if (bh->b_dirty)
+ ll_rw_block(WRITE, 1, &bh);
+- jfs_debug(3, "freeing block %lu/%p (total %d)\n",
+- (unsigned long) bh->b_blocknr, (void *) bh, --bh_count);
++ jfs_debug(3, "freeing block %llu/%p (total %d)\n",
++ bh->b_blocknr, (void *) bh, --bh_count);
+ ext2fs_free_mem(&bh);
+ }
+
+@@ -237,7 +238,7 @@ static errcode_t e2fsck_get_journal(e2fsck_t ctx, journal_t **ret_journal)
+ journal_t *journal = NULL;
+ errcode_t retval = 0;
+ io_manager io_ptr = 0;
+- unsigned long start = 0;
++ unsigned long long start = 0;
+ int ext_journal = 0;
+ int tried_backup_jnl = 0;
+
+diff --git a/e2fsck/recovery.c b/e2fsck/recovery.c
+index b669941..e94ef4e 100644
+--- a/e2fsck/recovery.c
++++ b/e2fsck/recovery.c
+@@ -71,7 +71,7 @@ static int do_readahead(journal_t *journal, unsigned int start)
+ {
+ int err;
+ unsigned int max, nbufs, next;
+- unsigned long blocknr;
++ unsigned long long blocknr;
+ struct buffer_head *bh;
+
+ struct buffer_head * bufs[MAXBUF];
+@@ -133,7 +133,7 @@ static int jread(struct buffer_head **bhp, journal_t *journal,
+ unsigned int offset)
+ {
+ int err;
+- unsigned long blocknr;
++ unsigned long long blocknr;
+ struct buffer_head *bh;
+
+ *bhp = NULL;
+@@ -309,7 +309,6 @@ int journal_skip_recovery(journal_t *journal)
+ return err;
+ }
+
+-#if 0
+ static inline unsigned long long read_tag_block(int tag_bytes, journal_block_tag_t *tag)
+ {
+ unsigned long long block = be32_to_cpu(tag->t_blocknr);
+@@ -317,17 +316,16 @@ static inline unsigned long long read_tag_block(int tag_bytes, journal_block_tag
+ block |= (__u64)be32_to_cpu(tag->t_blocknr_high) << 32;
+ return block;
+ }
+-#endif
+
+ /*
+ * calc_chksums calculates the checksums for the blocks described in the
+ * descriptor block.
+ */
+ static int calc_chksums(journal_t *journal, struct buffer_head *bh,
+- unsigned long *next_log_block, __u32 *crc32_sum)
++ unsigned long long *next_log_block, __u32 *crc32_sum)
+ {
+ int i, num_blks, err;
+- unsigned long io_block;
++ unsigned long long io_block;
+ struct buffer_head *obh;
+
+ num_blks = count_tags(journal, bh);
+@@ -340,7 +338,7 @@ static int calc_chksums(journal_t *journal, struct buffer_head *bh,
+ err = jread(&obh, journal, io_block);
+ if (err) {
+ printk(KERN_ERR "JBD: IO error %d recovering block "
+- "%lu in log\n", err, io_block);
++ "%llu in log\n", err, io_block);
+ return 1;
+ } else {
+ *crc32_sum = crc32_be(*crc32_sum, (void *)obh->b_data,
+@@ -355,7 +353,7 @@ static int do_one_pass(journal_t *journal,
+ struct recovery_info *info, enum passtype pass)
+ {
+ unsigned int first_commit_ID, next_commit_ID;
+- unsigned long next_log_block;
++ unsigned long long next_log_block;
+ int err, success = 0;
+ journal_superblock_t * sb;
+ journal_header_t * tmp;
+@@ -485,7 +483,7 @@ static int do_one_pass(journal_t *journal,
+ tagp = &bh->b_data[sizeof(journal_header_t)];
+ while ((tagp - bh->b_data + tag_bytes)
+ <= journal->j_blocksize) {
+- unsigned long io_block;
++ unsigned long long io_block;
+
+ tag = (journal_block_tag_t *) tagp;
+ flags = be32_to_cpu(tag->t_flags);
+@@ -499,13 +497,14 @@ static int do_one_pass(journal_t *journal,
+ success = err;
+ printk (KERN_ERR
+ "JBD: IO error %d recovering "
+- "block %ld in log\n",
++ "block %llu in log\n",
+ err, io_block);
+ } else {
+- unsigned long blocknr;
++ unsigned long long blocknr;
+
+ J_ASSERT(obh != NULL);
+- blocknr = be32_to_cpu(tag->t_blocknr);
++ blocknr = read_tag_block(tag_bytes,
++ tag);
+
+ /* If the block has been
+ * revoked, then we're all done
+@@ -733,7 +732,7 @@ static int scan_revoke_records(journal_t *journal, struct buffer_head *bh,
+ record_len = 8;
+
+ while (offset < max) {
+- unsigned long blocknr;
++ unsigned long long blocknr;
+ int err;
+
+ if (record_len == 4)
+
+commit 97a67c40dc36a4cfc50192fe96ed12689718af94
+Author: Eric Sandeen <sandeen(a)redhat.com>
+Date: Sun May 27 22:11:58 2012 -0400
+
+ debugfs: fix strtoblk for 64bit block numbers
+
+ Affects icheck, freeb, setb, testb...
+
+ Signed-off-by: Eric Sandeen <sandeen(a)redhat.com>
+ Signed-off-by: Theodore Ts'o <tytso(a)mit.edu>
+
+diff --git a/debugfs/util.c b/debugfs/util.c
+index f43b470..b07a8cc 100644
+--- a/debugfs/util.c
++++ b/debugfs/util.c
+@@ -298,7 +298,7 @@ unsigned long long parse_ulonglong(const char *str, const char *cmd,
+ */
+ int strtoblk(const char *cmd, const char *str, blk64_t *ret)
+ {
+- blk_t blk;
++ blk64_t blk;
+ int err;
+
+ blk = parse_ulonglong(str, cmd, "block number", &err);
+
+commit 918eeb32e9bd1d053bafc9d3c70ef420c21eeda9
+Author: Eric Sandeen <sandeen(a)redhat.com>
+Date: Sun May 27 22:13:39 2012 -0400
+
+ libext2fs: fix rbtree backend for extent lengths greater than 2^32
+
+ For a completely full filesystem with more than 2^32 blocks, the
+ rbtree bitmap backend can assemble an extent of used blocks which is
+ longer than 2^32. If it does, it will overflow ->count, and corrupt
+ the rbtree for the bitmaps.
+
+ Discovered by completely filling a 32T filesystem using fallocate, and
+ then observing debugfs, dumpe2fs, and e2fsck all behaving badly.
+
+ (Note that filling with only 31 x 1T files did not show the problem,
+ because freespace was fragmented enough that there was no sufficiently
+ long range of used blocks.)
+
+ Reviewed-by: Andreas Dilger <adilger(a)whamcloud.com>
+ Signed-off-by: Eric Sandeen <sandeen(a)redhat.com>
+ Signed-off-by: Theodore Ts'o <tytso(a)mit.edu>
+
+diff --git a/lib/ext2fs/blkmap64_rb.c b/lib/ext2fs/blkmap64_rb.c
+index 7ab72f4..a83f8ac 100644
+--- a/lib/ext2fs/blkmap64_rb.c
++++ b/lib/ext2fs/blkmap64_rb.c
+@@ -33,7 +33,7 @@
+ struct bmap_rb_extent {
+ struct rb_node node;
+ __u64 start;
+- __u32 count;
++ __u64 count;
+ };
+
+ struct ext2fs_rb_private {
+
+
diff --git a/e2fsprogs.spec b/e2fsprogs.spec
index 16eeaa4..cc6b38b 100644
--- a/e2fsprogs.spec
+++ b/e2fsprogs.spec
@@ -3,8 +3,8 @@
Summary: Utilities for managing ext2, ext3, and ext4 filesystems
Name: e2fsprogs
-Version: 1.42
-Release: 4%{?dist}
+Version: 1.42.3
+Release: 2%{?dist}
# License tags based on COPYING file distinctions for various components
License: GPLv2
@@ -14,6 +14,7 @@ Source1: ext2_types-wrapper.h
Source2: e2fsck.conf
Patch1: e2fsprogs-1.40.4-sb_feature_check_ignore.patch
+Patch2: e2fsprogs-1.42.2-64-bit-fixes.patch
Url: http://e2fsprogs.sourceforge.net/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -150,6 +151,9 @@ It was originally inspired by the Multics SubSystem library.
# after an selinux install...
%patch1 -p1 -b .featurecheck
+# 64 bit fixes
+%patch2 -p1
+
%build
%configure --enable-elf-shlibs --enable-nls --disable-uuidd --disable-fsck \
--disable-e2initrd-helper --disable-libblkid --disable-libuuid
@@ -322,6 +326,10 @@ exit 0
%{_libdir}/pkgconfig/ss.pc
%changelog
+* Thu May 31 2013 Eric Sandeen <sandeen(a)redhat.com> 1.42.3-2
+- New upstream version 1.42.3
+- Fixes for > 16T filesystems
+
* Sun Apr 22 2012 Eric Sandeen <sandeen@(a)redhat.com> 1.42-4
- Add missing [options] tag to e2fsck.conf
10Â years, 8Â months
[WindowMaker/f17] 0.95.3-2
by Andreas Bierfert
Summary of changes:
29f3a85... 0.95.3-2 (*)
(*) This commit already existed in another branch; no separate mail sent
10Â years, 8Â months
[erlang-gproc] Allow build on EL5
by Peter Lemenkov
commit bc9b9b09736378ce994d89b5c37aef0af2485d52
Author: Peter Lemenkov <lemenkov(a)gmail.com>
Date: Thu May 31 23:19:21 2012 +0400
Allow build on EL5
Signed-off-by: Peter Lemenkov <lemenkov(a)gmail.com>
...emove-explicit-rebar-deps-Fedora-specific.patch | 2 +-
erlang-gproc-0002-Kill-useless-eunit-include.patch | 2 +-
...ction-lists-keyfind-3-in-R12B5-use-lists-.patch | 35 ++++++++++++++++++++
erlang-gproc.spec | 13 ++++++--
4 files changed, 47 insertions(+), 5 deletions(-)
---
diff --git a/erlang-gproc-0001-Remove-explicit-rebar-deps-Fedora-specific.patch b/erlang-gproc-0001-Remove-explicit-rebar-deps-Fedora-specific.patch
index 1228563..775bf1c 100644
--- a/erlang-gproc-0001-Remove-explicit-rebar-deps-Fedora-specific.patch
+++ b/erlang-gproc-0001-Remove-explicit-rebar-deps-Fedora-specific.patch
@@ -1,7 +1,7 @@
From c1b7451cb141d1d8e4345cfd20da820a591606a1 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov(a)gmail.com>
Date: Tue, 15 May 2012 17:31:31 +0400
-Subject: [PATCH 1/2] Remove explicit rebar deps (Fedora-specific)
+Subject: [PATCH 1/3] Remove explicit rebar deps (Fedora-specific)
This is controlled by RPM in Fedora/EPEL.
diff --git a/erlang-gproc-0002-Kill-useless-eunit-include.patch b/erlang-gproc-0002-Kill-useless-eunit-include.patch
index 80f6475..d9f67ef 100644
--- a/erlang-gproc-0002-Kill-useless-eunit-include.patch
+++ b/erlang-gproc-0002-Kill-useless-eunit-include.patch
@@ -1,7 +1,7 @@
From e6653099cd1a63310e6077d9ebec3181ebfd238f Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov(a)gmail.com>
Date: Sat, 26 May 2012 20:08:38 +0400
-Subject: [PATCH 2/2] Kill useless eunit include
+Subject: [PATCH 2/3] Kill useless eunit include
Signed-off-by: Peter Lemenkov <lemenkov(a)gmail.com>
---
diff --git a/erlang-gproc-0003-No-such-function-lists-keyfind-3-in-R12B5-use-lists-.patch b/erlang-gproc-0003-No-such-function-lists-keyfind-3-in-R12B5-use-lists-.patch
new file mode 100644
index 0000000..a25dd09
--- /dev/null
+++ b/erlang-gproc-0003-No-such-function-lists-keyfind-3-in-R12B5-use-lists-.patch
@@ -0,0 +1,35 @@
+From 4774ac4014158a788f588bbd6758a9d2d6dca39c Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov(a)gmail.com>
+Date: Thu, 31 May 2012 23:09:05 +0400
+Subject: [PATCH 3/3] No such function lists:keyfind/3 in R12B5 - use
+ lists:keysearch/3 instead
+
+Signed-off-by: Peter Lemenkov <lemenkov(a)gmail.com>
+---
+ src/gproc_dist.erl | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/gproc_dist.erl b/src/gproc_dist.erl
+index dc45f41..69d7717 100644
+--- a/src/gproc_dist.erl
++++ b/src/gproc_dist.erl
+@@ -367,14 +367,14 @@ handle_leader_call(_, _, S, _E) ->
+
+ handle_leader_cast({sync_reply, Node, Ref}, S, _E) ->
+ #state{sync_requests = SReqs} = S,
+- case lists:keyfind(Ref, 1, SReqs) of
++ case lists:keysearch(Ref, 1, SReqs) of
+ false ->
+ %% This should never happen, except perhaps if the leader who
+ %% received the sync request died, and the new leader gets the
+ %% sync reply. In that case, we trust that the client has been
+ %% notified anyway, and ignore the message.
+ {ok, S};
+- {_, Ns} ->
++ {value, {_, Ns}} ->
+ case lists:delete(Node, Ns) of
+ [] ->
+ gen_leader:reply(Ref, {leader, reply, true}),
+--
+1.7.10.2
+
diff --git a/erlang-gproc.spec b/erlang-gproc.spec
index a10cd27..0ce53d4 100644
--- a/erlang-gproc.spec
+++ b/erlang-gproc.spec
@@ -7,7 +7,7 @@
Name: erlang-%{realname}
Version: 0.2.11
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Extended process registry for Erlang
Group: Development/Libraries
License: ERPL
@@ -16,14 +16,14 @@ URL: http://github.com/uwiger/gproc
Source0: %{upstream}-%{realname}-v%{version}-%{patchnumber}-g%{git_tag}.tar.gz
Patch1: erlang-gproc-0001-Remove-explicit-rebar-deps-Fedora-specific.patch
Patch2: erlang-gproc-0002-Kill-useless-eunit-include.patch
+Patch3: erlang-gproc-0003-No-such-function-lists-keyfind-3-in-R12B5-use-lists-.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: erlang-edown
BuildRequires: erlang-erts
BuildRequires: erlang-eunit
BuildRequires: erlang-gen_leader
BuildRequires: erlang-rebar
-# Error:erlang(lists:keyfind/3) in R12B and below
-Requires: erlang-erts >= R13B
+Requires: erlang-erts >= R12B
Requires: erlang-gen_leader
Requires: erlang-kernel
Requires: erlang-mnesia
@@ -38,6 +38,10 @@ Extended process registry for Erlang.
%setup -q -n %{upstream}-%{realname}-d58b254
%patch1 -p1 -b .nodeps
%patch2 -p1 -b .no_eunit
+%if 0%{?el5}
+# Erlang/OTP R12B5
+%patch3 -p1 -b .no-lists-keyfind-3
+%endif
%build
@@ -81,6 +85,9 @@ rebar eunit -v
%changelog
+* Thu May 31 2012 Peter Lemenkov <lemenkov(a)gmail.com> - 0.2.11-2
+- Allow build on EL5
+
* Tue May 15 2012 Peter Lemenkov <lemenkov(a)gmail.com> - 0.2.11-1
- Ver. 0.2.11 (fixes rhbz #824342)
10Â years, 8Â months