From: Claudius Heine <claudius.heine.ext@siemens.com>
To: isar-users@googlegroups.com
Cc: Silvano Cirujano Cuesta <silvano.cirujano-cuesta@siemens.com>
Subject: Re: [RFC PATCH 0/3] Reproducible build
Date: Wed, 6 Jun 2018 16:20:56 +0200 [thread overview]
Message-ID: <88bd9482-62f3-fe31-28ed-12ccd607db5a@siemens.com> (raw)
In-Reply-To: <ecf9bc79-f100-befe-0d1c-8bebd07d02cb@siemens.com>
Hi,
On 2018-06-06 11:17, [ext] Claudius Heine wrote:
> Hi,
>
> On 2018-06-05 12:42, [ext] Claudius Heine wrote:
>> Hi,
>>
>> On 2018-06-04 18:05, [ext] Claudius Heine wrote:
>>> I will try to post a small graphic about this soon.
>>
>> I attached the design Jan and me came up with yesterday.
>>
>> Hopefully its understandable enough even with all those arrows
>> pointing around. I tried to vary the arrow lines and heads to signify
>> dependencies/execution order, using of repositories and deploying
>> packages to the repositories.
>>
>> The main point about this is that it will work with apt preferences
>> repository pinning and that we will try to move all installed packages
>> to the local cache after every step.
>>
>> I highlighted the new components in the diagram as green and the
>> changed components as light green.
>>
>> If this is the way we want to go then I would try to get a RFC
>> patchset started.
>
> Unfortunately 'apt-move' has some bugs that make usage with debootstrap
> near impossible without some patches.
>
> The required patches to solve this issue were posted to the debian
> mailinglist 5 years ago, so I guess that will not be merged in the near
> future [1]. This means apt-move is pretty much dead.
>
> So we have to find a different solution or need to implement it ourselves.
I did some further research into the different solutions for creating
apt repositories:
0. apt-move
- Would fit our usage very well, but this is effectively dead and
cannot be used, because of the unfixed bugs and some missing
features.
1. reprepro
- We are using in in isar already, but development there seems to be
a bit stale [1].
- Fetching the corresponding source packages would need to be
implemented by us.
2. apt-ftparchive or dpkg-scanpackages
- Can be used to generate Package and Release files, but does not
care about creating the pool directory structure
- We could implement the missing functionality as well as fetching
the corresponding source packages ourselves.
3. mini_dinstall
- Implementation of a repository management daemon supporting the
official maintenance cycle.
- Submitting of package to be added to the repository is done with
.changes files, that are generated by building source packages.
We would have to generate those files ourselves. But I think
that this might get awkward to implement around.
4. aptly
- Implemented in Go. I am a bit reluctant of using Go projects,
because my experiences have shown that Go applications have the
tendency to not care much about reproducibility and stable
maintenance. (Importing code directly from github urls without
even enforcing commitids???)
5. pulp
- Focused on RPM and Puppet, has DEB support with the Note:
"WARNING: There may be bugs."
I looked at other products as well, but most are just unmaintained for a
long time or doesn't solve our issues (mrepo, local-apt-repository).
If we don't find a solution that does not require any implementation
ourselves, then I would prefer implementing the missing functionality in
python instead of shell, with the hope that it becomes easier to maintain.
Claudius
[1] https://tracker.debian.org/pkg/reprepro
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-54 Fax: (+49)-8142-66989-80 Email: ch@denx.de
next prev parent reply other threads:[~2018-06-06 14:20 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-22 11:55 Idea for implementing reproducible builds Claudius Heine
2018-05-22 13:47 ` Andreas Reichel
2018-05-22 14:24 ` Claudius Heine
2018-05-22 22:32 ` Baurzhan Ismagulov
2018-05-23 8:22 ` Claudius Heine
2018-05-23 11:34 ` Claudius Heine
2018-06-04 11:48 ` Baurzhan Ismagulov
2018-05-23 6:32 ` [RFC PATCH 0/3] Reproducible build claudius.heine.ext
2018-05-23 6:32 ` [RFC PATCH 1/3] meta/isar-bootstrap-helper+dpkg.bbclass: bind mount /var/cache/apt/archives claudius.heine.ext
2018-05-23 6:32 ` [RFC PATCH 2/3] meta/classes/image: added isar_bootstrap_tarball task claudius.heine.ext
2018-05-23 6:32 ` [RFC PATCH 3/3] meta/isar-bootstrap: add 'do_restore_from_tarball' task claudius.heine.ext
2018-05-23 14:30 ` [RFC PATCH 0/3] Reproducible build Maxim Yu. Osipov
2018-05-23 15:20 ` Claudius Heine
2018-05-24 16:00 ` Henning Schild
2018-05-25 8:10 ` Claudius Heine
2018-05-25 11:57 ` Maxim Yu. Osipov
2018-05-25 17:04 ` Claudius Heine
2018-06-04 11:37 ` Baurzhan Ismagulov
2018-06-04 16:05 ` Claudius Heine
2018-06-05 10:42 ` Claudius Heine
2018-06-06 9:17 ` Claudius Heine
2018-06-06 14:20 ` Claudius Heine [this message]
2018-06-07 8:50 ` Baurzhan Ismagulov
2018-06-07 8:08 ` Maxim Yu. Osipov
2018-06-11 8:45 ` Claudius Heine
2018-06-11 13:51 ` Claudius Heine
2018-06-14 8:50 ` Claudius Heine
2018-06-20 4:20 ` Maxim Yu. Osipov
2018-06-20 8:12 ` Claudius Heine
2018-05-23 13:26 ` [RFC PATCH v2 " claudius.heine.ext
2018-05-23 13:26 ` [RFC PATCH v2 1/3] meta/isar-bootstrap-helper+dpkg.bbclass: bind mount /var/cache/apt/archives claudius.heine.ext
2018-05-23 13:26 ` [RFC PATCH v2 2/3] meta/classes/image: added isar_bootstrap_tarball task claudius.heine.ext
2018-05-23 13:26 ` [RFC PATCH v2 3/3] meta/isar-bootstrap: add 'do_restore_from_tarball' task claudius.heine.ext
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=88bd9482-62f3-fe31-28ed-12ccd607db5a@siemens.com \
--to=claudius.heine.ext@siemens.com \
--cc=isar-users@googlegroups.com \
--cc=silvano.cirujano-cuesta@siemens.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox