View Issue Details

IDProjectCategoryView StatusLast Update
0000061Cinelerra-GG[All Projects] Websitepublic2018-12-15 17:40
Reporterferdnyc Assigned ToPhyllisSmith  
PrioritynormalSeverityminorReproducibilityalways
Status assignedResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0000061: Fedora install instructions on website broken due to character replacement
DescriptionThe Fedora install instructions at https://www.cinelerra-gg.org/fedora-package/ will currently not function if cut-and-pasted into a terminal window, because the first command listed to be entered is:

"dnf install cinelerra –nogpgcheck –repofrompath cingg,https://cinelerra-gg.org/download/pkgs/fedoraXX/"
(with the XX to be replaced by the Fedora release, such as "29" for the most current)

The issue is with the characters preceding "nogpgcheck" and "repofrompath", which are SUPPOSED to be two hyphens ("--"), but it seems your CMS has helpfully replaced with a single en-dash character ("–").
Steps To Reproduce1. Copy "dnf install cinelerra –nogpgcheck –repofrompath cingg,https://cinelerra-gg.org/download/pkgs/fedoraXX/" from the website and paste into a terminal
2. Edit the end of the string to "fedora29"
3. Prepend "sudo" (note: I would suggest adding this to the listed command line, as has become common practice in install instructions.)
3. Hit Enter

Expected result: cinelerra installs

Actual result:
$ sudo dnf install cinelerra –nogpgcheck –repofrompath cingg,https://cinelerra-gg.org/download/pkgs/fedora29/
Last metadata expiration check: 1:45:54 ago on Fri 14 Dec 2018 10:49:33 AM EST.
No match for argument: –nogpgcheck
No match for argument: –repofrompath
No match for argument: cingg,https://cinelerra-gg.org/download/pkgs/fedora29/
Error: Unable to find a match
Additional InformationWhile changing the command on the website to:

sudo dnf install cinelerra --nogpgcheck --repofrompath cingg,https://cinelerra-gg.org/download/pkgs/fedoraXX/

will suffice to fix the problem of cinelerra not being installable by following the instructions, I have a suggestion for a slightly different method that might be simpler for all concerned.

The problem with --repofrompath is that it's a one-time addition: The repo is not actually added to the set of repositories stored in /etc/yum.repos.d/, and will not be accessible during future dnf calls unless "--repofrompath cingg,https://cinelerra-gg.org/download/pkgs/fedoraXX/" is again specified on the command line. This leaves users who install using this method no way to get future updates automatically as they're released, which is one of the purposes of dnf to begin with.

Common practice for third-party repositories (even single-application ones) is to distribute an RPM package $REPONAME-release.rpm containing repository configuration files. cinelerra-gg-release.rpm might look something like this:

File tree:
/etc/yum.repos.d/cingg.conf
/etc/pki/rpm-gpg/RPM-GPG-KEY-cingg

The digital signature used to sign packages in the repo is placed in the /etc/pki file.

The /etc/yum.repos.d/ file contains repository configuration of the form:
[cingg]
name=Cinelerra-GG
baseurl=https://cinelerra-gg.org/download/pkgs/fedora$releasever/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cingg

Distributing Fedora RPMs this way gives several advantages:
1. The packages distributed by the repository CAN be signed (which is good for security)

2. "--nogpgcheck" on the command line is made unnecessary, because the key will be automatically extracted from the package during install and dnf will offer to import it

3. Because the baseurl in the .conf file contains $releasever, it will automatically substitute the current release number for whatever system it's installed on. This means that the /fedoraXX/ on the suggested command line can be done away with.

If you were to create cingg-release.rpm containing the above, and make it downloadable at https://cinelerra-gg.org/download/pkgs/cingg-release.rpm, that same command line could be used for ALL versions of Fedora, past present and future. They would automatically point to the correct https://cinelerra-gg.org/download/pkgs/fedora$releasever/ URL to download the version of cinelerra matching their Fedora release.

4. The system will regularly scan the repository for new releases of cinelerra, and offer them as updates to the user.

Even if you choose not to sign your cinelerra-gg RPM releases, I would still suggest making an RPM available with the repo configuration (without the /etc/pki/ file or the gpgkey= line, and with gpgcheck=0 set in the .conf) and making it available on the website. The install instructions could be changed to simply:

sudo dnf install https://cinelerra-gg.org/download/pkgs/cingg-release.rpm
sudo dnf install cinelerra

(Or add --nogpgcheck to the FIRST command, only, if not including signatures.)

This page contains a pretty good overview of package signing from the software-distribution perspective. It's old enough that it discusses the yum command instead of its replacement dnf, but the signing information is all based on the underlying rpm tools and is still current.

https://searchdatacenter.techtarget.com/tip/Signing-Linux-RPM-files-using-a-Gnu-Privacy-Guard-key
TagsNo tags attached.

Activities

ferdnyc

ferdnyc

2018-12-15 17:40

reporter   ~0000218

BTW... it's been _so_long_ since Fedora switched from yum to dnf that I've sort of forgotten everything I ever knew about it, but my MEMORY is that the $REPONAME-release.rpm method was broadly applicable to yum as well.

So this technique should probably work (or at least be adaptable into one that does) for CentOS, and avoid users having to manually create /etc/yum.repos.d/cin_gg by hand. The only thing I can't really remember is whether "yum install https://some.site/reponame-release.rpm" would work directly, or if the .rpm needed to be downloaded first and then installed with "yum localinstall".
PhyllisSmith

PhyllisSmith

2018-12-14 18:12

manager   ~0000195

I will be able to change this into the alternative method. That way avoids the -- problem altogether. Thanks.

Issue History

Date Modified Username Field Change
2018-12-14 18:04 ferdnyc New Issue
2018-12-14 18:10 PhyllisSmith Assigned To => PhyllisSmith
2018-12-14 18:10 PhyllisSmith Status new => assigned
2018-12-14 18:12 PhyllisSmith Note Added: 0000195
2018-12-15 17:40 ferdnyc Note Added: 0000218