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
Pokaż źródła.
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 :)
Edit
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
Można najprościej dać w debian/rules;
EXPORT DATAPREFIX=/usr/share
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
Offline
Strony: 1