<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 12, 2024, 12:57 AM Tim Dickson via SlackBuilds-users <<a href="mailto:slackbuilds-users@slackbuilds.org" target="_blank" rel="noreferrer">slackbuilds-users@slackbuilds.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>

  
    
  
  <div>
    <div>On 12/09/2024 06:29, Jeremy Hansen
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div dir="ltr"><br>
        </div>
        <br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Wed, Sep 11, 2024 at
            4:23 AM fourtysixandtwo <<a href="mailto:fourtysixandtwo@sliderr.net" rel="noreferrer noreferrer" target="_blank">fourtysixandtwo@sliderr.net</a>>
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On
            Tue, Sep 10, 2024 at 12:55 PM Jeremy Hansen <<a href="mailto:jebrhansen%2BSBo@gmail.com" rel="noreferrer noreferrer" target="_blank">jebrhansen+SBo@gmail.com</a>>
            wrote:<br>
            > export SETUPTOOLS_SCM_PRETEND_VERSION=$VERSION<br>
            ><br>
            > and a few<br>
            ><br>
            > export PDM_BUILD_SCM_VERSION=$VERSION<br>
            ><br>
            > to fix some issue with versions not being detected
            properly during build time (although, I believe several are
            due to me choosing GitHub tarballs instead of PyPi, which
            are packaged differently). If those hacks were to be fixed
            by these updates, I'd remove them.<br>
            <br>
            I use the pypi tarballs solely because I can also grab the
            MD5SUM they provide with my update script.</blockquote>
          <div><br>
          </div>
          <div>This isn't an issue for me as my update script will
            generate MD5SUM automatically no matter how many source
            files there are. It will just download everything in the
            DOWNLOAD or DOWNLOAD_X86_64 variables in the .info (if they
            don't already exist) and then generate MD5s for all of them
            and update the .info file.</div>
          <div> </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">It
            is a bonus that I haven't had to use those methods above
            with any builds I maintain.</blockquote>
          <div><br>
          </div>
          <div>This is a minor inconvenience for a handful of packages
            that prefer downloads from PyPi or a git clone (rather than
            an archive download from a tag/release). Luckily, out of the
            150+ packages I maintain, there's probably less than a dozen
            that I had to add this tweak/hack. I think my preference to
            GitHub was many python packages I took over that used PyPi
            as their source location used hashed download links, which
            prevented my update script from using the right download
            link (although, I suppose I could add the functionality to
            switch to links that simply require updating the version --
            future me will worry about that :D). This led me to prefer
            GitHub links and then outta sheer stubbornness, when
            problems arose from it, I found hacks to continue using
            GitHub over PyPi.</div>
          <div> </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I
            just checked with python3-tox and python3-pyproject-api
            tarballs from pypi and they both include a
            "src/*/*version.py".  One does have to watch for the change
            in source from say pyproject-api to pyproject_api in both
            download and SRCNAM though.<br>
            <br>
            Have you come across this for troubleshooting?<br>
            export SETUPTOOLS_SCM_DEBUG=true<br>
          </blockquote>
          <div><br>
          </div>
          <div>I was not aware of that flag, however, it led to either a
            similar or the same issue (too lazy to investigate further
            right now).</div>
          <div><br>
          </div>
          <div>"mAke sURe yoU're EitHer bUildINg frOM A FulLy iNTAcT git
            RepOsiToRY oR PyPi taRbaLLs."</div>
          <div><br>
          </div>
          <div>Error, meet stubbornness (my hack) :D</div>
          <div> </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">While
            we are on the topic of setuptools_scm, I have a method using<br>
            venv to upgrade it to 8.1.0, but unfortunately the newer
            versions do<br>
            not honour PYTHONPATH precedence and import the older
            slackware 15.0<br>
            version.  One would have to remove the older system package
            or use the<br>
            venv hack on every slackbuild that requires the newer
            setuptools_scm<br>
            in /opt.</blockquote>
          <div><br>
          </div>
          <div>I mean, we currently have to add hacks in SlackBuilds to
            use newer python packages residing in /opt/ (which are
            mostly, if not entirely, packages you maintain). This has
            opened up the ability to upgrade a lot of python packages
            further than would be allowed if we solely used the packages
            from 15.0. They've been very helpful in allowing upgrades
            without additional hacks.</div>
          <div><br>
          </div>
          <div>If the newer version offers something severely lacking on
            Slackware or SBo today, I (and I can only speak for myself),
            have no issues adding a line or few to my SlackBuilds that
            require that newer version.</div>
          <div> </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Upstream
            is aware of this issue but don't have any interest in fixing
            it currently.</blockquote>
          <div><br>
          </div>
          <div>That sucks.</div>
          <div> </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">>
            Go for it! It's easier than me trying to merge your changes
            and submit a PR this week.<br>
            <br>
            Done!<br>
          </blockquote>
          <div><br>
          </div>
          <div>Thanks! </div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
SlackBuilds-users mailing list
<a href="mailto:SlackBuilds-users@slackbuilds.org" rel="noreferrer noreferrer" target="_blank">SlackBuilds-users@slackbuilds.org</a>
<a href="https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users" rel="noreferrer noreferrer" target="_blank">https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users</a>
Archives - <a href="https://lists.slackbuilds.org/pipermail/slackbuilds-users/" rel="noreferrer noreferrer" target="_blank">https://lists.slackbuilds.org/pipermail/slackbuilds-users/</a>
FAQ - <a href="https://slackbuilds.org/faq/" rel="noreferrer noreferrer" target="_blank">https://slackbuilds.org/faq/</a>

</pre>
    </blockquote>
    i found that for some python builds github archives/tags were
    missing some of the source, which was included in pypi source
    download, so have to use pypi for those. it's a bit more
    inconvenient, as the url's have the hashes as you mentioned, but
    it's not too awkward.<br>
    regards, Tim<br></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">You can change the PyPi URLs to not have hashes, but you can also usually bypass the missing source files when getting it from GitHub with variables passed during the build process.</div><div dir="auto"><br></div><div dir="auto">I usually choose the latter out of spite for PyPi not defaulting to non-hashed source links.</div><div dir="auto"><br></div><div dir="auto">However, if you're interested in bypassing the hash-based sources with PyPi, it is based on the following URL layout: </div><div dir="auto"><br></div><div dir="auto"><div dir="auto"><a href="https://files.pythonhosted.org/packages/source/$%7BPROJECT::1%7D/$%7BPROJECT%7D/$%7BPROJECT%7D-$%7BVERSION%7D.tar.gz" target="_blank" rel="noreferrer">https://files.pythonhosted.org/packages/source/${PROJECT::1}/${PROJECT}/${PROJECT}-${VERSION}.tar.gz</a></div><div dir="auto"><br></div><div dir="auto">The ${PROJECT::1} being the first letter of the project/package name. </div><div dir="auto"><br></div><div dir="auto">So if it was tox (which is python3-tox on SBo) the url would be (replacing ${VERSION} with the actual version): </div><div dir="auto"><br></div><div dir="auto"><a href="https://files.pythonhosted.org/packages/source/t/tox/tox-$%7BVERSION%7D.tar.gz" target="_blank" rel="noreferrer">https://files.pythonhosted.org/packages/source/t/tox/tox-${VERSION}.tar.gz</a><br></div><div dir="auto"><br></div><div dir="auto">I have a bash function that can find the non-hashed URL for PyPi sources and will correct any download links for GitHub (since they do funky stuff with content disposition). You can work it into a script, add it to your shell using a bashrc or similar, or make it its own script. </div><div dir="auto"><br></div><div dir="auto"><a href="https://github.com/bassmadrigal/scripts/blob/master/check-source-download.sh">https://github.com/bassmadrigal/scripts/blob/master/check-source-download.sh</a><br></div><div dir="auto"><br></div><div dir="auto">Jeremy</div><div dir="auto"><br></div><div dir="auto">(I don't know what the crap is going on with the below section of quoted email. I couldn't delete it using Gmail's android app. It really frustrated me, but not enough to go to my computer and see if I can fix it there.)</div></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
  <div id="m_1604736823357027847m_-8577503947355451845DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br><table style="border-top:1px solid #d3d4de"><tbody><tr><td style="width:55px;padding-top:13px"><a href="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" rel="noreferrer noreferrer" target="_blank"><img src="https://s-install.avcdn.net/ipm/preview/icons/icon-envelope-tick-green-avg-v1.png" alt="" width="46" height="29" style="width:46px;height:29px"></a></td><td style="width:470px;padding-top:12px;color:#41424e;font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px"><br></td></tr></tbody></table></div></div>
</blockquote></div></div></div>