Received: (at 76325) by debbugs.gnu.org; 17 Feb 2025 05:01:31 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 17 00:01:31 2025 Received: from localhost ([127.0.0.1]:40968 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tjtG6-0000P9-64 for submit <at> debbugs.gnu.org; Mon, 17 Feb 2025 00:01:31 -0500 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]:48343) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <armindarvish@HIDDEN>) id 1tjpHB-0004Uy-13 for 76325 <at> debbugs.gnu.org; Sun, 16 Feb 2025 19:46:23 -0500 Received: by mail-pj1-x1033.google.com with SMTP id 98e67ed59e1d1-2fc3027c7aeso4337124a91.0 for <76325 <at> debbugs.gnu.org>; Sun, 16 Feb 2025 16:46:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739753175; x=1740357975; darn=debbugs.gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=Mi9i4OL1UByMm0nz50a+dGvuZQPW0ey4hs5tBbRA94U=; b=eKHwUtLz2r4vlXD5ttxbaSCU0twnEPpW+Di35uQoNp77JqJWiu31jJ7RmAkEF+mNpF wLENlDwSdVrrVSLwSgp2QYaxnstQdlGGckEAekyq33jKKOY9mcVlHi2QEf+UBsljWd7Q mCvKDI796/YFPNmZ41IelFBDme/JYjWVsBND5py4QlpyPxv0Iefciv/Z8Mps5Hsw2RRo 5jmS/eEjx8BBIQVDDUkMVc4c5ngDukO8MXpmuVyzGue0iOoTY1jJ7lTmmrKAEtxFSHP6 VhSVwaqTLj8wIrmhj9IY1n5RZN4SUN7HS34dfRDw1jTTgmmH2oBZz0ibZ1azclZKDgZD ATcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739753175; x=1740357975; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Mi9i4OL1UByMm0nz50a+dGvuZQPW0ey4hs5tBbRA94U=; b=mnStVFWNxdE0NKR3b1rohEaprizkq36amlGOyqPfrOWiNRSxG7VJpdmaPx2UMQwv95 3dshZZ0nlYKKmRc3HGs3oXR4lvsVnBW07LwhqzIG/eVzOurwu0Di23k1euFL5eR+EWfK 27mkVCiWCLFmYppYdF2mZzmzudlR2URxAa/O5jyqeS/rcqclW1yfMhYfmqWHV0EFaXlW 5RfluNo+QGBFogl1WNu7MV4C+9zZp7WW7zDZdr10MypHdWMfxQpriHUxJcFBcJ9ab5Iy QiW2YPg3iwAKGSueb8kEDzemkNWlp8JYWF4/RaN/h+LnZ8g2a1bX3fR2vTVy3z9gNxUe n5Rw== X-Forwarded-Encrypted: i=1; AJvYcCVQTuq9g7iO1gQ+qv5NvP3R3JriWJRg31j9VbJPAb9WBLo/qlKWkc2VVBzwj5ZQgn1gyg8TiQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzbsxLvGdOPqlYZXY5marISCIiZcIGBJUenuDmdJEsIv9w5dciU uMjlyuaAsVRARo7OFtuvJfmxyEu41d3267VaJI+eikEwZV2bvh3T X-Gm-Gg: ASbGncudcPNpxuek5jJRQmP5CBxNtwxc8rck7NPkbez5rf7xgEV/v68Vjvlyo9yWMeR YIAlnZTd9A7Aw9q6p2ADebsWwWaFfukjarnHnc/n5TkqGJ+JYGm+u9IyXOa0aiVuRsphSICek5F OtcGLtjJvvZ4GYh1FXEpNdR9hjArz+pu7Kg/ZAbgHcGqfLMI2IlUgujlsKmV+dENnKngCFLcQxM OEgs6uge5QVA4q1qxtTTBODkGQJXif6K+V4GDCdzWEBdFqUbNmkt5QOWsOctrTGvMCXsl23aD/1 8vGyoi06573nL1KAJTlClahm8YvuxkQ28uLwKg== X-Google-Smtp-Source: AGHT+IGPdSXiRbC4H/Wzl5NUkQJ7O/3l7/AszDSBb0zooLYHg1Mg8N61H8tlE3jC10vm98I4zzp4Mg== X-Received: by 2002:a17:90b:4a09:b0:2ea:9ccb:d1f4 with SMTP id 98e67ed59e1d1-2fc4078e984mr14889773a91.0.1739753174539; Sun, 16 Feb 2025 16:46:14 -0800 (PST) Received: from localhost ([2603:3024:16f9:5000:18ad:db33:990b:18cd]) by smtp.gmail.com with UTF8SMTPSA id 98e67ed59e1d1-2fbf9aaf1cbsm8819220a91.41.2025.02.16.16.46.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Feb 2025 16:46:14 -0800 (PST) From: Armin Darvish <armindarvish@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN> Subject: Re: bug#76325: 30.0.93; package-vc-install fails with repositories that contain multiple single-file packages In-Reply-To: <87wmdpbu14.fsf@HIDDEN> (Philip Kaludercic's message of "Sun, 16 Feb 2025 18:53:43 +0000") References: <m2cyfin7af.fsf@HIDDEN> <87wmdpbu14.fsf@HIDDEN> Date: Sun, 16 Feb 2025 16:46:12 -0800 Message-ID: <m2v7t9o0tn.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76325 X-Mailman-Approved-At: Mon, 17 Feb 2025 00:01:09 -0500 Cc: 76325 <at> debbugs.gnu.org, Armin Darvish <armindarvish@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: multipart/alternative; boundary="==-=-=" --==-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Philip, I am on emacs versio 30.0.93. and I tried an init file like this: ,---- | ;;; init.el --- -*- lexical-binding: t; -*- |=20 | (require 'package) | (package-initialize) | (package-vc-install | '(consult-omni :url "https://github.com/armindarvish/consult-omni" | :main-file "consult-omni.el")) `---- > The issue we have to keep in mind is that since we add the repository > directly to `load-path', all the files can be used no matter what > "specific" file you might intend to use. To retain usability and not > have unexpected function calls fail, we rather install all the > dependencies. My understanding was that packages are either a single-file package, which = won't have this problem, or a multi-file package, in which case, the "Packa= ge-Requires: " header should only be in the main file and not the extra lis= p files. As far as I know, other package managing systems (like MELPA) don'= t use hte "Package-Requires: " header in the files other than the main lisp= file either. Note that, we can still add all the files in the repo to load= -path, but when automatically making the "define-package" declaration in a = "package-pkg.el" file, the dependencies should be inferred form the main fi= le and not others, otherwise there will be weird looped dependencies. For e= xample, in case of embark with the following init file: ,---- | ;;; init.el --- -*- lexical-binding: t; -*- |=20 | (require 'package) | ;; Adds the Melpa archive to the list of available repositories | (setq package-archives | '(("elpa" . "https://elpa.gnu.org/packages/") | ("melpa-stable" . "https://stable.melpa.org/packages/") | ("melpa" . "https://melpa.org/packages/"))) | ;; Initializes the package infrastructure | (package-initialize) | (package-refresh-contents) |=20 | (use-package embark | :vc (:url "https://github.com/oantolin/embark")) |=20 `---- I can see multiple versions of embark being pulled from MELPA becuase of lo= oped depenncies in the embark-pkg.el file automatically created by package-= vc-install. Here is the contents of that file: ,---- | (define-package "embark" "1.1" "No description available." '((emacs "25.1= ") (embark "0.9") (avy "0.5") (emacs "27.1") (compat "29.1.4.0") (embark "1= .0") (consult "1.0")) :kind vc :commit "195add1f1ccd1059472c9df7334c97c4d15= 5425e") `---- Note that while this installs just fine, it is pulling 3 different versions= of embark from MELPA becuase of this inferred looped self-dependency from = differnt *.el files in embark repo, which is not the intended behavior by t= he author of that package. That said, I agree with the point that there can potentially be other solut= ions like terminating properly as you said or even better would be detectin= g and ignoring any self-dependency. I cannot think of any scenario where a = package should depend on its own or on an older version of its own. Philip Kaludercic @ 2025-02-16 18:53 : > Armin Darvish <armindarvish@HIDDEN> writes: > >> Hello, >> >> I have noticed that with vc repositories that contain multiple related s= ingle-file >> packages, package-vc-install creates looped self-dependency that can cau= se errors.=20 >> >> For example, trying to install the repository:=20 >> <https://github.com/armindarvish/consult-omni>=20 >> will result in "Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80= =99: 1601" error. This is=20 >> because currently package-vc-install tries to read all ".el" files in th= e root=20 >> directory to get the dependencies and build the "define-package" declara= tion in >> consult-omni-pkg.el. This is not compatible with repositories that have = multiple >> single-file packages in the root directory. Instead, the dependencies sh= ould be=20 >> inferred from the main lisp file only. This will be safe with multi-file= packages >> as well because the convention is to have the "Package-Requires:" header= only in=20 >> the main lisp file and not the additional lisp files. > > What version of Emacs are you using? Installing your repository doesn't > raise any error when I try to do so. > >> There are other packages that have multiple single-file packages as well= , for=20 >> example, <https://github.com/oantolin/embark> includes embark and embark= -consult in >> the root directory. Currently, installing embark with package-vc-install= causes >> several different versions of embark being downlaoded because the depend= encies are >> read from all of those files even though they are meant to be separate p= ackages. > > The issue we have to keep in mind is that since we add the repository > directly to `load-path', all the files can be used no matter what > "specific" file you might intend to use. To retain usability and not > have unexpected function calls fail, we rather install all the > dependencies. The recursion error above hints at some programming > issue, where we don't terminate properly. > >> >> Best Regards, >> *Armin Darvish* >> >> -- >> ------------------------------------------------------------------------ >> [www.armindarvish.com] >> >> >> [www.armindarvish.com] <https://www.armindarvish.com/> --=20 Best Regards, *Armin Darvish* ------------------------------------------------------------------------ [www.armindarvish.com] [www.armindarvish.com] <https://www.armindarvish.com/> --==-=-= Content-Type: text/html; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable <html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en"><h= ead><!-- 2025-02-16 Sun 16:46 --><meta http-equiv=3D"Content-Type" content= =3D"text/html;charset=3Dutf-8"/><meta name=3D"viewport" content=3D"width=3D= device-width, initial-scale=3D1"/><meta name=3D"generator" content=3D"Org M= ode"/></head><body> <div style=3D"font-family:"Arial";font-size:10pt;line-height:11pt= ;" id=3D"content"> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> Hi Philip,<br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> I am on emacs versio 30.0.93. and I tried an init file like this:<br/></p> <div style=3D"margin-top:10px;font-family:"Arial";font-size:10pt;= line-height:11pt;"> <pre style=3D"line-height:12pt;color:#EEFFFF;background-color:#15181B;margi= n:0px;font-size:9pt;font-family:monospace;">;;; init.el --- -*- lexical-bin= ding: t; -*- (require 'package) (package-initialize) (package-vc-install '(consult-omni :url "https://github.com/armindarvish/consult-omni&qu= ot; :main-file "consult-omni.el")) </pre> </div> <blockquote style=3D"padding-left:5px;margin-left:10px;margin-top:10px;marg= in-bottom:0;font-style:italic;background:#f9f9f9;border-left:3px solid #ccc= ;"> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> The issue we have to keep in mind is that since we add the repository<br/> directly to `load-path', all the files can be used no matter what<br/> "specific" file you might intend to use. To retain usability and= not<br/> have unexpected function calls fail, we rather install all the<br/> dependencies.<br/></p> </blockquote> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> My understanding was that packages are either a single-file package, which = won't have this problem, or a multi-file package, in which case, the "= Package-Requires: " header should only be in the main file and not the= extra lisp files. As far as I know, other package managing systems (like M= ELPA) don't use hte "Package-Requires: " header in the files othe= r than the main lisp file either. Note that, we can still add all the files= in the repo to load-path, but when automatically making the "define-p= ackage" declaration in a "package-pkg.el" file, the dependen= cies should be inferred form the main file and not others, otherwise there = will be weird looped dependencies. For example, in case of embark with the = following init file:<br/></p> <div style=3D"margin-top:10px;font-family:"Arial";font-size:10pt;= line-height:11pt;"> <pre style=3D"line-height:12pt;color:#EEFFFF;background-color:#15181B;margi= n:0px;font-size:9pt;font-family:monospace;">;;; init.el --- -*- lexical-bin= ding: t; -*- (require 'package) ;; Adds the Melpa archive to the list of available repositories (setq package-archives '(("elpa" . "https://elpa.gnu.org/packages/") ("melpa-stable" . "https://stable.melpa.org/package= s/") ("melpa" . "https://melpa.org/packages/"))) ;; Initializes the package infrastructure (package-initialize) (package-refresh-contents) (use-package embark :vc (:url "https://github.com/oantolin/embark")) </pre> </div> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> I can see multiple versions of embark being pulled from MELPA becuase of lo= oped depenncies in the embark-pkg.el file automatically created by package-= vc-install. Here is the contents of that file:<br/></p> <div style=3D"margin-top:10px;font-family:"Arial";font-size:10pt;= line-height:11pt;"> <pre style=3D"line-height:12pt;color:#EEFFFF;background-color:#15181B;margi= n:0px;font-size:9pt;font-family:monospace;">(define-package "embark&qu= ot; "1.1" "No description available." '((emacs "25= .1") (embark "0.9") (avy "0.5") (emacs "27.1&= quot;) (compat "29.1.4.0") (embark "1.0") (consult &quo= t;1.0")) :kind vc :commit "195add1f1ccd1059472c9df7334c97c4d15542= 5e") </pre> </div> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> Note that while this installs just fine, it is pulling 3 different versions= of embark from MELPA becuase of this inferred looped self-dependency from = differnt *.el files in embark repo, which is not the intended behavior by t= he author of that package.<br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> That said, I agree with the point that there can potentially be other solut= ions like terminating properly as you said or even better would be detectin= g and ignoring any self-dependency. I cannot think of any scenario where a = package should depend on its own or on an older version of its own.<br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> Philip Kaludercic @ 2025-02-16 18:53 :<br/></p> <blockquote style=3D"padding-left:5px;margin-left:10px;margin-top:10px;marg= in-bottom:0;font-style:italic;background:#f9f9f9;border-left:3px solid #ccc= ;"> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> Armin Darvish <armindarvish@HIDDEN> writes:<br/></p> <blockquote style=3D"padding-left:5px;margin-left:10px;margin-top:10px;marg= in-bottom:0;font-style:italic;background:#f9f9f9;color:#324e72;border-left:= 3px solid #3c5d88;"> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> Hello,<br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> I have noticed that with vc repositories that contain multiple related sing= le-file<br/> packages, package-vc-install creates looped self-dependency that can cause = errors.<br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> For example, trying to install the repository:<br/><a style=3D"color:#0071c= 5;" href=3D"https://github.com/armindarvish/consult-omni">https://github.co= m/armindarvish/consult-omni</a> <br/> will result in "Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2= =80=99: 1601" error. This is<br/> because currently package-vc-install tries to read all ".el" file= s in the root<br/> directory to get the dependencies and build the "define-package" = declaration in<br/> consult-omni-pkg.el. This is not compatible with repositories that have mul= tiple<br/> single-file packages in the root directory. Instead, the dependencies shoul= d be<br/> inferred from the main lisp file only. This will be safe with multi-file pa= ckages<br/> as well because the convention is to have the "Package-Requires:"= header only in<br/> the main lisp file and not the additional lisp files.<br/></p> </blockquote> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> What version of Emacs are you using? Installing your repository doesn't<br= /> raise any error when I try to do so.<br/></p> <blockquote style=3D"padding-left:5px;margin-left:10px;margin-top:10px;marg= in-bottom:0;font-style:italic;background:#f9f9f9;color:#324e72;border-left:= 3px solid #3c5d88;"> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> There are other packages that have multiple single-file packages as well, f= or<br/> example, <a style=3D"color:#0071c5;" href=3D"https://github.com/oantolin/em= bark">https://github.com/oantolin/embark</a> includes embark and embark-con= sult in<br/> the root directory. Currently, installing embark with package-vc-install ca= uses<br/> several different versions of embark being downlaoded because the dependenc= ies are<br/> read from all of those files even though they are meant to be separate pack= ages.<br/></p> </blockquote> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> The issue we have to keep in mind is that since we add the repository<br/> directly to `load-path', all the files can be used no matter what<br/> "specific" file you might intend to use. To retain usability and= not<br/> have unexpected function calls fail, we rather install all the<br/> dependencies. The recursion error above hints at some programming<br/> issue, where we don't terminate properly.<br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> ><br/></p> <blockquote style=3D"padding-left:5px;margin-left:10px;margin-top:10px;marg= in-bottom:0;font-style:italic;background:#f9f9f9;color:#324e72;border-left:= 3px solid #3c5d88;"> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> Best Regards,<br/><b>Armin Darvish</b><br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> =E2=80=93<br/></p> <hr/><p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;lin= e-height:11pt;font-size:10pt;font-family:"Arial";"> [www.armindarvish.com]<br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> [www.armindarvish.com] <a style=3D"color:#0071c5;" href=3D"https://www.armi= ndarvish.com/">https://www.armindarvish.com/</a><br/></p> </blockquote> </blockquote> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> =E2=80=93<br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> Best Regards,<br/></p> <div style=3D"font-family:"Arial";font-size:10pt;margin-bottom:20= px;font-family:"Arial";font-size:10pt;line-height:11pt;" id=3D"or= gbb706bf"> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> <br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> <b>Armin Darvish</b><br/></p> <hr/><p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;lin= e-height:11pt;font-size:10pt;font-family:"Arial";"> <a style=3D"color:#0071c5;" href=3D"https://www.armindarvish.com/">www.armi= ndarvish.com</a><br/></p> </div> </div> </body></html> --==-=-=-- --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#76325
; Package emacs
.
Full text available.Received: (at 76325) by debbugs.gnu.org; 16 Feb 2025 18:53:58 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 16 13:53:58 2025 Received: from localhost ([127.0.0.1]:37357 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tjjmA-00073f-4M for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 13:53:58 -0500 Received: from mout01.posteo.de ([185.67.36.65]:58845) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <philipk@HIDDEN>) id 1tjjm6-00072r-4m for 76325 <at> debbugs.gnu.org; Sun, 16 Feb 2025 13:53:56 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 8AAE8240027 for <76325 <at> debbugs.gnu.org>; Sun, 16 Feb 2025 19:53:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1739732027; bh=fUPKh8gwjtO+JIdHHergHFrpIUm161sCB+Z/SmqH1RU=; h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:Content-Transfer-Encoding:From; b=GR8JbL9nX+vaigttQkZdmObq6PpIt8HSGVo2tkXhjPT7MBkOrjMcboA8PqkXnvIBX Mn7KHaPHJHlLmQqLc7Mpn+5qX1SUfriSoUvKP6YjMtYuyU19/hH2cASTtelX40nnux o67SlD3Ac/b18AsdveJqQ/olJ0M7CDL9I1V2zTxYYVq7yzOmKBRUAgIC1lZ7vwrVGZ YgIzSuervfIBJwnaujAjCJExmNe2SDQWMsQI5TYszj7JPNzdfhYd6YPyHEIoiPouZ4 18ug50U7QbxvJncka3+nbprdb2mPAGyfe4D2VuxKUh3Ravy3QwN9cMpCqXKaf/wCe2 OSeOR6uXjyiMA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Yww165lTYz9rxG; Sun, 16 Feb 2025 19:53:46 +0100 (CET) From: Philip Kaludercic <philipk@HIDDEN> To: Armin Darvish <armindarvish@HIDDEN> Subject: Re: bug#76325: 30.0.93; package-vc-install fails with repositories that contain multiple single-file packages In-Reply-To: <m2cyfin7af.fsf@HIDDEN> References: <m2cyfin7af.fsf@HIDDEN> Autocrypt: addr=philipk@HIDDEN; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM OpenPGP: id=7126E1DE2F0CE35C770BED01F2C3CC513DB89F66; url="https://keys.openpgp.org/vks/v1/by-fingerprint/7126E1DE2F0CE35C770BED01F2C3CC513DB89F66"; preference=signencrypt Date: Sun, 16 Feb 2025 18:53:43 +0000 Message-ID: <87wmdpbu14.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -3.3 (---) X-Debbugs-Envelope-To: 76325 Cc: 76325 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -4.3 (----) Armin Darvish <armindarvish@HIDDEN> writes: > Hello, > > I have noticed that with vc repositories that contain multiple related si= ngle-file > packages, package-vc-install creates looped self-dependency that can caus= e errors.=20 > > For example, trying to install the repository:=20 > <https://github.com/armindarvish/consult-omni>=20 > will result in "Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80= =99: 1601" error. This is=20 > because currently package-vc-install tries to read all ".el" files in the= root=20 > directory to get the dependencies and build the "define-package" declarat= ion in > consult-omni-pkg.el. This is not compatible with repositories that have m= ultiple > single-file packages in the root directory. Instead, the dependencies sho= uld be=20 > inferred from the main lisp file only. This will be safe with multi-file = packages > as well because the convention is to have the "Package-Requires:" header = only in=20 > the main lisp file and not the additional lisp files. What version of Emacs are you using? Installing your repository doesn't raise any error when I try to do so. > There are other packages that have multiple single-file packages as well,= for=20 > example, <https://github.com/oantolin/embark> includes embark and embark-= consult in > the root directory. Currently, installing embark with package-vc-install = causes > several different versions of embark being downlaoded because the depende= ncies are > read from all of those files even though they are meant to be separate pa= ckages. The issue we have to keep in mind is that since we add the repository directly to `load-path', all the files can be used no matter what "specific" file you might intend to use. To retain usability and not have unexpected function calls fail, we rather install all the dependencies. The recursion error above hints at some programming issue, where we don't terminate properly. > > Best Regards, > *Armin Darvish* > > -- > ------------------------------------------------------------------------ > [www.armindarvish.com] > > > [www.armindarvish.com] <https://www.armindarvish.com/>
bug-gnu-emacs@HIDDEN
:bug#76325
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 16 Feb 2025 07:30:57 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 16 02:30:57 2025 Received: from localhost ([127.0.0.1]:59832 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tjZ79-0007ee-Vi for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 02:30:57 -0500 Received: from lists.gnu.org ([2001:470:142::17]:45382) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <armindarvish@HIDDEN>) id 1tjR8Z-0007ep-9A for submit <at> debbugs.gnu.org; Sat, 15 Feb 2025 17:59:52 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <armindarvish@HIDDEN>) id 1tjR8R-0001Rq-UY for bug-gnu-emacs@HIDDEN; Sat, 15 Feb 2025 17:59:44 -0500 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <armindarvish@HIDDEN>) id 1tjR8O-0008M4-KV for bug-gnu-emacs@HIDDEN; Sat, 15 Feb 2025 17:59:43 -0500 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-22101839807so25559445ad.3 for <bug-gnu-emacs@HIDDEN>; Sat, 15 Feb 2025 14:59:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739660378; x=1740265178; darn=gnu.org; h=mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=GjOHZ33ZLmkrIB40tnKzgHV3mYxBbPrA7EJj68qAW4Y=; b=R4gzr0UWHhKkZJWvZNdl8+R5WBDNPvqq8E+rdvjoi3TYdGgzOe0H1m5RUcUfd+oLSQ odzcbzQ/9cyZ1WJ8Nbx6hsExb3uGLQXA+dAWRd0I6aumZzlTIhf9o8LgFKeAp8OgGAFz couduRg9BvbqKARnIwi5b78MxWN/gqamflSbr7UXFJ4BXBUfSv231bfSy400I34/lQS8 JNT2c1qEtpqXe2FwkgLokj/pBw2gakZdxOddIeHS9kuWrX9iTbDFrFE7G6BCfYoywocI m20DNTZM4IfUNx2d2iss6M8E8R9/BhcdWcOQlF9aqs43dPF6xGgnScWr1pQrwq9eZRSy mOOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739660378; x=1740265178; h=mime-version:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=GjOHZ33ZLmkrIB40tnKzgHV3mYxBbPrA7EJj68qAW4Y=; b=nCqNg3yTDf7hqo1yTTpZAKCalNdO2DU309pCxoU7lt5ajwrkWzwtqYyCecZu/lx2WS 3TDmYtR28V1OGIO03ej7EjMSIRCu2FsUXOP9dMGcBpHle36L/NKEfw0bqofhkiGhs29q K2hsRphqdpv/bwxidxfb05Qn6mHIYE+eefjK5zyxakOot0RY7kLNihqU7fPSx5jpM2z+ Dk1TnX2N48rQHpd8wagxsPTdE3gn+CV09ZAnk8rId7kEvcerIx3r9ULS2Dyj435iE0dV jg3japFViaSCqQpnS41fGVRX/BvGY21gJI9Ez9FSCBN5LU3oPxFvxpYH0tpeygFfgG7j aN0g== X-Gm-Message-State: AOJu0Yx7FgHJZ+/6UMRt6CRwuv+sGHbMCIItS+pzVuE1VFsATM9NcP53 7zmbM6+GGKxO+pRHfL1g6PMT92jrat3CliyqNWoRqDjUH8jKSzzclErCR9nI X-Gm-Gg: ASbGnctjpwtT0sBs5NOC4iRcSzDNTjTccS3L9t9+P7yxvTdpheTcIrGvPFo3ryNh3JN WxuS0sYjvZ+MkFZf2kJVDKvVYvPJ4oZOVcsZSw9d3iDhXxhjoBwkeRSV+wPHcI8bG3+zu+GQDrd yIo9I5+wIXQyZiPjcaMYwhUaz4FMmol6TNardlxcR+kRcThWXNxL05SZ9Zr5Hvzvdqxe0QBoiAX 6ngbDjpzPkU5QDNReHtucrYOFogWil7KM3y5bGcc4g7eZpDFbIJzFuw5hT5gBZMUwZf607+zN8F 2d9cil110/fhZcGiJ7EhRwKw+yFri9qgAg== X-Google-Smtp-Source: AGHT+IGN85hEtr6mhNedDnjzcenZAVQqwbQM4nwqT7IwnCej4KyRLLLHIZj6GSe8+HYOnjU9KFbrRA== X-Received: by 2002:a17:902:ea0c:b0:216:4853:4c0b with SMTP id d9443c01a7336-221040bcc85mr65707105ad.33.1739660377743; Sat, 15 Feb 2025 14:59:37 -0800 (PST) Received: from localhost ([2601:640:8800:309:2560:931:2a9d:3d97]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-220d5584dfbsm47891555ad.213.2025.02.15.14.59.37 for <bug-gnu-emacs@HIDDEN> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Feb 2025 14:59:37 -0800 (PST) From: Armin Darvish <armindarvish@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: 30.0.93; package-vc-install fails with repositories that contain multiple single-file packages Date: Sat, 15 Feb 2025 14:59:36 -0800 Message-ID: <m2cyfin7af.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2607:f8b0:4864:20::62d; envelope-from=armindarvish@HIDDEN; helo=mail-pl1-x62d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sun, 16 Feb 2025 02:30:55 -0500 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) --=-=-= Content-Type: multipart/alternative; boundary="==-=-=" --==-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello, I have noticed that with vc repositories that contain multiple related sing= le-file packages, package-vc-install creates looped self-dependency that can cause = errors.=20 For example, trying to install the repository:=20 <https://github.com/armindarvish/consult-omni>=20 will result in "Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99:= 1601" error. This is=20 because currently package-vc-install tries to read all ".el" files in the r= oot=20 directory to get the dependencies and build the "define-package" declaratio= n in consult-omni-pkg.el. This is not compatible with repositories that have mul= tiple single-file packages in the root directory. Instead, the dependencies shoul= d be=20 inferred from the main lisp file only. This will be safe with multi-file pa= ckages as well because the convention is to have the "Package-Requires:" header on= ly in=20 the main lisp file and not the additional lisp files. There are other packages that have multiple single-file packages as well, f= or=20 example, <https://github.com/oantolin/embark> includes embark and embark-co= nsult in the root directory. Currently, installing embark with package-vc-install ca= uses several different versions of embark being downlaoded because the dependenc= ies are read from all of those files even though they are meant to be separate pack= ages. Best Regards, *Armin Darvish* -- ------------------------------------------------------------------------ [www.armindarvish.com] [www.armindarvish.com] <https://www.armindarvish.com/> --==-=-= Content-Type: text/html; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable <html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en"><h= ead><!-- 2025-02-15 Sat 14:59 --><meta http-equiv=3D"Content-Type" content= =3D"text/html;charset=3Dutf-8"/><meta name=3D"viewport" content=3D"width=3D= device-width, initial-scale=3D1"/><meta name=3D"generator" content=3D"Org M= ode"/></head><body> <div style=3D"font-family:"Arial";font-size:10pt;line-height:11pt= ;" id=3D"content"> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> Hello,<br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> I have noticed that with vc repositories that contain multiple related sing= le-file<br/> packages, package-vc-install creates looped self-dependency that can cause = errors.<br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> For example, trying to install the repository:<br/><a style=3D"color:#0071c= 5;" href=3D"https://github.com/armindarvish/consult-omni">https://github.co= m/armindarvish/consult-omni</a> <br/> will result in "Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2= =80=99: 1601" error. This is<br/> because currently package-vc-install tries to read all ".el" file= s in the root<br/> directory to get the dependencies and build the "define-package" = declaration in<br/> consult-omni-pkg.el. This is not compatible with repositories that have mul= tiple<br/> single-file packages in the root directory. Instead, the dependencies shoul= d be<br/> inferred from the main lisp file only. This will be safe with multi-file pa= ckages<br/> as well because the convention is to have the "Package-Requires:"= header only in<br/> the main lisp file and not the additional lisp files.<br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> There are other packages that have multiple single-file packages as well, f= or<br/> example, <a style=3D"color:#0071c5;" href=3D"https://github.com/oantolin/em= bark">https://github.com/oantolin/embark</a> includes embark and embark-con= sult in<br/> the root directory. Currently, installing embark with package-vc-install ca= uses<br/> several different versions of embark being downlaoded because the dependenc= ies are<br/> read from all of those files even though they are meant to be separate pack= ages.<br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> Best Regards,<br/><b>Armin Darvish</b><br/></p> <p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;line-hei= ght:11pt;font-size:10pt;font-family:"Arial";"> =E2=80=93<br/></p> <div style=3D"font-family:"Arial";font-size:10pt;margin-bottom:20= px;font-family:"Arial";font-size:10pt;line-height:11pt;" id=3D"or= gcfc0faa"> <hr/><p style=3D"text-decoration:none;margin-bottom:0px;margin-top:10px;lin= e-height:11pt;font-size:10pt;font-family:"Arial";"> <a style=3D"color:#0071c5;" href=3D"https://www.armindarvish.com/">www.armi= ndarvish.com</a><br/></p> </div> </div> </body></html> --==-=-=-- --=-=-=--
Armin Darvish <armindarvish@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#76325
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.