Re: [Fwd: Re: Re: Third-Party Software Needs Non-Debian Format for Kernel Version]

2014-02-24 Thread Thomas Vaughan
 What I'm wondering is whether I can get uname to return the desired
 format by somehow compiling a custom kernel.

 Yes you can, by getting the source code from kernel.org.
 If you simply copy the config from the Debians kernel, then IIRC
 # make-kpkg --initrd kernel-image kernel-headers
 won't use the Debians naming, but name the package and the output for
 uname -r and any string else as the original kernel.org name is.

Thank you very much! That worked well and was easy!

-- 
Thomas E. Vaughan


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caao_ux-s-lz2rtcqmg1kjzdffzrmewogt7uwfyem1bpca03...@mail.gmail.com



Re: Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-23 Thread Kushal Kumaran
Thomas Vaughan tevaug...@gmail.com writes:

 isn't supported per se. But when [the software], or the makefiles, parse 
 the string
  3.12-1-amd64
 they don't get the expected result. If the uname -r were the string
  3.12.9-1
 then parsing it would yield the expected result.
 ---END QUOTE FROM VENDOR---

 Is the reported kernel-version string, 3.12-1-amd64,
 something that I could change by compiling a custom kernel?

 Might a shell script that output the expected string work?

 An appropriately named shell script in the right place in the path
 might take care of uname(1), but I don't see how to take care of
 uname(2), the system call.

 When the vendor says that the software parses the string, I think that
 the software is calling uname().

 So my question is whether there is a way by compiling a custom kernel
 for me to alter what the uname() system call reports.


You can replace functions from dynamically linked libraries using
LD_PRELOAD.  Check using ldd on your third party binary to verify it is
dynamically linked.  A quick search found this fragment of code:
http://www.technovelty.org/c/using-ld_preload-to-override-a-function.html.
That example is replacing getpid with a function that calls the original
getpid and prints a message, but you can use the same trick for uname
and modify the utsname structure to taste before returning.

There are restrictions on what you can LD_PRELOAD, which are covered in
the manpage for ld.so(8).  But as long as you satisfy those constraints,
this should be significantly easier than building your own kernel.

-- 
regards,
kushal


pgp77iOTL_sm5.pgp
Description: PGP signature


Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-22 Thread Sven Joachim
On 2014-02-22 00:20 +0100, Thomas Vaughan wrote:

 I have downloaded some proprietary software that I want to install onto a
 64-bit Debian machine. The software is written for 64-bit linux, but the
 kernel version reported, for example, by uname (and perhaps by some system
 call that the compiled software uses) is not in a format that the software
 expects.

 ---BEGIN QUOTE FROM VENDOR---
 Its not that
  3.12-1-amd64
 isn't supported per se. But when [the software], or the makefiles, parse
 the string
  3.12-1-amd64
 they don't get the expected result. If the uname -r were the string
  3.12.9-1
 then parsing it would yield the expected result.
 ---END QUOTE FROM VENDOR---

 Is the reported kernel-version string, 3.12-1-amd64, something that I
 could change by compiling a custom kernel?

You could do that, but I would first try to run the software under
setarch x86_64 --uname-2.6 which should let it see a kernel version of
2.6.52-1-amd64.

Cheers,
   Sven


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87sirbblqc@turtle.gmx.de



Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-22 Thread Hendrik Boom
On Fri, 21 Feb 2014 22:58:40 -0500, Jerry Stuckle wrote:

 abiname shouldn't change should it?


 I wouldn't think so - but I also don't know.  However, if you do change
 something basic like the kernel version, what else will it affect?  You
 might get a kernel which will boot but nothing will run, for instance.

When you install your custom kernel, make sure you keep an old kernel 
around, just in case.

-- hendrik


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/leao5j$g51$3...@ger.gmane.org



Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-21 Thread Thomas Vaughan
I have downloaded some proprietary software that I want to install onto a
64-bit Debian machine. The software is written for 64-bit linux, but the
kernel version reported, for example, by uname (and perhaps by some system
call that the compiled software uses) is not in a format that the software
expects.

