Discussion:
%clean section not processed
p***@sofrecom.com
2008-01-16 16:08:23 UTC
Permalink
Hi,

I'm using rpm 4.4.7 which I have built on HPUX 11.23 / ia64. I have
written a spec file with a specific %clean section. However, it seems
that this one is not processed, but replaced by a default one which
simply removes the buildroot directory. Is there something new to set or
configure with this version, in order to use its own %clean section ?

Regards,

mailto: ***@sofrecom.com <mailto:***@sofrecom.com>

phone: +33 1 43985883
Michael Jennings
2008-01-16 20:00:59 UTC
Permalink
On Wednesday, 16 January 2008, at 17:08:23 (+0100),
Post by p***@sofrecom.com
I'm using rpm 4.4.7 which I have built on HPUX 11.23 / ia64. I have
written a spec file with a specific %clean section. However, it
seems that this one is not processed, but replaced by a default one
which simply removes the buildroot directory. Is there something new
to set or configure with this version, in order to use its own
%clean section ?
The %clean section is deprecated because it was almost always
identical to the new built-in version, or it was incorrect/missing.
If your package requires something in %clean that isn't covered in the
default, you've probably made a packaging error.

If you pastebin the spec file, I'm sure folks would be willing to take
a gander at it for you and give you some feedback.

Michael

PS: You probably want to move this to rpm-***@rpm5.org for all
versions of RPM > 4.4.2
--
Michael Jennings (a.k.a. KainX) http://www.kainx.org/ <***@kainx.org>
Linux Server/Cluster Admin, LBL.gov Author, Eterm (www.eterm.org)
-----------------------------------------------------------------------
"I have failed over and over again in my life. And that is why I
succeed." -- Michael Jordan
p***@sofrecom.com
2008-01-17 09:47:56 UTC
Permalink
In fact, I'm using the %{buildroot}.tmp as a temporary working directory to store especially my own find_requires script (including "%{__cat} >/dev/null") and a env.sh shell script, used to pass some environment variables between the building scriptlets. So my %clean section removes both %{buildroot} and %{buildroot}.tmp directories.
Is there really no way at all to enable the %clean section ?

-----Message d'origine-----
De : rpm-list-***@redhat.com [mailto:rpm-list-***@redhat.com] De la part de Michael Jennings
Envoyé : mercredi 16 janvier 2008 21:01
À : rpm-***@redhat.com
Objet : Re: %clean section not processed

On Wednesday, 16 January 2008, at 17:08:23 (+0100),
Post by p***@sofrecom.com
I'm using rpm 4.4.7 which I have built on HPUX 11.23 / ia64. I have
written a spec file with a specific %clean section. However, it
seems that this one is not processed, but replaced by a default one
which simply removes the buildroot directory. Is there something new
to set or configure with this version, in order to use its own
%clean section ?
The %clean section is deprecated because it was almost always
identical to the new built-in version, or it was incorrect/missing.
If your package requires something in %clean that isn't covered in the
default, you've probably made a packaging error.

If you pastebin the spec file, I'm sure folks would be willing to take
a gander at it for you and give you some feedback.

Michael

