Can't build RPM of xfstests
Eric Sandeen
sandeen at sandeen.net
Mon Oct 20 18:23:52 CDT 2014
On 10/20/14 6:55 AM, Greg Freemyer wrote:
>
>
> On October 19, 2014 11:35:47 PM EDT, Eric Sandeen <sandeen at sandeen.net> wrote:
>> On 10/19/14 8:47 PM, Dave Chinner wrote:
>>> [ cc fstests at vger.kernel.org ]
>>
>> ...
>>
>>>> === rpm ===
>>>> /bin/sed -e's|@pkg_name@|xfstests|g' \
>>>> -e's|@pkg_version@|1.1.1|g' \
>>>> -e's|@pkg_release@|1|g' \
>>>> -e's|@pkg_distribution@|Linux|g' \
>>>> -e's|@build_root@|/tmp/34943|g' \
>>>> -e'/^BuildRoot: *$/d' \
>>>> -e's|@make@|/usr/bin/gmake|g' < xfstests.spec.in >
>> xfstests.spec
>>>> /usr/bin/rpmbuild -ba --rcfile ./rpm-4.rc xfstests.spec
>>>> error: File /root/rpmbuild/SOURCES/xfstests-1.1.1.src.tar.gz: No
>> such file or directory
>>>> gmake[1]: *** [dist] Error 1
>>>
>>> I've never tried to build xfstests packages, so I'd make the
>>> assumption that the package build infrastructure is broken and needs
>>> fixing. That's looking for the tarball in the wrong place. My naive
>>> reading of that is rpmbuild is expecting to run as root, not as a
>>> jenkins user....
>>>
>>> Eric, you're the local RPM expert - any ideas?
>>>
>>> FWIW, I'll take whatever patches you guys come up with that make it
>>> build rpms properly. ;)
>>
>> xfstests rpms have just never been a priority for me. I run it just
>> fine out
>> of a checked-out git repo, and it doesn't require installation; on the
>> other
>> hand, making it palatable for a proper FHS-compliant distro package
>> would
>> require a fair bit of restructuring beyond just the packaging scripts.
>>
>> And... I honestly have no idea how the Makepkgs stuff is supposed to
>> work.
>>
>> I've never been a fan of upstream containing packaging bits anyway;
>> different
>> distros have different requirements, and the Makepkgs script has always
>> seemed
>> weird. RPM/specfiles are supposed to drive the build - the build isn't
>> supposed
>> to drive rpm. I think it'd be best to make a distro-specific specfile
>> which knows how
>> to handle an xfstests tarball. Trying to reverse engineer Makepkgs
>> doesn't sound
>> fun to me; rpmbuild knows how to do this stuff. Dropping a generic RPM
>> specfile
>> into the top level dir would probably be enough to get it off the
>> ground even if
>> it doesn't conform to any particular distro's packaging rules.
>>
>> I think it's up to those who want rpms to dig into this, for now.
>> Dumping all
>> files into /opt/xfstests is probably simplest, since FHS-compliance is
>> probably a
>> long ways off.
>>
>> -Eric
>
> Opensuse is building rpms of 1.1.1 so the build infrastructure isn't
> too badly broken. I don't know if they are following FHS, but I doubt
> they use /opt.
Ok, they put it all into /var/lib - maybe that does satisfy LFS, I dunno.
> The opensuse package/specfile can be found at: https://build.opensuse.org/package/show/filesystems/xfstests
>
> The rpms including the source rpm can be downloaded from:
> http://software.opensuse.org/download.html?project=filesystems&package=xfstests
>
> Note the specfile applies a patch to change the install aspect of the tarball immediately after untar'ing it.
Yep, doesn't do much - s/LTINSTALL/INSTALL/ pretty much.
Looks like a fine place to start.
Rather than using Makepkgs, it may make more sense to just drop a sane generic
.spec file into the top dir, then rpmbuild -ta <tarball> would work.
But then ... we don't distribute xfstests tarballs ... ;)
-Eric
> I don't maintain that so I don't know why the patch is needed.
>
> Greg
>
More information about the xfs
mailing list