You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: deployment/desktop/desktop-software-hosting.md
+13-15Lines changed: 13 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ order: 3
8
8
9
9
## Setting up hosting infrastructure for your package
10
10
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).
12
12
13
13
### Yum hosting and metadata
14
14
@@ -18,7 +18,7 @@ When GNOME Software checks for updates it downloads various metadata files from
18
18
19
19
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.
20
20
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:
22
22
23
23
dnf install createrepo_c
24
24
@@ -27,27 +27,25 @@ Once the tool is installed you can run these commands to generate your metadata:
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.
31
31
32
32
You can install appstream-builder in Fedora Workstation by using this command:
33
33
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
-
37
34
dnf install libappstream-glib-builder
38
35
39
36
Once it is installed you can run it by using the following syntax:
40
37
41
38
$ appstream-builder \
42
39
--origin=yourcompanyname \
43
-
--basename=appstream \
44
-
--cache-dir=/tmp/asb-cache \
40
+
--basename=appstream \
41
+
--cache-dir=/tmp/asb-cache \
45
42
--enable-hidpi \
46
-
--max-threads=1 \
43
+
--max-threads=1 \
47
44
--min-icon-size=32 \
48
45
--output-dir=/tmp/asb-md \
49
-
--packages-dir=x86_64/ \
46
+
--packages-dir=x86_64/ \
50
47
--temp-dir=/tmp/asb-icons
48
+
51
49
This takes a few minutes and generates some files to the output directory. Your output should look something like this:
52
50
53
51
Scanning packages...
@@ -59,18 +57,18 @@ This takes a few minutes and generates some files to the output directory. Your
59
57
Done!
60
58
61
59
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.
63
61
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:
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:
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:
25
25
26
26
[remarkable]
27
27
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
30
30
enabled=1
31
31
enabled_metadata=1
32
32
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*.
34
34
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.
Copy file name to clipboardExpand all lines: deployment/desktop/how-to-propose-a-3rd-party-application-for-inclusion-in-fedora.md
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,8 @@ order: 6
9
9
### Getting it into Fedora Workstation
10
10
11
11
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.
13
14
14
15
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.
Copy file name to clipboardExpand all lines: deployment/desktop/how-to-setup-and-host-flatpaks.md
+10-12Lines changed: 10 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -8,25 +8,25 @@ order: 5
8
8
9
9
### Flatpak hosting and Metadata
10
10
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.
12
12
13
13
Extensive information on building flatpaks and on hosting and signing flatpak repostories can be found elsewhere[2].
14
+
14
15
In summary, to create an empty repository, you use:
15
16
16
17
ostree init --mode=archive-z2 --repo=repo
17
18
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*:
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
30
30
can be trusted, so you should sign your public repositories.
31
31
32
32
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
43
43
44
44
### Hosting a Flatpak repository on Github
45
45
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.
48
49
49
50
cd ~/src/myrepository
50
51
git init
@@ -53,10 +54,7 @@ Then use the follow commands to import your repository into github.
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.
60
58
61
59
1.[Flatpak Homepage: 17th October 2016](http://flatpak.org/)
0 commit comments