PS: You probably want to move this to rpm-***@rpm5.org for all
versions of RPM > 4.4.2
--
Michael Jennings (a.k.a. KainX) http://www.kainx.org/ <***@kainx.org>
Linux Server/Cluster Admin, LBL.gov Author, Eterm (www.eterm.org)
-----------------------------------------------------------------------
"I have failed over and over again in my life. And that is why I
succeed." -- Michael Jordan
Jos Vos
2008-01-17 12:40:04 UTC
Permalink
Post by p***@sofrecom.com
In fact, I'm using the %{buildroot}.tmp as a temporary working directory
to store especially my own find_requires script (including "%{__cat}
Post by p***@sofrecom.com
/dev/null") and a env.sh shell script, used to pass some environment
variables between the building scriptlets. So my %clean section removes
both %{buildroot} and %{buildroot}.tmp directories.
In your case you can just do "rm -rf %{buildroot}.tmp" at the end of
%install, isn't it?
--
-- Jos Vos <***@xos.nl>
-- X/OS Experts in Open Systems BV | Phone: +31 20 6938364
-- Amsterdam, The Netherlands | Fax: +31 20 6948204
p***@sofrecom.com
2008-01-17 14:30:53 UTC
Permalink
And what about the find_requires script used by the __find_requires macro ?

-----Message d'origine-----
De : rpm-list-***@redhat.com [mailto:rpm-list-***@redhat.com] De la part de Jos Vos
Envoyé : jeudi 17 janvier 2008 13:40
À : RPM Package Manager
Objet : Re: RE : %clean section not processed
Post by p***@sofrecom.com
In fact, I'm using the %{buildroot}.tmp as a temporary working directory
to store especially my own find_requires script (including "%{__cat}
Post by p***@sofrecom.com
/dev/null") and a env.sh shell script, used to pass some environment
variables between the building scriptlets. So my %clean section removes
both %{buildroot} and %{buildroot}.tmp directories.
In your case you can just do "rm -rf %{buildroot}.tmp" at the end of
%install, isn't it?
--
-- Jos Vos <***@xos.nl>
-- X/OS Experts in Open Systems BV | Phone: +31 20 6938364
-- Amsterdam, The Netherlands | Fax: +31 20 6948204
Jos Vos
2008-01-17 14:38:20 UTC
Permalink
Post by p***@sofrecom.com
And what about the find_requires script used by the __find_requires macro ?
Good point, but you can also store that in your build tree (or directly
refer to %{SOURCEx} if it's a static script provided by you).
--
-- Jos Vos <***@xos.nl>
-- X/OS Experts in Open Systems BV | Phone: +31 20 6938364
-- Amsterdam, The Netherlands | Fax: +31 20 6948204
Jeff Johnson
2008-01-17 15:15:56 UTC
Permalink
Post by p***@sofrecom.com
In fact, I'm using the %{buildroot}.tmp as a temporary working directory
to store especially my own find_requires script (including "%{__cat}
Post by p***@sofrecom.com
/dev/null") and a env.sh shell script, used to pass some environment
variables between the building scriptlets. So my %clean section removes both
%{buildroot} and %{buildroot}.tmp directories.
Is there really no way at all to enable the %clean section ?
The %clean section has been refactor'd to be part of build configuration
rather
than package recipe.

Override this macro in your specfile if you want to change what %clean does
in rpm-4.4.7 and later (the default value, simplified, is included):
%define __spec_clean_body rm -rf %{buildroot};

There are likelier better ways than %{buildroot}.tmp to carry custom
dependency filters, but I'll leave the packaging style choices to you.

73 de Jeff
p***@sofrecom.com
2008-01-17 18:10:06 UTC
Permalink
In fact, it seems that the %__spec_clean_post needs to be set instead of %__spec_clean_body.



-----Message d'origine-----
De : rpm-list-***@redhat.com [mailto:rpm-list-***@redhat.com] De la part de Jeff Johnson
Envoyé : jeudi 17 janvier 2008 16:16
À : RPM Package Manager
Objet : Re: RE : %clean section not processed





On Jan 17, 2008 4:47 AM, <***@sofrecom.com> wrote:

In fact, I'm using the %{buildroot}.tmp as a temporary working directory to store especially my own find_requires script (including "%{__cat} >/dev/null") and a env.sh shell script, used to pass some environment variables between the building scriptlets. So my %clean section removes both %{buildroot} and %{buildroot}.tmp directories.
Is there really no way at all to enable the %clean section ?



The %clean section has been refactor'd to be part of build configuration rather

than package recipe.



Override this macro in your specfile if you want to change what %clean does

in rpm-4.4.7 and later (the default value, simplified, is included):

%define __spec_clean_body rm -rf %{buildroot};



There are likelier better ways than %{buildroot}.tmp to carry custom

dependency filters, but I'll leave the packaging style choices to you.



73 de Jeff

manjunath k
2008-01-17 06:50:32 UTC
Permalink
Hi,

Instead of the command " rm -rf %{buildroot} " in the
%clean section use something like "rm -rf src" where the
folder src is the one which you want to clean.

Regards,
Manjunath
Hi,
I'm using rpm 4.4.7 which I have built on HPUX 11.23 / ia64. I have written
a spec file with a specific %clean section. However, it seems that this one
is not processed, but replaced by a default one which simply removes the
buildroot directory. Is there something new to set or configure with this
version, in order to use its own %clean section ?
Regards,
phone: +33 1 43985883
_______________________________________________
Rpm-list mailing list
https://www.redhat.com/mailman/listinfo/rpm-list
Jos Vos
2008-01-17 07:41:33 UTC
Permalink
Post by manjunath k
Instead of the command " rm -rf %{buildroot} " in the
%clean section use something like "rm -rf src" where the
folder src is the one which you want to clean.
It looks like you didn't parse the original question very well.
--
-- Jos Vos <***@xos.nl>
-- X/OS Experts in Open Systems BV | Phone: +31 20 6938364
-- Amsterdam, The Netherlands | Fax: +31 20 6948204
Loading...