Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    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

    Scheduled Pinned Locked Moved Support
    9 Posts 2 Posters 25 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • felfertF Offline
      felfert
      last edited by felfert

      I first noticed this in 2025.2 and still happens after updating to 2025.6:

      How to reproduce:

      1. Create a new debian feed
      2. In the feed properties, click on the link "Integrate with apt (built-in)"
      3. Click on the link "duplicate this instruction" at the top (or the "Duplicate" button at the bottom.
      4. 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 container

      Regards
      -Fritz

      1 Reply Last reply Reply Quote 0
      • felfertF Offline
        felfert
        last edited by

        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

        1 Reply Last reply Reply Quote 0
        • rhessingerR Offline
          rhessinger inedo-engineer
          last edited by

          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

          Products Engineer, Inedo

          felfertF 1 Reply Last reply Reply Quote 0
          • felfertF Offline
            felfert @rhessinger
            last edited by felfert

            @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,
            Rich

            Hi 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.
            1 Reply Last reply Reply Quote 0
            • rhessingerR Offline
              rhessinger inedo-engineer
              last edited by

              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

              Products Engineer, Inedo

              felfertF 1 Reply Last reply Reply Quote 0
              • felfertF Offline
                felfert
                last edited by felfert

                @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

                1 Reply Last reply Reply Quote 0
                • felfertF Offline
                  felfert @rhessinger
                  last edited by

                  @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

                  1 Reply Last reply Reply Quote 0
                  • rhessingerR Offline
                    rhessinger inedo-engineer
                    last edited by

                    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

                    Products Engineer, Inedo

                    1 Reply Last reply Reply Quote 0
                    • rhessingerR Offline
                      rhessinger inedo-engineer
                      last edited by

                      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

                      Products Engineer, Inedo

                      1 Reply Last reply Reply Quote 0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      • 1 / 1
                      • First post
                        Last post
                      Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation