Question about 'provides' and emacs packaging

Ken Brown kbrown@cornell.edu
Tue Oct 5 18:08:49 GMT 2021


On 10/5/2021 12:58 PM, Brian Inglis wrote:
> On 2021-10-05 09:51, Ken Brown via Cygwin-apps wrote:
>> I asked this question several years ago 
>> (https://cygwin.com/pipermail/cygwin-apps/2018-October/039451.html), but I'm 
>> repeating it, in a more specific form, in the hope that setup has progressed 
>> to the point where I get a different answer.
>>
>> There are currently five emacs packages: emacs-common, emacs, emacs-X11, 
>> emacs-w32, and emacs-lucid.  The first includes things that are needed by each 
>> of the other four, and those four each include an emacs binary. The binary in 
>> the emacs package is /usr/bin/emacs-nox.exe.  The other packages contain 
>> /usr/bin/emacs-X11.exe, and so on.
>>
>> This way of naming the packages doesn't really reflect the contents of the 
>> emacs package.  It also means that anyone who installs emacs gets 
>> emacs-nox.exe, even if they plan to use one of the other three binaries.
>>
>> I would rather rename the current emacs-common package to emacs and the 
>> current emacs package to emacs-nox.  But then the new emacs would have to have 
>> a way of requiring the installation of at least one of emacs-nox, emacs-X11, 
>> emacs-w32, or emacs-lucid.  Is there any way to do this with our current setup 
>> machinery?
>>
>> My idea three years ago was to have the new emacs package require a "feature" 
>> called, for instance, emacs-bin, and then have each of emacs-nox, emacs-X11, 
>> emacs-w32, emacs-lucid "provide" that feature. This is what Fedora does. Achim 
>> didn't think this was feasible without major changes in setup. Is that still 
>> the case? If so, can anyone think of another way to accomplish what I want?
> 
> Hi Ken,
> 
> Achim recently restructured gnuplot; I used to install gnuplot, gnuplot-base now 
> obsoletes that, and that is all I have installed; alternatives handles the 
> priorities if different packages provide gnuplot:
> 
> https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/gnuplot.git
> 
> gnuplot-base
> depends2: cygwin, libcairo2, libcerf1, libgd3, libglib2.0_0, liblua5.3, 
> libpango1.0_0, libreadline7
> 
> gnuplot-X11
> depends2: cygwin, gnuplot-base, libX11_6, <BASE-DEPENDS2>...
> 
> gnuplot-qt5
> depends2: cygwin, gnuplot-X11, libQt5Core5, libQt5Gui5, libQt5Svg5, libgcc1, 
> <BASE-DEPENDS2>... libstdc++6
> 
> gnuplot-wx
> depends2: cygwin, gnuplot-X11, libgcc1, <BASE-DEPENDS2>... libgtk3_0, 
> libstdc++6, libwx_baseu3.0_0, libwx_gtk3u3.0_0

This is very similar to what I currently have in emacs, although with better 
names.  gnuplot-base is comparable to emacs-common+emacs.  It doesn't achieve 
what I was asking for.  But if what I was asking for isn't possible, I might 
still do some renaming, to make the contents clearer.

Thanks.

Ken


More information about the Cygwin-apps mailing list