Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
ProGet bug - Duplicate custom Feed Usage Instructions for Debian feeds
-
I first noticed this in 2025.2 and still happens after updating to 2025.6:
How to reproduce:
- Create a new debian feed
- In the feed properties, click on the link "Integrate with apt (built-in)"
- Click on the link "duplicate this instruction" at the top (or the "Duplicate" button at the bottom.
- Click on the "Save" Button (no need to change anything before that)
Result:
The duplication happens twice, resulting in a total of 3 Feed Usage Instructions.
After that, clicking on any of the 2 "duplicated" instances in order to edit it, triggers the following error dialog:(500) Server Error Sequence contains more than one matching element For more information, visit the Error Log Page.
The error log shows the following:
An error occurred in the web application: Sequence contains more than one matching element URL: http://proget.graudatastorage.intern/feed/edit-usage-instructions?feedId=28&feedUsageInstructionId=14&duplicate=False Referrer: http://proget.graudatastorage.intern/feed/manage?feedId=28 User: felfert User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:141.0) Gecko/20100101 Firefox/141.0 Stack trace: at System.Linq.ThrowHelper.ThrowMoreThanOneMatchException() at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found) at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source, Func`2 predicate) at Inedo.ProGet.WebApplication.Pages.Feeds.CreateOrUpdateFeedUsageInstructionsPage.CreateChildControls() in C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E578130\Src\src\ProGet\WebApplication\Pages\Feeds\CreateOrUpdateFeedUsageInstructionsPage.cs:line 30 at Inedo.ProGet.WebApplication.Pages.ProGetSimplePage.InitializeAsync() in C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E578130\Src\src\ProGet\WebApplication\Pages\ProGetSimplePage.cs:line 70 at Inedo.Web.PageFree.SimplePageBase.ExecutePageLifeCycleAsync() at Inedo.Web.PageFree.SimplePageBase.ProcessRequestAsync(AhHttpContext context) at Inedo.Web.AhWebMiddleware.InvokeAsync(HttpContext context) ::Web Error on 07/30/2025 10:30:28::
So: The custom instructions can not be edited anymore. Deleting one of them deletes both.
Note:
DB is postgres (was migrated after v2025 was released), running in a docker containerRegards
-Fritz
-
Also: the actual reason for always requiring custom instructions is, that the built-in instructions are missing an important detail:
Existing example (2nd line):
echo "deb http://...
should read:
echo "deb [signed-by=/etc/apt/keyrings/key.gpg] http://...
where key.gpg is the name of the key generated by the first line.
I remember that already being reported here by another user in the past.
Maybe you can change the builtin instructions, so that the custom edit is not necessary anymore.Cheers
-Fritz
-
Hi @inedo_1308,
Thanks for sending this over to us. I created a ticket, PG-3069, to fix the exception with editing. I'll also get the feed usage instruction and our documentation updated with the signed by parameter.
Thanks,
Rich
-
@rhessinger said in ProGet bug - Duplicate custom Feed Usage Instructions for Debian feeds:
Hi @inedo_1308,
Thanks for sending this over to us. I created a ticket, PG-3069, to fix the exception with editing. I'll also get the feed usage instruction and our documentation updated with the signed by parameter.
Thanks,
RichHi Rich,
I just looked at the ticket you created and I think, I was not clear enough in my description.
(I can see the ticket title only, so forgive me, i I'm overly pedantic :-)- The original culprit is that the "Duplication" actually does not duplicate but triples the description in the first place. The following error/exception (not being able to edit) is just a logical consequence.
- Furthermore, this happens with debian feeds only.
-
Hi @inedo_1308,
I updated the name on that ticket. It will also cause other issues with other feed types as well. It is an issue with how it creates usage instructions that have the same name as other usage instructions (both built-in and custom). As part of that ticket, we will handle fixing the editing and deleting of instructions that were created incorrectly. The display issue will most likely need to be fixed by manually deleting the duplicates and recreating them (post fix).
I will also fix the Debian usage instructions as well. Since I'll be touching the code where the built-in instruction is stored, I was planning to just include them in that ticket, but I can create a new ticket for that as well. When we wrote our documentation for Debian, signed-by was not a feature yet. In the latest updates for the updated Debian feed, most customers were still using the legacy way for adding ProGet as a source. It has really only been in this latest major of apt that signed-by has worked consistently for us.
I plan to work on these early this week. If you want, I can provide you with a CI release as soon as these are ready if you want to test them early.
Thanks,
Rich
-
@rhessinger said in ProGet bug - Duplicate custom Feed Usage Instructions for Debian feeds:
In the latest updates for the updated Debian feed, most customers were still using the legacy way for adding ProGet as a source.
Actually this feature (signed-by) is quite old. It just was badly documented for a long time (See this question) and therefore nobody used it.
So, for ubuntu, it should work since 16.04. On older systems however, the directory where the keys are to be stored did not exist and the recommended path of that directory changed over time.
The implementation in apt works with any directory (as long as it is readable by apt).
Therefore, a slightly modified command for downloading/generating of the key file should help (first line of existing instructions) like this:Old:
curl -fsSL http://my.proget.dom/debian/my-repo/keys/my-repo.asc | sudo gpg --dearmor -o /etc/apt/keyrings/my-repo.gpg
New:
sudo mkdir -p /etc/apt/keyrings; curl -fsSL http://my.proget.dom/debian/my-repo/keys/my-repo.asc | sudo gpg --dearmor -o /etc/apt/keyrings/my-repo.gpg
This should work even on older systems.
Sorry I forgot to mention that in the first place.
Cheers
-Fritz
-
@rhessinger said in ProGet bug - Duplicate custom Feed Usage Instructions for Debian feeds:
I plan to work on these early this week. If you want, I can provide you with a CI release as soon as these are ready if you want to test them early.
I would appreciate that very much :-)
Thanks
-Fritz
-
Hi @inedo_1308,
@inedo_1308 said in ProGet bug - Duplicate custom Feed Usage Instructions for Debian feeds:
Actually this feature (signed-by) is quite old. It just was badly documented for a long time (See this question) and therefore nobody used it.
Thanks for the additional details!
@inedo_1308 said in ProGet bug - Duplicate custom Feed Usage Instructions for Debian feeds:
I would appreciate that very much :-)
No problem, I'll reply back as soon I as I have a build ready.
Thanks,
Rich
-
Hi @inedo_1308,
I have just published a new CI build that should fix your issue. If you upgrade your Docker container to ProGet 25.0.8-ci.3, that should fix the problem with your feed usage instructions.
Thanks,
Rich