Bug 265486 - www/py-lektor: 3.3.6 phase configure: No such file or directory: 'setup.py'
Summary: www/py-lektor: 3.3.6 phase configure: No such file or directory: 'setup.py'
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Vinícius Zavam
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-07-28 21:43 UTC by p5B2EA84B3
Modified: 2022-07-31 17:52 UTC (History)
2 users (show)

See Also:
egypcio: maintainer-feedback+
p5B2EA84B3: maintainer-feedback? (python)


Attachments
poudriere build log file (11.38 KB, text/plain)
2022-07-28 21:43 UTC, p5B2EA84B3
no flags Details
Poudriere run with DEVELOPER_MODE=yes (12.23 KB, text/plain)
2022-07-30 15:50 UTC, p5B2EA84B3
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description p5B2EA84B3 2022-07-28 21:43:53 UTC
Created attachment 235533 [details]
poudriere build log file

=======================<phase: configure      >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  Configuring for py39-Lektor-3.3.6
Traceback (most recent call last):
  File "<string>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'setup.py'
*** Error code 1

Stop.
make: stopped in /usr/ports/www/py-lektor
=>> Cleaning up wrkdir
===>  Cleaning for py39-Lektor-3.3.6
build of www/py-lektor@py39 | py39-Lektor-3.3.6 ended at Thu Jul 28 23:35:10 CEST 2022
build time: 00:00:05
!!! build failure encountered !!!
Comment 1 Vinícius Zavam freebsd_committer freebsd_triage 2022-07-30 14:14:52 UTC
sure you do not have any leftovers or extra patches on your build env?

  # poudriere bulk -j $J -p $PT -t -T -r -C www/py-lektor

that run just fine for 12, 13 and main; take a look at https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263922

