Activity log for bug #1602258

Date Who What changed Old value New value Message
2016-07-12 13:21:41 Neal Gompa bug added bug
2016-07-12 13:23:11 Neal Gompa description The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libhif[1] or the Python 3 API for DNF[2]. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. [1]: https://github.com/rpm-software-management/libhif [2]: http://dnf.readthedocs.io/en/latest/api.html The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libhif[1] or the Python 3 API for DNF[2]. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. [1]: https://github.com/rpm-software-management/libhif [2]: http://dnf.readthedocs.io/en/latest/api.html
2016-07-12 13:26:57 Neal Gompa description The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libhif[1] or the Python 3 API for DNF[2]. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. [1]: https://github.com/rpm-software-management/libhif [2]: http://dnf.readthedocs.io/en/latest/api.html The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libhif[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6. It's available as a COPR for CentOS[3], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. [1]: https://github.com/rpm-software-management/libhif [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/
2016-07-12 13:28:07 Neal Gompa description The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libhif[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6. It's available as a COPR for CentOS[3], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. [1]: https://github.com/rpm-software-management/libhif [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/ The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libhif[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6[3]. It's available as a COPR for CentOS[4], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. [1]: https://github.com/rpm-software-management/libhif [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management [4]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/
2016-07-12 14:12:38 Mark Shuttleworth snapcraft: status New Confirmed
2016-07-13 15:57:29 Sergio Schvezov snapcraft: importance Undecided Wishlist
2016-11-08 05:38:51 Leo Arias tags centos debian fedora mageia opensuse rfe rpm snapcraft centos debian fedora mageia opensuse rfe rpm
2017-03-15 01:37:37 Sergio Schvezov snapcraft: status Confirmed In Progress
2017-03-15 01:37:40 Sergio Schvezov snapcraft: assignee Sergio Schvezov (sergiusens)
2017-03-15 14:06:48 Sergio Schvezov description The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libhif[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6[3]. It's available as a COPR for CentOS[4], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. [1]: https://github.com/rpm-software-management/libhif [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management [4]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/ The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libhif[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6[3]. It's available as a COPR for CentOS[4], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. 1. Add support for individual RPMs as source - LP#1640296 - GH#snapcore/snapcraft#870 - DONE 2. Refactor build/stage packages to support multiple backends - LP#??? - GH#snapcore/snapcraft#1192 - IN PROGRESS 3. Add support for different distro base snaps and refactor core snap to depend on base snap - LP#??? - GH#snapcore/snapd#??? - NOT STARTED 4. Add support for declaring desired base in snapcraft - LP#??? - GH#snapcore/snapcraft#??? - NOT STARTED 5. Add RPM+DNF backend for supporting Fedora, CentOS, Mageia, and OpenSUSE bases - LP#1602258 - GH#snapcore/snapcraft#??? - NOT STARTED [1]: https://github.com/rpm-software-management/libhif [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management [4]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/
2017-03-15 14:08:24 Neal Gompa description The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libhif[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6[3]. It's available as a COPR for CentOS[4], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. 1. Add support for individual RPMs as source - LP#1640296 - GH#snapcore/snapcraft#870 - DONE 2. Refactor build/stage packages to support multiple backends - LP#??? - GH#snapcore/snapcraft#1192 - IN PROGRESS 3. Add support for different distro base snaps and refactor core snap to depend on base snap - LP#??? - GH#snapcore/snapd#??? - NOT STARTED 4. Add support for declaring desired base in snapcraft - LP#??? - GH#snapcore/snapcraft#??? - NOT STARTED 5. Add RPM+DNF backend for supporting Fedora, CentOS, Mageia, and OpenSUSE bases - LP#1602258 - GH#snapcore/snapcraft#??? - NOT STARTED [1]: https://github.com/rpm-software-management/libhif [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management [4]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/ The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libdnf[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6[3]. It's available as a COPR for CentOS[4], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. 1. Add support for individual RPMs as source - LP#1640296 - GH#snapcore/snapcraft#870 - DONE 2. Refactor build/stage packages to support multiple backends - LP#??? - GH#snapcore/snapcraft#1192 - IN PROGRESS 3. Add support for different distro base snaps and refactor core snap to depend on base snap - LP#??? - GH#snapcore/snapd#??? - NOT STARTED 4. Add support for declaring desired base in snapcraft - LP#??? - GH#snapcore/snapcraft#??? - NOT STARTED 5. Add RPM+DNF backend for supporting Fedora, CentOS, Mageia, and OpenSUSE bases - LP#1602258 - GH#snapcore/snapcraft#??? - NOT STARTED [1]: https://github.com/rpm-software-management/libdnf [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management [4]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/
2017-03-15 14:08:48 Neal Gompa description The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libdnf[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6[3]. It's available as a COPR for CentOS[4], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. 1. Add support for individual RPMs as source - LP#1640296 - GH#snapcore/snapcraft#870 - DONE 2. Refactor build/stage packages to support multiple backends - LP#??? - GH#snapcore/snapcraft#1192 - IN PROGRESS 3. Add support for different distro base snaps and refactor core snap to depend on base snap - LP#??? - GH#snapcore/snapd#??? - NOT STARTED 4. Add support for declaring desired base in snapcraft - LP#??? - GH#snapcore/snapcraft#??? - NOT STARTED 5. Add RPM+DNF backend for supporting Fedora, CentOS, Mageia, and OpenSUSE bases - LP#1602258 - GH#snapcore/snapcraft#??? - NOT STARTED [1]: https://github.com/rpm-software-management/libdnf [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management [4]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/ The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libdnf[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6[3]. It's available as a COPR for CentOS[4], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. [1]: https://github.com/rpm-software-management/libdnf [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management [4]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/ Tasks for completing this: 1. Add support for individual RPMs as source - LP#1640296 - GH#snapcore/snapcraft#870 - DONE 2. Refactor build/stage packages to support multiple backends - LP#??? - GH#snapcore/snapcraft#1192 - IN PROGRESS 3. Add support for different distro base snaps and refactor core snap to depend on base snap - LP#??? - GH#snapcore/snapd#??? - NOT STARTED 4. Add support for declaring desired base in snapcraft - LP#??? - GH#snapcore/snapcraft#??? - NOT STARTED 5. Add RPM+DNF backend for supporting Fedora, CentOS, Mageia, and OpenSUSE bases - LP#1602258 - GH#snapcore/snapcraft#??? - NOT STARTED
2017-03-15 17:34:22 Sergio Schvezov bug task added snapd
2017-03-17 12:15:11 Sergio Schvezov description The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libdnf[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6[3]. It's available as a COPR for CentOS[4], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. [1]: https://github.com/rpm-software-management/libdnf [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management [4]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/ Tasks for completing this: 1. Add support for individual RPMs as source - LP#1640296 - GH#snapcore/snapcraft#870 - DONE 2. Refactor build/stage packages to support multiple backends - LP#??? - GH#snapcore/snapcraft#1192 - IN PROGRESS 3. Add support for different distro base snaps and refactor core snap to depend on base snap - LP#??? - GH#snapcore/snapd#??? - NOT STARTED 4. Add support for declaring desired base in snapcraft - LP#??? - GH#snapcore/snapcraft#??? - NOT STARTED 5. Add RPM+DNF backend for supporting Fedora, CentOS, Mageia, and OpenSUSE bases - LP#1602258 - GH#snapcore/snapcraft#??? - NOT STARTED The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libdnf[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6[3]. It's available as a COPR for CentOS[4], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. [1]: https://github.com/rpm-software-management/libdnf [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management [4]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/ Tasks for completing this: 1. Add support for individual RPMs as source - LP: #1640296 - GH#snapcore/snapcraft#870 - DONE 2. Refactor build/stage packages to support multiple backends: - LP: #1673448 GH#snapcore/snapcraft#1192 - DONE - LP: #1673449 GH#snapcore/snapcraft#XXXX - IN PROGRESS 3. Add support for different distro base snaps and refactor core snap to depend on base snap - LP#??? - GH#snapcore/snapd#??? - NOT STARTED 4. Add support for declaring desired base in snapcraft - LP#??? - GH#snapcore/snapcraft#??? - NOT STARTED 5. Add RPM+DNF backend for supporting Fedora, CentOS, Mageia, and OpenSUSE bases - LP#1602258 - GH#snapcore/snapcraft#??? - NOT STARTED
2017-03-17 18:15:38 Leo Arias description The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libdnf[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6[3]. It's available as a COPR for CentOS[4], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. [1]: https://github.com/rpm-software-management/libdnf [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management [4]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/ Tasks for completing this: 1. Add support for individual RPMs as source - LP: #1640296 - GH#snapcore/snapcraft#870 - DONE 2. Refactor build/stage packages to support multiple backends: - LP: #1673448 GH#snapcore/snapcraft#1192 - DONE - LP: #1673449 GH#snapcore/snapcraft#XXXX - IN PROGRESS 3. Add support for different distro base snaps and refactor core snap to depend on base snap - LP#??? - GH#snapcore/snapd#??? - NOT STARTED 4. Add support for declaring desired base in snapcraft - LP#??? - GH#snapcore/snapcraft#??? - NOT STARTED 5. Add RPM+DNF backend for supporting Fedora, CentOS, Mageia, and OpenSUSE bases - LP#1602258 - GH#snapcore/snapcraft#??? - NOT STARTED The snapcraft tool (and the yaml format) currently mandate Ubuntu repositories as the primary binary input source (that is, the base of snaps created via snapcraft is always Ubuntu). However, if I want to create a snap using Fedora, CentOS, Mageia, openSUSE, or even Debian as the binary package base, I cannot currently. There are two particular problems with this: 1) The modern python3-apt API is unavailable for RPM based distributions because apt shipped in RPM based distros is so old that it doesn't work on it. While apt in RPM based distributions does support Debian packages/repositories, it also supports RPM ones. However, since the version of apt is very old (0.5), it doesn't work with the modern python-apt bindings package. This forces snapcraft to only run on Debian based systems. 2) Snapcraft on Debian based systems will always use Ubuntu as the base, which may be undesirable for people who'd like to use Debian software to build their snaps. My suggestion is to support RPM based distributions by using gir bindings for libdnf[1] or the Python 3 API for DNF[2]. The major RPM based Linux distributions (Fedora, Mageia, CentOS, openSUSE) are able to use libhif/DNF. Fedora uses it by default now, and Mageia will offer it as a secondary package manager with Mageia 6[3]. It's available as a COPR for CentOS[4], and it's not much trouble to make it available for openSUSE, too. Add a stanza where the user can set the distro base, and snapcraft will use the appropriate engine and repo configuration to construct the snap. Obviously, some place where the distro repo information can be stored as snapcraft config is important too. With the existing code, being able to swap Ubuntu and Debian distro base would be nice. [1]: https://github.com/rpm-software-management/libdnf [2]: http://dnf.readthedocs.io/en/latest/api.html [3]: https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management [4]: https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/dnf-stack-el7/ Tasks for completing this: 1. Add support for individual RPMs as source - LP: #1640296 - GH#snapcore/snapcraft#870 - DONE 2. Refactor build/stage packages to support multiple backends:    - LP: #1673448 GH#snapcore/snapcraft#1192 - DONE    - LP: #1673449 GH#snapcore/snapcraft#XXXX - IN PROGRESS 3. Add support for different distro base snaps and refactor core snap to depend on base snap - LP#??? - GH#snapcore/snapd#??? - NOT STARTED 4. Add support for declaring desired base in snapcraft - LP#??? - GH#snapcore/snapcraft#??? - NOT STARTED 5. Add RPM+DNF backend for supporting Fedora, CentOS, Mageia, and OpenSUSE bases - LP#1602258 - GH#snapcore/snapcraft#??? - NOT STARTED 6. Run integration tests in all the supported operating systems.
2017-08-18 11:56:18 Zygmunt Krynicki snapd: status New In Progress
2017-10-27 08:09:28 Maciej Borzecki bug added subscriber maciek
2018-11-07 04:26:05 Steve Jones bug added subscriber Steve Jones
2019-07-05 02:41:42 Maksim S bug added subscriber Maxim S
2019-07-24 10:38:58 Sergio Schvezov snapcraft: status In Progress Triaged
2019-10-29 21:31:03 Zygmunt Krynicki snapd: status In Progress Invalid