On 31 May 2015 at 04:14, Ben Hutchings <ben@xxxxxxxxxxxxxxx> wrote: > On Thu, 2015-05-28 at 12:11 +0300, riku.voipio@xxxxxxxxxx wrote: >> From: Riku Voipio <riku.voipio@xxxxxxxxxx> >> >> By passing BUILD_SOURCE=y variable, make deb-pkg builds a debian source >> package. It will generate a minimal debian/rules file that calls back >> to make deb-pkg. Generated source package will build the same kernel >> .config than what was available for make deb-pkg. >> >> The source package is useful for gpl compliance, or for feeding to a >> automated debian package builder. >> >> v2, address Maximilians comments >> >> - Isolate from my other patches, so it can be merged easier >> - Separate bindeb-pkg target for building just binary debs >> - Build source package in deb-pkg target to match rpm-pkg target > [...] >> --- a/scripts/package/builddeb >> +++ b/scripts/package/builddeb >> @@ -265,12 +265,16 @@ On Debian GNU/Linux systems, the complete text of the GNU General Public >> License version 2 can be found in \`/usr/share/common-licenses/GPL-2'. >> EOF >> >> + >> +build_depends="bc, kmod, cpio, python " > Why python? I recall seeing python called sometimes in kernel build, and it's alsoin debian kernel build-depends. However, a quick git grep suggests this would be ia64 only. >> # Generate a control file >> cat <<EOF > debian/control >> Source: linux-upstream >> Section: kernel >> Priority: optional >> Maintainer: $maintainer >> +Build-Depends: $build_depends >> Standards-Version: 3.8.4 >> Homepage: http://www.kernel.org/ >> EOF >> @@ -391,4 +395,33 @@ EOF >> create_package "$dbg_packagename" "$dbg_dir" >> fi >> >> +if [ "x$1" = "xdeb-pkg" ] >> +then >> + cat <<EOF > debian/rules >> +#!/usr/bin/make -f >> + >> +build: >> + cp debian/config .config >> + \$(MAKE) oldconfig >> + >> +binary-arch: >> + \$(MAKE) KDEB_PKGVERSION=${packageversion} deb-pkg > > This should invoke the bindeb-pkg target. good catch, will fix. >> +clean: >> + \$(MAKE) clean >> + >> +binary: binary-arch >> +EOF >> + >> + (cd $KBUILD_SRC; git archive --prefix=linux-upstream-${version}/ HEAD)|gzip -9 > ../linux-upstream_${version}.orig.tar.gz > Not xz? (Which would add a build-dependency, of course.) I tried to keep this as universally usable as possible. Can we assume xz installed these days? In debian/ubuntu yes, but do we want to cater users of other distributions as well? > Ben. > >> + cp $KCONFIG_CONFIG debian/config >> + tar caf ../linux-upstream_${packageversion}.debian.tar.gz debian/{config,copyright,rules,changelog,control} >> + dpkg-source -cdebian/control -ldebian/changelog --format="3.0 (custom)" --target-format="3.0 (quilt)" \ >> + -b / ../linux-upstream_${version}.orig.tar.gz ../linux-upstream_${packageversion}.debian.tar.gz >> + mv linux-upstream_${packageversion}*dsc .. >> + dpkg-genchanges > ../linux-upstream_${packageversion}_${debarch}.changes >> +else >> + dpkg-genchanges -b > ../linux-upstream_${packageversion}_${debarch}.changes >> +fi >> + >> exit 0 > > -- > Ben Hutchings > Reality is just a crutch for people who can't handle science fiction. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html