Uploaded image for project: 'Artifactory Binary Repository'
  1. Artifactory Binary Repository
  2. RTFACT-27075

copy debian package to multiple distributions in a local repository

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Open
    • Resolution: Unresolved
    • Affects Version/s: 7.37.13
    • Fix Version/s: None
    • Component/s: Debian
    • Location:
      External

      Description

      I would like to copy an existing debian package to another distribution within the same local repository.  I know that you can do this at upload time by Specifying Multiple Layouts, but I can't find a way to do it afterwords.

      As an example, I have a local repository named "updates".  We would like to 2 distributions "staging" and "production" similar to how Ubuntu manages "-proposed" and "-updates".  We would upload things to staging and then after some testing, we would copy them to "production".

      Is there a way to do that? Or will I have to use 2 repositories (each with a single distribution and its own pool)?

      I was hoping that I could accomplish this by:

      1. upload{{ }} to pool/my-package_1.0-1_all.deb}} with {{deb.distribution=staging;deb.component=main;deb.architecture=all
      2. Do testing
      3. upload package again to the same path but with deb.distribution=production;deb.component=main;deb.architecture=all

       

      My attempt to do that fails like this:

      $ curl --header "X-JFrog-Art-Api:$KEY" --fail --request PUT --dump-header - "https://smoser0.jfrog.io/artifactory/test2/pool/gnome-bluetooth/3.34.5-8/gnome-bluetooth-common_3.34.5-8_all.deb;deb.distribution=focal;deb.component=main;deb.architecture=all"
      HTTP/1.1 400 
      Date: Thu, 05 May 2022 15:11:28 GMT
      Content-Type: application/json;charset=ISO-8859-1
      Transfer-Encoding: chunked
      Connection: keep-alive
      X-JFrog-Version: Artifactory/7.37.11 73711900
      X-Artifactory-Id: a44cfecb3ee5ecc1e006644d3496e87b4da19646
      X-Artifactory-Node-Id: a0r68vnxwor6f-artifactory-primary-0
      Strict-Transport-Security: max-age=15724800; includeSubDomains
      Access-Control-Allow-Origin: https://connect.jfrog.io
      Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS
      Access-Control-Allow-Headers: User-Agent,Content-Type,Authorization,X-Explode-Archive,X-Explode-Archive-Atomic
      Access-Control-Allow-Credentials: false
      
      

      The response I'm getting is a 400 with payload:

      {
       "errors" : [ {
       "status" : 400,
       "message" : "Parent test2 must be a folder"
       } ]
      }
      

       

        Attachments

          Activity

            People

            Assignee:
            Unassigned
            Reporter:
            smoser S. Moser
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:

                Sync Status

                Connection: RTFACT Sync
                RTMID-27139 -
                SYNCHRONIZED
                • Last Sync Date: