Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 1 | # This PKGBUILD requires root at the package stage. Building works as user, afterwards |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 2 | # to fetch source use fetch-src <release-version> to do a shallow clone from Git. |
Adam Jimerson | 9105318 | 2017-01-11 20:22:27 -0500 | [diff] [blame] | 3 | # use makepkg -sdd as root to build |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 4 | # |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 5 | pkgname=('freebsd-world' 'freebsd-kernel' 'freebsd-source' 'freebsd-init' 'freebsd-boot') |
Amzo | 6467509 | 2015-08-27 21:20:13 +0100 | [diff] [blame] | 6 | if [[ "$CARCH" == "amd64" ]]; then |
Wolfgang Bumiller | 3d24054 | 2014-05-10 11:13:40 +0200 | [diff] [blame] | 7 | pkgname=(${pkgname[@]} 'freebsd-lib32') |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 8 | fi |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 9 | |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 10 | _freebsdver=11.1-RELEASE |
Adam Jimerson | b52fcbf | 2017-01-09 19:44:26 -0500 | [diff] [blame] | 11 | _libarchivever=3.2.2 |
Wolfgang Bumiller | 698cc77 | 2014-05-10 10:51:51 +0200 | [diff] [blame] | 12 | |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 13 | pkgver=11.1 |
Adam Jimerson | a4cfce6 | 2018-03-14 17:25:49 -0400 | [diff] [blame^] | 14 | pkgrel=5 |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 15 | arch=('amd64') |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 16 | url="https://www.freebsd.org" |
| 17 | license=('BSD') |
Amzo | a6fadbe | 2014-09-29 16:49:25 +0000 | [diff] [blame] | 18 | options=('!strip' 'emptydirs' '!fbsd10fix' 'staticlibs') |
Amzo | b1a708b | 2015-11-08 21:31:28 +0000 | [diff] [blame] | 19 | makedepends=('git') |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 20 | #patchdir="${srcdir}/usr/src" |
| 21 | patchdir="${srcdir}/freebsd" |
Adam Jimerson | b52fcbf | 2017-01-09 19:44:26 -0500 | [diff] [blame] | 22 | ## The commit should currently come from the stable/11 branch |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 23 | source=("src.txz" |
Adam Jimerson | b52fcbf | 2017-01-09 19:44:26 -0500 | [diff] [blame] | 24 | 'PACBSD_i386' |
| 25 | 'PACBSD_amd64' |
Wolfgang Bumiller | 5cfc2b1 | 2014-05-11 16:23:11 +0200 | [diff] [blame] | 26 | 'libcrypto.pc.in' |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 27 | 'libarchive.pc' |
Wolfgang Bumiller | 5cfc2b1 | 2014-05-11 16:23:11 +0200 | [diff] [blame] | 28 | 'openssl.pc.in' |
Adam Jimerson | b52fcbf | 2017-01-09 19:44:26 -0500 | [diff] [blame] | 29 | 'tmpfiles.in') |
Adam Jimerson | a4cfce6 | 2018-03-14 17:25:49 -0400 | [diff] [blame^] | 30 | sha256sums=('fed0bb60c6e8c2d1753ae87e3c4ae39db566ca9fc0d9034b0f37142fcb4b184d' |
Adam Jimerson | b52fcbf | 2017-01-09 19:44:26 -0500 | [diff] [blame] | 31 | 'd55fc2516152088683b997b3817c027f704f51ffe63669b45706cc1bb1a78a5f' |
| 32 | 'ffb934cb84118fedc2412a101b8d6120e478d8ae0bddc259394e9e166c3a8d97' |
| 33 | '588ca995bf3993cb204ae5120000dca959b95ed01241e04add374e0bf9ea95b3' |
| 34 | 'd7330acf6cde09bfd54cf6590d4e989c5a2abb49e0d3209f2f242af8012384b5' |
| 35 | '4a64e9d0e5222c1550324ddbdda3b51747e8f9b1487b148598c795e5d6b764f5' |
| 36 | '13db30e5683f1f18cef82c737ea84c47fb163f4ea8efb554d75be99bc0c6e1c7') |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 37 | |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 38 | prepare() { |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 39 | cd "${srcdir}/freebsd" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 40 | |
Amzo | 6837b4a | 2013-11-21 02:18:05 +0000 | [diff] [blame] | 41 | #Remove the horrible dir string in uname |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 42 | sed -i '' -e 's/:\${d}//g' "${srcdir}/freebsd/sys/conf/newvers.sh" |
Amzo | 908e795 | 2014-03-10 04:12:04 +0000 | [diff] [blame] | 43 | |
| 44 | #Remove debug options from generic |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 45 | sed -i '' -e '/DEBUG=/d' "${srcdir}/freebsd/sys/amd64/conf/GENERIC" |
Wolfgang Bumiller | 5cfc2b1 | 2014-05-11 16:23:11 +0200 | [diff] [blame] | 46 | |
| 47 | cd "${srcdir}" |
| 48 | msg "Fetching version info for .pc files" |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 49 | local openssl_version=$(grep -m1 '^VERSION=' freebsd/crypto/openssl/Makefile \ |
Wolfgang Bumiller | 5cfc2b1 | 2014-05-11 16:23:11 +0200 | [diff] [blame] | 50 | | sed -e 's/^VERSION=[[:space:]]*//') |
| 51 | msg "openssl: ${openssl_version}" |
| 52 | sed -e "s|%%VERSION%%|${openssl_version}|g" openssl.pc.in > openssl.pc |
| 53 | |
| 54 | # libcrypto and openssl share their version |
| 55 | msg "libcrypto: ${openssl_version}" |
| 56 | sed -e "s|%%VERSION%%|${openssl_version}|g" libcrypto.pc.in > libcrypto.pc |
| 57 | |
| 58 | # libarchive only has it in a #define, I wonder if it'll stay that way |
| 59 | # in the sources |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 60 | } |
| 61 | |
| 62 | flags_for_all() { |
| 63 | cd "$srcdir" |
| 64 | |
| 65 | export MAKEOBJDIRPREFIX="$srcdir/obj" |
| 66 | unset LDFLAGS CXXFLAGS CPPFLAGS CFLAGS M4 LD RANLIB ld |
Amzo | 6467509 | 2015-08-27 21:20:13 +0100 | [diff] [blame] | 67 | if [[ "$CARCH" == "amd64" ]]; then |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 68 | export TARGET=amd64 |
Adam Jimerson | b52fcbf | 2017-01-09 19:44:26 -0500 | [diff] [blame] | 69 | export KERNCONF=PACBSD_amd64 |
Amzo | b1a708b | 2015-11-08 21:31:28 +0000 | [diff] [blame] | 70 | export CFLAGS="-march=x86-64 -mtune=generic -O2" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 71 | else |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 72 | export TARGET=i386 |
Adam Jimerson | b52fcbf | 2017-01-09 19:44:26 -0500 | [diff] [blame] | 73 | export KERNCONF=PACBSD_i386 |
Amzo | b1a708b | 2015-11-08 21:31:28 +0000 | [diff] [blame] | 74 | export CFLAGS="-march=i686 -mtune=generic -O2" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 75 | fi |
| 76 | |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 77 | # building the default parameters here: |
| 78 | bsdmakeflags=( |
| 79 | KERNCONF="${KERNCONF}" |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 80 | NO_FSCHG=1 |
| 81 | ) |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 82 | } |
| 83 | |
| 84 | _build() { |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 85 | |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 86 | cd "${srcdir}/freebsd" |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 87 | msg "Linking kernel config" |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 88 | ln -sf "${srcdir}/$KERNCONF" "${srcdir}/freebsd/sys/${TARGET}/conf/$KERNCONF" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 89 | |
Wolfgang Bumiller | f113bdf | 2014-05-10 11:17:30 +0200 | [diff] [blame] | 90 | msg "Building Kernel toolchain" |
| 91 | make WERROR= NO_WERROR= "${bsdmakeflags[@]}" kernel-toolchain || (echo kernel-toolchain failed... && return 1) |
| 92 | |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 93 | msg "Building Kernel" |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 94 | make WERROR= NO_WERROR= "${bsdmakeflags[@]}" buildkernel || (echo buildkernel failed... && return 1) |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 95 | |
| 96 | msg "Building world" |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 97 | make WERROR= NO_WERROR= "${bsdmakeflags[@]}" buildworld || (echo buildworld failed... && return 1) |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 98 | |
| 99 | } |
| 100 | |
| 101 | _package_freebsd-kernel() { |
Wolfgang Bumiller | 2cfc683 | 2014-04-20 09:32:23 +0200 | [diff] [blame] | 102 | pkgdesc="FreeBSD kernel package ${_git_desc}" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 103 | groups=('base') |
| 104 | options=('!strip') |
| 105 | |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 106 | cd "${srcdir}/freebsd" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 107 | |
Adam Jimerson | a4cfce6 | 2018-03-14 17:25:49 -0400 | [diff] [blame^] | 108 | make -j4 "${bsdmakeflags[@]}" DESTDIR="${pkgdir}" installkernel || (echo installkernel failed... && return 1) |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 109 | } |
| 110 | |
| 111 | _package_freebsd-world() { |
Wolfgang Bumiller | 2cfc683 | 2014-04-20 09:32:23 +0200 | [diff] [blame] | 112 | pkgdesc="FreeBSD base package ${_git_desc}" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 113 | groups=('base') |
Amzo | 53e9da4 | 2016-01-06 12:29:44 +0000 | [diff] [blame] | 114 | depends=('init' 'freebsd-kernel') |
Amzo | cc2cb1a | 2016-01-05 20:27:40 +0000 | [diff] [blame] | 115 | conflicts=(libexecinfo libarchive) |
Amzo | d092c72 | 2016-03-24 15:40:28 +0000 | [diff] [blame] | 116 | provides=(libc=${_freebsdver} zlib=${_freebsdver} libexecinfo libarchive=${_libarchivever} sh) |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 117 | |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 118 | cd "${srcdir}/freebsd" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 119 | |
| 120 | msg "Running make installworld distribution..." |
Adam Jimerson | a4cfce6 | 2018-03-14 17:25:49 -0400 | [diff] [blame^] | 121 | make -j4 "${bsdmakeflags[@]}" DESTDIR="$pkgdir" -DWITHOUT_LIB32 installworld distribution |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 122 | |
| 123 | msg "Installed. Cleaning up and configuring..." |
| 124 | |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 125 | #remove rc tools for openrc |
Wolfgang Bumiller | 698cc77 | 2014-05-10 10:51:51 +0200 | [diff] [blame] | 126 | rm -r ${pkgdir}/etc/rc.d* |
Wolfgang Bumiller | bf22e2a | 2014-05-10 13:13:40 +0200 | [diff] [blame] | 127 | |
| 128 | rm ${pkgdir}/etc/{rc,rc.shutdown} \ |
| 129 | ${pkgdir}/usr/share/man/man8/rc.8.gz |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 130 | |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 131 | #remove rc.conf in defaults provided by FreeBSD-Configs |
Wolfgang Bumiller | bf22e2a | 2014-05-10 13:13:40 +0200 | [diff] [blame] | 132 | rm "${pkgdir}"/etc/defaults/rc.conf \ |
| 133 | "${pkgdir}"/etc/rc.subr |
Amzo | 2e1bf3e | 2014-05-08 05:07:51 +0100 | [diff] [blame] | 134 | |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 135 | #Remove freebsd-update |
Wolfgang Bumiller | bf22e2a | 2014-05-10 13:13:40 +0200 | [diff] [blame] | 136 | rm "${pkgdir}"/usr/sbin/freebsd-update \ |
| 137 | "${pkgdir}"/usr/share/man/man1/cpp.1.gz |
| 138 | |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 139 | #Remove files now proveded by FreeBSD-boot |
| 140 | mv "${pkgdir}/boot" "${srcdir}/freebsd/" # a bit backwards but should work |
| 141 | |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 142 | #Remove files now provided by FreeBSD-config |
Wolfgang Bumiller | bf22e2a | 2014-05-10 13:13:40 +0200 | [diff] [blame] | 143 | rm "${pkgdir}"/etc/freebsd-update.conf \ |
| 144 | "${pkgdir}"/etc/netstart \ |
| 145 | "${pkgdir}"/etc/devd/asus.conf \ |
Wolfgang Bumiller | bf22e2a | 2014-05-10 13:13:40 +0200 | [diff] [blame] | 146 | "${pkgdir}"/etc/csh.cshrc \ |
| 147 | "${pkgdir}"/etc/devd.conf \ |
| 148 | "${pkgdir}"/etc/devfs.conf \ |
| 149 | "${pkgdir}"/etc/motd \ |
| 150 | "${pkgdir}"/etc/profile \ |
| 151 | "${pkgdir}"/etc/sysctl.conf \ |
| 152 | "${pkgdir}"/etc/devd/uath.conf \ |
| 153 | "${pkgdir}"/etc/devd/usb.conf |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 154 | |
Adam Jimerson | 1891ee0 | 2017-01-11 20:32:33 -0500 | [diff] [blame] | 155 | #FIXME: remove /rescue as this throws of libarchives size calculations. |
Amzo | d13f0ea | 2016-07-15 16:45:57 +0000 | [diff] [blame] | 156 | rm -rf "${pkgdir}/rescue" |
Adam Jimerson | b52fcbf | 2017-01-09 19:44:26 -0500 | [diff] [blame] | 157 | rm -rf "${pkgdir}/usr/tests" |
Amzo | d13f0ea | 2016-07-15 16:45:57 +0000 | [diff] [blame] | 158 | |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 159 | #set var/cache to 755 |
Wolfgang Bumiller | bd42f7b | 2014-05-10 13:27:37 +0200 | [diff] [blame] | 160 | chmod -Rv 755 "${pkgdir}"/var/cache |
| 161 | # FIXME: /var/db/entropy seems to have changed from 700 to 755 |
| 162 | # if keeping it 700 doesn't break anything, fix it up to 700 again! |
| 163 | chmod -Rv 700 "${pkgdir}"/var/db/entropy |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 164 | |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 165 | cd "$pkgdir" |
| 166 | |
Wolfgang Bumiller | bf22e2a | 2014-05-10 13:13:40 +0200 | [diff] [blame] | 167 | backup=('boot/device.hints') |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 168 | for f in `find -E etc -type f ! -regex ".*periodic.*|.*mtree.*|.*defaults.*|.*README|.*Makefile"` `find root var -type f`; do |
Wolfgang Bumiller | bf22e2a | 2014-05-10 13:13:40 +0200 | [diff] [blame] | 169 | backup+=("${f}") |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 170 | done |
| 171 | |
Amzo | 6467509 | 2015-08-27 21:20:13 +0100 | [diff] [blame] | 172 | if [[ "$CARCH" == "amd64" ]]; then |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 173 | msg "Fixing up 32/64 bit include files" |
| 174 | # Move machine headers to a 64/ directory and create wrappers |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 175 | mv "$pkgdir"/usr/include/machine "$srcdir"/machine64 |
Amzo | 54ddc91 | 2015-01-06 07:59:20 +0000 | [diff] [blame] | 176 | install -o root -g wheel -dm755 "$pkgdir"/usr/include/machine |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 177 | mv "$srcdir"/machine64 "$pkgdir"/usr/include/machine/64 |
| 178 | # Install 32 bit machine headers to /usr/include/machine/32 |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 179 | cp -R "$srcdir"/freebsd/sys/i386/include "$pkgdir"/usr/include/machine/32 |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 180 | cd "$pkgdir"/usr/include/machine |
Amzo | 54ddc91 | 2015-01-06 07:59:20 +0000 | [diff] [blame] | 181 | install -o root -g wheel -dm755 pc |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 182 | for i in 64/pc/*; do |
| 183 | b=${i#64/pc/} |
| 184 | cat > "pc/$b" <<EOF |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 185 | #if __x86_64 |
| 186 | # include <machine/64/pc/$b> |
| 187 | #else |
| 188 | # include <machine/32/pc/$b> |
| 189 | #endif |
| 190 | EOF |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 191 | done |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 192 | |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 193 | for i in 64/*; do |
| 194 | b=${i#64/} |
| 195 | if [ "$b" = "pc" ]; then continue; fi |
| 196 | if [ -e "32/$b" ]; then |
| 197 | cat > "$b" <<EOF |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 198 | #if __x86_64 |
| 199 | # include <machine/64/$b> |
| 200 | #else |
| 201 | # include <machine/32/$b> |
| 202 | #endif |
| 203 | EOF |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 204 | else |
| 205 | cat > "$b" <<EOF |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 206 | #if __x86_64 |
| 207 | # include <machine/64/$b> |
| 208 | #else |
| 209 | # error "No such 32-bit include: <machine/32/$b>" |
| 210 | #endif |
| 211 | EOF |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 212 | fi |
| 213 | done |
| 214 | for i in 32/*; do |
| 215 | if [ "$b" = "pc" ]; then continue; fi |
| 216 | b=${i#32/} |
| 217 | if [ ! -e "$b" ]; then |
| 218 | cat > "$b" <<EOF |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 219 | #if __x86_64 |
| 220 | # error "No such 64-bit include: <machine/64/$b>" |
| 221 | #else |
| 222 | # include <machine/32/$b> |
| 223 | #endif |
| 224 | EOF |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 225 | fi |
| 226 | done |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 227 | fi |
Amzo | e469388 | 2015-05-31 16:23:05 +0000 | [diff] [blame] | 228 | install -o root -g wheel -dm755 "${pkgdir}/usr/libdata/ldconfig" |
| 229 | echo "/lib" > "${pkgdir}/usr/libdata/ldconfig/lib" |
| 230 | echo "/usr/lib" >> "${pkgdir}/usr/libdata/ldconfig/lib" |
| 231 | echo "/usr/local/lib" >> "${pkgdir}/usr/libdata/ldconfig/lib" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 232 | |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 233 | #Install libcrypto pc file |
Amzo | e469388 | 2015-05-31 16:23:05 +0000 | [diff] [blame] | 234 | install -o root -g wheel -m655 "${srcdir}/libcrypto.pc" "${pkgdir}/usr/libdata/pkgconfig/" |
| 235 | install -o root -g wheel -m655 "${srcdir}/libarchive.pc" "${pkgdir}/usr/libdata/pkgconfig/" |
| 236 | install -o root -g wheel -m655 "${srcdir}/openssl.pc" "${pkgdir}/usr/libdata/pkgconfig/" |
| 237 | |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 238 | #Setup console log |
| 239 | msg "Setting up console.log" |
| 240 | touch console.log |
Amzo | 54ddc91 | 2015-01-06 07:59:20 +0000 | [diff] [blame] | 241 | install -o root -g wheel -m600 console.log ${pkgdir}/var/log/ |
Amzo | a6fadbe | 2014-09-29 16:49:25 +0000 | [diff] [blame] | 242 | mv ${pkgdir}/sbin/reboot ${pkgdir}/sbin/reboot_ |
Amzo | 774e674 | 2014-01-03 14:37:03 +0000 | [diff] [blame] | 243 | |
Amzo | a6fadbe | 2014-09-29 16:49:25 +0000 | [diff] [blame] | 244 | echo "#!/bin/sh" > ${pkgdir}/sbin/reboot |
| 245 | echo "shutdown -r now" >> ${pkgdir}/sbin/reboot |
| 246 | chmod +x ${pkgdir}/sbin/reboot |
| 247 | mv ${pkgdir}/usr/share/man/man8/reboot.8.gz ${pkgdir}/usr/share/man/man8/reboot_.8.gz |
Amzo | 774e674 | 2014-01-03 14:37:03 +0000 | [diff] [blame] | 248 | |
Amzo | efab49b | 2014-07-10 14:15:43 +0000 | [diff] [blame] | 249 | |
Amzo | 774e674 | 2014-01-03 14:37:03 +0000 | [diff] [blame] | 250 | #Prevent some log warnings |
Amzo | 54ddc91 | 2015-01-06 07:59:20 +0000 | [diff] [blame] | 251 | install -o root -g wheel -dm755 ${pkgdir}/var/at/jobs/ |
| 252 | install -o root -g wheel -dm755 ${pkgdir}/var/db/entropy |
Amzo | 19c79c9 | 2014-07-06 16:24:03 +0000 | [diff] [blame] | 253 | |
Amzo | fcc9eaf | 2016-03-26 00:29:42 +0000 | [diff] [blame] | 254 | rm -rf ${pkgdir}/usr/lib32 |
Amzo | de9425c | 2016-04-12 11:16:04 +0000 | [diff] [blame] | 255 | |
| 256 | # set default pager to less |
| 257 | sed -i '' -e 's|PAGER=more|PAGER=less|g' "${pkgdir}/root/.profile" "${pkgdir}/usr/share/skel/dot.profile" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 258 | } |
| 259 | |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 260 | _package_freebsd-boot() { |
| 261 | pkgdesc="FreeBSD boot files from" |
| 262 | groups=('base') |
| 263 | options=('!strip') |
| 264 | |
| 265 | cd "${srcdir}/freebsd" |
| 266 | |
| 267 | mkdir -p "${pkgdir}/boot" |
| 268 | cp -r "${srcdir}/freebsd/boot" "${pkgdir}/" |
| 269 | #Remove files now provided by FreeBSD-config |
| 270 | rm "${pkgdir}"/boot/beastie.4th \ |
| 271 | "${pkgdir}"/boot/brand.4th |
| 272 | } |
| 273 | |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 274 | _package_freebsd-source() { |
Wolfgang Bumiller | 2cfc683 | 2014-04-20 09:32:23 +0200 | [diff] [blame] | 275 | pkgdesc="FreeBSD source matching FreeBSD kernel ${_git_desc}" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 276 | options=('!strip') |
| 277 | arch=('any') |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 278 | cd "${srcdir}/freebsd" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 279 | mkdir -p "${pkgdir}/usr/src" |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 280 | cp -r "${srcdir}/freebsd"/* "${pkgdir}/usr/src/" |
Wolfgang Bumiller | bf22e2a | 2014-05-10 13:13:40 +0200 | [diff] [blame] | 281 | # The only place where -f is okay - the above doesn't usually include |
| 282 | # dot-files, but w/e... |
| 283 | rm -rf "${pkgdir}"/usr/src/.git |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 284 | } |
| 285 | |
Amzo | 6467509 | 2015-08-27 21:20:13 +0100 | [diff] [blame] | 286 | if [[ "$CARCH" == "amd64" ]]; then |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 287 | _package_freebsd-lib32() { |
Wolfgang Bumiller | 2cfc683 | 2014-04-20 09:32:23 +0200 | [diff] [blame] | 288 | pkgdesc="FreeBSD lib32 libraries ${_git_desc}" |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 289 | provides=("lib32-libc=${_freebsdver}") |
Amzo | a6fadbe | 2014-09-29 16:49:25 +0000 | [diff] [blame] | 290 | options=('!strip' 'staticlibs') |
Amzo | fa44e32 | 2015-07-14 19:37:50 +0100 | [diff] [blame] | 291 | arch=('amd64') |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 292 | install=lib32.install |
Amzo | 6467509 | 2015-08-27 21:20:13 +0100 | [diff] [blame] | 293 | conflicts=(lib32-libexecinfo lib32-libarchive) |
| 294 | provides=(lib32-libc=${_freebsdver} lib32-zlib=${_freebsdver} lib32-libexecinfo lib32-openssl lib32-libarchive=${_libarchivever}) |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 295 | |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 296 | cd "${srcdir}/freebsd" |
Amzo | e469388 | 2015-05-31 16:23:05 +0000 | [diff] [blame] | 297 | install -o root -g wheel -dm755 "${pkgdir}"/usr/{lib32,libexec,bin} |
Amzo | d13f0ea | 2016-07-15 16:45:57 +0000 | [diff] [blame] | 298 | install -o root -g wheel -dm755 "${pkgdir}"/usr/lib32/{i18n,private,dtrace} |
Amzo | e469388 | 2015-05-31 16:23:05 +0000 | [diff] [blame] | 299 | install -o root -g wheel -dm755 "${pkgdir}"/{lib,libexec}/ |
| 300 | install -o root -g wheel -dm755 "${pkgdir}"/usr/libdata/pkgconfig |
Adam Jimerson | a4cfce6 | 2018-03-14 17:25:49 -0400 | [diff] [blame^] | 301 | make -j4 "${bsdmakeflags[@]}" DESTDIR="$pkgdir" install32 |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 302 | |
Amzo | e469388 | 2015-05-31 16:23:05 +0000 | [diff] [blame] | 303 | rm -r "${pkgdir}/usr/libdata/pkgconfig" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 304 | } |
| 305 | fi |
| 306 | |
| 307 | _package_freebsd-init() { |
Wolfgang Bumiller | 2cfc683 | 2014-04-20 09:32:23 +0200 | [diff] [blame] | 308 | pkgdesc="FreeBSD init scripts ${_git_desc}" |
Amzo | acf9a81 | 2015-06-29 13:58:11 +0000 | [diff] [blame] | 309 | depends=('tmpfiles') |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 310 | provides=('init') |
| 311 | conflicts=('openrc') |
| 312 | options=('!strip') |
Amzo | fa44e32 | 2015-07-14 19:37:50 +0100 | [diff] [blame] | 313 | arch=('amd64') |
Wolfgang Bumiller | 132f004 | 2014-04-20 09:37:47 +0200 | [diff] [blame] | 314 | backup=("etc/rc.conf") |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 315 | |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 316 | cd "${srcdir}/freebsd" |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 317 | #remove rc tools for openrc |
Amzo | 54ddc91 | 2015-01-06 07:59:20 +0000 | [diff] [blame] | 318 | install -o root -g wheel -dm755 ${pkgdir}/etc/ |
Adam Jimerson | 53bb08b | 2018-01-22 06:52:35 -0500 | [diff] [blame] | 319 | cp -R "${srcdir}/freebsd/etc"/rc* ${pkgdir}/etc/ |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 320 | |
Amzo | acf9a81 | 2015-06-29 13:58:11 +0000 | [diff] [blame] | 321 | install -m755 ${srcdir}/tmpfiles.in ${pkgdir}/etc/rc.d/tmpfiles |
| 322 | |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 323 | #Files kept in world as needed by openrc also |
Wolfgang Bumiller | 698cc77 | 2014-05-10 10:51:51 +0200 | [diff] [blame] | 324 | rm "${pkgdir}"/etc/rc.{bsdextended,firewall,initdiskless,resume,sendmail,suspend} |
Amzo | b4a8e2d | 2014-03-09 13:52:29 +0000 | [diff] [blame] | 325 | |
Amzo | a7d40df | 2014-05-01 22:55:20 +0100 | [diff] [blame] | 326 | } |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 327 | |
| 328 | build() { |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 329 | flags_for_all |
| 330 | _build |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 331 | } |
| 332 | for _p in ${pkgname[@]}; do |
Wolfgang Bumiller | e9d1cfd | 2013-11-16 11:34:08 +0100 | [diff] [blame] | 333 | eval "package_${_p}() { |
| 334 | flags_for_all |
| 335 | _package_${_p} |
| 336 | }" |
Wolfgang Bumiller | 1fca494 | 2013-10-21 11:32:14 +0200 | [diff] [blame] | 337 | done |