Your message dated Sat, 6 Jun 2009 00:06:38 +0200 with message-id <[email protected]> and subject line Looks fixed. has caused the Debian Bug report #521711, regarding cdbs: Clean target is misordered when using cmake class. to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 521711: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521711 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: cdbs Version: 0.4.54 Severity: normal When calling clean target, the clean sequence looks wrong. This is an except: ---8<----- fakeroot debian/rules clean test -x debian/rules test "`id -u`" = 0 rmdir obj-x86_64-linux-gnu rmdir: failed to remove «obj-x86_64-linux-gnu»: No existe el fichero o el directorio make: [cleanbuilddir] Error 1 (no tiene efecto) rm -rf obj-x86_64-linux-gnu /usr/bin/make -C obj-x86_64-linux-gnu -k clean make: *** obj-x86_64-linux-gnu: No existe el fichero o el directorio. Alto. make: [makefile-clean] Error 2 (no tiene efecto) rm -f debian/stamp-makefile-build dh_clean /usr/bin/make -f debian/rules reverse-config ------->8----- In my case the rules file states: include /usr/share/pkg-kde-tools/makefiles/1/cdbs/kde.mk include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/rules/patchsys-quilt.mk Where kde.mk basically includes cmake class. After having examined the cdbs sources, i found clean target to be defined in buildcore.mk like this: ----(buildcore.mk)---- clean:: testdir testroot cleanbuilddir reverse-config cleanbuilddir:: $(patsubst %,cleanbuilddir/%,$(DEB_ALL_PACKAGES)) -$(if $(call cdbs_streq,$(DEB_BUILDDIR),$(DEB_SRCDIR)),,rmdir $(DEB_BUILDDIR)) ----(buildcore.mk)---- Whereas in cmake.mk: ----(cmake.mk)---- cleanbuilddir:: -$(if $(call cdbs_streq,$(DEB_BUILDDIR),$(DEB_SRCDIR)),,rm -rf $(DEB_BUILDDIR)) ----(cmake.mk)---- Also cmake class include makefile class, makefile.mk which defines: -------(makefile.mk)------------ clean:: makefile-clean makefile-clean:: $(if $(DEB_MAKE_CLEAN_TARGET),+-$(DEB_MAKE_INVOKE) -k $(DEB_MAKE_CLEAN_TARGET),@echo "DEB_MAKE_CLEAN_TARGET unset, not running clean") rm -f debian/stamp-makefile-build -------(makefile.mk)------------ So what's happening is that makefile.mk makefile-clean target is being added to clean target and this target is being called after cleanbuilddir, unfortunately too late. IMHO, makefile-clean should be invoked before cleanbuilddir, or as the first action of cleanbuilddir I'm not sure how to proceed in this case, because I don¡'t think it's feasible redefining clean target in buildcore.mk A possible solution would be redifining cleanbuilddir in cmake.mk like this: cleanbuilddir:: makefile-clean -$(if $(call cdbs_streq,$(DEB_BUILDDIR),$(DEB_SRCDIR)),,rm -rf $(DEB_BUILDDIR)) Not sure is this is sensible though. Hope you have better ideas. Regards, -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (900, 'unstable'), (500, 'testing'), (100, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.29-toi3head (SMP w/2 CPU cores; PREEMPT) Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages cdbs depends on: ii debhelper 7.2.7 helper programs for debian/rules Versions of packages cdbs recommends: ii autotools-dev 20080123.2 Update infrastructure for config. { Versions of packages cdbs suggests: ii devscripts 2.10.47 scripts to make the life of a Debi pn doc-base <none> (no description available) -- no debconf information
--- End Message ---
--- Begin Message ---Version 0.4.56 Hello: Thanks Jonas for your fast reply. Unfortunately, for any reason it got lost and I hadn't it available on my inbox so I read it when I needed to check the bug again. The issue seems solved now. The current flow now is: test -x debian/rules rmdir obj-x86_64-linux-gnu /usr/bin/make -C obj-x86_64-linux-gnu -k clean rm -f debian/stamp-makefile-build rm -rf obj-x86_64-linux-gnu dh_clean /usr/bin/make -f debian/rules reverse-config So this is ok, IMHO. Only remark here is that if you are using out-of-tree builds with cmake a rm -r on the build tree result would be the same, unless there's some evil build step that places files out of the build tree. Like I happen to have. :) Closing therefore. Regards, -- Raúl Sánchez Siles ----->Proud Debian user<----- Linux registered user #416098
signature.asc
Description: This is a digitally signed message part.
--- End Message ---