---BEGIN QUOTE FROM VENDOR---
Its not that
 3.12-1-amd64
isn't supported per se. But when [the software], or the makefiles, parse
the string
 3.12-1-amd64
they don't get the expected result. If the uname -r were the string
 3.12.9-1
then parsing it would yield the expected result.
---END QUOTE FROM VENDOR---

Is the reported kernel-version string, 3.12-1-amd64, something that I
could change by compiling a custom kernel?

-- 
Thomas E. Vaughan


Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-21 Thread Glenn English

On Feb 21, 2014, at 4:20 PM, Thomas Vaughan tevaug...@gmail.com wrote:

 isn't supported per se. But when [the software], or the makefiles, parse the 
 string
  3.12-1-amd64
 they don't get the expected result. If the uname -r were the string
  3.12.9-1
 then parsing it would yield the expected result.
 ---END QUOTE FROM VENDOR---
 
 Is the reported kernel-version string, 3.12-1-amd64, something that I could 
 change by compiling a custom kernel?

Might a shell script that output the expected string work?

-- 
Glenn English




--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/303a8294-5998-46d3-aebd-cab21fa97...@slsware.net



Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-21 Thread Ralf Mardorf
 Forwarded Message 
From: Ralf Mardorf
To: debian-user@lists.debian.org
Subject: Re: Third-Party Software Needs Non-Debian Format for Kernel
Version
Date: Sat, 22 Feb 2014 01:54:59 +0100
Mailer: Evolution 3.10.4 

 Forwarded Message 
From: Ralf Mardorf
To: debian-user@lists.debian.org
Subject: Re: Third-Party Software Needs Non-Debian Format for Kernel
Version
Date: Sat, 22 Feb 2014 01:49:25 +0100
Mailer: Evolution 3.10.4 

 Forwarded Message 
From: Ralf Mardorf
To: debian-user@lists.debian.org
Subject: Re: Third-Party Software Needs Non-Debian Format for Kernel
Version
Date: Sat, 22 Feb 2014 01:35:26 +0100
Mailer: Evolution 3.10.4 

On Fri, 2014-02-21 at 17:03 -0700, Glenn English wrote:
 On Feb 21, 2014, at 4:20 PM, Thomas Vaughan tevaug...@gmail.com
wrote:
 
  isn't supported per se. But when [the software], or the makefiles,
parse the string
   3.12-1-amd64
  they don't get the expected result. If the uname -r were the string
   3.12.9-1
  then parsing it would yield the expected result.
  ---END QUOTE FROM VENDOR---
  
  Is the reported kernel-version string, 3.12-1-amd64, something
that I could change by compiling a custom kernel?
 
 Might a shell script that output the expected string work?

Or link or what ever? I don't understand what the software is doing,
that the output of uname -r doesn't fit to some other string.

More information is needed.

Sure, Debian packages might be named 3.x for kernels 3.x.y, 3.x.z,
3.x.n. I like this, since I don't need to manually fix my manually
customized grub.cfg, when such a kernel is upgraded and especially those
kernels are updated and older versions automatically will be removed,
while kernels build by myself are never touched.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1393032256.695.90.camel@archlinux



Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-21 Thread Scott Ferguson
On 22/02/14 11:03, Glenn English wrote:
 
 On Feb 21, 2014, at 4:20 PM, Thomas Vaughan tevaug...@gmail.com wrote:
 
 isn't supported per se. But when [the software], or the makefiles, parse the 
 string
  3.12-1-amd64
 they don't get the expected result. If the uname -r were the string
  3.12.9-1
 then parsing it would yield the expected result.
 ---END QUOTE FROM VENDOR---

 Is the reported kernel-version string, 3.12-1-amd64, something that I 
 could change by compiling a custom kernel?
 
 Might a shell script that output the expected string work?
 


