emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ELPA] New package: use-package


From: Stefan Monnier
Subject: Re: [ELPA] New package: use-package
Date: Thu, 03 Nov 2022 13:22:16 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

> You crystal ball was right! After pruning worktree the command worked,
> but I am quite confused at the output. I've attached the logs for my
> attempt to build, can you please check if I did something incorrectly?

> In particular the build command fails because it complains makeinfo is
> not available, but I clearly have it in path.
[...]
> ~/g/elpa main $ makeinfo --version
> texi2any (GNU texinfo) 6.8
>
> Copyright (C) 2021 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
>
> ~/g/elpa main $ make build/use-package
> emacs --batch -l /home/payas/git/elpa/admin/elpa-admin.el       \
>          -f elpaa-batch-make-one-package use-package
> Updating worktree in "/home/payas/git/elpa/packages/use-package/"
> Updated use-package:
> Auto-merging use-package-core.el
> Merge made by the 'ort' strategy.
>  README.md            | 4 ++--
>  use-package-core.el  | 4 ++--
>  use-package-tests.el | 7 +++++++
>  3 files changed, 11 insertions(+), 4 deletions(-)
>
> ======== Building tarball 
> archive-devel/use-package-2.4.4.0.20221103.163652.tar...
> Build error for archive-devel/use-package-2.4.4.0.20221103.163652.tar: (error 
> "Error-indicating exit code in elpaa--call-sandboxed:
> bwrap: execvp makeinfo: No such file or directory
> ")
> ######## Build of package 
> archive-devel/use-package-2.4.4.0.20221103.163652.tar FAILED!!

The problem comes from `bwrap` here, which our scripts use to
try and protect `elpa.gnu.org` from mishaps.  Not sure why the command
run from `bwrap` can't find `makeinfo`.  Maybe your `makeinfo` is not in
one of the directories that are accessible within the sandbox (see
`elpaa--sandbox-ro-binds` in `.../elpa/admin/elpa-admin.el`)?
You should be able to circumvent the problem by editing `elpa-config`
and adding

    (sandbox nil)

to it.

> Also make after build only seems to build setup-ox-hugo.el.
[...]
> ~/g/elpa main $ make packages/use-package
> Generating description file packages/use-package/use-package-pkg.el
> emacs --batch -l admin/elpa-admin.el                               \
>          -f elpaa-batch-generate-autoloads 
> packages/use-package/use-package-autoloads.el
>   INFO     Scraping files for loaddefs...
>   INFO     Scraping files for loaddefs...done
>   GEN      use-package-autoloads.el
> Byte compiling packages/use-package/bind-chord.el
> Unable to activate package `use-package'.
> Required package `bind-key-2.4' is unavailable
> Byte compiling packages/use-package/bind-key.el
> Unable to activate package `use-package'.
> Required package `bind-key-2.4' is unavailable
> Byte compiling packages/use-package/doc/setup-ox-hugo.el
> Unable to activate package `use-package'.
> Required package `bind-key-2.4' is unavailable
>
> In toplevel form:
> packages/use-package/doc/setup-ox-hugo.el:192:51: Warning: reference to free 
> variable `ox-hugo-default-lisp-directory'
> packages/use-package/doc/setup-ox-hugo.el:215:21: Warning: reference to free 
> variable `org-emphasis-regexp-components'
> packages/use-package/doc/setup-ox-hugo.el:222:33: Warning: Unused lexical 
> argument `file'
> packages/use-package/doc/setup-ox-hugo.el:224:4: Error: `add-to-list' can't 
> use lexical var `ob-lang-alist'; use `push' or `cl-pushnew'
> packages/use-package/doc/setup-ox-hugo.el:224:4: Error: `add-to-list' can't 
> use lexical var `ob-lang-alist'; use `push' or `cl-pushnew'
> packages/use-package/doc/setup-ox-hugo.el:230:56: Warning: Unused lexical 
> argument `body'
> packages/use-package/doc/setup-ox-hugo.el:238:11: Warning: assignment to free 
> variable `org-confirm-babel-evaluate'
> packages/use-package/doc/setup-ox-hugo.el:241:11: Warning: assignment to free 
> variable `org-export-headline-levels'
> packages/use-package/doc/setup-ox-hugo.el:242:19: Warning: reference to free 
> variable `org-export-exclude-tags'
> packages/use-package/doc/setup-ox-hugo.el:242:19: Warning: assignment to free 
> variable `org-export-exclude-tags'
>
> In end of data:
> packages/use-package/doc/setup-ox-hugo.el:238:40: Warning: the function 
> `ox-hugo-org-confirm-babel-evaluate-fn' is not known to be defined.
> packages/use-package/doc/setup-ox-hugo.el:218:4: Warning: the function 
> `org-set-emph-re' is not known to be defined.
> packages/use-package/doc/setup-ox-hugo.el:208:4: Warning: the function 
> `org-hugo-export-wim-to-md' is not known to be defined.
> packages/use-package/doc/setup-ox-hugo.el:75:49: Warning: the function 
> `vc-git-root' is not known to be defined.
> make: *** [GNUmakefile:119: packages/use-package/doc/setup-ox-hugo.elc] Error 

While the bulk of the output comes from `setup-ox-hugo.el` it's not the
only file compile, as we can see several messages of the form:

    Byte compiling packages/use-package/<foo>.el

It's just that most of the files have been cleaned up not to emit
warnings, whereas `setup-ox-hugo.el` has not enjoyed the same care.

> There are also couple of errors, there are couple of errors too, and
> I'm not sure if fixing them is worth it.

The overall error is because of the `add-to-list` error above
encountered during compilation of `setup-ox-hugo.el`.
Should be easy to fix, so I'd encourage you to fix those errors and
warnings, especially since the rest of the code is "warning-free".

> My understanding is that we only need to add copyrights to the file
> because entire repo is cloned to GNU machines. But even after adding
> copyright headers, IMO adding doc/* to :ignored-files is the right thing
> to do as it does not serve users directly.

Indeed the two choices are independent.  Whether to include the `doc`
subdir in the tarball depends on whether the increased tarball size is
a problem and whether that `doc` is relevant for users of `use-package`.
I don't know enough about what that `doc` holds to give
a good recommendation.

> ~/g/elpa main ?1 2.7s [2] make build/bind-key
> emacs --batch -l /home/payas/git/elpa/admin/elpa-admin.el       \
>          -f elpaa-batch-make-one-package bind-key
> Cloning branch bind-key:
> Preparing worktree (new branch 'externals/bind-key')
> branch 'externals/bind-key' set up to track 'origin/externals/bind-key'.
> HEAD is now at 0be480ea77 Merge pull request #1009 from 
> andreyorst/face-spec-set-third-argument
>
> ======== Building tarball 
> archive-devel/bind-key-2.4.1.0.20221029.145719.tar...
> ######## Built new package archive-devel/bind-key-2.4.1.0.20221029.145719.tar!
> ======== Building tarball archive/bind-key-2.4.1.tar...
> ######## Built new package archive/bind-key-2.4.1.tar!

This worked.

> ~/g/elpa main ?1 1.2s ? make packages/bind-key

Since both use the same repository, they contain the same files, and so
compiling `bind-key` or compiling `use-package` should basically do the same.
[ This "compiling" is for in-place installation of the package, where
  we can't really install `use-package` without also installing
  `bind-key` and vice-versa.  ]


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]