Yaourt: The requested URL returned error: 404 Not Found

Hello,

I tried Netrunner Rolling again and some packages can’t be updated with the command :

$ yaourt -Syua --devel

[code]Targets (3): gnome-breeze-git kdeconnect-git
samba-mounter-frameworks-git

==> Proceed with upgrade? [Y/n]
==> ----------------------------
==>
==> Building gnome-breeze-git from sources.

==> Retrieving PKGBUILD and local sources…
==> netrunner/gnome-breeze-git: Download abs archive

curl: (22) The requested URL returned error: 404 Not Found
==> Building kdeconnect-git from sources.

==> Retrieving PKGBUILD and local sources…
==> netrunner/kdeconnect-git: Download abs archive

curl: (22) The requested URL returned error: 404 Not Found
==> Building samba-mounter-frameworks-git from sources.

==> Retrieving PKGBUILD and local sources…
==> netrunner/samba-mounter-frameworks-git: Download abs archive

curl: (22) The requested URL returned error: 404 Not Found[/code]

Manjaro, and thus Netrunner Rolling, is not compatible with the ABS, using yaourt -Syua --devel will not work.
Remove the --devel and it will update any packages that have updates available.
However, some of the packages built for the Netrunner repositories were created using our own pkgbuild’s, patches, and/or files, updating these from the AUR might break these applications.

I’m not sure about that. If I do this “$ yaourt -S youtube-dl-gui-git” on Manjaro that works. And after if I do “$ yaourt -Syua --devel” that works too it build again youtube-dl-gui-git and an other “AUR git” package too.

I think that the way you include some “git” package is somewhat broken. They should not interfere with this command “$ yaourt -Syua --devel” if they can’t be rebuilt.

Not every AUR package would need ABS (–devel) in order to update from the AUR.
The packages that do build when you issue --devel are the ones that didn’t need the --devel switch in the first place.
Manjaro removed ABS from their repositories some time ago: https://forum.manjaro.org/index.php?topic=188.0

Ok but if I do this in Manjaro “$ yaourt -Syua” this is what happen :

:: Synchronizing package databases... core is up to date extra is up to date community is up to date multilib is up to date Foreign packages: \ 3 / 3
No update.

But if I do “$ yaourt -Syua --devel”

[code]:: Synchronizing package databases…
core is up to date
extra is up to date
community is up to date
multilib is up to date
Foreign packages: \ 3 / 3
==> upgrading SVN/CVS/HG/GIT package

Targets (2): gnome-breeze-git youtube-dl-gui-git

==> Proceed with upgrade? [Y/n]
==> ----------------------------
==> [/code]
And I can update the “AUR git” package installed. So, I don’t know but, ABS has maybe nothing to do with this ?

It does in this circumstance because these packages do not have updated pkgbuild files in the AUR.
If you really want to rebuild these packages that have not been updated in the AUR for whatever reason, usually because the git’s themselves have not been updated, than you should have a look at how to do so using manjaro-tools.

Note: I keep eye on these gits myself, if there is an update warranted then I rebuild them for our repository.

The point of AUR package with -git in their name is to update them without the need to update the pkgbuild files if I understand this correctly. So the yaourt -Syua --devel is mandatory to update these packages.

Maybe it’s better to “simply” provide already built packages in your repo for the extra or customized git packages that Netrunner use. That way it will not interfere with the “AUR git” packages.

OK, I see the problem. Technically --devel is not required to update -git packages from the AUR.

The issue is the ones in the repository are already built using a newer git commit than is reported by the AUR entry (pkgbuild). This is why it’s trying to pull a pkgbuild from an abs archive in the netrunner repository that doesn’t exist.

If you really wish to update these packages using the pkgbuild files from the AUR, then you’ll need to specify the AUR like this:

yaourt -S aur/kdeconnect-git

Etc.

PS. I’ll look into renaming our packages as to not conflict with the AUR in the future for you. I never thought about this becoming an issue as most end users would never think about trying to do what you are attempting. :wink:

Also keep in mind that the use of the AUR, just like in Arch, is not officially supported by Netrunner. Updating your system using yaourt is definitely not supported. We can only officially support the packages that we provide in our repositories.

One by one maybe but if you want to update -git packages all at once it’s mandatory I think.

Thank you. For now I’m still on Netrunner 14.2 but I’m thinking about switching to the rolling release.

Thank you, we really should be able to update everything without any problem and I can’t be the only one to want the lastest and greatest ! :wink:

I know that :wink:

Yes, but my pkgbuilds for these are NOT exactly the same as the ones listed in the AUR, I seem to always need to modify something in them, so I can’t guarantee that those will work the same. Also if the pkgbuild files are being updated as they should then --devel shouldn’t be needed. The issue comes down to the maintainer of those AUR entries either loosing interest, or are too lazy to keep them up to date, or simply have other things more important on their plate. It’s also possible that the latest commit to the git breaks something so the AUR maintainer decided to not update until it was fixed. These are after all just AUR entries that are not even supported by Arch themselves.

Ok, I know you are doing your best and for that I thank you a lot. I don’t want to spend a lot of time (mine and yours) on this. I still feel there is something wrong here but after all, if I have a problem with Netrunner Rolling I can just use Manjaro :wink: Just for saying, with Manjaro there is not this kind of problem and I really think you can avoid it. Maybe you should talk with the Manjaro devs ?

