Я загрузил linux-source-2.6.35 пакет и попытался скомпилировать его с помощью команды "fakeroot, делают-kpkg - добавляют к версии =. dbg kernel_image kernel_source kernel_headers - initrd" после "делают menuconfig".
Изображение .deb файл производится и устанавливает прекрасный, но ошибка останавливает процесс сборки при попытке сделать исходный пакет:
scripts/Makefile.clean:17: /home/ade/linux-source-2.6.35/debian/linux-source-2.6.35.10.dbg/usr/src/linux-source-2.6.35.10.dbg/crypto/Makefile: No such file or directory
make[1]: *** No rule to make target `/home/ade/linux-source-2.6.35/debian/linux-source-2.6.35.10.dbg/usr/src/linux-source-2.6.35.10.dbg/crypto/Makefile'. Stop.
make: *** [_clean_crypto] Error 2
Конечно же, папка linux-source-2.6.35/debian/linux-source-2.6.35.10.dbg/usr/src/linux-source-2.6.35.10.dbg/crypto не существует (хотя все другие исходные папки ядра, кажется, там). Я даже не смог определить, где папка, как предполагается, копируется, или что, как предполагается, вызывает чистый. Я делаю что-то не так здесь? Нужно отметить, что я работаю 10.04.
Один из скриптов пакета ядра не работал правильно, поэтому он пытался скопировать crypto.master и не смог. Ниже приведен патч, который я сделал, чтобы исправить его, хотя пакет с исходным кодом все еще не включает папки debian и debian.master вне архива tar, как официальные пакеты с исходным кодом ядра Ubuntu.
--- /usr/share/kernel-package/ruleset/targets/source.mk 2009-08-21 09:47:53.000000000 -0400
+++ /usr/share/kernel-package/ruleset/targets/source.mkmod 2011-02-28 14:42:22.000000000 -0500
@@ -64,12 +64,10 @@ debian/stamp/install/$(s_package):
####
######################################################################
ifneq ($(strip $(int_follow_symlinks_in_src)),)
- -tar cfh - $(echo * | sed -e 's/ debian//g' -e 's/\.deb//g' ) | \
- (cd $(SRCDIR); umask 000; tar xpsf -)
+ -(umask 000; find . -mindepth 1 -maxdepth 1 -not -name '*.deb' -not -name 'debian*' -exec cp -Lr {} $(SRCDIR) \;; )
(cd $(SRCDIR)/include; rm -rf asm ; )
else
- -tar cf - $(echo * | sed -e 's/ debian//g' -e 's/\.deb//g' ) | \
- (cd $(SRCDIR); umask 000; tar xspf -)
+ -(umask 000; find . -mindepth 1 -maxdepth 1 -not -name '*.deb' -not -name 'debian*' -exec cp -r {} $(SRCDIR) \;; )
(cd $(SRCDIR)/include; rm -f asm ; )
endif
$(install_file) debian/changelog $(SRCDIR)/Debian.src.changelog