[opensuse] Re: openSUSE build & testing procedure and faulty pruning of builds causing rpmbuild failures
Brian K. White wrote:
If the _spec_ file tried to delete files that it didn't create, in your main system's real absolute path, that might be a packaging error, or maybe not, because a package is always designed for some context, and when you use it outside of that specific context, you are on your own.
If just for example, you try to install a redhat rpm on suse, it may or may not work, but even if it not only doesn't work but kills your box, it's your fault. Whatever it did would have worked on the redhat system it was meant for. =====
Beautiful example. Now, would you expect that if you had an up-to-date 12.1 system with official 12.1 packages installed -- including (since you want to build samba, the "devel" packages produced by that package), that it should fail? Or are you saying we need something as different as RedHat v SuSE to do builds of the binaries on our openSuSE systems from their source RPM's? Do you do any development on linux or build source packages -- sometimes the source RPM, but more often, from downloading the tarball, and using the packages configure/Makefile scripts? Let's say you do, (cuz if you don't, then you would be unlikely to firmly understand the issues involved here, ;^) ). Is your system more likely to have the devel packages installed for the packages you build, or do you expect to install in a VM or chroot environment and install all the packages you need each time you do a build with only it's specific requirements loaded into the VM? Now understand that you've been building suse packages from their source RPM's since V7.3 -- a bit over 10 years, and it's worked on suse systems from past generations, but now you can no longer generate on a system with all the requirements installed -- you have to prune off all unnecessary stuff from your system, now as well, because suse doesn't allow for the complete package building -- it's only providing partial packages that require you don't have various packages/pieces installed. it's source RPM since
When you write a script and it works, and then you try to stick it in a cron job and it doesn't work, that's not cron's fault for "setting up a sterile environment". That sterile environment is the only way to get any sort of sanity, predictability and consistency. --- Are you saying the suse packages have no more intelligence than cron?
Cron isn't a tool designed for 1 specific job. It's a general purpose tool designed to support almost any addin. So it's requirements have to be minimal. But I don't expect to have to remove 'vi' in order to run Cron, nor any packages for it to DO ITS JOB. rpmbuild is quite different from a general package -- using a specfile, it is very specific to being able to rebuild the binary packages your system came with so you can fix problems or change things (create patches, etc). But if you are not allowed to have, say patch creation software installed when you build things, because patch creation isn't required to build your package, how do you do development?
How can you not know this, as a over 10 years experienced linux user?
--- I know it's guaranteed to be give you minimal testing for an organization who's job is to package all those things together and make them work. What it *sounds* like is that openSuSE is no longer a development / build environment -- that is supported to work to build it's own RPM's. What's the point in having such a development environment if it can't build the packages -- NOT because it has another distro installed, but because it has the distro's packages installed that you are building for. It's a very feeble build system. Does configure require that (not that I know how to write a configure script!) -- but generally, it was hoped it would be runnable on almost any supported system -- from windows, to linux, to BSD to VMS. We aren't just talking 1 flavor of linux, nor are we talking about some artificially stripped build environment -- we are talking about completely different OS's -- that's what gnu has brought to many platforms. Yet a distro vendor goes in complete the opposite direction -- not even supporting builds on their own distro if you have *too many* of it's own packages installed.... You call that Normal? How can you have built anything on linux and not know how alien this is? Cheers! 𝓛𝓲𝓷𝓭𝓪 -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Fri, Jul 20, 2012 at 12:17 AM, Linda Walsh
What it *sounds* like is that openSuSE is no longer a development / build environment -- that is supported to work to build it's own RPM's.
Linda,
You are tilting a windmills and you know it.
openSUSE has moved to a new build paradigm and you are complaining the
old one no longer works and you can't use it to build the distro
pieces.
I think this thread (series of threads) have made is clear the core
set of openSUSE maintianers simply don't care if the old legacy way
still works or not.
openSUSE has invested great effort into obs and they are properly
proud of it. I think OBS is one of the crown jewels of opensuse.
The normal way from my perspective to build a package is to checkout a
local copy of the package from OBS and use "osc build" to build it.
You've argued that since that interacts with OBS it isn't satisfactory.
It is untested for me but working with a source tarball this should
work in isolation from OBS.
mkdir ~/osc
mkdir ~/osc/my_local_projects
cd ~/osc/my_local_projects
osc importsrcpkg <source rpm> --local-package
cd <package>
osc build --local-package
I don't use the --local-package option, so I don't know if the above
works, but questions / bugzillas / feature requests related to the
above are more likely to get positive response than harping on about a
methodology that is not used by the opensuse maintainers to build
packages.
I do have confidence that if you drop the --local-package options and
assuming you have your OBS account initialized (by logging into OBS
one time) and you have internet access then something like the above
will work except it is more like:
mkdir ~/osc
cd ~/osc
osc co home:
Hello, On Fri, 20 Jul 2012, Greg Freemyer wrote:
openSUSE has moved to a new build paradigm and you are complaining the old one no longer works and you can't use it to build the distro pieces.
It works and you can. -dnh -- So Linus, what are we doing tonight? The same thing we do every night Tux. Try to take over the world! -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Fri, Jul 20, 2012 at 06:14:53AM -0400, Greg Freemyer wrote:
On Fri, Jul 20, 2012 at 12:17 AM, Linda Walsh
wrote: What it *sounds* like is that openSuSE is no longer a development / build environment -- that is supported to work to build it's own RPM's.
Linda,
You are tilting a windmills and you know it.
openSUSE has moved to a new build paradigm and you are complaining the old one no longer works and you can't use it to build the distro pieces.
This paradigm you describe is the one we live for ... I do not know ... over 10 years now, at least for as long as I am with SUSE (10 years). That rpmbuild works within a system was always optional. Patches are welcome btw. Ciao, Marcus -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Marcus Meissner wrote:
On Fri, Jul 20, 2012 at 06:14:53AM -0400, Greg Freemyer wrote:
On Fri, Jul 20, 2012 at 12:17 AM, Linda Walsh
wrote: What it *sounds* like is that openSuSE is no longer a development / build environment -- that is supported to work to build it's own RPM's. Linda,
You are tilting a windmills and you know it.
openSUSE has moved to a new build paradigm and you are complaining the old one no longer works and you can't use it to build the distro pieces.
This paradigm you describe is the one we live for ... I do not know ... over 10 years now, at least for as long as I am with SUSE (10 years).
That rpmbuild works within a system was always optional. Patches are welcome btw.
Could you point the sources and documentation for the tools you use to produce binary & source RPM's, *OTHER* than rpmbuild? What packages don't need to have rpmbuild installed in the buildroot in order to build their RPM's? Unless you show evidence to the contrary, I would submit that rpmbuild is currently used to build rpm's as part of the OBS. I don't think there has ever been any question whether or not rpmbuild was used or supported. The issue is about what is already installed in your build environment. [Open]SuSE, if you remember, rarely used BuildRequires before suse10. Separate "-devel" packages weren't widely used if at all sometime before 10 or 9. It was assumed they were included by installing the product. Only by stripping out what packages normally include not including what the original "product/project" produces with it's configure and make do you run into to these problems. For that matter, it used to be that doc packages were usually not separate either. If OSC/OSB is required to build a distro, why is it not included in the shipped distro binaries and source rpms? What version of OSC/OSB is required to build each release: 11.1 => 12.2? Is this documented and made available for each release? If you don't ship the tools on the distro disks, then you are committing to keeping them online. You may not support SuSE 9.0, However, I don't believe the requirements for supplying the tools and sources to build that release expire -- as the GPL doesn't say that sources to binaries can be unavailable if it is more than 'n' years past their initial release date. That wouldn't be in the spirit of including (or making available) all the sources and tools necessary to build something. At what point did openSuse stop shipping complete sources to build the distro, with the distro? I.e. at what point did you require obs/osc to be the build environment? If isn't already a GPL license issue, is could soon become one if past distro build tools become no longer available. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Saturday 21 July 2012 07:32:42 Linda Walsh wrote:
to build that release expire -- as the GPL doesn't say that sources to binaries can be unavailable if it is more than 'n' years past their initial release date.
It actually does. Sections 3a and b a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, so you can either ship it immediately, with the binaries, in which case it doesn't have to be made available in any other way for any amount of time, or you can make it available on request, in which case it expires after 3 years, at a minimum. Anders -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Saturday 21 July 2012 07:32:42 Linda Walsh wrote:
On Fri, Jul 20, 2012 at 06:14:53AM -0400, Greg Freemyer wrote:
On Fri, Jul 20, 2012 at 12:17 AM, Linda Walsh
wrote: What it *sounds* like is that openSuSE is no longer a development / build environment -- that is supported to work to build it's own RPM's.
Linda,
You are tilting a windmills and you know it.
openSUSE has moved to a new build paradigm and you are complaining the Separate "-devel" packages weren't widely used if at all sometime before 10 or 9. It was assumed they were included by installing
Marcus Meissner wrote: the product.
By the way, -devel packages started in SuSE Linux Professional 7.1. The build script, which builds packages in a nice and controlled chroot environment, came along in 8.0 -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Anders Johansson wrote:
On Saturday 21 July 2012 07:32:42 Linda Walsh wrote:
Separate "-devel" packages weren't widely used if at all sometime before 10 or 9. It was assumed they were included by installing the product.
By the way, -devel packages started in SuSE Linux Professional 7.1. The build script, which builds packages in a nice and controlled chroot environment, came along in 8.0
Did the chroot environment start empty and only have the minimum requirements copied in for each package, or was it re-used from build to build or do you remember? I.e. when was a pre-generated 'chroot env/Build env' copied in fresh for each build to ensure only the minimum's for each package were installed? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Saturday 21 July 2012 09:04:35 Linda Walsh wrote:
Anders Johansson wrote:
On Saturday 21 July 2012 07:32:42 Linda Walsh wrote:
Separate "-devel" packages weren't widely used if at all
sometime before 10 or 9. It was assumed they were included by installing the product.
By the way, -devel packages started in SuSE Linux Professional 7.1. The build script, which builds packages in a nice and controlled chroot environment, came along in 8.0
--- Did the chroot environment start empty and only have the minimum requirements copied in for each package, or was it re-used from build to build or do you remember? I.e. when was a pre-generated 'chroot env/Build env' copied in fresh for each build to ensure only the minimum's for each package were installed?
First of all, it isn't "only the minimums", it is the list of packages the package maintainer determines are needed in order to generate all the features of the package being built. Other packages are deemed unnecessary and are excluded in order to minimise complexity and avoid complications. Second, the build script had (still has, actually, the script still exists) a parameter -clean which deletes and repopulates the chroot directory so it's up to the builder. As far as I know, the suse build environment always used that, build environments were never reused. But all dependencies needed to generate all features in the package being built should be included. If something is missing (other than copyrighted/patented stuff like multimedia codecs, font hinting and similar) it is a valid bug that will be fixed if reported Anders -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Sat, 21 Jul 2012 09:04:35 -0700, Linda Walsh
Did the chroot environment start empty and only have the minimum requirements copied in for each package, or was it re-used from build to build or do you remember?
AFAIK the buildroot that the internal autobuild set up was always a fresh one. If you use the build script for a local build, it will reuse installed packages as long as they are needed for the next package and you don't explicitly request a clean build root by passing --clean. BTW, that parameter is still valid for 'osc build'. Philipp -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Hello, On Sat, 21 Jul 2012, Philipp Thomas wrote:
On Sat, 21 Jul 2012 09:04:35 -0700, Linda Walsh
wrote: Did the chroot environment start empty and only have the minimum requirements copied in for each package, or was it re-used from build to build or do you remember?
AFAIK the buildroot that the internal autobuild set up was always a fresh one. If you use the build script for a local build, it will reuse installed packages as long as they are needed for the next package and you don't explicitly request a clean build root by passing --clean. BTW, that parameter is still valid for 'osc build'.
'osc build' calls 'build' which calls 'rpmbuild'. And YES, build checks first for any packages not _required_ for the current build (and uninstalls any unneeded stuff), and installs any missing stuff. HTH, -dnh -- Have you ever noticed that the Klingons are all speaking unix? "Grep ls awk chmod." "Mknod ksh tar imap." "Wall fsck yacc!" (that last is obviously a curse of some sort) -- Gandalf Parker -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Sat, 21 Jul 2012 21:19:19 +0200, Philipp Thomas
On Sat, 21 Jul 2012 09:04:35 -0700, Linda Walsh
wrote: If you use the build script for a local build, it will reuse installed packages as long as they are needed for the next package and you don't explicitly request a clean build root by passing --clean.
And I forgot: previously installed versions of the package your'e building are *always* removed before the package is built. Philipp -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Hello, On Sat, 21 Jul 2012, Linda Walsh wrote:
Marcus Meissner wrote: [..]
That rpmbuild works within a system was always optional. Patches are welcome btw. Could you point the sources and documentation for the tools you use to produce binary & source RPM's, *OTHER* than rpmbuild?
Can you not or don't you want to understand Marcus? To build .rpm files, you need rpmbuild (or a very old rpm from before rpmbuild was split off from rpm).
Separate "-devel" packages weren't widely used if at all sometime before 10 or 9. It was assumed they were included by installing the product.
Bulls...! There were plenty of devel packages on S.u.S.E 5.3, they just were called differently, e.g. glib-devel was called glibdev, others had just a 'd' added, e.g. lesstif / lesstifd. And if you don't tell what exactly does not work and with what error- messages, you're on your own. At least I won't help you. -dnh -- \date\everyjob\protect\leavevmode\lower\body\insert\active\fill\eject\relax \bye -- a (La)TeXies view of sex [thanks to: R.Zierke] -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Saturday 21 July 2012 17:11:24 David Haller wrote:
Hello,
On Sat, 21 Jul 2012, Linda Walsh wrote:
Marcus Meissner wrote: [..]
That rpmbuild works within a system was always optional. Patches are welcome btw.
Could you point the sources and documentation for the tools
you use to produce binary & source RPM's, *OTHER* than rpmbuild?
Can you not or don't you want to understand Marcus?
To build .rpm files, you need rpmbuild (or a very old rpm from before rpmbuild was split off from rpm).
Separate "-devel" packages weren't widely used if at all
sometime before 10 or 9. It was assumed they were included by installing the product.
Bulls...! There were plenty of devel packages on S.u.S.E 5.3, they just were called differently, e.g. glib-devel was called glibdev, others had just a 'd' added, e.g. lesstif / lesstifd.
Oh, interesting. I didn't know that. When I checked for my response to the above, I just greped for "devel" in INDEX.gz and 7.1 was the first place I got a hit Your info would explain that. Nice Anders -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (6)
-
Anders Johansson
-
David Haller
-
Greg Freemyer
-
Linda Walsh
-
Marcus Meissner
-
Philipp Thomas