openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
December 2012
- 1 participants
- 1223 discussions
Hello community,
here is the log from the commit of package i3 for openSUSE:Factory checked in at 2012-12-28 15:01:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/i3 (Old)
and /work/SRC/openSUSE:Factory/.i3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "i3", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/i3/i3.changes 2012-10-19 08:46:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.i3.new/i3.changes 2012-12-28 15:01:45.000000000 +0100
@@ -1,0 +2,16 @@
+Sun Dec 16 01:48:41 UTC 2012 - pascal.bleser(a)opensuse.org
+
+- update to 4.4: http://i3wm.org/downloads/RELEASE-NOTES-4.4.txt
+ * add i3-dmenu-desktop, a dmenu wrapper which parses application .desktop
+ files and executes them
+ * i3.xsession.desktop is now standards-compliant
+ * implement "move container to workspace back_and_forth"
+ * display appropriate cursors when resizing or moving floating windows
+ * implement variable border widths for pixel/normal
+ * grab keys with all permutations of lock and numlock
+ * focus windows when middle-clicking
+ * keycode default config: s/bindcode/bindsym/
+ * implement smart popup_during_fullscreen mode
+ * i3bar: add current binding mode indicator
+
+-------------------------------------------------------------------
Old:
----
i3-4.3.tar.bz2
New:
----
i3-4.4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ i3.spec ++++++
--- /var/tmp/diff_new_pack.9PYHRv/_old 2012-12-28 15:01:46.000000000 +0100
+++ /var/tmp/diff_new_pack.9PYHRv/_new 2012-12-28 15:01:46.000000000 +0100
@@ -17,7 +17,7 @@
Name: i3
-Version: 4.3
+Version: 4.4
Release: 0
Summary: Tilling window manager
License: BSD-3-Clause
@@ -67,7 +67,7 @@
%patch0 -p1
%build
-CFLAGS="$CFLAGS -I/usr/include/glib-2.0 -I%{_libdir}/glib-2.0/include/ -I/usr/include/pango-1.0 -I/usr/include/cairo" CXXFLAGS="$CXXFLAGS -I/usr/include/glib-2.0 -I%{_libdir}/glib-2.0/include/ -I/usr/include/pango-1.0 -I/usr/include/cairo" make %{?_smp_mflags}
+CFLAGS="$CFLAGS -I/usr/include/glib-2.0 -I%{_libdir}/glib-2.0/include/ -I/usr/include/pango-1.0 -I/usr/include/cairo" CXXFLAGS="$CXXFLAGS -I/usr/include/glib-2.0 -I%{_libdir}/glib-2.0/include/ -I/usr/include/pango-1.0 -I/usr/include/cairo" make %{?_smp_mflags} V=1
%install
%make_install
@@ -84,6 +84,7 @@
%{_bindir}/i3-dump-log
%{_bindir}/i3bar
%{_bindir}/i3-config-wizard
+%{_bindir}/i3-dmenu-desktop
%{_bindir}/i3-input
%{_bindir}/i3-migrate-config-to-v4
%{_bindir}/i3-msg
++++++ i3-4.3.tar.bz2 -> i3-4.4.tar.bz2 ++++++
++++ 14932 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package hdjmod for openSUSE:Factory checked in at 2012-12-28 15:01:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hdjmod (Old)
and /work/SRC/openSUSE:Factory/.hdjmod.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hdjmod", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/hdjmod/hdjmod.changes 2012-10-23 19:37:24.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.hdjmod.new/hdjmod.changes 2012-12-28 15:01:20.000000000 +0100
@@ -1,0 +2,5 @@
+Sun Dec 23 16:47:42 UTC 2012 - marix(a)marix.org
+
+- Fixed build on kernel 3.7
+
+-------------------------------------------------------------------
New:
----
hdjmod_kernel_3.7.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hdjmod.spec ++++++
--- /var/tmp/diff_new_pack.TJRRFw/_old 2012-12-28 15:01:21.000000000 +0100
+++ /var/tmp/diff_new_pack.TJRRFw/_new 2012-12-28 15:01:21.000000000 +0100
@@ -47,6 +47,8 @@
Patch5: hdjmod_fix_hotplug.patch
# PATCH-FIX-UPSTREAM hdjmod_kernel_3.6.patch [bnc#783848] marix(a)marix.org -- Fix build on kernel 3.6 and newer
Patch6: hdjmod_kernel_3.6.patch
+# PATCH-FIX-UPSTREAM hdjmod_kernel_3.7.patch marix(a)marix.org -- Fix build on kernel 3.7 and newer
+Patch7: hdjmod_kernel_3.7.patch
# The package triggers RPM-Lint warning because it misses requires to the proper kernel packages
# These requires should be added by the kernel_module_package macro, so, therefore the are not
@@ -71,6 +73,7 @@
%patch1 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
set -- *
mkdir source
mv "$@" source/
++++++ hdjmod_kernel_3.6.patch ++++++
--- /var/tmp/diff_new_pack.TJRRFw/_old 2012-12-28 15:01:21.000000000 +0100
+++ /var/tmp/diff_new_pack.TJRRFw/_new 2012-12-28 15:01:21.000000000 +0100
@@ -5,7 +5,7 @@
/* Try to allocate a netlink socket minimizing the risk of collision,
* by starting at the max unit number and counting down */
for (unit=MAX_LINKS-1;unit>MIN_NETLINK_UNIT;unit--) {
-+#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0) )
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
+ nl_sk = netlink_kernel_create(
+ &init_net,
+ unit,
@@ -27,7 +27,7 @@
return NULL;
}
-+#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0) )
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
+ nlh = nlmsg_put(skb, target_pid, seq, t, size, flags);
+ if(!nlh) {
+ if (skb) {
++++++ hdjmod_kernel_3.7.patch ++++++
diff -aru hdjmod-1.28o/device.c hdjmod-1.28/device.c
--- hdjmod-1.28o/device.c 2012-12-23 17:41:13.111607777 +0100
+++ hdjmod-1.28/device.c 2012-12-23 17:42:33.115898437 +0100
@@ -2397,7 +2397,9 @@
nl_sk = netlink_kernel_create(
&init_net,
unit,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
THIS_MODULE,
+#endif
NULL);
#else
nl_sk = netlink_kernel_create(
Nur in hdjmod-1.28: .device.c.swp.
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package hawk for openSUSE:Factory checked in at 2012-12-28 15:01:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hawk (Old)
and /work/SRC/openSUSE:Factory/.hawk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hawk", Maintainer is "TSerong(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/hawk/hawk.changes 2012-06-25 11:46:50.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.hawk.new/hawk.changes 2012-12-28 15:01:11.000000000 +0100
@@ -1,0 +2,29 @@
+Sat Dec 22 05:32:25 UTC 2012 - tserong(a)suse.com
+
+- Port to rails 3
+
+-------------------------------------------------------------------
+Mon Dec 10 04:42:52 UTC 2012 - tserong(a)suse.com
+
+- Misc: Cib model: Ignore 'ha' field from node state (dropped in pacemaker)
+- Misc: Invoker: Handle new value of cib_NOTEXISTS (was -22, now -6)
+- Misc: CibObject: Handle emtpy cibadmin output when object doesn't exist
+- Misc: Primitive model: Use new lrmd_test for RA metadata if present
+- Misc: Set sensible default $HOME in ApplicationController
+
+-------------------------------------------------------------------
+Mon Dec 10 03:29:46 UTC 2012 - tserong(a)suse.com
+
+- Misc: Util: Use user's real $HOME with fallback to per-user temp (bnc#780973)
+- GUI: Constraints: Use !empty? instead of String#any? (ruby 1.9 support)
+- Upstream version cs:c9cfa96
+
+-------------------------------------------------------------------
+Mon Jul 9 07:47:18 UTC 2012 - tserong(a)suse.com
+
+- GUI: jQuery: Fix AJAX memory leak in IE8 (bnc#764273)
+- GUI: summary_view: Fix IE JS error on detail pane update (bnc#765625)
+- GUI: Primitive editor: Handle RA metadata with missing longdesc (bnc#769724)
+- Upstream version cs:abfe94a
+
+-------------------------------------------------------------------
Old:
----
fix-rails-freeze-version_requirements.patch
require-rack-1.1.patch
ruby-1.9-hash.patch
ruby-1.9-when.patch
New:
----
bundler.patch
dispatch.patch
fix-cib-NOTEXISTS.patch
fix-cibobject-exists.patch
fix-root.patch
precompile.patch
remove-Gemfile-lock.patch
remove-ha_state.patch
session-old-hash.patch
set-default-home.patch
use-lrmd_test.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hawk.spec ++++++
--- /var/tmp/diff_new_pack.x5OS9d/_old 2012-12-28 15:01:12.000000000 +0100
+++ /var/tmp/diff_new_pack.x5OS9d/_new 2012-12-28 15:01:12.000000000 +0100
@@ -34,10 +34,17 @@
Source: %{name}-%{version}.tar.bz2
Source1: filter-requires.sh
Source100: hawk-rpmlintrc
-Patch2: require-rack-1.1.patch
-Patch5: fix-rails-freeze-version_requirements.patch
-Patch10: ruby-1.9-when.patch
-Patch11: ruby-1.9-hash.patch
+Patch0: remove-Gemfile-lock.patch
+Patch3: remove-ha_state.patch
+Patch4: fix-cib-NOTEXISTS.patch
+Patch5: use-lrmd_test.patch
+Patch6: set-default-home.patch
+Patch7: fix-cibobject-exists.patch
+Patch8: session-old-hash.patch
+Patch9: bundler.patch
+Patch10: fix-root.patch
+Patch11: precompile.patch
+Patch12: dispatch.patch
%define _use_internal_dependency_generator 0
%define __find_requires /bin/sh %{SOURCE1}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -51,25 +58,28 @@
Requires: graphviz-gd
Requires: lighttpd >= 1.4.20
Requires: ruby
+Requires: ruby
+Requires: rubygem-bundler
%if 0%{?suse_version} < 1220
BuildRequires: ruby-fcgi
%else
-Requires: rubygem-rack-1_1
Requires: rubygem-ruby-fcgi
%endif
Recommends: graphviz-gnome
BuildRequires: glib2-devel
BuildRequires: libxml2-devel
BuildRequires: pam-devel
-BuildRequires: rubygem-gettext_rails
+BuildRequires: rubygem-fast_gettext
+BuildRequires: rubygem-gettext
+BuildRequires: rubygem-gettext_i18n_rails
BuildRequires: rubygem-rake
BuildRequires: rubygems
PreReq: permissions
BuildRequires: fdupes
BuildRequires: libpacemaker-devel
-BuildRequires: rubygem-rails-2_3
-# Temporary, prevents confusion between rubygem-rack and rubygem-rack-1_3
-BuildRequires: rubygem-rack < 1.3
+BuildRequires: rubygem-rack
+BuildRequires: rubygem-rails-3_2
+BuildRequires: rubygem-rails-i18n
# Require startproc respecting -p, bnc#559534#c44
%if 0%{?suse_version} > 1110
# 11.2 or newer;
@@ -100,10 +110,17 @@
%prep
%setup
-%patch2 -p0
-%patch5 -p0
+%patch0 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
%patch10 -p1
%patch11 -p1
+%patch12 -p1
%build
CFLAGS="${CFLAGS} ${RPM_OPT_FLAGS}"
@@ -114,28 +131,6 @@
make WWW_BASE=%{www_base} INIT_STYLE=%{init_style} DESTDIR=%{buildroot} install
# copy of GPL
cp COPYING %{buildroot}%{www_base}/hawk/
-%if 0%{?suse_version} < 1220
-# note: only doing evil magic pre-openSUSE 12.2
-# evil magic to get ruby-fcgi into the vendor directory
-for f in $(rpm -ql ruby-fcgi|grep %{vendor_ruby}); do
- # gives something simliar to:
- # /usr/lib64/ruby/vendor_ruby/1.8/fcgi.rb
- # /usr/lib64/ruby/vendor_ruby/1.8/x86_64-linux/fcgi.so
- r=$(echo $f | sed 's/.*%{vendor_ruby}\/[^\/]*\///')
- mkdir -p %{buildroot}%{www_base}/hawk/vendor/$(dirname $r)
- cp $f %{buildroot}%{www_base}/hawk/vendor/$r
-done
-# even more evil magic to get rubygems into the vendor directory
-for f in $(rpm -ql rubygems|grep %{vendor_ruby}); do
- # gives something simliar to:
- # /usr/lib64/ruby/vendor_ruby/1.8/rubygems.rb
- # /usr/lib64/ruby/vendor_ruby/1.8/rubygems/...
- [ -f $f ] || continue
- r=$(echo $f | sed 's/.*%{vendor_ruby}\/[^\/]*\///')
- mkdir -p %{buildroot}%{www_base}/hawk/vendor/$(dirname $r)
- cp $f %{buildroot}%{www_base}/hawk/vendor/$r
-done
-%endif
# get rid of gem sample and test cruft
rm -rf %{buildroot}%{www_base}/hawk/vendor/gems/*/sample
rm -rf %{buildroot}%{www_base}/hawk/vendor/gems/*/samples
@@ -144,17 +139,17 @@
# mark .mo files as such (works on SUSE but not FC12, as the latter wants directory to
# be "share/locale", not just "locale", and it also doesn't support appending to %%{name}.lang)
%find_lang %{name} %{name}.lang
-%find_lang rgettext %{name}.lang
-%find_lang gettext_rails %{name}.lang
+#%find_lang rgettext %{name}.lang
+#%find_lang gettext_rails %{name}.lang
# hard link duplicate files
%fdupes %{buildroot}
# more cruft to clean up (WTF?)
rm -f %{buildroot}%{www_base}/hawk/log/*
-find %{buildroot}%{www_base}/hawk/vendor/rails -type f -name '*.css' -o -name '*.js' -o -name '*LICENSE' | xargs chmod a-x
+#find %{buildroot}%{www_base}/hawk/vendor/rails -type f -name '*.css' -o -name '*.js' -o -name '*LICENSE' | xargs chmod a-x
# get rid of packed gem specification files
rm -f %{buildroot}%{www_base}/hawk/vendor/gems/*/.specification
# likewise emtpy files (again, I say, WTF?)
-find %{buildroot}%{www_base}/hawk/vendor -type f -empty | xargs rm
+find %{buildroot}%{www_base}/hawk/vendor -type f -empty -print0 | xargs -0 rm
# init script
%{__install} -d -m 0755 \
%{buildroot}%{_sbindir}
@@ -204,10 +199,16 @@
%attr(0750, %{uname},%{gname})%{www_base}/hawk/tmp/pids
%attr(0750, %{uname},%{gname})%{www_base}/hawk/tmp/sessions
%attr(0750, %{uname},%{gname})%{www_base}/hawk/tmp/sockets
-%{www_base}/hawk/po
+%exclude %{www_base}/hawk/tmp/session_secret
+%{www_base}/hawk/locale/hawk.pot
+%{www_base}/hawk/.bundle
%{www_base}/hawk/public
%{www_base}/hawk/Rakefile
+%{www_base}/hawk/Gemfile
+%{www_base}/hawk/Gemfile.lock
%{www_base}/hawk/COPYING
+%{www_base}/hawk/README.rdoc
+%{www_base}/hawk/config.ru
%{www_base}/hawk/script
%{www_base}/hawk/test
# itemizing content in %%{www_base}/hawk/vendor and locale to avoid
@@ -215,26 +216,30 @@
%dir %{www_base}/hawk/locale
%dir %{www_base}/hawk/locale/*
%dir %{www_base}/hawk/locale/*/*
+%exclude %{www_base}/hawk/locale/*/*.po
%dir %{www_base}/hawk/vendor
%if 0%{?suse_version} < 1220
%{www_base}/hawk/vendor/*rb
# architecture-specific .so files
%{www_base}/hawk/vendor/*-linux
%endif
+%{www_base}/hawk/vendor/bundle
+%{www_base}/hawk/vendor/cache
+
# this is moderatly disgusting - the intent is to get everything except
# the content of "data/locale" which is covered by files in hawk.lang
-%dir %{www_base}/hawk/vendor/gems
-%dir %{www_base}/hawk/vendor/gems/*
-%dir %{www_base}/hawk/vendor/gems/*/data
-%dir %{www_base}/hawk/vendor/gems/*/data/locale
-%dir %{www_base}/hawk/vendor/gems/*/data/locale/*
-%dir %{www_base}/hawk/vendor/gems/*/data/locale/*/*
-%{www_base}/hawk/vendor/gems/*/[!d]*
-%{www_base}/hawk/vendor/rails
-%if 0%{?suse_version} < 1220
-%{www_base}/hawk/vendor/rbconfig
-%{www_base}/hawk/vendor/rubygems
-%endif
+#%dir %{www_base}/hawk/vendor/gems
+#%dir %{www_base}/hawk/vendor/gems/*
+#%dir %{www_base}/hawk/vendor/gems/*/data
+#%dir %{www_base}/hawk/vendor/gems/*/data/locale
+#%dir %{www_base}/hawk/vendor/gems/*/data/locale/*
+#%dir %{www_base}/hawk/vendor/gems/*/data/locale/*/*
+#%{www_base}/hawk/vendor/gems/*/[!d]*
+#%{www_base}/hawk/vendor/rails
+#%if 0%{?suse_version} < 1220
+#%{www_base}/hawk/vendor/rbconfig
+#%{www_base}/hawk/vendor/rubygems
+#%endif
%config(noreplace) %attr(-,root,root) %{_sysconfdir}/init.d/hawk
%attr(-,root,root) %{_sbindir}/rchawk
++++++ bundler.patch ++++++
Index: hawk-0.5.2/Makefile
===================================================================
--- hawk-0.5.2.orig/Makefile
+++ hawk-0.5.2/Makefile
@@ -60,7 +60,7 @@ BINDIR = /usr/bin
SBINDIR = /usr/sbin
all: scripts/hawk.$(INIT_STYLE) hawk/config/lighttpd.conf tools/hawk_chkpwd tools/hawk_monitor tools/hawk_invoke
- (cd hawk; rake gettext:pack && bundle install --local --deployment)
+ (cd hawk; rake gettext:pack && bundle list && sed -i -e '/\brake\b/d' -e '/\brdoc\b/d' Gemfile.lock && bundle package && bundle install --deployment)
%:: %.in
sed \
@@ -114,6 +114,7 @@ install:
# Get rid of cruft from packed gems
-find hawk/vendor -name '*bak' -o -name '*~' -o -name '#*#' | xargs rm
cp -a hawk/* $(DESTDIR)$(WWW_BASE)/hawk
+ cp -a hawk/.bundle $(DESTDIR)$(WWW_BASE)/hawk
rm $(DESTDIR)$(WWW_BASE)/hawk/config/lighttpd.conf.in
-chown -R hacluster.haclient $(DESTDIR)$(WWW_BASE)/hawk/log
-chown -R hacluster.haclient $(DESTDIR)$(WWW_BASE)/hawk/tmp
Index: hawk-0.5.2/hawk/Gemfile
===================================================================
--- hawk-0.5.2.orig/hawk/Gemfile
+++ hawk-0.5.2/hawk/Gemfile
@@ -1,4 +1,4 @@
-source 'https://rubygems.org'
+#source 'https://rubygems.org'
gem 'rails', '>= 3.2'
++++++ dispatch.patch ++++++
Index: hawk-0.5.2/hawk/public/dispatch.fcgi
===================================================================
--- hawk-0.5.2.orig/hawk/public/dispatch.fcgi
+++ hawk-0.5.2/hawk/public/dispatch.fcgi
@@ -1,29 +1,26 @@
#!/usr/bin/ruby
-#
-# You may specify the path to the FastCGI crash log (a log of unhandled
-# exceptions which forced the FastCGI instance to exit, great for debugging)
-# and the number of requests to process before running garbage collection.
-#
-# By default, the FastCGI crash log is Rails.root/log/fastcgi.crash.log
-# and the GC period is nil (turned off). A reasonable number of requests
-# could range from 10-100 depending on the memory footprint of your app.
-#
-# Example:
-# # Default log path, normal GC behavior.
-# RailsFCGIHandler.process!
-#
-# # Default log path, 50 requests between GC.
-# RailsFCGIHandler.process! nil, 50
-#
-# # Custom log path, normal GC behavior.
-# RailsFCGIHandler.process! '/var/log/myapp_fcgi_crash.log'
-#
-# get the vendor directory into the load path well in advance, so
-# we can pull rubygems from there
$LOAD_PATH.unshift(File.dirname(__FILE__) + "/../vendor")
+require 'rubygems'
+require 'fcgi'
+
+#require_relative '../config/environment'
require File.dirname(__FILE__) + "/../config/environment"
-require 'fcgi_handler'
-RailsFCGIHandler.process!
+class Rack::PathInfoRewriter
+ def initialize(app)
+ @app = app
+ end
+
+ def call(env)
+ env.delete('SCRIPT_NAME')
+ parts = env['REQUEST_URI'].split('?')
+ env['PATH_INFO'] = parts[0]
+ env['QUERY_STRING'] = parts[1].to_s
+ @app.call(env)
+ end
+end
+
+Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(Hawk::Application)
+
++++++ fix-cib-NOTEXISTS.patch ++++++
Index: hawk-0.5.2/hawk/lib/invoker.rb
===================================================================
--- hawk-0.5.2.orig/hawk/lib/invoker.rb
+++ hawk-0.5.2/hawk/lib/invoker.rb
@@ -101,7 +101,7 @@ class Invoker
case thread.value.exitstatus
when 0
return out
- when 22 # cib_NOTEXISTS
+ when 6, 22 # cib_NOTEXISTS (used to be 22, now it's 6...)
raise NotFoundError, _('The object/attribute does not exist (cibadmin %{cmd})') % {:cmd => cmd.inspect}
when 54 # cib_permission_denied
raise SecurityError, _('Permission denied for user %{user}') % {:user => current_user}
@@ -123,7 +123,7 @@ class Invoker
case thread.value.exitstatus
when 0
return true
- when 22 # cib_NOTEXISTS
+ when 6, 22 # cib_NOTEXISTS (used to be 22, now it's 6...)
raise NotFoundError, _('The object/attribute does not exist: %{msg}') % {:msg => err}
when 54 # cib_permission_denied
raise SecurityError, _('Permission denied for user %{user}') % {:user => current_user}
++++++ fix-cibobject-exists.patch ++++++
Index: hawk-0.5.2/hawk/app/models/cib_object.rb
===================================================================
--- hawk-0.5.2.orig/hawk/app/models/cib_object.rb
+++ hawk-0.5.2/hawk/app/models/cib_object.rb
@@ -75,7 +75,8 @@ class CibObject
# hacluster, because we need to verify existence regardless of whether
# the current user can actually see the object in quesion.
def exists?(id, type='*')
- Util.safe_x('/usr/sbin/cibadmin', '-Ql', '--xpath', "//configuration//#{type}[@id='#{id}']").chomp != '<null>'
+ out = Util.safe_x('/usr/sbin/cibadmin', '-Ql', '--xpath', "//configuration//#{type}[@id='#{id}']").chomp
+ !out.empty? && out != '<null>'
end
# Find a CIB object by ID and return an instance of the appropriate
++++++ fix-root.patch ++++++
Index: hawk-0.5.2/hawk/app/controllers/application_controller.rb
===================================================================
--- hawk-0.5.2.orig/hawk/app/controllers/application_controller.rb
+++ hawk-0.5.2/hawk/app/controllers/application_controller.rb
@@ -78,7 +78,7 @@ class ApplicationController < ActionCont
# Need a default homedir for bare crm invocations that's
# writeable by hacluster
- ENV['HOME'] = File.join(RAILS_ROOT, 'tmp', 'home')
+ ENV['HOME'] = File.join(Rails.root, 'tmp', 'home')
end
# Meant to be protected, but must be public to be called by Invoker
++++++ hawk-0.5.2.tar.bz2 ++++++
++++ 63732 lines of diff (skipped)
++++++ precompile.patch ++++++
Index: hawk-0.5.2/hawk/config/environments/production.rb
===================================================================
--- hawk-0.5.2.orig/hawk/config/environments/production.rb
+++ hawk-0.5.2/hawk/config/environments/production.rb
@@ -12,10 +12,10 @@ Hawk::Application.configure do
config.serve_static_assets = false
# Compress JavaScripts and CSS
- config.assets.compress = true
+ config.assets.compress = false
# Don't fallback to assets pipeline if a precompiled asset is missed
- config.assets.compile = false
+ config.assets.compile = true
# Generate digests for assets URLs
config.assets.digest = true
++++++ remove-Gemfile-lock.patch ++++++
Index: hawk-0.5.2/hawk/Gemfile.lock
===================================================================
--- hawk-0.5.2.orig/hawk/Gemfile.lock
+++ /dev/null
@@ -1,97 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- actionmailer (3.2.7)
- actionpack (= 3.2.7)
- mail (~> 2.4.4)
- actionpack (3.2.7)
- activemodel (= 3.2.7)
- activesupport (= 3.2.7)
- builder (~> 3.0.0)
- erubis (~> 2.7.0)
- journey (~> 1.0.4)
- rack (~> 1.4.0)
- rack-cache (~> 1.2)
- rack-test (~> 0.6.1)
- sprockets (~> 2.1.3)
- activemodel (3.2.7)
- activesupport (= 3.2.7)
- builder (~> 3.0.0)
- activerecord (3.2.7)
- activemodel (= 3.2.7)
- activesupport (= 3.2.7)
- arel (~> 3.0.2)
- tzinfo (~> 0.3.29)
- activeresource (3.2.7)
- activemodel (= 3.2.7)
- activesupport (= 3.2.7)
- activesupport (3.2.7)
- i18n (~> 0.6)
- multi_json (~> 1.0)
- arel (3.0.2)
- builder (3.0.0)
- erubis (2.7.0)
- fast_gettext (0.6.4)
- gettext (2.2.1)
- locale
- gettext_i18n_rails (0.4.3)
- fast_gettext
- hike (1.2.1)
- i18n (0.6.0)
- journey (1.0.4)
- json (1.7.1)
- locale (2.0.5)
- mail (2.4.4)
- i18n (>= 0.4.0)
- mime-types (~> 1.16)
- treetop (~> 1.4.8)
- mime-types (1.18)
- multi_json (1.3.5)
- polyglot (0.3.3)
- rack (1.4.1)
- rack-cache (1.2)
- rack (>= 0.4)
- rack-ssl (1.3.2)
- rack
- rack-test (0.6.1)
- rack (>= 1.0)
- rails (3.2.7)
- actionmailer (= 3.2.7)
- actionpack (= 3.2.7)
- activerecord (= 3.2.7)
- activeresource (= 3.2.7)
- activesupport (= 3.2.7)
- bundler (~> 1.0)
- railties (= 3.2.7)
- rails-i18n (0.3.0)
- i18n (~> 0.5)
- railties (3.2.7)
- actionpack (= 3.2.7)
- activesupport (= 3.2.7)
- rack-ssl (~> 1.3.2)
- rake (>= 0.8.7)
- rdoc (~> 3.4)
- thor (>= 0.14.6, < 2.0)
- rake (0.9.2.2)
- rdoc (3.12)
- json (~> 1.4)
- sprockets (2.1.3)
- hike (~> 1.2)
- rack (~> 1.0)
- tilt (~> 1.1, != 1.3.0)
- thor (0.14.6)
- tilt (1.1)
- treetop (1.4.10)
- polyglot
- polyglot (>= 0.3.1)
- tzinfo (0.3.33)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- fast_gettext
- gettext (>= 1.9.3)
- gettext_i18n_rails (>= 0.4.3)
- rails (>= 3.2)
- rails-i18n
++++++ remove-ha_state.patch ++++++
Index: hawk-0.5.2/hawk/app/models/cib.rb
===================================================================
--- hawk-0.5.2.orig/hawk/app/models/cib.rb
+++ hawk-0.5.2/hawk/app/models/cib.rb
@@ -131,7 +131,6 @@ class Cib < CibObject
# transliteration of pacemaker/lib/pengine/unpack.c:determine_online_status_fencing()
# ns is node_state element from CIB
def determine_online_status_fencing(ns)
- ha_state = get_xml_attr(ns, 'ha', 'dead')
in_ccm = get_xml_attr(ns, 'in_ccm')
crm_state = get_xml_attr(ns, 'crmd')
join_state = get_xml_attr(ns, 'join')
@@ -141,7 +140,7 @@ class Cib < CibObject
expected_up = get_xml_attr(ns, 'shutdown', '0') == 0
state = :unclean
- if in_ccm && ha_state == 'active' && crm_state == 'online'
+ if in_ccm && crm_state == 'online'
case join_state
when 'member' # rock 'n' roll (online)
state = :online
@@ -154,7 +153,7 @@ class Cib < CibObject
else # unexpectedly down (unclean)
state = :unclean
end
- elsif !in_ccm && ha_state =='dead' && crm_state == 'offline' && !expected_up
+ elsif !in_ccm && crm_state == 'offline' && !expected_up
state = :offline # not online, but cleanly
elsif expected_up
state = :unclean # expected to be up, mark it unclean
@@ -168,7 +167,6 @@ class Cib < CibObject
# ns is node_state element from CIB
# TODO(could): can we consolidate this with determine_online_status_fencing?
def determine_online_status_no_fencing(ns)
- ha_state = get_xml_attr(ns, 'ha', 'dead')
in_ccm = get_xml_attr(ns, 'in_ccm')
crm_state = get_xml_attr(ns, 'crmd')
join_state = get_xml_attr(ns, 'join')
@@ -178,7 +176,7 @@ class Cib < CibObject
expected_up = get_xml_attr(ns, 'shutdown', '0') == 0
state = :unclean
- if !in_ccm || ha_state == 'dead'
+ if !in_ccm
state = :offline
elsif crm_state == 'online'
if join_state == 'member'
++++++ session-old-hash.patch ++++++
Index: hawk-0.5.2/hawk/config/initializers/cookie_verification_secret.rb
===================================================================
--- hawk-0.5.2.orig/hawk/config/initializers/cookie_verification_secret.rb
+++ hawk-0.5.2/hawk/config/initializers/cookie_verification_secret.rb
@@ -1,6 +1,6 @@
# Be sure to restart your server when you modify this file.
-Hawk::Application.config.session_store :cookie_store, key: '_hawk_session'
+Hawk::Application.config.session_store :cookie_store, :key => '_hawk_session'
SESSION_SECRET_FILE = File.join(Rails.root, 'tmp', 'session_secret')
Index: hawk-0.5.2/hawk/config/initializers/session_store.rb
===================================================================
--- hawk-0.5.2.orig/hawk/config/initializers/session_store.rb
+++ hawk-0.5.2/hawk/config/initializers/session_store.rb
@@ -1,6 +1,6 @@
# Be sure to restart your server when you modify this file.
-Hawk::Application.config.session_store :cookie_store, key: '_hawk_session'
+Hawk::Application.config.session_store :cookie_store, :key => '_hawk_session'
# Use the database for sessions instead of the cookie-based default,
# which shouldn't be used to store highly confidential information
Index: hawk-0.5.2/hawk/config/initializers/wrap_parameters.rb
===================================================================
--- hawk-0.5.2.orig/hawk/config/initializers/wrap_parameters.rb
+++ hawk-0.5.2/hawk/config/initializers/wrap_parameters.rb
@@ -5,7 +5,7 @@
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
ActiveSupport.on_load(:action_controller) do
- wrap_parameters format: [:json]
+ wrap_parameters :format => [:json]
end
# Disable root element in JSON by default.
++++++ set-default-home.patch ++++++
Index: hawk-0.5.2/hawk/app/controllers/application_controller.rb
===================================================================
--- hawk-0.5.2.orig/hawk/app/controllers/application_controller.rb
+++ hawk-0.5.2/hawk/app/controllers/application_controller.rb
@@ -75,6 +75,10 @@ class ApplicationController < ActionCont
require 'socket'
@host = Socket.gethostname # should be short hostname
+
+ # Need a default homedir for bare crm invocations that's
+ # writeable by hacluster
+ ENV['HOME'] = File.join(RAILS_ROOT, 'tmp', 'home')
end
# Meant to be protected, but must be public to be called by Invoker
++++++ use-lrmd_test.patch ++++++
Index: hawk-0.5.2/hawk/app/models/primitive.rb
===================================================================
--- hawk-0.5.2.orig/hawk/app/models/primitive.rb
+++ hawk-0.5.2/hawk/app/models/primitive.rb
@@ -327,7 +327,19 @@ class Primitive < CibObject
}
return m if c.empty? or t.empty?
p = 'NULL' if p.empty?
- xml = REXML::Document.new(Util.safe_x('/usr/sbin/lrmadmin', '-M', c, t, p, 'meta'))
+
+ xml = nil
+
+ # try pacemaker's new lrmd_test for metadata.
+ [ "/usr/lib64/pacemaker/lrmd_test", "/usr/lib/pacemaker/lrmd_test" ].each do |path|
+ next unless File.executable?(path)
+ xml = REXML::Document.new(Util.safe_x(path, '-c', 'metadata', '-C', c, '-P', p, '-T', t))
+ break
+ end
+
+ # old lrmadmin fallback
+ xml = REXML::Document.new(Util.safe_x('/usr/sbin/lrmadmin', '-M', c, t, p, 'meta')) unless xml
+
return m unless xml.root
# TODO(should): select by language (en), likewise below
m[:shortdesc] = Util.get_xml_text(xml.root.elements['shortdesc'])
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package haveged for openSUSE:Factory checked in at 2012-12-28 15:01:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/haveged (Old)
and /work/SRC/openSUSE:Factory/.haveged.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "haveged", Maintainer is "MVyskocil(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/haveged/haveged.changes 2012-11-28 10:35:31.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.haveged.new/haveged.changes 2012-12-28 15:01:04.000000000 +0100
@@ -1,0 +2,12 @@
+Fri Dec 21 11:53:16 UTC 2012 - dvaleev(a)suse.com
+
+- fix powerpc detection (haveged-ppc.patch)
+
+-------------------------------------------------------------------
+Sun Dec 16 02:11:10 UTC 2012 - pascal.bleser(a)opensuse.org
+
+- update to 1.6:
+ * make clock_gettime a build option and correct dependencies when used
+ * fix alignment fault on arm64 in procedure A test0
+
+-------------------------------------------------------------------
Old:
----
haveged-1.5.tar.gz
New:
----
haveged-1.6.tar.gz
haveged-ppc.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ haveged.spec ++++++
--- /var/tmp/diff_new_pack.k0JfD8/_old 2012-12-28 15:01:06.000000000 +0100
+++ /var/tmp/diff_new_pack.k0JfD8/_new 2012-12-28 15:01:06.000000000 +0100
@@ -17,7 +17,7 @@
Name: haveged
-Version: 1.5
+Version: 1.6
Release: 0
Summary: Feed entropy into random pool
License: GPL-3.0
@@ -26,6 +26,7 @@
Source0: http://www.issihosts.com/haveged/%{name}-%{version}.tar.gz
Source1: %{name}.init
Source2: %{name}.service
+Patch0: haveged-ppc.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: automake
Requires(pre): %insserv_prereq
@@ -49,12 +50,16 @@
%prep
%setup -q
+%patch0 -p1
%build
autoreconf -fiv
export CFLAGS="%optflags -fpie"
export LDFLAGS="-Wl,-z,relro,-z,now -pie"
-%configure --enable-nistest=yes --enable-daemon=yes
+%configure \
+ --enable-nistest=yes \
+ --enable-daemon=yes \
+ --enable-clock_gettime=yes
make %{?_smp_mflags}
%check
@@ -110,7 +115,7 @@
%{_sbindir}/rc%{name}
%{_sbindir}/%{name}
%config %{_initddir}/%{name}
-%{_mandir}/man8/%{name}.8.gz
+%doc %{_mandir}/man8/%{name}.8*
%if 0%{?have_systemd}
%{_unitdir}/%{name}.service
%endif
++++++ haveged-1.5.tar.gz -> haveged-1.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/ChangeLog new/haveged-1.6/ChangeLog
--- old/haveged-1.5/ChangeLog 2012-08-12 16:34:44.000000000 +0200
+++ new/haveged-1.6/ChangeLog 2012-12-15 18:13:07.000000000 +0100
@@ -1,3 +1,8 @@
+v1.6 (Dec 15, 2012)
+ * Correct makefile encoding and defaults description
+ * Make clock_gettime a build option and correct dependencies when used.
+ * Fix alignment fault on arm64 in procedure A test0.
+
v1.5 (Aug 12, 2012)
* Add online tests based on AIS-31 controlled by --enable-olt build option
* Add -o option to specify online tests to perform
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/README new/haveged-1.6/README
--- old/haveged-1.5/README 2012-08-12 16:32:53.000000000 +0200
+++ new/haveged-1.6/README 2012-10-07 16:15:28.000000000 +0200
@@ -1,270 +1,278 @@
-Haveged, an entropy source
-
-INTRODUCTION
-
-Complete documentation on haveged can be found at http://www.issihosts.com/haveged/
-
-Linux provides device interfaces (/dev/random and /dev/urandom) to a pool of
-random numbers collected from system interrupt service routines. On some
-systems, especially on those systems with high needs or limited user
-interaction, the standard collection mechanism cannot meet demand. In those
-cases, an adequate supply of random numbers can be maintained by feeding
-additional entropy into /dev/random pool via a file system interface. The
-haveged daemon was created to fulfill this function using random data generated
-by the HAVEGE algorithm.
-
-The HAVEGE algorithm is based upon the indirect effects of unrelated hardware
-events on the instruction timing of a calculation that is sensitive to processor
-features such as branch predictors and instruction/data access mechanisms.
-Samples from a high-resolution timer are input into the algorithm to
-produce a stream of random data in a collection buffer. The contents of this
-buffer can be fed into the random device or accessed directly through the file
-system. File system access is a useful alternative to those situations where
-use of the random device is either inappropriate or not available.
-
-The HAVEGE mechanism is implemented in C using in-line assembly only where
-direct hardware access is needed. On modern compilers, compiler intrinsics are
-used to replace much if not all in-line assembly. In any case, the compiler has a
-large role determining how HAVEGE operates in practice and any port of haveged
-to a new environment should be fully tested before being put into production.
-The build system provides "check" targets to test the output of the haveged
-random number generator through the file system interface.
-
-Online test options based upon the methodology from the proposed AIS-31 standard
-from the German Federal Office for Information Security (Bundesamt f�r Sicherheit
-in der Informationstechnik) are provided in haveged as a final check of the output
-of the random number generator. In its default configuration, haveged passes most
-of the requirements for a NTG.1 class device described in version two of the
-AIS-31 specification.
-
-BUILDING haveged
-
-This package originated on "Enterprise Linux 5" systems (RHEL 5 / CentOS 5 / SL
-5), but every effort has been made to retain and broaden the hardware support of the
-original HAVEGE implementation. The package uses the automake build system.
-
-The configure process uses hardware detection via config.sub or the configure
-"-host" command line argument. The configure "host" variable is used to select
-in-line assembly or compiler intrinsics appropriate to the build target.
-
-Currently supported hosts are:
-
-1. x86
-2. ia64
-3. powerpc
-4. s390
-5. sparc
-6. sparclite
-7. default
-
-The default host type is provided for those systems without user level access to
-a high-resolution system timer. In this case, clock_gettime(CLOCK_MONOTONIC)
-is used as the timer source. In this case, extended testing is recommended before
-putting this configuration into service using the build check targets and/or
-use of the online test facilities to verify correct operation.
-
-The haveged collection loop is tuned at run-time to match the size of the hosts
-L1 data and instruction caches. The size determination is made on the basis of
-the best fit to the following (low to high):
-
-1. as a compiled default
-2. as determined by cpuid, if available
-3. as determined by the /sys file system, if available
-4. as specified on the command line.
-
-Under most circumstances, the default tuning will suffice and manual overrides are
-unnecessary.
-
-The following build options are available to "./configure":
-
-1. --enable-capture (diagnostic)
-2. --enable-daemon (default for Linux)
-3. --enable-init (type)
-4. --enable-inject (diagnostic)
-5. --enable-olt (recommended default)
-6. --enable-nistest (recommended)
-7. --enable-threads (experimental)
-
-If options capture or inject are enabled, or the daemon option is disabled,
-haveged will build without the daemon interfaces (i.e. only file system access
-will be available). The install target will install the executable in the user
-bin directory and no init method will be configured. If the daemon option defaults
-to "enabled" if the host operating system for the build is Linux and disabled
-otherwise.
-
-The daemon interface requires access to the random device and the /proc virtual
-file system as well as the ability to fork into the background. The daemon
-interface targets the 2.6 kernel and may not work on 2.4 kernels due to
-difference in the random interface between those two kernel versions. The change
-in the proc file system from pool size expressed in bytes to pool size expressed
-in bits has been taken into account - other changes may be required.
-
-The daemon interface includes an init method to start the daemon at system boot.
-The sysV mechanism is used by default. The enable-init method specifies a template
-to be used for the init script. A simple naming convention indicates if the
-template will be used to install a traditional systemv init script ("haveged")
-or a systemd unit definition ("haveged.service"). In the latter case, pkg-config
-is required by the install target. See INSTALLATION for details.
-
-The file system interface supports file creation of up data setups up to 16tb or
-can be part of a piped command set. See the man file for examples.
-
-The online test system tests the output of the haveged random number generator
-using AIS-31 test procedures A and B. Either or both tests may be run as a
-total failure check (a "tot" test) at initialization and/or continuously during
-all subsequent haveged operation - See the man page and the description at
-http://www.issihosts.com/haveged/ais31.html for further information.
-The online test facility does require additional resources and for systems with
-a limited resource budget, the enable-olt build switch can be used to suppress
-the entire online test facility.
-
-The build system provides two additional test mechanisms for the haveged random
-number generator within the build system. The tests are implemented by by
-ent/test.sh and nist/test.sh. By default, only the ent/test.sh test is performed.
-The other test must be enabled with the configure option "-enable-nistest"
-to ensure so that both tests are executed by the check target:
-
-1. A "quick" check based upon and adaptation of the public domain ENT program.
- The "entest" program uses the ENT sources to subject a sample to the following:
-
- a) The Chi-Square result must fall within acceptable bounds (>1% and <99 %)
- b) The entropy/character must exceed a minimum (7.5)
- c) The arithmetic mean must exceed a minimum (127.0)
- d) The monte-carlo approximation of PI must lie within error bounds (.5%)
- e) The Sequential Correlation Coefficient must be below a minimum (.8)
-
- The program provides a pass-fail indication and an optional display of the
- results to stdout.
-
-2. An adaptation of the NIST Statistical Test Suite as adapted by Oliver
- Rochecouste of irisa.fr as part of the original havege project. More that 400
- tests are performed in a typical run. The program provides as pass-fail
- indication with detailed results reported in the nist.out file in the
- nist directory. You will need sit down with SP800-*.pdf available from the
- NIST to review the detailed results.
-
-
-Both scripts function the same way, haveged is run to collect a sample file in
-the test directory which is then analyzed by the test program. A pass-fail return
-is given in both case, additional information is written to stdout. The input
-samples and the nist.out report are deleted by the clean make target.
-
-The tests can also executed from a shell prompt at any time after "make check" by
-executing ent/test.sh or nist/test.sh from the build directory. Command arguments
-to the script are passed on to the haveged invocation, this allows the sample
-size to be adjusted via "-r" or cache sizes to be specified via "-d" and "-i".
-
-Both test mechanism are statistical and even a fully functional random number
-generator will experience occasional failures. It is not uncommon to see one or
-two failures in the NIST suite and the entest will occasionally fail with a small
-sample size (usually the Chi-Square test barks). Early haveged releases used a
-entest sample size of 1MB, this has been increased to 16MB because failures with
-that sample size were all too common. A 16MB sample will also deplete and refill
-the haveged collection area to exercise all buffer logic.
-
-The threads option is a prototype for running multiple collection threads in
-a single haveged instance. The goal is to create a multi-core haveged that
-would spread collection overhead more evenly over the available cpu resources.
-
-
-RUNNING haveged
-
-The following invocation arguments are always available:
-
- --buffer , -b [] Buffer size [KW] - default : 128 (512KB)
- --data , -d [] Data cache size [KB]
- --inst , -i [] Instruction cache size [KB]
- --file , -f [] Sample output file - default: 'sample', use '-' for stdout
- --number , -n [] Write to file, units can be k, m, g, t. Use 0 for unlimited
- --verbose , -v [] Output level 0=minimal,1=info,<diagnostics>
- --help , -h This help
-
-If haveged is built with online testing enabled, the following is present
-
- --onlinetest , -o [] [t<x>][c<x>] x=[a[n][w]][b[w]] 't'ot, 'c'ontinuous, default: tb"
-
-The default configuration executes the "tot" test using AIS procedure B. At the completion
-of the tot test, the buffer is reloaded and any continuous tests will be run before
-data becomes available.
-
-If haveged is built with threads support, the following is present
-
- --threads , -t [] Number of threads
-
-If daemon interface is enabled the following options are available:
-
- --Foreground , -F Run daemon in foreground, do not fork and detach,
- --pid , -p [] The location of the daemon pid file, default: /var/run/haveged.pid
- --run , -r [] 0=daemon,1=config info,>1=Write <r>KB sample file
- --write , -w [] Set write_wakeup_threshold [bits]
-
-The "-b", "-d", "-i" options are needed only in special cases. Generator output
-should be validated after changes to these values.
-
-Non-zero "-r" options are used to test the haveged random number generator; The
-random number generator will be configured, the initial data collection pass
-will be executed, configuration details will be written to stdout, and a "-r"
-KB sample of output will be written to the sample output file for all "-r" > 1.
-The "-n" option provides a more friendly version of r > 1. If the daemon interface
-is not enabled, the run value option is not available and defaults to 1.
-
-Output for r=1 displays build and tuning information:
-
-haveged: version: 1.5; arch: x86; vendor: GenuineIntel; cores: 1/1, buffer: 128
-haveged: d_cache: 32K (000020), i_cache: 32K (000020), i_index: 20/40, i_size: 31756/62345
-haveged: tot tests: B, continuous tests:
-
-Sources displayed in parenthesis are bit values indicating where the tuning
-information was found:
-
-0x00001 Default value
-0x00002 Invocation parameter
-0x00004-0x00020 Cpuid functions available
-0x00040 Virtual file system available
-0x00100-0x02000 Cpuid detail
-0x04000- Virtual file system detail
-
-The "-v" option also uses a bit mask to obtain additional diagnostic information
-
-0x01 Adds build/tuning display and testing summary to any run
-0x02 Show test details
-0x04 Show timing for collections
-0x08 Show collection loop characteristics
-0x10 Show code offsets.
-
-The "-w" option will set proc/sys/kernel/random/write_wakeup_threshold to the
-given value. This is useful because this threshold is very small on some systems.
-A minimum of 1024 is recommended.
-
-
-
-
-INSTALLATION
-
-If the daemon interface is not enabled, the install places the executable in
-the bin directory and provides a man(8) page. It the daemon interface is enabled,
-the executable is installed in the sbin directory and the daemon startup is
-enabeled at system boot.
-
-A simple template system is used to setup the init method. The template must
-reside in the init.d build directory and is selected by the --enable-init build
-option. Template names "service.*" indicate that a systemd style init, while
-templates with other style names ("sysv.*" recommended) are used for sysv
-style init scripts.
-
-Examples:
-
-./configure --enable-init=service.redhat
-./configure --enable-init=sysv.lsb
-
-The default setting is "sysv.redhat". Custom sysv init scripts can be added as
-necessary by adding templates to init.d.
-
-
-EXTRAS
-
-The contrib directory contains bits and pieces that are not integrated into the
-distribution. Currently this contains an unorganized collection of some of
-the tools used to analyze haveged.
-
-
+Haveged, an entropy source
+
+INTRODUCTION
+
+Complete documentation on haveged can be found at http://www.issihosts.com/haveged/
+
+Linux provides device interfaces (/dev/random and /dev/urandom) to a pool of
+random numbers collected from system interrupt service routines. On some
+systems, especially on those systems with high needs or limited user
+interaction, the standard collection mechanism cannot meet demand. In those
+cases, an adequate supply of random numbers can be maintained by feeding
+additional entropy into /dev/random pool via a file system interface. The
+haveged daemon was created to fulfill this function using random data generated
+by the HAVEGE algorithm.
+
+The HAVEGE algorithm is based upon the indirect effects of unrelated hardware
+events on the instruction timing of a calculation that is sensitive to processor
+features such as branch predictors and instruction/data access mechanisms.
+Samples from a high-resolution timer are input into the algorithm to
+produce a stream of random data in a collection buffer. The contents of this
+buffer can be fed into the random device or accessed directly through the file
+system. File system access is a useful alternative to those situations where
+use of the random device is either inappropriate or not available.
+
+The HAVEGE mechanism is implemented in C using in-line assembly only where
+direct hardware access is needed. On modern compilers, compiler intrinsics are
+used to replace much if not all in-line assembly. In any case, the compiler has a
+large role determining how HAVEGE operates in practice and any port of haveged
+to a new environment should be fully tested before being put into production.
+The build system provides "check" targets to test the output of the haveged
+random number generator through the file system interface.
+
+Online test options based upon the methodology from the proposed AIS-31 standard
+from the German Federal Office for Information Security (Bundesamt für Sicherheit
+in der Informationstechnik) are provided in haveged as a final check of the output
+of the random number generator. In its default configuration, haveged passes most
+of the requirements for a NTG.1 class device described in version two of the
+AIS-31 specification.
+
+BUILDING haveged
+
+This package originated on "Enterprise Linux 5" systems (RHEL 5 / CentOS 5 / SL
+5), but every effort has been made to retain and broaden the hardware support of the
+original HAVEGE implementation. The package uses the automake build system.
+
+The configure process uses hardware detection via config.sub or the configure
+"-host" command line argument. The configure "host" variable is used to select
+in-line assembly or compiler intrinsics appropriate to the build target.
+
+Currently supported hosts are:
+
+1. x86
+2. ia64
+3. powerpc
+4. s390
+5. sparc
+6. sparclite
+7. default
+
+The default host type is provided for those systems without user level access to
+a high-resolution system timer. In this case, clock_gettime(CLOCK_MONOTONIC)
+is used as the timer source. In this case, extended testing is recommended before
+putting this configuration into service using the build check targets and/or
+use of the online test facilities to verify correct operation.
+
+The haveged collection loop is tuned at run-time to match the size of the hosts
+L1 data and instruction caches. The size determination is made on the basis of
+the best fit to the following (low to high):
+
+1. as a compiled default
+2. as determined by cpuid, if available
+3. as determined by the /sys file system, if available
+4. as specified on the command line.
+
+Under most circumstances, the default tuning will suffice and manual overrides are
+unnecessary.
+
+The following build options are available to "./configure":
+
+1. --enable-capture (diagnostic)
+2. --enable-clock_gettime (not normally needed)
+3. --enable-daemon (default for Linux)
+4. --enable-init (type)
+5. --enable-inject (diagnostic)
+6. --enable-nistest (recommended)
+7. --enable-olt (recommended default)
+8. --enable-threads (experimental)
+
+If options capture or inject are enabled, or the daemon option is disabled,
+haveged will build without the daemon interfaces (i.e. only file system access
+will be available). The install target will install the executable in the user
+bin directory and no init method will be configured. If the daemon option defaults
+to "enabled" if the host operating system for the build is Linux and disabled
+otherwise.
+
+On supported architectures, a hardware specific high resolution timer source is
+selected by the haveged build. The clock_gettime() function can provide this
+source under certain circumstances and is the default mechanism for builds on
+unrecognized architectures. Due to variability of clock_gettime() implementations,
+the adequacy of the clock_gettime() resolution cannot be known until runtime.
+For all recognized architectures, this option defaults to no.
+
+The daemon interface requires access to the random device and the /proc virtual
+file system as well as the ability to fork into the background. The daemon
+interface targets the 2.6 kernel and may not work on 2.4 kernels due to
+difference in the random interface between those two kernel versions. The change
+in the proc file system from pool size expressed in bytes to pool size expressed
+in bits has been taken into account - other changes may be required.
+
+The daemon interface includes an init method to start the daemon at system boot.
+The sysV mechanism is used by default. The enable-init method specifies a template
+to be used for the init script. A simple naming convention indicates if the
+template will be used to install a traditional systemv init script ("haveged")
+or a systemd unit definition ("haveged.service"). In the latter case, pkg-config
+is required by the install target. See INSTALLATION for details.
+
+The file system interface supports file creation of up data setups up to 16tb or
+can be part of a piped command set. See the man file for examples.
+
+The online test system tests the output of the haveged random number generator
+using AIS-31 test procedures A and B. Either or both tests may be run as a
+total failure check (a "tot" test) at initialization and/or continuously during
+all subsequent haveged operation - See the man page and the description at
+http://www.issihosts.com/haveged/ais31.html for further information.
+The online test facility does require additional resources and for systems with
+a limited resource budget, the enable-olt build switch can be used to suppress
+the entire online test facility.
+
+The build system provides two additional test mechanisms for the haveged random
+number generator within the build system. The tests are implemented by by
+ent/test.sh and nist/test.sh. By default, only the ent/test.sh test is performed.
+The other test must be enabled with the configure option "-enable-nistest"
+to ensure so that both tests are executed by the check target:
+
+1. A "quick" check based upon and adaptation of the public domain ENT program.
+ The "entest" program uses the ENT sources to subject a sample to the following:
+
+ a) The Chi-Square result must fall within acceptable bounds (>1% and <99 %)
+ b) The entropy/character must exceed a minimum (7.5)
+ c) The arithmetic mean must exceed a minimum (127.0)
+ d) The monte-carlo approximation of PI must lie within error bounds (.5%)
+ e) The Sequential Correlation Coefficient must be below a minimum (.8)
+
+ The program provides a pass-fail indication and an optional display of the
+ results to stdout.
+
+2. An adaptation of the NIST Statistical Test Suite as adapted by Oliver
+ Rochecouste of irisa.fr as part of the original havege project. More that 400
+ tests are performed in a typical run. The program provides as pass-fail
+ indication with detailed results reported in the nist.out file in the
+ nist directory. You will need sit down with SP800-*.pdf available from the
+ NIST to review the detailed results.
+
+
+Both scripts function the same way, haveged is run to collect a sample file in
+the test directory which is then analyzed by the test program. A pass-fail return
+is given in both case, additional information is written to stdout. The input
+samples and the nist.out report are deleted by the clean make target.
+
+The tests can also executed from a shell prompt at any time after "make check" by
+executing ent/test.sh or nist/test.sh from the build directory. Command arguments
+to the script are passed on to the haveged invocation, this allows the sample
+size to be adjusted via "-r" or cache sizes to be specified via "-d" and "-i".
+
+Both test mechanism are statistical and even a fully functional random number
+generator will experience occasional failures. It is not uncommon to see one or
+two failures in the NIST suite and the entest will occasionally fail with a small
+sample size (usually the Chi-Square test barks). Early haveged releases used a
+entest sample size of 1MB, this has been increased to 16MB because failures with
+that sample size were all too common. A 16MB sample will also deplete and refill
+the haveged collection area to exercise all buffer logic.
+
+The threads option is a prototype for running multiple collection threads in
+a single haveged instance. The goal is to create a multi-core haveged that
+would spread collection overhead more evenly over the available cpu resources.
+
+
+RUNNING haveged
+
+The following invocation arguments are always available:
+
+ --buffer , -b [] Buffer size [KW] - default : 128 (512KB)
+ --data , -d [] Data cache size [KB]
+ --inst , -i [] Instruction cache size [KB]
+ --file , -f [] Sample output file - default: 'sample', use '-' for stdout
+ --number , -n [] Write to file, units can be k, m, g, t. Use 0 for unlimited
+ --verbose , -v [] Output level 0=minimal,1=info,<diagnostics>
+ --help , -h This help
+
+If haveged is built with online testing enabled, the following is present
+
+ --onlinetest , -o [] [t<x>][c<x>] x=[a[n][w]][b[w]] 't'ot, 'c'ontinuous, default: tb"
+
+The default configuration executes the "tot" test using AIS procedure B. At the completion
+of the tot test, the buffer is reloaded and any continuous tests will be run before
+data becomes available.
+
+If haveged is built with threads support, the following is present
+
+ --threads , -t [] Number of threads
+
+If daemon interface is enabled the following options are available:
+
+ --Foreground , -F Run daemon in foreground, do not fork and detach,
+ --pid , -p [] The location of the daemon pid file, default: /var/run/haveged.pid
+ --run , -r [] 0=daemon,1=config info,>1=Write <r>KB sample file
+ --write , -w [] Set write_wakeup_threshold [bits]
+
+The "-b", "-d", "-i" options are needed only in special cases. Generator output
+should be validated after changes to these values.
+
+Non-zero "-r" options are used to test the haveged random number generator; The
+random number generator will be configured, the initial data collection pass
+will be executed, configuration details will be written to stdout, and a "-r"
+KB sample of output will be written to the sample output file for all "-r" > 1.
+The "-n" option provides a more friendly version of r > 1. If the daemon interface
+is not enabled, the run value option is not available and defaults to 1.
+
+Output for r=1 displays build and tuning information:
+
+haveged: version: 1.5; arch: x86; vendor: GenuineIntel; cores: 1/1, buffer: 128
+haveged: d_cache: 32K (000020), i_cache: 32K (000020), i_index: 20/40, i_size: 31756/62345
+haveged: tot tests: B, continuous tests:
+
+Sources displayed in parenthesis are bit values indicating where the tuning
+information was found:
+
+0x00001 Default value
+0x00002 Invocation parameter
+0x00004-0x00020 Cpuid functions available
+0x00040 Virtual file system available
+0x00100-0x02000 Cpuid detail
+0x04000- Virtual file system detail
+
+The "-v" option also uses a bit mask to obtain additional diagnostic information
+
+0x01 Adds build/tuning display and testing summary to any run
+0x02 Show test details
+0x04 Show timing for collections
+0x08 Show collection loop characteristics
+0x10 Show code offsets.
+
+The "-w" option will set proc/sys/kernel/random/write_wakeup_threshold to the
+given value. This is useful because this threshold is very small on some systems.
+A minimum of 1024 is recommended.
+
+
+
+
+INSTALLATION
+
+If the daemon interface is not enabled, the install places the executable in
+the bin directory and provides a man(8) page. It the daemon interface is enabled,
+the executable is installed in the sbin directory and the daemon startup is
+enabled at system boot.
+
+A simple template system is used to setup the init method. The template must
+reside in the init.d build directory and is selected by the --enable-init build
+option. Template names "service.*" indicate that a systemd style init, while
+templates with other style names ("sysv.*" recommended) are used for sysv
+style init scripts.
+
+Examples:
+
+./configure --enable-init=service.redhat
+./configure --enable-init=sysv.lsb
+
+The default setting is "sysv.redhat". Custom sysv init scripts can be added as
+necessary by adding templates to init.d.
+
+
+EXTRAS
+
+The contrib directory contains bits and pieces that are not integrated into the
+distribution. Currently this contains an unorganized collection of some of
+the tools used to analyze haveged.
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/config.h.in new/haveged-1.6/config.h.in
--- old/haveged-1.5/config.h.in 2012-08-12 16:47:56.000000000 +0200
+++ new/haveged-1.6/config.h.in 2012-12-15 18:19:54.000000000 +0100
@@ -3,8 +3,8 @@
/* daemon type */
#undef DAEMON_TYPE
-/* Define to 1 if you have the `clock_gettime' function. */
-#undef HAVE_CLOCK_GETTIME
+/* Define to 1 for clock_gettime */
+#undef ENABLE_CLOCK_GETTIME
/* Define to 1 if you have the <cpuid.h> header file. */
#undef HAVE_CPUID_H
@@ -124,7 +124,7 @@
/* Define to 1 if you have the `__rdtsc' function. */
#undef HAVE___RDTSC
-/* Define to 1 to supress daemon interface */
+/* Define to 1 to suppress daemon interface */
#undef NO_DAEMON
/* Define to single collection thread */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/configure new/haveged-1.6/configure
--- old/haveged-1.5/configure 2012-08-12 16:47:39.000000000 +0200
+++ new/haveged-1.6/configure 2012-12-15 18:18:50.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for haveged 1.5.
+# Generated by GNU Autoconf 2.68 for haveged 1.6.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -557,8 +557,8 @@
# Identity of this package.
PACKAGE_NAME='haveged'
PACKAGE_TARNAME='haveged'
-PACKAGE_VERSION='1.5'
-PACKAGE_STRING='haveged 1.5'
+PACKAGE_VERSION='1.6'
+PACKAGE_STRING='haveged 1.6'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -706,6 +706,7 @@
enable_init
enable_olt
enable_capture
+enable_clock_gettime
enable_daemon
enable_inject
enable_threads
@@ -1263,7 +1264,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures haveged 1.5 to adapt to many kinds of systems.
+\`configure' configures haveged 1.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1333,7 +1334,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of haveged 1.5:";;
+ short | recursive ) echo "Configuration of haveged 1.6:";;
esac
cat <<\_ACEOF
@@ -1345,6 +1346,8 @@
[default=sysv.redhat]
--enable-olt=yes/no Enable online tests [default=yes]
--enable-capture=no/yes Enable capture diagnostic. [default=no]
+ --enable-clock_gettime=no/yes
+ Enable clock_gettime. [default=no]
--enable-daemon=yes/no Enable daemon [default=yes if linux]
--enable-inject=no/yes Enable inject diagnostic. [default=no]
--enable-threads=no/yes Enable threads [default=no]
@@ -1428,7 +1431,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-haveged configure 1.5
+haveged configure 1.6
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1793,7 +1796,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by haveged $as_me 1.5, which was
+It was created by haveged $as_me 1.6, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2610,7 +2613,7 @@
# Define the identity of the package.
PACKAGE='haveged'
- VERSION='1.5'
+ VERSION='1.6'
cat >>confdefs.h <<_ACEOF
@@ -2694,6 +2697,15 @@
fi
+## Make clock_gettime configurable
+# Check whether --enable-clock_gettime was given.
+if test "${enable_clock_gettime+set}" = set; then :
+ enableval=$enable_clock_gettime;
+else
+ enable_clock_gettime="no"
+fi
+
+
## Make build w/o daemon interface configurable
# Check whether --enable-daemon was given.
if test "${enable_daemon+set}" = set; then :
@@ -4274,7 +4286,7 @@
_ACEOF
-for ac_func in __rdtsc clock_gettime floor gettimeofday memset pow select sched_yield sqrt
+for ac_func in __rdtsc floor gettimeofday memset pow select sched_yield sqrt
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -4718,7 +4730,7 @@
;;
*)
- HA_LDFLAGS="$HA_LDFLAGS -lrt"
+ $enable_clock_gettime = "yes"
cat >>confdefs.h <<_ACEOF
#define HAVE_ISA_GENERIC "$host"
@@ -4728,6 +4740,77 @@
esac
+## Check clock_getime option
+
+if test "x$enable_clock_gettime" = "xyes"; then
+ saved_libs=$LIBS
+ LIB_CLOCK_GETTIME=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
+$as_echo_n "checking for library containing clock_gettime... " >&6; }
+if ${ac_cv_search_clock_gettime+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char clock_gettime ();
+int
+main ()
+{
+return clock_gettime ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' rt posix4; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_clock_gettime=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_clock_gettime+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_clock_gettime+:} false; then :
+
+else
+ ac_cv_search_clock_gettime=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
+$as_echo "$ac_cv_search_clock_gettime" >&6; }
+ac_res=$ac_cv_search_clock_gettime
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+ test "$ac_cv_search_clock_gettime" = "none required" || LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime
+else
+ as_fn_error $? "clock_gettime is required for host :\"$host\"." "$LINENO" 5
+fi
+
+ LIBS=$saved_libs
+ HA_LDFLAGS="$HA_LDFLAGS $LIB_CLOCK_GETTIME"
+
+$as_echo "#define ENABLE_CLOCK_GETTIME 1" >>confdefs.h
+
+fi
+
+
## Determine daemon type
if test "$daemon_type" = "none"; then
@@ -4779,7 +4862,7 @@
fi
-## Set hardware depedent define for the build
+## Set hardware dependent define for the build
@@ -5331,7 +5414,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by haveged $as_me 1.5, which was
+This file was extended by haveged $as_me 1.6, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5397,7 +5480,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-haveged config.status 1.5
+haveged config.status 1.6
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/configure.ac new/haveged-1.6/configure.ac
--- old/haveged-1.5/configure.ac 2012-08-12 16:47:28.000000000 +0200
+++ new/haveged-1.6/configure.ac 2012-10-07 15:54:12.000000000 +0200
@@ -3,7 +3,7 @@
## Minimum Autoconf version
AC_PREREQ(1.9)
-AC_INIT([haveged],[1.5])
+AC_INIT([haveged],[1.6])
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_HEADER([config.h])
AM_INIT_AUTOMAKE
@@ -29,6 +29,9 @@
AC_DEFINE(RAW_OUT_ENABLE, 1, [Define to 1 for capture diagnostic])
fi
+## Make clock_gettime configurable
+AC_ARG_ENABLE(clock_gettime, AS_HELP_STRING([--enable-clock_gettime=[no/yes]],[Enable clock_gettime. [default=no]]),, enable_clock_gettime="no")
+
## Make build w/o daemon interface configurable
AC_ARG_ENABLE(daemon, AS_HELP_STRING([--enable-daemon=[yes/no]],[Enable daemon [default=yes if linux]]),, enable_daemon="x" )
@@ -68,7 +71,7 @@
AC_FUNC_MALLOC
AC_FUNC_SELECT_ARGTYPES
AC_TYPE_SIGNAL
-AC_CHECK_FUNCS([__rdtsc clock_gettime floor gettimeofday memset pow select sched_yield sqrt])
+AC_CHECK_FUNCS([__rdtsc floor gettimeofday memset pow select sched_yield sqrt])
## Checks for header files.
AC_HEADER_STDC
@@ -141,16 +144,30 @@
;;
*)
- HA_LDFLAGS="$HA_LDFLAGS -lrt"
+ $enable_clock_gettime = "yes"
AC_DEFINE_UNQUOTED(HAVE_ISA_GENERIC, "$host", [Define generic host])
;;
esac
+## Check clock_getime option
+
+if test "x$enable_clock_gettime" = "xyes"; then
+ saved_libs=$LIBS
+ LIB_CLOCK_GETTIME=
+ AC_SEARCH_LIBS([clock_gettime], [rt posix4],
+ [test "$ac_cv_search_clock_gettime" = "none required" || LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime],
+ AC_MSG_ERROR([clock_gettime is required for host :"$host".]))
+ LIBS=$saved_libs
+ HA_LDFLAGS="$HA_LDFLAGS $LIB_CLOCK_GETTIME"
+ AC_DEFINE(ENABLE_CLOCK_GETTIME, 1, [Define to 1 for clock_gettime])
+fi
+
+
## Determine daemon type
if test "$daemon_type" = "none"; then
- AC_DEFINE(NO_DAEMON, 1, [Define to 1 to supress daemon interface])
+ AC_DEFINE(NO_DAEMON, 1, [Define to 1 to suppress daemon interface])
else
case "$enable_init" in
service.*)
@@ -170,7 +187,7 @@
AM_CONDITIONAL(ENABLE_SYSV, test "$daemon_type" = "sysv")
AM_CONDITIONAL(ENABLE_SYSTEMD, test "$daemon_type" = "systemd")
-## Set hardware depedent define for the build
+## Set hardware dependent define for the build
AC_SUBST(HA_LDFLAGS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/haveged.spec new/haveged-1.6/haveged.spec
--- old/haveged-1.5/haveged.spec 2012-06-23 00:07:32.000000000 +0200
+++ new/haveged-1.6/haveged.spec 2012-10-07 15:54:55.000000000 +0200
@@ -1,5 +1,5 @@
Name: haveged
-Version: 1.5
+Version: 1.6
Release: 1
License: GPLv3
Group: System Environment/Daemons
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/man/haveged.8 new/haveged-1.6/man/haveged.8
--- old/haveged-1.5/man/haveged.8 2012-08-12 16:39:30.000000000 +0200
+++ new/haveged-1.6/man/haveged.8 2012-12-15 18:04:35.000000000 +0100
@@ -1,4 +1,4 @@
-.TH haveged 8 "August 12, 2012" "version 1.5" "SYSTEM ADMINISTRATION COMMANDS"
+.TH haveged 8 "December 15, 2012" "version 1.6" "SYSTEM ADMINISTRATION COMMANDS"
.SH NAME
haveged \- Generate random numbers and feed linux random device.
.SH SYNOPSIS
@@ -33,9 +33,9 @@
Haveged includes a run time test facility based upon the test suite defined in
the AIS-31 specification from the The German Federal Office for Information Security
-(Bundesamt f�r Sicherheit in der Informationstechnik). The test suite consists
+(Bundesamt für Sicherheit in der Informationstechnik). The test suite consists
of 9 statistical tests packaged into two test suites ("A" and "B"). The tests
-can be run at initialization (a.k.a. a "tot" test), or continously to monitor
+can be run at initialization (a.k.a. a "tot" test), or continuously to monitor
all output. Failure of a suite will terminate execution unless explicitly waived
in the onlinetest command line option.
@@ -87,7 +87,8 @@
groups, each group indicates the procedures to be run, using "a<n>" to indicate a
AIS-31 procedure A variant, and "b" to indicate AIS procedure B. The specifications
are order independent (procedure B always runs first) and case insensitive. A "w"
-can be appended to any test token to make the test advisory only.
+can be appended to any test token to make the test advisory only. The default is
+'ta8bcb' if run as a daemon and 'ta8b' otherwise.
For example, the string "tbca8b" is suitable for an AIS NTG.1 device (use procedure B
for the "tot" test, then cycle between procedure A8 and procedure B continuously for
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/nist/nist.c new/haveged-1.6/nist/nist.c
--- old/haveged-1.5/nist/nist.c 2012-02-07 01:13:49.000000000 +0100
+++ new/haveged-1.6/nist/nist.c 2012-08-14 00:42:45.000000000 +0200
@@ -10,7 +10,7 @@
static int random_pool1 [_32MB];
-char basename[FILENAME_MAX];
+char basename[FILENAME_MAX+1];
char *GetBaseDir(void)
{
@@ -28,7 +28,8 @@
printf("Usage sts <file>\n");
return 1;
}
-strcpy(basename, argv[0]);
+strncpy(basename, argv[0], FILENAME_MAX);
+basename[FILENAME_MAX] = 0;
for(i=strlen(basename);i>0 && basename[i-1]!='/' && basename[i-1]!='\\';i--) ;
basename[i] = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/src/havege.c new/haveged-1.6/src/havege.c
--- old/haveged-1.5/src/havege.c 2012-07-30 00:32:55.000000000 +0200
+++ new/haveged-1.6/src/havege.c 2012-08-14 14:32:16.000000000 +0200
@@ -160,7 +160,7 @@
for(i=0;i<sz;i++)
buffer[i] = havege_ndread(h->collector);
- return h->error==H_NOERR? i : -1;
+ return h->error==(U_INT)H_NOERR? i : -1;
#endif
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/src/havegecollect.c new/haveged-1.6/src/havegecollect.c
--- old/haveged-1.5/src/havegecollect.c 2012-08-12 15:54:49.000000000 +0200
+++ new/haveged-1.6/src/havegecollect.c 2012-10-07 00:38:21.000000000 +0200
@@ -35,6 +35,26 @@
#define DIAGNOSTICS_ENABLE
#endif
/**
+ * Option to use clockgettime() as timer source
+ */
+#if defined(ENABLE_CLOCK_GETTIME)
+#include <time.h>
+
+#undef HARDCLOCK
+#define HARDCLOCK(x) x = havege_clock()
+/**
+ * Provide a generic timer fallback
+ */
+static U_INT havege_clock(void)
+{
+ struct timespec ts;
+
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+ return (U_INT)(ts.tv_nsec + ts.tv_sec * 1000000000LL);
+}
+#endif
+
+/**
* Memory allocation sizing
*/
#define SZH_INIT sizeof(H_COLLECT)+sizeof(char *)*(LOOP_CT + 2)
@@ -137,7 +157,7 @@
szBuffer = h_ptr->i_collectSz;
d_cache = h_ptr->dataCache->size;
- h_ctxt = (H_COLLECT *) malloc(SZH_COLLECT(szBuffer + SZ_TICK));
+ h_ctxt = (H_COLLECT *) calloc(SZH_COLLECT(szBuffer + SZ_TICK),1);
if (NULL != h_ctxt) {
h_ctxt->havege_app = h_ptr;
h_ctxt->havege_idx = nCollector;
@@ -157,12 +177,12 @@
** processor TLBs.
*/
ANDPT = ((2*d_cache*1024)/sizeof(U_INT))-1;
- p = (U_INT *) malloc((ANDPT + 4097)*sizeof(U_INT));
+ p = (U_INT *) calloc((ANDPT + 4097)*sizeof(U_INT),1);
if (NULL != p) {
offs = (U_INT)((((unsigned long)&p[4096])&0xfff)/sizeof(U_INT));
PWALK = &p[4096-offs];
/**
- * Warm up the generator, runing the startup tests
+ * Warm up the generator, running the startup tests
*/
(void)havege_gather(h_ctxt);
for(i=1;i<MININITRAND;i++) {
@@ -226,20 +246,6 @@
memset(wkspc, 0, SZH_INIT);
havege_ndinit(h_ptr, (struct h_collect *) wkspc);
}
-
-#ifdef HAVE_ISA_GENERIC
-#include <time.h>
-/**
- * Provide a generic timer fallback
- */
-static U_INT havege_clock(void)
-{
- struct timespec ts;
-
- clock_gettime(CLOCK_MONOTONIC, &ts);
- return (U_INT)(ts.tv_nsec + ts.tv_sec * 1000000000LL);
-}
-#endif
/**
* This method is called only for control points NOT part of a normal collection:
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/src/havegecollect.h new/haveged-1.6/src/havegecollect.h
--- old/haveged-1.5/src/havegecollect.h 2012-07-06 22:24:08.000000000 +0200
+++ new/haveged-1.6/src/havegecollect.h 2012-10-07 00:22:44.000000000 +0200
@@ -86,7 +86,7 @@
*/
#ifdef HAVE_ISA_GENERIC
#define ARCH "generic"
-#define HARDCLOCK(x) x = havege_clock()
+#define ENABLE_CLOCKGETTIME 1
#endif
#ifdef HAVE_ISA_IA64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/src/haveged.c new/haveged-1.6/src/haveged.c
--- old/haveged-1.5/src/haveged.c 2012-08-11 19:16:34.000000000 +0200
+++ new/haveged-1.6/src/haveged.c 2012-12-15 17:58:16.000000000 +0100
@@ -105,7 +105,7 @@
"F", "Foreground", "0", "Run daemon in foreground",
"r", "run", "1", "0=daemon, 1=config info, >1=<r>KB sample",
"n", "number", "1", "Output size in [k|m|g|t] bytes, 0 = unlimited (if stdout)",
- "o", "onlinetest", "1", "[t<x>][c<x>] x=[a[n][w]][b[w]] 't'ot, 'c'ontinuous, default: tb",
+ "o", "onlinetest", "1", "[t<x>][c<x>] x=[a[n][w]][b[w]] 't'ot, 'c'ontinuous, default: ta8b",
"p", "pidfile", "1", "daemon pidfile, default: /var/run/haveged.pid",
"s", "source", "1", "Injection soure file",
"t", "threads", "1", "Number of threads",
@@ -364,8 +364,8 @@
if (fscanf(osrel_fh,"%d.%d", &major, &minor)<2)
major = minor = 0;
fclose(osrel_fh);
+ if (major==2 && minor==4) max_bits *= 8;
}
- if (major==2 && minor==4) max_bits *= 8;
}
else max_bits = -1;
if (max_bits < 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/src/haveged.h new/haveged-1.6/src/haveged.h
--- old/haveged-1.5/src/haveged.h 2012-08-11 16:30:42.000000000 +0200
+++ new/haveged-1.6/src/haveged.h 2012-10-06 23:08:42.000000000 +0200
@@ -33,7 +33,7 @@
unsigned int i_cache; /* size of instruction cache (kb) */
unsigned int low_water; /* write threshold to set - 0 for none */
char *tests_config; /* online test configuration */
- char *os_rel; /* path to operating sytem release */
+ char *os_rel; /* path to operating system release */
char *pid_file; /* name of pid file */
char *poolsize; /* path to poolsize */
char *random_device; /* path to random device */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/src/havegetest.c new/haveged-1.6/src/havegetest.c
--- old/haveged-1.5/src/havegetest.c 2012-08-02 14:46:49.000000000 +0200
+++ new/haveged-1.6/src/havegetest.c 2012-12-15 17:46:09.000000000 +0100
@@ -114,7 +114,7 @@
return 0;
}
/**
- * Check if the current buffer should be released if continous testing is
+ * Check if the current buffer should be released if continuous testing is
* being performed. The buffer must be discarded if it contains an
* uncompleted retry or an uncompleted procedure with a failed test
* or a failed procedure.
@@ -318,7 +318,7 @@
* AIS-31 test procedure A. The test is initiated by setting procState to TEST_INIT and
* the test is performed by calling the procedure adding input until completion is indicated
* by a proc state of TEST_DONE. The first test requires 3145728 bits (393,216 bytes) and
- * the remaing 5 tests are repeated on sucessive 2500 byte samples for 257 times.
+ * the remaining 5 tests are repeated on sucessive 2500 byte samples for 257 times.
*
* An ideal RNG will fail this test with a probablilty of 0.9987. If there is a single failed
* test, the test will be repeated. An ideal RNG should almost never fail the retry.
@@ -627,7 +627,7 @@
return tot<sz? aisTest(h_ctxt, prod, buffer+tot, sz - tot) : 1;
}
/**
- * Procedure A tests 1 thru 4 correspond to the fips140-1 tests. These tests
+ * Procedure A tests 1 through 4 correspond to the fips140-1 tests. These tests
* are conducted on the same input stream, so the calculations can be
* done in parallel.
*/
@@ -737,7 +737,6 @@
U_INT offs, /* IN: starting offset */
U_INT tid) /* IN: test id */
{
- U_INT48 *w = (U_INT48 *)p->aux;
U_INT i, j;
switch(p->testState) {
@@ -748,19 +747,18 @@
* this test always uses the aux buffer to collect the test data
*/
case TEST_INPUT:
- for(i=offs;(i+5)<p->range && p->bridge<TEST0_LENGTH;i+=6)
- w[p->bridge++] = *((U_INT48 *)&p->data[i]) & 0xffffffffffffLL;
+ for(i=offs;(i+6)<p->range && p->bridge<TEST0_LENGTH;i+=6,p->bridge++)
+ memcpy(p->aux+(p->bridge*6), p->data+i*6, 6);
offs = i;
if (p->bridge<TEST0_LENGTH)
break;
p->bytesUsed += TEST0_USED;
p->bridge = 0;
case TEST_EVAL:
- qsort(w, TEST0_LENGTH, sizeof(U_INT48), test0cmp);
- for(i=1,j=0;i<TEST0_LENGTH;i++)
- if (w[i-1] == w[i]) {
- j|=1;
- }
+ qsort(p->aux, TEST0_LENGTH, 6, test0cmp);
+ for (i=1,j=0;i<TEST0_LENGTH;i++)
+ if (!memcmp(p->aux+(i-1)*6, p->aux+i*6, 6))
+ j++;
p->results[tid].testResult = j;
p->results[tid++].finalValue = i;
p->testRun = tid;
@@ -773,8 +771,7 @@
*/
static int test0cmp(const void *aa, const void *bb)
{
- const U_INT48 *a = aa, *b = bb;
- return (*a<*b)? -1 : (*a > *b)? 1 : 0;
+ return memcmp(aa,bb,6);
}
/**
* Procedure A autocorrelation test. Brutal bit twiddling.
@@ -800,7 +797,7 @@
}
}
/**
- * This test always uses the same data as test1 thru test4
+ * This test always uses the same data as test1 through test4
*/
dp = (U_INT8 *) p->chain5;
for (max = k = 0,tau=1;tau<=TEST5_LENGTH;tau++){
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haveged-1.5/src/havegetest.h new/haveged-1.6/src/havegetest.h
--- old/haveged-1.5/src/havegetest.h 2012-07-27 21:41:34.000000000 +0200
+++ new/haveged-1.6/src/havegetest.h 2012-12-15 17:48:34.000000000 +0100
@@ -33,7 +33,7 @@
#define U_INT8 uint8_t
/**
* All individual tests and the test procedures use the following
- * simple state maching to manage input.
+ * simple state machine to manage input.
*/
typedef enum {
TEST_INIT, /* initialize the test */
@@ -47,7 +47,7 @@
* used as test0 and a autocorrelation test is used as test5. test0 is executed only
* once, the other tests are repeated in sequence 257 times.
*/
-#define AIS_A_REPS 257 /* reps for test1 thru test 5 */
+#define AIS_A_REPS 257 /* reps for test1 through test 5 */
/**
* Constants for the fips tests. Note AIS-31 v1 uses the unamended FIPS test limits
*/
@@ -73,7 +73,6 @@
* test 0 consumes 64k * 48 bits
*/
#define TEST0_LENGTH 65536
-#define TEST0_SIZE (TEST0_LENGTH*sizeof(U_INT48))
#define TEST0_USED (TEST0_LENGTH * 6)
#define TEST5_LENGTH 5000
/**
@@ -102,7 +101,7 @@
U_INT bytesUsed; /* number of bytes used */
U_INT8 *chain5; /* chain to test 5 */
U_INT options; /* duty cycle for test5 */
- char aux[TEST0_SIZE]; /* extra work space */
+ char aux[TEST0_USED]; /* extra work space */
resultA results[1286]; /* test results */
} procA;
/**
++++++ haveged-ppc.patch ++++++
Index: haveged-1.6/configure.ac
===================================================================
--- haveged-1.6.orig/configure.ac
+++ haveged-1.6/configure.ac
@@ -127,7 +127,7 @@ case "$host" in
AC_DEFINE(HAVE_ISA_IA64, 1, [Define to 1 for ia64])
;;
- powerpc-*|pcc-*|powerpc64|ppc64)
+ powerpc-*|pcc-*|powerpc64-*|ppc64-*)
AC_DEFINE(HAVE_ISA_PPC, 1, [Define to 1 for ppc])
;;
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package hashalot for openSUSE:Factory checked in at 2012-12-28 15:00:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hashalot (Old)
and /work/SRC/openSUSE:Factory/.hashalot.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hashalot", Maintainer is ""
Changes:
--------
New Changes file:
--- /dev/null 2012-12-21 01:49:00.356010756 +0100
+++ /work/SRC/openSUSE:Factory/.hashalot.new/hashalot.changes 2012-12-28 15:00:51.000000000 +0100
@@ -0,0 +1,6 @@
+-------------------------------------------------------------------
+Wed Dec 12 16:26:48 UTC 2012 - lnussel(a)suse.de
+
+- new package split off from cryptsetup
+ * moved to /usr
+
New:
----
bug-476290_hashalot-hashlen.diff
hashalot-0.3.tar.gz
hashalot-ctrl-d.diff
hashalot-fixes.diff
hashalot-glibc210.diff
hashalot-libgcrypt.diff
hashalot-manpage.diff
hashalot-timeout.diff
hashalot.changes
hashalot.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hashalot.spec ++++++
#
# spec file for package hashalot
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: hashalot
Url: http://www.paranoiacs.org/~sluskyb/hacks/hashalot/
Version: 0.3
Release: 0
Summary: Read a passphrase and print a hash
License: GPL-2.0+
Group: System/Base
Source: http://www.paranoiacs.org/~sluskyb/hacks/hashalot/hashalot-%{version}.tar.gz
Patch10: hashalot-fixes.diff
Patch11: hashalot-libgcrypt.diff
Patch12: hashalot-ctrl-d.diff
Patch13: hashalot-timeout.diff
Patch14: hashalot-manpage.diff
Patch15: bug-476290_hashalot-hashlen.diff
Patch16: hashalot-glibc210.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Provides: cryptsetup:/sbin/hashalot
BuildRequires: autoconf automake
BuildRequires: libgcrypt-devel
%description
hashalot is a small tool that reads a passphrase from standard
input, hashes it using the given hash type, and prints the result
to standard output. Used by legacy encrypted volumes.
Supported hashes:
* rmd160
* sha256
* sha384
* sha512
%prep
%setup -q
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%build
autoreconf -f -i
%{?suse_update_config:%{suse_update_config}}
%configure
make %{?_smp_mflags}
%install
make install DESTDIR=$RPM_BUILD_ROOT
# remove unwanted symlinks
rm -f $RPM_BUILD_ROOT%{_sbindir}/{rmd160,sha256,sha384,sha512}
%files
%defattr(-,root,root)
%{_sbindir}/hashalot
%{_mandir}/man1/hashalot.1*
%changelog
++++++ bug-476290_hashalot-hashlen.diff ++++++
Index: hashalot-0.3/hashalot.c
===================================================================
--- hashalot-0.3.orig/hashalot.c
+++ hashalot-0.3/hashalot.c
@@ -34,6 +34,7 @@
#include "sha512.h"
#define PASSWDBUFFLEN 130
+#define MAXHASHLEN (ULONG_MAX/2 - 2)
typedef int (*phash_func_t)(char dest[], size_t dest_len, const char src[], size_t src_len);
@@ -182,8 +183,7 @@ static void *
xmalloc (size_t size) {
void *p;
- if (size == 0)
- return NULL;
+ assert(size != 0);
p = malloc(size);
if (p == NULL) {
@@ -242,6 +242,12 @@ main(int argc, char *argv[])
show_usage(argv[0]);
exit(EXIT_FAILURE);
}
+ if (hashlen >= MAXHASHLEN) {
+ fprintf(stderr,
+ "please supply a value smaller than %lu for the -n option\n",
+ MAXHASHLEN);
+ exit(EXIT_FAILURE);
+ }
break;
case 's':
salt = optarg;
++++++ hashalot-ctrl-d.diff ++++++
exit unsuccessfully on empty passphrase if input is a tty
allows user to press ctrl-d to abort
Signed-off-by: Ludwig Nussel <ludwig.nussel(a)suse.de>
Index: hashalot-0.3/hashalot.c
===================================================================
--- hashalot-0.3.orig/hashalot.c
+++ hashalot-0.3/hashalot.c
@@ -135,10 +135,14 @@ phash_lookup(const char phash_name[], si
static char *
xgetpass(const char *prompt)
{
- if (isatty(STDIN_FILENO)) /* terminal */
- return getpass(prompt); /* FIXME getpass(3) obsolete */
- else { /* file descriptor */
- char *pass = NULL;
+ char *pass = NULL;
+ if (isatty(STDIN_FILENO)) { /* terminal */
+ pass = getpass(prompt); /* FIXME getpass(3) obsolete */
+ if(!pass || !*pass) {
+ exit(EXIT_FAILURE);
+ }
+ return pass;
+ } else { /* file descriptor */
int buflen, i;
buflen=0;
++++++ hashalot-fixes.diff ++++++
- print help text to stdout so it can be read via pager
- use proper length in phash_rmd160()
Signed-off-by: Ludwig Nussel <ludwig.nussel(a)suse.de>
Index: hashalot-0.3/hashalot.c
===================================================================
--- hashalot-0.3/hashalot.c.orig
+++ hashalot-0.3/hashalot.c
@@ -42,7 +42,7 @@ phash_rmd160(char dest[], size_t dest_le
tmp[PASSWDBUFFLEN - 1] = '\0';
rmd160_hash_buffer(key, src, src_len);
- rmd160_hash_buffer(key + RMD160_HASH_SIZE, tmp, src_len + 1 /* dangerous! */);
+ rmd160_hash_buffer(key + RMD160_HASH_SIZE, tmp, strlen(tmp));
memcpy(dest, key, dest_len);
@@ -95,7 +95,7 @@ show_usage(const char argv0[])
{
struct func_table_t *p = func_table;
- fprintf (stderr,
+ fprintf (stdout,
"usage:\n"
" hashalot [ -x ] [ -s SALT ] [ -n _#bytes_ ] HASHTYPE\n"
" or\n"
@@ -106,7 +106,8 @@ show_usage(const char argv0[])
for (; p->name; ++p)
fprintf (stderr, "%s ", p->name);
- fprintf (stderr, "\n");
+
+ fprintf (stdout, "\n");
return 1;
}
++++++ hashalot-glibc210.diff ++++++
Index: hashalot-0.3/hashalot.c
===================================================================
--- hashalot-0.3.orig/hashalot.c
+++ hashalot-0.3/hashalot.c
@@ -22,6 +22,7 @@
#include <unistd.h>
#include <assert.h>
#include <signal.h>
+#include <limits.h>
#include <sys/types.h>
#include <sys/mman.h>
Index: hashalot-0.3/Makefile.am
===================================================================
--- hashalot-0.3.orig/Makefile.am
+++ hashalot-0.3/Makefile.am
@@ -4,7 +4,7 @@ sbin_PROGRAMS = hashalot
man_MANS = hashalot.1
hashalot_CFLAGS = $(LIBGCRYPT_CFLAGS)
-hashalot_LDFLAGS = $(LIBGCRYPT_LIBS)
+hashalot_LDADD = $(LIBGCRYPT_LIBS)
hashalot_SOURCES = hashalot.c rmd160.c rmd160.h sha512.c sha512.h
++++++ hashalot-libgcrypt.diff ++++++
add support for -C (itercountk) option of loop-AES if libgcrypt is available
Signed-off-by: Ludwig Nussel <ludwig.nussel(a)suse.de>
Index: hashalot-0.3/Makefile.am
===================================================================
--- hashalot-0.3/Makefile.am.orig
+++ hashalot-0.3/Makefile.am
@@ -3,6 +3,9 @@ sbin_PROGRAMS = hashalot
man_MANS = hashalot.1
+hashalot_CFLAGS = $(LIBGCRYPT_CFLAGS)
+hashalot_LDFLAGS = $(LIBGCRYPT_LIBS)
+
hashalot_SOURCES = hashalot.c rmd160.c rmd160.h sha512.c sha512.h
install-exec-hook:
Index: hashalot-0.3/configure.ac
===================================================================
--- hashalot-0.3/configure.ac.orig
+++ hashalot-0.3/configure.ac
@@ -8,5 +8,6 @@ AC_PROG_LN_S
AC_HEADER_STDC
AC_CHECK_HEADERS(libgen.h stdio.h stdlib.h string.h unistd.h assert.h sys/types.h sys/mman.h endian.h , , [ AC_MSG_ERROR(required header not found)])
AC_CHECK_FUNCS(getopt snprintf , , [ AC_MSG_ERROR(required function not found)])
+AM_PATH_LIBGCRYPT(,[AC_DEFINE([HAVE_LIBGCRYPT], 1)])
AC_OUTPUT(Makefile)
Index: hashalot-0.3/hashalot.c
===================================================================
--- hashalot-0.3/hashalot.c.orig
+++ hashalot-0.3/hashalot.c
@@ -25,6 +25,10 @@
#include <sys/types.h>
#include <sys/mman.h>
+#if HAVE_LIBGCRYPT
+#include <gcrypt.h>
+#endif
+
#include "rmd160.h"
#include "sha512.h"
@@ -97,9 +101,9 @@ show_usage(const char argv0[])
fprintf (stdout,
"usage:\n"
- " hashalot [ -x ] [ -s SALT ] [ -n _#bytes_ ] HASHTYPE\n"
+ " hashalot [ -x ] [ -s SALT ] [ -n _#bytes_ ] [ -C itercountk ] HASHTYPE\n"
" or\n"
- " HASHTYPE [ -x ] [ -s SALT ] [ -n _#bytes_ ]\n"
+ " HASHTYPE [ -x ] [ -s SALT ] [ -n _#bytes_ ] [ -C itercountk ]\n"
"\n"
"supported values for HASHTYPE: ");
@@ -214,8 +218,9 @@ main(int argc, char *argv[])
size_t hashlen = 0;
phash_func_t func;
int hex_output = 0, c;
+ unsigned long itercountk = 0;
- while ((c = getopt(argc, argv, "n:s:x")) != -1) {
+ while ((c = getopt(argc, argv, "n:s:xC:")) != -1) {
switch (c) {
case 'n':
hashlen = strtoul(optarg, &p, 0);
@@ -233,6 +238,9 @@ main(int argc, char *argv[])
case 'x':
hex_output++;
break;
+ case 'C':
+ itercountk = atoi(optarg);
+ break;
default:
show_usage(argv[0]);
exit(EXIT_FAILURE);
@@ -257,6 +265,8 @@ main(int argc, char *argv[])
* plus a newline, plus a null */
passhash = xmalloc(2*hashlen + 2);
+ memset(passhash, 0, 2*hashlen+2);
+
/* try to lock memory so it doesn't get swapped out for sure */
if (mlockall(MCL_CURRENT | MCL_FUTURE) == -1) {
perror("mlockall");
@@ -268,6 +278,69 @@ main(int argc, char *argv[])
if (salt)
pass = salt_passphrase(pass, salt);
hashlen = func(passhash, hashlen, pass, strlen(pass));
+
+ if(itercountk) /* from loop-AES */
+ {
+#if HAVE_LIBGCRYPT
+ gcry_cipher_hd_t ctx;
+ gcry_error_t err;
+ char tmp[32];
+ char out[32];
+
+ if(hashlen > 32) {
+ fprintf(stderr, "WARNING: hashlen truncated to 32\n");
+ hashlen = 32;
+ }
+
+ if(!gcry_check_version("1.1.0")) {
+ fprintf(stderr, "libgcrypt initialization failed\n");
+ exit(EXIT_FAILURE);
+ }
+
+ memset(out, 0, sizeof(out));
+ memcpy(out, passhash, hashlen);
+
+ err = gcry_cipher_open(&ctx, GCRY_CIPHER_AES, GCRY_CIPHER_MODE_CBC, 0);
+ if(err)
+ {
+ fprintf(stderr, "can't initialize AES: %s\n", gcry_strerror (err));
+ exit(EXIT_FAILURE);
+ }
+
+ /*
+ * Set up AES-256 encryption key using same password and hash function
+ * as before but with password bit 0 flipped before hashing. That key
+ * is then used to encrypt actual loop key 'itercountk' thousand times.
+ */
+ pass[0] ^= 1;
+ func(&tmp[0], 32, pass, strlen(pass));
+ gcry_cipher_setkey(ctx, &tmp[0], 32);
+ itercountk *= 1000;
+ while(itercountk > 0) {
+ gcry_cipher_reset(ctx);
+ gcry_cipher_setiv(ctx, NULL, 0);
+ /* encrypt both 128bit blocks with AES-256 */
+ gcry_cipher_encrypt(ctx, &out[ 0], 16, &out[ 0], 16);
+ gcry_cipher_reset(ctx);
+ gcry_cipher_setiv(ctx, NULL, 0);
+ gcry_cipher_encrypt(ctx, &out[16], 16, &out[16], 16);
+ /* exchange upper half of first block with lower half of second block */
+ memcpy(&tmp[0], &out[8], 8);
+ memcpy(&out[8], &out[16], 8);
+ memcpy(&out[16], &tmp[0], 8);
+ itercountk--;
+ }
+ memset(&tmp[0], 0, sizeof(tmp));
+
+ memcpy(passhash, out, hashlen);
+
+ gcry_cipher_close(ctx);
+#else
+ fprintf(stderr, "libgcrypt support is required for option -C\n");
+ exit(EXIT_FAILURE);
+#endif
+
+ }
memset (pass, 0, strlen (pass)); /* paranoia */
free(pass);
++++++ hashalot-manpage.diff ++++++
document -C and -t options in manpage
Signed-off-by: Ludwig Nussel <ludwig.nussel(a)suse.de>
Index: hashalot-0.3/hashalot.1
===================================================================
--- hashalot-0.3/hashalot.1.orig
+++ hashalot-0.3/hashalot.1
@@ -2,9 +2,9 @@
.SH NAME
hashalot \- read a passphrase and print a hash
.SH SYNOPSIS
-.B hashalot [ \-s SALT ] [ \-x ] [ \-n #BYTES ] HASHTYPE
+.B hashalot [ \-t secs ] [ \-s SALT ] [ \-x ] [ \-n #BYTES ] [ \-C itercountk ] HASHTYPE
.br
-.B HASHTYPE [ \-s SALT ] [ \-x ] [ \-n #BYTES ]
+.B HASHTYPE [ \-t secs ] [ \-s SALT ] [ \-x ] [ \-n #BYTES ] [ \-C itercountk ]
.SH DESCRIPTION
.PP
\fIhashalot\fP is a small tool that reads a passphrase from standard
@@ -36,6 +36,18 @@ option can be used to limit (or increase
default is as appropriate for the specified hash algorithm: 20 bytes for
RIPEMD160, 32 bytes for SHA256, etc. The default for the "rmd160compat"
hash is 16 bytes, for compatibility with the old kerneli.org utilities.
+.PP
+The
+.B \-t
+option specifies a timeout for reading the passphrase from the terminal.
+.PP
+The
+.B \-C
+option specifies that the hashed password has to be encrypted
+itercountk thousand times using AES-256. Use for compatability with
+loop-AES.
+.PP
+The options \-t and \-C are currently SUSE specific
.SH AUTHOR
Ben Slusky <sluskyb(a)paranoiacs.org>
.PP
++++++ hashalot-timeout.diff ++++++
add timeout option -t
Signed-off-by: Ludwig Nussel <ludwig.nussel(a)suse.de>
Index: hashalot-0.3/hashalot.c
===================================================================
--- hashalot-0.3.orig/hashalot.c
+++ hashalot-0.3/hashalot.c
@@ -21,6 +21,7 @@
#include <string.h>
#include <unistd.h>
#include <assert.h>
+#include <signal.h>
#include <sys/types.h>
#include <sys/mman.h>
@@ -36,6 +37,12 @@
typedef int (*phash_func_t)(char dest[], size_t dest_len, const char src[], size_t src_len);
+static int got_timeout;
+void alrm_handler(int num)
+{
+ got_timeout = 1;
+}
+
static int
phash_rmd160(char dest[], size_t dest_len, const char src[], size_t src_len)
{
@@ -101,9 +108,9 @@ show_usage(const char argv0[])
fprintf (stdout,
"usage:\n"
- " hashalot [ -x ] [ -s SALT ] [ -n _#bytes_ ] [ -C itercountk ] HASHTYPE\n"
+ " hashalot [ -t secs ] [ -x ] [ -s SALT ] [ -n _#bytes_ ] [ -C itercountk ] HASHTYPE\n"
" or\n"
- " HASHTYPE [ -x ] [ -s SALT ] [ -n _#bytes_ ] [ -C itercountk ]\n"
+ " HASHTYPE [ -t secs ] [ -x ] [ -s SALT ] [ -n _#bytes_ ] [ -C itercountk ]\n"
"\n"
"supported values for HASHTYPE: ");
@@ -222,8 +229,9 @@ main(int argc, char *argv[])
phash_func_t func;
int hex_output = 0, c;
unsigned long itercountk = 0;
+ unsigned timeout = 0;
- while ((c = getopt(argc, argv, "n:s:xC:")) != -1) {
+ while ((c = getopt(argc, argv, "n:s:xC:t:")) != -1) {
switch (c) {
case 'n':
hashlen = strtoul(optarg, &p, 0);
@@ -238,6 +246,9 @@ main(int argc, char *argv[])
case 's':
salt = optarg;
break;
+ case 't':
+ timeout = atoi(optarg);
+ break;
case 'x':
hex_output++;
break;
@@ -276,8 +287,24 @@ main(int argc, char *argv[])
fputs("Warning: couldn't lock memory, are you root?\n", stderr);
}
+ if(timeout) {
+ struct sigaction sa;
+ sa.sa_handler = alrm_handler;
+ sigemptyset (&sa.sa_mask);
+ sa.sa_flags = 0;
+ sigaction(SIGALRM, &sa, NULL);
+ alarm(timeout);
+ }
+
/* here we acquire the precious passphrase... */
pass = xgetpass("Enter passphrase: ");
+ if(got_timeout) {
+ exit(EXIT_FAILURE);
+ }
+ if(timeout) {
+ alarm(0);
+ }
+
if (salt)
pass = salt_passphrase(pass, salt);
hashlen = func(passhash, hashlen, pass, strlen(pass));
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package gtypist for openSUSE:Factory checked in at 2012-12-28 15:00:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gtypist (Old)
and /work/SRC/openSUSE:Factory/.gtypist.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gtypist", Maintainer is ""
Changes:
--------
New Changes file:
--- /dev/null 2012-12-21 01:49:00.356010756 +0100
+++ /work/SRC/openSUSE:Factory/.gtypist.new/gtypist.changes 2012-12-28 15:00:36.000000000 +0100
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------
+Mon Dec 17 22:34:08 UTC 2012 - jengelh(a)inai.de
+
+- Initial package (version 2.9.2) for build.opensuse.org
New:
----
gtypist-2.9.2.tar.xz
gtypist-2.9.2.tar.xz.sig
gtypist.changes
gtypist.keyring
gtypist.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gtypist.spec ++++++
#
# spec file for package gtypist
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: gtypist
Version: 2.9.2
Release: 0
Summary: Universal typing tutor
License: GPL-3.0
Group: Amusements/Teaching/Other
Url: http://gnu.org/software/gtypist/
Source: %name-%version.tar.xz
Source2: %name-%version.tar.xz.sig
Source3: %name.keyring
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: bison
BuildRequires: ncurses-devel
BuildRequires: xz
%if 0%{?suse_version} >= 1230
BuildRequires: gpg-offline
%endif
PreReq: %install_info_prereq
%description
GNU Typist (typist) is a universal typing tutor. You can learn
correct typing and improve your skills by practising its exercises on
a regular basis. Its main features are:
* It comes with several typing tutorials: in Czech, English (Qwerty,
Dvorak and Colemak keyboards), Russian and Spanish, as well as
simpler exercises in German, French and Norwegian.
* It interprets a simple and intuitive scripting language that
describes typing tutorials. You can easily modify existing
tutorials or create new ones according to your needs.
* Users can navigate through lessons through an easy to use arrow key
based menu interface. 'vi' up, down, left and right keys can be
used too!
%package lang
Summary: Language files for package gtypist
Group: System/Localization
Requires: gtypist = %{version}
%if 0%{?suse_version} >= 1120 || 0%{?fedora_version}
BuildArch: noarch
%endif
%description lang
GNU Typist (typist) is a universal typing tutor. You can learn
correct typing and improve your skills by practising its exercises on
a regular basis.
This subpackage contain the translations for the package gtypist.
%prep
%{?gpg_verify: %gpg_verify %{S:2}}
%setup -q
%build
%configure
make %{?_smp_mflags}
%install
b="%buildroot";
make install DESTDIR="$b";
%find_lang %name
%post
for i in "%_infodir"/gtypist*.gz; do
%install_info --info-dir="%_infodir" "$i"
done;
%postun
for i in "%_infodir"/gtypist*.gz; do
%install_info_delete --info-dir="%_infodir" "$i"
done;
%files
%defattr(-,root,root)
%_bindir/gtypist
%_bindir/typefortune
%_datadir/gtypist/
%_infodir/gtypist*.gz
%_datadir/man/man1/gtypist.1*
%_datadir/man/man1/typefortune.1*
%files lang -f %name.lang
%defattr(-,root,root)
%changelog
++++++ gtypist.keyring ++++++
pub 4096R/C94AFA52 2011-01-09
uid Tim Marston <edam(a)waxworlds.org>
uid Tim Marston <tim(a)waxworlds.org>
sub 4096R/5F26A28E 2011-01-09
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.19 (GNU/Linux)
mQINBE0p+nABEACrmVwLHoGTGDc5dXx4szsRh/qsWk6uPs1tV5X+FHov7FHCJ+Lt
lJ6G1MRiuKFsRXqUHlVo3rKPyi/qiGSJUi1CRthGBIhVdbq542MPstNFg23CExOd
4DQ2L3KYAeDkrbiqX58AHq8y7O9CxMiH93VTsJBkMdBB+LGynwqtzlcT9ZWBQp+0
GEQc77dH4vLZRhHCSPbfxD9evn3IPC9D0S5wZ6myQN1HowAtTYhyiwCg/08QRlcJ
ECOaDrZmfT39oJmRauahh5EeuvJhVTCevyxuV+SzezgO/JOmUTRzkR2WjqaKEbJx
BeG1swRtu94aXOXsZnVsMHG1XLRbXxQ8swErjDkuGqrZ3NAVCVO2A5NDp3hccp+9
hGgBSlraSmdiRYcIsSr8lzLFHtCLpcUoJ4JxomfvzNls7N879nR+NTKArKMiyWZc
opxKx+//wUtk5bJxk1Dh3psQ0OyiZ2UVY0RiRN8bSQOmMzmeEzZ+eIMzV5BADM4/
YjpjwCCG2lvKSp4xoKGSAgRFmMQSVBka5IU1lEkR89+ezdkmtadEI9jV83pXcQ4Z
AStmOOFMk+bQGsBLBiLDuFPcDV8bGGE96AKuEVj+WIQjTUSQvxfl8gOKxJ4J9I5V
qmOOhxxWo7XFWIZm4aUIka7Ff+Cq/R68SSCF/V6FrcKoD+Phg2VVLUbAWQARAQAB
tB9UaW0gTWFyc3RvbiA8dGltQHdheHdvcmxkcy5vcmc+iQI4BBMBAgAiBQJNKfv3
AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCm2BPYyUr6UpugD/9dsRX3
CqKSwQAe9pE0QBpJvbO21BG85GnBNRL1bQagSXwGBQUt+Y6JmYG8hS8KNA6nXgUw
BUsLX40pYsl6VNbMRZztoxgFDhLqt+bWi/WJ1X4leDm+Bx1aJ3aJ9QMfqcX/WfFg
Et4xxJSDAJcOhG2nqe00FnLxuIaDdQN6hfFsOzX56Aq6V8m41AB8nVeGSb/5hvZK
vTgI4Ur8B3ke1jqq6wchFidnXIzI3yPZ+RvmBDLCdmFr21oTP4oVtVntwTQ+myBk
b4feKx2AVSAQQf9oaGXZwGL7Aj5YlWJLJSt4BNejTAUpGdZRpUMtU4u8XPdiezZy
SJLrY5gsWi87UKOHJd1uHg6GIYGbFMTO3HpkeG5qPXwW01ogQOUsa1e/WG4/valx
McELgFrvTZtOSmiqPNZC5Be+YRShFxuIgPhKTiQ1132iq8nuyIV86i6UNnhGgpMb
Jzjs4SHlV8tE5F+0RfswtIrYsoYGJo/aqnnrXarS0iWbY+ZaramqSftCrVOdwhO+
PqTaEQk8gF/fpMjvSRi+iaePRASPSX1Vq4brWLkxGsuqZ6cQTxQzZ6na5ml3uEwj
se8Cusrwon3BPL9/lfa+0zMwQADKP3+ipAQ/gWd537LzqZlJ3u9oNwIGi0Ow5rDL
Z1Y30aWZhzG+juDfrsJ5tx3DaXXvFQAtwCKu+7QgVGltIE1hcnN0b24gPGVkYW1A
d2F4d29ybGRzLm9yZz6JAjsEEwECACUCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4B
AheABQJNKf2xAhkBAAoJEKbYE9jJSvpSh0MP/1WO0oqreaXMFTNW/MnD7WVDakc5
X9p+f/d7k+9Vguv5QZ9ikZpgDo/cnqbVBCK/Q7P3BvLrA7mrNuqvZE4u/tTjS+wi
6WZt8hp8N/a8WS4X6b357LRb1zsvcKRPqRbVD7Ew1pPU05IJFe8tqkwmjwWtMVNg
xK+S0MTfODraM+C8+Fa0aMKwklgPZKmuSetnDewpg2eSTQHuMg5rodxvV0ILuh//
up0XZuTq0NtS2f2LPxlxAmotgoVXn/mICdMPqqHBW6J83Ggvb/sWQxbShq2CAcvd
C74tRpbXMWtfdU/AkecsJbl6jFYijlQNswZ+lJcJFoL0GUEdTwO94W4o71Dn2oFF
CRcl4vxuMSiWPa/vVIo5VZSoxjxlHUNsS5HZd9OlfbzUosjbAnOodHDB8Q8zMZEp
msg8dgBpx5F/of0OuLD1YqG4dAC65R831SBrPCfk4KQ0B6T8jwmLYpidReC9YfY2
MH3lXD2z1hGIR8RIvxALhN2xjEoR55p8v+rSpoUIpZbAqhEiZgCkYmthP9Hb0NXu
dN8Bl06HVRvcyxcVSt8gentke/FOiCAB65HsUhJ+cFD3IjI1XTUXxN+ZvOvuMGTD
aoFCHBIVfCKNSdClPr0pe5kodlp3+MPCC2Bi1jxY03Hwjo3XuGmBvXmj2ieXGL8n
JQLxc268ZEk6EuowuQINBE0p+nABEADAE1qfC6H4h8f95rEWfgm9feAl1OwfysoB
2q+PkdVg6Ui60B7Jp9DiB8M3SVU3e6Ph2PoYSwvxuT4nht/wCYjxrpFaJf5v/f4M
VtqH3dK20qLYcotuQZyiu4LfDATZn8EYWMvuhRF+ixNPqwSQjlA9xTBEpT3ewzll
B9/zvrJGUKQTNvK8Mhe/AYuTq2/k0vEufhscYyIP89JXvizCnNo/3/FPWXlscq4U
5aNP8WAdhghBiYQ6B/ajh9/To0Z30emZ9BtZIlLdMeGWBmWCE1YugwlQvlP+HD/Y
jOFDbzQhuTTKPSP3NkEzNcz94SyzotK4lZH+O1fnEWtM7GTt8CEo1RcvkUyI0Agr
qtFPN7c+5kOYQHEBOubRdINzfPlnsss4V/9sZ+UbQtjTeZEEj3/1/aMIJi89Bnv9
K+fbAfmySOZh/hDri4CVSXGuHngRU3w22yT9ESlC2/kKcTmrs/jexLBLKlk7G8ao
ssMXljPs0ItpjjchR+lHbJ151zHu1xwGiQQ1uMKYqFdR+oGhDJ4r/6O6RZ1MHgGK
BM2WlEILHy2MZ0X71KHURCyBtta22c89YsxISgq6QRHsLacusTp+srsY5cuEb4j5
PmrdHm59yDirZvzEgFWJfxfFgj0CsfDl0YpEUTuzzpYQfRwhKbFmm+23ULmR0tau
ql/jhgQ0mwARAQABiQIfBBgBAgAJBQJNKfpwAhsMAAoJEKbYE9jJSvpSpR0P/RMQ
cNOx9X16cu2lSdQ1Mu6JolK7DK+wXYrrjJj4iXCxElrKi2/eqCDi1aoZ+8vX296B
i8r8y+gm/QvCgfCASzRVuQIxnU33ED7cc/URgk8Fx4sZXCk1TMarWJKKURDayRNr
CV2i20ECitDt26f3CG35yhrBxuG9867OCmmtfv+Oas9iv2/cglb+F2u1mVab1/3P
dqaF/UX7pE0sYZ1YquzFWbmAh7Gns2xDD3xTBZMt/l2VUK2XvTHsECkrLp5Yweka
Od39DiOwlcHNuYwQPAcoHLIyvoBGKYb/Kj6ljM4qoaPExe5AGRrZGNrA09bUGasC
F6Bf1ZJ+7wU68gye93+RF2fMVeqksMuZ0XRREUFlm2siAZ8CSM3OrOcJZUh+Pm6s
tIb7K1MhztqAS8lx0FxiNWbwgNcOGfRvSd1NB1tjgSVi3GKClPyjenQdJJhOlIb/
pjnr2QLm9Hs0N6c8EK4hBiKbZQ+l/qvbz1WKDJnrJCj5qp8/LLh71QGmLnB9WgFu
LbeH0tymc99kIy6fD3grVJRVUID44hsod/nZ+uoqIUDocNh8sAA0RDa9E6R0czg9
yt49IifREEKAEXjl4A0b8EyBeiFNM8dRiRNOiDs7/vnEp9QxSodjLjExOA5q5oqr
YIn6G+umD9pDdp3sZ46P9lQsC3MmqezCBfFAD46g
=iRm/
-----END PGP PUBLIC KEY BLOCK-----
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package grilo-plugins for openSUSE:Factory checked in at 2012-12-28 15:00:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/grilo-plugins (Old)
and /work/SRC/openSUSE:Factory/.grilo-plugins.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "grilo-plugins", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/grilo-plugins/grilo-plugins.changes 2012-12-14 07:37:31.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.grilo-plugins.new/grilo-plugins.changes 2012-12-28 15:00:26.000000000 +0100
@@ -1,0 +2,16 @@
+Mon Dec 17 09:21:25 UTC 2012 - vuntz(a)opensuse.org
+
+- Update to version 0.2.5:
+ + General:
+ - Moved examples/ into help/
+ - Fixed typo in documentation
+ - Build fix (bgo#689577)
+ + TMDb plugin:
+ - Do not require plugin installed to run the tests
+ - Several fixes and improvements in tests
+ - Publication date is a slow key
+ + UPnP plugin:
+ - Fixed race condition when creating the sources
+- Re-enable "make check" in %check as it works now.
+
+-------------------------------------------------------------------
Old:
----
grilo-plugins-0.2.4.tar.xz
New:
----
grilo-plugins-0.2.5.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ grilo-plugins.spec ++++++
--- /var/tmp/diff_new_pack.OAuoA9/_old 2012-12-28 15:00:28.000000000 +0100
+++ /var/tmp/diff_new_pack.OAuoA9/_new 2012-12-28 15:00:28.000000000 +0100
@@ -19,9 +19,8 @@
%define plugin_dir %(pkg-config --variable plugindir grilo-0.2)
Name: grilo-plugins
-Version: 0.2.4
+Version: 0.2.5
Release: 0
-# FIXME: either re-enable or drop %%check, see bgo#690034 (last checked: 0.2.4)
Summary: Media discovering and browsing framework -- Media and Metadata Plugins
License: LGPL-2.1+
Group: Productivity/Multimedia/Other
@@ -107,8 +106,7 @@
find %{buildroot} -type f -name "*.la" -delete -print
%check
-# disabled because of bgo#690034
-#make check
+make check
%clean
%{?buildroot:rm -rf %{buildroot}}
@@ -118,10 +116,9 @@
%doc AUTHORS ChangeLog COPYING NEWS README
%dir %{_datadir}/gnome/
%dir %{_datadir}/gnome/help/
-%dir %{_datadir}/gnome/help/examples/
-%doc %{_datadir}/gnome/help/examples/example-tmdb.c
%dir %{_datadir}/gnome/help/grilo-plugins/
%doc %{_datadir}/gnome/help/grilo-plugins/C/
+%doc %{_datadir}/gnome/help/grilo-plugins/examples/
# Explicitly list plugins
%{plugin_dir}/libgrlappletrailers.so
%{plugin_dir}/grl-apple-trailers.xml
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package gob2 for openSUSE:Factory checked in at 2012-12-28 15:00:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gob2 (Old)
and /work/SRC/openSUSE:Factory/.gob2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gob2", Maintainer is "gnome-maintainers(a)suse.de"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gob2/gob2.changes 2012-01-05 19:12:24.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gob2.new/gob2.changes 2012-12-28 15:00:16.000000000 +0100
@@ -1,0 +2,9 @@
+Wed Dec 19 10:02:39 UTC 2012 - dimstar(a)opensuse.org
+
+- Update to version 2.0.19:
+ + Print unreftors and destructors before calling parent finalize
+ and dispose as is the proper ordering.
+ + Do not output #line 0 statements.
+ + Fix empty file separator.
+
+-------------------------------------------------------------------
Old:
----
gob2-2.0.18.tar.bz2
New:
----
gob2-2.0.19.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gob2.spec ++++++
--- /var/tmp/diff_new_pack.JAOt7G/_old 2012-12-28 15:00:18.000000000 +0100
+++ /var/tmp/diff_new_pack.JAOt7G/_new 2012-12-28 15:00:18.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package gob2
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,14 +15,15 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
Name: gob2
-Version: 2.0.18
+Version: 2.0.19
Release: 0
Summary: Simple Preprocessor to Write GObject objects
License: GPL-2.0+
Group: Development/Tools/GUI Builders
Url: http://www.5z.com/jirka/gob.html
-Source: %{name}-%{version}.tar.bz2
+Source: http://download.gnome.org/sources/gob2/2.0/%{name}-%{version}.tar.xz
BuildRequires: bison
BuildRequires: flex
BuildRequires: glib2-devel
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package freerdp for openSUSE:Factory checked in at 2012-12-28 15:00:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/freerdp (Old)
and /work/SRC/openSUSE:Factory/.freerdp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "freerdp", Maintainer is "LZWang(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/freerdp/freerdp.changes 2012-11-11 08:15:18.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.freerdp.new/freerdp.changes 2012-12-28 15:00:05.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Dec 27 15:27:06 UTC 2012 - gber(a)opensuse.org
+
+- build with WITH_SSE2=ON as freerdp now uses runtime detection
+ (bnc#793611)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ freerdp.spec ++++++
--- /var/tmp/diff_new_pack.9Dt8nu/_old 2012-12-28 15:00:07.000000000 +0100
+++ /var/tmp/diff_new_pack.9Dt8nu/_new 2012-12-28 15:00:07.000000000 +0100
@@ -108,7 +108,7 @@
-DWITH_PCSC=ON \
-DWITH_CUPS=ON \
-DWITH_FFMPEG=OFF \
- -DWITH_SSE2=OFF \
+ -DWITH_SSE2=ON \
..
make %{?_smp_mflags} VERBOSE=1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package ffado for openSUSE:Factory checked in at 2012-12-28 14:59:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ffado (Old)
and /work/SRC/openSUSE:Factory/.ffado.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ffado", Maintainer is "StShaw(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ffado/ffado-mixer.changes 2012-06-28 15:26:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ffado.new/ffado-mixer.changes 2012-12-28 14:59:51.000000000 +0100
@@ -1,0 +2,22 @@
+Mon Dec 24 19:15:05 UTC 2012 - p.drouand(a)gmail.com
+
+- Update to 2.1.0 version:
+ * Significantly improved support for the new "juju" firewire stack
+ found in newer kernels
+ * Support for JACK freewheeling mode and set-buffer-size operation
+ * Lower CPU usage
+ * udev rules included in FFADO to give user access to audio device files
+ * More stable streaming
+ * Fix crash when realtime system clock was set
+ * Fix race conditions and invalid memory accesses on shutdown
+ * Fixes for clean compilation on recent gcc versions (up to 4.7)
+ * ffado-diag enhanced to aid debugging efforts
+ * Many bugs fixed
+- Remove patchs merged on upstream release:
+ * ffado-gcc47.patch
+ * libffado-bswap.patch
+- Do not use and include ChangeLog in the package because the svn repo is down
+ and this file could not be update
+- Remove useless conditional macros
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/ffado/ffado.changes 2012-06-28 15:26:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ffado.new/ffado.changes 2012-12-28 14:59:51.000000000 +0100
@@ -1,0 +2,22 @@
+Mon Dec 24 19:15:58 UTC 2012 - p.drouand(a)gmail.com
+
+- Update to 2.1.0 version:
+ * Significantly improved support for the new "juju" firewire stack
+ found in newer kernels
+ * Support for JACK freewheeling mode and set-buffer-size operation
+ * Lower CPU usage
+ * udev rules included in FFADO to give user access to audio device files
+ * More stable streaming
+ * Fix crash when realtime system clock was set
+ * Fix race conditions and invalid memory accesses on shutdown
+ * Fixes for clean compilation on recent gcc versions (up to 4.7)
+ * ffado-diag enhanced to aid debugging efforts
+ * Many bugs fixed
+- Remove patchs merged on upstream release:
+ * ffado-gcc47.patch
+ * libffado-bswap.patch
+- Do not use and include ChangeLog in the package because the svn repo is down
+ and this file could not be update
+- Remove useless conditional macros
+
+-------------------------------------------------------------------
Old:
----
ChangeLog
ffado-gcc47.patch
libffado-2.0.1.2040.tar.bz2
libffado-bswap.patch
New:
----
libffado-2.1.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ffado-mixer.spec ++++++
--- /var/tmp/diff_new_pack.nZluaJ/_old 2012-12-28 14:59:52.000000000 +0100
+++ /var/tmp/diff_new_pack.nZluaJ/_new 2012-12-28 14:59:52.000000000 +0100
@@ -15,23 +15,15 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-
-# The python_sitelib macro doesn't seem to be available in 11.1 and 11.0
-%if 0%{?suse_version} < 1120
-%define python_sitelib %{_libexecdir}/python%{py_ver}/site-packages
-%endif
-
Name: ffado-mixer
%define tname libffado
-Version: 2.0.1.2040
+Version: 2.1.0
Release: 0
Summary: FireWire 1394 support for audio devices, svn snapshot
License: GPL-2.0+
Group: Productivity/Multimedia/Other
Url: http://www.ffado.org/
Source0: %{tname}-%{version}.tar.bz2
-Patch1: ffado-gcc47.patch
-Patch2: libffado-bswap.patch
BuildRequires: alsa-devel
BuildRequires: dbus-1-python-devel
BuildRequires: doxygen
@@ -54,11 +46,7 @@
BuildRequires: xdg-utils
BuildRequires: xorg-x11-fonts
BuildRequires: pkgconfig(dbus-1) >= 1.0
-%if 0%{?suse_version} > 1110
BuildRequires: python-qt4-devel
-%else
-BuildRequires: python-qt4
-%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%{py_requires}
@@ -79,22 +67,19 @@
%package -n ffado-doc
Summary: API documentation for ffado
Group: Documentation/HTML
-%if 0%{?suse_version} >= 1120
BuildArch: noarch
-%endif
%description -n ffado-doc
This package contains the libffado API documentation.
%prep
%setup -n %{tname}-%{version} -q
-%patch1 -p1
-%patch2 -p1
%build
scons %{?jobs:--jobs=%jobs} \
PREFIX=%{_prefix} \
LIBDIR=%{_libdir} \
+ MANDIR=%{_mandir} \
ENABLE_GENERICAVC=yes \
SERIALIZE_USE_EXPAT=no \
DEBUG=no \
@@ -122,6 +107,10 @@
rm -r %{buildroot}%{_includedir}/libffado
rm -r %{buildroot}%{_libdir}/pkgconfig
+# Remove the useless udev rules and man pages on the mixer package
+rm -r %{buildroot}%{_mandir}
+rm -r %{buildroot}/lib
+
rpm -ql ffado | while read file; do
rm -v "%{buildroot}$file" || true
done
++++++ ffado.spec ++++++
--- /var/tmp/diff_new_pack.nZluaJ/_old 2012-12-28 14:59:52.000000000 +0100
+++ /var/tmp/diff_new_pack.nZluaJ/_new 2012-12-28 14:59:52.000000000 +0100
@@ -15,15 +15,9 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-
-# The python_sitelib macro doesn't seem to be available in 11.1 and 11.0
-%if 0%{?suse_version} < 1120
-%define python_sitelib %{_libexecdir}/python%{py_ver}/site-packages
-%endif
-
Name: ffado
%define tname libffado
-Version: 2.0.1.2040
+Version: 2.1.0
Release: 0
Summary: FireWire 1394 support for audio devices, svn snapshot
License: GPL-2.0+
@@ -31,11 +25,10 @@
Url: http://www.ffado.org/
Source0: %{tname}-%{version}.tar.bz2
Source1: baselibs.conf
-Source2: ChangeLog
+# The svn repository is actually down, the changes are not update: don't use it
+#Source2: ChangeLog
# No current date and time allowed.
Patch0: libffado-date_time.patch
-Patch1: ffado-gcc47.patch
-Patch2: libffado-bswap.patch
BuildRequires: alsa-devel
BuildRequires: dbus-1-python-devel
BuildRequires: fdupes
@@ -103,9 +96,8 @@
%prep
%setup -n %{tname}-%{version} -q
%patch0
-%patch1 -p1
-%patch2 -p1
-cp %{SOURCE2} .
+# The svn repo is actually unavailable
+#cp %{SOURCE2} .
%build
export EXTRA_FLAGS=""
@@ -116,6 +108,7 @@
scons %{?jobs:--jobs=%jobs} \
PREFIX=%{_prefix} \
LIBDIR=%{_libdir} \
+ MANDIR=%{_mandir} \
ENABLE_GENERICAVC=yes \
SERIALIZE_USE_EXPAT=no \
DEBUG=no \
@@ -137,7 +130,11 @@
%files
%defattr(-,root,root)
-%doc README AUTHORS ChangeLog LICENSE.GPLv2 LICENSE.GPLv3
+%doc README
+%doc AUTHORS
+%doc LICENSE.GPLv2
+%doc LICENSE.GPLv3
+#%doc ChangeLog
%{_bindir}/dumpiso_mod
%{_bindir}/gen-loadpulses
%{_bindir}/scan-devreg
@@ -161,9 +158,16 @@
%{_bindir}/test-volume
%{_bindir}/test-watchdog
%{_bindir}/unmute-ozonic
+%{_bindir}/test-cycle-time
+%{_bindir}/set-default-router-config-dice-eap
%{_datadir}/dbus-1/services/org.ffado.Control.service
%{_bindir}/ffado*
%{_datadir}/%{tname}
+%{_mandir}/man1/ffado-bridgeco-downloader.1.gz
+%{_mandir}/man1/ffado-dbus-server.1.gz
+%{_mandir}/man1/ffado-diag.1.gz
+%{_mandir}/man1/ffado-dice-firmware.1.gz
+%{_mandir}/man1/ffado-fireworks-downloader.1.gz
%files -n libffado-devel
%defattr(-,root,root)
@@ -175,5 +179,6 @@
%files -n libffado2
%defattr(-,root,root)
%{_libdir}/%{tname}.so.2*
+/lib/udev/rules.d/60-ffado.rules
%changelog
++++++ libffado-2.0.1.2040.tar.bz2 -> libffado-2.1.0.tar.bz2 ++++++
++++ 9845 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0