Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide RPMs for SUSE distributions #1055

Closed
rjbell4 opened this issue Mar 1, 2016 · 27 comments · Fixed by #3546
Closed

Provide RPMs for SUSE distributions #1055

rjbell4 opened this issue Mar 1, 2016 · 27 comments · Fixed by #3546

Comments

@rjbell4
Copy link
Contributor

rjbell4 commented Mar 1, 2016

git-lfs packages are provided for Debian/Ubuntu, and for Red Hat-based distributions (Fedora, Cent OS). It would be great to provide official packages for SUSE distributions (SLES, OpenSUSE).

My own motivation is that we use SLES12 internally at my workspace, and I'm going to have to roll my own RPMs, or installed RHEL RPMs onto SLES. I'd much prefer to simply download something.

FYI, I'm getting updated Git RPMs from here: https://build.opensuse.org/package/show/devel:tools:scm/git

@andyneff
Copy link
Contributor

andyneff commented Mar 2, 2016

Can someone verify if you can try to install the CentOS rpm, if it works in SLES?

@andyneff
Copy link
Contributor

andyneff commented Mar 6, 2016

@rjbell4, does this add a working repo for your SUSE install?

echo "[github_git-lfs]
name=github_git-lfs
baseurl=https://packagecloud.io/github/git-lfs/el/7/x86_64
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/github/git-lfs/gpgkey
sslverify=1
type=rpm-md

[github_git-lfs-source]
name=github_git-lfs-source
baseurl=https://packagecloud.io/github/git-lfs/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/github/git-lfs/gpgkey
type=rpm-md
sslverify=1" > /etc/zypp/repos.d/github_git-lfs.repo

After you create that repo file, you should be able to zypper install git-lfs. Seems to work in the opensuse dockers.

@JFreakDK
Copy link

This works on openSUSE Tumbleweed

@drom
Copy link

drom commented Apr 27, 2017

@andyneff confirming. it works on openSUSE Tumbleweed

@bernardosulzbach
Copy link

I've also used this to get LFS on Tumbleweed, thank you very much.

@GBR-613
Copy link

GBR-613 commented Mar 22, 2018

I work with SLES 12 SP2. I try to install git-lfs, following instructions from https://packagecloud.io/github/git-lfs/, namely:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo bash
and I get the following message:
Problem: nothing provides git >= 1.8.2 needed by git-lfs-2.4.0-1.el7.x86_64
In reality, git --version returns "git version 2.12.3"
Similar issue occurs when I take RPM from a CentOs' link above:
error: Failed dependencies:
git >= 1.8.2 is needed by git-lfs-1.1.2-1.el7.x86_64
And the same if I add https://packagecloud.io/github/git-lfs/el/7/x86_64 as repository in Yast.
What is missed??
Git version in Ubuntu is also 2.x, but git-lfs is installed without any issues.
Any suggestion would be highly appreciated.

@ttaylorr
Copy link
Contributor

Hi @GBR-613; I have to admit that I am not that familiar with SUSE, but I will try my best nonetheless:

git >= 1.8.2 is needed by git-lfs-1.1.2-1.el7.x86_64

This line sticks out to me. I agree that it's odd that the PackageCloud scripts don't think that the Git dependency is satisfied, but I am curious what that older version of Git LFS is doing there.

Can you try removing that and seeing if the issue still persists?

I am going to close this issue since the original problem was fixed, but please do not hesitate to open a new issue linking back to this or your comment in the case that this doesn't fix it. Thanks!

@GBR-613
Copy link

GBR-613 commented Mar 27, 2018

@ttaylorr, if the original problem is fixed, please tell me when can I take from am rpm suitable for SLES 12 noticed in the original report. These ones specified above did not work for me.

The older version was taken from a link that notices CentOS, and the last one I found fails with message
"nothing provides git >= 1.8.2 needed by git-lfs-2.4.0-1.el7.x86_64"

@ttaylorr
Copy link
Contributor

@GBR-613 Hm, I am not sure what the issue is, nor do I have an installation of SLES 12 for testing. @andyneff do you have any ideas of what might be going on?

@ttaylorr ttaylorr reopened this Mar 29, 2018
@itaranto
Copy link

itaranto commented May 4, 2018

echo "[github_git-lfs]
name=github_git-lfs
baseurl=https://packagecloud.io/github/git-lfs/el/7/x86_64
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/github/git-lfs/gpgkey
sslverify=1
type=rpm-md

[github_git-lfs-source]
name=github_git-lfs-source
baseurl=https://packagecloud.io/github/git-lfs/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/github/git-lfs/gpgkey
sslverify=1
type=rpm-md" > /etc/zypp/repos.d/github_git-lfs.repo

Seems to work on openSUSE Leap 42.3 (almost the same as SUSE 12.3).

The repo https://packagecloud.io/github/git-lfs/el/7/x86_64 contains only one package: git-lfs
but the repo https://packagecloud.io/github/git-lfs/el/7/SRPMS does not contain anything, is this expected? Is the source repo needed?

@ttaylorr
Copy link
Contributor

ttaylorr commented May 4, 2018

Gently pinging @andyneff.

@andyneff
Copy link
Contributor

@itaranto Yes, that sounds right. Technically, the source repo isn't needed because we do not currently upload those. So yes, that can be skipped.

@ttaylorr We could consider adding suse and sles to the packagecloud.rb script. I would propose adding

fedora/27
sles/12.0
sles/12.1
sles/12.2
sles/12.3
opensuse/42.3

Other versions of opensuse are EOL, and I don't think there is any way to make tumbleweed automatically work with packageio's script. Users will have to set the environment variable dist=42.3 to use 42.3.

@GBR-613, Were you using git installed by the package manager, or one you installed yourself? If the package manager does not install git for you, then it can't know that you have the proper version installed.

docker run -it --rm barebuild/sles:12
echo "[github_git-lfs]
name=github_git-lfs
baseurl=https://packagecloud.io/github/git-lfs/el/7/x86_64
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/github/git-lfs/gpgkey
sslverify=1
type=rpm-md" > /etc/zypp/repos.d/github_git-lfs.repo
zypper install git-lfs

Seems to work just fine.

@ttaylorr
Copy link
Contributor

@ttaylorr We could consider adding suse and sles to the packagecloud.rb script. I would propose adding

I'm fine with that, and will happily accept PRs to that effect. Would you mind opening one?

@itaranto
Copy link

itaranto commented Aug 29, 2018

Other versions of opensuse are EOL, and I don't think there is any way to make tumbleweed automatically > work with packageio's script. Users will have to set the environment variable dist=42.3 to use 42.3.

@andyneff Older openSUSE versions like 13, 12, etc. are EOL, but SUSE 11 is still supported.
You should consider adding support for SUSE 11, SUSE 12/openSUSE Leap 42, SUSE 15/openSUSE 15.
I had to do a similar workaround for SUSE 11 repo to work:

[github_git-lfs]
name=github_git-lfs
enabled=1
autorefresh=1
baseurl=https://packagecloud.io/github/git-lfs/el/6/x86_64
type=rpm-md
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://packagecloud.io/github/git-lfs/gpgkey
keeppackages=0

andyneff added a commit to andyneff/git-lfs that referenced this issue Aug 29, 2018
Updating Fedoras to supported versions and adding opensuse and sles git-lfs#1055 

Fedora 22-26 are EOL https://fedoraproject.org/wiki/End_of_life
SLES 12.2 is EOL 6 months after 12.3 came out https://www.suse.com/releasenotes/x86_64/SUSE-SLES/12-SP2/#Intro.Lifecycle
Only openSUSE 15 and 42.3 are not EOL https://en.opensuse.org/Lifetime
Mint Tara added https://linuxmint.com/download_all.php
@andyneff
Copy link
Contributor

@itaranto Sorry, I don't know SUSE or openSUSE very well.

There is no opensuse 15 on the list

https://packagecloud.io/docs#anchor-opensuse

All but opensuse 42.3 are EOL, so should adding only 42.3 for opensuse be ok?

@itaranto
Copy link

itaranto commented Aug 30, 2018

@andyneff openSUSE is a community distro based on the enterprise (paid) SUSE distro (think it as Fedora is to RHEL).

openSUSE Leap 42.X is roughly an equivalent of SUSE 12.X, openSUSE 42.1 and 42.2 are EOL, 42.3 is still supported. I think SUSE still supports 12.1 and 12.2, but I'm not sure.

Now, SUSE's new release is SUSE 15 (they skipped the 13 and 14 versions), and openSUSE has synced their version numbering with SUSE's. So openSUSE Leap 15 ~= SUSE 15.

Also there's the old SUSE 11 release that is still supported by the company (there's no openSUSE equivalent for this one).

In my opinion, the easiest way to give openSUSE/SUSE support is to:

  • Support SUSE 11.4 (latest SP supported by SUSE)
  • Support SUSE 12.3/openSUSE Leap 42.3 (as explained before, these are almost the same)
  • Support SUSE 15/openSUSE Leap 15 (as explained before, these are almost the same)

I hope this would help clarifying the relationship between the two distros.

Anyway, as a workaround, using the el7 and el6 repos work fine on SUSE12 SUSE11, respectively.

@itaranto
Copy link

itaranto commented Aug 30, 2018

Oh, I didn't see the commit. The list:

opensuse/42.3
sles/11.4
sles/12.3

Seems to be OK, only SUSE/openSUSE 15 is missing, but I guess it's fine, since it's relatively new.

andyneff added a commit to andyneff/git-lfs that referenced this issue Aug 30, 2018
Updating new information from [itaranto](git-lfs#1055 (comment)) comment that SLES 11 should use the centos 6 rpms, not that it really matters with static go binaries ;)
@Fak3
Copy link

Fak3 commented Dec 22, 2018

What is the status on this? I went to https://packagecloud.io/github/git-lfs/install#manual-rpm and I only see some instructions for yum (of Fedora, i believe) How one can install it on openSUSE?

@itaranto
Copy link

What is the status on this? I went to https://packagecloud.io/github/git-lfs/install#manual-rpm and I only see some instructions for yum (of Fedora, i believe) How one can install it on openSUSE?

I tested SUSE 11, SUSE 12 and openSUSE Leap 42, so far the repos are being correctly added and the installation works.

You can install it with:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo bash

@Fak3
Copy link

Fak3 commented Jan 1, 2019

@itaranto it does not work. I am testing on opensuse Tumbleweed. The command fails as it tries to use yum

> curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | bash
Detected operating system as opensuse-tumbleweed/20181219.
Checking for curl...
Detected curl...
Downloading repository file: https://packagecloud.io/install/repositories/github/git-lfs/config_file.repo?os=opensuse-tumbleweed&dist=20181219&source=script
main: line 153: /etc/yum.repos.d/github_git-lfs.repo: No such file or directory

Unable to run: 
    curl https://packagecloud.io/install/repositories/github/git-lfs/config_file.repo?os=opensuse-tumbleweed&dist=20181219&source=script

Double check your curl installation and try again.

@andyneff
Copy link
Contributor

andyneff commented Jan 3, 2019

@Fak3 This works in a opensue 42.3 docker, but does not work in tumbleweed

As you can see from this, tumbleweed is not in the supported list.

So you need to help the script understand what opensuse version your tumbleweed is most like. Try

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | env os=opensuse dist=42.3 bash

Now it won't be detecting tumbleweed, but the opensuse 42.3, or which ever is best for you.

Tested and worked on openSUSE Tumbleweed 20180106

@wb0716
Copy link

wb0716 commented Jan 4, 2019

@ttaylorr, Hello, I want to build the source code ro RPM package with openSUSE:42.3 on OBS, but there exist dependecy issue: nothing provides perl-Digest-SHA, nothing provides golang, nothing provides rubygem-ronn. But as I checked on the https://packagecloud.io/github/git-lfs:
git-lfs-2.6.1-1.el7.x86_64.rpm opensuse/42.3 pushed by ttaylorr about 1 month ago
It has been built to rpm package for opensuse/42.3. so is there any guild for me how to compile the source code to rpm package with opensuse/42.3? thanks.

@bk2204
Copy link
Member

bk2204 commented Jan 4, 2019

That was actually me pushing the change.

The RPMs are built using the docker/run-dockers.bsh script, which builds a suitable ruby binary and the various gems. You're welcome to see the steps we use and adapt them for your needs.

The packages are designed so that they build on a CentOS 7 system and are reasonably portable to other RPM-based systems, but you may want to adapt the packaging so that it better fits with an OpenSUSE system.

@itaranto
Copy link

itaranto commented Feb 6, 2019

Hello there, I'm here to bother you about SUSE again :)

This is just to let you guys know, I don't know if SUSE 15 is supported yet but just for you to have it in the radar...

The installation script from packagecloud fails in SLES15:

Detected operating system as sles/15.
Checking for curl...
Detected curl...
Downloading repository file: https://packagecloud.io/install/repositories/github/git-lfs/config_file.repo?os=sles&dist=15&source=script
curl: (22) The requested URL returned error: 404 


Unable to download repo config from: https://packagecloud.io/install/repositories/github/git-lfs/config_file.repo?os=sles&dist=15&source=script

This usually happens if your operating system is not supported by 
packagecloud.io, or this script's OS detection failed.

You can override the OS detection by setting os= and dist= prior to running this script.
You can find a list of supported OSes and distributions on our website: https://packagecloud.io/docs#os_distro_version

For example, to force CentOS 6: os=el dist=6 ./script.sh

If you are running a supported OS, please email support@packagecloud.io and report this.

The OS detection works fine, the URL https://packagecloud.io/install/repositories/github/git-lfs/config_file.repo?os=sles&dist=15&source=script seems to be invalid.

Running the script like this: os=sles dist=12 ./script.rpm.sh didn't work either.
My guess is that the script will also be broken in other SUSE versions.

So I created the repo file myself and pasted the contents displayed here:
https://packagecloud.io/github/git-lfs/install#manual-zypper
And then replaced the OS part from the URL with sles/15.0.
That didn't work either (the package git-lfs is not found).

Lastly, I did the same thing but replacing with sles/12.3.
This worked, the packaged git-lfs is found in the repo.

@bk2204
Copy link
Member

bk2204 commented Feb 6, 2019

I think part of the problem you're seeing here is that there are no SLES docker containers that we can use to build RPMs, so we build and offer the CentOS versions.

We're happy to accept patches to the docker/run_dockers.bsh script and git-lfs/build-dockers repo that provide support for SLES or OpenSUSE, provided that there are Docker images that are publicly available that we can use.

@andyneff
Copy link
Contributor

andyneff commented Feb 7, 2019

For sles rpms, we only have

sles/11.4
sles/12.3

Versions of SLES like 12 are End of Life, so that's why that didn't work. 15 is actually new and we should add 15 to packagecloud.rb. As long as the rpms work in 15, that's all we'll have to update.

andyneff added a commit to andyneff/git-lfs that referenced this issue Feb 7, 2019
ttaylorr added a commit that referenced this issue Feb 8, 2019
@itaranto
Copy link

itaranto commented Feb 14, 2019

For sles rpms, we only have

sles/11.4
sles/12.3

Versions of SLES like 12 are End of Life, so that's why that didn't work. 15 is actually new and we should add 15 to packagecloud.rb. As long as the rpms work in 15, that's all we'll have to update.

As far as I know SUSE 12.3 and 12.4 are not EOL neither is openSUSE Leap 42.3.
I don't know much about SUSE 12.1 and 12.2.

andyneff added a commit to andyneff/git-lfs that referenced this issue Feb 27, 2019
Closes git-lfs#3522 and closes git-lfs#1055

Added EOL dates for every release

A subsequent PR should probably remove all the releases that are already EOLed
andyneff added a commit to andyneff/git-lfs that referenced this issue Feb 28, 2019
Closes git-lfs#3522 and closes git-lfs#1055

Added EOL dates for every release

A subsequent PR should probably remove all the releases that are already EOLed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

12 participants