├── .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 | 
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 |
--------------------------------------------------------------------------------
/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 "