Architecture Nomenclature

2010-04-27 Thread Kip Warner
Greetings Everyone,

I've been looking for a while, but no luck. Is there a table somewhere
that summarizes the different architecture names like i386, i586, i686,
amd64, ia64, and so on along with the criteria for hardware qualifying
under that name?

e.g. Does i686 mandate SSE2?

PS I am not on the mailing list, so please remember to cc me. Thanks.

-- 
Kip Warner -- Software Engineer
OpenPGP encrypted/signed mail preferred
http://www.thevertigo.com


signature.asc
Description: This is a digitally signed message part


Re: Architecture Nomenclature

2010-04-27 Thread Kip Warner
On Tue, 2010-04-27 at 22:16 +0200, Benjamin Drung wrote:
> Am Dienstag, den 27.04.2010, 12:45 -0700 schrieb Kip Warner:
> > Greetings Everyone,
> > 
> > I've been looking for a while, but no luck. Is there a table somewhere
> > that summarizes the different architecture names like i386, i586, i686,
> > amd64, ia64, and so on along with the criteria for hardware qualifying
> > under that name?
> 
> I am not aware of a table. I would search for the names and see which is
> the first architecture and check their features.
> 
> > e.g. Does i686 mandate SSE2?
> 
> i686 = Pentium Pro and later = only MMX
> amd64 mandates SSE2 (and therefore MMX and SSE)
> 
> > PS I am not on the mailing list, so please remember to cc me. Thanks.

What would you suggest for a package's architecture for a 32-bit
platform that supports SSE2, like the Pentium 4? 

-- 
Kip Warner -- Software Engineer
OpenPGP encrypted/signed mail preferred
http://www.thevertigo.com


signature.asc
Description: This is a digitally signed message part


Re: Architecture Nomenclature

2010-04-27 Thread Kip Warner
On Tue, 2010-04-27 at 21:29 +, brian m. carlson wrote:
> As far as uname, not all machines that output i686 will support SSE2.
> Your assumption should be that i686 == Pentium Pro, with the caveat
> that
> not all i686 machines support cmov (some Via chips do not). 

Thanks. If I was writing something for a 32-bit machine with SSE2
instruction set, what would be the most appropriate architecture name?

-- 
Kip Warner -- Software Engineer
OpenPGP encrypted/signed mail preferred
http://www.thevertigo.com


signature.asc
Description: This is a digitally signed message part


Re: Architecture Nomenclature

2010-04-27 Thread Kip Warner
On Tue, 2010-04-27 at 21:43 +0100, Ben Hutchings wrote:
> It must be 'i386'.

But i386 includes machines like the 486 and the Pentium Pro that did not
have SSE2 instruction set.

If I was writing something for a 32-bit machine with SSE2 instruction
set, what would be the most appropriate architecture name?

-- 
Kip Warner -- Software Engineer
OpenPGP encrypted/signed mail preferred
http://www.thevertigo.com


signature.asc
Description: This is a digitally signed message part


Re: Architecture Nomenclature

2010-04-27 Thread Kip Warner
On Wed, 2010-04-28 at 00:32 +0200, Benjamin Drung wrote:
> 
> The best solution would be autodetection of SSE2 on runtime. That can
> be
> done with a few lines of code. 

You're right, that can indeed be done with a few lines of code. e.g.
cpuid instruction. The problem is that you then have to perform a branch
every time you could potentially use hardware acceleration: a condition
for when, say, SSE2 is available, and another for a generic
implementation.

It isn't ideal performance wise.

Perhaps for 32-bit x86 architectures where SIMD is required, I could
build the package for i686 and have it detect at runtime before said is
actually used, whether it is available or not. If it is not, raise a
user visible error and terminate.

This method assumes the user knows that it is only supported on P4 or
later generation of x86.

-- 
Kip Warner -- Software Engineer
OpenPGP encrypted/signed mail preferred
http://www.thevertigo.com


signature.asc
Description: This is a digitally signed message part


Re: Architecture Nomenclature

2010-04-28 Thread Kip Warner
On Wed, 2010-04-28 at 12:13 +0200, Josselin Mouette wrote:
> The simplest solution is to put the routines in a shared library and
> to
> build two versions of the library. Put the i486 one in /usr/lib and
> the
> SSE2 one in /usr/lib/i686/sse2. 

That might be the way to go. Thanks.

-- 
Kip Warner -- Software Engineer
OpenPGP encrypted/signed mail preferred
http://www.thevertigo.com


signature.asc
Description: This is a digitally signed message part


Re: Roll call for porters of architectures in sid and testing

2013-09-01 Thread Kip Warner
On Sun, 2013-09-01 at 20:18 -0400, Adam Holland wrote:
> Hi, sorry I'm not a skilled programmer, I just have a historic SGI O2 to
> play around with a bit. If the hardware dies, I won't really have any
> reaspn to stay involved with this port.

Still cool that you have one though!

