From: Jan Kiszka <jan.kiszka@siemens.com>
To: Henning Schild <henning.schild@siemens.com>
Cc: isar-users <isar-users@googlegroups.com>
Subject: Re: [PATCH 1/7] dpkg-raw: Respect file permissions defined by recipe
Date: Mon, 7 Jan 2019 19:56:03 +0100 [thread overview]
Message-ID: <504cb0ab-b762-f63a-a077-343ae9012682@siemens.com> (raw)
In-Reply-To: <20190107185153.48ff9b83@md1za8fc.ad001.siemens.net>
On 07.01.19 18:51, Henning Schild wrote:
> Am Mon, 7 Jan 2019 17:54:26 +0100
> schrieb Jan Kiszka <jan.kiszka@siemens.com>:
>
>> On 07.01.19 17:28, Henning Schild wrote:
>>> Am Mon, 7 Jan 2019 15:26:16 +0100
>>> schrieb Jan Kiszka <jan.kiszka@siemens.com>:
>>>
>>>> On 07.01.19 15:20, Jan Kiszka wrote:
>>>>> On 07.01.19 15:19, Henning Schild wrote:
>>>>>> Am Mon, 7 Jan 2019 14:28:47 +0100
>>>>>> schrieb Jan Kiszka <jan.kiszka@siemens.com>:
>>>>>>
>>>>>>> On 07.01.19 14:20, Henning Schild wrote:
>>>>>>>> Am Wed, 2 Jan 2019 12:34:11 +0100
>>>>>>>> schrieb Jan Kiszka <jan.kiszka@siemens.com>:
>>>>>>>>> From: Jan Kiszka <jan.kiszka@siemens.com>
>>>>>>>>>
>>>>>>>>> dh_fixperms overwrites the permissions do_install defined
>>>>>>>>> carefully. Skip this step to avoid that.
>>>>>>>>>
>>>>>>>>> Fixes: f301ccb2b5b1 ("meta/dpkg-raw: build raw packages like
>>>>>>>>> all others") CC: Henning Schild <henning.schild@siemens.com>
>>>>>>>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>>>>>>>>> ---
>>>>>>>>> meta/classes/dpkg-raw.bbclass | 4 +++-
>>>>>>>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>>>>>>>
>>>>>>>>> diff --git a/meta/classes/dpkg-raw.bbclass
>>>>>>>>> b/meta/classes/dpkg-raw.bbclass index 8d11433..10fb1b9 100644
>>>>>>>>> --- a/meta/classes/dpkg-raw.bbclass
>>>>>>>>> +++ b/meta/classes/dpkg-raw.bbclass
>>>>>>>>> @@ -56,9 +56,11 @@ EOF
>>>>>>>>> deb_create_rules() {
>>>>>>>>> cat << EOF > ${S}/debian/rules
>>>>>>>>> #!/usr/bin/make -f
>>>>>>>>> +
>>>>>>>>> +override_dh_fixperms:
>>>>>>>>> +
>>>>>>>>> %:
>>>>>>>>> dh \$@
>>>>>>>>> -
>>>>>>>>
>>>>>>>> I think it is not a good idea to do that in general. While you
>>>>>>>> might have found an example where dh_fixperms caused problems,
>>>>>>>> there are probably many where it helps. Say people use "cp" to
>>>>>>>> fill ${D} or "echo" to fill ${D}/bin/
>>>>>>>
>>>>>>> I'm open for better suggestions.
>>>>>>
>>>>>> The suggestion is to do that in the one recipe that you need it
>>>>>> for, and not touch the general case.
>>>>>
>>>>> ...except for causing that regression: Keep in mind that we used
>>>>> to respect permissions defined by the user before the switch to
>>>>> packaging via Debian!
>>>
>>> True, but there is a changelog section that even tells users how to
>>> disable certain dhs for their recipes.
>>>
>>>> To make my issue more concrete: Consider you want to package
>>>> secrets this way. Then it would be rather ugly to even temporary
>>>> have them group or even work readable during packaging and
>>>> installation - in case you suggestion should be to adjust the
>>>> permissions in a postinst.
>>>
>>> Having secrets in your repo and build process would be ugly as well,
>>> many spots where they could leak. So i do not think that is a good
>>> example.
>>> And i am not talking about a postinst, but a rules file that does
>>> exactly what yours does. See what example-raw does for dh_usrlocal,
>>> if you bring your rules you do not get the defaults.
>>> Looking at the man-page i see a lot of "removes permission", where
>>> documentation seems to be the only exception. Again secret does not
>>> seem to be a good example. (except you place it in
>>> usr/share/doc ;) )
>>>
>>> What exactly is your motivation for the change?
>>
>> Allow to ship files that are not world-readable by defaults. That's a
>> pretty common pattern, e.g. to add pre-generated keys, certificates,
>> wifi passwords etc.
>
> I think i got that but i am not sure how they would become world
> readable, not from the man-page nor from the code. Except you got the
> location "wrong". So a full path example with the permissions before
> and after is what i was asking for.
>
I started the patch for packages that populate {/home/$USER,/root}/.ssh, but I'm
sure you can reproduce that with any file targeting /etc as well - e.g. one that
exploits [1]. I'm now deploying wifi keys via such an unversioned local.inc.
Jan
[1]
https://github.com/siemens/jailhouse-images/commit/ad96bb52835fb4b2723733b49b6dca3fc19e81de
--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux
next prev parent reply other threads:[~2019-01-07 18:56 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-02 11:34 [PATCH 0/7] Vacation hacks Jan Kiszka
2019-01-02 11:34 ` [PATCH 1/7] dpkg-raw: Respect file permissions defined by recipe Jan Kiszka
2019-01-07 13:20 ` Henning Schild
2019-01-07 13:28 ` Jan Kiszka
2019-01-07 14:19 ` Henning Schild
2019-01-07 14:20 ` Jan Kiszka
2019-01-07 14:26 ` Jan Kiszka
2019-01-07 16:28 ` Henning Schild
2019-01-07 16:54 ` Jan Kiszka
2019-01-07 17:51 ` Henning Schild
2019-01-07 18:56 ` Jan Kiszka [this message]
2019-01-09 15:37 ` Baurzhan Ismagulov
2019-01-10 1:19 ` Jan Kiszka
2019-01-15 8:19 ` Jan Kiszka
2019-01-15 10:10 ` Baurzhan Ismagulov
2019-01-15 10:13 ` Jan Kiszka
2019-01-02 11:34 ` [PATCH 2/7] bootimg-efi-isar: Run grub-mkimage without own config Jan Kiszka
2019-01-07 13:22 ` Henning Schild
2019-01-07 14:02 ` Jan Kiszka
2019-01-02 11:34 ` [PATCH 3/7] bootimg-efi-isar: Retrieve boot disk during runtime Jan Kiszka
2019-01-02 11:34 ` [PATCH 4/7] isar-cfg-localepurge: Also set /etc/default/locale Jan Kiszka
2019-01-02 11:34 ` [PATCH 5/7] Fix LIC_FILES_CHKSUM paths Jan Kiszka
2019-01-02 11:34 ` [PATCH 6/7] Move repo variables to proper conf file Jan Kiszka
2019-01-02 11:34 ` [PATCH 7/7] Move debian distro conf files to meta Jan Kiszka
2019-01-04 13:49 ` [PATCH 8/7] bootimg-efi-isar: Fix serial console setup for grub Jan Kiszka
2019-01-04 13:50 ` [PATCH 9/7] bootimg-efi-isar: Reformat generated grub.cfg Jan Kiszka
2019-01-07 6:06 ` [PATCH 10/7] bitbake.conf: Clean up and enhance OVERRIDES Jan Kiszka
2019-01-07 8:17 ` Claudius Heine
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=504cb0ab-b762-f63a-a077-343ae9012682@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=henning.schild@siemens.com \
--cc=isar-users@googlegroups.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