I could not reproduce that error of yours. built, installed and started a server with current lektor from ports.
Comment 2 p5B2EA84B3 2022-07-30 15:50:36 UTC
Created attachment 235559 [details]
Poudriere run with DEVELOPER_MODE=yes
Comment 3 p5B2EA84B3 2022-07-30 15:53:24 UTC
(In reply to Vinícius Zavam from comment #1)

Here is the result with 
 # poudriere bulk -j $J -p $PT -t -T -r -C www/py-lektor

It fails the same way.
Comment 4 Vinícius Zavam freebsd_committer freebsd_triage 2022-07-30 17:50:43 UTC
mine also ran as DEVELOPER; I also took the time to start the bulk process with -I, and built it just fine inside the clean jail (same version as reported by your logs).

root@poudriere:/usr/ports # uname -UK
1301000 1301000


root@poudriere:/usr/ports # make -s -DBATCH -C www/py-lektor clean configure build all stage-qa check-plist

...

writing byte-compilation script '/tmp/tmpeedk5sa8.py'
/usr/local/bin/python3.9 /tmp/tmpeedk5sa8.py
removing /tmp/tmpeedk5sa8.py
running install_egg_info
Copying Lektor.egg-info to /wrkdirs/usr/ports/www/py-lektor/work-py39/stage/usr/local/lib/python3.9/site-packages/Lektor-0.0.0-py3.9.egg-info
running install_scripts
Installing lektor script to /wrkdirs/usr/ports/www/py-lektor/work-py39/stage/usr/local/bin
writing list of installed files to '/wrkdirs/usr/ports/www/py-lektor/work-py39/.PLIST.pymodtmp'
====> Compressing man pages (compress-man)
====> Running Q/A tests (stage-qa)
====> Running Q/A tests (stage-qa)
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
===> Checking for items in pkg-plist which are not in STAGEDIR
===> No pkg-plist issues found (check-plist)

root@poudriere:/usr/ports # echo $?
0

once confirmed that again, I run it one more time to install/reinstall the package, and proceeded with a little "dry-run" using an empty project with Lektor:

root@poudriere:/usr/ports # make -s -DBATCH -C www/py-lektor clean configure build all stage-qa check-plist deinstall install reinstall

...

root@poudriere:/usr/ports # pkg info -x lek                                                                                                                                                                     
py39-Lektor-3.3.6                                                                                                                                                                                               

root@poudriere:/usr/ports # cd `mktemp -d`
root@poudriere:/tmp/tmp.aPuFR0ok # lektor quickstart
Lektor Quickstart
=================

This wizard will generate a new basic project with some sensible defaults for
getting started quickly.  We just need to go through a few questions so that
the project is set up correctly for you.

Step 1:
| A project needs a name.  The name is primarily used for the admin UI and
| some other places to refer to your project to not get confused if multiple
| projects exist.  You can change this at any later point.
> Project Name: myproj

Step 2:
| Your name.  This is used in a few places in the default template to refer to
| in the default copyright messages.
> Author Name [Charlie &]: 

Step 3:
| This is the path where the project will be located.  You can move a project
| around later if you do not like the path.  If you provide a relative path it
| will be relative to the working directory.
> Project Path [/tmp/tmp.aPuFR0ok/myproj]: 

Step 4:
| Do you want to generate a basic blog module?  If you enable this the models
| for a very basic blog will be generated.
> Add Basic Blog [Y/n]: 

That's all. Create project? [Y/n] 

root@poudriere:/tmp/tmp.aPuFR0ok # cd myproj/ && lektor server
 * Project path: /tmp/tmp.aPuFR0ok/myproj/myproj.lektorproject
 * Output path: /root/.cache/lektor/builds/9d2f81e49526401c89c3d2a91d636e03
Started source info update
/usr/local/lib/python3.9/site-packages/werkzeug/serving.py:716: ResourceWarning: unclosed <socket.socket fd=9, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('0.0.0.0', 0)>
  self.socket = socket.fromfd(fd, address_family, socket.SOCK_STREAM)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
 * Running on http://127.0.0.1:5000 (Press CTRL+C to quit)
Finished source info update in 0.05 sec
Started build
U index.html
U projects/index.html
U about/index.html
U blog/index.html
U static/style.css
U blog/first-post/index.html
Finished build in 0.15 sec
Started prune
Finished prune in 0.00 sec
Comment 5 Vinícius Zavam freebsd_committer freebsd_triage 2022-07-30 17:52:54 UTC
FYI: host system is...

  * FreeBSD 14.0-CURRENT amd64 1400063 1400063 (main-n256697-b691e485bda5)
  * poudriere-git-3.3.0-1133-g4ccca662
Comment 6 p5B2EA84B3 2022-07-30 18:24:55 UTC
Host: releng/13.1-n250148-fc952ac2212
poudriere: poudriere-git-3.3.99.20220713

===>  Cleaning for py39-Lektor-3.3.6
===>  License BSD3CLAUSE accepted by the user
===>   py39-Lektor-3.3.6 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by py39-Lektor-3.3.6 for building
===>  Extracting for py39-Lektor-3.3.6
=> SHA256 Checksum OK for Lektor-3.3.6.tar.gz.
===>  Patching for py39-Lektor-3.3.6
===>   py39-Lektor-3.3.6 depends on package: py39-setuptools>=63.1.0 - found
===>   py39-Lektor-3.3.6 depends on file: /usr/local/bin/python3.9 - found
===>  Configuring for py39-Lektor-3.3.6
Traceback (most recent call last):
  File "<string>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'setup.py'
*** Error code 1

Stop.
make: stopped in /usr/ports/www/py-lektor
root@pkg:/usr/ports # echo $?
1
Comment 7 p5B2EA84B3 2022-07-30 18:28:33 UTC
(In reply to p5B2EA84B3 from comment #6)
root@pkg:/usr/ports # make -s -DBATCH -C www/py-lektor clean configure build all stage-qa check-plist
===>  Cleaning for py39-Lektor-3.3.6
===>  License BSD3CLAUSE accepted by the user
===>   py39-Lektor-3.3.6 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by py39-Lektor-3.3.6 for building
===>  Extracting for py39-Lektor-3.3.6
=> SHA256 Checksum OK for Lektor-3.3.6.tar.gz.
===>  Patching for py39-Lektor-3.3.6
===>   py39-Lektor-3.3.6 depends on package: py39-setuptools>=63.1.0 - found
===>   py39-Lektor-3.3.6 depends on file: /usr/local/bin/python3.9 - found
===>  Configuring for py39-Lektor-3.3.6
Traceback (most recent call last):
  File "<string>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'setup.py'
*** Error code 1

Stop.
make: stopped in /usr/ports/www/py-lektor


sorry did not copy paste all. This output is from within interactive poudriere jail.
Comment 8 Vinícius Zavam freebsd_committer freebsd_triage 2022-07-30 18:34:51 UTC
please share as many inputs as you can regarding the host system, and its poudriere configuration.
Comment 9 Vinícius Zavam freebsd_committer freebsd_triage 2022-07-30 18:36:01 UTC
(In reply to Vinícius Zavam from comment #8)

same applies to your local ports tree, and its vcs.
Comment 10 Vinícius Zavam freebsd_committer freebsd_triage 2022-07-30 18:50:07 UTC
meanwhile, I asked around on #bsdports@EFnet; let's see if we get more thoughts in here. I really can not reproduce that with fresh installed jails running 13.1/amd64.

all results from my side end as above described.
Comment 11 Charlie Li freebsd_committer freebsd_triage 2022-07-31 15:47:13 UTC
The real reason why this error happens is because upstream fully adopted PEP-517, which eliminates setup.py among other things. I've started some work on implementing support in the framework, but in the meantime you will have to create a hack.

https://wiki.freebsd.org/Python/PEP-517
Comment 12 commit-hook freebsd_committer freebsd_triage 2022-07-31 16:24:07 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=65eb08792cd4cb627667908f888d4858693535b7

commit 65eb08792cd4cb627667908f888d4858693535b7
Author:     Vinícius Zavam <egypcio@FreeBSD.org>
AuthorDate: 2022-07-31 16:20:20 +0000
Commit:     Vinícius Zavam <egypcio@FreeBSD.org>
CommitDate: 2022-07-31 16:20:20 +0000

    www/py-lektor: follow tips from vishwin@, and hack setup.py

      while here, set inifile version to be 0.4 instead of 0.4.1

    PR:             265486
    Reported by:    p5B2EA84B3 % t-online.de

 www/py-lektor/Makefile                    |  1 +
 www/py-lektor/files/patch-setup.cfg (new) | 11 +++++++++++
 www/py-lektor/files/patch-setup.py (new)  |  9 +++++++++
 3 files changed, 21 insertions(+)
Comment 13 p5B2EA84B3 2022-07-31 17:52:16 UTC
@Charlie: Thanks for the hint!

@egypcio: You should know the reason why this error did not happen on your side.

Thanks you both for your efforts!