Skip to content

Commit 398c9e7

Browse files
committed
More cleanup and markup fixes
1 parent 21459ec commit 398c9e7

File tree

4 files changed

+29
-32
lines changed

4 files changed

+29
-32
lines changed

deployment/desktop/desktop-software-hosting.md

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ order: 3
88

99
## Setting up hosting infrastructure for your package
1010

11-
We will here explain how you set up a Yum repository for RPM packages that provides the needed metadata. If you are making a Flatpak we recommend skipping ahead to the Flatpak section a bit further down.
11+
We will here explain how you set up a Yum repository for RPM packages that provides the needed metadata. If you are making a Flatpak we recommend skipping ahead to the [Flatpak section](how-to-setup-and-host-flatpaks.html).
1212

1313
### Yum hosting and metadata
1414

@@ -18,7 +18,7 @@ When GNOME Software checks for updates it downloads various metadata files from
1818

1919
When GNOME Software checks for updates it downloads various metadata files from the server describing the packages available in the repository. GNOME Software can also download AppStream metadata at the same time, allowing add-on repositories to include applications that are visible in the the software center.
2020

21-
In most cases distributors are already building binary RPMS and then building metadata as an additional step by running something like this to generate the repomd files on a directory of packages. The tool for creating the repository metadata is called createrepo_c and is part of the package createrepo_c in Fedora. You can install it by running the command:
21+
In most cases distributors are already building binary RPMS and then building metadata as an additional step by running something like this to generate the repomd files on a directory of packages. The tool for creating the repository metadata is called *createrepo_c* and is part of the package *createrepo_c* in Fedora. You can install it by running the command:
2222

2323
dnf install createrepo_c
2424

@@ -27,27 +27,25 @@ Once the tool is installed you can run these commands to generate your metadata:
2727
$ createrepo_c --no-database --simple-md-filenames SRPMS/
2828
$ createrepo_c --no-database --simple-md-filenames x86_64/
2929

30-
This creates the primary and filelist metadata required for updating on the command line. Next to build the metadata required for the software center we we need to actually generate the AppStream XML. The tool you need for this is called appstream-builder. This works by decompressing .rpm files and merging together the .desktop file, the .appdata.xml file and preprocessing icons and screenshots. Remember, only applications installing AppData files will be included in the metadata.
30+
This creates the primary and filelist metadata required for updating on the command line. Next to build the metadata required for the software center we we need to actually generate the AppStream XML. The tool you need for this is called *appstream-builder*. This works by decompressing *.rpm* files and merging together the *.desktop* file, the *.appdata.xml* file and preprocessing icons and screenshots. Remember, only applications installing AppData files will be included in the metadata.
3131

3232
You can install appstream-builder in Fedora Workstation by using this command:
3333

34-
This creates the primary and filelist metadata required for updating on the command line. Next to build the metadata required for the software center we we need to actually generate the AppStream XML. The tool you need for this is called appstream-builder. This works by decompressing .rpm files and merging together the .desktop file, the .appdata.xml file and preprocessing the icons. Remember, only applications installing AppData files will be included in the metadata.
35-
You can install appstream builder in Fedora Workstation by using this command:
36-
3734
dnf install libappstream-glib-builder
3835

3936
Once it is installed you can run it by using the following syntax:
4037

4138
$ appstream-builder \
4239
--origin=yourcompanyname \
43-
--basename=appstream \
44-
--cache-dir=/tmp/asb-cache \
40+
--basename=appstream \
41+
--cache-dir=/tmp/asb-cache \
4542
--enable-hidpi \
46-
--max-threads=1 \
43+
--max-threads=1 \
4744
--min-icon-size=32 \
4845
--output-dir=/tmp/asb-md \
49-
--packages-dir=x86_64/ \
46+
--packages-dir=x86_64/ \
5047
--temp-dir=/tmp/asb-icons
48+
5149
This takes a few minutes and generates some files to the output directory. Your output should look something like this:
5250

5351
Scanning packages...
@@ -59,18 +57,18 @@ This takes a few minutes and generates some files to the output directory. Your
5957
Done!
6058

6159

62-
The actual build output will depend on your compose server configuration. At this point you can also verify the application is visible in the yourcompanyname.xml.gz file.
60+
The actual build output will depend on your compose server configuration. At this point you can also verify the application is visible in the *yourcompanyname.xml.gz* file.
6361

