├── .gitignore ├── CONTRIBUTING.md ├── README.md ├── TODO ├── assets ├── images │ ├── AOSC OS Core Rationale, update model.png │ └── AOSC OS Core Rationale, update model.svg └── rfc │ ├── core5-optimization-overlay.md │ └── scheduled-prioritized-package-updates.md ├── core-database ├── db │ ├── autobuild │ │ ├── build │ │ ├── defines │ │ └── patch │ └── spec └── gdbm │ ├── autobuild │ ├── beyond │ └── defines │ └── spec ├── core-devel ├── binutils │ ├── autobuild │ │ ├── beyond │ │ ├── defines │ │ ├── patches │ │ │ ├── 0001-aarch64-stub-fix.patch │ │ │ ├── 0001-mips64-default-n64.patch │ │ │ └── 0003-Fix-gold-on-MIPS64.patch │ │ └── prepare │ └── spec ├── gcc │ ├── 01-runtime │ │ ├── beyond │ │ ├── defines │ │ ├── patches │ │ │ └── 0001-Hack-disable-vsx-and-newer-ppc64-support.patch.ppc64 │ │ └── prepare │ ├── 02-compiler │ │ ├── alternatives │ │ ├── beyond │ │ ├── build │ │ ├── defines │ │ └── overrides │ │ │ └── usr │ │ │ └── lib │ │ │ ├── autobuild3 │ │ │ └── specs │ │ │ └── gcc │ │ │ └── specs │ │ │ ├── hardened-cc1 │ │ │ └── hardened-ld │ └── spec ├── linux+api │ ├── autobuild │ │ ├── build │ │ └── defines │ └── spec └── make │ ├── autobuild │ ├── defines │ └── patch │ └── spec ├── core-libs ├── glibc │ ├── autobuild │ │ ├── build │ │ ├── conffiles │ │ ├── defines │ │ ├── locale-gen-pack │ │ ├── overrides │ │ │ ├── etc │ │ │ │ ├── ld.so.conf │ │ │ │ └── nsswitch.conf │ │ │ └── usr │ │ │ │ └── share │ │ │ │ └── locale │ │ │ │ └── ug_CN │ │ ├── patches │ │ │ └── 0003-glibc-c-utf8-locale.patch │ │ └── prepare │ └── spec ├── gmp │ ├── autobuild │ │ ├── defines │ │ └── prepare │ └── spec ├── isl │ ├── autobuild │ │ ├── beyond │ │ └── defines │ └── spec ├── mpc │ ├── autobuild │ │ └── defines │ └── spec ├── mpfr │ ├── autobuild │ │ └── defines │ └── spec ├── ncurses │ ├── autobuild │ │ ├── beyond │ │ ├── build │ │ └── defines │ └── spec ├── readline │ ├── autobuild │ │ ├── beyond │ │ ├── defines │ │ ├── overrides │ │ │ └── etc │ │ │ │ └── inputrc │ │ ├── patch │ │ ├── patches │ │ │ └── readline80-001 │ │ └── postinst │ └── spec └── zlib │ ├── autobuild │ ├── build │ ├── defines │ ├── patch │ └── patches │ │ ├── cflags-for-minizip │ │ ├── debian.series │ │ ├── series │ │ ├── use-dso │ │ └── use-dso-really │ └── spec ├── core-misc └── aosc-aaa │ ├── autobuild │ ├── build │ ├── conffiles │ ├── defines │ ├── postinst │ └── usergroup │ └── spec ├── core-perl └── perl │ ├── autobuild │ ├── build │ ├── defines │ ├── overrides │ │ └── etc │ │ │ └── profile.d │ │ │ └── perl.sh │ └── prepare │ └── spec ├── core-shells └── bash │ ├── autobuild │ ├── beyond │ ├── defines │ ├── patch │ ├── patches │ │ ├── bash50-001 │ │ ├── bash50-002 │ │ ├── bash50-003 │ │ ├── bash50-004 │ │ ├── bash50-005 │ │ ├── bash50-006 │ │ ├── bash50-007 │ │ ├── bash50-008 │ │ ├── bash50-009 │ │ ├── bash50-010 │ │ └── bash50-011 │ ├── post-rpm │ ├── pre-rpm │ └── prepare │ └── spec ├── groups └── build-core └── repo-spec └── external-packages /.gitignore: -------------------------------------------------------------------------------- 1 | abbs.db 2 | abbs.db-journal 3 | repo-spec/last_db_update 4 | *.swp 5 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Contributing 2 | ============ 3 | 4 | See https://github.com/AOSC-Dev/aosc-os-abbs/blob/HEAD/CONTRIBUTING.md. 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | AOSC OS Core 2 | ============ 3 | 4 | AOSC OS Core is introduced after the final debut of AOSC OS3 (the last version 5 | of AOSC OS with a versioned name), designed to be a standardized base of: 6 | 7 | - Core runtime libraries. 8 | - Basic toolchains. 9 | 10 | For AOSC OS and its potential derivatives. 11 | 12 | The Core also serves as a versioning agent for AOSC OS (provided by the 13 | `aosc-aaa` package - the base rock definition of AOSC OS). 14 | 15 | Rationale 16 | --------- 17 | 18 | AOSC OS is a decently large project, holding more than 3,500 packages in the 19 | [ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs/) and is available for 20 | six architectures: 21 | 22 | - AMD64/x86_64 Intel/AMD compatible personal computers, workstations, and 23 | servers. 24 | - ARMv7 32-bit development boards, phones, and tablets. 25 | - ARMv8 64-bit development boards, phones, tablets, and servers. 26 | - MIPS32 (MIPS-II) personal computers, workstations, and servers. 27 | - PowerPC 32-bit (Big Endian) personal computers, Macintosh, workstations, 28 | and servers. 29 | - PowerPC 64-bit (Big Endian) personal computers, Macintosh, workstations, 30 | and servers. 31 | 32 | Maintaining such large amount of packages across multiple architectures is 33 | not an easy job for the maintainers of the project: under the circumstances 34 | of security vulnerbilities, major updates, and mass rebuilds, AOSC OS 35 | developers may not be effective at finishing the respective tasks in a 36 | timely fashion. 37 | 38 | Added on with annual/semi-annual (or schedules of similar fashion) releases, 39 | AOSC OS could be too time consuming for our limited team of maintainers. 40 | 41 | Therefore, AOSC OS Core will serve a standard for **ALL** AOSC OS ports 42 | with a version definition of its counterpart - released on a non-regulated 43 | schedule, thus saving time and potential frustration for the maintainers. 44 | 45 | In practice 46 | ----------- 47 | 48 | The following practices is defined for AOSC OS Core development: 49 | 50 | * AOSC OS Core will take in place of the "AOSC OSn" (where "n" is a natural 51 | number) versioning rules, however it will be versioned in "x.y.z" format. 52 | * `aosc-aaa` will be included as the only base-line definition for AOSC OS 53 | Core, with filesystem structure and basic configurations that may affect 54 | system behaviors 55 | * AOSC OS Core will **NOT** be updated as soon as new components were 56 | released, any major version bump should be first discussed (fork it if you 57 | do need to update, and PR if you feel like doing so). 58 | * Only tool chain level packages like will be included (by definition). 59 | * **ALL** security updates will be provided when applicable. 60 | 61 | ### An example of update cycle 62 | 63 | AOSC OS3, after being released as the last versioned release (it will start 64 | rolling while AOSC OS Core is still versioned), it will release versions 65 | like follows: 66 | 67 | * Stable series: 3.1, 3.2, 3.3, ..., 3.10, 3.11, ... 68 | * Experimental (playground) series: 3.99.1, 3.99.2, ..., 3.99.10, 3.99.11, ... 69 | 70 | ![update_model](https://github.com/AOSC-Dev/aosc-os-core/raw/master/assets/images/AOSC%20OS%20Core%20Rationale%2C%20update%20model.png) 71 | 72 | Stable and Experimental series will not affect each other, nor do they have 73 | a "testing - release" relationship. 3.99 series (Experimental) will become 74 | the future 4.0 series... And the cycle continues. 75 | 76 | Packages 77 | -------- 78 | 79 | AOSC OS Core currently include the following packages: 80 | 81 | * linux+api, "Linux API Headers for glibc" 82 | * zlib, "A Massively Spiffy Yet Delicately Unobtrusive Compression Library" 83 | * glibc, "GNU C Library" 84 | * tzdata, "Time Zone Data" 85 | * gmp, "GNU Multiprecision library" 86 | * mpfr, "Functions for multiple precision math" 87 | * mpc, "A library for the arithmetic of complex numbers" 88 | * isl, "Library for manipulating sets and relations of integer points bounded by linear constraints" 89 | * gcc-runtime, "GNU Compiler Collection (runtime libraries only)" 90 | * gcc, "GNU Compiler Collection", (languages: c, c++, fortran, lto) 91 | * binutils, "a set of programs to assemble and manipulate binary and object files" 92 | * gdbm, "GNU Database Manager library" 93 | * db, "Berkeley DB embedded database system" 94 | * perl, "a highly capable and feature rich programming language" 95 | * readline, "GNU realine library" 96 | * ncurses, "System V Release 4.0 curses emulation library" 97 | * bash, "Bourne Again SHell" 98 | * make, "GNU Make, designed for code processing" 99 | * aosc-aaa, "bed rock level system definitions" 100 | 101 | (total of 19 packages) 102 | 103 | Building the Core 104 | ----------------- 105 | 106 | Please first refer to our 107 | [AOSC Cadet Training](https://github.com/AOSC-Dev/aosc-os-abbs/wiki) 108 | handbook. 109 | 110 | Derivatives of AOSC OS Core 111 | --------------------------- 112 | 113 | Derivatives may be built upon AOSC OS Core, as the packages provided in 114 | AOSC OS Core may form a fully working chroot environment for developers to 115 | get started. 116 | 117 | However, BuildKit can still be used as BuildKit itself was built upon AOSC OS 118 | Core (convenient huh) - and to be fair, a flavour of AOSC OS release on its 119 | own. 120 | 121 | You may obtain a copy of BuildKit [here](https://aosc.io/os-download). 122 | 123 | Need help? 124 | ---------- 125 | 126 | All questions and bug reports should be filed to the "Issues" section of 127 | this repository. 128 | -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- 1 | ARMEL: 2 | Automatic build test. 3 | 4 | ALL: 5 | Readline issue (linkage with -lncurses). 6 | -------------------------------------------------------------------------------- /assets/images/AOSC OS Core Rationale, update model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AOSC-Archive/aosc-os-core/3a38e1d07a68541a2e851c42be47d03a7f1d2fbb/assets/images/AOSC OS Core Rationale, update model.png -------------------------------------------------------------------------------- /assets/images/AOSC OS Core Rationale, update model.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | AOSC OS (Rolling Updates) 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | Core 3.0.2 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | Core 4.0 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | ... 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | Core 4.0.1 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | Core 4.0.2 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | Core 3.0.1 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 3.99 Series 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 4.99 Series 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 4.0 Merge 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 5.0 Merge 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | End users of AOSC OS releases 346 | 347 | 348 | 349 | 350 | Developers, BuildKit, Robots 351 | 352 | 353 | 354 | 355 | Dare devils (playground) 356 | 357 | 358 | 359 | 360 | 361 | 362 | -------------------------------------------------------------------------------- /assets/rfc/core5-optimization-overlay.md: -------------------------------------------------------------------------------- 1 | (Original Title: Increased Coverage of Instruction Optimization) 2 | 3 | How this RFC works 4 | ------------------ 5 | 6 | - As this RFC is sent to the discussions list, please provide all your feedback here if possible. Although a copy of this post will be provided on Github, and discussed on Telegram/IRC (I will be reposting discussions found in these chat groups over here on their behalf). 7 | - This post is compatible with Github Markdown, use a previewer if necessary. 8 | 9 | Rationale 10 | --------- 11 | 12 | AOSC OS, as it stands, has been able to utilize instruction optimization on each of the supported platform relatively well – while preserving compatibility across devices of that specific architecture.¹ However, some optimizations were excluded for the purpose of retaining compatibility, arguably "wasting" some potential performance output on certain devices. A good example would be our AMD64 port – principle, and longest running port – where for the concern of compatibility our instruction optimization has only been enabled to the level of SSE3, whereas SSSE3 and SSE4 were introduced with Core 2 Duo, just one generation ahead in the Intel EMT64 timeline, later followed by AVX and AVX2 with Sandy Bridge and Haswell, respectively. 13 | 14 | Performance improvement, according to a 2013 survey on "optimized binaries" showed significant performance increase in some applications, while showing little to none, even negative performance impact in some other cases.² At this stage of discussion, it is believed that similar performance outcome could be observed with other ports of AOSC OS, with the exception of the ARM ports, where NEON has already been imposed on both ports, breaking some device compatibility. 15 | 16 | Proposed Changes 17 | ---------------- 18 | 19 | Given the discussion, above, it is suggested that AOSC OS introduce a new repository-based framework for distribution of "further optimized" binaries for any given architecture, which, for the purpose of this RFC, shall be referred to as "optimization overlays". 20 | 21 | In principle, an optimization overlay provides what is visible to users and the package manager as "system/package updates" when enabled. For example, given our current repository layout, the AMD64 DPKG repository is located in: 22 | 23 | ${mirrorname}/os-amd64/os3-dpkg 24 | 25 | Written in APT configuration as: 26 | 27 | deb ${mirrorname}/os-amd64/os3-dpkg / 28 | 29 | When integrated with the intended changes, say, an AVX2 overlay is to be put in place, it will be located at: 30 | 31 | ${mirrorname}/os-amd64/avx2/os3-dpkg / 32 | 33 | And thus, the APT configuration will contain an extra line: 34 | 35 | deb ${mirrorname}/os-amd64/os3-dpkg / 36 | deb ${mirrorname}/os-amd64/avx2/os3-dpkg / 37 | 38 | This configuration should be able to be enabled with enhancements to the apt-gen-list utility (currently worked on by Junde Yhi ), which is already included with every installation of AOSC OS, where a command line switch could toggle an overlay – or for the sake of simplicity, detecting processor capabilities automatically from the /proc/cpuinfo file, and automatically enable any available overlay(s). 39 | 40 | As currently planned, the optimization overlay should be made available to multiple ports of AOSC OS, applied to packages in Core, and to other instruction set aware packages in the ABBS/ACBS tree. But do note that the overlay is not necessarily limited to the practice of providing packages with extra instruction optimization flags enabled, but to also provide packages with platform/device specific changes (patches or forks) – this will be especially visible with both MIPS ports, where Loongson-specific changes may be introduced for improved performance – and thus included in the MIPS' optimization overlays. 41 | 42 | To clarify the proposal, a table is produced to show current plan on optimization overlays for each AOSC OS port: 43 | 44 | | Ports | Overlay? | Overlay Contents (if any) | Extra Optimization Flags (if any) | 45 | |---------------------------|----------|-----------------------------------|-----------------------------------| 46 | | AMD64 (amd64) | Yes | AVX2 optimized binaries | -march=haswell -mtune=haswell | 47 | | ARMv7 (armel) | No | - | - | 48 | | ARMv8 (aarch64) | No | - | - | 49 | | MIPS32 (mipsel) | Yes | Loongson 2E+ binaries and patches | -march=loongson2 -mtune=loongson2 | 50 | | MIPS64 (mips64el) | Yes | Loongson 3+ binarie and patches | -march=loongson3 -mtune=loongson3 | 51 | | PowerPC 32-bit (powerpc) | Yes | AltiVec optimized binaries | -maltivec -mabi=altivec | 52 | | PowerPC 64-bit BE (ppc64) | No | - | - | 53 | 54 | Extra Changes Required 55 | ---------------------- 56 | 57 | - Autobuild3 will need to support "secondary architectures/hosts", for example, an $ABHOST of amd64-avx2, which provides extra compiler flags with $AB/arch/amd64-avx2.sh, while still producing packages of its root architecture/host, i.e., amd64. 58 | - As mentioned above, new repositories providing these overlay packages. 59 | - Extra tests to be conducted by packagers, for any packages with optimization overlay, it should be tested on both regular and overlay'd system roots. 60 | - A new form of ticket/issue type sent in by users and developers for optimization requests - optreq. 61 | 62 | Questions 63 | --------- 64 | 65 | - How should overlay'd packages be labeled as updates? Higher epoch? 66 | - How should packages with platform-specific changes be managed by ABBS/ACBS? Independent tree? Branch? 67 | 68 | Notes 69 | ----- 70 | 71 | - ¹ However, it should be pointed out that this description comes with exceptions for ARMv7 (armel) where NEON is required, on MIPS32/64 (mipsel, mips64el) where MIPS-II (thus excluding MIPS-I) and MIPS64r2 (thus excluding MIPS64r1) ABIs are required, and on PowerPC 64-bit Big Endian (ppc64) where AltiVec is required (thus excluding some Freescale-based PowerPC 64-bit processors, which are used on some AmigaONE desktop computers, e.g. the A5000). 72 | - ² Larabel, Michael. "Optimized Binaries Provide Great Benefits For Intel Haswell,” Phoronix, 15 June, 2013. http://www.phoronix.com/scan.php?page=article&item=intel_core_avx2 73 | -------------------------------------------------------------------------------- /assets/rfc/scheduled-prioritized-package-updates.md: -------------------------------------------------------------------------------- 1 | (Original Title: Scheduled/Prioritized Package Updates) 2 | 3 | How this RFC works 4 | ------------------ 5 | 6 | - As this RFC is sent to the discussions list, please provide all your feedback here if possible. Although a copy of this post will be provided on Github, and discussed on Telegram/IRC (I will be reposting discussions found in these chat groups over here on their behalf). 7 | - This post is compatible with Github Markdown, use a previewer if necessary. 8 | 9 | Rationale 10 | --------- 11 | 12 | Currently AOSC OS is updated in an arbitrary fashion, where a batch of packages could be held on with a rough "cycle" (that was me, I'm sorry), where security updates were also mixed within the batch, resulting in delayed update for critical security issues. Furthermore, packages were first built _exclusively_ on AMD64 - with our recently introduced "noarch"/data packages, users of non-AMD64 architectures on which package updates could very well be delayed for up to 2 weeks, could be constantly running into dependency issues, further degrading security and functionality of these ports of AOSC OS. 13 | 14 | The intent of this RFC is to provide a scheduled/prioritized model for AOSC OS package updates, where non-security package updates/fixes/enhancements or pakreq results were pushed to the community repository in a monthly cycle, while security updates were built across all architectures - _independent_ from non-security update cycles, and pushed _immediately_ after building and testing. 15 | 16 | This change is not intended for AOSC OS Core. 17 | 18 | Proposed Changes 19 | ---------------- 20 | 21 | For non-security package updates (this includes pakreq'd packages and bugfixes), on the calendar of any given month... 22 | 23 | | Day/Week Count | Tasks | 24 | |-----------------------|-----------------------------------------------------------------| 25 | | 1st day | Pending package updates were gathered from information sources. | 26 | | 1st - 2nd week | Package updates built on all architectures, sync or async. | 27 | | Fridays of 2nd week | Untested package updates pushed to a staging repository. | 28 | | 3rd - 4th week | Package updates tested across all architectures. | 29 | | Last Friday | Tested packages available to non-staging AOSC OS users. | 30 | | Rest of the month | Fun time, whatever. | 31 | 32 | For security updates, fixes and security package updates will be built immediately by the first "responder" (couldn't find the proper word, this is apparently only found in Spanish), and... As a security was built and tested, it would be pushed to the community repository _without_ going through the staging repository and _regardless_ of synchronization between different architectures - however, packagers should be notified and expected to build and test these updates at their earliest availability. 33 | 34 | Extra Changes Required 35 | ---------------------- 36 | 37 | - A new branch `bugfix` will be opened in the ABBS tree, this also applies to overlays. 38 | - Changes made in the `staging` and its resulting packages will be uploaded to the staging repository. 39 | - _After_ changes are merged to the `master` branch, packages will be made available in the community repository. 40 | 41 | Questions 42 | --------- 43 | 44 | - Should users be able to access the staging repository despite the potential danger of breaking a working system? 45 | - Should packages be de-duped of older revisions before they were made available to the community repository? 46 | - Only applies to those available in the staging repository (ask for clarification if confused). 47 | - What if an architecture did not make it in time, should non-security updates be delayed to be uploaded with the next cycle? Or simply delay? 48 | -------------------------------------------------------------------------------- /core-database/db/autobuild/build: -------------------------------------------------------------------------------- 1 | pushd build_unix 2 | 3 | # The following configuration: 4 | # 5 | # 1. Enables compatibility for old version Berkeley DBs (probably before Oracle); 6 | # 2. Enables DB manager libraries and utilities; 7 | # 3. Enables CXX programs (disable --enable-cxx if you do think it is necessary); 8 | # 4. Enables shared libraries (if you need static libraries, add --enable-static); 9 | # 5. Disables Tcl bindings (it is not necessary so far, at least in AOSC OS); 10 | abinfo "Configuring Berkeley DB..." 11 | ../dist/configure --prefix=/usr \ 12 | --enable-compat185 \ 13 | --enable-dbm \ 14 | --enable-cxx \ 15 | --enable-shared \ 16 | --disable-tcl 17 | 18 | # Enables POSIX thread library linkage (in GLibC, no need to remove). 19 | abinfo "Building threaded runtime libraries..." 20 | make LIBSO_LIBS="-lpthread" 21 | make DESTDIR="$PKGDIR" install 22 | 23 | abinfo "Moving documentations..." 24 | mkdir -pv "$PKGDIR"/usr/share/doc/db 25 | mv -v "$PKGDIR"/usr/docs/* \ 26 | "$PKGDIR"/usr/share/doc/db/ 27 | rm -rv "$PKGDIR"/usr/docs 28 | 29 | popd 30 | -------------------------------------------------------------------------------- /core-database/db/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=db 2 | PKGDES="Berkeley DB embedded database system" 3 | PKGSEC=database 4 | PKGDEP="glibc" 5 | 6 | AB_FLAGS_O3=1 7 | -------------------------------------------------------------------------------- /core-database/db/autobuild/patch: -------------------------------------------------------------------------------- 1 | for i in $(find "$SRCDIR" -name config.guess -o -name config.sub); do \ 2 | abinfo "Copying replacement $i ..." 3 | # FIXME: hard-coded automake version. 4 | # Adapted from redhat-rpm-config. 5 | # http://pkgs.fedoraproject.org/cgit/rpms/redhat-rpm-config.git/tree/macros#n35 6 | cp -v /usr/share/automake-1.16/$(basename $i) $i ; \ 7 | done 8 | -------------------------------------------------------------------------------- /core-database/db/spec: -------------------------------------------------------------------------------- 1 | VER=6.2.32 2 | REL=2 3 | SRCTBL="http://download.oracle.com/berkeley-db/db-$VER.tar.gz" 4 | CHKSUM="sha256::a9c5e2b004a5777aa03510cfe5cd766a4a3b777713406b02809c17c8e0e7a8fb" 5 | -------------------------------------------------------------------------------- /core-database/gdbm/autobuild/beyond: -------------------------------------------------------------------------------- 1 | abinfo "Fixing build failures in some packages..." 2 | install -dvm755 "$PKGDIR"/usr/include/gdbm 3 | ln -svf ../gdbm.h "$PKGDIR"/usr/include/gdbm/gdbm.h 4 | ln -svf ../ndbm.h "$PKGDIR"/usr/include/gdbm/ndbm.h 5 | ln -svf ../dbm.h "$PKGDIR"/usr/include/gdbm/dbm.h 6 | -------------------------------------------------------------------------------- /core-database/gdbm/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=gdbm 2 | PKGDES="GNU Database Manager library" 3 | PKGSEC=libs 4 | PKGDEP="glibc" 5 | 6 | # Enable GDBM compatibility libraries, disable when applicable. 7 | AUTOTOOLS_AFTER="--enable-libgdbm-compat" 8 | RECONF=0 9 | -------------------------------------------------------------------------------- /core-database/gdbm/spec: -------------------------------------------------------------------------------- 1 | VER=1.18.1 2 | REL=1 3 | SRCTBL="https://ftp.gnu.org/gnu/gdbm/gdbm-$VER.tar.gz" 4 | CHKSUM="sha256::86e613527e5dba544e73208f42b78b7c022d4fa5a6d5498bf18c8d6f745b91dc" 5 | -------------------------------------------------------------------------------- /core-devel/binutils/autobuild/beyond: -------------------------------------------------------------------------------- 1 | abinfo "Remove files to avoid conflicts with GDB, etc..." 2 | rm -v "$PKGDIR"/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}* 3 | rm -v "$PKGDIR"/usr/include/diagnostics.h 4 | 5 | abinfo "Creating host-prefixed symlinks..." 6 | cd "$PKGDIR"/usr/bin/ 7 | for i in *; do 8 | ln -sv $i ${ARCH_TARGET[$ARCH]}-$i 9 | done 10 | 11 | cd "$SRCDIR" 12 | -------------------------------------------------------------------------------- /core-devel/binutils/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=binutils 2 | PKGSEC=devel 3 | PKGDEP="glibc zlib" 4 | PKGDES="A set of programs to assemble and manipulate binary and object files" 5 | 6 | NOSTATIC=0 7 | NOLTO=1 8 | AB_FLAGS_O3=1 9 | 10 | AUTOTOOLS_AFTER="--prefix=/usr \ 11 | --with-lib-path=/usr/lib \ 12 | --with-bugurl=https://github.com/AOSC-Dev/aosc-os-core \ 13 | --enable-threads --enable-shared --with-pic \ 14 | --enable-ld --enable-plugins \ 15 | --disable-werror --enable-lto --disable-gdb \ 16 | --enable-deterministic-archives \ 17 | --enable-64-bit-bfd \ 18 | --build=${ARCH_TARGET[$ARCH]}" 19 | 20 | if [[ "${CROSS:-$ARCH}" != "powerpc" && "${CROSS:-$ARCH}" != "mipsel" && "${CROSS:-$ARCH}" != "riscv64" ]]; then 21 | AUTOTOOLS_AFTER+=" --enable-gold=yes" 22 | fi 23 | 24 | alias BUILD_READY='make configure-host' 25 | MAKE_AFTER="prefix=$PKGDIR/usr tooldir=$PKGDIR/usr BUILDROOT= DESTDIR=" 26 | 27 | RECONF=0 28 | -------------------------------------------------------------------------------- /core-devel/binutils/autobuild/patches/0001-aarch64-stub-fix.patch: -------------------------------------------------------------------------------- 1 | From f8b84fade47f984300c9407582ad249b20c301c7 Mon Sep 17 00:00:00 2001 2 | From: Icenowy Zheng 3 | Date: Mon, 30 Dec 2019 23:53:36 +0800 4 | Subject: [PATCH] aarch64 stub fix 5 | 6 | Signed-off-by: Icenowy Zheng 7 | --- 8 | ld/emultempl/aarch64elf.em | 2 +- 9 | 1 file changed, 1 insertion(+), 1 deletion(-) 10 | 11 | diff --git a/ld/emultempl/aarch64elf.em b/ld/emultempl/aarch64elf.em 12 | index 93f60a9b61..4c13f26f4e 100644 13 | --- a/ld/emultempl/aarch64elf.em 14 | +++ b/ld/emultempl/aarch64elf.em 15 | @@ -169,7 +169,7 @@ elf${ELFSIZE}_aarch64_add_stub_section (const char *stub_sec_name, 16 | lang_output_section_statement_type *os; 17 | struct hook_stub_info info; 18 | 19 | - flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_CODE | SEC_LINKER_CREATED 20 | + flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_CODE 21 | | SEC_HAS_CONTENTS | SEC_RELOC | SEC_IN_MEMORY | SEC_KEEP); 22 | stub_sec = bfd_make_section_anyway_with_flags (stub_file->the_bfd, 23 | stub_sec_name, flags); 24 | -- 25 | 2.23.0 26 | 27 | -------------------------------------------------------------------------------- /core-devel/binutils/autobuild/patches/0001-mips64-default-n64.patch: -------------------------------------------------------------------------------- 1 | diff -Naur binutils-gdb/bfd/config.bfd binutils-gdb.n64/bfd/config.bfd 2 | --- binutils-gdb/bfd/config.bfd 2018-01-31 23:55:49.747223789 +0000 3 | +++ binutils-gdb.n64/bfd/config.bfd 2018-01-31 23:55:41.663608850 +0000 4 | @@ -1188,11 +1188,21 @@ 5 | targ_defvec=mips_elf32_be_vec 6 | targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" 7 | ;; 8 | - mips64*el-*-linux*) 9 | + mips*64*el-*-linux*-gnuabi64) 10 | + targ_defvec=mips_elf64_trad_le_vec 11 | + targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec" 12 | + want64=true 13 | + ;; 14 | + mips*64*-*-linux*-gnuabi64) 15 | + targ_defvec=mips_elf64_trad_be_vec 16 | + targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec" 17 | + want64=true 18 | + ;; 19 | + mips*64*el-*-linux*) 20 | targ_defvec=mips_elf32_ntrad_le_vec 21 | targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" 22 | ;; 23 | - mips64*-*-linux*) 24 | + mips*64*-*-linux*) 25 | targ_defvec=mips_elf32_ntrad_be_vec 26 | targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" 27 | ;; 28 | diff -Naur binutils-gdb/gas/configure binutils-gdb.n64/gas/configure 29 | --- binutils-gdb/gas/configure 2018-01-31 23:55:49.750557238 +0000 30 | +++ binutils-gdb.n64/gas/configure 2018-01-31 23:55:41.690276446 +0000 31 | @@ -12380,7 +12380,10 @@ 32 | esac 33 | # Decide which ABI to target by default. 34 | case ${target} in 35 | - mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \ 36 | + mips*64*-linux-gnuabi64) 37 | + mips_default_abi=N64_ABI 38 | + ;; 39 | + mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \ 40 | | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*) 41 | mips_default_abi=N32_ABI 42 | ;; 43 | diff -Naur binutils-gdb/gas/configure.ac binutils-gdb.n64/gas/configure.ac 44 | --- binutils-gdb/gas/configure.ac 2018-01-31 23:55:49.750557238 +0000 45 | +++ binutils-gdb.n64/gas/configure.ac 2018-01-31 23:55:41.690276446 +0000 46 | @@ -345,6 +345,9 @@ 47 | esac 48 | # Decide which ABI to target by default. 49 | case ${target} in 50 | + mips*64*-linux-gnuabi64) 51 | + mips_default_abi=N64_ABI 52 | + ;; 53 | mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \ 54 | | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*) 55 | mips_default_abi=N32_ABI 56 | diff -Naur binutils-gdb/ld/configure.tgt binutils-gdb.n64/ld/configure.tgt 57 | --- binutils-gdb/ld/configure.tgt 2018-01-31 23:55:49.763891036 +0000 58 | +++ binutils-gdb.n64/ld/configure.tgt 2018-01-31 23:55:41.553605020 +0000 59 | @@ -535,10 +535,16 @@ 60 | mips*-*-vxworks*) targ_emul=elf32ebmipvxworks 61 | targ_extra_emuls="elf32elmipvxworks" ;; 62 | mips*-*-windiss) targ_emul=elf32mipswindiss ;; 63 | -mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 64 | +mips*64*el-*-linux-gnuabi64) targ_emul=elf64ltsmip 65 | + targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf32ltsmipn32 elf64btsmip" 66 | + targ_extra_libpath=$targ_extra_emuls ;; 67 | +mips*64*-*-linux-gnuabi64) targ_emul=elf64btsmip 68 | + targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf32btsmipn32 elf64ltsmip" 69 | + targ_extra_libpath=$targ_extra_emuls ;; 70 | +mips*64*el-*-linux-*) targ_emul=elf32ltsmipn32 71 | targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" 72 | targ_extra_libpath=$targ_extra_emuls ;; 73 | -mips64*-*-linux-*) targ_emul=elf32btsmipn32 74 | +mips*64*-*-linux-*) targ_emul=elf32btsmipn32 75 | targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" 76 | targ_extra_libpath=$targ_extra_emuls ;; 77 | mips*el-*-linux-*) targ_emul=elf32ltsmip 78 | -------------------------------------------------------------------------------- /core-devel/binutils/autobuild/patches/0003-Fix-gold-on-MIPS64.patch: -------------------------------------------------------------------------------- 1 | # DP: Fix gold on mips64 targets. 2 | 3 | gold/ 4 | 5 | 2016-08-09 Aurelien Jarno 6 | 7 | * configure.tgt: Add mips64el*-*-*|mips64le*-*-* and mips64*-*-*. 8 | 9 | 10 | --- a/gold/configure.tgt 11 | +++ b/gold/configure.tgt 12 | @@ -153,6 +153,13 @@ aarch64*-*) 13 | targ_big_endian=false 14 | targ_extra_big_endian=true 15 | ;; 16 | +mips*64*el*-*-*|mips*64*le*-*-*) 17 | + targ_obj=mips 18 | + targ_machine=EM_MIPS_RS3_LE 19 | + targ_size=64 20 | + targ_big_endian=false 21 | + targ_extra_big_endian=true 22 | + ;; 23 | mips*el*-*-*|mips*le*-*-*) 24 | targ_obj=mips 25 | targ_machine=EM_MIPS_RS3_LE 26 | @@ -160,6 +167,13 @@ mips*el*-*-*|mips*le*-*-*) 27 | targ_big_endian=false 28 | targ_extra_big_endian=true 29 | ;; 30 | +mips*64*-*-*) 31 | + targ_obj=mips 32 | + targ_machine=EM_MIPS 33 | + targ_size=64 34 | + targ_big_endian=true 35 | + targ_extra_big_endian=false 36 | + ;; 37 | mips*-*-*) 38 | targ_obj=mips 39 | targ_machine=EM_MIPS 40 | -------------------------------------------------------------------------------- /core-devel/binutils/autobuild/prepare: -------------------------------------------------------------------------------- 1 | # Disable gold testsuite. 2 | sed -i 's/testsuite//g' "$SRCDIR"/gold/Makefile.in 3 | 4 | # $CPPFLAGS adjustment for libiberty. 5 | sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" "$SRCDIR"/libiberty/configure 6 | 7 | # From Fedora. 8 | # On ppc64 and aarch64 (arm64), we might use 64KiB pages 9 | sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*ppc.c 10 | sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*aarch64.c 11 | sed -i -e '/common_pagesize/s/4 /64 /' gold/powerpc.cc 12 | sed -i -e '/pagesize/s/0x1000,/0x10000,/' gold/aarch64.cc 13 | 14 | export AUTOTOOLS_DEF="" 15 | 16 | # FIXME: armel uses an unconventional triplet. 17 | export AUTOTOOLS_TARGET="" 18 | -------------------------------------------------------------------------------- /core-devel/binutils/spec: -------------------------------------------------------------------------------- 1 | VER=2.33.1 2 | REL=1 3 | GITSRC="https://sourceware.org/git/binutils-gdb.git" 4 | GITCO="9ab8189bde22b4db62b28b15ed889446a4489d1a" 5 | -------------------------------------------------------------------------------- /core-devel/gcc/01-runtime/beyond: -------------------------------------------------------------------------------- 1 | abinfo "Removing installed files, rebuild package manually..." 2 | rm -rf "$PKGDIR" 3 | 4 | abinfo "Installing runtime libraries..." 5 | cd build 6 | make -C "${ARCH_TARGET[$ARCH]}"/libgcc install-shared DESTDIR="$PKGDIR" 7 | rm `find "$PKGDIR" -name 'libgcc_eh.a'` 8 | 9 | # Common runtime libraries. 10 | RTLIBS="libatomic libgfortran libgomp libquadmath libstdc++-v3/src" 11 | 12 | # libitm and sanitizer are not available for RISC-V 13 | if [[ "${CROSS:-$ARCH}" != "riscv64" ]]; then 14 | RTLIBS+=" libitm libsanitizer/asan libsanitizer/lsan libsanitizer/ubsan " 15 | fi 16 | 17 | # Go is currently not enabled for RISC-V 18 | if [[ "${CROSS:-$ARCH}" != "riscv64" ]]; then 19 | RTLIBS+=" libgo " 20 | fi 21 | 22 | # VTV not available for PowerPC 32/64 and RISC-V. 23 | if [[ "${CROSS:-$ARCH}" != "powerpc" && "${CROSS:-$ARCH}" != "ppc64" && "${CROSS:-$ARCH}" != "riscv64" ]]; then 24 | RTLIBS+=" libvtv " 25 | fi 26 | 27 | # Intel Cilk Runtime is only for x86. 28 | if [[ "${CROSS:-$ARCH}" = "amd64" ]]; then 29 | RTLIBS+=" libcilkrts " 30 | fi 31 | 32 | for lib in ${RTLIBS[@]}; do 33 | if [ -e "${ARCH_TARGET[$ARCH]}"/$lib/Makefile ]; then 34 | make -C "${ARCH_TARGET[$ARCH]}"/$lib DESTDIR="$PKGDIR" install-toolexeclibLTLIBRARIES 35 | fi 36 | done 37 | 38 | if [[ "${CROSS:-$ARCH}" != "armel" && "${CROSS:-$ARCH}" != "powerpc" && "${CROSS:-$ARCH}" != "riscv64" ]]; then 39 | make -C "${ARCH_TARGET[$ARCH]}"/libsanitizer/tsan DESTDIR="$PKGDIR" install-toolexeclibLTLIBRARIES 40 | fi 41 | make -C "${ARCH_TARGET[$ARCH]}"/libobjc DESTDIR="$PKGDIR" install-libs 42 | make -C "${ARCH_TARGET[$ARCH]}"/libstdc++-v3/po DESTDIR="$PKGDIR" install 43 | if [ "${CROSS:-$ARCH}" = "amd64" ]; then 44 | make -C "${ARCH_TARGET[$ARCH]}"/libmpx DESTDIR="$PKGDIR" install 45 | rm "$PKGDIR"/usr/lib64/libmpx.spec 46 | fi 47 | 48 | for lib in libgomp \ 49 | libitm \ 50 | libquadmath; do 51 | if [ -e "${ARCH_TARGET[$ARCH]}"/$lib/Makefile ]; then 52 | make -C "${ARCH_TARGET[$ARCH]}"/$lib DESTDIR="$PKGDIR" install-info 53 | fi 54 | done 55 | 56 | cd "$SRCDIR" 57 | 58 | abinfo "Set execution bits on all runtime libraries..." 59 | chmod +x "$PKGDIR"/usr/lib{,32,64}/lib*.so* 60 | -------------------------------------------------------------------------------- /core-devel/gcc/01-runtime/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=gcc-runtime 2 | PKGSEC=devel 3 | PKGDEP="glibc" 4 | PKGDES="GNU Compiler Collection (runtime libraries only)" 5 | 6 | # The following configuration: 7 | # 8 | # 1. Enables support for C, C++, Fortran, "LTO", Go, ObjC, and ObjC++; 9 | # a. Mind here, Object C/C++ support is not enabled, we will provide that 10 | # in the "llvm" package as they provide a higher quality support for them; 11 | # b. Fortran is needed for many mathematical packages, as well as some audio/ 12 | # video codecs, remove support for fortran if you know what you are doing; 13 | # c. "LTO" is not really a language, but it enables GCC to use LTO flags, and 14 | # thus provide respective optimizations later; 15 | # d. ObjC and ObjC++ is mainly used by the libobjc2 library and what is 16 | # dependent on it; 17 | # 2. Enables shared libraries for linking 18 | # (this is probably a good choice to reduce binary sizes of any packages that 19 | # links to GCC runtime libraries); 20 | # 3. Enables POSIX style threading; 21 | # 4. Enables linking to system Zlib; 22 | # 5. Disables libunwind support for exception detection; 23 | # 6. Enables GNU style C locales (you probably would not want to change this); 24 | # 7. Disables pre-compiled headers for libstdcxx; 25 | # 8. Disables libssp linking (not needed); 26 | # 9. Enables GNU unique object; 27 | # 10. Enables linker build ID; 28 | # 11. Enables LTO support (as mentioned in note 1, section c); 29 | # 12. Enables isl for Graphite loop optimization; 30 | # 13. Enables plugin support; 31 | # 14. Enables libiberty installation 32 | # (you may disable "--enable-install-libiberty" if you really feel the urge...); 33 | # 15. Enables GNU style linker hash; 34 | # 16. Disables multilib support 35 | # (you may remove "--disable-multilib" to enable the support for it, however 36 | # you will need a copy of GCC with multilib support to build); 37 | # a. AOSC OS uses subsystems to provide binary support for foreign architectures. 38 | # 17. Enable release level checking; 39 | # 18. Enables support for GNU indirect function 40 | # (you may disable this by removing "--enable-gnu-indirect-function"); 41 | # 19. Use the new "cxx11/new" for libstdc++, available since GCC 5. The old 42 | # "gcc4-compatbile" ABI was used until Core 5. 43 | # 20. --enable-default-pie enables PIE by default (-fpie or `-fPIE`?). 44 | # 21. --enable-default-ssp enables --fstack-protector-strong by default. 45 | 46 | AUTOTOOLS_AFTER="--prefix=/usr \ 47 | --libdir=/usr/lib --libexecdir=/usr/lib \ 48 | --mandir=/usr/share/man --infodir=/usr/share/info \ 49 | --with-bugurl=https://github.com/AOSC-Dev/aosc-os-core \ 50 | --enable-shared --enable-threads=posix \ 51 | --with-system-zlib --enable-gnu-indirect-function --enable-__cxa_atexit \ 52 | --disable-libunwind-exceptions --enable-clocale=gnu \ 53 | --disable-libstdcxx-pch --disable-libssp \ 54 | --enable-gnu-unique-object --enable-linker-build-id \ 55 | --with-isl=/usr \ 56 | --enable-lto --enable-plugin --enable-install-libiberty \ 57 | --disable-multilib --disable-werror \ 58 | --enable-pie \ 59 | --enable-checking=release \ 60 | --enable-libstdcxx-dual-abi --with-default-libstdcxx-abi=new \ 61 | --enable-default-pie --enable-default-ssp --enable-bootstrap" 62 | 63 | if [[ "${CROSS:-$ARCH}" != "riscv64" && "${CROSS:-$ARCH}" != "powerpc" ]]; then 64 | AUTOTOOLS_AFTER+=" --enable-languages=c,c++,fortran,lto,go,objc,obj-c++,d" 65 | else 66 | # When libFFI is not available on an architecture, Go is not available. 67 | AUTOTOOLS_AFTER+=" --enable-languages=c,c++,fortran,lto,objc,obj-c++,d" 68 | fi 69 | 70 | # MIPS is not yet happy with GNU hashing style. 71 | # Q: Really? 72 | # A: At least our MIPS-II (o32) still couldn't be built with GNU hash style. 73 | # It is an ABI incompatibility, not an emulation error... 74 | if [[ "${CROSS:-$ARCH}" != mips32 ]]; then 75 | AUTOTOOLS_AFTER+=" --with-linker-hash-style=gnu" 76 | fi 77 | 78 | # ARM and AArch64 specific. 79 | if [[ "${CROSS:-$ARCH}" = arm* ]]; then 80 | AUTOTOOLS_AFTER+=" --disable-altivec --disable-fixed-point" 81 | fi 82 | 83 | # ARMEL had a weird triplet. 84 | if [[ "${CROSS:-$ARCH}" = "armel" ]]; then 85 | AUTOTOOLS_AFTER+=" --with-arch=armv7-a --with-float=hard \ 86 | --with-fpu=neon" 87 | fi 88 | 89 | # AArch64 specific architectural config. 90 | if [[ "${CROSS:-$ARCH}" = "arm64" ]]; then 91 | AUTOTOOLS_AFTER+=" --with-arch=armv8-a --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419" 92 | fi 93 | 94 | # PowerPC specific. 95 | if [[ "${CROSS:-$ARCH}" = "powerpc" ]]; then 96 | AUTOTOOLS_AFTER+=" --with-tune=G4 \ 97 | --with-long-double-128 --enable-secureplt" 98 | fi 99 | 100 | # PowerPC64 specific. 101 | if [[ "${CROSS:-$ARCH}" = "ppc64" ]]; then 102 | AUTOTOOLS_AFTER+=" --with-cpu=G5 --with-tune=G5 \ 103 | --with-long-double-128 --enable-secureplt" 104 | fi 105 | 106 | # MIPS64EL specific. 107 | if [[ "${CROSS:-$ARCH}" = "mips64el" ]]; then 108 | AUTOTOOLS_AFTER+=" --with-abi=64 --with-arch=mips64r2 \ 109 | --with-tune=loongson3a" 110 | fi 111 | 112 | # RISC-V specific 113 | if [[ "${CROSS:-$ARCH}" = riscv* ]]; then 114 | AUTOTOOLS_AFTER+=" --without-libffi" 115 | fi 116 | 117 | # FIXME: random segmentation faults during build. 118 | if [[ "${CROSS:-$ARCH}" != "i586" ]]; then 119 | ABMK="profiledbootstrap" 120 | fi 121 | AB_FLAGS_SPECS=0 122 | AB_FLAGS_O3=1 123 | NOLTO=1 124 | 125 | RECONF=0 126 | 127 | PKGBREAK="gcc<=5.2.0-1" 128 | ABRPMAUTOPROVONLY=yes 129 | -------------------------------------------------------------------------------- /core-devel/gcc/01-runtime/patches/0001-Hack-disable-vsx-and-newer-ppc64-support.patch.ppc64: -------------------------------------------------------------------------------- 1 | --- gcc/libgcc/configure 2019-04-21 21:04:52.884362053 -0500 2 | +++ gcc.ppc64/libgcc/configure 2019-04-21 21:06:12.210635803 -0500 3 | @@ -5066,62 +5066,7 @@ 4 | # whether the assembler can handle xsaddqp for hardware support. Also check if 5 | # a new glibc is being used so that __builtin_cpu_supports can be used. 6 | powerpc*-*-linux*) 7 | - saved_CFLAGS="$CFLAGS" 8 | - CFLAGS="$CFLAGS -mabi=altivec -mvsx -mfloat128" 9 | - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PowerPC ISA 2.06 to build __float128 libraries" >&5 10 | -$as_echo_n "checking for PowerPC ISA 2.06 to build __float128 libraries... " >&6; } 11 | -if test "${libgcc_cv_powerpc_float128+set}" = set; then : 12 | - $as_echo_n "(cached) " >&6 13 | -else 14 | - cat confdefs.h - <<_ACEOF >conftest.$ac_ext 15 | -/* end confdefs.h. */ 16 | -vector double dadd (vector double a, vector double b) { return a + b; } 17 | -_ACEOF 18 | -if ac_fn_c_try_compile "$LINENO"; then : 19 | - libgcc_cv_powerpc_float128=yes 20 | -else 21 | - libgcc_cv_powerpc_float128=no 22 | -fi 23 | -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 24 | -fi 25 | -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_powerpc_float128" >&5 26 | -$as_echo "$libgcc_cv_powerpc_float128" >&6; } 27 | - 28 | - CFLAGS="$CFLAGS -mpower9-vector -mfloat128-hardware" 29 | - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PowerPC ISA 3.0 to build hardware __float128 libraries" >&5 30 | -$as_echo_n "checking for PowerPC ISA 3.0 to build hardware __float128 libraries... " >&6; } 31 | -if test "${libgcc_cv_powerpc_float128_hw+set}" = set; then : 32 | - $as_echo_n "(cached) " >&6 33 | -else 34 | - cat confdefs.h - <<_ACEOF >conftest.$ac_ext 35 | -/* end confdefs.h. */ 36 | -#include 37 | - #ifndef AT_PLATFORM 38 | - #error "AT_PLATFORM is not defined" 39 | - #endif 40 | - #ifndef __BUILTIN_CPU_SUPPORTS__ 41 | - #error "__builtin_cpu_supports is not available" 42 | - #endif 43 | - vector unsigned char add (vector unsigned char a, vector unsigned char b) 44 | - { 45 | - vector unsigned char ret; 46 | - __asm__ ("xsaddqp %0,%1,%2" : "=v" (ret) : "v" (a), "v" (b)); 47 | - return ret; 48 | - } 49 | - void *add_resolver (void) { return (void *) add; } 50 | - __float128 add_ifunc (__float128, __float128) 51 | - __attribute__ ((__ifunc__ ("add_resolver"))); 52 | -_ACEOF 53 | -if ac_fn_c_try_compile "$LINENO"; then : 54 | - libgcc_cv_powerpc_float128_hw=yes 55 | -else 56 | - libgcc_cv_powerpc_float128_hw=no 57 | -fi 58 | -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 59 | -fi 60 | -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_powerpc_float128_hw" >&5 61 | -$as_echo "$libgcc_cv_powerpc_float128_hw" >&6; } 62 | - CFLAGS="$saved_CFLAGS" 63 | + CFLAGS="$CFLAGS -mabi=altivec -mfloat128" 64 | esac 65 | 66 | # Collect host-machine-specific information. 67 | -------------------------------------------------------------------------------- /core-devel/gcc/01-runtime/prepare: -------------------------------------------------------------------------------- 1 | sed -i 's@\./fixinc\.sh@-c true@' "$SRCDIR"/gcc/Makefile.in 2 | 3 | # $CPPFLAGS adjustments. 4 | sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" "$SRCDIR"/{libiberty,gcc}/configure 5 | 6 | # You will see this in "gcc -v" output. 7 | # BASE-VER identifies the GCC version, please DO NOT EDIT. 8 | # * DEV-PHASE are used as branding identification, you may alter the line. 9 | echo $PKGVER > "$SRCDIR"/gcc/BASE-VER 10 | echo 'AOSC OS, Core' > "$SRCDIR"/gcc/DEV-PHASE 11 | 12 | # Do not use pre-defined configure options. 13 | export AUTOTOOLS_DEF="" 14 | 15 | # Get more architecture-dependent flags. 16 | source "$AB"/arch/${CROSS:-$ARCH}.sh 17 | 18 | # GCC only passes CPPFLAGS in some stages. 19 | export CPPFLAGS="${CPPFLAGS} -O3 ${CFLAGS_COMMON_ARCH}" 20 | -------------------------------------------------------------------------------- /core-devel/gcc/02-compiler/alternatives: -------------------------------------------------------------------------------- 1 | alternative /usr/bin/cc /usr/bin/gcc 80 2 | alternative /usr/bin/go /usr/bin/go-gnu 50 3 | alternative /usr/bin/gofmt /usr/bin/gofmt-gnu 50 4 | -------------------------------------------------------------------------------- /core-devel/gcc/02-compiler/beyond: -------------------------------------------------------------------------------- 1 | # Links liblto plugin to /usr/lib/bfd-plugins, which is the binary format 2 | # plugins path for binutils, this enables linking support using GCC when LTO 3 | # flags are enabled. 4 | # 5 | # Remove if you need to prohibit users/developers from using LTO. 6 | abinfo "Installing/Registering BFD plugins..." 7 | mkdir -p "$PKGDIR"/usr/lib/bfd-plugins 8 | ln -sv /usr/lib/gcc/${ARCH_TARGET[$ARCH]}/$PKGVER/liblto_plugin.so \ 9 | "$PKGDIR"/usr/lib/bfd-plugins/liblto_plugin.so 10 | 11 | abinfo "Creating symlink - FHS expects "cpp" to be in /usr/lib..." 12 | ln -sv /usr/bin/cpp "$PKGDIR"/usr/lib/cpp 13 | 14 | # Mysteriously this doesn't work for riscv64 15 | if [[ "${CROSS:-$ARCH}" != "riscv64" ]]; then 16 | # Misplaced file that confuses ldconfig(8), provided by GLibc. 17 | mkdir -pv "$PKGDIR"/usr/share/gdb/auto-load/usr/lib 18 | # FIXME: Could go either way. 19 | if [ -e "$PKGDIR"/usr/lib64/*gdb.py ]; then 20 | mv -v "$PKGDIR"/usr/lib64/*gdb.py "$PKGDIR"/usr/share/gdb/auto-load/usr/lib || true 21 | else 22 | mv -v "$PKGDIR"/usr/lib/*gdb.py "$PKGDIR"/usr/share/gdb/auto-load/usr/lib || true 23 | fi 24 | fi 25 | 26 | abinfo "Removing files in gcc-runtime..." 27 | RTLIBS="asan lsan ubsan vtv itm quadmath atomic gcc_s stdc++ gfortran gomp \ 28 | gomp-plugin-host_nonshm objc go" 29 | 30 | # VTV not available for PowerPC 32/64. 31 | if [[ "${CROSS:-$ARCH}" != "powerpc" && "${CROSS:-$ARCH}" != "ppc64" ]]; then 32 | RTLIBS+=" libvtv " 33 | fi 34 | 35 | # Tsan not available for PowerPC 32. 36 | if [[ "${CROSS:-$ARCH}" != "powerpc" ]]; then 37 | RTLIBS+=" tsan " 38 | fi 39 | 40 | # Intel Cilk Runtime is only for x86. 41 | if [[ "${CROSS:-$ARCH}" = "amd64" ]]; then 42 | RTLIBS+=" cilkrts " 43 | fi 44 | 45 | for i in ${RTLIBS[@]}; do 46 | rm -fv "$PKGDIR"/usr/lib{,32,64}/lib${i}.so* 47 | done 48 | 49 | if [ "${CROSS:-$ARCH}" = "amd64" ]; then 50 | rm -fv "$PKGDIR"/usr/lib{,64}/libmpx*.so* 51 | fi 52 | 53 | rm -fv "$PKGDIR"/usr/share/locale/de/LC_MESSAGES/libstdc++.mo 54 | rm -fv "$PKGDIR"/usr/share/locale/fr/LC_MESSAGES/libstdc++.mo 55 | rm -fv "$PKGDIR"/usr/share/info/libgomp.info 56 | rm -fv "$PKGDIR"/usr/share/info/libquadmath.info 57 | rm -fv "$PKGDIR"/usr/share/info/libitm.info 58 | 59 | if [[ "${CROSS:-$ARCH}" != "riscv64" && "${CROSS:-$ARCH}" != "powerpc" ]]; then 60 | mv "$PKGDIR"/usr/bin/go{,-gnu} 61 | mv "$PKGDIR"/usr/bin/gofmt{,-gnu} 62 | else 63 | echo "#! /bin/bash" > "$PKGDIR"/usr/bin/go 64 | echo "echo GNU Go is not available on this architecture. ; exit 1" >> "$PKGDIR"/usr/bin/go 65 | cp "$PKGDIR"/usr/bin/go{,fmt} 66 | chmod 755 "$PKGDIR"/usr/bin/go{,fmt} 67 | fi 68 | -------------------------------------------------------------------------------- /core-devel/gcc/02-compiler/build: -------------------------------------------------------------------------------- 1 | # Shadow build is necessary for a successful GCC build (at least for 4.9.2). 2 | cd build 3 | 4 | # Build documentations, comment the following line if you really need 5 | # to save some space. 6 | abinfo "Installing GCC documentations..." 7 | make -C ${ARCH_TARGET[$ARCH]}/libstdc++-v3/doc doc-man-doxygen 8 | make install DESTDIR="$PKGDIR" 9 | 10 | cd "$SRCDIR" 11 | -------------------------------------------------------------------------------- /core-devel/gcc/02-compiler/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=gcc 2 | PKGSEC=devel 3 | PKGDEP="binutils mpc gcc-runtime isl" 4 | PKGDES="GNU Compiler Collection (compilers and development tools)" 5 | 6 | ABRPMAUTOPROVONLY=1 7 | NOSTATIC=0 8 | NOLTO=1 9 | AB_FLAGS_SPECS=0 10 | AB_FLAGS_O3=1 11 | 12 | PKGBREAK="gcc-runtime<=5.2.0-2 go<=1.7.3 autobuild3<=1:20170803" 13 | PKGREP="${PKGBREAK}" 14 | -------------------------------------------------------------------------------- /core-devel/gcc/02-compiler/overrides/usr/lib/autobuild3/specs: -------------------------------------------------------------------------------- 1 | ../gcc/specs/ -------------------------------------------------------------------------------- /core-devel/gcc/02-compiler/overrides/usr/lib/gcc/specs/hardened-cc1: -------------------------------------------------------------------------------- 1 | *cc1_options: 2 | + %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}} 3 | -------------------------------------------------------------------------------- /core-devel/gcc/02-compiler/overrides/usr/lib/gcc/specs/hardened-ld: -------------------------------------------------------------------------------- 1 | *cc1_options: 2 | + %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}} 3 | 4 | *self_spec: 5 | + %{!shared:%{!r:-pie}} 6 | -------------------------------------------------------------------------------- /core-devel/gcc/spec: -------------------------------------------------------------------------------- 1 | VER=9.2.1 2 | REL=1 3 | GITSRC="https://github.com/gcc-mirror/gcc" 4 | GITCO="7a1e20db49f5b2cb192716ac58cbd22ab1a3304f" 5 | -------------------------------------------------------------------------------- /core-devel/linux+api/autobuild/build: -------------------------------------------------------------------------------- 1 | # Unset $ARCH as it is defined by Autobuild. 2 | export OLDARCH=$ARCH 3 | unset ARCH 4 | 5 | abinfo "Preparing directories..." 6 | mkdir -pv "$PKGDIR"/usr/include 7 | 8 | abinfo "Building and installing headers..." 9 | make mrproper 10 | make headers_check 11 | make INSTALL_HDR_PATH=dest headers_install 12 | find dest/include \( -name .install -o -name ..install.cmd \) -delete 13 | cp -rv dest/include/* "$PKGDIR"/usr/include 14 | 15 | # Then revert. 16 | export ARCH=$OLDARCH 17 | -------------------------------------------------------------------------------- /core-devel/linux+api/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=linux+api 2 | PKGSEC=devel 3 | PKGDES="Linux API Headers for GNU C Library" 4 | 5 | PKGEPOCH=2 6 | -------------------------------------------------------------------------------- /core-devel/linux+api/spec: -------------------------------------------------------------------------------- 1 | VER=5.4.5 2 | SRCTBL="http://www.kernel.org/pub/linux/kernel/v${VER%%.*}.x/linux-$VER.tar.xz" 3 | CHKSUM="sha256::568e9f27fbba86131c2e2849f296d54216e2ed3e8c4d8aa78a93b417cab23ec0" 4 | -------------------------------------------------------------------------------- /core-devel/make/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=make 2 | PKGDES="GNU Make, designed for code processing" 3 | PKGDEP="glibc" 4 | PKGSEC=devel 5 | 6 | AUTOTOOLS_AFTER="--without-guile" 7 | -------------------------------------------------------------------------------- /core-devel/make/autobuild/patch: -------------------------------------------------------------------------------- 1 | # Workaroud for newest glibc 2 | sed -i '211,217 d; 219,229 d; 232 d' glob/glob.c 3 | -------------------------------------------------------------------------------- /core-devel/make/spec: -------------------------------------------------------------------------------- 1 | VER=4.2.1 2 | SRCTBL="https://ftp.gnu.org/gnu/make/make-$VER.tar.bz2" 3 | CHKSUM="sha256::d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589" 4 | -------------------------------------------------------------------------------- /core-libs/glibc/autobuild/build: -------------------------------------------------------------------------------- 1 | abinfo "Shadow build to ensure sanity..." 2 | mkdir -pv build 3 | cd build 4 | 5 | # Linker environment definition. 6 | echo "slibdir=/usr/lib" >> configparms 7 | echo "rtlddir=/usr/lib" >> configparms 8 | echo "sbindir=/usr/bin" >> configparms 9 | echo "rootsbindir=/usr/bin" >> configparms 10 | 11 | # Frame pointers shouldn't be omitted for glibc 12 | # Hardening should not be enabled at build time. 13 | # -fPIC for libraries. 14 | export CFLAGS="${CFLAGS/-fomit-frame-pointer/}" 15 | export CFLAGS="${CFLAGS/-fstack-protector-strong/} -fPIC" 16 | export CXXFLAGS="${CFLAGS/-fstack-protector-strong/} -fPIC" 17 | export CPPFLAGS="${CPPFLAGS/-D_FORTIFY_SOURCE=2/}" 18 | export LDFLAGS="${LDFLAGS} -fPIC" 19 | 20 | abinfo "Configuration (parameters in autobuild/defines)..." 21 | ../configure ${AUTOTOOLS_DEF} ${AUTOTOOLS_AFTER} 22 | 23 | # Do not build programs/utilities for now, to avoid non-hardened programs. 24 | echo "build-programs=no" >> configparms 25 | 26 | # Re-enable hardening for GLibc utilities. 27 | sed -i "/build-programs=/s#no#yes#" configparms 28 | if [[ "${CROSS:-$ARCH}" != "powerpc" ]]; then 29 | export CFLAGS="${CFLAGS} -fstack-protector-strong -D_FORTIFY_SOURCE=2" 30 | export CXXFLAGS="${CXXFLAGS} -fstack-protector-strong -D_FORTIFY_SOURCE=2" 31 | fi 32 | 33 | abinfo "Building GNU C Library..." 34 | make 35 | 36 | if [[ "${CROSS:-$ARCH}" != "powerpc" ]]; then 37 | sed -i '5,7d' configparms 38 | LDFLAGS=${LDFLAGS/--as-needed,/} 39 | fi 40 | 41 | abinfo "Installing linker cache configuration, a template and a directory..." 42 | install -dvm755 "$PKGDIR"/etc 43 | touch -v "$PKGDIR"/etc/ld.so.conf 44 | 45 | abinfo "Installing runtime and files..." 46 | make install_root="$PKGDIR" install 47 | 48 | abinfo "Removing upstream ld.so configurations..." 49 | rm -fv "$PKGDIR"/etc/ld.so.{cache,conf} 50 | 51 | abinfo "Installing systemd supplements for NSCD..." 52 | install -dvm755 "$PKGDIR"/usr/lib/{locale,systemd/system,tmpfiles.d} 53 | install -vm644 "$SRCDIR"/nscd/nscd.conf "$PKGDIR"/etc/nscd.conf 54 | install -vm644 "$SRCDIR"/nscd/nscd.service "$PKGDIR"/usr/lib/systemd/system 55 | install -vm644 "$SRCDIR"/nscd/nscd.tmpfiles "$PKGDIR"/usr/lib/tmpfiles.d/nscd.conf 56 | 57 | abinfo "Installing "getaddrinfo" configuration file..." 58 | install -vm644 "$SRCDIR"/posix/gai.conf "$PKGDIR"/etc/gai.conf 59 | 60 | abinfo "Stripping libraries and executables..." 61 | strip -v --strip-all "$PKGDIR"/usr/bin/{gencat,getconf,getent,iconv,iconvconfig} \ 62 | "$PKGDIR"/usr/bin/{ldconfig,locale,localedef,nscd,makedb} \ 63 | "$PKGDIR"/usr/bin/{pcprofiledump,pldd,rpcgen,sln,sprof} \ 64 | "$PKGDIR"/usr/lib/getconf/* 65 | strip -v --strip-unneeded "$PKGDIR"/usr/lib/{libanl,libBrokenLocale,libcidn,libcrypt}-*.so \ 66 | "$PKGDIR"/usr/lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \ 67 | "$PKGDIR"/usr/lib/{libdl,libm,libnsl,libresolv,librt,libutil}-*.so \ 68 | "$PKGDIR"/usr/lib/{libmemusage,libpcprofile,libSegFault}.so \ 69 | "$PKGDIR"/usr/lib/{audit,gconv}/*.so 70 | 71 | if [[ "${CROSS:-$ARCH}" = ppc64 ]]; then 72 | abinfo "Creating compatibility symlink for PowerPC64 dynamic linker..." 73 | ln -sv libdl-$PKGVER.so "$PKGDIR"/usr/lib/ld64.so.1 74 | fi 75 | 76 | # Include locale-gen. 77 | # We are not biased towards nor against any languages for now, 78 | # but we are certainly biased towards UTF-8. Cuts down ~40% entries. 79 | abinfo "Installing locale-gen and configuration files..." 80 | sed -r \ 81 | -e '1,3d' \ 82 | -e 's|/| |g' \ 83 | -e 's| ?\\||g' \ 84 | -e 's|^|#|g' \ 85 | -e 's|^#([^ ]*) UTF-8|\1 UTF-8|' \ 86 | "$SRCDIR"/localedata/SUPPORTED >> "$SRCDIR"/locale-gen/locale.gen 87 | install -Dvm644 "$SRCDIR"/locale-gen/locale.gen \ 88 | "$PKGDIR"/etc/locale.gen 89 | install -Dvm755 "$SRCDIR"/locale-gen/locale-gen \ 90 | "$PKGDIR"/usr/bin/locale-gen 91 | 92 | abinfo "Pre-generating Locale definition archive..." 93 | cd "$SRCDIR" 94 | sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' \ 95 | "$SRCDIR"/localedata/SUPPORTED >> "$SRCDIR"/localepack/locale.gen 96 | localepack/locale-gen 97 | -------------------------------------------------------------------------------- /core-libs/glibc/autobuild/conffiles: -------------------------------------------------------------------------------- 1 | /etc/locale.gen 2 | -------------------------------------------------------------------------------- /core-libs/glibc/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=glibc 2 | PKGSEC=libs 3 | PKGDEP="linux+api" 4 | PKGDES="GNU C Library" 5 | 6 | # The following configuration: 7 | # 8 | # 1. Declares that libraries should be installed into /usr/lib instead of /lib64; 9 | # 2. Declares bug tracking URL (should not be changed unless you are building a derivative); 10 | # 3. Enables add-on support; 11 | # 4. Enables obsolete RPC (Remote Procedural Call) support 12 | # (--disable-obsolete-rpc to disable such support, if you know what you are doing); 13 | # 5. Declares that Kernel verion 3.4.0 is the minimum accepted 14 | # (you may raise the version number as you like); 15 | # 6. Enables "bind now" (dynamic loader) support; 16 | # 7. Disables profiling support 17 | # (you may enable, using --enable-profile to your need, however this is not realistic in 18 | # a "Core" environment); 19 | # 8. Enables stackguard randomization for extra security; 20 | # 9. Enables stack protector (libssp); 21 | # 10. Enables tunables (allows for altering of runtime libraries); 22 | # 10. Enables lock elision (essential for GUILE, and many others that is lock-sensitive); 23 | # 11. Enables multiple architecture support 24 | # (mainly used to distinguish among different builds, multiarch is not supported); 25 | # 12. Disables "warning as error"; 26 | # 13. Ensure that static libraries are installed for development purposes; 27 | # 14. Enable deprecated NSL and RPC headers (<= 2.14) for compatibility; 28 | 29 | AUTOTOOLS_AFTER="--libexecdir=/usr/lib \ 30 | --with-headers=/usr/include \ 31 | --with-bugurl=https://github.com/AOSC-Dev/aosc-os-core \ 32 | --enable-add-ons \ 33 | --enable-obsolete-rpc \ 34 | --enable-kernel=3.4.0 \ 35 | --disable-profile \ 36 | --enable-tunables \ 37 | --enable-lock-elision \ 38 | --enable-multi-arch \ 39 | --disable-werror \ 40 | --enable-static \ 41 | --disable-multi-arch \ 42 | --with-__thread \ 43 | --enable-obsolete-nsl \ 44 | --enable-obsolete-rpc" 45 | 46 | if [[ "${CROSS:-$ARCH}" != "powerpc" ]]; then 47 | AUTOTOOLS_AFTER+=" --enable-bind-now \ 48 | --enable-stackguard-randomization \ 49 | --enable-stack-protector=strong " 50 | fi 51 | 52 | RPMEXTRAPROVIDE="rtld(GNU_HASH)" 53 | NOSTATIC=no 54 | 55 | AB_FLAGS_FTF=0 56 | AB_FLAGS_SSP=0 57 | AB_FLAGS_SPECS=0 58 | 59 | if [[ "${CROSS:-$ARCH}" != "powerpc" ]]; then 60 | AB_FLAGS_O3=1 61 | fi 62 | 63 | # error: "SIG_BLOCK" is not defined [-Werror=undef] 64 | # LTO breaks build with a warning-as-error, not taking the chances though. 65 | NOLTO=yes 66 | 67 | # Do not strip the library to provide sufficient symbols 68 | # to assist debuggers 69 | ABSTRIP=0 70 | 71 | LOCALEGENVER="20160914" 72 | 73 | # Merges locale-gen at Core 4. 74 | PKGREP="locale-gen<=20160429" 75 | PKGBREAK="locale-gen<=20160429" 76 | 77 | PKGEPOCH=1 78 | -------------------------------------------------------------------------------- /core-libs/glibc/autobuild/locale-gen-pack: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | LOCALEGEN="$PWD"/localepack/locale.gen 4 | unset POSIXLY_CORRECT || true 5 | 6 | [ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0; 7 | 8 | # Remove all old locale dir and locale-archive before generating new 9 | # locale data. 10 | [ -f "$PWD"/abdist/usr/lib/locale/locale-archive ] && rm -f "$PWD"/abdist/usr/lib/locale/locale-archive 11 | 12 | umask 022 13 | 14 | echo "Generating locales..." 15 | while read locale charset; do 16 | case $locale in \#*|"") 17 | continue;; 18 | esac; 19 | [ -n "$locale" -a -n "$charset" ] || { echo "E: Bad entry '$locale $charset', skipping.">&2; continue; } 20 | echo -n "${locale%%[.@]*}.$charset" 21 | _t="${locale##*@}"; [ "$_t" != "$locale" -a -n "$_t" ] && echo -n "@${_t}" || _t='' 22 | echo -n '...' 23 | if [ -f "$PWD"/abdist/usr/share/i18n/locales/$locale ]; then 24 | input=$locale 25 | else 26 | input="${locale%%[.@]*}${_t:+@$_t}" 27 | fi 28 | "$PWD"/abdist/usr/lib/ld-$PKGVER.so --library-path "$PWD"/abdist/usr/lib "$PWD"/abdist/usr/bin/localedef --prefix="$PWD"/abdist -i $input -c -f $charset -A "$PWD"/intl/locale.alias $locale && 29 | echo ' done' 30 | done < $LOCALEGEN 31 | echo "Generation complete." 32 | -------------------------------------------------------------------------------- /core-libs/glibc/autobuild/overrides/etc/ld.so.conf: -------------------------------------------------------------------------------- 1 | # Begin /etc/ld.so.conf 2 | /usr/local/lib 3 | /opt/lib 4 | 5 | # Add an include directory 6 | include /etc/ld.so.conf.d/*.conf 7 | 8 | -------------------------------------------------------------------------------- /core-libs/glibc/autobuild/overrides/etc/nsswitch.conf: -------------------------------------------------------------------------------- 1 | # Begin /etc/nsswitch.conf 2 | 3 | passwd: files 4 | group: files 5 | shadow: files 6 | 7 | hosts: files dns 8 | networks: files 9 | 10 | protocols: files 11 | services: files 12 | ethers: files 13 | rpc: files 14 | 15 | # End /etc/nsswitch.conf 16 | -------------------------------------------------------------------------------- /core-libs/glibc/autobuild/overrides/usr/share/locale/ug_CN: -------------------------------------------------------------------------------- 1 | ug -------------------------------------------------------------------------------- /core-libs/glibc/autobuild/patches/0003-glibc-c-utf8-locale.patch: -------------------------------------------------------------------------------- 1 | Short description: Add C.UTF-8 support. 2 | Author(s): Fedora glibc team 3 | Origin: PATCH 4 | Upstream status: not-submitted 5 | 6 | This patch needs to upstream as part of Carlos O'Donell 7 | 's work on enabling upstream C.UTF-8 support. This 8 | work is currently blocked on cleaning up the test results to prove that 9 | full code-point sorting is working as intended. 10 | 11 | Note that this patch does not provide full code-point sorting as 12 | expected. 13 | 14 | This patch needs to upstream as soon as possible since it would be nice 15 | to have this in F29 and fixed. 16 | 17 | From 2eda7b462b415105f5a05c1323372d4e39d46439 Mon Sep 17 00:00:00 2001 18 | From: Mike FABIAN 19 | Date: Mon, 10 Aug 2015 15:58:12 +0200 20 | Subject: [PATCH] Add a C.UTF-8 locale 21 | 22 | --- 23 | localedata/SUPPORTED | 1 + 24 | localedata/locales/C | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++ 25 | 2 files changed, 239 insertions(+) 26 | create mode 100644 localedata/locales/C 27 | 28 | diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED 29 | index 8ca023e..2a78391 100644 30 | --- a/localedata/SUPPORTED 31 | +++ b/localedata/SUPPORTED 32 | @@ -1,6 +1,7 @@ 33 | # This file names the currently supported and somewhat tested locales. 34 | # If you have any additions please file a glibc bug report. 35 | SUPPORTED-LOCALES=\ 36 | +C.UTF-8/UTF-8 \ 37 | aa_DJ.UTF-8/UTF-8 \ 38 | aa_DJ/ISO-8859-1 \ 39 | aa_ER/UTF-8 \ 40 | diff --git a/localedata/locales/C b/localedata/locales/C 41 | new file mode 100644 42 | index 0000000..fdf460e 43 | --- /dev/null 44 | +++ b/localedata/locales/C 45 | @@ -0,0 +1,238 @@ 46 | +escape_char / 47 | +comment_char % 48 | +% Locale for C locale in UTF-8 49 | + 50 | +LC_IDENTIFICATION 51 | +title "C locale" 52 | +source "" 53 | +address "" 54 | +contact "" 55 | +email "mfabian@redhat.com" 56 | +tel "" 57 | +fax "" 58 | +language "C" 59 | +territory "" 60 | +revision "1.0" 61 | +date "2015-08-10" 62 | +% 63 | +category "i18n:2012";LC_IDENTIFICATION 64 | +category "i18n:2012";LC_CTYPE 65 | +category "i18n:2012";LC_COLLATE 66 | +category "i18n:2012";LC_TIME 67 | +category "i18n:2012";LC_NUMERIC 68 | +category "i18n:2012";LC_MONETARY 69 | +category "i18n:2012";LC_MESSAGES 70 | +category "i18n:2012";LC_PAPER 71 | +category "i18n:2012";LC_NAME 72 | +category "i18n:2012";LC_ADDRESS 73 | +category "i18n:2012";LC_TELEPHONE 74 | +category "i18n:2012";LC_MEASUREMENT 75 | +END LC_IDENTIFICATION 76 | + 77 | +LC_CTYPE 78 | +copy "i18n" 79 | + 80 | +translit_start 81 | +include "translit_combining";"" 82 | +translit_end 83 | + 84 | +END LC_CTYPE 85 | + 86 | +LC_COLLATE 87 | +order_start forward 88 | + 89 | +.. 90 | + 91 | + 92 | +.. 93 | + 94 | + 95 | +.. 96 | + 97 | + 98 | +.. 99 | + 100 | + 101 | +.. 102 | + 103 | + 104 | +.. 105 | + 106 | +UNDEFINED 107 | +order_end 108 | +END LC_COLLATE 109 | + 110 | +LC_MONETARY 111 | +% This is the 14652 i18n fdcc-set definition for 112 | +% the LC_MONETARY category 113 | +% (except for the int_curr_symbol and currency_symbol, they are empty in 114 | +% the 14652 i18n fdcc-set definition and also empty in 115 | +% glibc/locale/C-monetary.c. But localedef complains in that case). 116 | +% 117 | +% Using "USD" for int_curr_symbol. But maybe "XXX" would be better? 118 | +% XXX is "No currency" (https://en.wikipedia.org/wiki/ISO_4217) 119 | +int_curr_symbol "" 120 | +% Using "$" for currency_symbol. But maybe would be better? 121 | +% U+00A4 is the "generic currency symbol" 122 | +% (https://en.wikipedia.org/wiki/Currency_sign_%28typography%29) 123 | +currency_symbol "" 124 | +mon_decimal_point "" 125 | +mon_thousands_sep "" 126 | +mon_grouping -1 127 | +positive_sign "" 128 | +negative_sign "" 129 | +int_frac_digits -1 130 | +frac_digits -1 131 | +p_cs_precedes -1 132 | +int_p_sep_by_space -1 133 | +p_sep_by_space -1 134 | +n_cs_precedes -1 135 | +int_n_sep_by_space -1 136 | +n_sep_by_space -1 137 | +p_sign_posn -1 138 | +n_sign_posn -1 139 | +% 140 | +END LC_MONETARY 141 | + 142 | +LC_NUMERIC 143 | +% This is the POSIX Locale definition for 144 | +% the LC_NUMERIC category. 145 | +% 146 | +decimal_point "" 147 | +thousands_sep "" 148 | +grouping -1 149 | +END LC_NUMERIC 150 | + 151 | +LC_TIME 152 | +% This is the POSIX Locale definition for 153 | +% the LC_TIME category. 154 | +% 155 | +% Abbreviated weekday names (%a) 156 | +abday "";"";/ 157 | + "";"";/ 158 | + "";"";/ 159 | + "" 160 | + 161 | +% Full weekday names (%A) 162 | +day "";/ 163 | + "";/ 164 | + "";/ 165 | + "";/ 166 | + "";/ 167 | + "";/ 168 | + "" 169 | + 170 | +% Abbreviated month names (%b) 171 | +abmon "";"";/ 172 | + "";"";/ 173 | + "";"";/ 174 | + "";"";/ 175 | + "";"";/ 176 | + "";"" 177 | + 178 | +% Full month names (%B) 179 | +mon "";/ 180 | + "";/ 181 | + "";/ 182 | + "";/ 183 | + "";/ 184 | + "";/ 185 | + "";/ 186 | + "";/ 187 | + "";/ 188 | + "";/ 189 | + "";/ 190 | + "" 191 | + 192 | +% Week description, consists of three fields: 193 | +% 1. Number of days in a week. 194 | +% 2. Gregorian date that is a first weekday (19971130 for Sunday, 19971201 for Monday). 195 | +% 3. The weekday number to be contained in the first week of the year. 196 | +% 197 | +% ISO 8601 conforming applications should use the values 7, 19971201 (a 198 | +% Monday), and 4 (Thursday), respectively. 199 | +week 7;19971201;4 200 | +first_weekday 1 201 | +first_workday 1 202 | + 203 | +% Appropriate date and time representation (%c) 204 | +% "%a %b %e %H:%M:%S %Y" 205 | +d_t_fmt "" 206 | + 207 | +% Appropriate date representation (%x) 208 | +% "%m/%d/%y" 209 | +d_fmt "" 210 | + 211 | +% Appropriate time representation (%X) 212 | +% "%H:%M:%S" 213 | +t_fmt "" 214 | + 215 | +% Appropriate AM/PM time representation (%r) 216 | +% "%I:%M:%S %p" 217 | +t_fmt_ampm "" 218 | + 219 | +% Equivalent of AM/PM (%p) "AM"/"PM" 220 | +% 221 | +am_pm "";"" 222 | + 223 | +% Appropriate date representation (date(1)) "%a %b %e %H:%M:%S %Z %Y" 224 | +date_fmt "" 225 | +END LC_TIME 226 | + 227 | +LC_MESSAGES 228 | +% This is the POSIX Locale definition for 229 | +% the LC_NUMERIC category. 230 | +% 231 | +yesexpr "" 232 | +noexpr "" 233 | +yesstr "" 234 | +nostr "" 235 | +END LC_MESSAGES 236 | + 237 | +LC_PAPER 238 | +% This is the ISO/IEC 14652 "i18n" definition for 239 | +% the LC_PAPER category. 240 | +% (A4 paper, this is also used in the built in C/POSIX 241 | +% locale in glibc/locale/C-paper.c) 242 | +height 297 243 | +width 210 244 | +END LC_PAPER 245 | + 246 | +LC_NAME 247 | +% This is the ISO/IEC 14652 "i18n" definition for 248 | +% the LC_NAME category. 249 | +% "%p%t%g%t%m%t%f" 250 | +% (also used in the built in C/POSIX locale in glibc/locale/C-name.c) 251 | +name_fmt "/ 252 | +" 253 | +END LC_NAME 254 | + 255 | +LC_ADDRESS 256 | +% This is the ISO/IEC 14652 "i18n" definition for 257 | +% the LC_ADDRESS category. 258 | +% "%a%N%f%N%d%N%b%N%s %h %e %r%N%C-%z %T%N%c%N" 259 | +% (also used in the built in C/POSIX locale in glibc/locale/C-address.c) 260 | +postal_fmt "/ 261 | +/ 262 | +/ 263 | +/ 264 | +" 265 | +END LC_ADDRESS 266 | + 267 | +LC_TELEPHONE 268 | +% This is the ISO/IEC 14652 "i18n" definition for 269 | +% the LC_TELEPHONE category. 270 | +% "+%c %a %l" 271 | +tel_int_fmt "/ 272 | +" 273 | +% (also used in the built in C/POSIX locale in glibc/locale/C-telephone.c) 274 | +END LC_TELEPHONE 275 | + 276 | +LC_MEASUREMENT 277 | +% This is the ISO/IEC 14652 "i18n" definition for 278 | +% the LC_MEASUREMENT category. 279 | +% (same as in the built in C/POSIX locale in glibc/locale/C-measurement.c) 280 | +%metric 281 | +measurement 1 282 | +END LC_MEASUREMENT 283 | + 284 | -- 285 | 2.4.3 286 | 287 | -------------------------------------------------------------------------------- /core-libs/glibc/autobuild/prepare: -------------------------------------------------------------------------------- 1 | ln -s /usr/bin/ld.bfd "$SRCDIR"/ld 2 | export PATH="$SRCDIR:$PATH" 3 | 4 | git clone --depth 1 -b v"$LOCALEGENVER" \ 5 | https://github.com/AOSC-Dev/locale-gen 6 | 7 | mkdir -p localepack 8 | cp autobuild/locale-gen-pack localepack/locale-gen 9 | 10 | # MIPS64el specific. 11 | if [[ "${CROSS:-$ARCH}" = "mips64el" ]]; then 12 | export CFLAGS="${CFLAGS} -march=mips64r2 -mabi=64 -mrelax-pic-calls" 13 | export CXXFLAGS="${CXXFLAGS} -march=mips64r2 -mabi=64 -mrelax-pic-calls" 14 | fi 15 | -------------------------------------------------------------------------------- /core-libs/glibc/spec: -------------------------------------------------------------------------------- 1 | VER=2.30 2 | REL=1 3 | GITSRC="https://sourceware.org/git/glibc.git" 4 | GITCO="50f20fe506abb8853641006a7b90a81af21d7b91" 5 | -------------------------------------------------------------------------------- /core-libs/gmp/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=gmp 2 | PKGSEC=libs 3 | PKGDEP=glibc 4 | PKGDES="GNU Multiprecision library" 5 | 6 | # Build C++ and static libraries as well. 7 | AUTOTOOLS_AFTER="--enable-cxx --enable-static \ 8 | --build=${ARCH_TARGET[$ARCH]}" 9 | NOSTATIC=no 10 | AB_FLAGS_O3=1 11 | -------------------------------------------------------------------------------- /core-libs/gmp/autobuild/prepare: -------------------------------------------------------------------------------- 1 | # Apply custom flags to GMP build. 2 | export CC="gcc ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}" 3 | export CXX="g++ ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}" 4 | 5 | # 64-bit ABI. 6 | if [[ "${CROSS:-$ARCH}" = "amd64" || "${CROSS:-$ARCH}" = "arm64" || \ 7 | "${CROSS:-$ARCH}" = "mips64el" ]]; then 8 | export ABI=64 9 | fi 10 | 11 | # Tweak configuration probing. 12 | cp /usr/share/automake-1.16/config.* "$SRCDIR" 13 | -------------------------------------------------------------------------------- /core-libs/gmp/spec: -------------------------------------------------------------------------------- 1 | VER=6.1.2 2 | REL=1 3 | SRCTBL="https://ftp.gnu.org/gnu/gmp/gmp-$VER.tar.xz" 4 | CHKSUM="sha256::87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912" 5 | -------------------------------------------------------------------------------- /core-libs/isl/autobuild/beyond: -------------------------------------------------------------------------------- 1 | abinfo "Create compatibility/transitional symlinks..." 2 | ln -sv libisl.so.22 "$PKGDIR"/usr/lib/libisl.so.15 3 | ln -sv libisl.so.22 "$PKGDIR"/usr/lib/libisl.so.19 4 | ln -sv libisl.so.22 "$PKGDIR"/usr/lib/libisl.so.21 5 | 6 | abinfo "Moving mis-placed GDB scripts..." 7 | install -dvm755 "$PKGDIR"/usr/share/gdb/auto-load/usr/lib/ 8 | mv -v "$PKGDIR"/usr/lib/libisl.so.*-gdb.py \ 9 | "$PKGDIR"/usr/share/gdb/auto-load/usr/lib/ 10 | -------------------------------------------------------------------------------- /core-libs/isl/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=isl 2 | PKGSEC=libs 3 | PKGDEP="gmp" 4 | PKGDES="Library for manipulating sets and relations of integer points bounded by linear constraints" 5 | 6 | PKGEPOCH=1 7 | 8 | AB_FLAGS_O3=1 9 | NOLTO=1 10 | 11 | AUTOTOOLS_AFTER="--build=${ARCH_TARGET[$ARCH]}" 12 | -------------------------------------------------------------------------------- /core-libs/isl/spec: -------------------------------------------------------------------------------- 1 | VER=0.22 2 | SRCTBL="http://isl.gforge.inria.fr/isl-$VER.tar.xz" 3 | CHKSUM="sha256::6c8bc56c477affecba9c59e2c9f026967ac8bad01b51bdd07916db40a517b9fa" 4 | -------------------------------------------------------------------------------- /core-libs/mpc/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=mpc 2 | PKGDEP="gmp mpfr" 3 | PKGSEC=libs 4 | PKGDES="Library for the arithmetic of complex numbers" 5 | 6 | AUTOTOOLS_AFTER="--build=${ARCH_TARGET[$ARCH]}" 7 | AB_FLAGS_O3=1 8 | -------------------------------------------------------------------------------- /core-libs/mpc/spec: -------------------------------------------------------------------------------- 1 | VER=1.1.0 2 | SRCTBL="https://ftp.gnu.org/gnu/mpc/mpc-$VER.tar.gz" 3 | CHKSUM="sha256::6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e" 4 | -------------------------------------------------------------------------------- /core-libs/mpfr/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=mpfr 2 | PKGSEC=libs 3 | PKGDEP="gmp glibc" 4 | PKGDES="Functions for multiple precision math" 5 | 6 | # Configuration: 7 | # 8 | # 1. Enables threaded safety; 9 | # 2. Enables shared libraries (DO NOT disable, you will need this for shared GCC build); 10 | # 3. Declares documentation directory; 11 | AUTOTOOLS_AFTER="--enable-thread-safe --enable-shared \ 12 | --docdir=/usr/share/doc/mpfr \ 13 | --build=${ARCH_TARGET[$ARCH]}" 14 | AB_FLAGS_O3=1 15 | AB_FLAGS_SPECS=0 16 | -------------------------------------------------------------------------------- /core-libs/mpfr/spec: -------------------------------------------------------------------------------- 1 | VER=4.0.2 2 | SRCTBL="https://ftp.gnu.org/gnu/mpfr/mpfr-$VER.tar.xz" 3 | CHKSUM="sha256::1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a" 4 | -------------------------------------------------------------------------------- /core-libs/ncurses/autobuild/beyond: -------------------------------------------------------------------------------- 1 | abinfo "Creating version 5 symlinks..." 2 | ln -sv libformw.so.6.1 "$PKGDIR"/usr/lib/libform.so.5 3 | ln -sv libpanelw.so.6.1 "$PKGDIR"/usr/lib/libpanel.so.5 4 | ln -sv libpanelw.so.6.1 "$PKGDIR"/usr/lib/libpanelw.so.5 5 | ln -sv libncursesw.so.6.1 "$PKGDIR"/usr/lib/libncursesw.so.5 6 | ln -sv libncurses++w.so.6.1 "$PKGDIR"/usr/lib/libncurses++w.so.5 7 | ln -sv libmenuw.so.6.1 "$PKGDIR"/usr/lib/libmenu.so.5 8 | ln -sv libmenuw.so.6.1 "$PKGDIR"/usr/lib/libmenuw.so.5 9 | ln -sv libformw.so.6.1 "$PKGDIR"/usr/lib/libformw.so.5 10 | ln -sv libncursesw.so.6.1 "$PKGDIR"/usr/lib/libncurses.so.5 11 | ln -sv libncursesw.so.6.1 "$PKGDIR"/usr/lib/libtinfo.so.5 12 | -------------------------------------------------------------------------------- /core-libs/ncurses/autobuild/build: -------------------------------------------------------------------------------- 1 | # The following configuration: 2 | # 3 | # 1. Enables shared library build (feel free to disable if you won't need Bash or an 4 | # UNIX shell because you are awesome); 5 | # 2. Disables debug support (will be stripped anyways...); 6 | # 3. Disables Ada support (our GCC does not include such support); 7 | # 4. Enables support for wide characters (CJK, you know); 8 | # 5. Enables pkg-config .pc files installing (for later needs, like NetworkManager); 9 | # 6. Enables C++ bindings (disable --with-cxx-binding if you are sure); 10 | # 7. Enables C++ shared bindings (remove if #6 is not needed); 11 | abinfo "Configuring..." 12 | ./configure --prefix=/usr --libdir=/usr/lib \ 13 | --with-pkg-config-libdir=/usr/lib/pkgconfig \ 14 | --mandir=/usr/share/man \ 15 | --with-shared --with-normal --without-debug --without-ada \ 16 | --enable-widec --enable-pc-files --with-cxx-binding --with-cxx-shared \ 17 | --without-gpm --enable-ext-colors ${AUTOTOOLS_AFTER} 18 | abinfo "Building runtime libraries..." 19 | make 20 | make install DESTDIR="$PKGDIR" 21 | 22 | abinfo "Appending wide-character linkage to pkg-config files..." 23 | for lib in ncurses ncurses++ form panel menu; do 24 | echo "INPUT(-l${lib}w)" > "$PKGDIR"/usr/lib/lib${lib}.so 25 | ln -s ${lib}w.pc "$PKGDIR"/usr/lib/pkgconfig/${lib}.pc 26 | done 27 | 28 | abinfo "Tweaking library for wide-character linkage/reference..." 29 | echo "INPUT(-lncursesw)" > "$PKGDIR"/usr/lib/libcursesw.so 30 | 31 | abinfo "Creating libcurses symlink..." 32 | ln -sv libncurses.so "$PKGDIR"/usr/lib/libcurses.so 33 | -------------------------------------------------------------------------------- /core-libs/ncurses/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=ncurses 2 | PKGDEP=glibc 3 | PKGDES="System V Release 4.0 curses emulation library" 4 | PKGSEC=libs 5 | 6 | NOPARALLEL=1 7 | -------------------------------------------------------------------------------- /core-libs/ncurses/spec: -------------------------------------------------------------------------------- 1 | VER=6.1+20191214 2 | SRCTBL="http://invisible-mirror.net/archives/ncurses/current/ncurses-${VER/+/-}.tgz" 3 | CHKSUM="sha256::9eb0d9894e6f2180e8e59c95fb116987e3695643f1a45b6da3f43ca56df8f5fa" 4 | -------------------------------------------------------------------------------- /core-libs/readline/autobuild/beyond: -------------------------------------------------------------------------------- 1 | abinfo "Removing *.old libraries (if any)..." 2 | rm -fv "$PKGDIR"/usr/lib/*.old 3 | 4 | abinfo "Creating compatibility/transitional symlinks for version 7..." 5 | ln -sv libhistory.so.8 "$PKGDIR"/usr/lib/libhistory.so.7 6 | ln -sv libreadline.so.8 "$PKGDIR"/usr/lib/libreadline.so.7 7 | -------------------------------------------------------------------------------- /core-libs/readline/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=readline 2 | PKGSEC=libs 3 | PKGDEP="glibc ncurses" 4 | PKGDES="GNU readline library" 5 | 6 | # The following configuration: 7 | # 8 | # 1. Enables linking with Curses (NCurses in this case), disable if you are cool with 9 | # no UNIX shell; 10 | # 2. Enables multibyte characters support; 11 | AUTOTOOLS_AFTER="--with-curses --enable-multibyte --enable-shared" 12 | MAKE_AFTER="SHLIB_LIBS=-lncursesw" 13 | 14 | RECONF=0 15 | ABSHADOW=0 16 | -------------------------------------------------------------------------------- /core-libs/readline/autobuild/overrides/etc/inputrc: -------------------------------------------------------------------------------- 1 | # do not bell on tab-completion 2 | set bell-style none 3 | 4 | set meta-flag on 5 | set input-meta on 6 | set convert-meta off 7 | set output-meta on 8 | 9 | $if mode=emacs 10 | 11 | # for linux console and RH/Debian xterm 12 | "\e[1~": beginning-of-line 13 | "\e[4~": end-of-line 14 | "\e[5~": beginning-of-history 15 | "\e[6~": end-of-history 16 | "\e[7~": beginning-of-line 17 | "\e[3~": delete-char 18 | "\e[2~": quoted-insert 19 | "\e[5C": forward-word 20 | "\e[5D": backward-word 21 | "\e\e[C": forward-word 22 | "\e\e[D": backward-word 23 | "\e[1;5C": forward-word 24 | "\e[1;5D": backward-word 25 | 26 | # for rxvt 27 | "\e[8~": end-of-line 28 | 29 | # for non RH/Debian xterm, can't hurt for RH/DEbian xterm 30 | "\eOH": beginning-of-line 31 | "\eOF": end-of-line 32 | 33 | # for freebsd console 34 | "\e[H": beginning-of-line 35 | "\e[F": end-of-line 36 | $endif 37 | -------------------------------------------------------------------------------- /core-libs/readline/autobuild/patch: -------------------------------------------------------------------------------- 1 | # Do not install *.old library names (who knows why they are installed by default). 2 | abinfo "Do not install any *.old files..." 3 | sed -i '/MV.*old/d' Makefile.in 4 | sed -i '/{OLDSUFF}/c:' support/shlib-install 5 | sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf 6 | 7 | abinfo "Applying GNU-supplied patches..." 8 | for i in "$SRCDIR"/autobuild/patches/readline${PKGVER:0:1}0-*; do 9 | abinfo "Applying $i ..." 10 | patch -p0 < $i 11 | done 12 | -------------------------------------------------------------------------------- /core-libs/readline/autobuild/patches/readline80-001: -------------------------------------------------------------------------------- 1 | READLINE PATCH REPORT 2 | ===================== 3 | 4 | Readline-Release: 8.0 5 | Patch-ID: readline80-001 6 | 7 | Bug-Reported-by: chet.ramey@case.edu 8 | Bug-Reference-ID: 9 | Bug-Reference-URL: 10 | 11 | Bug-Description: 12 | 13 | The history file reading code doesn't close the file descriptor open to 14 | the history file when it encounters a zero-length file. 15 | 16 | Patch (apply with `patch -p0'): 17 | 18 | *** ../readline-8.0-patched/histfile.c 2018-06-11 09:14:52.000000000 -0400 19 | --- histfile.c 2019-05-16 15:55:57.000000000 -0400 20 | *************** 21 | *** 306,309 **** 22 | --- 312,316 ---- 23 | { 24 | free (input); 25 | + close (file); 26 | return 0; /* don't waste time if we don't have to */ 27 | } 28 | *** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500 29 | --- patchlevel 2014-03-21 08:28:40.000000000 -0400 30 | *************** 31 | *** 1,3 **** 32 | # Do not edit -- exists only for use by patch 33 | 34 | ! 0 35 | --- 1,3 ---- 36 | # Do not edit -- exists only for use by patch 37 | 38 | ! 1 39 | -------------------------------------------------------------------------------- /core-libs/readline/autobuild/postinst: -------------------------------------------------------------------------------- 1 | # To fix the .old issue for rolling up users. As the file is found not to be 2 | # provided by any package. 3 | if [[ -e /usr/lib/libreadline.so.*.old ]]; then 4 | rm -f /usr/lib/libreadline.so.*.old 5 | fi 6 | 7 | ldconfig 8 | -------------------------------------------------------------------------------- /core-libs/readline/spec: -------------------------------------------------------------------------------- 1 | VER=8.0.1 2 | SRCTBL="https://ftp.gnu.org/gnu/readline/readline-${VER:0:3}.tar.gz" 3 | CHKSUM="sha256::e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" 4 | -------------------------------------------------------------------------------- /core-libs/zlib/autobuild/build: -------------------------------------------------------------------------------- 1 | ./configure --prefix=/usr 2 | make $ABMK $MAKE_AFTER 3 | make install DESTDIR="$PKGDIR" $MAKE_AFTER 4 | -------------------------------------------------------------------------------- /core-libs/zlib/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=zlib 2 | PKGDES="A Massively Spiffy Yet Delicately Unobtrusive Compression Library" 3 | PKGDEP=glibc 4 | PKGSEC=libs 5 | 6 | ABSHADOW=no 7 | AB_FLAGS_O3=1 8 | -------------------------------------------------------------------------------- /core-libs/zlib/autobuild/patch: -------------------------------------------------------------------------------- 1 | # Patches from Debian. 2 | for i in `cat autobuild/patches/series`; do 3 | patch -Np1 -i autobuild/patches/$i 4 | done 5 | -------------------------------------------------------------------------------- /core-libs/zlib/autobuild/patches/cflags-for-minizip: -------------------------------------------------------------------------------- 1 | 2 | --- zlib-1.2.7.dfsg.orig/contrib/minizip/Makefile 3 | +++ zlib-1.2.7.dfsg/contrib/minizip/Makefile 4 | @@ -1,5 +1,5 @@ 5 | CC=cc 6 | -CFLAGS=-O -I../.. 7 | +CFLAGS+=-O -I../.. 8 | 9 | UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a 10 | ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a 11 | @@ -10,10 +10,10 @@ ZIP_OBJS = minizip.o zip.o ioapi.o ../ 12 | all: miniunz minizip 13 | 14 | miniunz: $(UNZ_OBJS) 15 | - $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) 16 | + $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) $(LDFLAGS) 17 | 18 | minizip: $(ZIP_OBJS) 19 | - $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) 20 | + $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) $(LDFLAGS) 21 | 22 | test: miniunz minizip 23 | ./minizip test readme.txt 24 | -------------------------------------------------------------------------------- /core-libs/zlib/autobuild/patches/debian.series: -------------------------------------------------------------------------------- 1 | cflags-for-minizip 2 | use-dso 3 | use-dso-really 4 | -------------------------------------------------------------------------------- /core-libs/zlib/autobuild/patches/series: -------------------------------------------------------------------------------- 1 | debian.series -------------------------------------------------------------------------------- /core-libs/zlib/autobuild/patches/use-dso: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AOSC-Archive/aosc-os-core/3a38e1d07a68541a2e851c42be47d03a7f1d2fbb/core-libs/zlib/autobuild/patches/use-dso -------------------------------------------------------------------------------- /core-libs/zlib/autobuild/patches/use-dso-really: -------------------------------------------------------------------------------- 1 | 2 | 3 | --- zlib-1.2.7.dfsg.orig/contrib/minizip/Makefile 4 | +++ zlib-1.2.7.dfsg/contrib/minizip/Makefile 5 | @@ -1,8 +1,9 @@ 6 | CC=cc 7 | CFLAGS+=-O -I../.. 8 | +ZLIB=-L../.. -lz 9 | 10 | -UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a 11 | -ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a 12 | +UNZ_OBJS = miniunz.o unzip.o ioapi.o 13 | +ZIP_OBJS = minizip.o zip.o ioapi.o 14 | 15 | .c.o: 16 | $(CC) -c $(CFLAGS) $*.c 17 | @@ -10,10 +11,10 @@ ZIP_OBJS = minizip.o zip.o ioapi.o ../ 18 | all: miniunz minizip 19 | 20 | miniunz: $(UNZ_OBJS) 21 | - $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) $(LDFLAGS) 22 | + $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) $(ZLIB) $(LDFLAGS) 23 | 24 | minizip: $(ZIP_OBJS) 25 | - $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) $(LDFLAGS) 26 | + $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) $(ZLIB) $(LDFLAGS) 27 | 28 | test: miniunz minizip 29 | ./minizip test readme.txt 30 | -------------------------------------------------------------------------------- /core-libs/zlib/spec: -------------------------------------------------------------------------------- 1 | VER=1.2.11 2 | SRCTBL="https://prdownloads.sourceforge.net/libpng/zlib-1.2.11.tar.xz" 3 | CHKSUM="sha256::4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066" 4 | -------------------------------------------------------------------------------- /core-misc/aosc-aaa/autobuild/build: -------------------------------------------------------------------------------- 1 | # 2 | # A derivative of Linux From Scratch system directory template. 3 | # Refer to Chapter 6, Section 5 of Linux From Scratch for original 4 | # design. 5 | # 6 | # This is NOT a fully FHS compliant directory tree. 7 | # 8 | 9 | mkdir "$PKGDIR" 10 | cp -r etc "$PKGDIR"/ 11 | 12 | mkdir -pv "$PKGDIR"/{boot,home,usr/lib/firmware,mnt,opt} 13 | mkdir -pv "$PKGDIR"/{media/{floppy,cdrom},srv,var} 14 | install -dv -m 0750 "$PKGDIR"/root 15 | install -dv -m 1777 "$PKGDIR"/tmp "$PKGDIR"/var/tmp 16 | mkdir -pv "$PKGDIR"/usr{,/local}/{bin,include,lib,src} 17 | mkdir -pv "$PKGDIR"/usr/share/{doc,info,locale,man} 18 | mkdir -v "$PKGDIR"/usr/share/{misc,terminfo,zoneinfo} 19 | mkdir -v "$PKGDIR"/usr/libexec 20 | mkdir -pv "$PKGDIR"/usr/share/man/man{1..8} 21 | 22 | mkdir -v "$PKGDIR"/var/{log,mail,spool} 23 | ln -sv /run "$PKGDIR"/var/run 24 | ln -sv /run/lock "$PKGDIR"/var/lock 25 | mkdir -pv "$PKGDIR"/var/{opt,cache,local} 26 | 27 | # 28 | # Avoid confusion. 29 | # 30 | ln -sv usr/lib "$PKGDIR"/lib 31 | case ${CROSS:-$ARCH} in 32 | (arm*) ;; 33 | (*n32*) 34 | ln -sv usr/lib "$PKGDIR"/lib32 35 | ln -sv lib "$PKGDIR"/usr/lib32 36 | ln -sv ../lib "$PKGDIR"/usr/lib/32;; 37 | (*) 38 | ln -sv usr/lib "$PKGDIR"/lib64 39 | ln -sv lib "$PKGDIR"/usr/lib64 40 | ln -sv ../lib "$PKGDIR"/usr/lib/64;; 41 | esac 42 | ln -sv usr/bin "$PKGDIR"/bin 43 | ln -sv usr/bin "$PKGDIR"/sbin 44 | ln -sv bin "$PKGDIR"/usr/sbin 45 | 46 | # 47 | # Linux From Scratch Chapter 6, Section 2. 48 | # 49 | mkdir -pv "$PKGDIR"/{dev,proc,sys,run} 50 | install -dv -m 1777 "$PKGDIR"/dev/shm 51 | -------------------------------------------------------------------------------- /core-misc/aosc-aaa/autobuild/conffiles: -------------------------------------------------------------------------------- 1 | /etc/host.conf 2 | /etc/hosts 3 | /etc/securetty 4 | /etc/shells 5 | -------------------------------------------------------------------------------- /core-misc/aosc-aaa/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=aosc-aaa 2 | PKGVER=6.0.0 3 | PKGSEC=misc 4 | PKGDEP="" 5 | PKGDES="Bed rock level system definitions" 6 | -------------------------------------------------------------------------------- /core-misc/aosc-aaa/autobuild/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Base Section 3 | 4 | # Extra Section 5 | # Copyleft, AOSC Developers. 6 | 7 | # Purpose of this section: 8 | # 1. Adjustment for current system. 9 | # 2. News and issues to be read and advised by the users. 10 | 11 | mknod -m 600 /dev/console c 5 1 2>/dev/null || true 12 | mknod -m 666 /dev/null c 1 3 2>/dev/null || true 13 | 14 | # Transition to new independent tmp for systemd PrivateTemp. 15 | rm -rf /var/tmp 16 | install -dm1777 /var/tmp 17 | 18 | if [[ ! -e /etc/fstab ]]; then 19 | cat > /etc/fstab << EOF 20 | # /etc/fstab 21 | # 22 | # This file contains mounting specifications for block devices. 23 | # 24 | # : the block device to be mounted. 25 | # : mount point, the mounting destination of the block device. 26 | # : file system type, e.g. ext4, btrfs, etc. 27 | # : extra options to be passed to the file system driver. 28 | # : whether the dump utility should dump and backup this particular 29 | # device/filesystem. Takes one of the following numeric values: 30 | # 0 - ignore this device/filesystem; 31 | # 1 - make a backup for this device/filesystem; 32 | # : in what order fsck should do a file system check on this particular 33 | # device/filesystem. Takes one of the following numeric values: 34 | # 0 - ignore this device/filesystem (btrfs should use 0); 35 | # 1/2 - given a file system check is necessary, the order in which 36 | # the checks should proceed. 37 | # 38 | # 39 | EOF 40 | fi 41 | 42 | if [[ ! -e /etc/crypttab ]]; then 43 | cat > /etc/crypttab << EOF 44 | # /etc/crypttab 45 | # 46 | # This file contains mappings for encrypted partitions. 47 | # 48 | # Each mapped device will be created in /dev/mapper, so your /etc/fstab 49 | # should use the /dev/mapper/ notations for encrypted devices. 50 | # 51 | # See crypttab(5) for supported syntax. 52 | # 53 | # 54 | EOF 55 | fi 56 | 57 | echo -e " 58 | 59 | 60 | \e[48;5;210m\e[1;38;5;232m ........................... \e[0m 61 | \e[48;5;210m\e[1;38;5;232m .............................\e[0m 62 | \e[48;5;210m\e[1;38;5;232m .............................\e[0m 63 | \e[48;5;210m\e[1;38;5;232m ..............................\e[0m 64 | \e[48;5;210m\e[1;38;5;232m .................................\e[0m 65 | \e[48;5;210m\e[1;38;5;232m @@@ .....................@@@.........\e[0m 66 | \e[48;5;210m\e[1;38;5;232m @@@@@ .......................@@@@@........\e[0m 67 | \e[48;5;210m\e[1;38;5;232m @@@@@ .........................@@@@@........\e[0m 68 | \e[48;5;210m\e[1;38;5;232m @@@ ...........................@@@.........\e[0m 69 | \e[48;5;210m\e[1;38;5;232m .......................................\e[0m 70 | \e[48;5;210m\e[1;38;5;232m ..........................................\e[0m 71 | \e[48;5;210m\e[1;38;5;232m ..........................................\e[0m 72 | \e[48;5;210m\e[1;38;5;232m .............................................\e[0m 73 | \e[48;5;210m\e[1;38;5;232m ...............................................\e[0m 74 | \e[48;5;210m\e[1;38;5;232m ..........@@@@@@@@@@@@@@@@@@....................\e[0m 75 | \e[48;5;210m\e[1;38;5;232m ......@@@@@@ @@@@@................\e[0m 76 | \e[48;5;210m\e[1;38;5;232m .....@@@ @@@@ @@@@ @@@.............\e[0m 77 | \e[48;5;210m\e[1;38;5;232m .....@@@ @@ @@ @@ @@ @@@............\e[0m 78 | \e[48;5;210m\e[1;38;5;232m .....@@@ @@ @@ @@ @@ @@@...........\e[0m 79 | \e[48;5;210m\e[1;38;5;232m .......@@ @@ @@ @@ @@ @@...........\e[0m 80 | \e[48;5;210m\e[1;38;5;232m .........@@@ @@ @@ @@ @@ @@@...........\e[0m 81 | \e[48;5;210m\e[1;38;5;232m ...........@@@ @@ @@ @@ @@ @@@............\e[0m 82 | \e[48;5;210m\e[1;38;5;232m ..............@@@ @@@@ @@@@ @@@..............\e[0m 83 | \e[48;5;210m\e[1;38;5;232m..................@@@@@@ @@@@@@................\e[0m 84 | \e[48;5;210m\e[1;38;5;232m.......................@@@@@@@@@@@@@@@@@@....................\e[0m 85 | \e[48;5;210m\e[1;38;5;232m.............................................................\e[0m 86 | \e[48;5;210m\e[1;38;5;232m.............................................................\e[0m 87 | \e[48;5;210m\e[1;38;5;232m.............................................................\e[0m 88 | \e[48;5;210m\e[1;38;5;232m ........................................................... \e[0m 89 | 90 | ************************************************************* 91 | Welcome to AOSC OS Core 7, Codename \"Gumblex\"! 92 | ************************************************************* 93 | 94 | 95 | " 96 | -------------------------------------------------------------------------------- /core-misc/aosc-aaa/autobuild/usergroup: -------------------------------------------------------------------------------- 1 | group mem 200 2 | group ftp 201 3 | group uucp 202 4 | group log 203 5 | group rfkill 204 6 | group smmsp 205 7 | group proc 206 8 | group http 207 9 | group games 208 10 | group uuidd 209 11 | group storage 210 12 | group power 211 13 | group users 1000 14 | user http 207 http /srv/http "HTTP daemon" /bin/true 15 | user uuidd 209 uuidd /dev/null "UUIDD user" /bin/true 16 | -------------------------------------------------------------------------------- /core-misc/aosc-aaa/spec: -------------------------------------------------------------------------------- 1 | VER=7.0.2 2 | GITSRC="https://github.com/AOSC-Dev/aosc-aaa" 3 | GITCO="tags/v$VER" 4 | -------------------------------------------------------------------------------- /core-perl/perl/autobuild/build: -------------------------------------------------------------------------------- 1 | abinfo "Configuring Perl..." 2 | ./Configure -des -Dusethreads -Duseshrplib \ 3 | -Dprefix=/usr -Dvendorprefix=/usr \ 4 | -Dman1dir=/usr/share/man/man1 \ 5 | -Dman3dir=/usr/share/man/man3 \ 6 | -Dprefix=/usr -Dvendorprefix=/usr \ 7 | -Dprivlib=/usr/share/perl5/core_perl \ 8 | -Darchlib=/usr/lib/perl5/core_perl \ 9 | -Dsitelib=/usr/share/perl5/site_perl \ 10 | -Dsitearch=/usr/lib/perl5/site_perl \ 11 | -Dvendorlib=/usr/share/perl5/vendor_perl \ 12 | -Dvendorarch=/usr/lib/perl5/vendor_perl \ 13 | -Dscriptdir=/usr/bin/core_perl \ 14 | -Dsitescript=/usr/bin/site_perl \ 15 | -Dvendorscript=/usr/bin/vendor_perl \ 16 | -Dinc_version_list=none \ 17 | -Dcccdlflags="${CFLAGS}" \ 18 | -Dlddlflags="-shared ${LDFLAGS}" \ 19 | -Dldflags="${LDFLAGS}" \ 20 | -Doptimize="${CFLAGS}" 21 | 22 | abinfo "Building and installing Perl..." 23 | make 24 | make install DESTDIR="$PKGDIR" 25 | 26 | abinfo "Installing makepkg templates..." 27 | for template in "$SRCDIR"/*.template; do 28 | install -Dvm644 "$template" \ 29 | "$PKGDIR"/usr/share/makepkg-template/"${template##*/}" 30 | done 31 | 32 | # From Arch Linux: 33 | 34 | ### CPAN Settings ### 35 | # Set CPAN default config to use the site directories. 36 | abinfo "Setting default CPAN directories..." 37 | sed -e '/(makepl_arg =>/ s/""/"INSTALLDIRS=site"/' \ 38 | -e '/(mbuildpl_arg =>/ s/""/"installdirs=site"/' \ 39 | -i "$PKGDIR"/usr/share/perl5/core_perl/CPAN/FirstTime.pm 40 | 41 | # Add the dirs so new installs will already have them in PATH once they 42 | # install their first perl programm 43 | abinfo "Creating directories of vendor and site executables..." 44 | install -dvm755 "$PKGDIR"/usr/bin/{vendor,site}_perl 45 | 46 | abinfo "Creating symlinks for core executables..." 47 | (cd "$PKGDIR"/usr/bin/core_perl; ln -sfv c2ph pstruct;) 48 | 49 | abinfo "Purging metadata files..." 50 | find "$PKGDIR" -name perllocal.pod -delete 51 | find "$PKGDIR" -name .packlist -delete 52 | -------------------------------------------------------------------------------- /core-perl/perl/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=perl 2 | PKGSEC=perl 3 | PKGDEP="gdbm db glibc" 4 | PKGDES="A highly capable and feature rich programming language" 5 | 6 | NOPARALLEL=1 7 | 8 | PKGEPOCH=4 9 | ABRPMAUTOPROVONLY=1 10 | RPMEXTRAPROVIDE="perl(abbrev.pl) /sbin/perl /usr/sbin/perl /bin/perl \ 11 | perl(assert.pl) perl(bigfloat.pl) perl(bigint.pl) perl(bigrat.pl) perl(bytes_heavy.pl) \ 12 | perl(cacheout.pl) perl(complete.pl) perl(ctime.pl) perl(dotsh.pl) perl(dumpvar.pl) \ 13 | perl(exceptions.pl) perl(fastcwd.pl) perl(find.pl) perl(finddepth.pl) perl(flush.pl) \ 14 | perl(ftp.pl) perl(getcwd.pl) perl(getopt.pl) perl(getopts.pl) perl(hostname.pl) \ 15 | perl(importenv.pl) perl(look.pl) perl(newgetopt.pl) perl(open2.pl) perl(open3.pl) \ 16 | perl(perl5db.pl) perl(pwd.pl) perl(shellwords.pl) perl(stat.pl) perl(syslog.pl) perl(tainted.pl) \ 17 | perl(termcap.pl) perl(timelocal.pl) perl(utf8_heavy.pl) perl(validate.pl)" 18 | 19 | AB_FLAGS_SPECS=0 20 | AB_FLAGS_O3=1 21 | 22 | PKGBREAK="claws-mail<=3.17.3-1 freeradius<=3.0.17-2 gnumeric<=1.12.39 graphviz<=2.40.1-1 \ 23 | hexchat<=2.14.2-2 irssi<=1.2.0-1 kvirc<=1:5.0.0-1 libpurple<=2.12.0-1 \ 24 | net-snmp<=5.7.3-7 openresty<=1.13.6.2-2 polymake<=3.3-1 postgresql<=11.2-2 \ 25 | rxvt-unicode<=9.22-2 subversion<=1.11.1 weechat<=2.4 znc<=1.7.3" 26 | -------------------------------------------------------------------------------- /core-perl/perl/autobuild/overrides/etc/profile.d/perl.sh: -------------------------------------------------------------------------------- 1 | [ -d /usr/bin/site_perl ] && PATH="$PATH:/usr/bin/site_perl" 2 | [ -d /usr/lib/perl5/site_perl/bin ] && PATH="$PATH:/usr/lib/perl5/site_perl/bin" 3 | 4 | [ -d /usr/bin/vendor_perl ] && PATH="$PATH:/usr/bin/vendor_perl" 5 | [ -d /usr/lib/perl5/vendor_perl/bin ] && PATH="$PATH:/usr/lib/perl5/vendor_perl/bin" 6 | 7 | [ -d /usr/bin/core_perl ] && PATH="$PATH:/usr/bin/core_perl" 8 | -------------------------------------------------------------------------------- /core-perl/perl/autobuild/prepare: -------------------------------------------------------------------------------- 1 | # FIXME: to adapt for the new -fPIC/-fPIE GCC specs, 2 | # which does not specify -fPIC by default once disabled 3 | # with AB_FLAGS_SPECS=0. 4 | export CFLAGS="${CFLAGS} -fPIC" 5 | export CXXFLAGS="${CXXFLAGS} -fPIC" 6 | 7 | # Use system dependencies. 8 | sed -i -e "s|BUILD_ZLIB\s*= True|BUILD_ZLIB = False|" \ 9 | -e "s|INCLUDE\s*= ./zlib-src|INCLUDE = /usr/include|" \ 10 | -e "s|LIB\s*= ./zlib-src|LIB = /usr/lib|" \ 11 | cpan/Compress-Raw-Zlib/config.in 12 | -------------------------------------------------------------------------------- /core-perl/perl/spec: -------------------------------------------------------------------------------- 1 | VER=5.28.2 2 | REL=2 3 | SRCTBL="http://search.cpan.org/CPAN/authors/id/S/SH/SHAY/perl-$VER.tar.gz" 4 | CHKSUM="sha256::aa95456dddb3eb1cc5475fed4e08f91876bea71fb636fba6399054dfbabed6c7" 5 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/beyond: -------------------------------------------------------------------------------- 1 | abinfo "Making Bash the default Unix shell..." 2 | ln -sv bash "$PKGDIR"/bin/sh 3 | 4 | abinfo "Installing examples..." 5 | mkdir -pv "$PKGDIR"/usr/share/doc/bash 6 | cp -arv "$SRCDIR"/examples "$PKGDIR"/usr/share/doc/bash/ 7 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/defines: -------------------------------------------------------------------------------- 1 | PKGNAME=bash 2 | PKGSEC=shells 3 | PKGDEP="glibc readline" 4 | PKGPROV="sh" 5 | PKGDES="Bourne Again SHell" 6 | 7 | RPMEXTRAPROVIDE="/bin/sh /bin/bash /sbin/bash" 8 | 9 | # The following configuration: 10 | # 11 | # 1. Enables /bin as the default installation directory, as to keep 12 | # compatibility when aosc-aaa is not installed (so no symlinks); 13 | # 2. Enables Curses libraries; 14 | # 3. Enables Readline library links; 15 | # 4. Disables Bash malloc (uses implementation in GLibC); 16 | # 5. Enables installed readline libraries for extreme cases; 17 | AUTOTOOLS_AFTER="--bindir=/bin --with-curses --enable-readline \ 18 | --without-bash-malloc --with-installed-readline \ 19 | --build=${ARCH_TARGET[$ARCH]}" 20 | AB_FLAGS_O3=1 21 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/patch: -------------------------------------------------------------------------------- 1 | for i in autobuild/patches/bash*-0*; do 2 | abinfo "Applying $i ..." 3 | patch -p0 < $i || exit 1 4 | done 5 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/patches/bash50-001: -------------------------------------------------------------------------------- 1 | BASH PATCH REPORT 2 | ================= 3 | 4 | Bash-Release: 5.0 5 | Patch-ID: bash50-001 6 | 7 | Bug-Reported-by: axel@freakout.de 8 | Bug-Reference-ID: <201901082050.x08KoShS006731@bongo.freakout.de> 9 | Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html 10 | 11 | Bug-Description: 12 | 13 | Under certain circumstances, the glob expansion code did not remove 14 | backslashes escaping characters in directory names (or portions of a 15 | pattern preceding a slash). 16 | 17 | Patch (apply with `patch -p0'): 18 | 19 | *** ../bash-5.0/bashline.c 2018-11-27 13:20:16.000000000 -0500 20 | --- bashline.c 2019-01-16 16:06:03.000000000 -0500 21 | *************** 22 | *** 232,235 **** 23 | --- 232,236 ---- 24 | static int bash_possible_command_completions __P((int, int)); 25 | 26 | + static int completion_glob_pattern __P((char *)); 27 | static char *glob_complete_word __P((const char *, int)); 28 | static int bash_glob_completion_internal __P((int)); 29 | *************** 30 | *** 1742,1746 **** 31 | /* This could be a globbing pattern, so try to expand it using pathname 32 | expansion. */ 33 | ! if (!matches && glob_pattern_p (text)) 34 | { 35 | matches = rl_completion_matches (text, glob_complete_word); 36 | --- 1743,1747 ---- 37 | /* This could be a globbing pattern, so try to expand it using pathname 38 | expansion. */ 39 | ! if (!matches && completion_glob_pattern ((char *)text)) 40 | { 41 | matches = rl_completion_matches (text, glob_complete_word); 42 | *************** 43 | *** 1851,1855 **** 44 | } 45 | 46 | ! globpat = glob_pattern_p (hint_text); 47 | 48 | /* If this is an absolute program name, do not check it against 49 | --- 1852,1856 ---- 50 | } 51 | 52 | ! globpat = completion_glob_pattern ((char *)hint_text); 53 | 54 | /* If this is an absolute program name, do not check it against 55 | *************** 56 | *** 3714,3717 **** 57 | --- 3715,3773 ---- 58 | } 59 | 60 | + static int 61 | + completion_glob_pattern (string) 62 | + char *string; 63 | + { 64 | + register int c; 65 | + char *send; 66 | + int open; 67 | + 68 | + DECLARE_MBSTATE; 69 | + 70 | + open = 0; 71 | + send = string + strlen (string); 72 | + 73 | + while (c = *string++) 74 | + { 75 | + switch (c) 76 | + { 77 | + case '?': 78 | + case '*': 79 | + return (1); 80 | + 81 | + case '[': 82 | + open++; 83 | + continue; 84 | + 85 | + case ']': 86 | + if (open) 87 | + return (1); 88 | + continue; 89 | + 90 | + case '+': 91 | + case '@': 92 | + case '!': 93 | + if (*string == '(') /*)*/ 94 | + return (1); 95 | + continue; 96 | + 97 | + case '\\': 98 | + if (*string == 0) 99 | + return (0); 100 | + } 101 | + 102 | + /* Advance one fewer byte than an entire multibyte character to 103 | + account for the auto-increment in the loop above. */ 104 | + #ifdef HANDLE_MULTIBYTE 105 | + string--; 106 | + ADVANCE_CHAR_P (string, send - string); 107 | + string++; 108 | + #else 109 | + ADVANCE_CHAR_P (string, send - string); 110 | + #endif 111 | + } 112 | + return (0); 113 | + } 114 | + 115 | static char *globtext; 116 | static char *globorig; 117 | *************** 118 | *** 3878,3882 **** 119 | } 120 | 121 | ! if (t && glob_pattern_p (t) == 0) 122 | rl_explicit_arg = 1; /* XXX - force glob_complete_word to append `*' */ 123 | FREE (t); 124 | --- 3934,3938 ---- 125 | } 126 | 127 | ! if (t && completion_glob_pattern (t) == 0) 128 | rl_explicit_arg = 1; /* XXX - force glob_complete_word to append `*' */ 129 | FREE (t); 130 | *** ../bash-5.0/lib/glob/glob_loop.c 2018-12-31 13:35:15.000000000 -0500 131 | --- lib/glob/glob_loop.c 2019-01-09 09:44:36.000000000 -0500 132 | *************** 133 | *** 55,59 **** 134 | 135 | case L('\\'): 136 | - #if 0 137 | /* Don't let the pattern end in a backslash (GMATCH returns no match 138 | if the pattern ends in a backslash anyway), but otherwise return 1, 139 | --- 55,58 ---- 140 | *************** 141 | *** 61,69 **** 142 | and it can be removed. */ 143 | return (*p != L('\0')); 144 | - #else 145 | - /* The pattern may not end with a backslash. */ 146 | - if (*p++ == L('\0')) 147 | - return 0; 148 | - #endif 149 | } 150 | 151 | --- 60,63 ---- 152 | *** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 153 | --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 154 | *************** 155 | *** 26,30 **** 156 | looks for to find the patch level (for the sccs version string). */ 157 | 158 | ! #define PATCHLEVEL 0 159 | 160 | #endif /* _PATCHLEVEL_H_ */ 161 | --- 26,30 ---- 162 | looks for to find the patch level (for the sccs version string). */ 163 | 164 | ! #define PATCHLEVEL 1 165 | 166 | #endif /* _PATCHLEVEL_H_ */ 167 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/patches/bash50-002: -------------------------------------------------------------------------------- 1 | BASH PATCH REPORT 2 | ================= 3 | 4 | Bash-Release: 5.0 5 | Patch-ID: bash50-002 6 | 7 | Bug-Reported-by: Ante Peric 8 | Bug-Reference-ID: 9 | Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html 10 | 11 | Bug-Description: 12 | 13 | When an alias value ends with an unquoted literal tab (not part of a quoted 14 | string or comment), alias expansion cannot correctly detect the end of the 15 | alias value after expanding it. 16 | 17 | Patch (apply with `patch -p0'): 18 | 19 | *** ../bash-5.0/parser.h 2018-12-28 19:11:18.000000000 -0500 20 | --- parser.h 2019-01-11 15:13:03.000000000 -0500 21 | *************** 22 | *** 48,51 **** 23 | --- 48,52 ---- 24 | #define PST_REDIRLIST 0x080000 /* parsing a list of redirections preceding a simple command name */ 25 | #define PST_COMMENT 0x100000 /* parsing a shell comment; used by aliases */ 26 | + #define PST_ENDALIAS 0x200000 /* just finished expanding and consuming an alias */ 27 | 28 | /* Definition of the delimiter stack. Needed by parse.y and bashhist.c. */ 29 | *** ../bash-5.0/parse.y 2019-01-02 13:57:34.000000000 -0500 30 | --- parse.y 2019-01-14 08:23:31.000000000 -0500 31 | *************** 32 | *** 2558,2567 **** 33 | pushed_string_list->flags != PSH_DPAREN && 34 | (parser_state & PST_COMMENT) == 0 && 35 | shell_input_line_index > 0 && 36 | ! shell_input_line[shell_input_line_index-1] != ' ' && 37 | shell_input_line[shell_input_line_index-1] != '\n' && 38 | shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && 39 | (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) 40 | { 41 | return ' '; /* END_ALIAS */ 42 | } 43 | --- 2558,2569 ---- 44 | pushed_string_list->flags != PSH_DPAREN && 45 | (parser_state & PST_COMMENT) == 0 && 46 | + (parser_state & PST_ENDALIAS) == 0 && /* only once */ 47 | shell_input_line_index > 0 && 48 | ! shellblank (shell_input_line[shell_input_line_index-1]) == 0 && 49 | shell_input_line[shell_input_line_index-1] != '\n' && 50 | shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && 51 | (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) 52 | { 53 | + parser_state |= PST_ENDALIAS; 54 | return ' '; /* END_ALIAS */ 55 | } 56 | *************** 57 | *** 2572,2575 **** 58 | --- 2574,2578 ---- 59 | if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE) 60 | { 61 | + parser_state &= ~PST_ENDALIAS; 62 | pop_string (); 63 | uc = shell_input_line[shell_input_line_index]; 64 | *** ../bash-5.0/y.tab.c 2019-01-02 13:57:43.000000000 -0500 65 | --- y.tab.c 2019-01-14 08:39:23.000000000 -0500 66 | *************** 67 | *** 4874,4883 **** 68 | pushed_string_list->flags != PSH_DPAREN && 69 | (parser_state & PST_COMMENT) == 0 && 70 | shell_input_line_index > 0 && 71 | ! shell_input_line[shell_input_line_index-1] != ' ' && 72 | shell_input_line[shell_input_line_index-1] != '\n' && 73 | shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && 74 | (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) 75 | { 76 | return ' '; /* END_ALIAS */ 77 | } 78 | --- 4874,4885 ---- 79 | pushed_string_list->flags != PSH_DPAREN && 80 | (parser_state & PST_COMMENT) == 0 && 81 | + (parser_state & PST_ENDALIAS) == 0 && /* only once */ 82 | shell_input_line_index > 0 && 83 | ! shellblank (shell_input_line[shell_input_line_index-1]) == 0 && 84 | shell_input_line[shell_input_line_index-1] != '\n' && 85 | shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && 86 | (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) 87 | { 88 | + parser_state |= PST_ENDALIAS; 89 | return ' '; /* END_ALIAS */ 90 | } 91 | *************** 92 | *** 4888,4891 **** 93 | --- 4890,4894 ---- 94 | if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE) 95 | { 96 | + parser_state &= ~PST_ENDALIAS; 97 | pop_string (); 98 | uc = shell_input_line[shell_input_line_index]; 99 | *** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 100 | --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 101 | *************** 102 | *** 26,30 **** 103 | looks for to find the patch level (for the sccs version string). */ 104 | 105 | ! #define PATCHLEVEL 1 106 | 107 | #endif /* _PATCHLEVEL_H_ */ 108 | --- 26,30 ---- 109 | looks for to find the patch level (for the sccs version string). */ 110 | 111 | ! #define PATCHLEVEL 2 112 | 113 | #endif /* _PATCHLEVEL_H_ */ 114 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/patches/bash50-003: -------------------------------------------------------------------------------- 1 | BASH PATCH REPORT 2 | ================= 3 | 4 | Bash-Release: 5.0 5 | Patch-ID: bash50-003 6 | 7 | Bug-Reported-by: Andrew Church 8 | Bug-Reference-ID: <5c534aa2.04371@msgid.achurch.org> 9 | Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html 10 | 11 | Bug-Description: 12 | 13 | There are several incompatibilities in how bash-5.0 processes pathname 14 | expansion (globbing) of filename arguments that have backslashes in the 15 | directory portion. 16 | 17 | Patch (apply with `patch -p0'): 18 | 19 | *** ../bash-5.0-patched/lib/glob/glob_loop.c 2019-01-16 16:13:21.000000000 -0500 20 | --- lib/glob/glob_loop.c 2019-02-01 09:45:11.000000000 -0500 21 | *************** 22 | *** 27,34 **** 23 | register const GCHAR *p; 24 | register GCHAR c; 25 | ! int bopen; 26 | 27 | p = pattern; 28 | ! bopen = 0; 29 | 30 | while ((c = *p++) != L('\0')) 31 | --- 27,34 ---- 32 | register const GCHAR *p; 33 | register GCHAR c; 34 | ! int bopen, bsquote; 35 | 36 | p = pattern; 37 | ! bopen = bsquote = 0; 38 | 39 | while ((c = *p++) != L('\0')) 40 | *************** 41 | *** 56,66 **** 42 | case L('\\'): 43 | /* Don't let the pattern end in a backslash (GMATCH returns no match 44 | ! if the pattern ends in a backslash anyway), but otherwise return 1, 45 | ! since the matching engine uses backslash as an escape character 46 | ! and it can be removed. */ 47 | ! return (*p != L('\0')); 48 | } 49 | 50 | ! return 0; 51 | } 52 | 53 | --- 56,75 ---- 54 | case L('\\'): 55 | /* Don't let the pattern end in a backslash (GMATCH returns no match 56 | ! if the pattern ends in a backslash anyway), but otherwise note that 57 | ! we have seen this, since the matching engine uses backslash as an 58 | ! escape character and it can be removed. We return 2 later if we 59 | ! have seen only backslash-escaped characters, so interested callers 60 | ! know they can shortcut and just dequote the pathname. */ 61 | ! if (*p != L('\0')) 62 | ! { 63 | ! p++; 64 | ! bsquote = 1; 65 | ! continue; 66 | ! } 67 | ! else /* (*p == L('\0')) */ 68 | ! return 0; 69 | } 70 | 71 | ! return bsquote ? 2 : 0; 72 | } 73 | 74 | *** ../bash-5.0-patched/lib/glob/glob.h 2013-10-28 14:46:12.000000000 -0400 75 | --- lib/glob/glob.h 2019-03-07 11:06:47.000000000 -0500 76 | *************** 77 | *** 31,34 **** 78 | --- 31,35 ---- 79 | #define GX_ADDCURDIR 0x200 /* internal -- add passed directory name */ 80 | #define GX_GLOBSTAR 0x400 /* turn on special handling of ** */ 81 | + #define GX_RECURSE 0x800 /* internal -- glob_filename called recursively */ 82 | 83 | extern int glob_pattern_p __P((const char *)); 84 | *** ../bash-5.0-patched/lib/glob/glob.c 2018-09-20 10:53:23.000000000 -0400 85 | --- lib/glob/glob.c 2019-03-07 14:23:43.000000000 -0500 86 | *************** 87 | *** 1062,1066 **** 88 | unsigned int directory_len; 89 | int free_dirname; /* flag */ 90 | ! int dflags; 91 | 92 | result = (char **) malloc (sizeof (char *)); 93 | --- 1078,1082 ---- 94 | unsigned int directory_len; 95 | int free_dirname; /* flag */ 96 | ! int dflags, hasglob; 97 | 98 | result = (char **) malloc (sizeof (char *)); 99 | *************** 100 | *** 1111,1117 **** 101 | } 102 | 103 | /* If directory_name contains globbing characters, then we 104 | ! have to expand the previous levels. Just recurse. */ 105 | ! if (directory_len > 0 && glob_pattern_p (directory_name)) 106 | { 107 | char **directories, *d, *p; 108 | --- 1127,1136 ---- 109 | } 110 | 111 | + hasglob = 0; 112 | /* If directory_name contains globbing characters, then we 113 | ! have to expand the previous levels. Just recurse. 114 | ! If glob_pattern_p returns != [0,1] we have a pattern that has backslash 115 | ! quotes but no unquoted glob pattern characters. We dequote it below. */ 116 | ! if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1) 117 | { 118 | char **directories, *d, *p; 119 | *************** 120 | *** 1176,1180 **** 121 | d[directory_len - 1] = '\0'; 122 | 123 | ! directories = glob_filename (d, dflags); 124 | 125 | if (free_dirname) 126 | --- 1195,1199 ---- 127 | d[directory_len - 1] = '\0'; 128 | 129 | ! directories = glob_filename (d, dflags|GX_RECURSE); 130 | 131 | if (free_dirname) 132 | *************** 133 | *** 1333,1336 **** 134 | --- 1352,1369 ---- 135 | return (NULL); 136 | } 137 | + /* If we have a directory name with quoted characters, and we are 138 | + being called recursively to glob the directory portion of a pathname, 139 | + we need to dequote the directory name before returning it so the 140 | + caller can read the directory */ 141 | + if (directory_len > 0 && hasglob == 2 && (flags & GX_RECURSE) != 0) 142 | + { 143 | + dequote_pathname (directory_name); 144 | + directory_len = strlen (directory_name); 145 | + } 146 | + 147 | + /* We could check whether or not the dequoted directory_name is a 148 | + directory and return it here, returning the original directory_name 149 | + if not, but we don't do that yet. I'm not sure it matters. */ 150 | + 151 | /* Handle GX_MARKDIRS here. */ 152 | result[0] = (char *) malloc (directory_len + 1); 153 | *** ../bash-5.0-patched/pathexp.c 2018-04-29 17:44:48.000000000 -0400 154 | --- pathexp.c 2019-01-31 20:19:41.000000000 -0500 155 | *************** 156 | *** 66,74 **** 157 | register int c; 158 | char *send; 159 | ! int open; 160 | 161 | DECLARE_MBSTATE; 162 | 163 | ! open = 0; 164 | send = string + strlen (string); 165 | 166 | --- 66,74 ---- 167 | register int c; 168 | char *send; 169 | ! int open, bsquote; 170 | 171 | DECLARE_MBSTATE; 172 | 173 | ! open = bsquote = 0; 174 | send = string + strlen (string); 175 | 176 | *************** 177 | *** 101,105 **** 178 | globbing. */ 179 | case '\\': 180 | ! return (*string != 0); 181 | 182 | case CTLESC: 183 | --- 101,112 ---- 184 | globbing. */ 185 | case '\\': 186 | ! if (*string != '\0' && *string != '/') 187 | ! { 188 | ! bsquote = 1; 189 | ! string++; 190 | ! continue; 191 | ! } 192 | ! else if (*string == 0) 193 | ! return (0); 194 | 195 | case CTLESC: 196 | *************** 197 | *** 118,122 **** 198 | #endif 199 | } 200 | ! return (0); 201 | } 202 | 203 | --- 125,130 ---- 204 | #endif 205 | } 206 | ! 207 | ! return (bsquote ? 2 : 0); 208 | } 209 | 210 | *** ../bash-5.0-patched/bashline.c 2019-01-16 16:13:21.000000000 -0500 211 | --- bashline.c 2019-02-22 09:29:08.000000000 -0500 212 | *************** 213 | *** 3753,3757 **** 214 | 215 | case '\\': 216 | ! if (*string == 0) 217 | return (0); 218 | } 219 | --- 3766,3770 ---- 220 | 221 | case '\\': 222 | ! if (*string++ == 0) 223 | return (0); 224 | } 225 | *** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 226 | --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 227 | *************** 228 | *** 26,30 **** 229 | looks for to find the patch level (for the sccs version string). */ 230 | 231 | ! #define PATCHLEVEL 2 232 | 233 | #endif /* _PATCHLEVEL_H_ */ 234 | --- 26,30 ---- 235 | looks for to find the patch level (for the sccs version string). */ 236 | 237 | ! #define PATCHLEVEL 3 238 | 239 | #endif /* _PATCHLEVEL_H_ */ 240 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/patches/bash50-004: -------------------------------------------------------------------------------- 1 | BASH PATCH REPORT 2 | ================= 3 | 4 | Bash-Release: 5.0 5 | Patch-ID: bash50-004 6 | 7 | Bug-Reported-by: Daniel Kahn Gillmor 8 | Bug-Reference-ID: <87lg0g8aiw.fsf@fifthhorseman.net> 9 | Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html 10 | 11 | Bug-Description: 12 | 13 | In bash-5.0, the `wait' builtin without arguments waits for all children of the 14 | shell. This includes children it `inherited' at shell invocation time. This 15 | patch modifies the behavior to not wait for these inherited children, some 16 | of which might be long-lived. 17 | 18 | Patch (apply with `patch -p0'): 19 | 20 | *** ../bash-5.0-patched/jobs.c 2018-12-06 11:44:34.000000000 -0500 21 | --- jobs.c 2019-04-12 15:15:10.000000000 -0400 22 | *************** 23 | *** 2489,2496 **** 24 | wait_procsubs (); 25 | reap_procsubs (); 26 | ! #if 1 27 | /* We don't want to wait indefinitely if we have stopped children. */ 28 | - /* XXX - should add a loop that goes through the list of process 29 | - substitutions and waits for each proc in turn before this code. */ 30 | if (any_stopped == 0) 31 | { 32 | --- 2490,2495 ---- 33 | wait_procsubs (); 34 | reap_procsubs (); 35 | ! #if 0 36 | /* We don't want to wait indefinitely if we have stopped children. */ 37 | if (any_stopped == 0) 38 | { 39 | *** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 40 | --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 41 | *************** 42 | *** 26,30 **** 43 | looks for to find the patch level (for the sccs version string). */ 44 | 45 | ! #define PATCHLEVEL 3 46 | 47 | #endif /* _PATCHLEVEL_H_ */ 48 | --- 26,30 ---- 49 | looks for to find the patch level (for the sccs version string). */ 50 | 51 | ! #define PATCHLEVEL 4 52 | 53 | #endif /* _PATCHLEVEL_H_ */ 54 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/patches/bash50-005: -------------------------------------------------------------------------------- 1 | BASH PATCH REPORT 2 | ================= 3 | 4 | Bash-Release: 5.0 5 | Patch-ID: bash50-005 6 | 7 | Bug-Reported-by: Brad Spencer 8 | Bug-Reference-ID: <1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com> 9 | Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html 10 | 11 | Bug-Description: 12 | 13 | In certain cases, bash optimizes out a fork() call too early and prevents 14 | traps from running. 15 | 16 | Patch (apply with `patch -p0'): 17 | 18 | *** ../bash-5.0-patched/command.h 2018-07-20 21:16:31.000000000 -0400 19 | --- command.h 2019-02-20 11:09:36.000000000 -0500 20 | *************** 21 | *** 187,190 **** 22 | --- 188,192 ---- 23 | #define CMD_LASTPIPE 0x2000 24 | #define CMD_STDPATH 0x4000 /* use standard path for command lookup */ 25 | + #define CMD_TRY_OPTIMIZING 0x8000 /* try to optimize this simple command */ 26 | 27 | /* What a command looks like. */ 28 | *** ../bash-5.0-patched/builtins/evalstring.c 2018-12-26 11:19:21.000000000 -0500 29 | --- builtins/evalstring.c 2019-01-29 14:15:19.000000000 -0500 30 | *************** 31 | *** 101,104 **** 32 | --- 101,113 ---- 33 | } 34 | 35 | + int 36 | + can_optimize_connection (command) 37 | + COMMAND *command; 38 | + { 39 | + return (*bash_input.location.string == '\0' && 40 | + (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') && 41 | + command->value.Connection->second->type == cm_simple); 42 | + } 43 | + 44 | void 45 | optimize_fork (command) 46 | *************** 47 | *** 106,110 **** 48 | { 49 | if (command->type == cm_connection && 50 | ! (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) && 51 | should_suppress_fork (command->value.Connection->second)) 52 | { 53 | --- 115,120 ---- 54 | { 55 | if (command->type == cm_connection && 56 | ! (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') && 57 | ! (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) && 58 | should_suppress_fork (command->value.Connection->second)) 59 | { 60 | *************** 61 | *** 413,418 **** 62 | command->value.Simple->flags |= CMD_NO_FORK; 63 | } 64 | ! else if (command->type == cm_connection) 65 | ! optimize_fork (command); 66 | #endif /* ONESHOT */ 67 | 68 | --- 423,438 ---- 69 | command->value.Simple->flags |= CMD_NO_FORK; 70 | } 71 | ! 72 | ! /* Can't optimize forks out here execept for simple commands. 73 | ! This knows that the parser sets up commands as left-side heavy 74 | ! (&& and || are left-associative) and after the single parse, 75 | ! if we are at the end of the command string, the last in a 76 | ! series of connection commands is 77 | ! command->value.Connection->second. */ 78 | ! else if (command->type == cm_connection && can_optimize_connection (command)) 79 | ! { 80 | ! command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING; 81 | ! command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING; 82 | ! } 83 | #endif /* ONESHOT */ 84 | 85 | *** ../bash-5.0-patched/execute_cmd.c 2018-12-05 09:05:14.000000000 -0500 86 | --- execute_cmd.c 2019-01-25 15:59:00.000000000 -0500 87 | *************** 88 | *** 2768,2771 **** 89 | --- 2768,2773 ---- 90 | (exec_result != EXECUTION_SUCCESS))) 91 | { 92 | + optimize_fork (command); 93 | + 94 | second = command->value.Connection->second; 95 | if (ignore_return && second) 96 | *** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 97 | --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 98 | *************** 99 | *** 26,30 **** 100 | looks for to find the patch level (for the sccs version string). */ 101 | 102 | ! #define PATCHLEVEL 4 103 | 104 | #endif /* _PATCHLEVEL_H_ */ 105 | --- 26,30 ---- 106 | looks for to find the patch level (for the sccs version string). */ 107 | 108 | ! #define PATCHLEVEL 5 109 | 110 | #endif /* _PATCHLEVEL_H_ */ 111 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/patches/bash50-006: -------------------------------------------------------------------------------- 1 | BASH PATCH REPORT 2 | ================= 3 | 4 | Bash-Release: 5.0 5 | Patch-ID: bash50-006 6 | 7 | Bug-Reported-by: Tomas Mozes 8 | Bug-Reference-ID: 9 | Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html 10 | 11 | Bug-Description: 12 | 13 | Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without 14 | also defining SYSLOG_SHOPT. 15 | 16 | Patch (apply with `patch -p0'): 17 | 18 | *** ../bash-5.0-patched/builtins/shopt.def 2018-10-05 14:49:02.000000000 -0400 19 | --- builtins/shopt.def 2019-01-23 09:55:22.000000000 -0500 20 | *************** 21 | *** 123,127 **** 22 | #endif 23 | 24 | ! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT) 25 | extern int syslog_history; 26 | #endif 27 | --- 123,127 ---- 28 | #endif 29 | 30 | ! #if defined (SYSLOG_HISTORY) 31 | extern int syslog_history; 32 | #endif 33 | *** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 34 | --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 35 | *************** 36 | *** 26,30 **** 37 | looks for to find the patch level (for the sccs version string). */ 38 | 39 | ! #define PATCHLEVEL 5 40 | 41 | #endif /* _PATCHLEVEL_H_ */ 42 | --- 26,30 ---- 43 | looks for to find the patch level (for the sccs version string). */ 44 | 45 | ! #define PATCHLEVEL 6 46 | 47 | #endif /* _PATCHLEVEL_H_ */ 48 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/patches/bash50-007: -------------------------------------------------------------------------------- 1 | BASH PATCH REPORT 2 | ================= 3 | 4 | Bash-Release: 5.0 5 | Patch-ID: bash50-007 6 | 7 | Bug-Reported-by: Grisha Levit 8 | Bug-Reference-ID: 9 | Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html 10 | 11 | Bug-Description: 12 | 13 | Running `exec' when job control was disabled, even temporarily, but after it 14 | had been initialized, could leave the terminal in the wrong process group for 15 | the executed process. 16 | 17 | Patch (apply with `patch -p0'): 18 | 19 | *** ../bash-5.0-patched/jobs.c 2018-12-06 11:44:34.000000000 -0500 20 | --- jobs.c 2019-04-12 15:15:10.000000000 -0400 21 | *************** 22 | *** 4838,4850 **** 23 | { 24 | if (job_control) 25 | ! { 26 | ! terminate_stopped_jobs (); 27 | 28 | ! if (original_pgrp >= 0) 29 | ! give_terminal_to (original_pgrp, 1); 30 | ! } 31 | 32 | ! if (original_pgrp >= 0) 33 | ! setpgid (0, original_pgrp); 34 | } 35 | 36 | --- 4838,4848 ---- 37 | { 38 | if (job_control) 39 | ! terminate_stopped_jobs (); 40 | 41 | ! if (original_pgrp >= 0 && terminal_pgrp != original_pgrp) 42 | ! give_terminal_to (original_pgrp, 1); 43 | 44 | ! if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0) 45 | ! shell_pgrp = original_pgrp; 46 | } 47 | 48 | *** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 49 | --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 50 | *************** 51 | *** 26,30 **** 52 | looks for to find the patch level (for the sccs version string). */ 53 | 54 | ! #define PATCHLEVEL 6 55 | 56 | #endif /* _PATCHLEVEL_H_ */ 57 | --- 26,30 ---- 58 | looks for to find the patch level (for the sccs version string). */ 59 | 60 | ! #define PATCHLEVEL 7 61 | 62 | #endif /* _PATCHLEVEL_H_ */ 63 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/patches/bash50-008: -------------------------------------------------------------------------------- 1 | BASH PATCH REPORT 2 | ================= 3 | 4 | Bash-Release: 5.0 5 | Patch-ID: bash50-008 6 | 7 | Bug-Reported-by: Michael Albinus 8 | Bug-Reference-ID: <87bm36k3kz.fsf@gmx.de> 9 | Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html 10 | 11 | Bug-Description: 12 | 13 | When HISTSIZE is set to 0, history expansion can leave the history length 14 | set to an incorrect value, leading to subsequent attempts to access invalid 15 | memory. 16 | 17 | Patch (apply with `patch -p0'): 18 | 19 | *** ../bash-5.0-patched/bashhist.c 2018-07-05 22:41:14.000000000 -0400 20 | --- bashhist.c 2019-02-20 16:20:04.000000000 -0500 21 | *************** 22 | *** 561,573 **** 23 | if (!history_expansion_inhibited && history_expansion && history_expansion_p (line)) 24 | { 25 | /* If we are expanding the second or later line of a multi-line 26 | command, decrease history_length so references to history expansions 27 | in these lines refer to the previous history entry and not the 28 | current command. */ 29 | if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) 30 | history_length--; 31 | expanded = history_expand (line, &history_value); 32 | if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) 33 | ! history_length++; 34 | 35 | if (expanded) 36 | --- 561,576 ---- 37 | if (!history_expansion_inhibited && history_expansion && history_expansion_p (line)) 38 | { 39 | + int old_len; 40 | + 41 | /* If we are expanding the second or later line of a multi-line 42 | command, decrease history_length so references to history expansions 43 | in these lines refer to the previous history entry and not the 44 | current command. */ 45 | + old_len = history_length; 46 | if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) 47 | history_length--; 48 | expanded = history_expand (line, &history_value); 49 | if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) 50 | ! history_length = old_len; 51 | 52 | if (expanded) 53 | 54 | *** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 55 | --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 56 | *************** 57 | *** 26,30 **** 58 | looks for to find the patch level (for the sccs version string). */ 59 | 60 | ! #define PATCHLEVEL 7 61 | 62 | #endif /* _PATCHLEVEL_H_ */ 63 | --- 26,30 ---- 64 | looks for to find the patch level (for the sccs version string). */ 65 | 66 | ! #define PATCHLEVEL 8 67 | 68 | #endif /* _PATCHLEVEL_H_ */ 69 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/patches/bash50-009: -------------------------------------------------------------------------------- 1 | BASH PATCH REPORT 2 | ================= 3 | 4 | Bash-Release: 5.0 5 | Patch-ID: bash50-009 6 | 7 | Bug-Reported-by: chet.ramey@case.edu 8 | Bug-Reference-ID: 9 | Bug-Reference-URL: 10 | 11 | Bug-Description: 12 | 13 | The history file reading code doesn't close the file descriptor open to 14 | the history file when it encounters a zero-length file. 15 | 16 | Patch (apply with `patch -p0'): 17 | 18 | *** ../bash-5.0-patched/lib/readline/histfile.c 2018-06-11 09:14:52.000000000 -0400 19 | --- lib/readline/histfile.c 2019-05-16 15:55:57.000000000 -0400 20 | *************** 21 | *** 306,309 **** 22 | --- 312,316 ---- 23 | { 24 | free (input); 25 | + close (file); 26 | return 0; /* don't waste time if we don't have to */ 27 | } 28 | *** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 29 | --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 30 | *************** 31 | *** 26,30 **** 32 | looks for to find the patch level (for the sccs version string). */ 33 | 34 | ! #define PATCHLEVEL 8 35 | 36 | #endif /* _PATCHLEVEL_H_ */ 37 | --- 26,30 ---- 38 | looks for to find the patch level (for the sccs version string). */ 39 | 40 | ! #define PATCHLEVEL 9 41 | 42 | #endif /* _PATCHLEVEL_H_ */ 43 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/patches/bash50-010: -------------------------------------------------------------------------------- 1 | BASH PATCH REPORT 2 | ================= 3 | 4 | Bash-Release: 5.0 5 | Patch-ID: bash50-010 6 | 7 | Bug-Reported-by: Thorsten Glaser 8 | Bug-Reference-ID: <156622962831.19438.16374961114836556294.reportbug@tglase.lan.tarent.de> 9 | Bug-Reference-URL: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115 10 | 11 | Bug-Description: 12 | 13 | Bash-5.0 changed the way assignment statements preceding special builtins 14 | and shell functions were handled in posix mode. They automatically created 15 | or modified global variables instead of modifying existing local variables 16 | as in bash-4.4. 17 | 18 | The bash-4.4 posix-mode semantics were buggy, and resulted in creating 19 | local variables where they were not intended and modifying global variables 20 | and local variables simultaneously. 21 | 22 | The bash-5.0 changes were intended to fix this issue, but did not preserve 23 | enough backwards compatibility. The posix standard also changed what it 24 | required in these cases, so bash-5.0 is not bound by the strict conformance 25 | requirements that existed in previous issues of the standard. 26 | 27 | This patch modifies the bash-5.0 posix mode behavior in an effort to restore 28 | some backwards compatibility and rationalize the behavior in the presence of 29 | local variables. It 30 | 31 | 1. Changes the assignment semantics to be more similar to standalone assignment 32 | statements: assignments preceding a function call or special builtin while 33 | executing in a shell function will modify the value of a local variable 34 | with the same name for the duration of the function's execution; 35 | 36 | 2. Changes assignments preceding shell function calls or special builtins 37 | from within a shell function to no longer create or modify global variables 38 | in the presence of a local variable with the same name; 39 | 40 | 3. Assignment statements preceding a shell function call or special builtin 41 | at the global scope continue to modify the (global) calling environment, 42 | but are unaffected by assignments preceding function calls or special 43 | builtins within a function, as described in item 2. This is also similar 44 | to the behavior of a standalone assignment statement. 45 | 46 | Patch (apply with `patch -p0'): 47 | 48 | *** ../bash-5.0-patched/variables.c 2018-12-18 11:07:21.000000000 -0500 49 | --- variables.c 2019-08-22 10:53:44.000000000 -0400 50 | *************** 51 | *** 4461,4467 **** 52 | 53 | /* Take a variable from an assignment statement preceding a posix special 54 | ! builtin (including `return') and create a global variable from it. This 55 | ! is called from merge_temporary_env, which is only called when in posix 56 | ! mode. */ 57 | static void 58 | push_posix_temp_var (data) 59 | --- 4461,4467 ---- 60 | 61 | /* Take a variable from an assignment statement preceding a posix special 62 | ! builtin (including `return') and create a variable from it as if a 63 | ! standalone assignment statement had been performed. This is called from 64 | ! merge_temporary_env, which is only called when in posix mode. */ 65 | static void 66 | push_posix_temp_var (data) 67 | *************** 68 | *** 4473,4486 **** 69 | var = (SHELL_VAR *)data; 70 | 71 | ! binding_table = global_variables->table; 72 | ! if (binding_table == 0) 73 | ! binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS); 74 | ! 75 | ! v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP); 76 | 77 | /* global variables are no longer temporary and don't need propagating. */ 78 | ! var->attributes &= ~(att_tempvar|att_propagate); 79 | if (v) 80 | ! v->attributes |= var->attributes; 81 | 82 | if (find_special_var (var->name) >= 0) 83 | --- 4473,4497 ---- 84 | var = (SHELL_VAR *)data; 85 | 86 | ! /* Just like do_assignment_internal(). This makes assignments preceding 87 | ! special builtins act like standalone assignment statements when in 88 | ! posix mode, satisfying the posix requirement that this affect the 89 | ! "current execution environment." */ 90 | ! v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP); 91 | ! 92 | ! /* If this modifies an existing local variable, v->context will be non-zero. 93 | ! If it comes back with v->context == 0, we bound at the global context. 94 | ! Set binding_table appropriately. It doesn't matter whether it's correct 95 | ! if the variable is local, only that it's not global_variables->table */ 96 | ! binding_table = v->context ? shell_variables->table : global_variables->table; 97 | 98 | /* global variables are no longer temporary and don't need propagating. */ 99 | ! if (binding_table == global_variables->table) 100 | ! var->attributes &= ~(att_tempvar|att_propagate); 101 | ! 102 | if (v) 103 | ! { 104 | ! v->attributes |= var->attributes; 105 | ! v->attributes &= ~att_tempvar; /* not a temp var now */ 106 | ! } 107 | 108 | if (find_special_var (var->name) >= 0) 109 | *************** 110 | *** 4576,4587 **** 111 | { 112 | int i; 113 | 114 | tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1); 115 | tempvar_list[tvlist_ind = 0] = 0; 116 | ! 117 | ! hash_flush (temporary_env, pushf); 118 | ! hash_dispose (temporary_env); 119 | temporary_env = (HASH_TABLE *)NULL; 120 | 121 | tempvar_list[tvlist_ind] = 0; 122 | 123 | --- 4587,4601 ---- 124 | { 125 | int i; 126 | + HASH_TABLE *disposer; 127 | 128 | tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1); 129 | tempvar_list[tvlist_ind = 0] = 0; 130 | ! 131 | ! disposer = temporary_env; 132 | temporary_env = (HASH_TABLE *)NULL; 133 | 134 | + hash_flush (disposer, pushf); 135 | + hash_dispose (disposer); 136 | + 137 | tempvar_list[tvlist_ind] = 0; 138 | 139 | *** ../bash-5.0-patched/tests/varenv.right 2018-12-17 15:39:48.000000000 -0500 140 | --- tests/varenv.right 2019-08-22 16:05:25.000000000 -0400 141 | *************** 142 | *** 147,153 **** 143 | outside: declare -- var="one" 144 | inside: declare -x var="value" 145 | ! outside: declare -x var="value" 146 | ! inside: declare -- var="local" 147 | ! outside: declare -x var="global" 148 | foo= environment foo= 149 | foo=foo environment foo=foo 150 | --- 147,153 ---- 151 | outside: declare -- var="one" 152 | inside: declare -x var="value" 153 | ! outside: declare -- var="outside" 154 | ! inside: declare -x var="global" 155 | ! outside: declare -- var="outside" 156 | foo= environment foo= 157 | foo=foo environment foo=foo 158 | *** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 159 | --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 160 | *************** 161 | *** 26,30 **** 162 | looks for to find the patch level (for the sccs version string). */ 163 | 164 | ! #define PATCHLEVEL 9 165 | 166 | #endif /* _PATCHLEVEL_H_ */ 167 | --- 26,30 ---- 168 | looks for to find the patch level (for the sccs version string). */ 169 | 170 | ! #define PATCHLEVEL 10 171 | 172 | #endif /* _PATCHLEVEL_H_ */ 173 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/patches/bash50-011: -------------------------------------------------------------------------------- 1 | BASH PATCH REPORT 2 | ================= 3 | 4 | Bash-Release: 5.0 5 | Patch-ID: bash50-011 6 | 7 | Bug-Reported-by: Matt Whitlock 8 | Bug-Reference-ID: 9 | Bug-Reference-URL: https://savannah.gnu.org/support/?109671 10 | 11 | Bug-Description: 12 | 13 | The conditional command did not perform appropriate quoted null character 14 | removal on its arguments, causing syntax errors and attempts to stat 15 | invalid pathnames. 16 | 17 | Patch (apply with `patch -p0'): 18 | 19 | *** ../bash-5.0-patched/subst.c 2018-12-22 17:43:37.000000000 -0500 20 | --- subst.c 2019-04-14 13:25:41.000000000 -0400 21 | *************** 22 | *** 3626,3630 **** 23 | SPECIAL is 2, this is an rhs argument for the =~ operator, and should 24 | be quoted appropriately for regcomp/regexec. The caller is responsible 25 | ! for removing the backslashes if the unquoted word is needed later. */ 26 | char * 27 | cond_expand_word (w, special) 28 | --- 3642,3648 ---- 29 | SPECIAL is 2, this is an rhs argument for the =~ operator, and should 30 | be quoted appropriately for regcomp/regexec. The caller is responsible 31 | ! for removing the backslashes if the unquoted word is needed later. In 32 | ! any case, since we don't perform word splitting, we need to do quoted 33 | ! null character removal. */ 34 | char * 35 | cond_expand_word (w, special) 36 | *************** 37 | *** 3647,3650 **** 38 | --- 3665,3670 ---- 39 | if (special == 0) /* LHS */ 40 | { 41 | + if (l->word) 42 | + word_list_remove_quoted_nulls (l); 43 | dequote_list (l); 44 | r = string_list (l); 45 | *** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 46 | --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 47 | *************** 48 | *** 26,30 **** 49 | looks for to find the patch level (for the sccs version string). */ 50 | 51 | ! #define PATCHLEVEL 10 52 | 53 | #endif /* _PATCHLEVEL_H_ */ 54 | --- 26,30 ---- 55 | looks for to find the patch level (for the sccs version string). */ 56 | 57 | ! #define PATCHLEVEL 11 58 | 59 | #endif /* _PATCHLEVEL_H_ */ 60 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/post-rpm: -------------------------------------------------------------------------------- 1 | rm "$PKGDIR"/bin/sh 2 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/pre-rpm: -------------------------------------------------------------------------------- 1 | ln -sfv bash "$PKGDIR"/bin/sh 2 | -------------------------------------------------------------------------------- /core-shells/bash/autobuild/prepare: -------------------------------------------------------------------------------- 1 | cat > config.cache << EOF 2 | ac_cv_func_mmap_fixed_mapped=yes 3 | ac_cv_func_strcoll_works=yes 4 | ac_cv_func_working_mktime=yes 5 | bash_cv_func_sigsetjmp=present 6 | bash_cv_getcwd_malloc=yes 7 | bash_cv_job_control_missing=present 8 | bash_cv_printf_a_format=yes 9 | bash_cv_sys_named_pipes=present 10 | bash_cv_ulimit_maxfds=yes 11 | bash_cv_under_sys_siglist=yes 12 | bash_cv_unusable_rtsigs=no 13 | gt_cv_int_divbyzero_sigfpe=yes 14 | bash_cv_wcwidth_broken=no 15 | EOF 16 | -------------------------------------------------------------------------------- /core-shells/bash/spec: -------------------------------------------------------------------------------- 1 | VER=5.0.11 2 | REL=1 3 | SRCTBL="https://ftp.gnu.org/gnu/bash/bash-${VER%.*}.tar.gz" 4 | CHKSUM="sha256::b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d" 5 | -------------------------------------------------------------------------------- /groups/build-core: -------------------------------------------------------------------------------- 1 | core-devel/linux+api 2 | core-libs/glibc 3 | core-libs/ncurses 4 | core-libs/readline 5 | core-libs/zlib 6 | core-devel/binutils 7 | core-libs/gmp 8 | core-libs/mpfr 9 | core-libs/mpc 10 | core-libs/isl 11 | core-devel/gcc 12 | core-devel/binutils 13 | core-shells/bash 14 | core-database/gdbm 15 | core-database/db 16 | core-perl/perl 17 | core-devel/make 18 | core-misc/aosc-aaa 19 | -------------------------------------------------------------------------------- /repo-spec/external-packages: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AOSC-Archive/aosc-os-core/3a38e1d07a68541a2e851c42be47d03a7f1d2fbb/repo-spec/external-packages --------------------------------------------------------------------------------