Strona 1 z 2
apt-get - skompilowanie pakietu ze zmianą w konfiguracji
: 17 stycznia 2012, 15:16
autor: giaur
Witam,
Wiem, że aby pobrać pakiet źródłowy i automatycznie go skompilować (z utworzeniem .deb), należy postąpić mniej więcej tak:
Kod: Zaznacz cały
apt-get build-dep <pakiet>
apt-get -b source <pakiet>
JA chcę jednak przed zbudowaniem paczki zmienić niektóre opcje kompilacji, dostępne normalnie przez ./configure. A dopiero potem zbudować pakiet .deb na podstawie nowej konfiguracji. W jaki najlepiej sposób to zrobić? Bo takim sposobem jak wyżej nie da sie tego osiągnąć - źródła zostaną automatycznie pobrane i skompilowane, nie dając mi szansy na zmianę konfiguracji.
: 18 stycznia 2012, 00:09
autor: fnmirk
Przesadzasz. Skoro pobierzesz źródła to ich automatycznie nie usuwasz z dysku i możesz z nimi robić wszystko. Przejrzyj przykład:
http://debian.linux.pl/threads/16688-ip ... nfigure-ma
Dodane:
A poza tym:
Wprowadzasz zmiany i potem budujesz pakiet.
: 18 stycznia 2012, 10:49
autor: giaur
No właśnie nie przesadzam. Ściągnąłem sobie źródła pakietu libgtk-3-0 i wprowadziłem zmiany w debian/rules:
Kod: Zaznacz cały
DEB_CONFIGURE_EXTRA_FLAGS = \
--libdir=/$(LIBDIR) \
--enable-test-print-backend \
--enable-xinput \
--enable-x11-backend \
--enable-broadway-backend
(dodane 2 opcje: --enable-x11-backend i --enable-broadway-backend).
Z tego co wyczytałem, to pakiet buduje się mniej więcej tak (w katalogu ze źródłami - takie polecenie jest też wydawane przez apt-get gdy automatycznie buduje pakiet więc robię tak samo):
A wynik? Kompilacja bezproblemowa, za to budowanie pakietu - błąd:
Kod: Zaznacz cały
h_makeshlibs: dpkg-gensymbols -plibgtk-3-0 -Idebian/libgtk-3-0.symbols -Pdebian/libgtk-3-0 -edebian/libgtk-3-0/usr/lib/x86_64-linux-gnu/libgdk-3.so.0.200.3
-edebian/libgtk-3-0/usr/lib/x86_64-linux-gnu/libgtk-3.so.0.200.3
-c4 returned exit code 2
make: *** [binary-fixup/libgtk-3-0] Błąd 2
dpkg-buildpackage: błąd: debian/rules binary zwrócił status błędu 2
No i w czym problem?
: 18 stycznia 2012, 14:14
autor: fnmirk
Czy buduje się poprawnie pakiet, z domyślnymi opcjami, tak jak to opisałem w podanym odnośniku?
: 18 stycznia 2012, 18:20
autor: Yampress
Ja robie tak
Kod: Zaznacz cały
apt-get build-dep pakiet
apt-get source pakiet
dpkg-source -x pakiet.dsc
cd pakiet
./configure -opcje -opcje
dpkg-buildpackage
Bo jeśli chcesz budować wg sposobu co piszesz to powinienes użyć
po wyeksportowaniu opcji kompilacji.
: 25 stycznia 2012, 10:27
autor: giaur
Robię tak jak ty i:
Kod: Zaznacz cały
dpkg-buildpackage
dpkg-buildpackage: pakiet źródłowy gtk+3.0
dpkg-buildpackage: wersja pakietu źródłowego 3.2.3-1
dpkg-buildpackage: źródła zmienione przez Michael Biebl <biebl@debian.org>
dpkg-buildpackage: architektura gościa amd64
dpkg-source --before-build gtk+3.0-3.2.3
debian/rules clean
debian/rules:140: uwaga: polecenia zakrywające dla obiektu `list-missing'
/usr/share/cdbs/1/rules/utils.mk:54: uwaga: ignoruję stare polecenia dla obiektu `list-missing'
dh_testdir
sed \
-e "s#@SONAME@#0#g" \
-e "s#@APIVER@#3#g" \
-e "s#@VERSION@#3.2.3#g" \
-e "s#@GTK_BINVER_DEP@#gtk3-binver-3.0.0#g" \
-e "s#@SHARED_PKG@#libgtk-3-0#g" \
-e "s#@COMMON_PKG@#libgtk-3-common#g" \
-e "s#@DEV_PKG@#libgtk-3-dev#g" \
-e "s#@UDEB_PKG@#libgtk-3-0-udeb#g" \
-e "s#@DOC_PKG@#libgtk-3-doc#g" \
-e "s#@BIN_PKG@#libgtk-3-bin#g" \
-e "s#@DEBUG_PKG@#libgtk-3-0-dbg#g" \
-e "s#@EXAMPLES_PKG@#gtk-3-examples#g" \
-e "s#@PIXBUF_PKG@#gtk3-engines-pixbuf#g" \
-e "s#@GNOME_TEAM@#Josselin Mouette <joss@debian.org>, Michael Biebl <biebl@debian.org>, Sjoerd Simons <sjoerd@debian.org>#g" \
-e "s#@GTK_BINARY_VERSION@#3.0.0#g" \
-e "s#@LIBDIR@#usr/lib/x86_64-linux-gnu#g" \
-e 's#@OPTLIBDIR@##g' \
-e 's#@CONFDIR@#etc/gtk-3.0#g' \
-e "s#@MODULES_BASE_PATH@#usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0#g" \
-e "s#@OLD_MODULES_BASE_PATH@#usr/lib/gtk-3.0/3.0.0#g" \
debian/control.in > debian/control
test -x debian/rules
dh_testroot
rmdir debian/build
rmdir: nie udało się usunąć `debian/build': Nie ma takiego pliku ani katalogu
make: [cleanbuilddir] Błąd 1 (zignorowany)
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 /usr/bin/make -C debian/build/shared -k distclean
make: *** debian/build/shared: Nie ma takiego pliku ani katalogu. Stop.
make: [makefile-clean/shared] Błąd 2 (zignorowany)
rm -f debian/stamp-makefile-build/shared debian/stamp-makefile-install/shared
rm -f debian/stamp-makefile-check/shared
rmdir --ignore-fail-on-non-empty debian/build/shared
rmdir: nie udało się usunąć `debian/build/shared': Nie ma takiego pliku ani katalogu
make: [makefile-clean/shared] Błąd 1 (zignorowany)
rm -f debian/stamp-autotools/shared
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 /usr/bin/make -C debian/build/shared_udeb -k distclean
make: *** debian/build/shared_udeb: Nie ma takiego pliku ani katalogu. Stop.
make: [makefile-clean/shared_udeb] Błąd 2 (zignorowany)
rm -f debian/stamp-makefile-build/shared_udeb debian/stamp-makefile-install/shared_udeb
rm -f debian/stamp-makefile-check/shared_udeb
rmdir --ignore-fail-on-non-empty debian/build/shared_udeb
rmdir: nie udało się usunąć `debian/build/shared_udeb': Nie ma takiego pliku ani katalogu
make: [makefile-clean/shared_udeb] Błąd 1 (zignorowany)
rm -f debian/stamp-autotools/shared_udeb
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 /usr/bin/make -C debian/build/static -k distclean
make: *** debian/build/static: Nie ma takiego pliku ani katalogu. Stop.
make: [makefile-clean/static] Błąd 2 (zignorowany)
rm -f debian/stamp-makefile-build/static debian/stamp-makefile-install/static
rm -f debian/stamp-makefile-check/static
rmdir --ignore-fail-on-non-empty debian/build/static
rmdir: nie udało się usunąć `debian/build/static': Nie ma takiego pliku ani katalogu
make: [makefile-clean/static] Błąd 1 (zignorowany)
rm -f debian/stamp-autotools/static
rmdir --ignore-fail-on-non-empty debian/stamp-makefile-build debian/stamp-makefile-install
rmdir: nie udało się usunąć `debian/stamp-makefile-build': Nie ma takiego pliku ani katalogu
rmdir: nie udało się usunąć `debian/stamp-makefile-install': Nie ma takiego pliku ani katalogu
make: [makefile-clean] Błąd 1 (zignorowany)
rmdir --ignore-fail-on-non-empty debian/stamp-makefile-check
rmdir: nie udało się usunąć `debian/stamp-makefile-check': Nie ma takiego pliku ani katalogu
make: [makefile-clean] Błąd 1 (zignorowany)
rmdir --ignore-fail-on-non-empty debian/stamp-autotools
rmdir: nie udało się usunąć `debian/stamp-autotools': Nie ma takiego pliku ani katalogu
make: [makefile-clean] Błąd 1 (zignorowany)
dh_autoreconf_clean
for i in ./build-aux/config.guess ./build-aux/config.sub ; do \
if test -e $i.cdbs-orig ; then \
mv $i.cdbs-orig $i ; \
fi ; \
done
dh_clean
rm -f debian/cdbs-install-list debian/cdbs-package-list debian/stamp-copyright-check
rm -f debian/stamp-autotools-files
cd debian/build && \
rm -f intltool-extract intltool-merge intltool-update po/.intltool-merge-cache; \
if test -d doc; then find doc -name '*.omf.out' -exec rm -f \{\} \; ; fi; \
if test -d help; then find help -name '*.omf.out' -exec rm -f \{\} \; ; fi
/bin/sh: 1: cd: can't cd to debian/build
# gross kludge to force control generation with the %.in target
touch debian/control.in
rm -f debian/libgtk-3-0-dbg.links debian/libgtk-3-0.install debian/libgtk-3-0.links debian/libgtk-3-0.postinst debian/libgtk-3-0.postrm debian/libgtk-3-0.triggers debian/libgtk-3-0-udeb.install debian/libgtk-3-bin.install debian/libgtk-3-bin.links debian/libgtk-3-dev.install debian/libgtk-3-dev.links debian/libgtk-3-0-dbg.links debian/gtk-3-examples.install debian/gir1.2-gtk-3.0.install debian/libgail-3-0.install debian/libgail-3-dev.install debian/libgtk-3-common.install debian/libgtk-3-common.preinst debian/libgtk-3-doc.doc-base.gdk debian/libgtk-3-doc.doc-base.gtk debian/libgtk-3-doc.install debian/libgtk-3-doc.links debian/libgtk-3-0-udeb.install
dpkg-source -b gtk+3.0-3.2.3
dpkg-source: info: używania formatu źródeł "3.0 (quilt)"
dpkg-source: info: budowanie gtk+3.0, używając istniejącego ./gtk+3.0_3.2.3.orig.tar.xz
dpkg-source: ostrzeżenie: prawa dostępu 0755 wykonywalnego pliku "config.status" nie będą dołączone do pliku różnic
dpkg-source: ostrzeżenie: prawa dostępu 0755 wykonywalnego pliku "libtool" nie będą dołączone do pliku różnic
dpkg-source: ostrzeżenie: prawa dostępu 0755 wykonywalnego pliku "config.lt" nie będą dołączone do pliku różnic
dpkg-source: info: local changes detected, the modified files are:
gtk+3.0-3.2.3/Makefile
gtk+3.0-3.2.3/build/Makefile
gtk+3.0-3.2.3/build/win32/Makefile
gtk+3.0-3.2.3/build/win32/vs10/Makefile
gtk+3.0-3.2.3/build/win32/vs9/Makefile
gtk+3.0-3.2.3/config.h
gtk+3.0-3.2.3/config.log
gtk+3.0-3.2.3/config.lt
gtk+3.0-3.2.3/config.status
gtk+3.0-3.2.3/demos/Makefile
gtk+3.0-3.2.3/demos/gtk-demo/Makefile
gtk+3.0-3.2.3/demos/gtk-demo/geninclude.pl
gtk+3.0-3.2.3/demos/pixbuf-demo/Makefile
gtk+3.0-3.2.3/docs/Makefile
gtk+3.0-3.2.3/docs/reference/Makefile
gtk+3.0-3.2.3/docs/reference/gdk/Makefile
gtk+3.0-3.2.3/docs/reference/gtk/Makefile
gtk+3.0-3.2.3/docs/reference/libgail-util/Makefile
gtk+3.0-3.2.3/docs/tools/Makefile
gtk+3.0-3.2.3/examples/Makefile
gtk+3.0-3.2.3/gail-3.0-uninstalled.pc
gtk+3.0-3.2.3/gail-3.0.pc
gtk+3.0-3.2.3/gdk-3.0.pc
gtk+3.0-3.2.3/gdk/Makefile
gtk+3.0-3.2.3/gdk/broadway/Makefile
gtk+3.0-3.2.3/gdk/gdkconfig.h
gtk+3.0-3.2.3/gdk/quartz/Makefile
gtk+3.0-3.2.3/gdk/tests/Makefile
gtk+3.0-3.2.3/gdk/wayland/Makefile
gtk+3.0-3.2.3/gdk/win32/Makefile
gtk+3.0-3.2.3/gdk/win32/rc/Makefile
gtk+3.0-3.2.3/gdk/x11/Makefile
gtk+3.0-3.2.3/gtk+-3.0-uninstalled.pc
gtk+3.0-3.2.3/gtk+-3.0.pc
gtk+3.0-3.2.3/gtk+-unix-print-3.0.pc
gtk+3.0-3.2.3/gtk-zip.sh
gtk+3.0-3.2.3/gtk/Makefile
gtk+3.0-3.2.3/gtk/a11y/Makefile
gtk+3.0-3.2.3/gtk/tests/Makefile
gtk+3.0-3.2.3/libgail-util/Makefile
gtk+3.0-3.2.3/libtool
gtk+3.0-3.2.3/m4macros/Makefile
gtk+3.0-3.2.3/modules/Makefile
gtk+3.0-3.2.3/modules/engines/Makefile
gtk+3.0-3.2.3/modules/engines/ms-windows/Makefile
gtk+3.0-3.2.3/modules/engines/ms-windows/Theme/Makefile
gtk+3.0-3.2.3/modules/engines/ms-windows/Theme/gtk-3.0/Makefile
gtk+3.0-3.2.3/modules/engines/pixbuf/Makefile
gtk+3.0-3.2.3/modules/input/Makefile
gtk+3.0-3.2.3/modules/printbackends/Makefile
gtk+3.0-3.2.3/modules/printbackends/cups/Makefile
gtk+3.0-3.2.3/modules/printbackends/file/Makefile
gtk+3.0-3.2.3/modules/printbackends/lpr/Makefile
gtk+3.0-3.2.3/modules/printbackends/papi/Makefile
gtk+3.0-3.2.3/modules/printbackends/test/Makefile
gtk+3.0-3.2.3/perf/Makefile
gtk+3.0-3.2.3/po-properties/Makefile
gtk+3.0-3.2.3/po-properties/Makefile.in
gtk+3.0-3.2.3/po-properties/POTFILES
gtk+3.0-3.2.3/po/Makefile
gtk+3.0-3.2.3/po/Makefile.in
gtk+3.0-3.2.3/po/POTFILES
gtk+3.0-3.2.3/stamp-h1
gtk+3.0-3.2.3/tests/Makefile
gtk+3.0-3.2.3/tests/a11y/Makefile
gtk+3.0-3.2.3/tests/css/Makefile
gtk+3.0-3.2.3/tests/css/parser/Makefile
gtk+3.0-3.2.3/tests/reftests/Makefile
dpkg-source: info: you can integrate the local changes with dpkg-source --commit
dpkg-source: błąd: aborting due to unexpected upstream changes, see /tmp/gtk+3.0_3.2.3-1.diff.4LfEGQ
dpkg-buildpackage: błąd: dpkg-source -b gtk+3.0-3.2.3 zwrócił status błędu 2
Co do fakeroot to nie ma znaczenia bo kompiluję jako root.
: 25 stycznia 2012, 16:13
autor: mariaczi
I przeczytałeś do końca komunikat i zauważyłeś trzy ostatnie linijki
Kod: Zaznacz cały
dpkg-source: info: you can integrate the local changes with dpkg-source --commit
dpkg-source: błąd: aborting due to unexpected upstream changes, see /tmp/gtk+3.0_3.2.3-1.diff.4LfEGQ
dpkg-buildpackage: błąd: dpkg-source -b gtk+3.0-3.2.3 zwrócił status błędu 2
i wiesz zatem co należy zrobić.
Nie? Przeczytaj aż do zrozumienia.
: 26 stycznia 2012, 11:52
autor: giaur
Gdy robię tak jak proponuje
Yampress, dając dodatkowo:
otrzymuję komunikat, że źródła są już skonfigurowane i że należy wykonać:
Jeśli wykonam:
znowu każe mi robić:
tak jak poprzednio. Czyli błędne koło.
: 26 stycznia 2012, 12:15
autor: Yampress
Ewentualnie przeprowadzić samemu debianizację pakietu.
: 26 stycznia 2012, 15:08
autor: mariaczi
giaur pisze:Ty też nic na ten temat nie wiesz, więc po co się odzywasz w temacie, w którym nie masz nic do powiedzenia?
Żadna złośliwość. I pakiety swoje też buduję, jak mi potrzeba.
Gdzie w poprzednim swoim poście wspomniałeś, że wykonujesz to polecenie a mimo to błąd "nie znika". Precyzja... ma znaczenie.