Re: %clean in rpm-4.4.7+

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On May 23, 2007, at 6:26 PM, Tim Mooney wrote:

In regard to: Re: %clean in rpm-4.4.7+, Jeff Johnson said (at 5:47pm on May...:


On May 23, 2007, at 4:30 PM, Tim Mooney wrote:

In regard to: Re: %clean in rpm-4.4.7+, Jeff Johnson said (at 12:56pm on...:
On May 23, 2007, at 12:51 PM, Tomasz Koczko wrote:
On Mon, 21 May 2007, Tim Mooney wrote:
All-
With rpm 4.4.7 and later, rpm ignores the %clean in the spec file and instead uses a set of macros to handle post-build cleanup of the build system. This was discussed on the rpm devel list and is documented in
the CHANGES, and the new functionality has been working fine.
What I'm after is configuring my personal/system build default so that
- the BuildRoot is NOT removed after a successful rpmbuild
- the Build subdirectory (%_topdir/BUILD/foo-1.0) IS removed after
a successful rpmbuild, but left on an unsuccessful build.
In 4.4.2 this is performed by "rpmbuild --clean <spec>".
If it still true in > 4.4.2 I dont see any reasons for changes.
rpm-4.4.7 and later has refactored BuildRoot: and %clean out of spec files.
Unfortunately there's no fix for legacy spec files except to parse
and ignore the contents. Yet.
Understood.  I was just under the mistaken impression that
%__spec_clean_body is what replaced %clean, so I thought I could
control the replacement for %clean via that macro.  It's not, and
I can't.

It was *supposed* to be what replaced %clean, but you identified a bug. Not gotten to repairing yet.

I think the change is as simple as this.  It breaks compatibility with
rpm 4.4.7 - 4.4.9, but I would vote that that's OK.


People are just starting to realize that BuildRoot: and %clean are being
ignored. Compatibility be damned, I want simpler KISS.

Looks exactly perfect. Thanks for the patch.

73 de Jeff

Index: parseBuildInstallClean.c
===================================================================
RCS file: /cvs/devel/rpm/build/parseBuildInstallClean.c,v
retrieving revision 2.18.6.4
diff -u -r2.18.6.4 parseBuildInstallClean.c
--- parseBuildInstallClean.c	21 Mar 2007 13:10:15 -0000	2.18.6.4
+++ parseBuildInstallClean.c	23 May 2007 22:25:53 -0000
@@ -42,12 +42,12 @@

     /* Make sure the buildroot is removed where needed. */
     if (parsePart == PART_INSTALL) {
- const char * s = rpmExpand("%{?__spec_clean_body}%{!? __spec_clean_body:%{?buildroot:rm -rf '%{buildroot}'\n}}\n", NULL); + const char * s = rpmExpand("%{?buildroot:rm -rf '% {buildroot}'\n}", NULL);
 	if (s && *s)
 	    appendStringBuf(*sbp, s);
 	s = _free(s);
     } else if (parsePart == PART_CLEAN) {
- const char * s = rpmExpand("%{?buildroot:rm -rf '% {buildroot}'\n}", NULL); + const char * s = rpmExpand("%{?__spec_clean_body}%{!? __spec_clean_body:%{?buildroot:rm -rf '%{buildroot}'\n}}\n", NULL);
 	if (s && *s)
 	    appendStringBuf(*sbp, s);
 	s = _free(s);



Tim
--
Tim Mooney mooney@xxxxxxxxxxxxxxxxxxxxxxxxx
Information Technology Services         (701) 231-1076 (Voice)
Room 242-J6, IACC Building              (701) 231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux