Re: [Rpm-maint] [rpm-software-management/rpm] RPM fsverity support (#1203)

2020-05-29 Thread jessorensen
I have pushed an updated patchset into the repo. I think it addresses 
everything we discussed, including getting rid of the LENGTH and BLKSZ tags, 
adding the --delfilesign option to rpmsign, and switches to base64 encoding.

Let me know if you find anything else that needs addressing or if I messed up 
and forgot something.

The changes to fsverity-utils went into the official tree earlier this week, so 
just waiting for a new release to be tagged before I can push an update into 
rawhide.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1203#issuecomment-636215427___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RPM fsverity support (#1203)

2020-05-29 Thread jessorensen
@jessorensen commented on this pull request.



> + rpmlog(RPMLOG_DEBUG, "fsverity not supported by file system for 
> %s\n",
+  path);
+   break;
+   case EOPNOTSUPP:
+   rpmlog(RPMLOG_DEBUG, "fsverity not enabled on file system for %s\n",
+  path);
+   break;
+   case ETXTBSY:
+   rpmlog(RPMLOG_DEBUG, "file is open by other process %s\n",
+  path);
+   break;
+   default:
+   rpmlog(RPMLOG_DEBUG, "failed to enable verity (errno %i) for %s\n",
+  errno, path);
+   break;
+   }

I went through this and changed it to return RPMRC_FAIL for all cases, except 
for the error cases where fsverity is not enabled or supported by the file 
system. I think it's fair to fail hard and ugly for the cases where the 
signature is malformed etc.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1203#discussion_r432761349___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RPM fsverity support (#1203)

2020-05-29 Thread jessorensen
@jessorensen commented on this pull request.



> @@ -430,6 +438,10 @@ typedef enum rpmSigTag_e {
 RPMSIGTAG_SHA256   = RPMTAG_SHA256HEADER,
 RPMSIGTAG_FILESIGNATURES   = RPMTAG_SIG_BASE + 18,
 RPMSIGTAG_FILESIGNATURELENGTH  = RPMTAG_SIG_BASE + 19,
+RPMSIGTAG_VERITYSIGNATURES = RPMTAG_SIG_BASE + 20,
+RPMSIGTAG_VERITYSIGNATURELENGTH= RPMTAG_SIG_BASE + 21,
+RPMSIGTAG_VERITYSIGNATUREALGO  = RPMTAG_SIG_BASE + 22,
+RPMSIGTAG_VERITYSIGNATUREBLKSZ = RPMTAG_SIG_BASE + 23,

OK I see your point. It isn't unreasonable to count on page size for this and 
mandate that it is up to the file system to cope if the file system block size 
and page size don't match. I will take out this tag.

I also have the base64 encoding/decoding working now, which allowed me to get 
rid of the signature length tag.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1203#discussion_r432724168___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Approved: l10n: zh_TW: update translation (#1237)

2020-05-29 Thread pan93412
@pan93412 pushed 1 commit.

78286c9d5044a53c16f7669764b31fbd36797788  l10n: zh_TW: fix the issues in 
translation


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1237/files/9b056de66b76cace442440d51b618a56310f2f69..78286c9d5044a53c16f7669764b31fbd36797788
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Automatic (sub)package generators (#329)

2020-05-29 Thread ニール・ゴンパ
Ah, I forgot that he talked about it too.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/329#issuecomment-635976924___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Automatic (sub)package generators (#329)

2020-05-29 Thread darix
no Florian gave a talk about it. 
https://media.ccc.de/v/2501-re-thinking-spec-files

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/329#issuecomment-635973588___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Automatic (sub)package generators (#329)

2020-05-29 Thread ニール・ゴンパ
It is the thing that @ignatenkobrain and I were talking about last year, yes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/329#issuecomment-635972856___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Automatic (sub)package generators (#329)

2020-05-29 Thread darix
Isn't this basically the template idea that was presented at the opensuse 
conference in 2019?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/329#issuecomment-635971284___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Automatic (sub)package generators (#329)

2020-05-29 Thread ニール・ゴンパ
cc: @hroncok This is something we should look toward for next-gen Python 
packaging stuff.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/329#issuecomment-635866347___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Automatic (sub)package generators (#329)

2020-05-29 Thread Dan Čermák
cc: @scarabeusiv @darix @coolo This could be relevant for subpackage generation 
for Ruby and Python in openSUSE/SLE.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/329#issuecomment-635865633___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RPM fsverity support (#1203)

2020-05-29 Thread Panu Matilainen
@pmatilai commented on this pull request.



> + rpmlog(RPMLOG_DEBUG, "fsverity not supported by file system for 
> %s\n",
+  path);
+   break;
+   case EOPNOTSUPP:
+   rpmlog(RPMLOG_DEBUG, "fsverity not enabled on file system for %s\n",
+  path);
+   break;
+   case ETXTBSY:
+   rpmlog(RPMLOG_DEBUG, "file is open by other process %s\n",
+  path);
+   break;
+   default:
+   rpmlog(RPMLOG_DEBUG, "failed to enable verity (errno %i) for %s\n",
+  errno, path);
+   break;
+   }

Returning FAIL here will fail the package install (which isn't pretty, but 
sometimes necessary). The exact semantics of when its okay to ignore failure 
are case-dependent and subject to debate and often practical experiences too. I 
think it's unreasonable to expect getting this 100% right from the go, consider 
this feedback more of a guideline than specific demands: silencing and/or 
ignoring an error should always be an exception to the rule.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1203#discussion_r432348210___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] Announcing POPT upstream reboot and 1.18 release candidate (DRAFT)

2020-05-29 Thread Panu Matilainen



At the time of the rpm.org upstream reboot back in 2006 [1], the idea 
was to split out popt from the rpm codebase and then ... something. Only 
we were too busy dealing with rpm itself and popt got left behind. The 
last popt release is from 2010 and about a year ago it's download site 
dropped off the net. People have been prodding us about this for some 
time now, popt being a mandatory dependency of rpm but also used by 
several other prominent OSS projects such as Samba, SSSD and Gnome. So 
after heroic efforts of Neal Gompa to convert the rusty old CVS (anybody 
still remember *that* horror?) repo into a nice shiny git repo, here goes.


From now on, popt will be maintained under the rpm-software-management 
umbrella at https://github.com/rpm-software-management/popt where bugs 
can be reported and pull-requests submitted, with release tarball on 
ftp.rpm.org.


To accompany the launch there's also a new 1.18 release in the pipeline:

http://ftp.rpm.org/releases/testing/popt-1.18-rc1.tar.gz [2]

Much like with rpm itself back in the day, this first release is all 
about collecting existing fixes and cleaning up the codebase, starting 
with the last widely used 1.16 release as the basis. There are no new 
features in this release or in the immediate plans, time will tell where 
this all will lead.


There will be a release notes page for the final release, but for now 
the executive summary of changes is:
- fix an ugly and ancient security issue with popt failing to drop 
privileges on alias exec from a SUID/SGID program

- perform rudimentary sanity checks when reading in popt config files
- collect accumulated misc fixes from distros etc
- dust off ten years worth of autotools sediment
- reorganize and clean up the source tree for clarity
- remove the obnoxious splint annotations from the sources

1.18-rc1 is supposed to be ABI and API compatible with 1.16, and unless 
something unexpected happens, will be released as 1.18 final within a 
month or so. If you can, give it a spin and let us know.


On behalf of the rpm-team,

- Panu -

[1] http://lists.rpm.org/pipermail/rpm-announce/2006-December/05.html
[2] SHA256: 2ba1769489e6eddb6b2969d4de5e8fc855fb668c411d8bc002042c14708e682c

___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] RPM 4.16.0 beta1 released!

