From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6463342265335021568 X-Received: by 10.25.195.206 with SMTP id t197mr755623lff.40.1505724006930; Mon, 18 Sep 2017 01:40:06 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 10.46.66.22 with SMTP id p22ls146823lja.44.gmail; Mon, 18 Sep 2017 01:40:06 -0700 (PDT) X-Google-Smtp-Source: AOwi7QA6fR6lLAk4xyGtCiyFNu8kfX43DGwPWXn3DJm+zyxzBMnCSefVssOayJSkF3ERw+jqz8qn X-Received: by 10.46.82.9 with SMTP id g9mr1242524ljb.42.1505724006673; Mon, 18 Sep 2017 01:40:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1505724006; cv=none; d=google.com; s=arc-20160816; b=mQ26zUagvGTBhGiB8HCU+MRQJ2qGB+cHIvnz/emumWklblmOqhRclhOzA3ybQG1ovf MW4KA6cZjHGzVNIZado5xBdgTgeQq61YquPk44igkzLMkNL9NpnTct1c9/doXzCjUbvl E/kCcSrzmR55xkkWC3jT6msiFo1tpN6SU20jWp9KSoRJAiBd19PRuD5rsV3RzudW6V7B i5hQ1NPy/jWgbyxH9zQ9oPEQlVHcNbGSDDtGYB6SIReWfc4Jn1SYhDfsARud73dq7ih4 uNNMVSoa73NEcXVpysRRDu1reERhiXL1NMzEL4Zs9KscIM1EFfX89/tgaECilzcfZdt0 WpPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:to:subject :arc-authentication-results; bh=IpX7IEg7N73HE5LLwJbTb3xz/wUeEIApiXWaANyMiv8=; b=xU4SY7s28C93fpT5FCUmKvNyC1f4VL+6ZKuWfmzsbwwBB/EDbv0dpCqRcn+RDv4Nkc VBBlZNdC6o44PGkf091rn9d9NQvk3iToEgGBGzLMPbeEDa2HTDpT/abt3IxYM26N34Q9 zrSUt7JPj3h7Rbz87PyKr27+i4T3PbIX/LDZF2Xx7K+MPqYbJYAR0/noKfcoSQlGQ2Qe 69d+PSFfUh0AM9F2LYfuMUNmIj3lnBOE/9CSqlqtNMqmhaynZcyukLCmjaRd/lP4kp0L fcYgVwHcIP3G5s+dw5k2QJICAEK1+LqiNFpN3a7mPhVDHBUTO7luq1KZ7ehk+HQgiMxp 8KAQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=asmirnov@ilbers.de Return-Path: Received: from aqmola.ilbers.de (aqmola.ilbers.de. [85.214.62.211]) by gmr-mx.google.com with ESMTPS id j4si517331wmi.2.2017.09.18.01.40.06 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 18 Sep 2017 01:40:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) client-ip=85.214.62.211; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=asmirnov@ilbers.de Received: from [10.0.2.15] ([188.227.110.165]) (authenticated bits=0) by aqmola.ilbers.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id v8I8e4XL005091 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Mon, 18 Sep 2017 10:40:05 +0200 Subject: Re: [PATCH 4/4] doc: Update technical overview To: Henning Schild , isar-users@googlegroups.com References: From: Alexander Smirnov Message-ID: <88dc69e0-9c1e-8f69-6fb4-b59db3f99c4e@ilbers.de> Date: Mon, 18 Sep 2017 11:39:58 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-TUID: 0omk13hzSHha On 09/15/2017 01:51 PM, Henning Schild wrote: > The introduction of 'dpkg-raw' opens new ways to create custom packages. > Cover that in the overview. > > Signed-off-by: Henning Schild > --- > doc/technical_overview.md | 44 ++++++++++++++++++++++++++++++-------------- > 1 file changed, 30 insertions(+), 14 deletions(-) > > diff --git a/doc/technical_overview.md b/doc/technical_overview.md > index e83cbd0..f8ed9ee 100644 > --- a/doc/technical_overview.md > +++ b/doc/technical_overview.md > @@ -24,7 +24,7 @@ executing process. Recipes in Isar can be split in two categories: > infrastructure, manages Debian tools execution for package building and > installation, generation root file system images > > - - User recipes: custom user applications, that should be builе from sources > + - User recipes: custom user applications, that can be built from sources > > There are two types of dependencies in Isar: > > @@ -155,26 +155,42 @@ here: `meta-isar/recipes-core/images/files`, and it implements `do_build` task. > > ## 3.4 Building Custom Packages > > -Isar provides possibility to build Debian packages from sources. This features > -works with Debian-like source packages, i.e. the source code tree should > -contain debian folder. The build process is implemented in > -`meta/classes/dpkg.bbclass` and consists from the following steps: > +Isar provides the possibility to build Debian packages from sources. This > +features works with Debian-like source packages, i.e. the source code tree features -> feature > +should contain debian folder. This build process is implemented in > +`meta/classes/dpkg.bbclass`. > > -1. Task `do_fetch`: fetch source code from external link > +Another way of creating Debian packages is implemented in > +`meta/classes/dpkg-raw.bbclass`. This class can be used for customizations that > +are not based on source code that should become a package. > > -2. Task `do_unpack`: unpack source code to `${WORKDIR}` > +Both consist of the following steps: > > -3. Task `do_build`: mount folder with source code to buildchroot, switch > - to buildchroot using chroot command and run `build.sh` script. The > - `build.sh` script performs the following: > +1. Task `do_fetch`: fetch files from external links > > - 1. Go to `/home/build/${PN}` > +2. Task `do_unpack`: unpack those files to `${WORKDIR}` > > - 2. Get list of dependencies from debian/control and install them using apt. > +3. Task `do_populate_package` _only_ for `dpkg-raw`: copy all you want in your > + debian package to `${D}`, install hooks in `${D}/DEBIAN` > > - 3. Run dpkg-buildpackage > +4. Task `do_build`: mount folder with unpacked files to buildchroot, execute > + the actual build function `dpkg_runbuild`, and finally umount again > > -4. Task `do_install`: install successfully built packages > + 4.1. the `dpkg_runbuild` function of `dpkg.bbclass` runs `build.sh` in the > + buildchroot. That performs the following: > + > + 1. Go to `/home/build/${PN}` > + > + 2. Get list of dependencies from debian/control and install them. This line is terminated by full stop, while others aren't. The rest is ok for me, can fix these issues during merge. Alex > + > + 3. Run dpkg-buildpackage > + > + 4.2. the `dpkg_runbuild` function of `dpkg-raw.bbclass` basically runs > + `dpkg-deb` to construct a Debian package from a folder of files, > + without compiling anything > + > + > +5. Task `do_install`: install successfully built packages > `${WORKDIR}/*.deb` to deploy directory `${DEPLOY_DIR_DEB}` > > ## 3.5 Populate Target Filesystem >