I think you miss the point of -git package. The maintainer won’t update the pkgbuild files for each commit to the source but only if a commit need an updated pkgbuild files.

Thank you !

Yes I do know how git works and how pkgbuild files work. The thing is your using the --devel switch which will rebuild a new package regardless of the git source not having any new commits, and why it’s trying to pull from a non existing ABS archive. Most users don’t use that switch and these packages would update if the git has without it. These git sources just haven’t had any updates (new commits) to them since I last built the packages, I just had git-cola-git update without the --devel switch or the pkgbuild being updated, so that’s not the issue.

I do work closely with the Manjaro developers, and I will try and find a solution and fix this issue for you. I just didn’t notice it until you mentioned it.

Note: I’m not trying to be argumentative or off putting, I’m just trying to resolve an issue I didn’t realize we had

I don’t doubt of your skills and I’m very happy to see that you work closely with the Manjaro developers and you will fix this “little” issue. As you can see on the yaourt homepage the use of --devel is the 2° example. I don’t think is so unusual to use it.
https://archlinux.fr/yaourt-en#examples

Let say that you forgot (point 2) :wink:
http://forums.netrunner.com/showthread.php?tid=17915

I really like that way of thinking ! It’s only that way we can achieve to have a really good OS.

Yes, I did forget about that post, sorry. I have a lot more than just working on this going on and my memory isn’t like it was 20+ years ago. I did however have the same main answer back then, It’s never a good idea to update using yaourt. :wink:

I could rename the packages I build for the netrunner repository as a work around but that’s not what’s causing the actual issue. Most of the time, if I do need to make a change to a pkgbuild file I push it upstream to the maintainer of the AUR entry anyway. Also If I rename the ones in the Netrunner repository you wouldn’t get these updated when the git sources do receive a commit without me rebuilding them. As it stands now if the git itself gets an update (new commit) then yaourt -Syua should update these packages without the need for --devel, which is what’s to blame for this issue.

[quote]
Sync database, upgrade packages, search aur and devel[/quote]
There is no devel for these packages in the repositories and why it’s giving an abs archive error.

Do you mean that command “yaourt -Syua” check if there is a new commit in the git repo and rebuild the package if necessary ? I didn’t see that explained anywhere.

I rather understand that the “devel” packages are the one that end with “-git” and they can only be updated/rebuilt with the “–devel” parameter.

OK, pacman -Syua will update anything that can be updated from the official repositories and the AUR. The --devel parameter tells yaourt to also search devel for updates to packages, this is why it’s trying to download from netrunner/{packagename} an ABS archive. Netrunner does not have an ABS devel repository, so this is not going to work using that switch. You would have the same issue with any other community edition that has AUR built packages in their own repositories. Manjaro doesn’t use ABS for building packages they have box-it and manjaro-tools for this. Manjaro is not compatible with the Arch ABS system.

https://forum.manjaro.org/index.php?topic=27476.0

Note: all pkgbuilds from the AUR are handled exactly the same, the “-git” in the name is just to let the end user know it’s the latest git code that will be used and not the release version, even if the release version is still being pulled from git. The same goes for SVN, CVS and HG as well as rpm and deb packages.

I understand that Manjaro is not compatible with the Arch ABS system. I know that the “-git” in the name is just to let the end user know it’s the latest git code that will be used and I know that there are handled exactly the same as the others packages.

But what I mean is, for the “-git” packages, if you want to update them before the pkgbuild files is updated or each time you check for update you have to use “–devel”.

I now think that I’m wrong to want use “–devel” because, if I understand better the principle, if a “-git” package need an update the pkgbuild files need to be updated so a simple “yaourt -Syua” will, of course, update it.

Do we agree ?

Yes and no, when you build/install a package from the AUR it downloads the pkgbuild file first, then reads and executes against it. Usually for git packages the md5sum is set to skip because the version number doesn’t really mean anything, this does depend however on how the pkgbuild file is written. So, yaourt -Syua should update any -git package that is older than the version reported by git, not what the pkgver string reads in the pkgbuild, again this does depend on how the pkgbuild is written. If git reports -git345 and what is installed is -git344 then it should rebuild/install from the AUR, now if git reports -git345 and what is installed is -git345 or higher then it doesn’t. The problem is when you add the --devel switch it also tries to search and build using a development repository containing custom pkgbuild files for use with ABS (Arch Build System). This is why that switch doesn’t work in this case.

Now just like with pacman you can specify to install update the AUR package over what is in the repositories. In other words, Netrunner is before core which is before extra etc. in the pacman.conf file. What ius in Netrunner takes priority over all the other repositories. Now the AUR is always last in this list. In order to update a package from a latter listed repository instead of waiting for the package maintainer (in this case me) to update their package you would need to specify the repository to install from.

Since Netrunner is above extra and the package exists in both repository you would need to use pacman -S extra/package to install the one in extra, the same goes for AUR packages the command then would be yaourt -S aur/packagename.

I hope this has helped you to understand what’s happening.

AJSlye, thank you very much for all these explanations I understand a lot better what’s happening now :wink:
I hope to have not bother you :slight_smile:

That’s what I’m here for. :smiley: