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



Użytkownik
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




Psuj





Pokaż źródła.

Offline



Użytkownik
na launchpadzie w ~ethanak/milena - to się nazywa speechdesktop-0.2.1
prowizorka ale komuś obiecałem że na dzisiaj będzie
Offline
Użytkownik

-DDATAPREFIX=\"$(prefix)/share/speechdesktop\"
Czy aby napewno tą zmienną ($DATAPREFIX) przekazuje się w ten sposób?
Offline



Użytkownik




Psuj





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



Użytkownik
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




Psuj





Można najprościej dać w debian/rules;
EXPORT DATAPREFIX=/usr/share

Offline



Użytkownik
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




Psuj





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



Użytkownik
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




Psuj






Offline



Użytkownik
Strony: 1