1.1.3. Ubuntu Linux (16.04 and higher): The essential system setup¶ Here we describe installation and system setup for modern Ubuntu Linux versions, specifically 16. 1.1.2. Ubuntu Linux (15.10 and earlier): The essential system setup¶ Here we describe installation and system setup for reasonably modern Ubuntu Linux versions, up. Flexible single board computer powered by Rockchip RK3288 SOC combining a power Quad core ARM Cortex- A17 CPU and Mali-T764 GPU. MXE (M cross environment)2. Retired the stable branch. The stable branch. Everybody is using the master branch. For historical reference, the last commit to the stable branch was. Added support for shared toolchains for over 5. Unfortunately, a number of factors have forced us to drop support. Min. GW 3 (i. e. "Min. GW. org"). in favor of the Min. GW- w. 64 toolchain. This decision was made in a. Min. GW by. GLib and Qt. MXE. Other considerations have also been taken, like the lack. Min. GW and potential legal. Direct. X. headers in Min. GW in order to support Qt. Worse yet, having to. Min. GW toolchain impedes adding or. GLib. Please note that dropping support for Min. GW DOES NOT. MEAN dropping support for the 3. Min. GW- w. 64. also supports 3. To ease migration to the supported Min. GW- w. 64 target, we have. Min. GW- only to at least. Min. GW- w. 64). Hence your existing. MXE_TARGETS environment variable is set correctly. Release 2. 2. 3. The stable branch was updated. Current users are strongly encouraged to. Most packages were updated to their latest version. Many new packages are supported. Added support for mingw- w. With the addition of Qt. Qt section of the tutorial. Free. BSD is no longer fully supported. Qt. 5, ocaml*, and 8 other packages are excluded from the build. Release 2. 2. 2. The release tarballs have been replaced with a stable branch. Any change of a build script goes into "master". Any package upgrade goes into "master". Any documentation upgrade that refers to a feature. Anything else that doesn't affect the build goes. Any non- critical improvement to the main Makefile. Any improvement in the package download URLs or. When in doubt, "master" is used rather than "stable". Every change to the "stable" branch. After a successful testing phase. The project has been. Min. GW cross compiling environment). MXE (M cross environment). Most packages were updated to their latest version. New packages are supported. Release 2. 2. 1Download |. Changelog. Minor bugfixes in several packages. Almost all packages are updated to their latest version. Packages gtkmm and gtksourceviewmm have been renamed to gtkmm. New packages are supported. Release 2. 2. 0Download |. Changelog. This release fixes a download error caused by the pixman project. URL scheme without proper redirects). That sort of thing should never happen! Release 2. 1. 9Download |. Changelog. The download mechanisms are improved. A CMake toolchain file is provided. CMake. Support for Debian/Lenny is dropped. Package gtk is renamed to gtk. Almost all packages are updated to their latest version. New packages are supported. Note for boost: :filesystem users. Version 3 is a major revision. Release 2. 1. 8Download |. Changelog. This release fixes a checksum error caused by the atkmm project. That sort of thing should never happen! Release 2. 1. 7Download |. Changelog. This release provides some improvements of the build system. All packages are updated to their latest version. New packages are supported. Release 2. 1. 6Download |. Changelog. This release provides lots of improvements to. Support for Open. Solaris is dropped. Almost all packages are updated to their latest version. Many new packages are supported. Release 2. 1. 5Download |. Changelog. This release fixes download errors caused by the Qt project. Almost all packages are updated to their latest version. Release 2. 1. 4Download |. Changelog. This release fixes download errors caused by the Min. GW project. (a sudden change of their URL scheme without proper redirects). That sort of thing should never happen! Almost all packages are updated to their latest version. New packages are supported. Release 2. 1. 3Download |. Changelog. This release switches back from TDM to the official GCC. GCC 4. 5. The set of Direct. X headers is improved and more complete. The deadlock issues with Pthreads- w. A static build of GDB is provided. DLLs. More packages are backed by test programs. Many "sed hacks" are replaced by proper portability patches. Almost all packages are updated to their latest version. Many new packages are supported. Release 2. 1. 2Download |. Changelog. This release fixes some minor build issues. The build rules are simplified. Autotools and Flex. Almost all packages are updated to their latest version. Many new packages are supported. Release 2. 1. 1Download |. Changelog. This release contains a packaging bug. Please use release 2. Release 2. 1. 0Download |. Changelog. This release adds support for many new packages. Almost all packages are updated to their latest version. In addition to the libraries. The placements of logfiles, as well as many other build details, have been improved. Release 2. 9. Download |. Changelog. This release adds support for Qt, VMime and libmng. The target triplet is updated to i. Open. MP support is enabled in GCC. Almost all packages are updated to their latest version. Release 2. 8. Download |. Changelog. This release comes with a better look & feel. The detailed build messages are stored into. The download URLs of Source. Forge packages. are adjusted to ensure that. Source. Forge mirror is really used. HTTP redirects to other mirrors. Almost all packages are updated to their latest version. The whole mingw- cross- env project has moved to. Savannah. So all URIs have changed. URIs. redirect to the new locations seamlessly. Everyone is invited to join the freshly created. Release 2. 7. Download |. Changelog. This release. Source. Forge packages. Source. Forge changed their page layout. Additionally. almost all packages are updated to their latest version. Release 2. 6. Download |. Changelog. This release contains some portability fixes. Frugalware. The documentation and website are completely revised. New packages such as. Cpp. Unit, lib. Usb, NSIS, Popt, SQLite and Theora. Almost all packages are updated to their latest version. A new command "make download" is implemented. Release 2. 5. Download |. Changelog. This release fixes a download error caused by the Min. GW project. They suddenly changed the names of their source tarballs. That sort of thing should never happen! This release also contains some bugfixes. All downloaded files are now. SHA- 1 checksums. New versions of various packages are supported. Release 2. 4. Download |. Changelog. This release provides many new libraries such as. Widgets, GTK+ and Open. EXR. In addition, new versions of various packages. Release 2. 3. Download |. Changelog. This release fixes some serious build problems on Free. BSD and Mac. OS- X. The Makefile has a new target "clean- pkg". Makefile". Some new versions of the packages are supported. GCC- 4. 3 by switching from Min. GW GCC to. TDM- GCC. Release 2. 2. Download |. Changelog. This release fixes some minor build problems. It also supports some new packages and. Parallelization is now disabled by default. Release 2. 1. Download |. Changelog. This release fixes a download error caused by the GDAL project. They suddenly changed their download URLs. That sort of thing should never happen! In addition, some newer versions of various packages are supported. There is also a small compatibility fix for OS X. Release 2. 0. Download |. Changelog. The shell script has been rewritten as Makefile. As usual. this release also supports some new packages and. Release 1. 4. Download |. Changelog. This release now includes a tutorial by Hans Bezemer. FLTK. As usual, it supports some newer versions of the libraries. At the request of its author. The script now uses a specific Source. Forge mirror. instead of randomly chosen ones. Release 1. 3. Download |. Changelog. A sudden change in the download URLs of GEOS. Such changes should never happen! But it happened. and this quick release is an attempt to limit the damage. This release also supports some newer versions of the libraries. Release 1. 2. Download |. Changelog. This release is a switch from gcc- 3 to gcc- 4. It also supports a new library and. Release 1. 1. Download |. Changelog. This release is the result of the public attention the release 1. It contains many improvements suggested by its first users. Thanks to Rocco Rutte who contributed many code snippets. Release 1. 0. Download |. Changelog. This first release has been created in a 7- day- sprint. Macro- level software evolution: a case study of a large software compilation. Distributions are organized as a set of packages, each one usually corresponding to an application or a library, although they can also correspond to other products, such as documentation. As most libre software distributions do, Debian defines two different types of packages: source and binary. A source package contains the source code needed to produce a binary, installable, package. Once built, a source package results into one or more binary packages. Debian maintains a Sources file for each release, describing the source packages that it contains. For each package, it contains the name and version, the list of binary packages built from it, the name and e- mail address of the maintainer, and some other information not relevant for this study. A package can be maintained by an individual or a team. As an example, an excerpt of the entry for the mozilla source package in Debian 2. M1. 8- 3, provides four binary packages, and is maintained by Frank Belew. For each Debian release, several binary distributions (collections of binary packages) are available, corresponding to the different architectures supported (for example: i. Each binary distribution is defined by a list of descriptions of binary packages, found in the corresponding Packages file. The description of a binary package is similar to that of a source package, but contains some other fields of interest. For example, in Debian 2. The Depends field of a package description lists other binary packages needed for it to run successfully. Therefore, packages that satisfy those dependencies should be installed before, or at the same time, than the described package. In the above case, each of the packages in the Depends field (in some cases specific versions of packages, such as a version of libc. M1. 8- 3) should be installed before, or at the same time, than mozilla. Each of these dependencies is either explicit (one and only one package is specified), one- of- many (a list of packages separated by | is specified, of which only one is required to be installed, for example eeyes | imagemagick | netpbm |.. Pre- Depends is a similar field used by some packages, listing dependencies that should be installed before the installation of the package can proceed. A Debian binary package may also have some optional requirements, listed in the Recommends and Suggests fields. The Debian Policy Manual defines packages listed in Recommends as strong but not required dependencies, and as those that would “be found together with this package in all but unusual installations.” Suggests is used to declare optional dependencies that would enhance the original package but are not as common as those listed in the Recommends field. For a detailed formalization of Debian dependencies, and the method used to resolve them, see Mancinelli et al. The study presented in this paper started by retrieving the files describing each Debian GNU/Linux stable releases between 2. For each of them, the corresponding Sources and Packages files of the i. Once retrieved, Sources files were parsed, storing the resulting data into a database. Then, each source package was retrieved, the programming languages used in it identified, and the number of source lines of code (SLOC) for each file it contained, counted. The counting and language identification was performed with the SLOCCount tool. This tool analyzes a directory with source code, (in our case corresponding to a source package), identifies (by a series of heuristics) the files that contain source code, identifies for each of them (also by means of heuristics) the programming language, and finally counts the number of source lines of code they contain. SLOCCount counts “physical SLOC”, defined as follows: “a physical source line of code (SLOC) is a line ending in a newline or end- of- file marker, and which contains at least one non- whitespace non- comment character.”. SLOCCount also identifies identical files using MD5 hashes, and includes heuristics to detect, and avoid counting, automatically generated code. These mechanisms are helpful when analyzing the code, but have some deficiencies. MD5 detects identical files, but not those that have been slightly modified. With respect to automatic code, heuristics detect well- known or common cases, but may fail in some scenarios. Nevertheless, SLOCCount is a proven tool and it has been used on studies of Red Hat (Wheeler 2. Debian (Gonzalez- Barahona et al. The results of the SLOCCount analysis were converted later into other formats, including both SQL and XML, which were used for later analysis, and for publishing most of the data. For creating the dependency graphs of each release, the corresponding Packages file were parsed, searching for Depends, Pre- Depends, Suggests and Recommends fields. The relationship between packages and their dependencies can be modeled as a directed graph, where nodes are either binary packages or abstract dependencies; and edges correspond to their dependencies (see details in German 2. German et al. 2. 00. The edges are typed according to their importance: required (Depends and Pre- Depends) and optional (Recommends or Suggests). Abstract packages are connected to those that can “satisfy” them. A node can be further annotated with other attributes of the package, such as its license or installed size. We refer to this graph as the Inter- Dependency Graph (IDG) of the distribution. By extension, the IDG of a package p is the subset of the distribution’s IDG that is reachable from p. Figure 1 shows the IDG of Postgre. SQL under Debian 2. Fig. 1. Inter- Dependency Graph for Postgre. SQL in Debian 2. 0. For IDGs, the following notation has been used (German et al. Debian system are colored in orange (darker). These graphs are similar to those defined by Mancinelli et al. Instead, such information is stored as logic predicates. In addition, Mancinelli graphs include information about conflicting binary packages, and the nodes are annotated with the version of the package that they require. Lets assume that the IDG of the distribution is G = (V,E), where V is its set of nodes, and E its set of edges. Direct dependencies of package p is the set of nodes (binary packages and abstract dependencies) in V that are directly connected to p. Direct subordinates of package p correspond to those nodes in V (binary packages and abstract dependencies) from which there is an edge to p. The Direct subordinates of p have p as one of its Direct dependencies. Abstract dependencies represent a choice of one of many packages; only one of them needs to be installed to satisfy the dependency. This implies that there might be multiple ways in which the dependencies of a package can be satisfied (Tucker et al. We define the Instance of the IDG of a package as a subset of its IDG where each abstract dependency points only to one package (the one that solved that abstract dependency). A specific instance of an IDG of a package p represents how p can be installed in a specific Debian system, with specific packages solving each abstract dependency. The Debian Popularity Contest. Debian packages, by tracking those actually installed by users participating in it. We use the Popularity Contest data to estimate the most likely way an abstract dependency is satisfied, computing the popular instance of the IDG (p. IDG) of a package. This instance is computed selecting, for each abstract dependency that can be satisfied by several packages, the one with the highest popularity. Therefore, this instance includes no optional packages. Unfortunately the Debian Popularity Contest does not archive data for each Debian release, and we assume that the popularity of a package is the same across releases. When there is no popularity data for the options of an abstract dependency we choose the first listed, which is the algorithm used by Debian’s package system to decide how to resolve it if none of the options is already installed. We define two more sets. All dependencies of package p is the set of binary packages in its p. IDG. All potential subordinates of package p is all binary packages in a Debian distribution that include p in its IDG. The set of all dependencies of p corresponds to the most common set of applications that need to be installed before p can function (each abstract dependency—one- of- many, or disjunctive—is resolved to exactly one binary package).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
November 2017
Categories |