ximion / appstream-generator

A fast AppStream metadata generator
GNU Lesser General Public License v3.0
42 stars 29 forks source link

Generate Appstream catalog metadata locally with the help of appstream-generator ? #115

Closed Tuxman2 closed 1 year ago

Tuxman2 commented 1 year ago

Hello,

As I said on another topic, I'm trying to use my local repository created with apt-mirror (Ubuntu) with Gnome Software but it seems that I must use appstream-generator to have 'appstream catalog metadata' which Gnome Software requires. So, can you tell me if appstream-generator is the good tool to do that ? I want to use Gnome Software offline and install the software with the help of my local repository. In my case, Appstream catalog metadata will be stored on my external hard disk with my local repository on it. Here is what a Gnome Team member told to me: https://discourse.gnome.org/t/how-to-use-gnome-software-with-a-local-repository/15012/5

Thanks.

ximion commented 1 year ago

Are you adding your own custom packages to that mirror? If so, then the generator is the right too to build new metadata. If however you are only copying the data from somewhere else to your local disk, then you don't need appstream-generator, you just need to make sure the metadata is copied as well. So, apt-mirror didn't support this for a while, but judging by https://bugs.launchpad.net/ubuntu/+source/apt-mirror/+bug/1550852 it seems like this issue is fixed in newer versions - so maybe all you need to do is update your copy of apt-mirror to include DEP-11 data? (DEP-11 is the AppStream implementation of Debian/Ubuntu)

Tuxman2 commented 1 year ago

Hello,

thanks for your reply.

I downloaded another version of apt-mirror here: https://github.com/Stifler6996/apt-mirror Now, I've got the DEP-11 data. When I use my local repository with Gnome-Software, I can see the list of applications, do a research on a software, but I can't install a software. Each time, I push the install button, it's waiting for a long time but nothing happens. In verbose mode, I've got error messages like that:

error downloading remote icon : error of resolution of "stackedit.io": name resolution temporary failure

error downloading remote icon : error of resolution of "appstream.ubuntu.com": name resolution temporary failure

I talked to a member of Gnome Team, it told me that my local repository is missing appstream catalog metadata. Of course, when I'm online it works but I want to install software offline under Gnome-software with the help of my repository.

Thanks.

Regards.

Note: I'm on Ubuntu 23.04.

ximion commented 1 year ago

You do have metadata, especially if you can see a list of applications and search it. What you can not have is screenshots (those are on Ubuntu's servers) and large icons (those are also downloaded on-demand from Ubuntu). But that's pretty much it. So I suspect some kind of GNOME Software bug here. Can you check if your dep11 folder that apt-mirror downloaded has a icons-64x64.tar.gz file? At least that one must be there (but given that you can browser apps, I assume it probably is).

ximion commented 1 year ago

(closing it because it's more of a question than a bug)

Tuxman2 commented 1 year ago

@ximion: Hello,

yes I have icons-64x64.tar.gz ans icons-48x48.tar.gz files. I also think there is a bug with Gnome-Software, but it's very strange that I can see all applications, search, but not install the software. When I press the Install button, the cancel button appears, then another item appears below: "Ubuntu Unknow source Deb" and nothing happens, I'm waiting.

So in my case, appstream-generator is not necessary ?

Regards.

ximion commented 1 year ago

So in my case, appstream-generator is not necessary ?

Yes, you shouldn't need to rebuild the data, you only need to mirror it.

With your mirror, can you verify that AppStream itself works as intended? Run these commands and see if they work:

sudo apt update
sudo appstreamcli refresh --force
appstreamcli search office
appstreamcli status
Tuxman2 commented 1 year ago

Hello, here are the results:

$ appstreamcli refresh --force • Only refreshing metadata cache specific to the current user. ✔ Metadata cache was updated successfully.

$ appstreamcli search office

Identifier: com.governikus.ausweisapp2 [desktop-application] Name: AusweisApp2 Summary: Official authentication app for German ID card and residence permit Package: ausweisapp2 Homepage: https://www.ausweisapp.bund.de/en Icon: ausweisapp2_AusweisApp2.png

Identifier: net.sourceforge.sipe.purple [addon] Name: SIPE Summary: Pidgin protocol plugin to connect to MS Office Communicator Package: pidgin-sipe Homepage: http://sipe.sourceforge.net/

Identifier: org.kde.calligragemini.desktop [desktop-application] Name: Gemini Summary: Office Suite Package: calligra-gemini Homepage: https://www.calligra.org/gemini/ Icon: calligra-gemini_calligragemini.png

Identifier: ProjectCenter.desktop [desktop-application] Name: ProjectCenter Summary: The Official GNUstep IDE Package: projectcenter.app Icon: projectcenter.app_app-icon.png

Identifier: libreoffice-impress.desktop [desktop-application] Name: LibreOffice Impress Summary: Presentation program of the LibreOffice productivity suite Package: libreoffice-impress Homepage: http://www.libreoffice.org/discover/impress/ Icon: libreoffice-impress_libreoffice-impress.png

Identifier: libreoffice-calc.desktop [desktop-application] Name: LibreOffice Calc Summary: Spreadsheet program of the LibreOffice productivity suite Package: libreoffice-calc Homepage: http://www.libreoffice.org/discover/calc/ Icon: libreoffice-calc_libreoffice-calc.png

Identifier: libreoffice-writer.desktop [desktop-application] Name: LibreOffice Writer Summary: Word processor part of the LibreOffice productivity suite Package: libreoffice-writer Homepage: http://www.libreoffice.org/discover/writer/ Icon: libreoffice-writer_libreoffice-writer.png.

$ appstreamcli status AppStream Status: Version: 0.16.1

OS metadata sources: Software catalog data Group: os-catalog /usr/share/swcatalog/xml • Catalog XML: 4 /var/lib/swcatalog/yaml • YAML: 7 /var/cache/app-info/xmls • Catalog XML: 0 /var/lib/swcatalog/icons • Iconsets: ubuntu-lunar-updates-main ubuntu-lunar-main ubuntu-lunar-updates-universe ubuntu-lunar-universe ubuntu-lunar-multiverse ubuntu-lunar-security-main ubuntu-lunar-security-universe

Data from locally installed software Group: local-metainfo /usr/share/applications • Desktop Entry: 135 /usr/share/metainfo • MetaInfo XML: 90

Other metadata sources: • No metadata. Summary: ✔ We have information on 2663 software components.

ximion commented 1 year ago

This all looks good, so I am pretty sure now that there's something odd going on with GNOME Software. You could run sudo appstreamcli refresh --force though, to make sure the system cache is actually updated, and then see if the other commands yield the same results. But I am pretty sure they will.

Tuxman2 commented 1 year ago

Hello,

as I said on another topic, I dropped this problem. I don't have time to deal with it anymore because of my job. I returned to Manjaro and its pamac tool.

Thanks for taking the time to help me.

Regards.