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

Why ".udeb" won't work.



So I tried to make a .udeb today from my main-menu code. It wasn't that
hard; I ended up with a debian/rules like this:

  PACKAGE=$(shell dh_listpackages)
  VERSION=$(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2)
  ARCH=$(shell dpkg --print-architecture)
  FILENAME=$(PACKAGE)_$(VERSION)_$(ARCH).udeb
  PRIORITY=$(shell grep ^Priority: debian/control | cut -d ' ' -f 2)

  binary-arch: build install
          dh_testdir
          dh_testroot
          dh_installdebconf
          dh_strip
          dh_compress
          dh_fixperms
          dh_installdeb
          dh_shlibdeps
 	  # Don't write your stupid guesses to debian/files.
	  dh_gencontrol -- -fdebian/files~
	  # Register file manually.
	  dpkg-distaddfile $(FILENAME) byhand $(PRIORITY)
	  # Ok, it's a hack, but debhelper needs an alias for this switch.
	  dh_builddeb --destdir=../$(FILENAME)

So this worked great, it built a .udeb and so on. Until I tried to run
dpkg-buildpackage, which died at the end with:

  dpkg-genchanges: error: package main-menu in control file but not in files list

Well that's a nice sanity check but I really did want to list a package in 
debian/control and yet not generate a .deb for it. If I don't do that, I have
to build the .udeb by hand without using debhelper, without even using
dpkg-gencontrol or anything, and that strikes me as a PITA. :-(

At this point the only workaround I can think of is to have a debian/control
that just has the Source: stanza and no Package: stanza listed in it, and then
temporarily add the Package: stanza when I am building and remove it
when done. In other words, a gross hack.

Or modify dpkg-buildpackage to downgrade this "error" to a warning.

Or don't use ".udeb" as the filename extention for debian-installer
modules. Which doogie says he will flame me for, so please go ahead
doogie and tell me why just using ".deb" is such a terrible idea.

-- 
see shy jo



Reply to: