Procházet zdrojové kódy

spec: generate proper debuginfo packages

%setup macro must be present in %prep to set variables required by
find-debuginfo script. Symlink is to place sources in nice
/usr/src/debug/%{name}-%{version} subdir instead of plain /usr/src/debug/core
(which can be ambiguous).
Additionally all packages need to have _builddir pointing at top src dir (in
core-dom0 it was dom0 subdir). And to cheat make about current dir (to have
%{name}-%{version} included in path) chdir must be done by shell, not make - so
can't use make -C.
Marek Marczykowski před 11 roky
rodič
revize
29d2b2e369
2 změnil soubory, kde provedl 26 přidání a 6 odebrání
  1. 13 2
      rpm_spec/core-libs.spec
  2. 13 4
      rpm_spec/core-vm.spec

+ 13 - 2
rpm_spec/core-libs.spec

@@ -42,9 +42,16 @@ BuildRequires: xen-devel
 %description
 The Qubes core libraries for installation inside a Qubes Dom0 and VM.
 
+%prep
+# we operate on the current directory, so no need to unpack anything
+# symlink is to generate useful debuginfo packages
+rm -f %{name}-%{version}
+ln -sf . %{name}-%{version}
+%setup -T -D
+
 %build
-make -C u2mfn
-make -C vchan -f Makefile.linux
+(cd u2mfn; make)
+(cd vchan; make -f Makefile.linux)
 
 %install
 install -D -m 0644 vchan/libvchan.h $RPM_BUILD_ROOT/usr/include/libvchan.h
@@ -54,6 +61,10 @@ install -D -m 0644 u2mfn/u2mfn-kernel.h $RPM_BUILD_ROOT/usr/include/u2mfn-kernel
 install -D vchan/libvchan.so $RPM_BUILD_ROOT/%{_libdir}/libvchan.so
 install -D u2mfn/libu2mfn.so $RPM_BUILD_ROOT/%{_libdir}/libu2mfn.so
 
+%clean
+rm -rf $RPM_BUILD_ROOT
+rm -f %{name}-%{version}
+
 %files
 %{_libdir}/libvchan.so
 %{_libdir}/libu2mfn.so

+ 13 - 4
rpm_spec/core-vm.spec

@@ -56,11 +56,19 @@ BuildRequires: xen-devel
 %description
 The Qubes core files for installation inside a Qubes VM.
 
+%prep
+# we operate on the current directory, so no need to unpack anything
+# symlink is to generate useful debuginfo packages
+rm -f %{name}-%{version}
+ln -sf . %{name}-%{version}
+%setup -T -D
+
 %build
-make -C vchan -f Makefile.linux
-make -C misc
-make -C qubes_rpc
-make -C qrexec
+(cd vchan; make -f Makefile.linux)
+(cd qrexec; make)
+for dir in qubes_rpc misc; do
+  (cd $dir; make)
+done
 
 %pre
 
@@ -357,6 +365,7 @@ fi
 
 %clean
 rm -rf $RPM_BUILD_ROOT
+rm -f %{name}-%{version}
 
 %files
 %defattr(-,root,root,-)