Results 1 to 8 of 8

Thread: Get previous version of Source RPM in repository

  1. #1
    Join Date
    Dec 2008
    Location
    Norway
    Posts
    543

    Default Get previous version of Source RPM in repository

    How can I get previous Source RPM versions of GCC5 from a repository?

    I have this repository for OpenSUSE 13.2.
    http://download.opensuse.org/reposit...openSUSE_13.2/

    This repository has upgraded GCC5 to 5.4, while I need the 5.3.1 package, same as OpenSUSE Leap 42.1 and SLES12 uses.

    I tried getting the Source RPM from the Leap_42.1 repository, rebuild it on OpenSUSE 13.2, but was unsuccessful in that regard. Was then thinking perhaps if I could get the previous version from the 13.2 repository I would be able to rebuild the package.

    Not sure why I was not able to compile and build the Source RPM for GCC5 taken from Leap 42.1
    Code:
    Processing files: libmpxwrappers0-5.3.1+r233831-6.1kspt.x86_64
    Provides: libmpxwrappers.so.0()(64bit) libmpxwrappers.so.0(LIBMPXWRAPPERS_1.0)(64bit) libmpxwrappers0 = 5.3.1+r233831-6.1kspt libmpxwrappers0(x86-64) = 5.3.1+r233831-6.1kspt
    Requires(interp): /sbin/ldconfig /sbin/ldconfig
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
    Requires(post): /sbin/ldconfig
    Requires(postun): /sbin/ldconfig
    Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit)
    Conflicts: libmpxwrappers0
    Processing files: libmpxwrappers0-32bit-5.3.1+r233831-6.1kspt.x86_64
    Provides: libmpxwrappers.so.0 libmpxwrappers.so.0(LIBMPXWRAPPERS_1.0) libmpxwrappers0-32bit = 5.3.1+r233831-6.1kspt libmpxwrappers0-32bit(x86-64) = 5.3.1+r233831-6.1kspt
    Requires(interp): /sbin/ldconfig /sbin/ldconfig
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
    Requires(post): /sbin/ldconfig
    Requires(postun): /sbin/ldconfig
    Requires: libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3)
    Conflicts: libmpxwrappers0-32bit
    Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/sverre/rpmbuild/BUILDROOT/gcc5-5.3.1+r233831-6.1kspt.x86_64
    error: Installed (but unpackaged) file(s) found:
       /usr/lib64/gcc/x86_64-suse-linux/5/include-fixed/X11/Xw32defs.h
       /usr/lib64/gcc/x86_64-suse-linux/5/include-fixed/boost/predef/os/linux.h
       /usr/lib64/gcc/x86_64-suse-linux/5/include-fixed/boost/predef/os/unix.h
       /usr/lib64/gcc/x86_64-suse-linux/5/include-fixed/hdf/hdfi.h
       /usr/lib64/gcc/x86_64-suse-linux/5/include-fixed/net-snmp/net-snmp-config.h
       /usr/lib64/gcc/x86_64-suse-linux/5/include-fixed/openssl/bn.h
       /usr/lib64/gcc/x86_64-suse-linux/5/include-fixed/ssl
    I got the same error with libgo, but setting build_go to false solved that.

  2. #2
    Join Date
    Dec 2008
    Location
    Norway
    Posts
    543

    Default Re: Get previous version of Source RPM in repository

    Forgot to mention. I have been trying to build the following gcc5 package on openSUSE 13.2

    http://download.opensuse.org/reposit...31-6.1.src.rpm

    Taken from the Leap 42.1 repository.

  3. #3
    Join Date
    Jun 2008
    Location
    Podunk
    Posts
    26,646
    Blog Entries
    15

    Default Re: Get previous version of Source RPM in repository

    Hi
    Go in and modify the spec file %files section to include the extra files... if using rpmbuild --rebuild it should be down in the SPECS directory.
    Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
    SUSE SLE, openSUSE Leap/Tumbleweed (x86_64) | GNOME DE
    If you find this post helpful and are logged into the web interface,
    please show your appreciation and click on the star below... Thanks!

  4. #4

    Default Re: Get previous version of Source RPM in repository

    Quote Originally Posted by DJViking View Post
    How can I get previous Source RPM versions of GCC5 from a repository?
    You can't.
    New package versions replace older ones.

    But you can build previous versions of a package on OBS.
    Have a look at:
    Code:
    osc copypac --help
    In particular:
    Code:
        -r rev, --revision=rev
                            copy the specified revision.
    The -r option also works with "co" to download the sources to your system:

    Code:
    wolfi@amiga:~/Desktop> osc co --help
    checkout (co): Check out content from the repository
    
    Check out content from the repository server, creating a local working
    copy.
    
    When checking out a single package, the option --revision can be used
    to specify a revision of the package to be checked out.
    
    When a package is a source link, then it will be checked out in
    expanded form. If --unexpand-link option is used, the checkout will
    instead produce the raw _link file plus patches.
    
    usage:
        osc co PROJECT [PACKAGE] [FILE]
           osc co PROJECT                    # entire project
           osc co PROJECT PACKAGE            # a package
           osc co PROJECT PACKAGE FILE       # single file -> to current dir
    
        while inside a project directory:
           osc co PACKAGE                    # check out PACKAGE from project
    
        with the result of rpm -q --qf '%{DISTURL}\n' PACKAGE
           osc co obs://API/PROJECT/PLATFORM/REVISION-PACKAGE
    
    
    Options:
    ...
        -r rev, --revision=rev
                            checkout the specified revision. NOTE: if you checkout
                            the complete project this option is ignored!
    Btw, there is a dedicated OBS sub forum too...
    Last edited by wolfi323; 02-Sep-2016 at 05:34.

  5. #5
    Join Date
    Jun 2008
    Location
    San Diego, Ca, USA
    Posts
    11,114
    Blog Entries
    2

    Default Re: Get previous version of Source RPM in repository

    1. Have you tried just copying the pre-compiled binary from LEAP on to your 13.2 system and tried it?
    I've done that in the past in other situations with success...

    2. If a gcc 4.x works for you, there are plenty to choose from in the existing 13.2 gcc repo with the following URI
    Code:
    http://download.opensuse.org/repositories/devel:/gcc/openSUSE_13.2/x86_64/
    TSU
    Beginner Wiki Quickstart - https://en.opensuse.org/User:Tsu2/Quickstart_Wiki
    Solved a problem recently? Create a wiki page for future personal reference!
    Learn something new?
    Attended a computing event?
    Post and Share!

  6. #6
    Join Date
    Dec 2008
    Location
    Norway
    Posts
    543

    Default Re: Get previous version of Source RPM in repository

    Quote Originally Posted by malcolmlewis View Post
    Hi
    Go in and modify the spec file %files section to include the extra files... if using rpmbuild --rebuild it should be down in the SPECS directory.
    I don't know enough about GCC to go messing around in the spec file.
    I have downloaded the Source RPM, unpacked it and changed the build_go to false. I first had the exact same problem with packaging libgo RPM. However there is no build_mpxwrappers

  7. #7
    Join Date
    Dec 2008
    Location
    Norway
    Posts
    543

    Default Re: Get previous version of Source RPM in repository

    Quote Originally Posted by wolfi323 View Post
    You can't.
    New package versions replace older ones.

    But you can build previous versions of a package on OBS.
    Have a look at:
    Code:
    osc copypac --help
    In particular:
    Code:
        -r rev, --revision=rev
                            copy the specified revision.
    The -r option also works with "co" to download the sources to your system:

    Code:
    wolfi@amiga:~/Desktop> osc co --help
    checkout (co): Check out content from the repository
    
    Check out content from the repository server, creating a local working
    copy.
    
    When checking out a single package, the option --revision can be used
    to specify a revision of the package to be checked out.
    
    When a package is a source link, then it will be checked out in
    expanded form. If --unexpand-link option is used, the checkout will
    instead produce the raw _link file plus patches.
    
    usage:
        osc co PROJECT [PACKAGE] [FILE]
           osc co PROJECT                    # entire project
           osc co PROJECT PACKAGE            # a package
           osc co PROJECT PACKAGE FILE       # single file -> to current dir
    
        while inside a project directory:
           osc co PACKAGE                    # check out PACKAGE from project
    
        with the result of rpm -q --qf '%{DISTURL}\n' PACKAGE
           osc co obs://API/PROJECT/PLATFORM/REVISION-PACKAGE
    
    
    Options:
    ...
        -r rev, --revision=rev
                            checkout the specified revision. NOTE: if you checkout
                            the complete project this option is ignored!
    Btw, there is a dedicated OBS sub forum too...
    Ok. Was not sure at first which forum to place this in. GCC is not exactly an application...

  8. #8
    Join Date
    Dec 2008
    Location
    Norway
    Posts
    543

    Default Re: Get previous version of Source RPM in repository

    Quote Originally Posted by tsu2 View Post
    1. Have you tried just copying the pre-compiled binary from LEAP on to your 13.2 system and tried it?
    I've done that in the past in other situations with success...

    2. If a gcc 4.x works for you, there are plenty to choose from in the existing 13.2 gcc repo with the following URI
    Code:
    http://download.opensuse.org/repositories/devel:/gcc/openSUSE_13.2/x86_64/
    TSU
    I could try the GCC 5.3.1 from OpenSUSE Leap 42.1, but I was afraid it perhaps could cause some conflicts building our software with it on OpenSUSE 13.2
    However not sure how to get them, as there are many packages for gcc
    http://download.opensuse.org/distrib...42.1/repo/oss/
    http://download.opensuse.org/update/leap/42.1/oss
    If there was an utility to retrieve all gcc 5.3.1 packages installed on a system, or from the repositories.

    I need the gcc 5.3.1 package. OpenSUSE 13.2 comes already with gcc 4.8 as default.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •