[maemo-developers] extras-assistant trouble
From: Ed Bartosh bartosh at gmail.comDate: Wed Jul 8 13:38:54 EEST 2009
- Previous message: extras-assistant trouble
- Next message: Clean build environment
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
2009/7/8 b0unc3 <b0unc3 at email.it>: > > > On Wed, Jul 8, 2009 at 9:34 AM, Ed Bartosh <bartosh at gmail.com> wrote: >> >> 2009/7/8 b0unc3 <b0unc3 at email.it>: >> > Hi, >> > >> > I'm the developer of wizard-mounter >> > (https://garage.maemo.org/projects/wizard-mounter) and I have a problem >> > with >> > the extras-assistant. >> > I build my own .deb in my sdk and it works fine, also the installation >> > is >> > correct (as you can check by downloading the .deb directly from the >> > browser >> > or you can try to build it yourself through svn in diablo-trunk/ ). When >> > I >> > upload the .tar.gz and other files to the extras-assistant that, I >> > suppose, >> > will automatically generate the deb but it result incorrect : the >> > installation works quite fine but it never show the entry in the >> > menu-list >> > because the .desktop and .service files are placed alone in /. >> > I'm wondering why of this strange behavior and what I'm doing wrong >> > since >> > the extras-assistant output is OK. >> > In my sdk I simply run dpkg-build -rfakeroot to build the .deb and other >> > files. >> > What do extras-assistant exactly to build the .deb ? >> First of all it's autobuilder, not assistant. Extras assistent is a >> web interface to building system and repositories. > > My mistake, sorry. >> >> Autobuilder builds packages 'right way'. It starts from clean >> scratchbox target, install basic build system(gcc, glibc and small >> amount of other packages), then installs build dependencies and bulds >> the package using dpkg-buildpackage. >> The main difference from usual developer builds is that in developer >> environment there are already tons of installed packages(most of them >> are not needed for your build) and dirty filesystem. By dirty I mean >> that there are a lot of files in there that don't belong to any >> package, but can influence on build results. Each time you do make >> install you put those on your filesystem. Very often they forgotten >> after that. >> >> Now to the business. The reason of above issue is most probably in >> your Makefile*. To check it our you can simply delete everything from >> debian/wizard-mounter and run 'make install >> DESTDIR=debian/wizard-mounter. You will most probably see your >> .desktop and .service files in debian/wizard-mounter instead of >> debian/wizard-mounter/usr/share/... > > I just tried it , but everything in the destdir is at his right place. >> >> Unfrotunately I didn't find sources of your package in diablo extras repo, so I checked out your trunk and tried to build your package in clean environment. Found issues: 1. Package lacks build dependency to libhildonhelp-dev. configure complains that libossohelp package doesn't exist: checking for pkg-config... /scratchbox/tools/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for GTK... yes checking for OSSO... configure: error: Package requirements (libosso >= 1 libossohelp) were not met: No package 'libossohelp' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables OSSO_CFLAGS and OSSO_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. make: *** [configure-stamp] Error 1 It happens because libossohelp.pc file is not found. libossohelp.pc is deprecated, and replaced with hildon-help.pc which is in libhildonhelp-dev package, AFAIK. So, I replaced libossohelp with hildonhelp in your configure.ac and added build-dependency to lbihildonhelp-dev package. 2. The same for hildon-libs and hildon-fm: checking for HILDON... configure: error: Package requirements (hildon-libs >= 0.9.50 hildon-fm) were not met: No package 'hildon-libs' found No package 'hildon-fm' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables HILDON_CFLAGS and HILDON_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. Replaced with hildon-1 and hildon-fm-2 in configure.ac Only after above changes I managed to build package. How did you actually get your package built? Did you use other sources? It was built OK and I can see the problem: 3. > ls debian/wizard-mounter DEBIAN etc lib usr wizard_mounter.desktop wizard_mounter.servic Here is the part of console output which explains why it happens: ... Making install in src make[2]: Entering directory `/tmp/wizard-mounter/src' make[3]: Entering directory `/tmp/wizard-mounter/src' /bin/sh ../mkinstalldirs /tmp/wizard-mounter/debian/wizard-mounter/usr/bin mkdir -p -- /tmp/wizard-mounter/debian/wizard-mounter/usr/bin /bin/sh ../libtool --mode=install /scratchbox/tools/bin/install -c wizard-mounter /tmp/wizard-mounter/debian/wizard-mounter/usr/bin/wizard-mounter /scratchbox/tools/bin/install -c wizard-mounter /tmp/wizard-mounter/debian/wizard-mounter/usr/bin/wizard-mounter make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/tmp/wizard-mounter/src' make[2]: Leaving directory `/tmp/wizard-mounter/src' Making install in data make[2]: Entering directory `/tmp/wizard-mounter/data' make[3]: Entering directory `/tmp/wizard-mounter/data' make[3]: Nothing to be done for `install-exec-am'. /bin/sh ../mkinstalldirs /tmp/wizard-mounter/debian/wizard-mounter /scratchbox/tools/bin/install -c -m 644 wizard_mounter.desktop /tmp/wizard-mounter/debian/wizard-mounter/wizard_mounter.desktop ... And the problem is in configure.ac file: desktopentrydir=`$PKG_CONFIG osso-af-settings --variable=desktopentrydir` serviceentrydir=`$PKG_CONFIG osso-af-settings --variable=dbusservicedir` If you run pkg-config with these parameters you'll have nothing instead of expecting paths. It's again about missing build-dependencies. osso-af-settings.pc is provided in osso-af-settings package, which is not present in your package's build-dependencies. After installing it package was built just fine and files were in proper places: > find debian/ -name *.service -or -name *.desktop debian/wizard-mounter/usr/share/dbus-1/services/wizard_mounter.service debian/wizard-mounter/usr/share/applications/hildon/wizard_mounter.desktop debian/wizard-mounter/etc/others-menu/extra_applications/0100_wizard-mounter.desktop The only thing I still don't understand is how you've manage to build your package in autobuilder without first two changes. -- BR, Ed
- Previous message: extras-assistant trouble
- Next message: Clean build environment
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]