64-
We then have to take the generated XML and the tarball of icons and add it to the repomd.xml master document so that GNOME Software automatically downloads the content for searching. This is as simple as doing:
62+
We then have to take the generated XML and the tarball of icons and add it to the *repomd.xml* master document so that GNOME Software automatically downloads the content for searching. This is as simple as doing:
6563

6664
modifyrepo_c \
6765
--no-compress \
68-
--simple-md-filenames \
69-
/tmp/asb-md/appstream.xml.gz \
66+
--simple-md-filenames \
67+
/tmp/asb-md/appstream.xml.gz \
7068
x86_64/repodata/
7169
modifyrepo_c \
7270
--no-compress \
73-
--simple-md-filenames \
71+
--simple-md-filenames \
7472
/tmp/asb-md/appstream-icons.tar.gz \
7573
x86_64/repodata/
7674

deployment/desktop/how-to-host-yum-repo-on-github.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ Github isn't really set up for hosting Yum repositories, but here is a method th
1717
git remote add origin [email protected]:yourgitaccount/myrepo.git
1818
git push -u origin master
1919

20-
Once everything is imported, go into the Github web interface and drill down in the file tree until you find the file called 'repomd.xml' and click on it. You should now see a button in the Github interface called 'Raw'. Once you click that you get the raw version of the XML file and in the URL bar of your browser you should see a URL looking something like this:
20+
Once everything is imported, go into the Github web interface and drill down in the file tree until you find the file called *repomd.xml* and click on it. You should now see a button in the Github interface called *Raw*. Once you click that you get the raw version of the XML file and in the URL bar of your browser you should see a URL looking something like this:
2121

2222
https://raw.githubusercontent.com/cschalle/hubyum/master/noarch/repodata/repomd.xml
2323

24-
Copy that URL as you will need the information from it to create your '.repo' file which is what distributions and users want in order to reach you new repository. To create your .repo file copy this example and edit it to match your data:
24+
Copy that URL as you will need the information from it to create your *.repo* file which is what distributions and users want in order to reach you new repository. To create your *.repo* file copy this example and edit it to match your data:
2525

2626
[remarkable]
2727
name=Remarkable Markdown editor software and updates
@@ -30,8 +30,8 @@ Copy that URL as you will need the information from it to create your '.repo' fi
3030
enabled=1
3131
enabled_metadata=1
3232

33-
So on top is your Repo shortname inside the brackets, then a name field with a more extensive name. For the baseurl paste the URL you copied earlier and remove the last bits until you are left with either the 'norach' directory or your platform directory for instance x86_64.
33+
So on top is your Repo shortname inside the brackets, then a name field with a more extensive name. For the baseurl paste the URL you copied earlier and remove the last bits until you are left with either the *noarch* directory or your platform directory, for instance *x86_64*.
3434

35-
Once you have that file completed put it into /etc/yum.repos.d on your computer and load up GNOME Software. Click on the 'Updates' button in GNOME Software and then on the refresh button in the top left corner to ensure your database is up to date. If everything works as expected you should then be able to do a search in GNOME software and find your new application showing up.
35+
Once you have that file completed put it into */etc/yum.repos.d* on your computer and load up GNOME Software. Click on the *Updates* button in GNOME Software and then on the refresh button in the top left corner to ensure your database is up to date. If everything works as expected you should then be able to do a search in GNOME software and find your new application showing up.
3636
![Example GNOME Software listing](/content/deployment/desktop/example-gnome-software-listing.png "Example GNOME Software listing")
3737

deployment/desktop/how-to-propose-a-3rd-party-application-for-inclusion-in-fedora.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ order: 6
99
### Getting it into Fedora Workstation
1010

1111
You now have your repository created and ready for users to connect to it. The final step is getting your repository added to Fedora Workstation.
12-
To start the process for this you can file a [Fedora ticket](https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora) against the Fedora-workstation-repositories component. The information needed is a decription of your application. We also need the URL where the repository is located.
12+
13+
To start the process for this you can file a [Fedora ticket](https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora) against the *fedora-workstation-repositories* component. The information needed is a decription of your application. We also need the URL where the repository is located.
1314

