Thread: How are debuginfo packages generated?
Hello,
For quite some time, I've been building lightly modified PGDG packages, but I have never figured how PGDG's yum repo gets debuginfo packages. When I have built them, unless I hack up the spec file to have "%debug_package" I do not get such a debuginfo package. Clearly, that is not how the spec files work as-is in pgrpms.
Yet, I know that PGDG's yum repositories have no problem getting debuginfo packages. How do you get them?
Thanks,
Daniel
On 6 January 2018 at 06:30, Daniel Farina <daniel@citusdata.com> wrote:
-- Hello,For quite some time, I've been building lightly modified PGDG packages, but I have never figured how PGDG's yum repo gets debuginfo packages. When I have built them, unless I hack up the spec file to have "%debug_package" I do not get such a debuginfo package. Clearly, that is not how the spec files work as-is in pgrpms.
How do you invoke rpmbuild?
I get debuginfo packages. I build srpms then rpmbuild --rebuild them. Usually using mock, though moving toward docker these days so I can use the same toolchain for my debian build pipeline too.
On Fri, Jan 5, 2018 at 9:50 PM Craig Ringer <craig@2ndquadrant.com> wrote:
On 6 January 2018 at 06:30, Daniel Farina <daniel@citusdata.com> wrote:Hello,For quite some time, I've been building lightly modified PGDG packages, but I have never figured how PGDG's yum repo gets debuginfo packages. When I have built them, unless I hack up the spec file to have "%debug_package" I do not get such a debuginfo package. Clearly, that is not how the spec files work as-is in pgrpms.How do you invoke rpmbuild?
Via make nopreprpm10.
On Saturday, January 6, 2018 6:52:12 AM CET Daniel Farina wrote: > On Fri, Jan 5, 2018 at 9:50 PM Craig Ringer <craig@2ndquadrant.com> wrote: > > > On 6 January 2018 at 06:30, Daniel Farina <daniel@citusdata.com> wrote: > > > >> Hello, > >> > >> For quite some time, I've been building lightly modified PGDG packages, > >> but I have never figured how PGDG's yum repo gets debuginfo packages. When > >> I have built them, unless I hack up the spec file to have "%debug_package" > >> I do not get such a debuginfo package. Clearly, that is not how the spec > >> files work as-is in pgrpms. > >> > > > > How do you invoke rpmbuild? > > > > Via make nopreprpm10. I've never heard about nopreprpm10, but it is more important to say where you build the package because debuginfo generator is tightly dependant on the _setup_ in packages like 'rpm', 'redhat-rpm-config', etc. Have a look at `rpm --eval %debug_package` output to see what happens there, and to see why it is needed. Then, study your system/user rpm macros. On my system (Fedora 27 x86_64), there's is (in /usr/lib/rpm/redhat/macros): ... %install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package}}}\ %%install\ %{nil} ... . so the %debug_package content is automatically hooked right before %install by default, but only if %_enable_debug_packages is defined (the default though). Then, you need to have all the stuff done correctly in %__debug_install_post (namely /usr/lib/rpm/find-debuginfo.sh should be %called) but this appears to be OK on your system. Pavel
On Fri, Jan 5, 2018 at 10:48 PM Pavel Raiskup <praiskup@redhat.com> wrote:
On Saturday, January 6, 2018 6:52:12 AM CET Daniel Farina wrote:
> On Fri, Jan 5, 2018 at 9:50 PM Craig Ringer <craig@2ndquadrant.com> wrote:
>
> > On 6 January 2018 at 06:30, Daniel Farina <daniel@citusdata.com> wrote:
> >
> >> Hello,
> >>
> >> For quite some time, I've been building lightly modified PGDG packages,
> >> but I have never figured how PGDG's yum repo gets debuginfo packages. When
> >> I have built them, unless I hack up the spec file to have "%debug_package"
> >> I do not get such a debuginfo package. Clearly, that is not how the spec
> >> files work as-is in pgrpms.
> >>
> >
> > How do you invoke rpmbuild?
> >
>
> Via make nopreprpm10.
I've never heard about nopreprpm10, but it is more important to say where
you build the package because debuginfo generator is tightly dependant on
the _setup_ in packages like 'rpm', 'redhat-rpm-config', etc.
Have a look at `rpm --eval %debug_package` output to see what happens
there, and to see why it is needed. Then, study your system/user rpm macros.
On my system (Fedora 27 x86_64), there's is (in /usr/lib/rpm/redhat/macros):
Seems to me _enable_debug_packages is not "1" on Amazon Linux, nor is that hook in in /usr/lib/rpm/redhat/macros, though that can be from simple divergence of sorts. I also have a Fedora 27 to compare to. I wonder how the PGDG repository did this on the older Amazon Linux it supported? Did it?
I'll bark up that tree for a while. Thanks.
Hi, On Mon, 2018-01-08 at 23:50 +0000, Daniel Farina wrote: > I wonder how the PGDG repository did this on the older Amazon Linux it > supported? Did it? Amazon Linux were using RHEL 6 RPMs -- I did not build them on Amazon Linux. :) Regards, -- Devrim Gündüz EnterpriseDB: https://www.enterprisedb.com PostgreSQL Consultant, Red Hat Certified Engineer Twitter: @DevrimGunduz , @DevrimGunduzTR
Attachment
On Mon, Jan 8, 2018 at 3:50 PM Daniel Farina <daniel@citusdata.com> wrote:
On Fri, Jan 5, 2018 at 10:48 PM Pavel Raiskup <praiskup@redhat.com> wrote:On Saturday, January 6, 2018 6:52:12 AM CET Daniel Farina wrote:
> On Fri, Jan 5, 2018 at 9:50 PM Craig Ringer <craig@2ndquadrant.com> wrote:
>
> > On 6 January 2018 at 06:30, Daniel Farina <daniel@citusdata.com> wrote:
> >
> >> Hello,
> >>
> >> For quite some time, I've been building lightly modified PGDG packages,
> >> but I have never figured how PGDG's yum repo gets debuginfo packages. When
> >> I have built them, unless I hack up the spec file to have "%debug_package"
> >> I do not get such a debuginfo package. Clearly, that is not how the spec
> >> files work as-is in pgrpms.
> >>
> >
> > How do you invoke rpmbuild?
> >
>
> Via make nopreprpm10.
I've never heard about nopreprpm10, but it is more important to say where
you build the package because debuginfo generator is tightly dependant on
the _setup_ in packages like 'rpm', 'redhat-rpm-config', etc.
Have a look at `rpm --eval %debug_package` output to see what happens
there, and to see why it is needed. Then, study your system/user rpm macros.
On my system (Fedora 27 x86_64), there's is (in /usr/lib/rpm/redhat/macros):Seems to me _enable_debug_packages is not "1" on Amazon Linux, nor is that hook in in /usr/lib/rpm/redhat/macros, though that can be from simple divergence of sorts. I also have a Fedora 27 to compare to. I wonder how the PGDG repository did this on the older Amazon Linux it supported? Did it?I'll bark up that tree for a while. Thanks.
I did that, and adding this to .rpmmacros does the deed:
%install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package}}}\
%%install\
%{nil}
I also had to place augment my rpmbuild definitions with an additional '--define "_enable_debug_packages 1"'
I'm baffled how Amazon packages go about providing debuginfo, seeing as how these facilities have been changed(?). I haven't investigated it.