Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Jednak Ubuntu chyba nigdy nie przestanie mnie zaskakiwać :)
Fragment Makefile (początek):
prefix = /usr/local version = 0.2.2 CTL = dbus-1 glib-2.0 dbus-glib-1 CFLAGS = `pkg-config --cflags $(CTL)` -DDATAPREFIX=\"$(prefix)/share/speechdesktop\"
i gdzieś dalej:
gcc -s -o gui.o gui.c $(CFLAGS) `pkg-config --cflags gtk+-3.0`
Puszczam to (po sprawdzeniu w domu) na Launchpada, w rules mam (w uproszczeniu):
make prefix=/usr
i mam:
a) Ubuntu 12.04 i386 - DATAPREFIX="/usr/share/speechdesktop"
b) Ubuntu 12.04 amd64 - DATAPREFIX="/usr/share/speechdesktop"
c) Ubuntu 14.04 i386 - DATAPREFIX="/usr/share/speechdesktop"
d) Ubuntu 14.04 amd64 - DATAPREFIX="/usr/local/share/speechdesktop"
żeby było ciekawiej:
install -m 0755 aplikacja $(prefix)/bin
wrzuca binarkę do właściwego katalogu...
Qui penis aquam turbat???
Nie zależy mi na naprawianiu świata (w następnej wersji zrobię po prostu patcha na Makefile coby zawsze było /usr) - ale ciekawi mnie skąd to się wzięło...
Offline
na launchpadzie w ~ethanak/milena - to się nazywa speechdesktop-0.2.1
prowizorka ale komuś obiecałem że na dzisiaj będzie
Offline
-DDATAPREFIX=\"$(prefix)/share/speechdesktop\"
Czy aby napewno tą zmienną ($DATAPREFIX) przekazuje się w ten sposób?
Offline
Po takich poprawkach działa prawidłowo:
diff -Nru speechdesktop-0.2.1/debian/changelog speechdesktop-0.2.1/debian/changelog --- speechdesktop-0.2.1/debian/changelog 2014-09-14 09:56:56.000000000 +0200 +++ speechdesktop-0.2.1/debian/changelog 2014-09-14 15:53:21.000000000 +0200 @@ -1,3 +1,9 @@ +speechdesktop (0.2.1-ubuntu1~trusty2) trusty; urgency=medium + + * Fix build. + + -- Mateusz Łukasik <mati75@linuxmint.pl> Sun, 14 Sep 2014 15:52:54 +0200 + speechdesktop (0.2.1-ubuntu1~trusty1) trusty; urgency=low * Initial release diff -Nru speechdesktop-0.2.1/debian/compat speechdesktop-0.2.1/debian/compat --- speechdesktop-0.2.1/debian/compat 2011-09-25 12:23:47.000000000 +0200 +++ speechdesktop-0.2.1/debian/compat 2014-09-14 15:51:28.000000000 +0200 @@ -1 +1 @@ -7 +9 diff -Nru speechdesktop-0.2.1/debian/control speechdesktop-0.2.1/debian/control --- speechdesktop-0.2.1/debian/control 2014-09-14 09:29:50.000000000 +0200 +++ speechdesktop-0.2.1/debian/control 2014-09-14 15:51:48.000000000 +0200 @@ -2,12 +2,12 @@ Section: sound Priority: extra Maintainer: ethanak <ethanak@polip.com> -Build-Depends: debhelper (>= 7.0.50~), libgtk-3-dev, libdbus-glib-1-dev, libspeechd-dev -Standards-Version: 3.9.1 +Build-Depends: debhelper (>= 9), libgtk-3-dev, libdbus-glib-1-dev, libspeechd-dev +Standards-Version: 3.9.5 Homepage: http://milena.polip.com Package: speechdesktop Architecture: any Depends: ${shlibs:Depends}, Description: Speech Desktop - Desktop Extention with si,mple speech + Desktop Extention with simple speech diff -Nru speechdesktop-0.2.1/debian/rules speechdesktop-0.2.1/debian/rules --- speechdesktop-0.2.1/debian/rules 2014-09-14 09:37:28.000000000 +0200 +++ speechdesktop-0.2.1/debian/rules 2014-09-14 16:02:20.000000000 +0200 @@ -1,84 +1,7 @@ #!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 %: dh $@ -build: build-stamp -build-stamp: - dh_testdir - - # Add here commands to compile the package. - $(MAKE) prefix=/usr - touch build-stamp - -clean: - dh_testdir - dh_testroot - rm -f build-stamp - - # Add here commands to clean up after the build process. - $(MAKE) clean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_prep - dh_installdirs - - # Add here commands to install the package into debian/<packagename> - $(MAKE) prefix=/usr DESTDIR=`pwd`/debian/`dh_listpackages` install - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installchangelogs -# dh_installdocs -# dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installcatalogs -# dh_installpam -# dh_installmime -# dh_installinit -# dh_installcron -# dh_installinfo -# dh_installwm -# dh_installudev -# dh_lintian -# dh_bugfiles -# dh_undocumented - dh_installman - dh_link - dh_strip - dh_compress - dh_fixperms -# dh_perl -# dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install - +override_dh_auto_install: + dh_auto_install -- prefix=/usr
Offline
dzięki - dzisiaj to wrzucę.
bardzo ładnie załatwiłeś moje wypociny :)
[i]Edit[/i]
E... jak by tu powiedzieć żeby nie urazić...
a) fragment wypluwki dpkg-buildpackage:
gcc -c -o plist.o plist.c `pkg-config --cflags dbus-1 glib-2.0 dbus-glib-1 ` -DDATAPREFIX=\"/usr/local/share/speechdesktop\"
czyli trochę nie o to mi chodziło...
b) poza tym:
$ ls -R debian/speechdesktop/usr debian/speechdesktop/usr: share debian/speechdesktop/usr/share: doc debian/speechdesktop/usr/share/doc: speechdesktop debian/speechdesktop/usr/share/doc/speechdesktop: changelog.Debian.gz copyright
nie wiem czy to tylko ja odnoszę takie niejasne wrażenie że czegoś tam brakuje :)
Ostatnio edytowany przez ethanak (2014-09-15 08:35:34)
Offline
To raczej nie zadziała - DATAPREFIX jest symbolem preprocesora gcc a nie zmienną i musi być przekazany z Makefile właśnie w taki sposób (zobacz jak jest wykorzystany w gui.c).
Poza tym zawsze mi to działało - tylko w tym przypadku nie chce...
Offline
Chyba zrobiłem w inny sposób:
override_dh_auto_build: dh_auto_build -- prefix=/usr
Kompiluje się poprawnie: http://wklej.dug.net.pl/4870
Ostatnio edytowany przez mati75 (2014-09-15 13:56:55)
Offline
dzięki - sprawdzę jak będę przy kompie bo na razie sprawdzam jakość napojów w barze :)
btw. gdzie to wszystko jest w jakiś przystępny sposób opisane? coś w stylu "jak zrobić pakiet deb - poradnik dla rpmowców"...
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00019 | SET CHARSET latin2 |
0.00011 | SET NAMES latin2 |
0.00164 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.129.63.252' WHERE u.id=1 |
0.00132 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.129.63.252', 1732208174) |
0.00060 | SELECT * FROM punbb_online WHERE logged<1732207874 |
0.00292 | DELETE FROM punbb_online WHERE ident='3.144.244.244' |
0.00057 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=26406 AND t.moved_to IS NULL |
0.00010 | SELECT search_for, replace_with FROM punbb_censoring |
0.00187 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=26406 ORDER BY p.id LIMIT 0,25 |
0.00076 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26406 |
Total query time: 0.01008 s |