1415
This will allow the Fedora Workstation Working group to review your application and ask any needed follow-up questions. For more in depth-information about the process and rules for including 3rd party software in Fedora Workstation you can see the [Third Party Software for Fedora](https://fedoraproject.org/wiki/Workstation/Third_party_software_proposal) page.
1516

deployment/desktop/how-to-setup-and-host-flatpaks.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,25 @@ order: 5
88

99
### Flatpak hosting and Metadata
1010

11-
The flatpak-builder binary generates AppStream metadata automatically when building applications if the appstream-compose tool is installed on the flatpak build machine. Flatpak[1] repositories are exported with a separate appstream branch which is automatically downloaded by GNOME Software and no additional work is required when building your application or updating the remote. Adding the remote is enough to add the application to the software center, on the assumption the AppData file is valid.
11+
The *flatpak-builder* binary generates AppStream metadata automatically when building applications if the *appstream-compose* tool is installed on the flatpak build machine. Flatpak[1] repositories are exported with a separate *appstream* branch which is automatically downloaded by GNOME Software and no additional work is required when building your application or updating the remote. Adding the remote is enough to add the application to the software center, on the assumption the AppData file is valid.
1212

1313
Extensive information on building flatpaks and on hosting and signing flatpak repostories can be found elsewhere[2].
14+
1415
In summary, to create an empty repository, you use:
1516

1617
ostree init --mode=archive-z2 --repo=repo
1718

18-
To tell flatpak-builder to import the end result of a build into this repository, you pass --repo=repo:
19+
To tell flatpak-builder to import the end result of a build into this repository, you pass *--repo=repo*:
1920

2021
flatpak-builder --verbose --force-clean \
21-
--repo=repo \
22-
--gpg-homedir=gpg --gpg-sign=$GPG_KEY \
23-
recipes flatpak/org.gnome.Recipes.json
22+
--repo=repo --gpg-homedir=gpg --gpg-sign=$GPG_KEY \
23+
recipes flatpak/org.gnome.Recipes.json
2424

2525
To generate appstream branches and static deltas in this repository, you use:
2626

2727
flatpak build-update-repo --generate-static-deltas --gpg-homedir=gpg --gpg-sign=$GPG_KEY repo
2828

29-
Note that both of these commands take a --gpg-sign argument. Flatpak uses GPG as a means to ensure that the repository
29+
Note that both of these commands take a *--gpg-sign* argument. Flatpak uses GPG as a means to ensure that the repository
3030
can be trusted, so you should sign your public repositories.
3131

3232
The best way to make your application and its Flatpak repository available to users is to publish a flatpakref file for it:
@@ -43,8 +43,9 @@ The best way to make your application and its Flatpak repository available to us
4343

4444
### Hosting a Flatpak repository on Github
4545

46-
Github isn't really set up for hosting Flatpak repositories, so we can't guarantee that this will keep working in the future. So once you created a local copy of your repository create a new project on github, enable github pages for the project and point it at the master branch.
47-
Then use the follow commands to import your repository into github.
46+
Github isn't really set up for hosting Flatpak repositories, so we can't guarantee that this will keep working in the future. So once you created a local copy of your repository create a new project on Github, enable Github pages for the project and point it at the master branch.
47+
48+
Then use the follow commands to import your repository into Github.
4849

4950
cd ~/src/myrepository
5051
git init
@@ -53,10 +54,7 @@ Then use the follow commands to import your repository into github.
5354
git remote add origin [email protected]:yourgitaccount/myrepo.git
5455
git push -u origin master
5556

56-
Now you should be able to refer to your repo with a raw.githubusercontent.com/ URL like the one shown in the flatpakrepo
57-
example above.
58-
59-
The flatpak-builder binary generates AppStream metadata automatically when building applications if the appstream-compose tool is installed on the flatpak build machine. Flatpak[1] remotes are exported with a separate ‘appstream’ branch which is automatically downloaded by GNOME Software and no addition work if required when building your application or updating the remote. Adding the remote is enough to add the application to the software center, on the assumption the AppData file is valid.
57+
Now you should be able to refer to your repo with a *raw.githubusercontent.com/* URL like the one shown in the flatpakrepo example above.
6058

6159
1. [Flatpak Homepage: 17th October 2016](http://flatpak.org/)
6260

0 commit comments

Comments
 (0)