I just rebuild upx.exe ... and it is usinc UCL according to upx -V I have just tried to send it to E.C. Masloch, Jim, Jerome and Eric.
To build it I created a file with: [paul@betakard release]$ cat ~/toolchain # the name of the target operating system set(CMAKE_SYSTEM_NAME DJGPP) # which compilers to use for C and C++ set(CMAKE_C_COMPILER i386-pc-msdosdjgpp-gcc) set(CMAKE_CXX_COMPILER i386-pc-msdosdjgpp-c++) In upx/build/release: $ cmake --toolchain=~/toolchain -S ../.. --fresh Note the license seems to allows rebuilding and distributing only a not-modified version. ---- Le mar., 26 nov. 2024 11:20:36 -0500 E. C. Masloch via Freedos-devel a écrit ---- > Hello, > > On at 2024-11-25 15:13 -0500, Jerome Shidel via Freedos-devel wrote: > > Hi, > > > >> On Nov 25, 2024, at 1:39 PM, E. C. Masloch via Freedos-devel > >> freedos-devel@lists.sourceforge.net > >> freedos-devel@lists.sourceforge.net>> wrote: > >> > >> On at 2024-11-16 01:59 -0500, Jerome Shidel via Freedos-devel wrote: > >>> Hi All, > >>> As we are most likely approaching the release of FreeDOS 1.4 in the > >>> very near future, we are coming to the point where we will begin to > >>> look at the monthly Interim Test Release builds of the operating > >>> system as Release Candidates. > >>> At that point any large or complex changes will no longer be made > >>> until after the next OS release. T2412 may be the final Interim build > >>> and T2501 could very well be the first Release Candidate. > >>> Since T2411, there have only been a couple suggestions for changes. > >>> Mostly in regards to reducing the size of a couple packages. Eric and > >>> I updated several of those packages to save some space on the install > >>> media. > >>> Likewise, yesterday a I updated BWBasic to version 3.30 that dropped > >>> a couple days ago. Including, UPX compression of the binary which > >>> will cut its installed size roughly in half. > >>> Are there any general or package groups changes anyone would like to > >>> see made before we move from Interim Builds to Release Candidates? > >> > >> I have two points to add: > >> > >> 1. It seems that lDebug is still not included in the interim builds. I > >> checked the FullUSB [1] and BonusCD [2] images and didn't find an > >> lDebug package in either. (Besides, I found that it was difficult to > >> find the links for downloading the interim build. The freedos.org > >> http://freedos.org> website doesn't seem to point to them anywhere, > >> so I had to look at the mailing list announcement [3] to find the > >> links.) It would most likely go to the DEVEL section. FreeDOS Debug is > >> included in BASE but I don't think lDebug should go there. > > > > I certain this was simply an oversight. Possibly from all the the > > package, group and media shuffling. We have a version of lDebug in the > > FreeDOS GitLab Archive for it to be included. However, it was missing > > from the various lists of packages and the report generated by the RBE. > > > > Therefore, I added it to the appropriate package list. It will be > > included on both the BonusCD and FullUSB media user the DEVEL group in > > the next Interim Test Build (T2412). > > That's good news. Albeit, I didn't mean it necessarily should go onto > the BonusCD. I just expected that it should *at least* be in FullUSB or > BonusCD. If there's space on the LiveCD or LegacyCD instead, what about > those? > > > It will be great when the RBE4 is ready and replaces the current > > version. Under the RBE3, it is very easy not notice an unintentionally > > excluded package. The RBE4 operates in a completely different manner. It > > would be very difficult for such an omission to slip through on an OS or > > Interim build. The RBE4 will even be capable of detecting an excluded > > available package. Most likely, I will have put up a warning message to > > the builder when that is going to happen. Unfortunately, that is > > something which just isn’t possible under the RBE3. > > > > It is another one of those “features” that have motivated me to start > > working on the RBE4. That work is coming along nicely. But, it is a big > > long-term project and will be a while before it can replace the current > > RBE3. > > I'm looking forward to it! > > >> Relatedly, I am about to finish the next release, lDebug release 9 > >> [4]. It will likely be done prior to the new year. It includes some > >> bugfixes and a bunch of new Extensions for lDebug (ELDs). I just added > >> a DCO7 (Debugger Common Options) flag to avoid a crash when loading > >> the debugger as a device driver (in CONFIG.SYS or using a patched > >> DEVLOAD) and specifying a flat binary file on the device command line. > >> I'm considering to default enable the immediate assembler (inspired by > >> D86) and the Heatshrink compression of help pages before the release. > >> Further, this updates the lDOS boot32 loader included in instsect.com > >> http://instsect.com> to the FSIBOOT5 revision, the latest and greatest. > > > > I think that T2501 will possibly be FreeDOS 1.4-RC1. > > > > When RC1 is release, there will be a semi-freeze on packages. Basically, > > bug fix mode. All BASE and other packages critical to the OS will only > > be updated to fix bugs. There will be no more updates any large or > > complex packages. Updating, packages like FPC are very time consuming > > and easy to make mistakes. > > > > Updating things like lDebug are easy to do and are not critical to the > > OS. So, I do not see an issue with provide a limited number of such > > updates to some packages after RC1. > > > > But when RC2 is released (possibly T2502), a full freeze will go into > > effect. No more updates. Only important bug fixes to critical OS packages. > > Understood. > > >> 2. I think that the UPX binaries shipped by FreeDOS are linked with > >> the NRV compressor library, which is nonfree and closed source. This > >> is obviously not desirable. > > > > I am not saying you are wrong. Or, there is no problem. But, I would > > like to get some clarification. > > > > The UPX site[5] states: > > > > • free: UPX is distributed with full source code under the terms of > > the GNU General Public License v2+; either under the pure GPLv2+, or > > (at your option) under the GPLv+2 with special exceptions and > > restrictions granting the free usage for all binaries including > > commercial programs as stated in the UPX License Agreement > > > > We do not build UPX from source. We use the official pre-compiled > > versions they provide on GitHub[6]. > > > > Also if I understand you correctly, you are referring to the UPX > > binaries themselves and not the binaries compressed with UPX. > > Right, the depacker that UPX includes in binaries it has compressed is > considered a type of linking the compressed program with UPX. There's a > GNU GPL exception in the UPX license [7] for this that is applied to > UPX, to allow usage without making the program to compress affected by > UPX's copyleft. > > About my concern, the *compression* part of UPX, this is what the "upx > -V" command of the latest build on ibiblio.org [8] displays: > > E:\>upx -V > upx 4.0.2 > NRV data compression library 0.84 > UCL data compression library 1.03 > zlib data compression library 1.2.13.1-motley > LZMA SDK version 4.43 > Copyright (C) 1996-2023 Markus Franz Xaver Johannes Oberhumer > Copyright (C) 1996-2023 Laszlo Molnar > Copyright (C) 2000-2023 John F. Reiser > Copyright (C) 2002-2023 Jens Medoch > Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler > Copyright (C) 1999-2006 Igor Pavlov > UPX comes with ABSOLUTELY NO WARRANTY; for details type 'upx -L'. > E:\> > > The page for NRV [9] is now very small, it just says: > > > NRV data compression library > > > > Discontinued - superseded by our stunning LZO Professional Plus > technology. > > An older revision of this page [10] as linked by the english Wikipedia > [11] is longer, but also does not list NRV as FLOSS in any way: > > > NRV generic data compression library > > Not Really Vanished, the next-generation data compression library, is the > > flagship of our embedded data compression technology for small devices. > > NRV introduces the paradigm of generic programming into the world of data > > compression. It does this by orthogonally decoupling concepts like memory, > > models, filters, coders, algorithms and implementations. Furthermore all > > details can be fine-tuned by using so-called policy classes. > > NRV is written in C++ and consists of a huge number of template classes. > > For systems which lack a recent C++ compiler (like some embedded systems) > > it can get translated into ANSI C by a special compiler frontend. > > If you are unfamiliar with this concept, you can view the generic > > decomposition as an extremely powerful preprocessor which preserves type > > safety and value semantics. > > The latest version is still build 1.183, which runs very stable for quite > > some time. On the development side our focus has shifted to the LZO > > Professional technology since. > > The license cell in the Wikipedia page's info box [11] lists the UPX > license as "GPL with exception for compressed executables,[1] > proprietary for compression algorithm in binary distributions[2]". The > link "2" in this blurb goes to the "README.SRC" file in their repo [12], > which reads in its foreword: > > > The precompiled UPX versions are linked against the NRV compression > > library instead of the UCL library. Using the same compression > > algorithms, > > NRV achieves a better compression ratio. NRV is not publicly > > available, though, and probably never will be. > > (The next paragraph after this contains some fluff related to NRV being > closed source.) > > Your link to the upx.github.io landing page [5] is indeed confusing on > this matter, as it states "free: UPX is distributed with full source > code under the terms of the GNU General Public License v2+". That about > the "full source code" is in my opinion not true when the default builds > ship with the closed source NRV. > > Briefly, if the default builds use NRV, you want to have an UPX-UCL > build (using the FLOSS UCL library for compression rather than the > closed source NRV). Unfortunately I don't recall whether I have a DJGPP > build environment on our server, so I cannot at this time provide builds > like I do for a few programs [13]. > > I did want to bring up the UPX-NRV problem for a while however. Perhaps > someone can provide UPX-UCL builds before the FreeDOS 1.4 release. > > Regards, > ecm > > > [7]: https://upx.github.io/upx-license.html > [8]: > https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/devel/upx/4.0.2/ > [9]: http://www.oberhumer.com/products/nrv/ > [10]: > https://archive.ph/20120909151357/http://www.oberhumer.com/products/nrv/ > [11]: https://en.wikipedia.org/wiki/UPX > [12]: > https://github.com/upx/upx/blob/3757579ffc6fa8710b4b7a1055529fea9dcaf149/README.SRC > [13]: https://pushbx.org/ecm/web/#projects-subsection-otherbuilds > > > > [5] https://upx.github.io/ https://upx.github.io/> > > [6] https://github.com/upx/upx/releases > > https://github.com/upx/upx/releases> > > > >> > >> [1]: > >> https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/test/FDT2411-FullUSB.zip > >> > >> https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/test/FDT2411-FullUSB.zip> > >> [2]: > >> https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/test/FDT2411-BonusCD.zip > >> > >> https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/test/FDT2411-BonusCD.zip> > >> [3]: https://sourceforge.net/p/freedos/mailman/message/58836419/ > >> https://sourceforge.net/p/freedos/mailman/message/58836419/> > >> [4]: https://pushbx.org/ecm/doc/ldebug.htm#news-r9 > >> https://pushbx.org/ecm/doc/ldebug.htm#news-r9> > > > > _______________________________________________ > Freedos-devel mailing list > Freedos-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-devel > _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel