README.md

fedora-dotnet

.NET Core Fedora RPM packages

This repository contains the spec files for building .NET Core RPM's.

These are the base for what will hopefully become the official .NET Core packages in Fedora.

Fedora dotnet SIG

These packages are maintained by the Fedora DotNet SIG (Special Interest Group). You can find out more about the DotNet SIG at:

Getting builds from COPR

Packages from this repository are available the DotNet SIG copr at https://copr.fedorainfracloud.org/coprs/g/dotnet-sig/dotnet/

Please see the copr repository for steps on how to install the packages and use them.

Please report any issues here.

Specification

Building

  1. You will need credentials and permissions to build in copr.

  2. Fork the dotnet-sig repo via copr. You should now have a repo with the web url https://pagure.io/fork/$USER/dotnet-2-1

  3. Checkout the forked repository

    • git clone ssh://git@pagure.io/forks/$USER/dotnet-2-1.git
    • cd dotnet-2-1
  4. Bump version/release in the spec file. Add a Changelog. Make sure the Source tag corresponds to the new tarball name, if there is a new tarball.

  5. Do local builds

    • fedpkg local --builddir ../dotnet-2-1-build

    Fix any errors that come up and rebuild until it works locally.

  6. Upload the new tarball to a public URL, if there is a new tarball. I use:

    • scp dotnet-2.1.301.tar.gz omajid.fedorapeople.org:public_html/dotnet/

    Make sure spectool -g /path/to/dotnet.spec can download this tarball from the public URL.

  7. Commit the changes to the git repo and do a build on copr.

    • git add # any new files, such as new patches
    • git remove # old files, such as old patches
    • git commit -a
    • git push
    • fedpkg dotnet srpm
    • copr-cli build @dotnet-sig/dotnet <path-to-srpm>
  8. If it fails, update spec file/patches and rebuild with the same set of steps.

Testing

  1. Pull down the packages from copr, and install them:

    • dnf copr enable @dotnet-sig/dotnet
    • dnf install dotnet-sdk-2.1

    OR, if you already have the packages installed:

    • dnf upgrade 'dotnet*'

    Make sure it installs the version you just built. Sometimes it takes a few minutes to an hour for the latest version to show up in the copr repos.

  2. Run some smoke tests

    • dotnet new console -o ConsoleApplication
    • dotnet run
    • dotnet publish -c Release -r linux-x64