Skip to contentSkip to conversation

rpm generation question

DISCUSSION Tudor Florea 2 participants 5 messages Apr 19, 2016 – Apr 21, 2016

lore
Share & tools
lore
#0 lore raw

As part of our test infrastructure we're attempting to install ptest packages (and execute the tests accordingly).
Attempting to install ptest for valgrind fails with this error:

error: Can't install valgrind-ptest-3.11.0-r0.1@ppce500mc: no package provides /this/is/a/bogus/interpreter/name

smart install valgrind-ptest-3.11.0-r0.1@ppce500mc Loading cache...
Updating cache...
###############################################################################
[100%]

Computing transaction...

error: Can't install valgrind-ptest-3.11.0-r0.1@ppce500mc: no package
provides /this/is/a/bogus/interpreter/name

This is most probably caused by the file shell_badinterp contained in this package having the following contents:

#! /this/is/a/bogus/interpreter/name

true

Does anyone have an idea how to get rid of this error? More specific: How can I exclude dependency on "/this/is/a/bogus/interpreter/name" for an rpm package?

Thank you very much.
Tudor.

#1 lore raw
Quoted 6 lines · Tudor Florea

As part of our test infrastructure we're attempting to install ptest packages (and execute the tests accordingly).
Attempting to install ptest for valgrind fails with this error:

error: Can't install valgrind-ptest-3.11.0-r0.1@ppce500mc: no package provides /this/is/a/bogus/interpreter/name

You can turn off the file level requires and provides on a per package basis.

SKIP_FILEDEPS_${PN}-ptest = '1'

Otherwise (for rpm packages) the system will attempt to discover and use the per-file interpreter and other dependencies. Since ptest is only tests, and the dependencies here are specific to tests -- it should be safe to disable them.

(If that isn't the right approach for some reason, there are some other ways to do a file level provide, but they're significantly more complicated and rarely used.)

--Mark

Quoted 27 lines

smart install valgrind-ptest-3.11.0-r0.1@ppce500mc Loading cache...
Updating cache...
###############################################################################
[100%]

Computing transaction...

error: Can't install valgrind-ptest-3.11.0-r0.1@ppce500mc: no package
provides /this/is/a/bogus/interpreter/name

This is most probably caused by the file shell_badinterp contained in this package having the following contents:

#! /this/is/a/bogus/interpreter/name

true

Does anyone have an idea how to get rid of this error? More specific: How can I exclude dependency on "/this/is/a/bogus/interpreter/name" for an rpm package?

Thank you very much.
Tudor.

#2 lore raw
Quoted 11 lines · Mark Hatle
Quoted 6 lines · Tudor Florea

As part of our test infrastructure we're attempting to install ptest packages (and execute the tests accordingly).
Attempting to install ptest for valgrind fails with this error:

error: Can't install valgrind-ptest-3.11.0-r0.1@ppce500mc: no package provides /this/is/a/bogus/interpreter/name

You can turn off the file level requires and provides on a per package basis.

SKIP_FILEDEPS_${PN}-ptest = '1'

Mark,
Thank you for the information provided.
Unfortunately this did not work as expected.
First issue: the dependency on bogus interpreter still exists with the line above.
I was able to force remove this dependency by setting MERGEPERFILEDEPS = "0"
on meta/classes/package_rpm.bbclass. Of course this is not a fix but only a test. I'm not sure if there is something missing around.

The second issue: The rpm created this way can be installed using the command:
rpm -ivH ./valgrind-ptest-3.11.0-r0.4.ppce500mc.rpm
but still fails when attempt to install using smart.

Is this second issue a bug or smart is supposed to work this way?

Thank you,
Tudor.

Quoted 39 lines

Otherwise (for rpm packages) the system will attempt to discover and use the per-file interpreter and other dependencies. Since ptest is only tests, and the dependencies here are specific to tests -- it should be safe to disable them.

(If that isn't the right approach for some reason, there are some other ways to do a file level provide, but they're significantly more complicated and rarely used.)

--Mark

Quoted 27 lines

smart install valgrind-ptest-3.11.0-r0.1@ppce500mc Loading cache...
Updating cache...
###############################################################################
[100%]

Computing transaction...

error: Can't install valgrind-ptest-3.11.0-r0.1@ppce500mc: no package
provides /this/is/a/bogus/interpreter/name

This is most probably caused by the file shell_badinterp contained in this package having the following contents:

#! /this/is/a/bogus/interpreter/name

true

Does anyone have an idea how to get rid of this error? More specific: How can I exclude dependency on "/this/is/a/bogus/interpreter/name" for an rpm package?

Thank you very much.
Tudor.

#3 lore raw
Quoted 25 lines · Tudor Florea
Quoted 11 lines · Mark Hatle
Quoted 6 lines · Tudor Florea

