Re: CMake on Unix
Noel Butler <[email protected]> Sat, 16 May 2026 10:09:11 +1000
| Newsgroups | gmane.comp.apache.apr.devel |
|---|---|
| Message-ID | <[email protected]> |
--=_1c89293a0816755ec20b1c9c09432b99 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8; format=flowed Actually Timofei, I'll draw the CoC to you, since you have claimed I used a work in which I did NOT in fact use, by actually using that word yourself. Oh, and I have been on this list long enough to know who has the right to direct me to such reminders should I infact use such language, and you, a "johnny come lately", are not one. i stopped reading at that, because its quite obvious you're out to make problems for anyone woh disagrees with you, save your breath, and after you apologise to the list for using offensive language, ensure you dont mail me directly again. On 16/05/2026 05:17, Timofei Zhakov wrote: > On Thu, May 14, 2026 at 12:49 PM Noel Butler <[email protected]> > wrote: >> >> On 14/05/2026 14:54, Branko Čibej wrote: >> >> Its convoluted. Its messy. >> >> Lets take sql as a horrid example (but its similar with the only other >> forced cmake requirement that we use being clamav), what used to >> configured and built with autotools could be done as such, clear >> simple EASY for even the most junior and senior administrator alike to >> config from memory - >> >> ./configure --prefix=/usr --localstatedir=/usr/mysql/data >> --datadir=/var/lib/mysql >> >> >> done... >> >> >> BUT cmake to do same thing requires this crap (supplied my mariadb >> team member to mimic our build requirements) >> >> >> cmake -DCMAKE_C_FLAGS="-O2 -fPIC" -DCMAKE_CXX_FLAGS="-O2 -fPIC" >> -DFEATURE_SET="community" -DCMAKE_INSTALL_PREFIX=/usr -D >> INSTALL_LIBDIR="lib64" -DINSTALL_SBINDIR=libexec >> -DINSTALL_INCLUDEDIR=include/mysql -DINSTALL_MYSQLSHAREDIR=share/mysql >> -DINSTALL_SQLBENCHDIR="" -DINSTALL_MYSQLTESTDIR=mysql-test >> -DINSTALL_MANDIR=man -DINSTALL_PLUGINDIR="lib64/mysql/plugin" >> -DINSTALL_SCRIPTDIR=bin -DINSTALL_SUPPORTFILESDIR=share/mysql >> -DINSTALL_MYSQLDATADIR="/var/lib/mysql" -DMYSQL_DATADIR=" >> /var/lib/mysql" -DMYSQL_UNIX_ADDR="/var/run/mysql/mysql.sock" >> -DWITH_EXTRA_CHARSETS=complex -DWITH_INNOBASE_STORAGE_ENGI >> NE=1 -DENABLED_LOCAL_INFILE=ON -DWITH_LIBARCHIVE=ON -DWITH_READLINE=ON >> -DWITH_JEMALLOC=system -DWITH_ZLIB=system -DWITH_ >> EXTERNAL_ZLIB=ON -DWITH_SSL=system -DCONC_WITH_SSL=ON >> -DUSE_ARIA_FOR_TMP_TABLES=ON -DAWS_SDK_EXTERNAL_PROJECT=OFF >> >> Then running make... >> >> THEN to upgrade each version you have to screw around with garbage >> like >> >> rm $(</root/install_manifest-MARIADB.txt) >> make install >> cp install_manifest.txt /root/install_manifest-MARIADB.txt >> >> (Sure you don't need to cp and use /root/install_manifest but if >> someone clears out the source code you will be left with pieces of >> older versions, so you copy it, and lets not forget that file is not >> created until the program is built and installed, its not something >> you can pluck out of a tarball >> >> all because there is no make uninstall.... >> >> >> >> And clamav as mentioned earlier, before it was just >> >> ./configure --prefix= >> >> >> NOW it too requires all the manual rm BS as maria/mysql above, but at >> least its CMAKE line is much shorter.. >> >> >> cmake .. -D CMAKE_INSTALL_PREFIX=/usr/local -D >> CMAKE_INSTALL_LIBDIR=lib64 -D APP_CONFIG_DIRECTORY=/etc/clamav -D >> DATABASE_DIRECTORY=/var/lib/clamav >> >> >> you try remembering all that crap when you need to off the top of your >> head, and using a cheatsheet (like we obviously are doing) is not an >> excuse. >> >> I reckon the same morons who are involved in systemd are involved in >> cmake, 12 lines to do with what cron does in 1 >> >> >> /that completes this years rant >> >> >> >> You just described two horribly broken CMake build systems. In the two >> cases you mentioned, the fault lies with the authors, not with CMake. >> :) >> >> >> >> yes, its a proble with cmake (see my end) and if the mariadb team >> can't get it right as you claim, then its more of a reason to avoid >> the garbage. >> >> >> >> >> >> Well, except in the sense that CMake has zero, nil, zilch, none >> whatsoever sane defaults on ANY platform. >> >> I'm "happy" to say that it's extremely easy to write autotools builds >> that are just as broken as the CMake examples you just described. >> >> -- Brane >> >> >> I doubt its "just as easy" to make it royally fscked up like cmake >> have, since most options are pretty well known, tried and tested, >> most code can be built with ./configure && make && make install, you >> can't do that with that horrid cmake sewer. >> >> You'll never change my mind on that having fought with the shit, now I >> avoid it, except mariadb (that can't be helped - at this time) and >> clamav (that I could remove if need be), why the cisco folk want to go >> all windowsy with clamav, christ knows. > > I would like to kindly remind you that in projects under the Apache > Software Foundation we *must* follow the Code of Conduct. > > Please refer to: > > [[[ > 2. Be empathetic, welcoming, friendly, and patient. We work together to > resolve conflicts, assume good intentions, and do our best to act in an > empathetic fashion. We may all experience some frustration from time to > time, but we do not allow frustration to result in a personal attack. A > community where people feel uncomfortable or threatened is not a > productive one. We should be respectful when dealing with other > community members as well as with people outside our community. > ]]] > > and > > [[[ > 5. Be careful in the words that we choose. Whether we are participating > as professionals or volunteers, we value professionalism in all > interactions, and take responsibility for our own speech. Be kind to > others. Do not insult or put down other participants. Harassment and > other exclusionary behaviour are not acceptable. This includes, but is > not limited to: > ]]] > > That can be found here: > <https://apache.org/foundation/policies/conduct.html>. > I'm sorry but calling a suggested feature "fucked up like cmake" > because you "don't want to fight with this shit" is higly > unproffesional, not kind at all, and you have zero technical arguments > to back your point with. > > "I reckon the same morons who are involved in systemd are involved in > cmake" is really not the most polite way when you speak about > opensource devs - volunteers that develop software that runs more than > 50% atleast (but probably even more) of all web infrastructure with > what I believe a little or none founding. Even if a piece of software > is not the best we could've seen, don't blame the people. > > I encourage you to be more respectful to people and new ideas. If you > don't like a thought that was brought up on the list, form your > constructive argument and we'll have a better conversation than just > calling everyone stupid. > -- > Timofei Zhakov --=_1c89293a0816755ec20b1c9c09432b99 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8 <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; charset= =3DUTF-8" /></head><body style=3D'font-size: 12pt; font-family: Verdana,Gen= eva,sans-serif'> <p>Actually Timofei, </p> <p>I'll draw the CoC to you, since you have claimed I used a work in which = I did NOT in fact use, by actually using that word yourself.</p> <p>Oh, and I have been on this list long enough to know who has the right t= o direct me to such reminders should I infact use such language, and you, a= "johnny come lately", are not one.</p> <p><br /></p> <p>i stopped reading at that, because its quite obvious you're out to make = problems for anyone woh disagrees with you, save your breath, and after you= apologise to the list for using offensive language, ensure you dont mail m= e directly again.</p> <p><br /></p> <p id=3D"reply-intro">On 16/05/2026 05:17, Timofei Zhakov wrote:</p> <blockquote type=3D"cite" style=3D"padding: 0 0.4em; border-left: #1010ff 2= px solid; margin: 0"> <div id=3D"replybody1"> <div dir=3D"ltr">On Thu, May 14, 2026 at 12:49=E2=80=AFPM Noel Butler <<= a href=3D"mailto:[email protected]" rel=3D"noreferrer">noel.butler@aus= ics.net</a>> wrote:<br />><br />> On 14/05/2026 14:54, Branko =C4= =8Cibej wrote:<br />><br />> Its convoluted. Its messy.<br />><br = />> Lets take sql as a horrid example (but its similar with the only oth= er forced cmake requirement that we use being clamav), what used to c= onfigured and built with autotools could be done as such, clear simple EASY= for even the most junior and senior administrator alike to config from mem= ory -<br />><br />> ./configure --prefix=3D/usr --localstatedir=3D/us= r/mysql/data --datadir=3D/var/lib/mysql<br />><br />><br />> done.= =2E.<br />><br />><br />> BUT cmake to do same thing requires this= crap (supplied my mariadb team member to mimic our build requirements)<br = />><br />><br />> cmake -DCMAKE_C_FLAGS=3D"-O2 -fPIC" -DCMAKE_CXX_= FLAGS=3D"-O2 -fPIC" -DFEATURE_SET=3D"community" -DCMAKE_INSTALL_PREFIX=3D/u= sr -D<br />> INSTALL_LIBDIR=3D"lib64" -DINSTALL_SBINDIR=3Dlibexec -DINST= ALL_INCLUDEDIR=3Dinclude/mysql -DINSTALL_MYSQLSHAREDIR=3Dshare/mysql<br />&= gt; -DINSTALL_SQLBENCHDIR=3D"" -DINSTALL_MYSQLTESTDIR=3Dmysql-test -DINSTAL= L_MANDIR=3Dman -DINSTALL_PLUGINDIR=3D"lib64/mysql/plugin"<br />> -= DINSTALL_SCRIPTDIR=3Dbin -DINSTALL_SUPPORTFILESDIR=3Dshare/mysql -DINSTALL_= MYSQLDATADIR=3D"/var/lib/mysql" -DMYSQL_DATADIR=3D"<br />> /var/lib/mysq= l" -DMYSQL_UNIX_ADDR=3D"/var/run/mysql/mysql.sock" -DWITH_EXTRA_CHARSETS=3D= complex -DWITH_INNOBASE_STORAGE_ENGI<br />> NE=3D1 -DENABLED_LOCAL_INFIL= E=3DON -DWITH_LIBARCHIVE=3DON -DWITH_READLINE=3DON -DWITH_JEMALLOC=3Dsystem= -DWITH_ZLIB=3Dsystem -DWITH_<br />> EXTERNAL_ZLIB=3DON -DWITH_SSL=3Dsys= tem -DCONC_WITH_SSL=3DON -DUSE_ARIA_FOR_TMP_TABLES=3DON -DAWS_SDK_EXTERNAL_= PROJECT=3DOFF<br />><br />> Then running make...<b= r />><br />> THEN to upgrade each version you have to screw around wi= th garbage like<br />><br />> rm $(</root/install_manifest-MARIADB= =2Etxt)<br />> make install<br />> cp install_manifest.txt /root/inst= all_manifest-MARIADB.txt<br />><br />> (Sure you don't need to cp and= use /root/install_manifest but if someone clears out the source code you w= ill be left with pieces of older versions, so you copy it, and lets not for= get that file is not created until the program is built and installed= , its not something you can pluck out of a tarball<br />><br />> all = because there is no make uninstall....<br />><br />><br />><br />&= gt; And clamav as mentioned earlier, before it was just<br />><br />>= ./configure --prefix=3D<br />><br />><br />> NOW it too requires = all the manual rm BS as maria/mysql above, but at least its CMAKE line is m= uch shorter..<br />><br />><br />> cmake .. -D CMAKE_INSTALL_PREFI= X=3D/usr/local -D CMAKE_INSTALL_LIBDIR=3Dlib64 -D APP_CONFIG_DIRECTORY=3D/e= tc/clamav -D DATABASE_DIRECTORY=3D/var/lib/clamav<br />><br />><br />= > you try remembering all that crap when you need to off the top of your= head, and using a cheatsheet (like we obviously are doing) is not an excus= e.<br />><br />> I reckon the same morons who are involved in systemd= are involved in cmake, 12 lines to do with what cron does in 1<br />= ><br />><br />> /that completes this years rant<br />><br />>= ;<br />><br />> You just described two horribly broken CMake build sy= stems. In the two cases you mentioned, the fault lies with the authors, not= with CMake. :)<br />><br />><br />><br />> yes, its a proble w= ith cmake (see my end) and if the mariadb team can't get it right as you cl= aim, then its more of a reason to avoid the garbage.<br />><br />><br= />><br />><br />><br />> Well, except in the sense that CMake = has zero, nil, zilch, none whatsoever sane defaults on ANY platform.<br />&= gt;<br />> I'm "happy" to say that it's extremely easy to write autotool= s builds that are just as broken as the CMake examples you just described.<= br />><br />> -- Brane<br />><br />><br />> I doubt its &nbs= p;"just as easy" to make it royally fscked up like cmake have, since = most options are pretty well known, tried and tested, most code can be buil= t with ./configure && make && make install, you can't do th= at with that horrid cmake sewer.<br />><br />> You'll never change my= mind on that having fought with the shit, now I avoid it, except mariadb (= that can't be helped - at this time) and clamav (that I could remove if nee= d be), why the cisco folk want to go all windowsy with clamav, christ knows= =2E<br /><br /><br />I would like to kindly remind you that in projects und= er the Apache Software Foundation we *must* follow the Code of Conduct.<br = /><br />Please refer to:<br /><br />[[[<br />2. Be empathetic, welcoming, f= riendly, and patient. We work together to resolve conflicts, assume good in= tentions, and do our best to act in an empathetic fashion. We may all exper= ience some frustration from time to time, but we do not allow frustration t= o result in a personal attack. A community where people feel uncomfortable = or threatened is not a productive one. We should be respectful when dealing= with other community members as well as with people outside our community.= <br />]]]<br /><br />and<br /><br />[[[<br />5. Be careful in the words tha= t we choose. Whether we are participating as professionals or volunteers, w= e value professionalism in all interactions, and take responsibility for ou= r own speech. Be kind to others. Do not insult or put down other participan= ts. Harassment and other exclusionary behaviour are not acceptable. This in= cludes, but is not limited to:<br /> <div>]]]</div> <div> </div> <div>That can be found here: <<span class=3D"v1gmail-"></span><a href=3D= "https://apache.org/foundation/policies/conduct.html" target=3D"_blank" rel= =3D"noopener noreferrer">https://apache.org/foundation/policies/conduct.htm= l</a>>.</div> <br />I'm sorry but calling a suggested feature "fucked up like cmake" beca= use you "don't want to fight with this shit" is higly unproffesional, not k= ind at all, and you have zero technical arguments to back your point with.<= br /><br /> <div>"I reckon the same morons who are involved in systemd are involved in = cmake<span>" is really not the most polite way when you speak about opensou= rce devs - volunteers that develop software that runs more than 50% atleast= (but probably even more) of all web infrastructure with what I believe a l= ittle or none founding. Even if a piece of software is not the best we coul= d've seen, don't blame the people.</span></div> <div> </div> <div><span>I encourage you to be more respectful to people and new ideas. I= f you don't like a thought that was </span><span class=3D"v1gmail-">br= ought up on the list</span><span>, form your constructive argument and we'l= l have a better conversation than just calling everyone stupid.</span></div> <br />--<br />Timofei Zhakov</div> </div> </blockquote> <div id=3D"signature"> <p><br /></p> </div> </body></html> --=_1c89293a0816755ec20b1c9c09432b99--