Or sed?
Or export?
Or, um, more information about what Debian release is being used and the
third-party software. :)


Kind regards

---
Dunno how to solve the problem but I know what you need to know to fix
it for me? ;)


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/5307ff47.4070...@gmail.com



Re: Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-21 Thread Thomas Vaughan
 isn't supported per se. But when [the software], or the makefiles, parse the 
 string
  3.12-1-amd64
 they don't get the expected result. If the uname -r were the string
  3.12.9-1
 then parsing it would yield the expected result.
 ---END QUOTE FROM VENDOR---

 Is the reported kernel-version string, 3.12-1-amd64,
 something that I could change by compiling a custom kernel?

 Might a shell script that output the expected string work?

An appropriately named shell script in the right place in the path
might take care of uname(1), but I don't see how to take care of
uname(2), the system call.

When the vendor says that the software parses the string, I think that
the software is calling uname().

So my question is whether there is a way by compiling a custom kernel
for me to alter what the uname() system call reports.

-- 
Thomas E. Vaughan


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caao_ux-kfd6odmkp0fzzznwdbm1kljy+mykbknl9wfd6+qy...@mail.gmail.com



Re: Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-21 Thread Thomas Vaughan
 isn't supported per se. But when [the software], or the makefiles,
 parse the string
  3.12-1-amd64
 they don't get the expected result. If the uname -r were the string
  3.12.9-1
 then parsing it would yield the expected result.
 ---END QUOTE FROM VENDOR---

 Is the reported kernel-version string, 3.12-1-amd64, something
 that I could change by compiling a custom kernel?

 Might a shell script that output the expected string work?

 Or link or what ever? I don't understand what the software is doing,
 that the output of uname -r doesn't fit to some other string.

I think that the build system is using the uname(1) command, but the
compiled software is calling the uname(2) system call.

 More information is needed.

I have not very much information, but let's assume the worst: The vendor
has some compiled code that calls the uname() system call.

Is it possible by compiling a custom kernel for me to make what uname()
returns be the format that the vendor desires, something like '3.12.9-1', or
whatever?

 Sure, Debian packages might be named 3.x for kernels 3.x.y, 3.x.z,
 3.x.n. I like this, since I don't need to manually fix my manually
 customized grub.cfg, when such a kernel is upgraded and especially those
 kernels are updated and older versions automatically will be removed,
 while kernels build by myself are never touched.

I'm not sure that I understand. The package name is one thing, but isn't
what uname returns something else?

-- 
Thomas E. Vaughan


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/CAAO_ux8TwPVzU-NmP==wyqe23gia4ukkpujtdgpdprtc1v_...@mail.gmail.com



Re: Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-21 Thread Thomas Vaughan
 isn't supported per se. But when [the software], or the makefiles, parse 
 the string
  3.12-1-amd64
 they don't get the expected result. If the uname -r were the string
  3.12.9-1
 then parsing it would yield the expected result.
 ---END QUOTE FROM VENDOR---

 Is the reported kernel-version string, 3.12-1-amd64, something that I 
 could change by compiling a custom kernel?

 Might a shell script that output the expected string work?

 Or sed?
 Or export?
 Or, um, more information about what Debian release is being used and the
 third-party software. :)

If the compiled program calls the uname() system call, then script-related fixes
won't work. I don't have the source to the compiled program.

I'm running Debian testing (jessie).

 Kind regards

And kind regards to you for replying so promptly to my plea for help!

What I'm wondering is whether I can get uname to return the desired
format by somehow compiling a custom kernel.

If so, then any help doing that properly would be appreciated.

-- 
Thomas E. Vaughan


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/CAAO_ux8P23JyZr3NyL_qR3K=0nzkeybr4vso9xsnj6+z_k-...@mail.gmail.com



[Fwd: Re: Re: Third-Party Software Needs Non-Debian Format for Kernel Version]

2014-02-21 Thread Ralf Mardorf
 Forwarded Message 
