2011/12/5 Roger Oberholtzer <roger@opq.se>:
On Mon, 2011-12-05 at 20:28 +0100, jdd wrote:
Le 05/12/2011 16:55, Roger Oberholtzer a écrit :
I would like to install 12.1 on a spare partition in a rather quick manner
why do you bother really?
I need to be sure that 12.1 compiles our applications. There are issues, for example, with changes to the IEEE1394 API interface to cameras that we must resolve. After all these things are sorted out, then I can boot and use 12.1.
osc build list
Roger, You seem to be doing this the hard way. Have you experimented with "osc build"? The opensuse-packaging list is probably the best place to discuss it if you have questions. Or maybe opensuse-buildservice? It does a really nice job of creating a chroot jail to build in. You can tell it which distro you want to build with and it creates a entire build directory tree full of all the relevant tools. It will even check the OBS repos to see if you have all the lastest tools. So if you are building against 12.1 updates as an example, it will pull down any updates your missing. That is it will pull them down into the jail. Not into your main OS. It defaults to building against factory, but it can build against any of the main OBS repos you have registered. With one of my projects: list is not a valid repository, use one of: devel_languages_perl_openSUSE_11.4, devel_languages_perl_openSUSE_12.1, devel_languages_perl_openSUSE_Factory, Fedora_14, openSUSE_11.3, openSUSE_11.4, openSUSE_12.1, openSUSE_Factory, openSUSE_Tumbleweed_standard, security_openSUSE_12.1, security_openSUSE_Factory, SLES_9, SLE_10, SLE_11 ================================ You can easily control which repos are available. Several non-openSUSE repos are available to build against. (Note Fedora in the above list, ubuntu is also in the potential list.). fyi: by default "osc build" needs a public instance of your package at build.opensuse.org, but osc build can also build without having a public copy on build.opensuse.org:
osc build --local-package openSUSE_12.1
Should do that for you. Assuming you code is not GPL, it should not be on build.opensuse.org, but that should not stop you from using the great build env. opensuse has created over the years. osc is a opensuse developed tool. You should get to know it a little, but it does so much it can be a bit overwhelming even after you've been using it for a while. Here's the help info for just the build sub-command: =============================================
osc help build build: Build a package on your local machine
You need to call the command inside a package directory, which should be a buildsystem checkout. (Local modifications are fine.) The arguments REPOSITORY and ARCH can be taken from the first two columns of the 'osc repos' output. BUILD_DESCR is either a RPM spec file, or a Debian dsc file. The command honours packagecachedir, build-root and build-uid settings in .oscrc, if present. You may want to set su-wrapper = 'sudo' in .oscrc, and configure sudo with option NOPASSWD for /usr/bin/build. If neither --clean nor --noinit is given, build will reuse an existing build-root again, removing unneeded packages and add missing ones. This is usually the fastest option. If the package doesn't exist on the server please use the --local-package option. If the project of the package doesn't exist on the server please use the --alternative-project <alternative-project> option: Example: osc build [OPTS] --alternative-project openSUSE:10.3 standard i586 BUILD_DESCR usage: osc build [OPTS] REPOSITORY ARCH BUILD_DESCR osc build [OPTS] REPOSITORY (ARCH = hostarch, BUILD_DESCR is detected automatically) osc build [OPTS] ARCH (REPOSITORY = build_repository (config option), BUILD_DESCR is detected automatically) osc build [OPTS] BUILD_DESCR (REPOSITORY = build_repository (config option), ARCH = hostarch) osc build [OPTS] (REPOSITORY = build_repository (config option), ARCH = hostarch, BUILD_DESCR is detected automatically) # Note: # Configuration can be overridden by envvars, e.g. # OSC_SU_WRAPPER overrides the setting of su-wrapper. # OSC_BUILD_ROOT overrides the setting of build-root. # OSC_PACKAGECACHEDIR overrides the setting of packagecachedir. Options: -h, --help show this help message and exit --oldpackages=DIR take previous build from DIR (special values: _self, _link) --disable-cpio-bulk-download disable downloading packages as cpio archive from api --release=N set release number of the package to N -b, --baselibs Create -32bit/-64bit/-x86 rpms for other architectures --disable-debuginfo disable build of debuginfo packages -d, --debuginfo also build debuginfo sub-packages --alternative-project=PROJECT specify the build target project --vm-type=TYPE use VM type TYPE (e.g. kvm) --linksources use hard links instead of a deep copied source --local-package build a package which does not exist on the server --build-uid=uid:gid|"caller" specify the numeric uid:gid pair to assign to the unprivileged "abuild" user or use "caller" to use the current user uid:gid --userootforbuild Run build as root. The default is to build as unprivileged user. Note that a line "# norootforbuild" in the spec file will invalidate this option. --define='X Y' define macro X with value Y --without=X disable feature X for build --with=X enable feature X for build --ccache use ccache to speed up rebuilds --icecream=N use N parallel build jobs with icecream -j N, --jobs=N Compile with N jobs --root=ROOT Build in specified directory -x PAC, --extra-pkgs=PAC Add this package when installing the build-root -k DIR, --keep-pkgs=DIR Save built packages into this directory -p DIR, --prefer-pkgs=DIR Prefer packages from this directory when installing the build-root --noservice, --no-service Skip run of local source services as specified in _service file. --no-verify Skip signature verification of packages used for build. (Global config in .oscrc: no_verify) --nochecks, --no-checks Do not run post build checks on the resulting packages. --noinit, --no-init Skip initialization of build root and start with build immediately. --overlay=OVERLAY Copy overlay filesystem to buildroot after installing all RPMs . --rsync-dest=RSYNCDESTPATH Copy folder to buildroot after installing all RPMs. Use together with --rsync-src. This is the path on the TARGET filesystem e.g. /usr/src/packages/BUILD/linux-2.6 . --rsync-src=RSYNCSRCPATH Copy folder to buildroot after installing all RPMs. Use together with --rsync-dest. This is the path on the HOST filesystem e.g. /tmp/linux-kernel-tree. It defines RSYNCDONE 1 . --no-changelog don't update the package changelog from a changes file -l, --preload Preload all files into the chache for offline operation -o, --offline Start with cached prjconf and packages without contacting the api server --clean Delete old build root before initializing it ===================================================== Good Luck Greg -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org