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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-09-14 12:35:25

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

[ubuntu] zadziwiające zachowanie make na launchpadzie

Jednak Ubuntu chyba nigdy nie przestanie mnie zaskakiwać :)

Fragment Makefile (początek):

Kod:

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:

Kod:

    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):

Kod:

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:

Kod:

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...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#2  2014-09-14 14:38:56

  mati75 - Psuj

mati75
Psuj
Skąd: masz ten towar?
Zarejestrowany: 2010-03-14

Re: [ubuntu] zadziwiające zachowanie make na launchpadzie

Pokaż źródła.


https://l0calh0st.pl/obrazki/userbar.png

Offline

 

#3  2014-09-14 15:01:55

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [ubuntu] zadziwiające zachowanie make na launchpadzie

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


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#4  2014-09-14 15:43:14

  admetus - Użytkownik

admetus
Użytkownik
Zarejestrowany: 2014-07-09

Re: [ubuntu] zadziwiające zachowanie make na launchpadzie

Kod:

-DDATAPREFIX=\"$(prefix)/share/speechdesktop\"

Czy aby napewno tą zmienną ($DATAPREFIX) przekazuje się w ten sposób?

Offline

 

#5  2014-09-14 15:46:24

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [ubuntu] zadziwiające zachowanie make na launchpadzie

a gdzie tu widzsz zmienną ($DATAPREFIX)?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#6  2014-09-14 16:11:18

  mati75 - Psuj

mati75
Psuj
Skąd: masz ten towar?
Zarejestrowany: 2010-03-14

Re: [ubuntu] zadziwiające zachowanie make na launchpadzie

Po takich poprawkach działa prawidłowo:

Kod:

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

https://l0calh0st.pl/obrazki/userbar.png

Offline

 

#7  2014-09-14 16:18:49

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [ubuntu] zadziwiające zachowanie make na launchpadzie

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:

Kod:

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:

Kod:

$ 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)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#8  2014-09-15 11:06:21

  mati75 - Psuj

mati75
Psuj
Skąd: masz ten towar?
Zarejestrowany: 2010-03-14

Re: [ubuntu] zadziwiające zachowanie make na launchpadzie

Można najprościej dać w debian/rules;

Kod:

EXPORT DATAPREFIX=/usr/share

https://l0calh0st.pl/obrazki/userbar.png

Offline

 

#9  2014-09-15 12:39:25

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [ubuntu] zadziwiające zachowanie make na launchpadzie

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...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#10  2014-09-15 13:56:34

  mati75 - Psuj

mati75
Psuj
Skąd: masz ten towar?
Zarejestrowany: 2010-03-14

Re: [ubuntu] zadziwiające zachowanie make na launchpadzie

Chyba zrobiłem w inny sposób:

Kod:

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)


https://l0calh0st.pl/obrazki/userbar.png

Offline

 

#11  2014-09-15 14:04:08

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [ubuntu] zadziwiające zachowanie make na launchpadzie

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"...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#12  2014-09-15 14:07:43

  mati75 - Psuj

mati75
Psuj
Skąd: masz ten towar?
Zarejestrowany: 2010-03-14

Re: [ubuntu] zadziwiające zachowanie make na launchpadzie


https://l0calh0st.pl/obrazki/userbar.png

Offline

 

#13  2014-09-15 14:13:51

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [ubuntu] zadziwiające zachowanie make na launchpadzie

no to mam lekturę na wieczór :)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)