From: Ralf Mardorf
To: debian-user@lists.debian.org
Subject: Re: Re: Third-Party Software Needs Non-Debian Format for Kernel
Version
Date: Sat, 22 Feb 2014 03:28:15 +0100
Mailer: Evolution 3.10.4 

On Fri, 2014-02-21 at 19:20 -0700, Thomas Vaughan wrote:
 What I'm wondering is whether I can get uname to return the desired
 format by somehow compiling a custom kernel.

Yes you can, by getting the source code from kernel.org.
If you simply copy the config from the Debians kernel, then IIRC
# make-kpkg --initrd kernel-image kernel-headers
won't use the Debians naming, but name the package and the output for
uname -r and any string else as the original kernel.org name is.



-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1393036199.695.111.camel@archlinux



Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-21 Thread Scott Ferguson
On 22/02/14 13:20, Thomas Vaughan wrote:
 isn't supported per se. But when [the software], or the makefiles, parse 
 the string
  3.12-1-amd64
 they don't get the expected result. If the uname -r were the string
  3.12.9-1
 then parsing it would yield the expected result.
 ---END QUOTE FROM VENDOR---

 Is the reported kernel-version string, 3.12-1-amd64, something that I 
 could change by compiling a custom kernel?

 Might a shell script that output the expected string work?

 Or sed?
 Or export?
 Or, um, more information about what Debian release is being used and the
 third-party software. :)
 
 If the compiled program calls the uname() system call, then script-related 
 fixes
 won't work. I don't have the source to the compiled program.

Aaah - more information makes a difference. Yes - sed won't work with
compiled (though you can often make simple changes in a compiled file
with a binary editor - simpler than NOP hops).

an alias will work.

 
 I'm running Debian testing (jessie).
 
 Kind regards
 
 And kind regards to you for replying so promptly to my plea for help!
 
 What I'm wondering is whether I can get uname to return the desired
 format by somehow compiling a custom kernel.

Long way - try an alias first - it 'should' work fine. (The Debian
promise applies - if it breaks you get to keep both pieces).

 
 If so, then any help doing that properly would be appreciated.

Kind regards


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/53080cde.5040...@gmail.com



Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-21 Thread Jerry Stuckle

On 2/21/2014 9:20 PM, Thomas Vaughan wrote:

isn't supported per se. But when [the software], or the makefiles, parse the 
string
  3.12-1-amd64
they don't get the expected result. If the uname -r were the string
  3.12.9-1
then parsing it would yield the expected result.
---END QUOTE FROM VENDOR---

Is the reported kernel-version string, 3.12-1-amd64, something that I could 
change by compiling a custom kernel?


Might a shell script that output the expected string work?


Or sed?
Or export?
Or, um, more information about what Debian release is being used and the
third-party software. :)


If the compiled program calls the uname() system call, then script-related fixes
won't work. I don't have the source to the compiled program.

I'm running Debian testing (jessie).


Kind regards


And kind regards to you for replying so promptly to my plea for help!

What I'm wondering is whether I can get uname to return the desired
format by somehow compiling a custom kernel.

If so, then any help doing that properly would be appreciated.



I'm not sure if it will work or not - I'm far from a Debian kernel 
expert.  But one thing to consider: are there any packages which require 
the correct Debian format?  If so, what would happen to them if you 
changed it in the kernel?


Jerry


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/53080cf8.3020...@attglobal.net



Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-21 Thread Scott Ferguson
On 22/02/14 13:35, Jerry Stuckle wrote:
 On 2/21/2014 9:20 PM, Thomas Vaughan wrote:
 isn't supported per se. But when [the software], or the makefiles,
 parse the string
   3.12-1-amd64
 they don't get the expected result. If the uname -r were the string
   3.12.9-1
 then parsing it would yield the expected result.
 ---END QUOTE FROM VENDOR---

 Is the reported kernel-version string, 3.12-1-amd64, something
 that I could change by compiling a custom kernel?

 Might a shell script that output the expected string work?

 Or sed?
 Or export?
 Or, um, more information about what Debian release is being used and the
 third-party software. :)

 If the compiled program calls the uname() system call,