-- 
Kip Warner -- Software Engineer
OpenPGP encrypted/signed mail preferred
http://www.thevertigo.com


signature.asc
Description: This is a digitally signed message part


Testing init.d script

2018-12-25 Thread Kip Warner
Hey list,

I wasn't sure which other Debian mailing list might be more
appropriate, but lsb-discuss appeared to be defunct since 2002.

My package has an LSB friendly init.d script it distributes to manage
the daemon it ships as a system service. I'd like to use it during unit
testing so the daemon can be started, stopped, and various unit tests
performed on it between starting and stopping.

What is the best practice for this kind of scenario? There are some
caveats, of course, because the init.d script cannot be run as root
when my project's build environment runs its unit tests.

Yours truly,

-- 
Kip Warner | Senior Software Engineer
OpenPGP signed/encrypted mail preferred
https://www.thevertigo.com


signature.asc
Description: This is a digitally signed message part


Re: Testing init.d script

2018-12-26 Thread Kip Warner
On Wed, 2018-12-26 at 12:09 +, Colin Watson wrote:
> Unit tests can normally use some kind of temporary test harness
> instead of the full-blown init script, and that's usually the best
> first line of defence since it's typically simpler and faster.
> 
> Of course it's also worth testing the init script itself, or other
> behaviours of the package when it's in its installed state rather
> than just running out of the build tree.  For that purpose, have you
> considered autopkgtest (https://ci.debian.net/doc/)?  A test with the
> "needs-root" restriction can start and stop services.

Hey Colin. Thanks for the feedback. I think autopkgtest(1) is a good
route to go if I wanted to test it after the package had been generated
and installed. But this is really the kind of test I'd like to perform
before all of that while still within the build tree.

-- 
Kip Warner | Senior Software Engineer
OpenPGP signed/encrypted mail preferred
https://www.thevertigo.com


signature.asc
Description: This is a digitally signed message part


Packaging examples

2018-02-25 Thread Kip Warner
Hey list,

I would like to ship some example files with my package. My Makefile.am
has something to the effect of...

examplesdir=$(docdir)/examples
examples_DATA = \
$(srcdir)/Data/Examples/some_example_file \
...

EXTRA_DIST = \
$(examples_DATA) \
...

This installs the example files as expected in
/usr/share/doc/foo/examples/, but I was still left to wonder what the
best practise was given that dh_installexamples(1) exists and seems to
want to do the same based on the contents of debian/foo.examples?

-- 
Kip Warner | Senior Software Engineer
OpenPGP signed/encrypted mail preferred
https://www.cartesiantheatre.com

signature.asc
Description: This is a digitally signed message part


Re: Packaging examples

2018-02-25 Thread Kip Warner
On Mon, 2018-02-26 at 00:04 +, Craig Small wrote:
> Not all upstream Makefiles are that good. My preference would be if
> their Makefile is doing the right thing then use that and have no
> debian/foo.examples file.

Ah, that makes sense. Since the debianization is suppose to happen
without having to change upstream's tarball (notwithstanding quilt
patches), .examples would be the only way for debhelper to know what
upstream intended to be example files.

> The main thing is that the example files get put in the right spot
> and it's clear to someone how those files arrive there.
> 
> The only other catch is to ensure the install-examples or whatever
> the Makefile target is called is actually run; either directly out of
> debian/rules or as part of the Makefile install target.

Mine is definitely called. The install target is placing everything as
expected in $prefix/share/doc/mypackage/examples. If you have any
suggestions, I'm all ears:

https://github.com/cartesiantheatre/narayan-designer/blob/master/Makefile.am

-- 
Kip Warner | Senior Software Engineer
OpenPGP signed/encrypted mail preferred
https://www.cartesiantheatre.com

signature.asc
Description: This is a digitally signed message part


Bug#820490: ITP: streflop -- STandalone REproducible FLOating-Point library

2016-04-08 Thread Kip Warner
Package: wnpp
Severity: wishlist
Owner: Kip Warner 

* Package name: streflop
  Version : 0.3
  Upstream Author : Nicolas Brodu 
* URL : http://nicolas.brodu.net/en/programmation/streflop/
* License : LGPL-2.1
  Programming Lang: C++
  Description : ITP: streflop -- STandalone REproducible FLOating-Point
library

A computer has a finite memory, and cannot represent an infinity of numbers. If
you add 0.1 + 0.1 in C++ you will probably not get the mathematical result 0.2.
The problem is that what you get depends on many parameters. On one
configuration, you may get something like 0.1995, and on another 0.1999. For
the vast majority of programs, these small differences do not matter. But if
you want to reproduce the same results twice, for a scientific experiment for
example, on different machines or even on the same machine but with different
options, then you have to be more careful. Much more careful, because these
small differences can occasionally accumulate quite fast.

The STandalone REproducible FLOating-Point library allows you to control how
the computations are done in C++. The goal is to make your programs give
reliable and reproducible results.