2020-05-29 Thread Panu Matilainen



The gap between alpha and beta was longer than usual because we were 
waiting for bug reports for the new sqlite backend from wider exposure 
in Fedora. After two months, we figured we can't wait forever. Zero 
filed bugs is almost certainly too good to be entirely true, but it's a 
not a bad situation either.


In the meanwhile, on top of the usual assorted fixes and minor 
enhancements, the highligh since the alpha is that rpm expressions 
gained native version comparison powers and new version parsing and 
comparison API was added to C and Python.


Download info and the usual, including updated details and examples on 
the new expression capabilities of 4.16 at:


https://rpm.org/wiki/Releases/4.16.0

Enjoy!

On behalf of rpm-team,

- Panu -

___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RPM fsverity support (#1203)

2020-05-29 Thread Panu Matilainen
@pmatilai commented on this pull request.



>  if (deleting) {  /* Nuke all the signature tags. */
deleteSigs(sigh);
+   deleteFileSigs(sigh);

Yeah, having a single option for both types of file signatures should be plenty.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1203#discussion_r432294404___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RPM fsverity support (#1203)

2020-05-29 Thread Panu Matilainen
@pmatilai commented on this pull request.



> +}
+
+rpmlog(RPMLOG_DEBUG, _("key: %s\n"), key);
+rpmlog(RPMLOG_DEBUG, _("cert: %s\n"), cert);
+
+compr = headerGetString(h, RPMTAG_PAYLOADCOMPRESSOR);
+rpmio_flags = rstrscat(NULL, "r.", compr ? compr : "gzip", NULL);
+
+gzdi = Fdopen(fdDup(Fileno(fd)), rpmio_flags);
+free(rpmio_flags);
+if (!gzdi)
+   rpmlog(RPMLOG_DEBUG, _("Fdopen() failed\n"));
+
+files = rpmfilesNew(NULL, h, RPMTAG_BASENAMES, RPMFI_FLAGS_QUERY);
+fi = rpmfiNewArchiveReader(gzdi, files,
+  RPMFI_ITER_READ_ARCHIVE_OMIT_HARDLINKS);

Ok, good to know.
Absolutely not expecting any such work to be part of this effort, just musing 
about possibilities. It's useful to be at least aware of the 
possibilities/consequences from the go.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1203#discussion_r432291739___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RPM fsverity support (#1203)

2020-05-29 Thread Panu Matilainen
@pmatilai commented on this pull request.



> @@ -430,6 +438,10 @@ typedef enum rpmSigTag_e {
 RPMSIGTAG_SHA256   = RPMTAG_SHA256HEADER,
 RPMSIGTAG_FILESIGNATURES   = RPMTAG_SIG_BASE + 18,
 RPMSIGTAG_FILESIGNATURELENGTH  = RPMTAG_SIG_BASE + 19,
+RPMSIGTAG_VERITYSIGNATURES = RPMTAG_SIG_BASE + 20,
+RPMSIGTAG_VERITYSIGNATURELENGTH= RPMTAG_SIG_BASE + 21,
+RPMSIGTAG_VERITYSIGNATUREALGO  = RPMTAG_SIG_BASE + 22,
+RPMSIGTAG_VERITYSIGNATUREBLKSZ = RPMTAG_SIG_BASE + 23,

Allowing for options (eg at distro level) is not the issue, the real issue is 
that for this to be a generally meaningful feature for rpm at all, these 
signatures need to be architecture and filesystem independent. For rpm it's all 
the same whether the block size is big or small as long as its consistent 
across all architectures, we can't have essentially arch-specific signatures in 
a noarch package. So this seems like quite a deal-breaker to me, unless I'm 
misunderstanding something (which is certainly possible).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1203#discussion_r432288920___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint