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

Attachment: signature.asc
Description: This is a digitally signed message part.


--- End Message ---

Reply via email to