From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.sergiodj.net (mail.sergiodj.net [167.114.15.217]) by sourceware.org (Postfix) with ESMTPS id CB7223834E6C for ; Thu, 2 Jun 2022 02:23:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CB7223834E6C Received: from localhost (unknown [IPv6:2607:f2c0:ed84:8f1:9239:5588:fa40:d08f]) by mail.sergiodj.net (Postfix) with ESMTPSA id EF7C3A00E3 for ; Wed, 1 Jun 2022 22:23:41 -0400 (EDT) From: Sergio Durigan Junior To: elfutils-devel@sourceware.org Subject: debuginfod & Debian source packages X-URL: http://blog.sergiodj.net Date: Wed, 01 Jun 2022 22:23:41 -0400 Message-ID: <87tu93kdle.fsf@sergiodj.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Status: No, score=-3.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: elfutils-devel@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Elfutils-devel mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jun 2022 02:23:44 -0000 --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi, I'm the maintainer of debuginfod.debian.net (currently offline due to a hardware issue :-/). The service provides only debuginfo for now, but I would like to start indexing the source code of each package as well. I know that Fedora has the "debugsource" RPM package which makes things easier, but after talking to some Debian/Ubuntu Developers they were (understandably) not happy with the idea of implementing a similar solution for deb packages. I'm now thinking about an alternative solution to this problem. Debian source packages already contain everything needed to be indexed and served to debuginfo consumers; it has the full source code + all the downstream patches. It's represented by a .dsc file that can be fed to dget(1) which will download the source tarball and apply all the patches automatically. Do you think we can teach debuginfod to consume these files and do the right thing when indexing the source code of each package? I'm not entirely familiar with how debuginfod does things behind the scenes, but initially I thought something along the following lines: 1) Obtain the .dsc file which corresponds to the -dbgsym package being analysed; 2) Use dget(1) to obtain its corresponding source + patches, then index everything. 3) Compress the source tree and store it somewhere, associating the compressed file with the build-id(s) of the -dbgsym file. (Is this really necessary? Not sure.) 4) When a build-id request comes in, we serve the debuginfo from the -dbgsym file and decompress the source tarball corresponding to it, serving whatever files are needed. I'd assume that this is similar to what debuginfod already does for Fedora's -debugsource packages. This is a "back-of-the-napkin" thought about how to adjust debuginfod for Debian/Ubuntu, but of course I'd like to hear your opinion as well. Thanks, =2D-=20 Sergio GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36 Please send encrypted e-mail if possible https://sergiodj.net/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEI3pUsQKHKL8A7zH00Ot2KGX8XjYFAmKYHy0ACgkQ0Ot2KGX8 Xjazbw//WHW1hXQ32C2DVofsVoqUP5Iu4bFc2Bbx5IaKil2ImBFYVqX067k4TNlF J8monP4SJuNqTvh3yQgeBnOq+NlyvwLp6Knt1BgXXmMSdYyRDAFMhmiUEU8oZpKw 2tVDqmTiAux7/FTWl3ggZzWfYgsbxspURjLFxYaMHa/d0Nyd9klYcxLDqwBKuh3v zdx7CEWjwgCklFLZJ+fegnRXrnYiYKzBDo8Sp5A839asmm9BGqXZTKpbLQhlHVm6 ALwiz3UjuQLLps5bC46Zr4sg35fdSZqd7FDDzGk2v2NFmok7En9FjcM7uXU/nlSp U/eK2BSnjGY0XZHJC44eGxD0FtAX4Hy55grULXyW3f/k5y3lIeyNHEuXHip2AIn/ dDv9VWT3agnlntLbWghJodzlem7+uBxSj7bHJLY0xgXx3EOKGnXITGgm42eYs4BZ nWktKndBtKmMpdfPpIQSo7p/W8YbuGRUxGvp6FClDSXTPXV3GkaluRrriRm0s3AW +e6+/50E8pUdm6GrIdDKNnf3EfrpfvW8ymVO1K3k+tmxfo4vNsc0oIuVNeplBi+q 3/bnOwwJX+WPrdliAEJA/yyvSoD1HmPx4Wi1mNUtFLALdiAgYPNcOZgkY5G8dv/e ldngTTFe548shPiaXG1gvLFYdOsmF2SANRboMAPd36q9ogxJn7c= =pBbD -----END PGP SIGNATURE----- --=-=-=--