As part of our test infrastructure we're attempting to install ptest packages (and execute the tests accordingly).
Attempting to install ptest for valgrind fails with this error:

error: Can't install valgrind-ptest-3.11.0-r0.1@ppce500mc: no package provides /this/is/a/bogus/interpreter/name

You can turn off the file level requires and provides on a per package basis.

SKIP_FILEDEPS_${PN}-ptest = '1'

Mark,
Thank you for the information provided.
Unfortunately this did not work as expected.
First issue: the dependency on bogus interpreter still exists with the line above.
I was able to force remove this dependency by setting MERGEPERFILEDEPS = "0"
on meta/classes/package_rpm.bbclass. Of course this is not a fix but only a test. I'm not sure if there is something missing around.

Quoted 6 lines

The second issue: The rpm created this way can be installed using the command:
rpm -ivH ./valgrind-ptest-3.11.0-r0.4.ppce500mc.rpm
but still fails when attempt to install using smart.

Is this second issue a bug or smart is supposed to work this way?

What is the error with smart. If it's the same dependency error then it almost sounds like the feed database is out of sync.

--Mark

Quoted 43 lines

Thank you,
Tudor.

Quoted 39 lines

Otherwise (for rpm packages) the system will attempt to discover and use the per-file interpreter and other dependencies. Since ptest is only tests, and the dependencies here are specific to tests -- it should be safe to disable them.

(If that isn't the right approach for some reason, there are some other ways to do a file level provide, but they're significantly more complicated and rarely used.)

--Mark

Quoted 27 lines

smart install valgrind-ptest-3.11.0-r0.1@ppce500mc Loading cache...
Updating cache...
###############################################################################
[100%]

Computing transaction...

error: Can't install valgrind-ptest-3.11.0-r0.1@ppce500mc: no package
provides /this/is/a/bogus/interpreter/name

This is most probably caused by the file shell_badinterp contained in this package having the following contents:

#! /this/is/a/bogus/interpreter/name

true

Does anyone have an idea how to get rid of this error? More specific: How can I exclude dependency on "/this/is/a/bogus/interpreter/name" for an rpm package?

Thank you very much.
Tudor.

#4 lore raw
Quoted 31 lines · Mark Hatle
Quoted 30 lines · Tudor Florea
Quoted 11 lines · Mark Hatle
Quoted 6 lines · Tudor Florea

As part of our test infrastructure we're attempting to install ptest packages (and execute the tests accordingly).
Attempting to install ptest for valgrind fails with this error:

error: Can't install valgrind-ptest-3.11.0-r0.1@ppce500mc: no package provides /this/is/a/bogus/interpreter/name

You can turn off the file level requires and provides on a per package basis.

SKIP_FILEDEPS_${PN}-ptest = '1'

Mark,
Thank you for the information provided.
Unfortunately this did not work as expected.
First issue: the dependency on bogus interpreter still exists with the line above.
I was able to force remove this dependency by setting MERGEPERFILEDEPS = "0"
on meta/classes/package_rpm.bbclass. Of course this is not a fix but only a test. I'm not sure if there is something missing around.

The second issue: The rpm created this way can be installed using the command:
rpm -ivH ./valgrind-ptest-3.11.0-r0.4.ppce500mc.rpm
but still fails when attempt to install using smart.

Quoted 4 lines
Quoted 1 line

Is this second issue a bug or smart is supposed to work this way?

What is the error with smart. If it's the same dependency error then it almost sounds like the feed database is out of sync.

It was the same error. I have rebuild and retest everything from scratch and now is working.
I'm going to send a patch for this.
Thank you very much.
Tudor.

Quoted 47 lines

--Mark

Quoted 43 lines

Thank you,
Tudor.

Quoted 39 lines

Otherwise (for rpm packages) the system will attempt to discover and use the per-file interpreter and other dependencies. Since ptest is only tests, and the dependencies here are specific to tests -- it should be safe to disable them.

(If that isn't the right approach for some reason, there are some other ways to do a file level provide, but they're significantly more complicated and rarely used.)

--Mark

Quoted 27 lines

smart install valgrind-ptest-3.11.0-r0.1@ppce500mc Loading cache...
Updating cache...
###############################################################################
[100%]

Computing transaction...

error: Can't install valgrind-ptest-3.11.0-r0.1@ppce500mc: no package
provides /this/is/a/bogus/interpreter/name

This is most probably caused by the file shell_badinterp contained in this package having the following contents:

#! /this/is/a/bogus/interpreter/name

true

Does anyone have an idea how to get rid of this error? More specific: How can I exclude dependency on "/this/is/a/bogus/interpreter/name" for an rpm package?

Thank you very much.
Tudor.