Good point. I should have given that more than a few seconds thought -
and I suspect Jerry has pointed out a simpler way than intercepting sys
calls.

Is the name of the third-party software a secret?


 then
 script-related fixes
 won't work. I don't have the source to the compiled program.

 I'm running Debian testing (jessie).

 Kind regards

 And kind regards to you for replying so promptly to my plea for help!

 What I'm wondering is whether I can get uname to return the desired
 format by somehow compiling a custom kernel.

 If so, then any help doing that properly would be appreciated.

 
 I'm not sure if it will work or not - I'm far from a Debian kernel
 expert.  

Likewise.

http://kernel-handbook.alioth.debian.org/ch-versions.html:-
Kernel version

This is the version that appears in kernel messages, filenames,
package names and the output of 'uname -r'. In official kernel packages
it follows the format upstreamversion[-abiname][-featureset]-flavour. It
is not changed for every new package version. The abiname is changed as
explained below.

Many programs parse the kernel version string reported by the uname
system call or command and expect to find at least 3 version components
separated by dots. For compatibility, the official kernel packages
currently add '.0' to the upstream version, but this will be dropped in
wheezy+1.

So it appears to be possible.

 But one thing to consider: are there any packages which require
 the correct Debian format? 

abiname shouldn't change should it?

 If so, what would happen to them if you
 changed it in the kernel?
 
 Jerry
 
 


Kind regards


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/530813c6.3050...@gmail.com



Re: Third-Party Software Needs Non-Debian Format for Kernel Version

2014-02-21 Thread Jerry Stuckle

On 2/21/2014 10:04 PM, Scott Ferguson wrote:

On 22/02/14 13:35, Jerry Stuckle wrote:

On 2/21/2014 9:20 PM, Thomas Vaughan wrote:

isn't supported per se. But when [the software], or the makefiles,
parse the string
   3.12-1-amd64
they don't get the expected result. If the uname -r were the string
   3.12.9-1
then parsing it would yield the expected result.
---END QUOTE FROM VENDOR---

Is the reported kernel-version string, 3.12-1-amd64, something
that I could change by compiling a custom kernel?


Might a shell script that output the expected string work?


Or sed?
Or export?
Or, um, more information about what Debian release is being used and the
third-party software. :)


If the compiled program calls the uname() system call,


Good point. I should have given that more than a few seconds thought -
and I suspect Jerry has pointed out a simpler way than intercepting sys
calls.

Is the name of the third-party software a secret?



then
script-related fixes
won't work. I don't have the source to the compiled program.

I'm running Debian testing (jessie).


Kind regards


And kind regards to you for replying so promptly to my plea for help!

What I'm wondering is whether I can get uname to return the desired
format by somehow compiling a custom kernel.

If so, then any help doing that properly would be appreciated.



I'm not sure if it will work or not - I'm far from a Debian kernel
expert.


Likewise.

http://kernel-handbook.alioth.debian.org/ch-versions.html:-
Kernel version

 This is the version that appears in kernel messages, filenames,
package names and the output of 'uname -r'. In official kernel packages
it follows the format upstreamversion[-abiname][-featureset]-flavour. It
is not changed for every new package version. The abiname is changed as
explained below.

Many programs parse the kernel version string reported by the uname
system call or command and expect to find at least 3 version components
separated by dots. For compatibility, the official kernel packages
currently add '.0' to the upstream version, but this will be dropped in
wheezy+1.

So it appears to be possible.


But one thing to consider: are there any packages which require
the correct Debian format?


abiname shouldn't change should it?



I wouldn't think so - but I also don't know.  However, if you do change 
something basic like the kernel version, what else will it affect?  You 
might get a kernel which will boot but nothing will run, for instance.


Just a thought.  I always worry about side effects :)

Jerry


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/53082070.6050...@attglobal.net