head 1.323; access; symbols pkgsrc-2023Q4:1.320.0.4 pkgsrc-2023Q4-base:1.320 pkgsrc-2023Q3:1.320.0.2 pkgsrc-2023Q3-base:1.320 pkgsrc-2023Q2:1.318.0.6 pkgsrc-2023Q2-base:1.318 pkgsrc-2023Q1:1.318.0.4 pkgsrc-2023Q1-base:1.318 pkgsrc-2022Q4:1.318.0.2 pkgsrc-2022Q4-base:1.318 pkgsrc-2022Q3:1.315.0.2 pkgsrc-2022Q3-base:1.315 pkgsrc-2022Q2:1.312.0.2 pkgsrc-2022Q2-base:1.312 pkgsrc-2022Q1:1.307.0.2 pkgsrc-2022Q1-base:1.307 pkgsrc-2021Q4:1.306.0.2 pkgsrc-2021Q4-base:1.306 pkgsrc-2021Q3:1.302.0.2 pkgsrc-2021Q3-base:1.302 pkgsrc-2021Q2:1.300.0.2 pkgsrc-2021Q2-base:1.300 pkgsrc-2021Q1:1.298.0.2 pkgsrc-2021Q1-base:1.298 pkgsrc-2020Q4:1.296.0.2 pkgsrc-2020Q4-base:1.296 pkgsrc-2020Q3:1.293.0.2 pkgsrc-2020Q3-base:1.293 pkgsrc-2020Q2:1.281.0.2 pkgsrc-2020Q2-base:1.281 pkgsrc-2020Q1:1.277.0.2 pkgsrc-2020Q1-base:1.277 pkgsrc-2019Q4:1.273.0.4 pkgsrc-2019Q4-base:1.273 pkgsrc-2019Q3:1.271.0.2 pkgsrc-2019Q3-base:1.271 pkgsrc-2019Q2:1.266.0.2 pkgsrc-2019Q2-base:1.266 pkgsrc-2019Q1:1.261.0.2 pkgsrc-2019Q1-base:1.261 pkgsrc-2018Q4:1.260.0.2 pkgsrc-2018Q4-base:1.260 pkgsrc-2018Q3:1.250.0.2 pkgsrc-2018Q3-base:1.250 pkgsrc-2018Q2:1.248.0.4 pkgsrc-2018Q2-base:1.248 pkgsrc-2018Q1:1.248.0.2 pkgsrc-2018Q1-base:1.248 pkgsrc-2017Q4:1.245.0.2 pkgsrc-2017Q4-base:1.245 pkgsrc-2017Q3:1.243.0.4 pkgsrc-2017Q3-base:1.243 pkgsrc-2017Q2:1.242.0.2 pkgsrc-2017Q2-base:1.242 pkgsrc-2017Q1:1.240.0.2 pkgsrc-2017Q1-base:1.240 pkgsrc-2016Q4:1.234.0.2 pkgsrc-2016Q4-base:1.234 pkgsrc-2016Q3:1.232.0.4 pkgsrc-2016Q3-base:1.232 pkgsrc-2016Q2:1.232.0.2 pkgsrc-2016Q2-base:1.232 pkgsrc-2016Q1:1.229.0.2 pkgsrc-2016Q1-base:1.229 pkgsrc-2015Q4:1.223.0.2 pkgsrc-2015Q4-base:1.223 pkgsrc-2015Q3:1.218.0.4 pkgsrc-2015Q3-base:1.218 pkgsrc-2015Q2:1.218.0.2 pkgsrc-2015Q2-base:1.218 pkgsrc-2015Q1:1.215.0.4 pkgsrc-2015Q1-base:1.215 pkgsrc-2014Q4:1.215.0.2 pkgsrc-2014Q4-base:1.215 pkgsrc-2014Q3:1.213.0.2 pkgsrc-2014Q3-base:1.213 pkgsrc-2014Q2:1.208.0.2 pkgsrc-2014Q2-base:1.208 pkgsrc-2014Q1:1.204.0.2 pkgsrc-2014Q1-base:1.204 pkgsrc-2013Q4:1.200.0.2 pkgsrc-2013Q4-base:1.200 pkgsrc-2013Q3:1.199.0.2 pkgsrc-2013Q3-base:1.199 pkgsrc-2013Q2:1.194.0.2 pkgsrc-2013Q2-base:1.194 pkgsrc-2013Q1:1.191.0.2 pkgsrc-2013Q1-base:1.191 pkgsrc-2012Q4:1.181.0.2 pkgsrc-2012Q4-base:1.181 pkgsrc-2012Q3:1.180.0.2 pkgsrc-2012Q3-base:1.180 pkgsrc-2012Q2:1.177.0.2 pkgsrc-2012Q2-base:1.177 pkgsrc-2012Q1:1.174.0.2 pkgsrc-2012Q1-base:1.174 pkgsrc-2011Q4:1.173.0.2 pkgsrc-2011Q4-base:1.173 pkgsrc-2011Q3:1.170.0.2 pkgsrc-2011Q3-base:1.170 pkgsrc-2011Q2:1.169.0.2 pkgsrc-2011Q2-base:1.169 pkgsrc-2011Q1:1.164.0.2 pkgsrc-2011Q1-base:1.164 pkgsrc-2010Q4:1.162.0.2 pkgsrc-2010Q4-base:1.162 pkgsrc-2010Q3:1.159.0.2 pkgsrc-2010Q3-base:1.159 pkgsrc-2010Q2:1.157.0.4 pkgsrc-2010Q2-base:1.157 pkgsrc-2010Q1:1.157.0.2 pkgsrc-2010Q1-base:1.157 pkgsrc-2009Q4:1.151.0.2 pkgsrc-2009Q4-base:1.151 pkgsrc-2009Q3:1.150.0.2 pkgsrc-2009Q3-base:1.150 pkgsrc-2009Q2:1.149.0.2 pkgsrc-2009Q2-base:1.149 pkgsrc-2009Q1:1.141.0.2 pkgsrc-2009Q1-base:1.141 pkgsrc-2008Q4:1.137.0.2 pkgsrc-2008Q4-base:1.137 pkgsrc-2008Q3:1.135.0.4 pkgsrc-2008Q3-base:1.135 cube-native-xorg:1.135.0.2 cube-native-xorg-base:1.135 pkgsrc-2008Q2:1.132.0.4 pkgsrc-2008Q2-base:1.132 cwrapper:1.132.0.2 pkgsrc-2008Q1:1.121.0.2 pkgsrc-2008Q1-base:1.121 pkgsrc-2007Q4:1.116.0.2 pkgsrc-2007Q4-base:1.116 pkgsrc-2007Q3:1.114.0.2 pkgsrc-2007Q3-base:1.114 pkgsrc-2007Q2:1.98.0.2 pkgsrc-2007Q2-base:1.98 pkgsrc-2007Q1:1.92.0.2 pkgsrc-2007Q1-base:1.92 pkgsrc-2006Q4:1.88.0.2 pkgsrc-2006Q4-base:1.88 pkgsrc-2006Q3:1.84.0.2 pkgsrc-2006Q3-base:1.84 pkgsrc-2006Q2:1.51.0.2 pkgsrc-2006Q2-base:1.51 pkgsrc-2006Q1:1.47.0.4 pkgsrc-2006Q1-base:1.47 pkgsrc-2005Q4:1.47.0.2 pkgsrc-2005Q4-base:1.47 pkgsrc-2005Q3:1.40.0.4 pkgsrc-2005Q3-base:1.40 pkgsrc-2005Q2:1.40.0.2 pkgsrc-2005Q2-base:1.40 pkgsrc-2005Q1:1.32.0.2 pkgsrc-2005Q1-base:1.32 pkgsrc-2004Q4:1.24.0.2 pkgsrc-2004Q4-base:1.24 pkgsrc-2004Q3:1.20.0.2 pkgsrc-2004Q3-base:1.20 pkgsrc-2004Q2:1.18.0.2 pkgsrc-2004Q2-base:1.18 pkgsrc-2004Q1:1.9.0.2 pkgsrc-2004Q1-base:1.9 bootstrap-pkgsrc-20040311:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.323 date 2024.03.22.23.34.00; author gutteridge; state Exp; branches; next 1.322; commitid RuqeeD9Bamplfd3F; 1.322 date 2024.03.12.22.00.13; author joerg; state Exp; branches; next 1.321; commitid btgQDCYXtWYo3V1F; 1.321 date 2024.02.15.19.43.42; author joerg; state Exp; branches; next 1.320; commitid VoWUwXlX8nbo8zYE; 1.320 date 2023.07.07.12.53.22; author gdt; state Exp; branches; next 1.319; commitid Y4msCAxTvvqY0SvE; 1.319 date 2023.06.27.14.36.41; author riastradh; state Exp; branches; next 1.318; commitid qPKkGr2Z8L6rVAuE; 1.318 date 2022.11.11.17.22.14; author jperkin; state Exp; branches; next 1.317; commitid XsXRVgHiza4a4j1E; 1.317 date 2022.10.04.11.47.45; author jperkin; state Exp; branches; next 1.316; commitid kXqoTzyvlKPwxoWD; 1.316 date 2022.09.29.02.25.15; author charlotte; state Exp; branches; next 1.315; commitid S3Skjs8FQxznAHVD; 1.315 date 2022.09.15.11.53.05; author jperkin; state Exp; branches; next 1.314; commitid iqoF9ztc2YAabXTD; 1.314 date 2022.09.12.12.32.30; author jperkin; state Exp; branches; next 1.313; commitid SpJg04GEmkPDtzTD; 1.313 date 2022.09.09.10.58.15; author jperkin; state Exp; branches; next 1.312; commitid bMuCWjxBABCL3bTD; 1.312 date 2022.06.16.22.12.20; author charlotte; state Exp; branches; next 1.311; commitid lk2YDJyl3oIIwjID; 1.311 date 2022.06.14.09.08.31; author nia; state Exp; branches; next 1.310; commitid stWCiAIMCeY8gZHD; 1.310 date 2022.04.06.13.06.09; author schmonz; state Exp; branches; next 1.309; commitid HxJJ4gxln5vTM8zD; 1.309 date 2022.04.03.20.46.11; author tnn; state Exp; branches; next 1.308; commitid cpsAx5usGQNWqNyD; 1.308 date 2022.04.03.19.20.59; author tnn; state Exp; branches; next 1.307; commitid q2ZSV6ewiTyEXMyD; 1.307 date 2022.02.08.19.18.07; author schmonz; state Exp; branches; next 1.306; commitid MjFfBiU18jgqGQrD; 1.306 date 2021.12.28.10.13.01; author nia; state Exp; branches; next 1.305; commitid K54Jzbz6Mel21pmD; 1.305 date 2021.12.27.14.16.30; author schmonz; state Exp; branches; next 1.304; commitid FuVU4rkJvcfEoimD; 1.304 date 2021.11.29.18.32.51; author jperkin; state Exp; branches; next 1.303; commitid wW1um7pE3BEmIIiD; 1.303 date 2021.11.12.20.29.05; author nia; state Exp; branches; next 1.302; commitid NiCzHKQPPOuYTxgD; 1.302 date 2021.07.13.12.43.58; author schmonz; state Exp; branches; next 1.301; commitid zgu3QHBwgGFGfP0D; 1.301 date 2021.07.10.15.49.21; author jperkin; state Exp; branches; next 1.300; commitid ZFOODkIvOtZrms0D; 1.300 date 2021.05.30.23.41.05; author khorben; state Exp; branches; next 1.299; commitid cThAUFH10xggaeVC; 1.299 date 2021.04.28.11.14.51; author maya; state Exp; branches; next 1.298; commitid 1z9ALyCzLvdZb3RC; 1.298 date 2021.03.15.16.22.06; author ryoon; state Exp; branches; next 1.297; commitid WSm3oTHOiPcGjqLC; 1.297 date 2021.02.15.12.56.53; author cjep; state Exp; branches; next 1.296; commitid Cmo1dUwNZnNB4OHC; 1.296 date 2020.12.05.16.50.52; author js; state Exp; branches; next 1.295; commitid O0Y0JIM1C0MAEzyC; 1.295 date 2020.10.28.16.52.43; author maya; state Exp; branches; next 1.294; commitid 5ji1gfksyX2UTGtC; 1.294 date 2020.10.07.10.44.14; author jperkin; state Exp; branches; next 1.293; commitid wZWbRE8j7GxwyXqC; 1.293 date 2020.08.29.20.11.21; author js; state Exp; branches; next 1.292; commitid yRDKZ329c2DJWZlC; 1.292 date 2020.08.20.13.04.01; author bacon; state Exp; branches; next 1.291; commitid GFym5LPaARqmONkC; 1.291 date 2020.08.14.08.45.30; author jperkin; state Exp; branches; next 1.290; commitid u4QIVugj4QjpD0kC; 1.290 date 2020.08.14.07.24.16; author schmonz; state Exp; branches; next 1.289; commitid LXIctd8gEXrFb0kC; 1.289 date 2020.07.21.15.53.10; author sjmulder; state Exp; branches; next 1.288; commitid bCO5keAgTfy7LXgC; 1.288 date 2020.07.15.10.32.12; author jperkin; state Exp; branches; next 1.287; commitid psmkvzjfvbwhaagC; 1.287 date 2020.07.07.11.50.04; author jperkin; state Exp; branches; next 1.286; commitid TPuebt7iXrvsS8fC; 1.286 date 2020.07.06.10.43.47; author jperkin; state Exp; branches; next 1.285; commitid lfGUX1vYuFeQv0fC; 1.285 date 2020.07.06.10.25.29; author jperkin; state Exp; branches; next 1.284; commitid ZsBz1e2TlhLnr0fC; 1.284 date 2020.07.06.10.21.01; author jperkin; state Exp; branches; next 1.283; commitid L3YbYy36XWVeo0fC; 1.283 date 2020.06.29.12.38.03; author jperkin; state Exp; branches; next 1.282; commitid 7aU7bKJKpvSfo7eC; 1.282 date 2020.06.29.12.01.38; author jperkin; state Exp; branches; next 1.281; commitid s1SlRb7s16Bdc7eC; 1.281 date 2020.05.30.21.36.15; author jperkin; state Exp; branches; next 1.280; commitid oFk7vckFowWBkjaC; 1.280 date 2020.05.25.07.32.59; author jperkin; state Exp; branches; next 1.279; commitid e735rcekGjdJPA9C; 1.279 date 2020.05.06.15.34.31; author jperkin; state Exp; branches; next 1.278; commitid Yj8X48vepksc6c7C; 1.278 date 2020.04.29.20.27.03; author triaxx; state Exp; branches; next 1.277; commitid 3n1tW3ggpZGvVj6C; 1.277 date 2020.03.26.15.30.27; author nia; state Exp; branches; next 1.276; commitid EeC1E99ZvQJbpV1C; 1.276 date 2020.03.22.16.40.19; author rillig; state Exp; branches; next 1.275; commitid wCdAsn4qRAh7Vp1C; 1.275 date 2020.03.22.16.34.46; author rillig; state Exp; branches; next 1.274; commitid g1euMKZGRCOdTp1C; 1.274 date 2020.02.23.18.32.46; author rillig; state Exp; branches; next 1.273; commitid q5TkV2QdgIYQqPXB; 1.273 date 2019.12.05.22.19.56; author sevan; state Exp; branches; next 1.272; commitid hw2HvgcMHVmagzNB; 1.272 date 2019.11.05.13.58.06; author triaxx; state Exp; branches; next 1.271; commitid dMsxvyQJHAEgsFJB; 1.271 date 2019.09.13.20.10.35; author rillig; state Exp; branches; next 1.270; commitid f25iGO58l5WgdTCB; 1.270 date 2019.09.13.19.53.03; author rillig; state Exp; branches; next 1.269; commitid R293e0KipZ9S7TCB; 1.269 date 2019.07.21.20.14.06; author rillig; state Exp; branches; next 1.268; commitid dHzplbRE7R1PYWvB; 1.268 date 2019.07.08.19.44.08; author sevan; state Exp; branches; next 1.267; commitid JmnRmhGDiSvDehuB; 1.267 date 2019.07.02.16.27.04; author rillig; state Exp; branches; next 1.266; commitid LcoD1OTKK5o6kutB; 1.266 date 2019.06.20.09.11.26; author jperkin; state Exp; branches 1.266.2.1; next 1.265; commitid Q0wnuEA0z9BcjUrB; 1.265 date 2019.05.07.19.54.46; author rillig; state Exp; branches; next 1.264; commitid MLG2pfO2p8puhjmB; 1.264 date 2019.05.03.13.26.34; author jperkin; state Exp; branches; next 1.263; commitid xE9PfsP4WwNfgLlB; 1.263 date 2019.05.01.18.29.20; author rillig; state Exp; branches; next 1.262; commitid N2QfoUQUe0nh0xlB; 1.262 date 2019.04.10.08.24.03; author adam; state Exp; branches; next 1.261; commitid LnliQ9ieqYkikMiB; 1.261 date 2019.02.06.17.38.54; author triaxx; state Exp; branches; next 1.260; commitid 489AKn4GY061qJaB; 1.260 date 2018.11.15.22.08.30; author sevan; state Exp; branches 1.260.2.1; next 1.259; commitid kK7npZDG1YQ8A50B; 1.259 date 2018.11.11.19.31.54; author rillig; state Exp; branches; next 1.258; commitid VpUktffA2GiFQyZA; 1.258 date 2018.11.09.13.37.09; author jperkin; state Exp; branches; next 1.257; commitid pWXg9YMpJ2iTWgZA; 1.257 date 2018.11.05.19.26.38; author schmonz; state Exp; branches; next 1.256; commitid Yo4Wh6eM6XAT0NYA; 1.256 date 2018.10.30.15.22.53; author sevan; state Exp; branches; next 1.255; commitid kbWMaZKuszWJQZXA; 1.255 date 2018.10.29.17.41.35; author triaxx; state Exp; branches; next 1.254; commitid WfIKNCTlE3yNESXA; 1.254 date 2018.10.29.15.16.32; author triaxx; state Exp; branches; next 1.253; commitid ikFla0QUNtaRQRXA; 1.253 date 2018.10.28.18.41.41; author sevan; state Exp; branches; next 1.252; commitid IdUN2NTfsR7t0LXA; 1.252 date 2018.10.28.16.59.00; author sevan; state Exp; branches; next 1.251; commitid 8rWb9eHvzf4zrKXA; 1.251 date 2018.10.17.11.12.46; author jperkin; state Exp; branches; next 1.250; commitid r3jqLGkfK6ZnSiWA; 1.250 date 2018.09.09.10.01.26; author schmonz; state Exp; branches; next 1.249; commitid 09BdmxRHFSK7IpRA; 1.249 date 2018.08.12.08.46.41; author bsiegert; state Exp; branches; next 1.248; commitid ORCEt2k2VySacONA; 1.248 date 2018.03.07.07.34.07; author rillig; state Exp; branches; next 1.247; commitid 4ozEz9P5Sb6dSutA; 1.247 date 2018.02.03.09.53.03; author bsiegert; state Exp; branches; next 1.246; commitid iKlLjygZyLZhCopA; 1.246 date 2018.02.02.15.53.44; author bsiegert; state Exp; branches; next 1.245; commitid JfTOM6eLwZpTHipA; 1.245 date 2017.12.09.00.33.36; author sevan; state Exp; branches; next 1.244; commitid ZqQ8wjYCbO34l9iA; 1.244 date 2017.10.22.19.29.20; author bsiegert; state Exp; branches; next 1.243; commitid tvvkSPUVb2Uec5cA; 1.243 date 2017.09.23.05.43.51; author maya; state Exp; branches 1.243.4.1; next 1.242; commitid ZL0rjG8gyasszh8A; 1.242 date 2017.06.19.06.30.48; author maya; state Exp; branches; next 1.241; commitid ABhXyydfgKnXUWVz; 1.241 date 2017.04.29.21.40.40; author khorben; state Exp; branches; next 1.240; commitid 4FVXZWuoKkKyztPz; 1.240 date 2017.02.11.16.08.31; author tron; state Exp; branches; next 1.239; commitid n3ftq7Z8HaaceyFz; 1.239 date 2017.02.01.10.14.09; author jperkin; state Exp; branches; next 1.238; commitid 2QxkLWe4fTNLAeEz; 1.238 date 2017.02.01.09.54.21; author sevan; state Exp; branches; next 1.237; commitid Sz7fMZLWfA0ateEz; 1.237 date 2017.01.10.12.30.00; author jperkin; state Exp; branches; next 1.236; commitid IHrlh44TMCF43qBz; 1.236 date 2017.01.10.12.16.08; author jperkin; state Exp; branches; next 1.235; commitid x26CMo8ZU8QrYpBz; 1.235 date 2017.01.03.17.53.14; author jperkin; state Exp; branches; next 1.234; commitid TRiH8Zx3afZp3yAz; 1.234 date 2016.11.15.11.19.09; author jperkin; state Exp; branches; next 1.233; commitid LCs9CooqJFG1sduz; 1.233 date 2016.11.01.20.44.22; author jperkin; state Exp; branches; next 1.232; commitid n8hZIWQ6cyOf1tsz; 1.232 date 2016.06.22.11.40.16; author joerg; state Exp; branches; next 1.231; commitid qd03aNfaK4QHgsbz; 1.231 date 2016.06.22.08.07.11; author joerg; state Exp; branches; next 1.230; commitid cgPAyFI0zYqB5rbz; 1.230 date 2016.04.10.16.18.45; author joerg; state Exp; branches; next 1.229; commitid Y5OQwXWitFaJ962z; 1.229 date 2016.02.08.14.53.43; author jperkin; state Exp; branches; next 1.228; commitid QUZxWXo2hyT2G7Uy; 1.228 date 2016.02.04.13.45.24; author jperkin; state Exp; branches; next 1.227; commitid K85H0xRv8d7uqBTy; 1.227 date 2016.01.24.16.14.44; author jperkin; state Exp; branches; next 1.226; commitid 6ZtJ8Q9tACZQncSy; 1.226 date 2016.01.06.17.59.58; author jperkin; state Exp; branches; next 1.225; commitid 6prX5JpdLSvzLTPy; 1.225 date 2015.12.29.21.13.57; author joerg; state Exp; branches; next 1.224; commitid sXUk9lHmQjld6TOy; 1.224 date 2015.12.27.12.36.42; author joerg; state Exp; branches; next 1.223; commitid tqD8hFx8CkiyiAOy; 1.223 date 2015.12.18.13.49.07; author jperkin; state Exp; branches; next 1.222; commitid VTlfhoPpDscIYqNy; 1.222 date 2015.12.11.23.55.44; author joerg; state Exp; branches; next 1.221; commitid QMxl66TeTshBzAMy; 1.221 date 2015.11.09.10.54.44; author jperkin; state Exp; branches; next 1.220; commitid qvl0x9S6MwnohpIy; 1.220 date 2015.11.07.19.55.46; author sevan; state Exp; branches; next 1.219; commitid wKhkOrCUoFbBkcIy; 1.219 date 2015.11.07.14.05.20; author sevan; state Exp; branches; next 1.218; commitid ngG7ee15TR5NnaIy; 1.218 date 2015.06.13.13.15.39; author tron; state Exp; branches; next 1.217; commitid ZK3lDybTiSMbQgpy; 1.217 date 2015.06.04.15.48.45; author sevan; state Exp; branches; next 1.216; commitid HzqmF4IO1LfwU7oy; 1.216 date 2015.05.03.14.26.57; author sevan; state Exp; branches; next 1.215; commitid sFUTC9S37QJRx0ky; 1.215 date 2014.12.04.10.36.02; author jperkin; state Exp; branches; next 1.214; commitid pwokvbBcweKx6I0y; 1.214 date 2014.12.01.13.43.55; author jperkin; state Exp; branches; next 1.213; commitid rLquMcwO2TT1fl0y; 1.213 date 2014.09.01.12.29.58; author jperkin; state Exp; branches; next 1.212; commitid v5ftMn2IOVvNIDOx; 1.212 date 2014.08.14.00.21.24; author cheusov; state Exp; branches; next 1.211; commitid ozGA8nItj2grigMx; 1.211 date 2014.08.01.15.01.16; author schmonz; state Exp; branches; next 1.210; commitid DevwtBd2xn6yAFKx; 1.210 date 2014.07.30.16.30.26; author schmonz; state Exp; branches; next 1.209; commitid pNbefJfY1qun9qKx; 1.209 date 2014.07.11.17.29.21; author jperkin; state Exp; branches; next 1.208; commitid UKHe7R1FzhXg5ZHx; 1.208 date 2014.04.17.18.29.01; author asau; state Exp; branches; next 1.207; commitid PfHQekfDryIj94xx; 1.207 date 2014.04.17.18.27.24; author asau; state Exp; branches; next 1.206; commitid RFNowhcBcGfJ84xx; 1.206 date 2014.04.17.18.12.47; author asau; state Exp; branches; next 1.205; commitid WrVvRSSxIPcG34xx; 1.205 date 2014.04.03.09.05.11; author obache; state Exp; branches; next 1.204; commitid f6FhTapPr36wsdvx; 1.204 date 2014.03.14.21.52.13; author ryoon; state Exp; branches; next 1.203; commitid OtkwZggGAdsdmIsx; 1.203 date 2014.03.10.20.50.35; author asau; state Exp; branches; next 1.202; commitid PR6kQZ9ZanLA9csx; 1.202 date 2014.03.07.14.59.42; author jperkin; state Exp; branches; next 1.201; commitid 5R9tDnmNjR6ihMrx; 1.201 date 2014.02.10.10.43.02; author ryoon; state Exp; branches; next 1.200; commitid d4bCyFZ77CsXGxox; 1.200 date 2013.10.03.01.24.57; author joerg; state Exp; branches; next 1.199; commitid U4WTn2efKYtuMM7x; 1.199 date 2013.09.08.16.29.28; author ryoon; state Exp; branches; next 1.198; commitid mYtLauERORuEAE4x; 1.198 date 2013.08.28.12.05.10; author jperkin; state Exp; branches; next 1.197; commitid gZ2o0hldr2jNsd3x; 1.197 date 2013.08.09.12.57.38; author jperkin; state Exp; branches; next 1.196; commitid Fau7CUBeYXOHnM0x; 1.196 date 2013.08.04.01.19.19; author obache; state Exp; branches; next 1.195; commitid PvWVyQS7IekoF40x; 1.195 date 2013.07.26.09.38.15; author ryoon; state Exp; branches; next 1.194; commitid U7MMzMzFO1AUIXYw; 1.194 date 2013.06.14.15.07.37; author tron; state Exp; branches; next 1.193; commitid 8DcqVtAWqirXTATw; 1.193 date 2013.06.01.12.15.54; author tron; state Exp; branches; next 1.192; commitid o9qvmo1ajwvKmURw; 1.192 date 2013.05.11.23.42.44; author ryoon; state Exp; branches; next 1.191; commitid ww0sZHI7LPBoQgPw; 1.191 date 2013.03.11.22.48.23; author tcort; state Exp; branches; next 1.190; 1.190 date 2013.02.22.13.39.31; author obache; state Exp; branches; next 1.189; 1.189 date 2013.02.20.12.44.14; author obache; state Exp; branches; next 1.188; 1.188 date 2013.02.20.11.04.26; author obache; state Exp; branches; next 1.187; 1.187 date 2013.02.20.10.59.36; author obache; state Exp; branches; next 1.186; 1.186 date 2013.02.20.10.30.41; author obache; state Exp; branches; next 1.185; 1.185 date 2013.02.09.12.45.24; author obache; state Exp; branches; next 1.184; 1.184 date 2013.02.09.12.41.43; author obache; state Exp; branches; next 1.183; 1.183 date 2013.01.31.22.55.21; author hans; state Exp; branches; next 1.182; 1.182 date 2013.01.06.17.33.24; author cheusov; state Exp; branches; next 1.181; 1.181 date 2012.10.02.21.02.21; author cheusov; state Exp; branches; next 1.180; 1.180 date 2012.07.26.13.00.48; author jperkin; state Exp; branches; next 1.179; 1.179 date 2012.07.24.13.18.00; author jperkin; state Exp; branches; next 1.178; 1.178 date 2012.07.13.16.12.41; author jperkin; state Exp; branches; next 1.177; 1.177 date 2012.06.15.09.54.41; author jperkin; state Exp; branches; next 1.176; 1.176 date 2012.06.08.12.15.29; author jperkin; state Exp; branches; next 1.175; 1.175 date 2012.05.15.16.42.43; author christos; state Exp; branches; next 1.174; 1.174 date 2012.01.11.01.15.17; author riz; state Exp; branches; next 1.173; 1.173 date 2011.11.29.17.06.45; author hans; state Exp; branches; next 1.172; 1.172 date 2011.11.29.15.06.20; author hans; state Exp; branches; next 1.171; 1.171 date 2011.10.04.11.37.38; author hans; state Exp; branches; next 1.170; 1.170 date 2011.09.14.15.14.53; author hans; state Exp; branches; next 1.169; 1.169 date 2011.06.12.17.46.02; author agc; state Exp; branches; next 1.168; 1.168 date 2011.06.12.08.28.32; author obache; state Exp; branches; next 1.167; 1.167 date 2011.06.12.07.58.51; author obache; state Exp; branches; next 1.166; 1.166 date 2011.04.15.09.02.00; author joerg; state Exp; branches; next 1.165; 1.165 date 2011.04.05.05.43.19; author agc; state Exp; branches; next 1.164; 1.164 date 2011.03.22.08.39.30; author tron; state Exp; branches; next 1.163; 1.163 date 2011.01.23.19.07.25; author agc; state Exp; branches; next 1.162; 1.162 date 2010.12.26.11.24.21; author adam; state Exp; branches; next 1.161; 1.161 date 2010.11.20.00.49.33; author obache; state Exp; branches; next 1.160; 1.160 date 2010.11.13.21.43.39; author joerg; state Exp; branches; next 1.159; 1.159 date 2010.08.30.06.21.49; author obache; state Exp; branches; next 1.158; 1.158 date 2010.08.13.18.57.36; author joerg; state Exp; branches; next 1.157; 1.157 date 2010.03.19.14.11.11; author seanb; state Exp; branches; next 1.156; 1.156 date 2010.02.06.10.28.54; author obache; state Exp; branches; next 1.155; 1.155 date 2010.02.06.05.54.17; author obache; state Exp; branches; next 1.154; 1.154 date 2010.02.06.05.51.50; author obache; state Exp; branches; next 1.153; 1.153 date 2010.02.06.04.30.49; author obache; state Exp; branches; next 1.152; 1.152 date 2010.01.16.02.16.35; author obache; state Exp; branches; next 1.151; 1.151 date 2009.12.13.08.35.22; author obache; state Exp; branches; next 1.150; 1.150 date 2009.08.01.20.19.37; author dholland; state Exp; branches; next 1.149; 1.149 date 2009.07.05.12.35.13; author ahoka; state Exp; branches; next 1.148; 1.148 date 2009.06.27.22.30.50; author ahoka; state Exp; branches; next 1.147; 1.147 date 2009.06.15.17.02.14; author joerg; state Exp; branches; next 1.146; 1.146 date 2009.05.29.15.58.37; author rillig; state Exp; branches; next 1.145; 1.145 date 2009.05.28.20.25.35; author rillig; state Exp; branches; next 1.144; 1.144 date 2009.04.23.00.15.53; author minskim; state Exp; branches; next 1.143; 1.143 date 2009.04.21.14.21.10; author joerg; state Exp; branches; next 1.142; 1.142 date 2009.04.06.14.21.05; author joerg; state Exp; branches; next 1.141; 1.141 date 2009.02.05.18.53.03; author joerg; state Exp; branches; next 1.140; 1.140 date 2009.02.04.07.44.58; author joerg; state Exp; branches; next 1.139; 1.139 date 2009.02.02.13.01.29; author joerg; state Exp; branches; next 1.138; 1.138 date 2009.01.21.00.07.40; author sketch; state Exp; branches; next 1.137; 1.137 date 2008.11.19.16.35.23; author sketch; state Exp; branches; next 1.136; 1.136 date 2008.10.14.22.50.54; author joerg; state Exp; branches; next 1.135; 1.135 date 2008.07.31.13.42.57; author joerg; state Exp; branches; next 1.134; 1.134 date 2008.07.20.23.57.36; author dbj; state Exp; branches; next 1.133; 1.133 date 2008.07.20.23.54.48; author dbj; state Exp; branches; next 1.132; 1.132 date 2008.06.19.18.36.51; author joerg; state Exp; branches; next 1.131; 1.131 date 2008.06.17.12.11.59; author sketch; state Exp; branches; next 1.130; 1.130 date 2008.06.17.11.50.45; author sketch; state Exp; branches; next 1.129; 1.129 date 2008.06.17.11.38.52; author sketch; state Exp; branches; next 1.128; 1.128 date 2008.06.11.12.47.07; author sketch; state Exp; branches; next 1.127; 1.127 date 2008.05.24.13.38.33; author tnn; state Exp; branches; next 1.126; 1.126 date 2008.05.23.18.06.44; author tnn; state Exp; branches; next 1.125; 1.125 date 2008.05.23.17.49.52; author tnn; state Exp; branches; next 1.124; 1.124 date 2008.05.09.18.35.35; author agc; state Exp; branches; next 1.123; 1.123 date 2008.04.30.03.14.55; author minskim; state Exp; branches; next 1.122; 1.122 date 2008.04.29.22.03.19; author minskim; state Exp; branches; next 1.121; 1.121 date 2008.03.06.04.45.58; author jlam; state Exp; branches 1.121.2.1; next 1.120; 1.120 date 2008.01.30.22.57.31; author tron; state Exp; branches; next 1.119; 1.119 date 2008.01.24.14.48.02; author joerg; state Exp; branches; next 1.118; 1.118 date 2008.01.23.21.12.41; author joerg; state Exp; branches; next 1.117; 1.117 date 2008.01.20.19.55.29; author rillig; state Exp; branches; next 1.116; 1.116 date 2007.11.01.23.18.54; author rillig; state Exp; branches; next 1.115; 1.115 date 2007.10.17.02.45.42; author rillig; state Exp; branches; next 1.114; 1.114 date 2007.10.09.01.10.19; author rillig; state Exp; branches; next 1.113; 1.113 date 2007.09.29.15.50.16; author rillig; state Exp; branches; next 1.112; 1.112 date 2007.09.08.09.58.14; author rillig; state Exp; branches; next 1.111; 1.111 date 2007.09.07.15.45.14; author rillig; state Exp; branches; next 1.110; 1.110 date 2007.09.06.20.13.44; author joerg; state Exp; branches; next 1.109; 1.109 date 2007.09.06.19.23.25; author joerg; state Exp; branches; next 1.108; 1.108 date 2007.08.18.11.01.28; author schwarz; state Exp; branches; next 1.107; 1.107 date 2007.08.14.00.26.58; author rillig; state Exp; branches; next 1.106; 1.106 date 2007.08.13.22.48.59; author rillig; state Exp; branches; next 1.105; 1.105 date 2007.08.05.16.12.15; author tnn; state Exp; branches; next 1.104; 1.104 date 2007.08.03.11.54.31; author joerg; state Exp; branches; next 1.103; 1.103 date 2007.07.31.14.31.27; author joerg; state Exp; branches; next 1.102; 1.102 date 2007.07.29.17.09.47; author joerg; state Exp; branches; next 1.101; 1.101 date 2007.07.27.10.43.24; author joerg; state Exp; branches; next 1.100; 1.100 date 2007.07.02.14.59.19; author joerg; state Exp; branches; next 1.99; 1.99 date 2007.07.01.23.27.43; author tnn; state Exp; branches; next 1.98; 1.98 date 2007.05.30.01.42.59; author schmonz; state Exp; branches 1.98.2.1; next 1.97; 1.97 date 2007.05.23.04.20.36; author schmonz; state Exp; branches; next 1.96; 1.96 date 2007.04.25.13.24.24; author tnn; state Exp; branches; next 1.95; 1.95 date 2007.04.14.14.17.49; author tnn; state Exp; branches; next 1.94; 1.94 date 2007.04.12.20.31.04; author joerg; state Exp; branches; next 1.93; 1.93 date 2007.04.12.14.36.40; author joerg; state Exp; branches; next 1.92; 1.92 date 2007.03.02.16.48.48; author wiz; state Exp; branches; next 1.91; 1.91 date 2007.02.22.23.29.02; author rillig; state Exp; branches; next 1.90; 1.90 date 2007.01.26.15.48.42; author rillig; state Exp; branches; next 1.89; 1.89 date 2007.01.26.07.57.04; author rillig; state Exp; branches; next 1.88; 1.88 date 2006.11.06.21.08.42; author tv; state Exp; branches; next 1.87; 1.87 date 2006.11.06.21.01.42; author tv; state Exp; branches; next 1.86; 1.86 date 2006.10.13.19.09.53; author rillig; state Exp; branches; next 1.85; 1.85 date 2006.10.02.16.26.54; author rillig; state Exp; branches; next 1.84; 1.84 date 2006.09.18.12.35.44; author rillig; state Exp; branches; next 1.83; 1.83 date 2006.09.10.20.14.43; author schwarz; state Exp; branches; next 1.82; 1.82 date 2006.09.02.11.14.48; author schwarz; state Exp; branches; next 1.81; 1.81 date 2006.08.26.15.42.27; author schwarz; state Exp; branches; next 1.80; 1.80 date 2006.08.20.14.25.22; author schwarz; state Exp; branches; next 1.79; 1.79 date 2006.08.02.23.43.47; author rillig; state Exp; branches; next 1.78; 1.78 date 2006.07.24.07.57.45; author rillig; state Exp; branches; next 1.77; 1.77 date 2006.07.21.19.08.56; author jlam; state Exp; branches; next 1.76; 1.76 date 2006.07.21.18.58.03; author jlam; state Exp; branches; next 1.75; 1.75 date 2006.07.21.18.46.52; author jlam; state Exp; branches; next 1.74; 1.74 date 2006.07.21.16.31.49; author jlam; state Exp; branches; next 1.73; 1.73 date 2006.07.21.15.30.30; author jlam; state Exp; branches; next 1.72; 1.72 date 2006.07.21.15.16.39; author jlam; state Exp; branches; next 1.71; 1.71 date 2006.07.20.19.28.42; author jlam; state Exp; branches; next 1.70; 1.70 date 2006.07.20.15.13.10; author jlam; state Exp; branches; next 1.69; 1.69 date 2006.07.19.15.27.37; author jlam; state Exp; branches; next 1.68; 1.68 date 2006.07.19.15.01.23; author jlam; state Exp; branches; next 1.67; 1.67 date 2006.07.17.14.30.05; author jlam; state Exp; branches; next 1.66; 1.66 date 2006.07.14.23.19.15; author jlam; state Exp; branches; next 1.65; 1.65 date 2006.07.14.22.17.09; author jlam; state Exp; branches; next 1.64; 1.64 date 2006.07.14.21.41.42; author jlam; state Exp; branches; next 1.63; 1.63 date 2006.07.14.19.40.26; author jlam; state Exp; branches; next 1.62; 1.62 date 2006.07.14.17.55.56; author jlam; state Exp; branches; next 1.61; 1.61 date 2006.07.14.17.51.13; author jlam; state Exp; branches; next 1.60; 1.60 date 2006.07.14.15.58.43; author jlam; state Exp; branches; next 1.59; 1.59 date 2006.07.14.15.21.05; author jlam; state Exp; branches; next 1.58; 1.58 date 2006.07.14.14.30.21; author jlam; state Exp; branches; next 1.57; 1.57 date 2006.07.14.14.27.00; author jlam; state Exp; branches; next 1.56; 1.56 date 2006.07.13.21.37.30; author jlam; state Exp; branches; next 1.55; 1.55 date 2006.07.13.21.27.06; author jlam; state Exp; branches; next 1.54; 1.54 date 2006.07.13.14.54.00; author jlam; state Exp; branches; next 1.53; 1.53 date 2006.07.11.18.04.08; author jlam; state Exp; branches; next 1.52; 1.52 date 2006.07.11.17.29.20; author jlam; state Exp; branches; next 1.51; 1.51 date 2006.04.14.20.37.08; author schwarz; state Exp; branches; next 1.50; 1.50 date 2006.04.11.14.35.48; author joerg; state Exp; branches; next 1.49; 1.49 date 2006.04.10.18.29.24; author joerg; state Exp; branches; next 1.48; 1.48 date 2006.04.10.13.29.38; author schwarz; state Exp; branches; next 1.47; 1.47 date 2005.12.17.17.51.40; author jschauma; state Exp; branches; next 1.46; 1.46 date 2005.12.01.03.03.51; author minskim; state Exp; branches; next 1.45; 1.45 date 2005.11.16.13.53.51; author joerg; state Exp; branches; next 1.44; 1.44 date 2005.11.10.00.10.35; author reed; state Exp; branches; next 1.43; 1.43 date 2005.11.02.00.34.23; author reed; state Exp; branches; next 1.42; 1.42 date 2005.11.01.01.06.02; author reed; state Exp; branches; next 1.41; 1.41 date 2005.10.31.23.05.24; author reed; state Exp; branches; next 1.40; 1.40 date 2005.05.30.19.03.29; author jmmv; state Exp; branches; next 1.39; 1.39 date 2005.05.29.17.15.25; author jmmv; state Exp; branches; next 1.38; 1.38 date 2005.05.25.07.06.54; author rillig; state Exp; branches; next 1.37; 1.37 date 2005.05.14.02.12.48; author rillig; state Exp; branches; next 1.36; 1.36 date 2005.05.07.22.19.16; author wiz; state Exp; branches; next 1.35; 1.35 date 2005.04.19.18.24.17; author minskim; state Exp; branches; next 1.34; 1.34 date 2005.04.11.21.03.21; author jschauma; state Exp; branches; next 1.33; 1.33 date 2005.04.10.21.54.13; author jschauma; state Exp; branches; next 1.32; 1.32 date 2005.03.08.15.43.10; author tv; state Exp; branches; next 1.31; 1.31 date 2005.02.19.04.07.31; author grant; state Exp; branches; next 1.30; 1.30 date 2005.02.15.08.48.34; author grant; state Exp; branches; next 1.29; 1.29 date 2005.01.20.22.36.06; author agc; state Exp; branches; next 1.28; 1.28 date 2005.01.16.02.56.24; author grant; state Exp; branches; next 1.27; 1.27 date 2005.01.12.16.42.13; author jschauma; state Exp; branches; next 1.26; 1.26 date 2005.01.12.11.30.37; author agc; state Exp; branches; next 1.25; 1.25 date 2005.01.05.21.51.19; author tv; state Exp; branches; next 1.24; 1.24 date 2004.11.20.04.31.35; author grant; state Exp; branches; next 1.23; 1.23 date 2004.10.31.22.04.26; author wiz; state Exp; branches; next 1.22; 1.22 date 2004.10.08.17.29.00; author tv; state Exp; branches; next 1.21; 1.21 date 2004.10.08.17.26.45; author tv; state Exp; branches; next 1.20; 1.20 date 2004.08.27.06.48.58; author jlam; state Exp; branches; next 1.19; 1.19 date 2004.08.23.03.44.34; author jlam; state Exp; branches; next 1.18; 1.18 date 2004.05.11.02.07.19; author schmonz; state Exp; branches; next 1.17; 1.17 date 2004.05.05.14.39.45; author tv; state Exp; branches; next 1.16; 1.16 date 2004.04.24.19.17.09; author danw; state Exp; branches; next 1.15; 1.15 date 2004.04.23.02.03.18; author tv; state Exp; branches; next 1.14; 1.14 date 2004.04.21.20.35.18; author tv; state Exp; branches; next 1.13; 1.13 date 2004.04.16.23.47.02; author heinz; state Exp; branches; next 1.12; 1.12 date 2004.04.11.03.17.12; author heinz; state Exp; branches; next 1.11; 1.11 date 2004.04.07.12.05.37; author jmmv; state Exp; branches; next 1.10; 1.10 date 2004.03.29.02.20.04; author tv; state Exp; branches; next 1.9; 1.9 date 2004.03.28.01.55.17; author grant; state Exp; branches; next 1.8; 1.8 date 2004.03.21.01.06.37; author grant; state Exp; branches; next 1.7; 1.7 date 2004.03.11.20.49.09; author tv; state Exp; branches; next 1.6; 1.6 date 2004.03.11.20.47.56; author tv; state Exp; branches; next 1.5; 1.5 date 2004.03.11.19.45.09; author tv; state Exp; branches; next 1.4; 1.4 date 2004.03.11.17.47.18; author sketch; state Exp; branches; next 1.3; 1.3 date 2004.03.11.17.29.11; author tv; state Exp; branches; next 1.2; 1.2 date 2004.03.11.13.08.06; author grant; state Exp; branches; next 1.1; 1.1 date 2004.03.11.13.03.58; author grant; state Exp; branches 1.1.1.1; next ; 1.266.2.1 date 2019.07.06.16.23.36; author bsiegert; state Exp; branches; next 1.266.2.2; commitid qYr2pKAL9wdPb0uB; 1.266.2.2 date 2019.07.23.11.26.32; author bsiegert; state Exp; branches; next ; commitid KHjEU0G3md620awB; 1.260.2.1 date 2019.02.02.04.17.26; author triaxx; state Exp; branches; next ; commitid w6PjW7uaGktm79aB; 1.243.4.1 date 2017.10.31.15.53.48; author spz; state Exp; branches; next ; commitid OrLdYvN6TfsfJddA; 1.121.2.1 date 2008.06.05.11.57.46; author rtr; state Exp; branches; next ; 1.98.2.1 date 2007.07.09.14.10.57; author ghen; state Exp; branches; next ; 1.1.1.1 date 2004.03.11.13.03.58; author grant; state Exp; branches; next ; desc @@ 1.323 log @bootstrap: add some comments about Linux specifics @ text @#! /bin/sh # $NetBSD: bootstrap,v 1.322 2024/03/12 22:00:13 joerg Exp $ # # Copyright (c) 2001-2011 Alistair Crooks # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # #set -x # the following environment variables are honored: # compiler/linker flags: CFLAGS, CPPFLAGS, LDFLAGS, LIBS # tools: CP, GREP, ID, MKDIR, SH, TEST, TOUCH, XARGS # The bootstrap program must be able to run with very limited shells. # It must not use any of the following features: # # * the ${var%pattern} or ${var#pattern} expansions # * the $(command) subshell # Don't let the bootstrap program get confused by a pre-existing mk.conf # file. MAKECONF=/dev/null export MAKECONF # No vulnerability checks since there might be an incompatible checker installed NO_PKGTOOLS_REQD_CHECK=yes export NO_PKGTOOLS_REQD_CHECK unprivileged=no preserve_path=no # where the building takes place bootstrapdir=`dirname "$0"` bootstrapdir=`cd "${bootstrapdir}" && pwd` pkgsrcdir=`dirname "${bootstrapdir}"` wrkdir="`pwd`/work" usage="Usage: $0 "' [ --abi [32|64] ] [ --binary-kit ] [ --compiler ] [ --cwrappers ] [ --full ] [ --gzip-binary-kit ] [ --help ] [ --machine-arch ] [ --make-jobs ] [ --mk-fragment ] [ --pkgdbdir ] [ --pkginfodir ] [ --pkgmandir ] [ --prefer-pkgsrc ] [ --prefer-native ] [ --prefix ] [ --preserve-path ] [ --quiet ] [ --sysconfbase ] [ --sysconfdir ] [ --unprivileged | --ignore-user-check ] [ --varbase ] [ --workdir ] ' # strip / for BSD/OS, strip - for HP-UX opsys=`uname -s | tr -d /-` mkbinarykit_tar() { # in case tar was built by bootstrap PATH="$prefix/bin:$PATH"; export PATH cd / && tar -hcf "${binary_kit}" .$prefix .$pkgdbdir .$etc_mk_conf } mkbinarykit_tgz() { # in case tar was built by bootstrap PATH="$prefix/bin:$PATH"; export PATH cd / && tar -hcf - .$prefix .$pkgdbdir .$etc_mk_conf | gzip > "${binary_gzip_kit}" } die() { echo >&2 "$*" exit 1 } echo_msg() { echo "===> $*" } # see if we're using gcc. If so, set $compiler_is_gnu to '1'. get_compiler() { testcc="${CC}" # normally, we'd just use 'cc', but certain configure tools look # for gcc specifically, so we have to see if that comes first if [ -z "${testcc}" ]; then save_IFS="${IFS}" IFS=':' for dir in ${PATH}; do test -z "$dir" && dir=. if [ -x "$dir/gcc" ]; then testcc="$dir/gcc" break fi done IFS="${save_IFS}" fi # Clang compiler pretends to be GCC, so we have to check that cat >${wrkdir}/$$.c </dev/null | grep -c indeed` rm -f ${wrkdir}/$$.c cat >${wrkdir}/$$.c </dev/null | grep -c indeed` rm -f ${wrkdir}/$$.c } get_abi() { abi_opsys=$@@ if [ -n "$abi" ]; then case "$abi_opsys" in IRIX) die "ERROR: $abi_opsys has special ABI handling, --abi not supported (yet)." ;; esac fi case "$abi_opsys" in IRIX) if [ `uname -r` -ge 6 ]; then abi=`sed -e 's/.*\(abi=\)\([on]*[36][24]\).*/\2/' /etc/compiler.defaults` isa=`sed -e 's/.*\(isa=mips\)\([1234]\).*/\2/' /etc/compiler.defaults` case "$abi" in o32) imakeopts="-DBuildO32 -DSgiISAo32=$isa" abi="" ;; n32) imakeopts="-DBuildN32 -DSgiISA32=$isa" abi="32" ;; 64 | n64) imakeopts="-DBuild64bit -DSgiISA64=$isa" abi="64" ;; esac else # IRIX before 6 abi=32 fi ;; esac } get_machine_arch_aix() { _cpuid=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El $_cpuid | grep ' POWER' >/dev/null 2>&1; then echo rs6000 else echo powerpc fi } get_machine_arch_darwin() { case `uname -p` in arm) echo "aarch64" ;; i386) # Returns "i386" or "x86_64" depending on CPU echo `uname -m` ;; powerpc) echo "powerpc" ;; esac } check_prog() { _var="$1"; _name="$2" eval _tmp=\"\$$_var\" if [ "x$_tmp" != "x" ]; then # Variable is already set (by the user, for example) return 0 fi for _d in `echo $PATH | tr ':' ' '`; do if [ -f "$_d/$_name" ] && [ -x "$_d/$_name" ]; then # Program found eval $_var=\""$_d/$_name"\" return 1 fi done die "$_name not found in path." } opsys_finish() { case "$opsys" in IRIX) if [ -n "$imakeopts" ]; then echo "IMAKEOPTS+= $imakeopts" >> ${TARGET_MKCONF} fi if [ `uname -r` -lt 6 ]; then echo_msg "Installing fake ldd script" run_cmd "$install_sh -c -o $user -g $group -m 755 $pkgsrcdir/pkgtools/bootstrap-extras/files/fakeldd $prefix/sbin" need_extras=yes echo "LDD= $prefix/sbin/fakeldd" >> ${TARGET_MKCONF} fi ;; Haiku) need_extras=yes echo "LDD= $prefix/sbin/fakeldd" >> ${TARGET_MKCONF} ;; esac } is_root() { if [ `uname -s` = "IRIX" ]; then if [ `uname -r` -lt 6 -a -z "$ID" ]; then # older version of IRIX have an id command with limited features if [ "`$idprog`" != "uid=0(root) gid=0(sys)" ]; then return 1 fi return 0 fi fi if [ `$idprog -u` != 0 ]; then return 1 fi return 0 } # run a command, abort if it fails run_cmd() { echo_msg "running: $*" eval "$@@" ret=$? if [ $ret -ne 0 ]; then echo_msg "exited with status $ret" die "aborted." fi } # Some versions of mkdir (notably SunOS) bail out too easily, so use the # install-sh wrapper instead. mkdir_p() { for dir in "$@@"; do run_cmd "$install_sh -d -o $user -g $group $dir" done } mkdir_p_early() { [ -d "$1" ] && return 0 mkdir -p "$1" 2> /dev/null && return 0 parent=`dirname "$1"` mkdir_p_early "$parent" if [ ! -d "$1" ] && mkdir "$1"; then echo_msg "mkdir $1 exited with status $?" die "aborted." fi return 0 } copy_src() { _src="$1"; _dst="$2" if [ ! -d $wrkdir/$_dst ]; then mkdir_p $wrkdir/$_dst fi $cpprog -r $_src/* $wrkdir/$_dst if [ -f $wrkdir/$_dst/config.guess ]; then $cpprog $pkgsrcdir/mk/gnu-config/config.guess $wrkdir/$_dst/ fi if [ -f $wrkdir/$_dst/config.sub ]; then $cpprog $pkgsrcdir/mk/gnu-config/config.sub $wrkdir/$_dst/ fi } get_optarg() { expr "x$1" : "x[^=]*=\\(.*\\)" } # The --prefer-pkgsrc and --prefer native options require an argument, # but our manual getopt parser is unable to detect the difference # between a valid argument and the next getopt option (or no option # at all if it's the last). Ensure that the argument does not begin # with "-" or is empty in case the user forgets to provide one. checkarg_missing() { case $1 in -*|"") die "ERROR: $2 takes yes, no or a list" ;; esac } checkarg_sane_absolute_path() { case "$1" in "") ;; # the default value will be used. *[!-A-Za-z0-9_./]*) die "ERROR: Invalid characters in path $1 (from $2)." ;; */) die "ERROR: The argument to $2 must not end in /." ;; *//* | */. | */./* | */.. | */../*) die "ERROR: The path $1 (from $2) must be canonical." ;; /*) checkarg_no_symlink_path "$1" "$2" ;; *) die "ERROR: The argument to $2 must be an absolute path." ;; esac } checkarg_no_symlink_path() { _dir=$1 while [ ! -d "$_dir" ]; do _dir=`dirname "$_dir"` [ "$_dir" ] || _dir="/" done _realdir=`cd "$_dir" && exec pwd` [ "$_realdir" = "$_dir" ] && return die "ERROR: The path $1 (from $2) must not contain symlinks. Given path : $1 Resolved path: $_realdir${1##${_dir}} Several packages assume that the given path of $2 stays the same when symlinks are resolved. When that assumption fails, they will: * not find some include files or libraries during the build phase since the files from dependencies are not installed in \${WRKDIR}/.buildlink. * install their files into the wrong path inside \${WRKDIR}/.destdir, which will fail the PLIST check during the install phase." } checkarg_sane_relative_path() { case "$1" in "") ;; # the default value will be used. *[!-A-Za-z0-9_./]*) die "ERROR: Invalid characters in path $1 (from $2)." ;; /*) die "ERROR: The argument to $2 must be a relative path." ;; *) ;; esac } # # If we determine that a native version is good enough to use then it is saved # and we later write the appropriate TOOLS_PLATFORM variable to mk.conf to # override any further processing from mk/tools. Note that while these are # "bootstrap_foo" they are not used during bootstrap, but are stored in # TOOLS_PLATFORM.foo in the generated mk.conf. # bootstrap_awk= bootstrap_sed= bootstrap_sh=${SH-/bin/sh} bootstrap_sh_set=${SH+set} case "$bootstrap_sh" in /*) ;; *) die "ERROR: The variable SH must contain an absolute path" ;; esac if [ -n "$PKG_PATH" ]; then die "ERROR: Please unset PKG_PATH before running bootstrap." fi build_start=`date` echo_msg "bootstrap command: $0 $*" echo_msg "bootstrap started: $build_start" # ensure system locations are empty; we will set them later when we know # whether they will be system wide or user specific prefix= pkgdbdir= pkginfodir= pkgmandir= sysconfbase= sysconfdir= varbase= compiler="" cwrappers=auto full=no march= make_jobs=1 mk_fragment= quiet=no # Set these variables so that we can test whether they have been # correctly enabled by the user and not left empty prefer_native=unset prefer_pkgsrc=unset while [ $# -gt 0 ]; do case $1 in --workdir=*) wrkdir=`get_optarg "$1"` ;; --workdir) wrkdir="$2"; shift ;; --prefix=*) prefix=`get_optarg "$1"` ;; --prefix) prefix="$2"; shift ;; --pkgdbdir=*) pkgdbdir=`get_optarg "$1"` ;; --pkgdbdir) pkgdbdir="$2"; shift ;; --pkginfodir=*) pkginfodir=`get_optarg "$1"` ;; --pkginfodir) pkginfodir="$2"; shift ;; --pkgmandir=*) pkgmandir=`get_optarg "$1"` ;; --pkgmandir) pkgmandir="$2"; shift ;; --sysconfbase=*)sysconfbase=`get_optarg "$1"` ;; --sysconfbase) sysconfbase="$2"; shift ;; --sysconfdir=*) sysconfdir=`get_optarg "$1"` ;; --sysconfdir) sysconfdir="$2"; shift ;; --varbase=*) varbase=`get_optarg "$1"` ;; --varbase) varbase="$2"; shift ;; --compiler=*) compiler=`get_optarg "$1"` ;; --compiler) compiler="$2"; shift ;; --abi=*) abi=`get_optarg "$1"` ;; --abi) abi="$2"; shift ;; --cwrappers=*) cwrappers=`get_optarg "$1"` ;; --cwrappers) cwrappers="$2"; shift ;; --unprivileged | --ignore-user-check) unprivileged=yes ;; --prefer-pkgsrc=*) prefer_pkgsrc=`get_optarg "$1"` ;; --prefer-pkgsrc) prefer_pkgsrc="$2"; shift ;; --prefer-native=*) prefer_native=`get_optarg "$1"` ;; --prefer-native) prefer_native="$2"; shift ;; --preserve-path) preserve_path=yes ;; --mk-fragment=*) mk_fragment=`get_optarg "$1"` ;; --mk-fragment) mk_fragment="$2"; shift ;; --binary-kit=*) binary_kit=`get_optarg "$1"` ;; --binary-kit) binary_kit="$2"; shift ;; --gzip-binary-kit=*) binary_gzip_kit=`get_optarg "$1"` ;; --gzip-binary-kit) binary_gzip_kit="$2"; shift ;; --machine-arch=*) march=`get_optarg "$1"` ;; --machine-arch) march="$2"; shift ;; --make-jobs=*) make_jobs=`get_optarg "$1"` ;; --make-jobs) make_jobs="$2"; shift ;; --full) full=yes ;; --quiet) quiet=yes ;; --help) echo "$usage"; exit ;; -h) echo "$usage"; exit ;; -*) echo "${0##*/}: unknown option \"$1\"" 1>&2 echo "$usage" 1>&2; exit 1 ;; esac shift done checkarg_sane_absolute_path "$pkgdbdir" "--pkgdbdir" checkarg_sane_absolute_path "$sysconfbase" "--sysconfbase" checkarg_sane_absolute_path "$sysconfdir" "--sysconfdir" checkarg_sane_absolute_path "$varbase" "--varbase" checkarg_sane_relative_path "$pkginfodir" "--pkginfodir" checkarg_sane_relative_path "$pkgmandir" "--pkgmandir" checkarg_sane_absolute_path "$wrkdir" "--workdir" checkarg_missing "$prefer_pkgsrc" "--prefer-pkgsrc" checkarg_missing "$prefer_native" "--prefer-native" # set defaults for system locations if not already set by the user wrkobjdir=${wrkdir}/pkgsrc if [ "$unprivileged" = "yes" ]; then [ -z "$prefix" ] && prefix=${HOME}/pkg elif [ -z "$prefix" -o "$prefix" = "/usr/pkg" ]; then prefix=/usr/pkg [ -z "$sysconfbase" ] && sysconfbase=/etc [ -z "$varbase" ] && varbase=/var fi checkarg_sane_absolute_path "$prefix" "--prefix" [ -z "$varbase" ] && varbase=${prefix}/var [ -z "$pkgdbdir" ] && pkgdbdir=${prefix}/pkgdb if [ "$prefix" = "/usr" ]; then [ -z "$pkginfodir" ] && pkginfodir=share/info [ -z "$pkgmandir" ] && pkgmandir=share/man [ -z "$sysconfbase" ] && sysconfbase=/etc else [ -z "$pkginfodir" ] && pkginfodir=info [ -z "$pkgmandir" ] && pkgmandir=man [ -z "$sysconfbase" ] && sysconfbase=${prefix}/etc fi infodir=${prefix}/${pkginfodir} mandir=${prefix}/${pkgmandir} [ -z "$sysconfdir" ] && sysconfdir=${prefix}/etc if [ "x$preserve_path" != "xyes" ]; then PATH="$PATH:/sbin:/usr/sbin" fi if [ "$prefer_native" = "unset" ]; then prefer_native= fi if [ "$prefer_pkgsrc" = "unset" ]; then prefer_pkgsrc= fi overpath="" root_user=root bmakexargs= need_awk=no need_bsd_install=no need_extras=no need_sed=no need_xargs=no set_opsys=no use_bsdinstall= case "$opsys" in AIX) root_group=system need_bsd_install=yes need_awk=yes need_sed=yes need_ksh=yes need_fixed_strip=yes machine_arch=`get_machine_arch_aix` ;; CYGWIN_*) is_root () { if id -nG | grep -q 'Administrators'; then return 0 fi return 1 } root_user=Administrators root_group=Administrators opsys=`uname -o` need_sed=yes machine_arch=`uname -m` # only used for unprivileged builds. whoamiprog='id -u' groupsprog='id -g' ;; Darwin) root_group=wheel machine_arch=`get_machine_arch_darwin` check_compiler=yes if [ -n "${MACOSX_DEPLOYMENT_TARGET}" ]; then SDK_PATH=`/usr/bin/xcrun \ --sdk macosx${MACOSX_DEPLOYMENT_TARGET} \ --show-sdk-path 2>/dev/null || echo /nonexistent` CFLAGS="-isysroot ${SDK_PATH} ${CFLAGS}" export CFLAGS fi # Combine major.minor product version for simpler numerical tests. macos_version=`sw_vers -productVersion | \ awk -F. '{ printf("%02d%02d", $1, $2) }'` # Since 10.9, native sed exits when called on files with UTF-8 # or other apparently-binary content. if [ $macos_version -ge 1008 ]; then need_awk=yes need_sed=yes fi # Avoid system shells on macOS versions that enable System Integrity # Protection (SIP) as it affects packages that rely on variables such # as LD_LIBRARY_PATH. SIP unsets any variables that may affect # security when using system binaries, i.e. /bin/*sh, but using a # non-system shell is unaffected, at least for now. if [ $macos_version -ge 1011 ]; then need_mksh=yes fi # Old compiler versions looked in /usr/local/include where software # installed from MacPorts could affect builds. PR#26143 if [ $macos_version -lt 1006 ]; then CC=${CC:-"cc -isystem /usr/include"} export CC fi unset macos_version ;; DragonFly) root_group=wheel check_prog tarprog tar machine_arch=`uname -p` ;; FreeBSD) root_group=wheel machine_arch=`uname -p` check_compiler=yes ;; FreeMiNT) root_group=root machine_arch=m68k ;; GNUkFreeBSD) root_group=root need_awk=yes machine_arch=`uname -m` ;; Haiku) root_user=`id -un` root_group=root case `uname -m` in BeMac) machine_arch=powerpc ;; BePC) machine_arch=i386 ;; *) machine_arch=`uname -p` ;; esac ;; HPUX) root_group=sys need_bsd_install=yes need_awk=yes need_sed=yes machine_arch=`uname -m | sed 's/^9000.*$/hppa/'` ;; Interix) is_root () { if id -G | grep -q 131616; then return 0 fi return 1 } mkdir_p () { mkdir -p "$@@" # allows umask to take effect } default_install_mode=0775 root_user=`id -un` root_group=+Administrators case `uname -r` in 3.* | 5.*) need_bsd_install=yes need_awk=yes need_sed=yes need_xargs=yes ;; esac # only used for unprivileged builds groupsprog="id -gn" # for bootstrap only; pkgsrc uses CPPFLAGS CC="gcc -D_ALL_SOURCE"; export CC ac_cv_header_poll_h=no; export ac_cv_header_poll_h ac_cv_func_poll=no; export ac_cv_func_poll ;; IRIX*) if [ -d "/usr/freeware/bin" ]; then overpath="/usr/freeware/bin:$overpath" fi if [ -d "/usr/bsd" ]; then overpath="/usr/bsd:$overpath" fi if [ -d "/usr/bsd/bin" ]; then overpath="/usr/bsd/bin:$overpath" fi root_group=sys need_bsd_install=yes get_abi "IRIX" opsys=IRIX need_awk=yes need_sed=yes set_opsys=yes machine_arch=mipseb check_compiler=yes if [ `uname -r` -lt 6 ]; then # IRIX 5's mkdir bails out with an error when trying to create with the -p # option an already existing directory need_mkdir=yes fi ;; Linux) # XXX This was added in 2010 to handle Linux distros that use "wheel" # for root's group. It's a hack, since it only supports (apparently # now defunct) SSD Linux. if [ -f /etc/ssdlinux_version ]; then root_group=wheel else root_group=root fi # Debian/Ubuntu's awk is mawk, and mawk does not understand # some regexps used in pkgsrc/mk. if [ -f /etc/debian_version ]; then need_awk=yes # Arch uses gawk 5 that breaks some regexps. It doesn't provide pax # anymore. elif [ -f /etc/arch-release ]; then need_awk=yes need_pax=yes # ChromeOS provides a version of mawk that is permanently in restricted # mode. Notably, this means it cannot run pipes, which pkgsrc requires. elif grep -sq '^CHROMEOS_RELEASE_NAME' /etc/lsb-release; then need_awk=yes need_sed=yes fi machine_arch=`uname -m` # Override machine_arch where required. case "$machine_arch" in i?86) machine_arch=i386 ;; ppc64le) machine_arch=powerpc64le ;; esac ;; MidnightBSD) root_group=wheel machine_arch=`uname -p` check_compiler=yes ;; Minix) root_group=wheel machine_arch=`uname -p` check_compiler=yes ;; MirBSD) root_group=wheel need_pax=yes machine_arch=`arch -s` # there is no /usr/bin/cc, so use mgcc if unset test -n "$CC" || { CC=mgcc; export CC; } # get some variables from the native make if unset for var in CFLAGS CPPFLAGS LDFLAGS; do # check if variable is already set eval _tmp=\"\$$var\" [ "x$_tmp" != x ] && continue # ask the native make (EXPERIMENTAL = don't add -Werror) # the -I${.CURDIR} dance is to prevent junk in CPPFLAGS _tmp=`printf '%s\nall:\n\t@@%s %%s %s=${%s:M*:Q:Q}\n%s\n%s\n' \ $var'+=-I${.CURDIR}' printf $var $var':S/-I${.CURDIR}//' \ EXPERIMENTAL=yes '.include ' | \ (unset MAKECONF; /usr/bin/make -f - all 2>/dev/null) | \ sed 's/^x//'` eval $_tmp eval export $var done ;; NetBSD) root_group=wheel machine_arch=`uname -p` ;; OpenBSD) root_group=wheel machine_arch=`arch -s` CC=${CC:-cc}; export CC check_compiler=yes ;; OSF1) root_group=system need_bsd_install=yes need_awk=yes need_sed=yes need_mksh=yes shprog=/bin/ksh machine_arch=`uname -p` ;; QNX) root_group=root need_bsd_install=yes need_awk=yes need_sed=yes groupsprog="id -gn" whoamiprog="id -un" machine_arch=`uname -p | sed -e 's/x86/i386/'` # libarchive checks for "rm -f" with no arguments being accepted. This # does not work on QNX. Interestingly, libarchive doesn't seem to # actually need it during the build. export ACCEPT_INFERIOR_RM_PROGRAM=yes ;; SCO_SV) root_group=root need_awk=yes need_bsd_install=yes need_sed=yes if [ -x "/usr/bin/bash" ]; then bootstrap_sh=${SH:-/usr/bin/bash} bootstrap_sh_set=set else need_mksh=yes fi whoamiprog='id -u' groupsprog='id -g' # /bin/sh under OpenServer 5.0.7/3.2 breaks bmake tests. #bmakexargs="$bmakexargs --with-defshell=/bin/ksh" ;; SunOS) root_group=root need_bsd_install=yes use_bsdinstall=yes # Use native nawk and sed if available on newer illumos. /usr/bin/nawk --version 2>/dev/null | grep "awk version " >/dev/null if [ $? -eq 0 ]; then bootstrap_awk="/usr/bin/nawk" elif [ ! -x "/usr/gnu/bin/awk" ]; then need_awk=yes fi /usr/bin/sed -h 2>&1 | grep -- "-i extension" >/dev/null if [ $? -eq 0 ]; then bootstrap_sed="/usr/bin/sed" elif [ ! -x "/usr/gnu/bin/sed" ]; then need_sed=yes fi if [ -x "/usr/bin/bash" ]; then bootstrap_sh=${SH:-/usr/bin/bash} bootstrap_sh_set=set shprog=$bootstrap_sh else need_mksh=yes fi idprog="/usr/xpg4/bin/id" groupsprog="${idprog} -gn" whoamiprog="${idprog} -un" machine_arch=`isainfo -k` check_compiler=yes check_ssp=yes ;; UnixWare) root_group=sys BSTRAP_ENV="INSTALL=/usr/ucb/install $BSTRAP_ENV" need_mkdir=yes need_awk=yes need_sed=yes if [ -x "/usr/bin/bash" ]; then bootstrap_sh=${SH:-/usr/bin/bash} bootstrap_sh_set=set else need_mksh=yes fi whoamiprog=/usr/ucb/whoami machine_arch=`uname -m` CC="gcc -DUNIXWARE"; export CC ;; *) echo "This platform ($opsys) is untried - good luck, and thanks for using pkgsrc" root_group=wheel need_bsd_install=yes need_awk=yes need_sed=yes ;; esac # Override if the user explicitly requests it. if [ -n "${march}" ]; then machine_arch="${march}" fi # Fix up MACHINE_ARCH to use canonical pkgsrc variants, and support multiarch # systems via --abi, setting a default $abi based on MACHINE_ARCH if not set. # case "$machine_arch/$abi" in # "amd64" translates to "x86_64", defaults to 64-bit amd64/32) abi=32 machine_arch=i386 ;; amd64/*) abi=64 machine_arch=x86_64 ;; # XXX: hppa untested hppa/64) abi=64 machine_arch=hppa64 ;; hppa/*) abi=32 machine_arch=hppa ;; hppa64/32) abi=32 machine_arch=hppa ;; hppa64/*) abi=64 machine_arch=hppa64 ;; # "i386" can support 64-bit, e.g. SunOS, defaults to 32-bit. i386/64) abi=64 machine_arch=x86_64 ;; i386/*) abi=32 machine_arch=i386 ;; # XXX: powerpc untested powerpc/64) abi=64 machine_arch=powerpc64 ;; powerpc/*) abi=32 machine_arch=powerpc ;; powerpc64/32) abi=32 machine_arch=powerpc ;; powerpc64/*) abi=64 machine_arch=powerpc64 ;; powerpc64le/*) abi=64 machine_arch=powerpc64le;; # sparc/sparcv9 support 32-bit/64-bit, default to native. sparcv9/32) abi=32 machine_arch=sparc ;; sparcv9/*) abi=64 machine_arch=sparc64 ;; sparc/64) abi=64 machine_arch=sparc64 ;; sparc/*) abi=32 machine_arch=sparc ;; # x86_64 supports 32-bit/64-bit, defaults to 64-bit. x86_64/32) abi=32 machine_arch=i386 ;; x86_64/*) abi=64 machine_arch=x86_64 ;; esac # If "--full" is specified, then install all of the platform-independent # bootstrap software. # case "$full" in yes) need_bsd_install=yes need_awk=yes need_sed=yes need_mksh=yes ;; esac # mksh and ksh are mutually exclusive, prefer mksh while we transition to it. case "$need_mksh" in yes) need_ksh=no ;; esac case "$quiet" in yes) configure_quiet_flags="--quiet" make_quiet_flags="-s" ;; no) configure_quiet_flags="" make_quiet_flags="" esac test ${make_jobs} -gt 0 2>/dev/null if [ $? -ne 0 ]; then die "ERROR: --make-jobs must be a positive integer argument" fi # export MACHINE_ARCH and OPSYS for bmake and pkg_install. MACHINE_ARCH=${machine_arch}; export MACHINE_ARCH OPSYS=${opsys}; export OPSYS if [ "x$preserve_path" != "xyes" ]; then PATH="$overpath:$PATH" fi # These programs are used during the bootstrapping process, as opposed # to $bootstrap_foo which are stored in mk.conf as TOOLS_PLATFORM.foo. check_prog awkprog awk check_prog chmodprog chmod if [ -n "$CP" ]; then cpprog="$CP" else check_prog cpprog cp fi if [ -n "$ID" ]; then idprog="$ID" else check_prog idprog id fi check_prog groupsprog groups check_prog lnprog ln check_prog lsprog ls check_prog rmdirprog rmdir check_prog sedprog sed check_prog shprog sh check_prog whoamiprog whoami if [ -d "${wrkdir}" ] || [ -f "${wrkdir}" ]; then die "\"${wrkdir}\" already exists, please remove it or use --workdir" fi if [ -f "${prefix}/share/mk/sys.mk" ]; then die "\"${prefix}\" already in use, remove it or use a different --prefix" fi if [ -d "${pkgdbdir}/bootstrap-mk-files-"* ]; then die "\"${pkgdbdir}\" already in use, remove it or use a different --pkgdbdir" fi mkdir_p_early ${wrkdir} if touch ${wrkdir}/.writeable; then : else die "\"${wrkdir}\" is not writeable. Try $0 -h" fi echo "Working directory is: ${wrkdir}" if [ "$compiler" = "" ] && [ x"$check_compiler" = x"yes" ]; then get_compiler # Clang pretends to be GCC, so we have to check it first. if [ $compiler_is_clang -gt 0 ]; then compiler="clang" elif [ $compiler_is_gnu -gt 0 ]; then compiler="gcc" else case "$opsys" in IRIX) if [ `uname -r` -ge 6 ]; then compiler="mipspro" else compiler="ido" fi ;; SunOS) compiler="sunpro" ;; esac fi fi case "$compiler" in clang|gcc) test -n "$CC" || CC=$compiler ;; *) test -n "$CC" || CC=cc ;; esac has_ssp_support() { mkdir_p_early ${wrkdir}/tmp echo 'int main(void){return 0;}' > ${wrkdir}/tmp/ssp.c ${CC:-cc} -fstack-protector-strong -o ${wrkdir}/tmp/ssp ${wrkdir}/tmp/ssp.c >/dev/null 2>&1 if [ $? -eq 0 ]; then echo yes else echo no fi } if [ "$has_ssp" = "" ] && [ x"$check_ssp" = x"yes" ]; then has_ssp=`has_ssp_support` fi mkdir_p_early ${wrkdir}/bin # build install-sh run_cmd "$sedprog -e 's|@@DEFAULT_INSTALL_MODE@@|'${default_install_mode-0755}'|' $pkgsrcdir/sysutils/install-sh/files/install-sh.in > $wrkdir/bin/install-sh" run_cmd "$chmodprog +x $wrkdir/bin/install-sh" install_sh="$shprog $wrkdir/bin/install-sh" if [ $unprivileged = "yes" ]; then user=`$whoamiprog` group=`$groupsprog | $awkprog '{print $1}'` echo_msg "building as unprivileged user $user/$group" # force bmake install target to use $user and $group echo "BINOWN=$user BINGRP=$group LIBOWN=$user LIBGRP=$group MANOWN=$user MANGRP=$group" > ${wrkdir}/Makefile.inc elif is_root; then user=$root_user group=$root_group else die "You must be either root to install bootstrap-pkgsrc or use the --unprivileged option." fi # export the proper environment PATH=$prefix/bin:$prefix/sbin:${PATH}; export PATH if [ -d /usr/ccs/bin -a -x /usr/ccs/bin/make ]; then PATH=${PATH}:/usr/ccs/bin; export PATH fi PKG_DBDIR=$pkgdbdir; export PKG_DBDIR LOCALBASE=$prefix; export LOCALBASE VARBASE=$varbase; export VARBASE if [ x"$has_ssp" = x"no" ] && [ x"$check_ssp" = x"yes" ]; then _OPSYS_SUPPORTS_SSP=no; export _OPSYS_SUPPORTS_SSP fi # set up an example mk.conf file TARGET_MKCONF=${wrkdir}/mk.conf.example echo_msg "Creating default mk.conf in ${wrkdir}" echo "# Example ${sysconfdir}/mk.conf file produced by bootstrap-pkgsrc" > ${TARGET_MKCONF} echo "# `date`" >> ${TARGET_MKCONF} echo "" >> ${TARGET_MKCONF} echo ".ifdef BSD_PKG_MK # begin pkgsrc settings" >> ${TARGET_MKCONF} echo "" >> ${TARGET_MKCONF} # IRIX64 needs to be set to IRIX, for example if [ "$set_opsys" = "yes" ]; then echo "OPSYS= $opsys" >> ${TARGET_MKCONF} fi if [ -n "$abi" ]; then echo "ABI= $abi" >> ${TARGET_MKCONF} fi if [ "$compiler" != "" ]; then echo "PKGSRC_COMPILER= $compiler" >> ${TARGET_MKCONF} fi case "$compiler" in sunpro) echo "CC= cc" >> ${TARGET_MKCONF} echo "CXX= CC" >> ${TARGET_MKCONF} echo "CPP= \${CC} -E" >> ${TARGET_MKCONF} ;; clang) echo "CC= clang" >> ${TARGET_MKCONF} echo "CXX= clang++" >> ${TARGET_MKCONF} echo "CPP= \${CC} -E" >> ${TARGET_MKCONF} if [ -z "$CLANGBASE" -a -f "/usr/bin/clang" ]; then CLANGBASE="/usr" fi if [ -n "$CLANGBASE" -o -f "/bin/clang" ]; then echo "CLANGBASE= $CLANGBASE" >> ${TARGET_MKCONF} fi ;; esac if [ -n "$GCCBASE" ]; then echo "GCCBASE= $GCCBASE" >> ${TARGET_MKCONF} fi if [ -n "$SUNWSPROBASE" ]; then echo "SUNWSPROBASE= $SUNWSPROBASE" >> ${TARGET_MKCONF} fi echo "" >> ${TARGET_MKCONF} if [ x"$has_ssp" = x"no" ] && [ x"$check_ssp" = x"yes" ]; then echo "_OPSYS_SUPPORTS_SSP= no" >> ${TARGET_MKCONF} fi # enable unprivileged builds if not root if [ "$unprivileged" = "yes" ]; then echo "UNPRIVILEGED= yes" >> ${TARGET_MKCONF} fi # save environment in example mk.conf echo "PKG_DBDIR= $pkgdbdir" >> ${TARGET_MKCONF} echo "LOCALBASE= $prefix" >> ${TARGET_MKCONF} if [ "${sysconfbase}" != "/etc" ]; then echo "SYSCONFBASE= $sysconfbase" >> ${TARGET_MKCONF} fi echo "VARBASE= $varbase" >> ${TARGET_MKCONF} if [ "${sysconfdir}" != "${prefix}/etc" ]; then echo "PKG_SYSCONFBASE= $sysconfdir" >> ${TARGET_MKCONF} fi echo "PKG_TOOLS_BIN= $prefix/sbin" >> ${TARGET_MKCONF} echo "PKGINFODIR= $pkginfodir" >> ${TARGET_MKCONF} echo "PKGMANDIR= $pkgmandir" >> ${TARGET_MKCONF} echo "" >> ${TARGET_MKCONF} case $opsys in OpenBSD) # Use PREFER_PKGSRC=yes to work around libressl compatibility problem if [ -z "$prefer_pkgsrc" ] && [ "$prefer_native" != "yes" ]; then prefer_pkgsrc="yes" fi ;; Linux) # Default to PREFER_PKGSRC=yes unless user specifies --prefer-native=yes # Linux systems likely have software from other packages managers # like yum or apt that can leak into pkgsrc and cause issues as they # age, undergo ABI changes, or get added/removed behind our backs. # Let pkgsrc maintain all dependencies to avoid these problems. # The exception here is Elbrus 2000, for which a lot of patches have # not been upstreamed, so that it is better to use native. if [ -z "$prefer_pkgsrc" ] && [ "$prefer_native" != "yes" ] && \ [ "$machine_arch" != "e2k" ]; then prefer_pkgsrc="yes" fi ;; esac if [ -n "$prefer_pkgsrc" ]; then echo "# WARNING: Changing PREFER_* after bootstrap will require rebuilding all" >> ${TARGET_MKCONF} echo "# packages with a dependency that switched between native/pkgsrc." >> ${TARGET_MKCONF} echo "PREFER_PKGSRC= $prefer_pkgsrc" >> ${TARGET_MKCONF} echo "" >> ${TARGET_MKCONF} fi if [ -n "$prefer_native" ]; then echo "PREFER_NATIVE= $prefer_native" >> ${TARGET_MKCONF} echo "" >> ${TARGET_MKCONF} fi BOOTSTRAP_MKCONF=${wrkdir}/mk.conf cp ${TARGET_MKCONF} ${BOOTSTRAP_MKCONF} case "$cwrappers" in yes|no) echo "USE_CWRAPPERS= $cwrappers" >> ${TARGET_MKCONF} echo "USE_CWRAPPERS= $cwrappers" >> ${BOOTSTRAP_MKCONF} echo "" >> ${TARGET_MKCONF} ;; esac # On all Debian GNU/kFreeBSD 7, /bin/sh is a symlink to /bin/dash, and # use /bin/bash. # Only needed by legacy wrappers. if [ "$opsys" = "GNUkFreeBSD" -a "$bootstrap_sh_set" != "set" ]; then echo "TOOLS_PLATFORM.sh?= /bin/bash # instead of /bin/sh" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.sh?= /bin/bash # instead of /bin/sh" >> ${BOOTSTRAP_MKCONF} echo $opsys fi # sbin is used by pkg_install, share/mk by bootstrap-mk-files mkdir_p $wrkdir/sbin $wrkdir/share/mk mkdir_p_early ${wrkdir} if [ "$need_bsd_install" = "yes" ]; then BSTRAP_ENV="INSTALL='$prefix/bin/install-sh -c' $BSTRAP_ENV" if [ "$use_bsdinstall" = "yes" ]; then echo "TOOLS_PLATFORM.install?= $prefix/bin/bsdinstall" >> ${TARGET_MKCONF} else echo "TOOLS_PLATFORM.install?= $prefix/bin/install-sh" >> ${TARGET_MKCONF} fi echo "TOOLS_PLATFORM.install?= $wrkdir/bin/install-sh" >> ${BOOTSTRAP_MKCONF} fi if [ "$need_fixed_strip" = "yes" ] ; then echo_msg "Installing fixed strip script" run_cmd "$install_sh -c -o $user -g $group -m 755 $pkgsrcdir/pkgtools/bootstrap-extras/files/strip-sh $wrkdir/bin/strip" echo "TOOLS_PLATFORM.strip?= $prefix/bin/strip" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.strip?= $wrkdir/bin/strip" >> ${BOOTSTRAP_MKCONF} need_extras=yes fi if [ "$need_mkdir" = "yes" -a -z "$MKDIR" ]; then echo_msg "Installing fixed mkdir script \"mkdir-sh\"" run_cmd "$install_sh -c -o $user -g $group -m 755 $pkgsrcdir/pkgtools/bootstrap-extras/files/mkdir-sh $wrkdir/bin/mkdir-sh" echo "TOOLS_PLATFORM.mkdir?= $prefix/bin/mkdir-sh -p" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.mkdir?= $wrkdir/bin/mkdir-sh -p" >> ${BOOTSTRAP_MKCONF} need_extras=yes fi if [ "$need_xargs" = "yes" ]; then echo_msg "Installing fixed xargs script" run_cmd "$install_sh -c -o $user -g $group -m 755 $pkgsrcdir/pkgtools/bootstrap-extras/files/xargs-sh $wrkdir/bin/xargs" echo "TOOLS_PLATFORM.xargs?= $prefix/bin/xargs" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.xargs?= $wrkdir/bin/xargs" >> ${BOOTSTRAP_MKCONF} need_extras=yes fi echo_msg "Bootstrapping mk-files" run_cmd "(cd ${pkgsrcdir}/pkgtools/bootstrap-mk-files/files && env CP=${cpprog} \ OPSYS=${opsys} MK_DST=${wrkdir}/share/mk ROOT_GROUP=${root_group} \ ROOT_USER=${root_user} SED=${sedprog} SYSCONFDIR=${sysconfdir} \ $shprog ./bootstrap.sh)" if [ -n "${bootstrap_sh_set}" ]; then bmakexargs="${bmakexargs} --with-defshell=${bootstrap_sh}" fi bootstrap_bmake() { echo_msg "Bootstrapping bmake" copy_src $pkgsrcdir/devel/bmake/files bmake run_cmd "(cd $wrkdir/bmake && $shprog configure $configure_quiet_flags --prefix=$wrkdir --with-default-sys-path=$wrkdir/share/mk --with-machine-arch=${machine_arch} $bmakexargs)" run_cmd "(cd $wrkdir/bmake && $shprog make-bootstrap.sh)" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/bmake/bmake $wrkdir/bin/bmake" } bootstrap_bmake bmake="$wrkdir/bin/bmake" # build libnbcompat echo_msg "Building libnbcompat" copy_src $pkgsrcdir/pkgtools/libnbcompat/files libnbcompat run_cmd "(cd $wrkdir/libnbcompat; $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --infodir=$infodir --mandir=$mandir --sysconfdir=$sysconfdir --enable-bsd-getopt --enable-db && $bmake $make_quiet_flags -j$make_jobs)" # bootstrap mksh if necessary case "$need_mksh" in yes) echo_msg "Bootstrapping mksh" copy_src $pkgsrcdir/shells/mksh/files mksh run_cmd "(cd $wrkdir/mksh && env $BSTRAP_ENV CC=\"${CC}\" $shprog Build.sh -r)" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/mksh/mksh $wrkdir/bin/mksh" echo "TOOLS_PLATFORM.sh?= $prefix/bin/mksh" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.sh?= $wrkdir/bin/mksh" >> ${BOOTSTRAP_MKCONF} echo_msg "Rebootstrapping bmake for mksh" bmakexargs="$bmakexargs --with-defshell=$wrkdir/bin/mksh" bootstrap_bmake ;; esac # bootstrap ksh if necessary case "$need_ksh" in yes) echo_msg "Bootstrapping ksh" copy_src $pkgsrcdir/shells/pdksh/files ksh run_cmd "(cd $wrkdir/ksh && env $BSTRAP_ENV $shprog ./configure $configure_quiet_flags --prefix=$prefix --infodir=$infodir --mandir=$mandir --sysconfdir=$sysconfdir && $bmake $make_quiet_flags -j$make_jobs)" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/ksh/ksh $wrkdir/bin/pdksh" echo "TOOLS_PLATFORM.sh?= $prefix/bin/pdksh" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.sh?= $wrkdir/bin/pdksh" >> ${BOOTSTRAP_MKCONF} echo "TOOLS_PLATFORM.ksh?= $prefix/bin/pdksh" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.ksh?= $wrkdir/bin/pdksh" >> ${BOOTSTRAP_MKCONF} # Now rebootstrap bmake for ksh echo_msg "Rebootstrapping bmake for ksh" bmakexargs="$bmakexargs --with-defshell=$wrkdir/bin/pdksh" bootstrap_bmake ;; esac # bootstrap awk if necessary case "$need_awk" in yes) echo_msg "Bootstrapping awk" copy_src $pkgsrcdir/lang/nawk/files awk run_cmd "(cd $wrkdir/awk && $bmake $make_quiet_flags -j$make_jobs -f Makefile CC=\"${CC}\" CFLAGS=\"${CFLAGS}\")" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/awk/a.out $wrkdir/bin/nawk" echo "TOOLS_PLATFORM.awk?= $prefix/bin/nawk" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.awk?= $wrkdir/bin/nawk" >> ${BOOTSTRAP_MKCONF} ;; *) if [ -n "${bootstrap_awk}" ]; then echo "TOOLS_PLATFORM.awk?= ${bootstrap_awk}" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.awk?= ${bootstrap_awk}" >> ${BOOTSTRAP_MKCONF} fi ;; esac # bootstrap sed if necessary case "$need_sed" in yes) echo_msg "Bootstrapping sed" copy_src $pkgsrcdir/textproc/nbsed/files sed run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='$LIBS -lnbcompat' $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --infodir=$infodir --mandir=$mandir --sysconfdir=$sysconfdir --program-transform-name='s,sed,nbsed,' && $bmake $make_quiet_flags -j$make_jobs)" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/sed/sed $wrkdir/bin/sed" echo "TOOLS_PLATFORM.sed?= $prefix/bin/nbsed" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.sed?= $wrkdir/bin/sed" >> ${BOOTSTRAP_MKCONF} ;; *) if [ -n "${bootstrap_sed}" ]; then echo "TOOLS_PLATFORM.sed?= ${bootstrap_sed}" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.sed?= ${bootstrap_sed}" >> ${BOOTSTRAP_MKCONF} fi ;; esac # bootstrap pkg_install extra_libarchive_depends() { $sedprog -n -e 's/Libs.private: //p' $wrkdir/libarchive/build/pkgconfig/libarchive.pc } echo_msg "Bootstrapping pkgtools" copy_src $pkgsrcdir/archivers/libarchive/files libarchive run_cmd "(cd $wrkdir/libarchive; env $BSTRAP_ENV CONFIG_SHELL=$shprog \ $shprog ./configure $configure_quiet_flags --enable-static --disable-shared \ --disable-bsdcat --disable-bsdtar --disable-bsdcpio --disable-bsdunzip \ --disable-posix-regex-lib --disable-xattr --disable-maintainer-mode \ --disable-acl --without-zlib --without-bz2lib --without-iconv --without-lzma \ --without-lzo2 --without-lz4 --without-nettle --without-openssl \ --without-xml2 --without-expat --without-zstd \ MAKE=$bmake && $bmake $make_quiet_flags -j$make_jobs)" copy_src $pkgsrcdir/pkgtools/pkg_install/files pkg_install run_cmd "(cd $wrkdir/pkg_install; env $BSTRAP_ENV \ CPPFLAGS='$CPPFLAGS -I${wrkdir}/libnbcompat -I${wrkdir}/libarchive/libarchive' \ LDFLAGS='$LDFLAGS -L${wrkdir}/libnbcompat' \ LIBS='$LIBS -lnbcompat' $shprog ./configure $configure_quiet_flags -C \ --enable-bootstrap --prefix=$prefix --sysconfdir=$sysconfdir \ --with-pkgdbdir=$pkgdbdir --infodir=$infodir \ --mandir=$mandir $pkg_install_args && \ STATIC_LIBARCHIVE=$wrkdir/libarchive/.libs/libarchive.a \ STATIC_LIBARCHIVE_LDADD='`extra_libarchive_depends`' \ PKGSRC_MACHINE_ARCH="$machine_arch" $bmake $make_quiet_flags -j$make_jobs)" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/pkg_install/add/pkg_add $wrkdir/sbin/pkg_add" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/pkg_install/admin/pkg_admin $wrkdir/sbin/pkg_admin" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/pkg_install/create/pkg_create $wrkdir/sbin/pkg_create" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/pkg_install/info/pkg_info $wrkdir/sbin/pkg_info" echo "NATIVE_PKG_ADD_CMD?= $wrkdir/sbin/pkg_add" >> ${BOOTSTRAP_MKCONF} echo "NATIVE_PKG_ADMIN_CMD?= $wrkdir/sbin/pkg_admin" >> ${BOOTSTRAP_MKCONF} echo "NATIVE_PKG_CREATE_CMD?= $wrkdir/sbin/pkg_create" >> ${BOOTSTRAP_MKCONF} echo "NATIVE_PKG_INFO_CMD?= $wrkdir/sbin/pkg_info" >> ${BOOTSTRAP_MKCONF} MAKECONF=$wrkdir/mk.conf export MAKECONF if [ "$bootstrap_sh_set" = "set" ]; then echo "TOOLS_PLATFORM.sh?= ${bootstrap_sh}" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.sh?= ${bootstrap_sh}" >> ${BOOTSTRAP_MKCONF} fi # preserve compiler and tool environment variables settings if test -n "$CP"; then echo "TOOLS_PLATFORM.cp?= $CP" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.cp?= $CP" >> ${BOOTSTRAP_MKCONF} fi if test -n "$GREP"; then echo "TOOLS_PLATFORM.grep?= $GREP" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.grep?= $GREP" >> ${BOOTSTRAP_MKCONF} fi if test -n "$EGREP"; then echo "TOOLS_PLATFORM.egrep?= $EGREP" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.egrep?= $EGREP" >> ${BOOTSTRAP_MKCONF} fi if test -n "$FGREP"; then echo "TOOLS_PLATFORM.fgrep?= $FGREP" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.fgrep?= $FGREP" >> ${BOOTSTRAP_MKCONF} fi if test -n "$ID"; then echo "TOOLS_PLATFORM.id?= $ID" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.id?= $ID" >> ${BOOTSTRAP_MKCONF} fi if test -n "$MKDIR"; then echo "TOOLS_PLATFORM.mkdir?= $MKDIR" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.mkdir?= $MKDIR" >> ${BOOTSTRAP_MKCONF} fi if test -n "$TEST"; then echo "TOOLS_PLATFORM.test?= $TEST" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.test?= $TEST" >> ${BOOTSTRAP_MKCONF} fi if test -n "$TOUCH"; then echo "TOOLS_PLATFORM.touch?= $TOUCH" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.touch?= $TOUCH" >> ${BOOTSTRAP_MKCONF} fi if test -n "$XARGS"; then echo "TOOLS_PLATFORM.xargs?= $XARGS" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.xargs?= $XARGS" >> ${BOOTSTRAP_MKCONF} fi if test -n "$CFLAGS"; then echo "CFLAGS+= $CFLAGS" >> ${TARGET_MKCONF} echo "DBG= # prevent DBG from adding default optimizer flags" >> ${TARGET_MKCONF} echo "DBG= # prevent DBG from adding default optimizer flags" >> ${BOOTSTRAP_MKCONF} fi if test -n "$CPPFLAGS"; then echo "CPPFLAGS+= $CPPFLAGS" >> ${TARGET_MKCONF} fi if test -n "$LDFLAGS"; then echo "LDFLAGS+= $LDFLAGS" >> ${TARGET_MKCONF} fi if test -n "$LIBS"; then echo "LIBS+= $LIBS" >> ${TARGET_MKCONF} fi if test -n "$MACOSX_DEPLOYMENT_TARGET"; then echo "MACOSX_DEPLOYMENT_TARGET= $MACOSX_DEPLOYMENT_TARGET" >>${TARGET_MKCONF} echo "MACOSX_DEPLOYMENT_TARGET= $MACOSX_DEPLOYMENT_TARGET" >>${BOOTSTRAP_MKCONF} fi # opsys specific fiddling opsys_finish echo "WRKOBJDIR= ${wrkdir}/wrk" >> ${BOOTSTRAP_MKCONF} echo "" >> ${TARGET_MKCONF} echo "" >> ${BOOTSTRAP_MKCONF} if test -n "${mk_fragment}"; then cat "${mk_fragment}" >> ${TARGET_MKCONF} echo "" >> ${TARGET_MKCONF} fi echo ".endif # end pkgsrc settings" >> ${TARGET_MKCONF} echo ".endif # end pkgsrc settings" >> ${BOOTSTRAP_MKCONF} # build and register packages # usage: build_package build_package() { run_cmd "(cd $pkgsrcdir/$1 && $bmake $make_quiet_flags MAKE_JOBS=${make_jobs} PKG_COMPRESSION=none -DPKG_PRESERVE PKGSRC_KEEP_BIN_PKGS=no MAKECONF=${BOOTSTRAP_MKCONF} install)" } build_package_nopreserve() { run_cmd "(cd $pkgsrcdir/$1 && $bmake $make_quiet_flags MAKE_JOBS=${make_jobs} PKG_COMPRESSION=none PKGSRC_KEEP_BIN_PKGS=no MAKECONF=${BOOTSTRAP_MKCONF} install)" } # # Special packages that we don't want marked with BOOTSTRAP_PKG, but must be # built (if required) without -DPKG_PRESERVE set so that they can be deleted. # use_cwrappers=`(cd $pkgsrcdir/devel/bmake && $bmake show-var VARNAME=_USE_CWRAPPERS)` case "$use_cwrappers" in yes) build_package_nopreserve "pkgtools/cwrappers" ;; esac use_mktools=`(cd $pkgsrcdir/devel/bmake && $bmake show-var VARNAME=_PKGSRC_USE_MKTOOLS)` case "$use_mktools" in yes) build_package_nopreserve "pkgtools/mktools" ;; esac # # Please make sure that the following packages and # only the following packages set BOOTSTRAP_PKG=yes. # echo_msg "Installing packages" build_package "pkgtools/bootstrap-mk-files" case "$need_bsd_install" in yes) if [ "$use_bsdinstall" = "yes" ]; then build_package "sysutils/bsdinstall" else build_package "sysutils/install-sh" fi ;; esac case "$need_mksh" in yes) build_package "shells/mksh";; esac case "$need_ksh" in yes) build_package "shells/pdksh";; esac build_package "devel/bmake" case "$need_awk" in yes) build_package "lang/nawk";; esac case "$need_sed" in yes) build_package "textproc/nbsed";; esac case "$need_extras" in yes) build_package "pkgtools/bootstrap-extras";; esac case "$need_pax" in yes) build_package "archivers/pax" esac build_package "pkgtools/pkg_install" etc_mk_conf="$sysconfdir/mk.conf" # Install the example mk.conf so that it is used, but only if it doesn't # exist yet. This can happen with non-default sysconfdir settings. mkdir_p "$sysconfdir" if [ ! -f "$etc_mk_conf" ]; then cp "$TARGET_MKCONF" "$etc_mk_conf" TARGET_MKCONF="$etc_mk_conf" fi [ -n "${binary_kit}" ] && mkbinarykit_tar [ -n "${binary_gzip_kit}" ] && mkbinarykit_tgz hline="===========================================================================" echo "" echo "$hline" echo "" echo "Please remember to add $prefix/bin to your PATH environment variable" echo "and $mandir to your MANPATH environment variable, if necessary." echo "" echo "An example mk.conf file with the settings you provided to \"bootstrap\"" echo "has been created for you. It can be found in:" echo "" echo " ${TARGET_MKCONF}" echo "" if [ "$TARGET_MKCONF" != "$etc_mk_conf" ]; then echo "Please copy it to $etc_mk_conf to use it." echo "" fi echo "You can find extensive documentation of the NetBSD Packages Collection" echo "in $pkgsrcdir/doc/pkgsrc.txt." echo "" echo "Thank you for using pkgsrc!" echo "" echo "$hline" echo "" echo_msg "bootstrap started: $build_start" echo_msg "bootstrap ended: `date`" exit 0 @ 1.322 log @Don't bother building bsdcat during bootstrap. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.321 2024/02/15 19:43:42 joerg Exp $ d729 3 d738 1 a738 1 # some regexp used in pkgsrc/mk. d746 2 d904 1 a904 1 # Fixup MACHINE_ARCH to use canonical pkgsrc variants, and support multiarch @ 1.321 log @Don't build bsdunzip, it's not used anyway. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.320 2023/07/07 12:53:22 gdt Exp $ d1358 5 a1362 4 --disable-bsdtar --disable-bsdcpio --disable-bsdunzip --disable-posix-regex-lib \ --disable-xattr --disable-maintainer-mode --disable-acl --without-zlib \ --without-bz2lib --without-iconv --without-lzma --without-lzo2 --without-lz4 \ --without-nettle --without-openssl --without-xml2 --without-expat --without-zstd \ @ 1.320 log @bootstrap: Use /usr/bin/bash more on SunOS Document the meanings of bootstrap_foo vs fooprog. On SunOS, if we find /usr/bin/bash and use it for bootstrap_sh, also use it for shprog. Resolves failure to run libarchive's configure on old SunOS. (It seems likely libarchive's configure is using modern constructs that are best avoided, but it is also good to use a better shell if available.) Problem and solution from Vivianne Ombretta via pkgsrc-users. The explanatory comments are gdt's fault. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.319 2023/06/27 14:36:41 riastradh Exp $ d1358 3 a1360 3 --disable-bsdtar --disable-bsdcpio --disable-posix-regex-lib --disable-xattr \ --disable-maintainer-mode --disable-acl --without-zlib --without-bz2lib \ --without-iconv --without-lzma --without-lzo2 --without-lz4 \ @ 1.319 log @bootstrap: Override NATIVE_PKG_*_CMD, not PKG_*_CMD, during build. NATIVE_PKG_*_CMD is what gets executed at build-time, and must be the bootstrapped pkg_install which lives in the working tree; PKG_*_CMD may get baked into packages for use at run-time. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.318 2022/11/11 17:22:14 jperkin Exp $ d396 3 a398 1 # override any further processing from mk/tools. d857 1 d970 2 @ 1.318 log @bootstrap: Switch to native awk/sed on illumos. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.317 2022/10/04 11:47:45 jperkin Exp $ d1373 4 a1376 4 echo "PKG_ADD_CMD?= $wrkdir/sbin/pkg_add" >> ${BOOTSTRAP_MKCONF} echo "PKG_ADMIN_CMD?= $wrkdir/sbin/pkg_admin" >> ${BOOTSTRAP_MKCONF} echo "PKG_CREATE_CMD?= $wrkdir/sbin/pkg_create" >> ${BOOTSTRAP_MKCONF} echo "PKG_INFO_CMD?= $wrkdir/sbin/pkg_info" >> ${BOOTSTRAP_MKCONF} @ 1.317 log @bootstrap: Add mktools to special preserve handling. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.316 2022/09/29 02:25:15 charlotte Exp $ d393 8 d836 6 a841 1 if [ ! -x "/usr/gnu/bin/awk" ]; then d844 5 a848 1 if [ ! -x "/usr/gnu/bin/sed" ]; then d851 1 d858 1 d1319 6 d1336 6 @ 1.316 log @Remove support for Bitrig. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.315 2022/09/15 11:53:05 jperkin Exp $ d1435 2 a1436 2 # cwrappers is special, we don't want to set it as a BOOTSTRAP_PKG but must # build it (if required) without -DPKG_PRESERVE set so that it can be deleted. d1444 6 @ 1.315 log @bootstrap: Put back /usr/include hack on old OSX. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.314 2022/09/12 12:32:30 jperkin Exp $ a565 5 Bitrig) root_group=wheel machine_arch=`arch -s` check_compiler=yes ;; @ 1.314 log @macOS: Support MACOSX_DEPLOYMENT_TARGET. This allows the user to specify an exact SDK to use, and can be used to build packages for an older release of macOS than the host. The user should ideally set this via environment variable at bootstrap time, and pkgsrc will then encode that into mk.conf and use it for all builds. Tested on macOS 12.x building against an 11.3 SDK for both arm64 and x86_64. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.313 2022/09/09 10:58:15 jperkin Exp $ d620 7 @ 1.313 log @bootstrap: Remove old -isystem hack on macOS. This was introduced many years ago in PR#26143 to try and work around a misconfiguration in how Apple's GCC was built at the time. Newer compilers no longer look in /usr/local/include, and this workaround can now be harmful when trying to pick a specific SDK to build against. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.312 2022/06/16 22:12:20 charlotte Exp $ d592 8 d1404 4 @ 1.312 log @Mention why we're doing PREFER_PKGSRC=yes on OpenBSD (at least for now) Requested by nia@@ @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.311 2022/06/14 09:08:31 nia Exp $ a589 1 CC=${CC:-"cc -isystem /usr/include"}; export CC @ 1.311 log @bootstrap: Default to PREFER_PKGSRC=yes on OpenBSD @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.310 2022/04/06 13:06:09 schmonz Exp $ d1136 1 @ 1.310 log @README.macOS: nbsed requires no user action, merge comment to bootstrap. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.309 2022/04/03 20:46:11 tnn Exp $ d1135 5 @ 1.309 log @bootstrap: set CONFIG_SHELL when configuring initial libarchive Otherwise we might end up with defunct libtool. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.308 2022/04/03 19:20:59 tnn Exp $ d597 2 a598 1 # Newer native sed does not support multibyte correctly. @ 1.308 log @bootstrap: OSF1: set shprog to /usr/bin/ksh for the early stuff sh(1) is too broken to run mksh's Build.sh @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.307 2022/02/08 19:18:07 schmonz Exp $ d782 1 a782 1 shprog=/usr/bin/ksh d1304 1 a1304 1 run_cmd "(cd $wrkdir/libarchive; env $BSTRAP_ENV \ @ 1.307 log @p.spek@@tyil.nl had specifically said to _single_-quote the output of extra_libarchive_depends(). Oops. Now that the problem has bitten me (on Manjaro ARM), I can attest that single-quoting fixes it. Sorry, tyil, and thanks again! @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.306 2021/12/28 10:13:01 nia Exp $ d743 1 a743 1 ;; d782 1 @ 1.306 log @bootstrap: On SCO System V variants, we need either mksh or bash. from Boyd Lynn Gerber. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.305 2021/12/27 14:16:30 schmonz Exp $ d1319 1 a1319 1 STATIC_LIBARCHIVE_LDADD="`extra_libarchive_depends`" \ @ 1.305 log @extra_libarchive_depends() apparently hasn't given multiple values for Libs.private before, but it does on Gentoo ("-lmd -lb2"), so failing to double-quote the output breaks bootstrap there. Adding the quotes causes no regressions bootstrapping macOS Monterey or Ubuntu 21.10. Problem report and solution from p.spek@@tyil.nl. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.304 2021/11/29 18:32:51 jperkin Exp $ d802 6 d842 6 @ 1.304 log @bootstrap: Remove unused variable. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.303 2021/11/12 20:29:05 nia Exp $ d1307 1 a1307 1 STATIC_LIBARCHIVE_LDADD=`extra_libarchive_depends` \ @ 1.303 log @mk/bootstrap: Fix bits for SCO UnixWare 7. Derived from a patch from Boyd Lynn Gerber. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.302 2021/07/13 12:43:58 schmonz Exp $ a591 1 osrev=`uname -r` d612 1 a612 1 unset osrev macos_version @ 1.302 log @Spaces to tabs (NFCI). @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.301 2021/07/10 15:49:21 jperkin Exp $ d838 1 @ 1.301 log @bootstrap: Add support for --machine-arch override. This should not be used under normal circumstances, however on arm64 macOS it is currently impossible to execute native arm64 binaries inside a chroot, and so the chroot must run in x86_64 mode via Rosetta. This causes uname/arch/etc to all report that the system is x86, and so the only way to force MACHINE_ARCH to be set correctly to "aarch64" is using this argument. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.300 2021/05/30 23:41:05 khorben Exp $ d1237 2 a1238 2 echo "TOOLS_PLATFORM.sh?= $prefix/bin/mksh" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.sh?= $wrkdir/bin/mksh" >> ${BOOTSTRAP_MKCONF} @ 1.300 log @Introduce a new SYSCONFBASE variable (defaults to /etc) This is part 1 to support additional platforms with the RC scripts provided in pkgsrc, in privileged as well as in unprivileged mode, including on NetBSD (with part 2 in pkgtools/rc.subr). This variable is meant to point to the configuration directory of the base system (as opposed to pkgsrc's own prefix) when it should be used by pkgsrc in special cases (e.g. installing RC scripts), or to point to the existing PKG_SYSCONFBASE directory otherwise (e.g. for any unprivileged bootstrap). This teaches pkgsrc where the RC scripts should be installed, and more importantly, where the local copy of rc.subr can be expected. Part 3 will progressively update each and every RC script to substitute this path as expected. No functional changes are intended in privileged mode without a bootstrap. The only variable affected by this change directly is RCD_SCRIPTS_DIR, which currently remains with the same default of /etc/rc.d, and can be overridden as before. When bootstrapping, SYSCONFBASE also remains with the existing default when no prefix is set or is "/usr/pkg" or "/usr"; it is set to $prefix/etc otherwise. It can be specified specifically with --sysconfbase if necessary. Existing installations or bootstraps are not affected, as this change needs setting SYSCONFBASE in the corresponding $sysconfdir/mk.conf to have an impact. Tested in privileged and unprivileged modes on NetBSD/amd64, and unprivileged mode on Darwin/amd64; submitted for review on tech-pkg@@. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.299 2021/04/28 11:14:51 maya Exp $ d67 1 d425 1 d481 3 d849 5 @ 1.299 log @Don't reject dash as /bin/sh. From a discussion with jperkin, who tested this on bulk builds, the remaining issues with non-BSD echo are in legacy wrappers. Keep the workaround to use bash on Debian GNU kFreeBSD because it still uses legacy wrappers and add a comment that that's why it's there. Now naive usage of bootstrap on many popular Linux distros doesn't require setting an environment variable. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.298 2021/03/15 16:22:06 ryoon Exp $ d77 1 d417 1 d445 2 d492 1 d508 1 d519 1 d523 1 d1098 3 @ 1.298 log @bootstrap: Add MidnightBSD support to bootstrap shell script @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.297 2021/02/15 12:56:53 cjep Exp $ a401 13 # On some newer Ubuntu installations, /bin/sh is a symlink to /bin/dash, # whose echo(1) is not BSD-compatible. # On all Debian GNU/kFreeBSD 7.0, /bin/sh is a symlink to /bin/dash, and # use /bin/bash. bootstrap forces /bin/bash is used. dash_echo_test=`$bootstrap_sh -c 'echo "\\100"'` if [ "$opsys" != "GNUkFreeBSD" ] && [ "$dash_echo_test" = "@@" ]; then { echo "ERROR: Your shell's echo command is not BSD-compatible." echo "ERROR: Please select another shell by setting the environment" echo "ERROR: variable SH." } 1>&2 exit 1; fi d1139 1 @ 1.297 log @In the process of looking at PR#55952, we discovered something that can catch users out with the two --prefer options. Make the parsing of these better by checking their argument exists and is not another command line option. Addresses PR#55952. Reviewed with jperkin@@ @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.296 2020/12/05 16:50:52 js Exp $ d735 5 @ 1.296 log @bootstrap: Prefer native on Elbrus 2000 A lot of patches for Elbrus 2000 have not been upstreamed, which results in important packages such as openssl failing to build, while the native one is quite up-to-date and working. Tested building devel/fossil with this, which results in a fully working binary. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.295 2020/10/28 16:52:43 maya Exp $ d326 14 d439 5 d506 3 d538 8 @ 1.295 log @Bootstrap: Fix bootstrap on FreeBSD 12.1, likely broken by an issue in lld. It looks like lld doesn't want to statically link a libarchive without resolving all of the symbols, even if only a few symbols are used. In order to resolve all of the symbols, we need to also link with -lmd. One generic way to do so is inspect Libs.private in the pkgconfig file. While pkgsrc is likely not at fault here, having a dysfunctional bootstrap is bad. We should check again in the future to see if this can be removed. Actually fixes PR pkg/55400. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.294 2020/10/07 10:44:14 jperkin Exp $ d1084 4 a1087 1 if [ -z "$prefer_pkgsrc" ] && [ "$prefer_native" != "yes" ]; then @ 1.294 log @bootstrap: Fix numerical calculation on Big Sur. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.293 2020/08/29 20:11:21 js Exp $ d1238 4 d1260 1 @ 1.293 log @Fix bootstrap on QNX Tested with QNX 6.5.0SP1. Two things were needed: * bootstrap needs to export ACCEPT_INFERIOR_RM_PROGRAM=yes on QNX, because libarchive checks for "rm -f" (with no arguments) working in configure. It doesn't seem to actually use it during the build, so this works. * QNX.sys.mk sets LORDER to echo, but sets TSORT to tsort -q. This results in tsort complaining about having an uneven number of inputs, since of course there are no dependency pairs. Hence, if LORDER is overridden to echo, TSORT also needs to be overridden to cat. Interestingly, Linux.sys.mk also sets LORDER=echo and TSORT=tsort -q, so it's surprising this isn't broken as well? @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.292 2020/08/20 13:04:01 bacon Exp $ d565 2 a566 1 macos_version=`sw_vers -productVersion | awk -F. '{print $1 $2}'` @ 1.292 log @bootstrap: Default to PREFER_PKGSRC=yes on Linux Avoids problems caused by linking against aging enterprise Linux libraries or libraries from Linux package managers that undergo ABI changes outside pkgsrc control. Add --prefer-native flag to bootstrap script so all PREFER_* values can be set during bootstrap. This resolves issues where bootstrap links packages against native libraries and pkgsrc equivalents are installed afterward due to changes to PREFER_NATIVE after bootstrap. Automatically document danger of changing PREFER_PKGSRC or PREFER_NATIVE after boostrap in mk.conf @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.291 2020/08/14 08:45:30 jperkin Exp $ d757 4 @ 1.291 log @bootstrap: No need to find packagemaker any longer. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.290 2020/08/14 07:24:16 schmonz Exp $ d73 1 d452 4 d1072 13 d1086 2 d1091 4 @ 1.290 log @Retire --binary-macpkg option, which would generate a binary pkgsrc bootstrap kit for macOS in the form of a double-clickable .pkg. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.289 2020/07/21 15:53:10 sjmulder Exp $ a576 12 case "$macos_version" in 100[7-9]) packagemaker=/Applications/PackageMaker.app/Contents/MacOS/PackageMaker ;; 100[0-4]) packagemaker=/Developer/Tools/packagemaker ;; *) packagemaker=/Developer/usr/bin/packagemaker ;; esac @ 1.289 log @bootstrap: Fix machine_arch detection on Apple Sillicon machine_arch was empty on Apple Sillicon. We could also use `uname -m` but that returns arm64 which is not accepted by mk/gnu-config/config.sub. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.288 2020/07/15 10:32:12 jperkin Exp $ a61 1 [ --binary-macpkg ] a84 22 mkbinarykit_macpkg() { local macdestdir macdestdir=${wrkdir}/macpkg-destdir rm -rf ${macdestdir} || die "cleanup destdir" mkdir -p ${macdestdir}${prefix} || die "mkdir destprefix" rmdir ${macdestdir}${prefix} || die "rmdir destprefix" cp -Rp ${prefix} ${macdestdir}${prefix} || die "copy prefix" if [ ! -d ${macdestdir}${pkgdbdir} ]; then mkdir -p ${macdestdir}${pkgdbdir} || die "mkdir destdbdir" rmdir ${macdestdir}${pkgdbdir} || die "rmdir destdbdir" cp -Rp ${pkgdbdir} ${macdestdir}${pkgdbdir} || die "copy dbdir" fi ${sedprog} -e "s|%WRKDIR%|${wrkdir}|g" \ -e "s|%TARGETDIR%|${targetdir}|g" -e "s|%DATE%|${date}|g" \ < macpkg.pmproj.in > ${wrkdir}/macpkg.pmproj ${packagemaker} -build -proj ${wrkdir}/macpkg.pmproj -p "${binary_macpkg}" } a463 4 --binary-macpkg=*) binary_macpkg=`get_optarg "$1"` ;; --binary-macpkg) binary_macpkg="$2"; shift ;; a1390 1 [ -n "${binary_macpkg}" ] && mkbinarykit_macpkg @ 1.288 log @bootstrap: Switch OSF1 to mksh. Tested by @@astr0baby on Twitter on Tru64 5.1B, where bootstrap fails due to incomplete C99 support for libarchive on the host system, but after mksh has already been built successfully. That leaves only AIX now remaining on pdksh, so if anyone has an AIX system and is able to test a bootstrap run it would be appreciated. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.287 2020/07/07 11:50:04 jperkin Exp $ d222 3 @ 1.287 log @bootstrap: Switch --full over to mksh. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.286 2020/07/06 10:43:47 jperkin Exp $ d777 1 a777 1 need_ksh=yes @ 1.286 log @boostrap: Enable mksh by default on macOS 10.11+. El Capitan (10.11) introduced System Integrity Protection (SIP), and one of the side effects of this protection is that system shells (i.e. /bin/*sh) unset any variables that may affect the security of the system. This causes problems with packages that rely on e.g. LD_LIBRARY_PATH. Using a shell outside of the system paths allows us to work around this, at least for now. Tested in bulk builds on macOS Catalina, though with SIP disabled (as there is no way to run sandboxed builds with SIP enabled). @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.285 2020/07/06 10:25:29 jperkin Exp $ d879 1 a879 1 need_ksh=yes @ 1.285 log @bootstrap: Switch SunOS to mksh. Tested in a bulk build on SmartOS, and bootstrap tested on Solaris 9. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.284 2020/07/06 10:21:01 jperkin Exp $ d592 9 @ 1.284 log @bootstrap: Enable support for building mksh. Over time, and as they are tested, platforms will be migrated over to shells/mksh ($need_mksh) instead of shells/pdksh ($need_ksh) when a bootstrap shell is required. Once mksh is selected, it takes precedence over pdksh. Our shells/pdksh has been unmaintained for many years and has known issues, shells/mksh is expected to provide a portable, fast, and well maintained alternative. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.283 2020/06/29 12:38:03 jperkin Exp $ d804 1 a804 1 need_ksh=yes @ 1.283 log @bootstrap: Overhaul Darwin version selection. With the upcoming Big Sur release we can't assume that the major version will always be 10. Creating a combined major and minor version number also allows us to simplify and future-proof some tests. Should be no functional change. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.282 2020/06/29 12:01:38 jperkin Exp $ d874 5 d1182 14 d1373 3 @ 1.282 log @bootstrap: Set some default variables. Saves having to duplicate them for every OS, and also removes some obsolete settings, should be no functional change. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.281 2020/05/30 21:36:15 jperkin Exp $ a575 1 a577 2 need_awk=yes need_sed=yes d582 12 a593 3 macosx_version=`echo $osrev | awk -F . '{ print "10."$1-4; }'` case "$macosx_version" in 10.[7-9]) d596 1 a596 1 10.[0-4]) d603 2 a604 7 case "$macosx_version" in 10.[0-7]) need_awk=no need_sed=no ;; esac unset osrev macosx_version @ 1.281 log @bootstrap: Fix default target arch on SunOS. Use the kernel architecture via isainfo -k to base our default on, as uname will always return the same result regardless. Ensures we default to 64-bit pkgsrc on amd64, as well as adding support for sparcv9. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.280 2020/05/25 07:32:59 jperkin Exp $ d538 2 d541 3 a552 1 set_opsys=no a556 4 need_bsd_install=no need_awk=no need_sed=no set_opsys=no a568 1 need_bsd_install=no a569 1 need_awk=no a570 1 need_xargs=no a578 1 need_bsd_install=no a580 1 set_opsys=no a606 4 need_bsd_install=no need_awk=no need_sed=no set_opsys=no a611 4 need_bsd_install=no need_awk=no need_sed=no set_opsys=no a616 4 need_bsd_install=no need_awk=no need_sed=no set_opsys=no a620 1 need_bsd_install=no a621 2 need_sed=no set_opsys=no a626 4 need_bsd_install=no need_awk=no need_sed=no set_opsys=no a643 1 set_opsys=no a663 1 set_opsys=no a665 7 *) need_bsd_install=no need_awk=no need_sed=no set_opsys=no need_xargs=no ;; a704 1 need_bsd_install=no a716 3 else need_awk=no need_sed=no a717 1 set_opsys=no a726 4 need_bsd_install=no need_awk=no need_sed=no set_opsys=no a732 6 need_mtree=no need_bsd_install=no need_awk=no need_sed=no set_opsys=no check_prog mtreeprog mtree a753 4 need_bsd_install=no need_awk=no need_sed=no set_opsys=no a757 4 need_bsd_install=no need_awk=no need_sed=no set_opsys=no a767 1 set_opsys=no a774 1 set_opsys=no a783 1 set_opsys=no d793 1 a793 3 if [ -x "/usr/gnu/bin/awk" ]; then need_awk=no else d796 1 a796 3 if [ -x "/usr/gnu/bin/sed" ]; then need_sed=no else a804 1 set_opsys=no a813 1 need_bsd_install=no a818 1 set_opsys=no a826 1 set_opsys=no @ 1.280 log @bootstrap: Consolidate setting of CC if unset. Should fix issue seen on IRIX where --compiler was specified but CC was not passed to bootstrap, resulting in "gcc" being picked as the default. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.279 2020/05/06 15:34:31 jperkin Exp $ d872 1 a872 1 machine_arch=`uname -p | sed -e 's/i86pc/i386/'` d918 3 a920 1 # "sparc" can support 64-bit, e.g. SunOS, defaults to 32-bit. @ 1.279 log @bootstrap: Use SH for bmake if specified. Fixes issue seen bootstrapping on Solaris 9 when bash is available and being used for SH, bmake was still defaulting to /usr/xpg4/bin/sh which dumps core with some of the mk/check infrastructure. Note this is only for the bmake used during the initial bootstrap, the final bmake package will still use the defshell logic in its Makefile. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.278 2020/04/29 20:27:03 triaxx Exp $ a1005 1 test -n "$CC" || CC=clang a1007 1 test -n "$CC" || CC=gcc a1015 1 test -n "$CC" || CC=cc a1017 1 test -n "$CC" || CC=cc d1023 9 a1244 1 test -n "$CC" || CC=gcc # default to gcc if no compiler is specified a1261 1 test -n "$CC" || CC=gcc # default to gcc if no compiler is specified @ 1.278 log @bootstrap: fix PR pkg/55217 Move sanitfy check for absolute path of $prefix at a place where we are sure it has been defined to avoid that a bootstrap can be built in a path containing symbolic link when --prefix is not specified and default $prefix is set. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.277 2020/03/26 15:30:27 nia Exp $ d1216 4 @ 1.277 log @bootstrap: Allow overriding EGREP/FGREP. Makes bootstrapping on minimal Linux systems that don't include these binaries in a normal location less broken. from Michael Forney @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.276 2020/03/22 16:40:19 rillig Exp $ a499 1 checkarg_sane_absolute_path "$prefix" "--prefix" d515 1 @ 1.276 log @bootstrap: create the binary packages before the summary message It's strange to see the summary before all the actual work is done. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.275 2020/03/22 16:34:46 rillig Exp $ d1319 8 @ 1.275 log @bootstrap: remove unused BOOTSTRAP_VERSION variable It had not been updated between 2006 and 2019, and there is no apparent benefit of having this version number. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.274 2020/02/23 18:32:46 rillig Exp $ d1431 4 a1458 4 [ -n "${binary_kit}" ] && mkbinarykit_tar [ -n "${binary_gzip_kit}" ] && mkbinarykit_tgz [ -n "${binary_macpkg}" ] && mkbinarykit_macpkg @ 1.274 log @bootstrap: use $* instead of $@@ where appropriate This runs the echo command with fewer arguments (1 in most cases). The observable behavior is still the same, except for directory names containing spaces, which are not supported anyway. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.273 2019/12/05 22:19:56 sevan Exp $ a39 2 BOOTSTRAP_VERSION=20190721 @ 1.273 log @Skip trying to make use of a 64bit ABI on Darwin as the system libraries on Tiger lack support and it doesn't work out too great on Leopard either, though it's much better than the former release. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.272 2019/11/05 13:58:06 triaxx Exp $ d126 1 a126 1 echo >&2 "$@@" d132 1 a132 1 echo "===> $@@" d296 1 a296 1 echo_msg "running: $@@" d309 1 a309 1 for dir in $@@; do d427 1 a427 1 echo_msg "bootstrap command: $0 $@@" @ 1.272 log @boostrap: need_awk=yes for Arch Linux Arch uses GNU Awk 5 that breaks some regexps. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.271 2019/09/13 20:10:35 rillig Exp $ d229 1 a229 6 # sysctl mib exists on 64-bit hardware if [ -n "`sysctl -n hw.optional.64bitops 2>/dev/null`" ]; then echo "powerpc64" else echo "powerpc" fi @ 1.271 log @bootstrap/bootstrap: prevent --wrkdir from being a symlink Without this check, bootstrap will fail later when it builds bootstrap-mk-files in the usual pkgsrc way. There is an additional check in bsd.pkg.mk which then fails. Therefore, better fail fast to save some time. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.270 2019/09/13 19:53:03 rillig Exp $ d750 5 a761 4 # Arch does not provide pax anymore if [ -f /etc/arch-release ]; then need_pax=yes fi @ 1.270 log @bootstrap/bootstrap: fix word wrapping in symlink error message When $2 is expanded, it is longer than 2 characters, which leaded to an ugly line break. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.269 2019/07/21 20:14:06 rillig Exp $ d361 1 a361 2 /*) [ "${3-}" = "may-be-symlink" ] \ || checkarg_no_symlink_path "$1" "$2" ;; d513 1 a513 1 checkarg_sane_absolute_path "$wrkdir" "--workdir" may-be-symlink @ 1.269 log @bootstrap/bootstrap: fix bootstrap on Solaris 10 Fixes pkg/54349. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.268 2019/07/08 19:44:08 sevan Exp $ d383 2 a384 2 Several packages assume that the given path of $2 stays the same when symlinks are resolved. When that assumption fails, they will: @ 1.268 log @libarchive no longer has a without-lzmadec option @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.267 2019/07/02 16:27:04 rillig Exp $ d34 5 d40 1 a40 1 BOOTSTRAP_VERSION=20060721 d371 1 a371 1 _dir=${_dir%/*} @ 1.267 log @bootstrap/bootstrap: allow the working directory to be a symlink The working directory is only needed for bootstrapping pkgsrc, therefore there aren't too many packages that can fail. Loosening this check is needed for macOS, where /etc, /tmp and /var are symlinks to /private, and using /tmp as the workdir for bootstrapping is a sane choice. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.266 2019/06/20 09:11:26 jperkin Exp $ d1282 1 a1282 1 --without-lzmadec --without-iconv --without-lzma --without-lzo2 --without-lz4 \ @ 1.266 log @bootstrap: Enable sed on Cygwin by default. Michael Dexter reported that the native Cygwin sed is unable to correctly build libtool. Switching to nbsed solved the issue. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.265 2019/05/07 19:54:46 rillig Exp $ d356 2 a357 1 /*) checkarg_no_symlink_path "$1" "$2" ;; d509 1 a509 1 checkarg_sane_absolute_path "$wrkdir" "--workdir" @ 1.266.2.1 log @Pullup ticket #5987 - requested by sevan bootstrap: macOS build fix Revisions pulled up: - bootstrap/bootstrap 1.267 --- Module Name: pkgsrc Committed By: rillig Date: Tue Jul 2 16:27:04 UTC 2019 Modified Files: pkgsrc/bootstrap: bootstrap Log Message: bootstrap/bootstrap: allow the working directory to be a symlink The working directory is only needed for bootstrapping pkgsrc, therefore there aren't too many packages that can fail. Loosening this check is needed for macOS, where /etc, /tmp and /var are symlinks to /private, and using /tmp as the workdir for bootstrapping is a sane choice. @ text @d3 1 a3 1 # $NetBSD$ d356 1 a356 2 /*) [ "${3-}" = "may-be-symlink" ] \ || checkarg_no_symlink_path "$1" "$2" ;; d508 1 a508 1 checkarg_sane_absolute_path "$wrkdir" "--workdir" may-be-symlink @ 1.266.2.2 log @Pullup ticket #6010 - requested by rillig bootstrap: Solaris 10 build fix (PR pkg/54349) Revisions pulled up: - bootstrap/bootstrap 1.269 --- Module Name: pkgsrc Committed By: rillig Date: Sun Jul 21 20:14:06 UTC 2019 Modified Files: pkgsrc/bootstrap: bootstrap Log Message: bootstrap/bootstrap: fix bootstrap on Solaris 10 Fixes pkg/54349. @ text @a33 5 # The bootstrap program must be able to run with very limited shells. # It must not use any of the following features: # # * the ${var%pattern} or ${var#pattern} expansions # * the $(command) subshell d35 1 a35 1 BOOTSTRAP_VERSION=20190721 d366 1 a366 1 _dir=`dirname "$_dir"` @ 1.265 log @bootstrap: fix endless when checking nonexisting directory ./bootstrap --prefix=/nonexisting had run into an endless loop. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.264 2019/05/03 13:26:34 jperkin Exp $ d574 1 a574 1 need_sed=no @ 1.264 log @bootstrap: Invert the awk/sed test on Darwin. This stops us having to continue to add new macOS releases, it appears that Apple is not going to fix this issue any time soon. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.263 2019/05/01 18:29:20 rillig Exp $ d366 1 @ 1.263 log @bootstrap: prevent pkgsrcdir, prefix and wrkdir from being symlinks @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.262 2019/04/10 08:24:03 adam Exp $ d584 2 a585 2 need_awk=no need_sed=no d604 3 a606 3 10.[8-9]|10.1[0123]) need_awk=yes need_sed=yes @ 1.262 log @libarchive: updated to 3.3.3 libarchive 3.3.3: Avoid super-linear slowdown on malformed mtree files Many fixes for building with Visual Studio NO_OVERWRITE doesn't change existing directory attributes New support for Zstandard read and write filters @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.261 2019/02/06 17:38:54 triaxx Exp $ d347 2 a348 1 checkarg_sane_absolute_path() { d354 3 a356 1 /*) ;; d361 26 a500 1 checkarg_sane_absolute_path "$wrkdir" "--workdir" d507 1 @ 1.261 log @set $CC when clang is detected in bootstrap The commit in pkgsrc-2018Q4 is due to a mistake. Sorry :( @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.260.2.1 2019/02/02 04:17:26 triaxx Exp $ d1252 1 a1252 1 --without-nettle --without-openssl --without-xml2 --without-expat \ @ 1.260 log @Update the root_group for Minix to match the changes to mk files. Head up by @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.259 2018/11/11 19:31:54 rillig Exp $ d977 1 d980 1 @ 1.260.2.1 log @set $CC when clang is detected in bootstrap fix PR/53929 @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.260 2018/11/15 22:08:30 sevan Exp $ a976 1 test -n "$CC" || CC=clang a978 1 test -n "$CC" || CC=gcc @ 1.259 log @bootstrap/bootstrap: detect unknown options and print usage Running bootstrap with short options (like -q for --quiet) is not implemented. Therefore, instead of silently ignoring such options, fail with an appropriate error message. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.258 2018/11/09 13:37:09 jperkin Exp $ d735 1 a735 1 root_group=operator @ 1.258 log @bootstrap: Ensure CC is considered for SSP tests. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.257 2018/11/05 19:26:38 schmonz Exp $ d466 2 a467 1 --*) echo "$usage"; exit 1 ;; @ 1.257 log @Optionally detect whether the compiler supports "-fstack-protector-strong". If not, set _OPSYS_SUPPORTS_SSP=no during bootstrap and in mk.conf. Do SSP detection on "SunOS", and let mk/platform/SunOS.mk's default "yes" be overridden in mk.conf. No change to generated mk.conf on NetBSD 8 or CentOS 6. Fixes bootstrap on Tribblix. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.256 2018/10/30 15:22:53 sevan Exp $ a995 5 _compiler=cc if [ "$compiler" != "" ]; then _compiler="$compiler" fi d998 1 a998 1 ${_compiler} -fstack-protector-strong -o ${wrkdir}/tmp/ssp ${wrkdir}/tmp/ssp.c >/dev/null 2>&1 @ 1.256 log @Minix 3.4RC6 includes install(1) from NetBSD. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.255 2018/10/29 17:41:35 triaxx Exp $ d844 1 d995 21 d1050 3 d1100 4 @ 1.255 log @Fix commit v 1.254 * Put indentation right to follow the existing style * Correct wrong justification for need of pax on Arch: pax (and not PaX) is only provided throw https://aur.archlinux.org/packages/pax/ and get low support (currently broken) @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.254 2018/10/29 15:16:32 triaxx Exp $ d735 1 a735 1 need_bsd_install=yes @ 1.254 log @Arch Linux does not provide pax anymore https://lists.archlinux.org/pipermail/arch-general/2017-April/043604.html @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.253 2018/10/28 18:41:41 sevan Exp $ d722 3 a724 3 if [ -f /etc/arch-release ]; then need_pax=yes fi @ 1.253 log @libcompat_minix was removed some years back and minlib does not exist as a linkable library in 3.4RC6 so don't try to link against these. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.252 2018/10/28 16:59:00 sevan Exp $ d721 4 d1360 3 @ 1.252 log @Minix/arm currently ships with GCC but the i386 build ships with clang so check the compiler. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.251 2018/10/17 11:12:46 jperkin Exp $ a735 1 LDFLAGS="-lcompat_minix -lminlib" @ 1.251 log @bootstrap: Set PKGSRC_KEEP_BIN_PKGS=no during bootstrap. This avoids errors when running from a read-only pkgsrc checkout as the resulting packages cannot be written to the default PACKAGES directory. The binary packages aren't useful anyway, as they are often built with reduced configuration options due to the limited bootstrap environment. Fixes issue reported by Julien Savard and others. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.250 2018/09/09 10:01:26 schmonz Exp $ d737 1 @ 1.250 log @On OpenBSD, detect clang and prefer it over gcc. Addresses pkg/53170. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.249 2018/08/12 08:46:41 bsiegert Exp $ d1311 1 a1311 1 run_cmd "(cd $pkgsrcdir/$1 && $bmake $make_quiet_flags MAKE_JOBS=${make_jobs} PKG_COMPRESSION=none -DPKG_PRESERVE MAKECONF=${BOOTSTRAP_MKCONF} install)" d1314 1 a1314 1 run_cmd "(cd $pkgsrcdir/$1 && $bmake $make_quiet_flags MAKE_JOBS=${make_jobs} PKG_COMPRESSION=none MAKECONF=${BOOTSTRAP_MKCONF} install)" @ 1.249 log @On Chrome OS, build nbsed too. Both sed and awk in the Chrome OS base are permanently put into sandbox mode, which makes them unsuitable for pkgsrc use. We were already building nbawk; also add nbsed. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.248 2018/03/07 07:34:07 rillig Exp $ d781 2 @ 1.248 log @bootstrap: don't output "Hopefully" when bootstrap finishes The pkgsrc bootstrap has been used long enough to be more self-confident. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.247 2018/02/03 09:53:03 bsiegert Exp $ d716 1 d719 1 a720 1 need_sed=no @ 1.247 log @Remove a mis-pasted line. Noticed by jperkin@@. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.246 2018/02/02 15:53:44 bsiegert Exp $ a1383 1 echo "Hopefully everything is now complete." @ 1.246 log @Use pkgsrc awk on ChromeOS. Since Chrome 64, /usr/bin/awk has been a version of mawk that is permanently in restricted mode. Notably, this means it cannot run pipes, which pkgsrc requires. Use nawk. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.245 2017/12/09 00:33:36 sevan Exp $ a709 1 CHROMEOS_RELEASE_NAME!= awk -F = '$$1 == "CHROMEOS_RELEASE_NAME" { print $$2 }' /etc/lsb-release @ 1.245 log @Define machine_arch for Cygwin, this resolves an issue where MACHINE_ARCH is set to blank & configure substituation breaks because host type identifier is complete. -pc-cygwin, rather than x86_64-pc-cygwin. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.244 2017/10/22 19:29:20 bsiegert Exp $ d710 1 d715 2 @ 1.244 log @Set cwrappers in bootstrap mk.conf too. When bootstrap is run with --cwrappers=no (or yes, for that matter), the value is written into mk.conf at the end of the bootstrap but not used _during_ the bootstrap itself. Thus, when bootstrapping on Linux with no builtin diffutils, cwrappers ends up indirectly depending on itself, and there is no way around that. This commit fixes this. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.243 2017/09/23 05:43:51 maya Exp $ d545 1 @ 1.243 log @macOS 10.13 requires nbsed and nbawk From Eric Brown in PR pkg/52566 @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.242 2017/06/19 06:30:48 maya Exp $ d1093 1 @ 1.243.4.1 log @Pullup ticket #5599 - requested by sevan bootstrap/bootstrap: build fix Revisions pulled up: - bootstrap/bootstrap 1.244 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: bsiegert Date: Sun Oct 22 19:29:20 UTC 2017 Modified Files: pkgsrc/bootstrap: bootstrap Log Message: Set cwrappers in bootstrap mk.conf too. When bootstrap is run with --cwrappers=no (or yes, for that matter), the value is written into mk.conf at the end of the bootstrap but not used _during_ the bootstrap itself. Thus, when bootstrapping on Linux with no builtin diffutils, cwrappers ends up indirectly depending on itself, and there is no way around that. This commit fixes this. To generate a diff of this commit: cvs rdiff -u -r1.243 -r1.244 pkgsrc/bootstrap/bootstrap @ text @d3 1 a3 1 # $NetBSD$ a1092 1 echo "USE_CWRAPPERS= $cwrappers" >> ${BOOTSTRAP_MKCONF} @ 1.242 log @Add code for finding machine_arch on OSF1 From Naruaki Etomi in PR pkg/52311 @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.241 2017/04/29 21:40:40 khorben Exp $ d573 1 a573 1 10.[8-9]|10.1[012]) @ 1.241 log @Allow bootstrapping without cwrappers Since cwrappers was enabled by default on some platforms, it became effectively impossible to bootstrap without cwrappers there. With this change "--cwrappers" needs to be set to "auto", "yes" or "no" explicitly when used. No functional change intended without specifying "--cwrappers" (or with "auto"). Submitted on tech-pkg@@ with no objection. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.240 2017/02/11 16:08:31 tron Exp $ d785 1 @ 1.240 log @As macOS Sierra still ships with a broken "awk" and "sed" use the pkgsrc variants as we do under Mac OS X El Capitan. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.239 2017/02/01 10:14:09 jperkin Exp $ d61 1 a61 1 [ --cwrappers ] d410 1 a410 1 cwrappers=no d436 2 a437 1 --cwrappers) cwrappers=yes ;; d1090 2 a1091 2 yes) echo "USE_CWRAPPERS= yes" >> ${TARGET_MKCONF} @ 1.239 log @Simplify and optimise previous. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.238 2017/02/01 09:54:21 sevan Exp $ d572 1 a572 1 10.[8-9]|10.1[01]) @ 1.238 log @For POWER8 systems running Linux, set $machine_arch to powerpc64le if machine hardware name is ppc64le. Automatically default to 64bit ABI for powerpc64le systems. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.237 2017/01/10 12:30:00 jperkin Exp $ d717 5 a721 7 case `uname -m` in ppc64le) machine_arch=powerpc64le ;; *) machine_arch=`uname -m | sed -e 's/i.86/i386/'` ;; @ 1.237 log @Test for existing $prefix and $pkgdbdir and bail out early if they exist, rather than failing with exotic errors later. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.236 2017/01/10 12:16:08 jperkin Exp $ d717 8 a724 1 machine_arch=`uname -m | sed -e 's/i.86/i386/'` d876 1 @ 1.236 log @Use die() @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.235 2017/01/03 17:53:14 jperkin Exp $ d936 8 @ 1.235 log @Pass --without-lz4 to libarchive bootstrap, avoids issues on Gentoo where the native lz4 is found. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.234 2016/11/15 11:19:09 jperkin Exp $ d375 1 a375 2 echo "ERROR: The variable SH must contain an absolute path" 1>&2 exit 1 d393 1 a393 2 echo "ERROR: Please unset PKG_PATH before running bootstrap." 1>&2 exit 1; d933 1 a933 2 echo "\"${wrkdir}\" already exists, please remove it or use --workdir."; exit 1 d940 1 a940 2 echo "\"${wrkdir}\" is not writeable. Try $0 -h."; exit 1 @ 1.234 log @Change the default PKG_DBDIR to be ${LOCALBASE}/pkgdb. Resolves issues on other BSDs which already use /var/db/pkg for the native package manager. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.233 2016/11/01 20:44:22 jperkin Exp $ d1201 1 a1201 1 --without-lzmadec --without-iconv --without-lzma --without-lzo2 \ @ 1.233 log @When building cwrappers via bootstrap, either directly via --cwrappers or indirectly via it being pulled in using USE_CWRAPPERS=auto, we need to ensure that it is not built with -DPKG_PRESERVE as otherwise it interacts badly with pbulk's pkg_delete test. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.232 2016/06/22 11:40:16 joerg Exp $ d490 1 a490 1 [ -z "$pkgdbdir" ] && pkgdbdir=${varbase}/db/pkg @ 1.232 log @Disable maintainer mode for the right tool. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.231 2016/06/22 08:07:11 joerg Exp $ d1290 1 a1290 1 # usage: build_package [additional arguments] d1294 14 @ 1.231 log @Disable maintainer mode here as well. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.230 2016/04/10 16:18:45 joerg Exp $ d1200 4 a1203 3 --disable-acl --without-zlib --without-bz2lib --without-lzmadec \ --without-iconv --without-lzma --without-lzo2 --without-nettle \ --without-openssl --without-xml2 --without-expat MAKE=$bmake && $bmake $make_quiet_flags -j$make_jobs)" d1210 1 a1210 1 --disable-maintainer-mode --with-pkgdbdir=$pkgdbdir --infodir=$infodir \ @ 1.230 log @No need to set USE_DESTDIR now. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.229 2016/02/08 14:53:43 jperkin Exp $ d1209 2 a1210 1 --with-pkgdbdir=$pkgdbdir --infodir=$infodir --mandir=$mandir $pkg_install_args && \ @ 1.229 log @Fix --quiet. The output is far from quiet, but at least it now works. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.228 2016/02/04 13:45:24 jperkin Exp $ d1290 1 a1290 1 run_cmd "(cd $pkgsrcdir/$1 && $bmake $make_quiet_flags MAKE_JOBS=${make_jobs} USE_DESTDIR=yes PKG_COMPRESSION=none -DPKG_PRESERVE MAKECONF=${BOOTSTRAP_MKCONF} install)" @ 1.228 log @Fix PowerPC 32-bit case. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.227 2016/01/24 16:14:44 jperkin Exp $ d1146 1 a1146 1 bmake="$wrkdir/bin/bmake $make_quiet_flags" d1151 1 a1151 1 run_cmd "(cd $wrkdir/libnbcompat; $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --infodir=$infodir --mandir=$mandir --sysconfdir=$sysconfdir --enable-bsd-getopt --enable-db && $bmake -j$make_jobs)" d1158 1 a1158 1 run_cmd "(cd $wrkdir/ksh && env $BSTRAP_ENV $shprog ./configure $configure_quiet_flags --prefix=$prefix --infodir=$infodir --mandir=$mandir --sysconfdir=$sysconfdir && $bmake -j$make_jobs)" d1176 1 a1176 1 run_cmd "(cd $wrkdir/awk && $bmake -j$make_jobs -f Makefile CC=\"${CC}\" CFLAGS=\"${CFLAGS}\")" d1187 1 a1187 1 run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='$LIBS -lnbcompat' $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --infodir=$infodir --mandir=$mandir --sysconfdir=$sysconfdir --program-transform-name='s,sed,nbsed,' && $bmake -j$make_jobs)" d1202 1 a1202 1 --without-openssl --without-xml2 --without-expat MAKE=$bmake && $bmake -j$make_jobs)" d1211 1 a1211 1 PKGSRC_MACHINE_ARCH="$machine_arch" $bmake -j$make_jobs)" d1290 1 a1290 1 run_cmd "(cd $pkgsrcdir/$1 && $bmake MAKE_JOBS=${make_jobs} USE_DESTDIR=yes PKG_COMPRESSION=none -DPKG_PRESERVE MAKECONF=${BOOTSTRAP_MKCONF} install)" @ 1.227 log @Attempt to bring sanity to how ABI and MACHINE_ARCH are set. Previously there were at least 5 different ways MACHINE_ARCH could be set, some statically and some at run time, and in many cases these settings differed, leading to issues at pkg_add time where there was conflict between the setting encoded into the package and that used by pkg_install. Instead, move to a single source of truth where the correct value based on the host and the chosen (or default) ABI is determined in the bootstrap script. The value can still be overridden in mk.conf if necessary, e.g. for cross-compiling. ABI is now set by default and if unset a default is calculated based on MACHINE_ARCH. This fixes some OS, e.g. Linux, where the wrong default was previously chosen. As a result of the refactoring there is no need for LOWER_ARCH, with references to it replaced by MACHINE_ARCH. SPARC_TARGET_ARCH is also removed. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.226 2016/01/06 17:59:58 jperkin Exp $ d225 1 a225 1 if [ `sysctl -n hw.optional.64bitops 2>/dev/null` = "1" ]; then @ 1.226 log @Ensure we set MACHINE_ARCH correctly for Darwin x86_64. Fixes recent bootstrap issues. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.225 2015/12/29 21:13:57 joerg Exp $ a79 4 # this replicates some of the logic in bsd.prefs.mk. until # bootstrap-pkgsrc is merged into pkgsrc, we need to determine the # right value for OPSYS and MACHINE_ARCH. a181 9 Darwin) if [ -z "$abi" ]; then case `uname -m` in x86_64) abi="64" ;; esac fi ;; d216 18 a510 1 set_machine_arch=no a529 4 if [ "$machine_arch" = "amd64" ]; then machine_arch=x86_64 bmakexargs="MACHINE_ARCH=$machine_arch" fi d557 1 a557 5 get_abi "Darwin" machine_arch=`uname -p` if [ "$machine_arch" = "i386" -a "$abi" = "64" ]; then machine_arch=x86_64 fi a588 4 if [ "$machine_arch" = "amd64" ]; then machine_arch=x86_64 bmakexargs="MACHINE_ARCH=$machine_arch" fi a596 4 if [ "$machine_arch" = "amd64" ]; then machine_arch=x86_64 bmakexargs="MACHINE_ARCH=$machine_arch" fi a695 1 bmakexargs="MACHINE_ARCH=$machine_arch" a719 6 # Support multiarch systems. if [ "$machine_arch" = "x86_64" -a "$abi" = "32" ]; then machine_arch=i386 set_machine_arch=yes bmakexargs="MACHINE_ARCH=$machine_arch" fi a772 4 if [ "$machine_arch" = "amd64" ]; then machine_arch=x86_64 bmakexargs="MACHINE_ARCH=$machine_arch" fi d851 28 d906 3 a908 8 # export OPSYS and MACHINE_ARCH for pkg_install. we only set # MACHINE_ARCH on platforms where we override bmake's value. OPSYS=${opsys} export OPSYS if [ "${machine_arch}" != "" ]; then MACHINE_ARCH=${machine_arch} export MACHINE_ARCH fi a1023 3 if [ "$set_machine_arch" = "yes" ]; then echo "MACHINE_ARCH= $machine_arch" >> ${TARGET_MKCONF} fi d1140 1 a1140 1 run_cmd "(cd $wrkdir/bmake && $shprog configure $configure_quiet_flags --with-default-sys-path=$wrkdir/share/mk --prefix=$wrkdir $bmakexargs)" @ 1.225 log @Tell libarchive's configure explicitly what make we later want for recursive invocations. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.224 2015/12/27 12:36:42 joerg Exp $ d559 3 @ 1.224 log @Include basic package creation logic in the bootstrap version of pkg_install. Use this with PKG_COMPRESSION=none to convert all of the bootstrap to USE_DESTDIR=yes. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.223 2015/12/18 13:49:07 jperkin Exp $ d1202 1 a1202 1 --without-openssl --without-xml2 --without-expat && $bmake -j$make_jobs)" @ 1.223 log @Build nbawk and nbsed on Darwin 10.11 (El Capitan) too, it still has the sed which fails when using a UTF-8 locale. Ok'd during the freeze by wiz@@ @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.222 2015/12/11 23:55:44 joerg Exp $ d1196 7 d1205 2 a1206 2 CPPFLAGS='$CPPFLAGS -I../libnbcompat -I../../libnbcompat' \ LDFLAGS='$LDFLAGS -L../libnbcompat -L../../libnbcompat' \ d1209 4 a1212 1 --with-pkgdbdir=$pkgdbdir --infodir=$infodir --mandir=$mandir $pkg_install_args && $bmake -j$make_jobs)" d1216 1 d1290 1 a1290 1 run_cmd "(cd $pkgsrcdir/$1 && $bmake MAKE_JOBS=${make_jobs} USE_DESTDIR=no -DPKG_PRESERVE MAKECONF=${BOOTSTRAP_MKCONF} install)" @ 1.222 log @Match MACHINE_ARCH override used in bsd.prefs.mk on FreeBSD and DragonFly. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.221 2015/11/09 10:54:44 jperkin Exp $ d575 1 a575 1 10.[8-9]|10.10) @ 1.221 log @Default to ABI=64 on Darwin hosts which report as x86_64. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.220 2015/11/07 19:55:46 sevan Exp $ d590 4 d602 4 @ 1.220 log @ For Bitrig Switch to using arch(1) to detect the architecture of host Set $machine_arch to x86_64 if on amd64 Pass $machine_arch to the devel/bmake build process Reviewed by wiz@@ @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.219 2015/11/07 14:05:20 sevan Exp $ d178 5 a182 1 die "ERROR: $abi_opsys has special ABI handling, --abi not supported (yet)." d186 9 d557 1 @ 1.219 log @Use arch(1) to detect the architecture of host Switch $machine_arch to x86_64 if on OpenBSD/amd64 Pass $machine_arch to the devel/bmake build process Reviewed by wiz@@ @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.218 2015/06/13 13:15:39 tron Exp $ d512 5 a516 1 machine_arch=`uname -m` @ 1.218 log @If "/usr/bin/bash" is installed under Solaris always prefer it over the "pdksh" package. Using the package is too problematic, see PR pkg/39524. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.217 2015/06/04 15:48:45 sevan Exp $ d762 5 a766 1 machine_arch=`uname -m` @ 1.217 log @Introduce preliminary support for Bitrig to pkgsrc Initial patchset to add support by rodent@@ Further adjustments made based on feedback by joerg@@ Tested by myself with numerous bulkbuilds thanks to Patrick Wildt @@ Bitrig Reviewed by bsiegert@@ joerg@@ wiz@@ @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.216 2015/05/03 14:26:57 sevan Exp $ d807 1 a807 1 if [ "`uname -r`" = "5.11" -a -x "/usr/bin/bash" ]; then @ 1.216 log @Use pdksh when bootstrapping on AIX, while it's possible to bootstrap successfully using the stock /bin/sh supplied with the system, things don't work correctly. Reviewed by wiz@@ @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.215 2014/12/04 10:36:02 jperkin Exp $ d506 9 @ 1.215 log @Don't build the cwrappers package during bootstrap, it is pulled in as a build dependency as needed. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.214 2014/12/01 13:43:55 jperkin Exp $ d501 1 @ 1.214 log @Add a "--cwrappers" option to build and enable cwrappers. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.213 2014/09/01 12:29:58 jperkin Exp $ a1270 3 case "$cwrappers" in yes) build_package "pkgtools/cwrappers";; esac @ 1.213 log @Add support for --make-jobs, which passes down -j or MAKE_JOBS as appropriate. The default continues to be 1. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.212 2014/08/14 00:21:24 cheusov Exp $ d61 1 d393 3 d397 1 a397 2 full=no compiler="" a398 1 mk_fragment= d420 1 d1038 7 d1271 3 @ 1.212 log @Fix packages creation on Interix. User/group names are used instead of uid/gid. Problem with spaces inside user/group name should be fixed by Cygwin support added some time ago. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.211 2014/08/01 15:01:16 schmonz Exp $ d64 1 d392 1 d440 2 d850 5 d1101 1 a1101 1 run_cmd "(cd $wrkdir/libnbcompat; $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --infodir=$infodir --mandir=$mandir --sysconfdir=$sysconfdir --enable-bsd-getopt --enable-db && $bmake $make_quiet_flags)" d1108 1 a1108 1 run_cmd "(cd $wrkdir/ksh && env $BSTRAP_ENV $shprog ./configure $configure_quiet_flags --prefix=$prefix --infodir=$infodir --mandir=$mandir --sysconfdir=$sysconfdir && $bmake)" d1126 1 a1126 1 run_cmd "(cd $wrkdir/awk && $bmake -f Makefile CC=\"${CC}\" CFLAGS=\"${CFLAGS}\")" d1137 1 a1137 1 run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='$LIBS -lnbcompat' $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --infodir=$infodir --mandir=$mandir --sysconfdir=$sysconfdir --program-transform-name='s,sed,nbsed,' && $bmake)" d1152 1 a1152 1 --with-pkgdbdir=$pkgdbdir --infodir=$infodir --mandir=$mandir $pkg_install_args && $bmake)" d1229 1 a1229 1 run_cmd "(cd $pkgsrcdir/$1 && $bmake USE_DESTDIR=no -DPKG_PRESERVE MAKECONF=${BOOTSTRAP_MKCONF} install)" @ 1.211 log @Need nbsed on Yosemite (not sure about awk, but little harm). @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.210 2014/07/30 16:30:26 schmonz Exp $ d619 2 a620 2 root_user=`id -u` root_group=131616 @ 1.210 log @Detecting clang on OS X is stymied in some configurations by "gcc" looking sufficiently like gcc. Inspect "cc" instead, and don't believe it's __GNUC__ unless it's also not __clang__. While here, if you manage to find and install PackageMaker.app, it still works on 10.9 for --binary-macpkg. From Sevan Janiyan. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.209 2014/07/11 17:29:21 jperkin Exp $ d540 1 a540 1 10.[8-9]) @ 1.209 log @Use check_compiler=yes on Darwin, fixes bootstrap with newer XCode that includes gcc which is actually clang. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.208 2014/04/17 18:29:01 asau Exp $ d162 1 d165 1 d524 1 a524 1 CC=${CC:-"gcc -isystem /usr/include"}; export CC d529 1 a529 1 10.[7-8]) @ 1.208 log @Amend previous: pick built bmake binary from correct directory. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.207 2014/04/17 18:27:24 asau Exp $ d523 1 @ 1.207 log @Follow the conventional path of "configure-make-install" when bootstrapping bmake. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.206 2014/04/17 18:12:47 asau Exp $ d1080 1 a1080 1 run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/bmake/bootstrap.$opsys/bmake $wrkdir/bin/bmake" @ 1.206 log @The only use of "bmakexenv" variable is on IRIX to pass MAKE=pmake to devel/bmake when bootstrapping the latter. bmake doesn't take this environment variable into consideration anyway. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.205 2014/04/03 09:05:11 obache Exp $ d1078 2 a1079 2 run_cmd "chmod u+x $wrkdir/bmake/configure" run_cmd "(cd $wrkdir/bmake && $shprog ./boot-strap $configure_quiet_flags -q -o bootstrap.$opsys --prefix=$wrkdir --sysconfdir=$wrkdir --mksrc none --with-default-sys-path="$wrkdir/share/mk" $bmakexargs)" @ 1.205 log @Set CLANGBASE=/usr automatically if CLANGBASE is not set and /usr/bin/clang exists. It is expected in mk/compiler/clang.mk that CLANGBASE is set properly even if builtin clang is selected. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.204 2014/03/14 21:52:13 ryoon Exp $ a481 1 bmakexenv= a659 1 bmakexenv="MAKE=pmake" d1079 1 a1079 1 run_cmd "(cd $wrkdir/bmake && env $bmakexenv $shprog ./boot-strap $configure_quiet_flags -q -o bootstrap.$opsys --prefix=$wrkdir --sysconfdir=$wrkdir --mksrc none --with-default-sys-path="$wrkdir/share/mk" $bmakexargs)" @ 1.204 log @Add Xinuos SCO OpenServer 5.0.7/3.2 support The license donation for OpenServer 5.0.7/3.2 by Xinuos Inc. helped to make this commit possible. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.203 2014/03/10 20:50:35 asau Exp $ d984 3 @ 1.203 log @Detect Clang and apply proper compiler settings. This fixes bootstrapping on FreeBSD 10 where cc is Clang pretending poorly to be GCC. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.202 2014/03/07 14:59:42 jperkin Exp $ d764 11 @ 1.202 log @Add bootstrap support for multiarch support on Linux. For now only building 32-bit packages on x86_64 is supported. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.201 2014/02/10 10:43:02 ryoon Exp $ d151 9 d561 1 d883 4 a886 1 if [ $compiler_is_gnu -gt 0 ]; then @ 1.201 log @Fix usage of build_package @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.200 2013/10/03 01:24:57 joerg Exp $ d476 1 d676 6 d944 3 @ 1.200 log @Mark the copy of bmake's configure as executable in case the checkout is missing the bit. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.199 2013/09/08 16:29:28 ryoon Exp $ d1179 2 a1180 2 # register packages # usage: register_package [additional arguments] @ 1.199 log @Add FreeMiNT settings. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.198 2013/08/28 12:05:10 jperkin Exp $ d1043 1 @ 1.198 log @Add a new use_bsdinstall variable which, if set to 'yes', will use bsdinstall instead of install-sh on platforms which need a BSD install. The install-sh script is still used during the bootstrap process regardless. Default to 'yes' on SunOS. Other platforms can migrate over once they confirm that sysutils/bsdinstall builds correctly. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.197 2013/08/09 12:57:38 jperkin Exp $ d552 8 @ 1.197 log @Add --pkginfodir support. Fixes --prefix=/usr defaults. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.196 2013/08/04 01:19:19 obache Exp $ d476 1 d742 1 d994 5 a998 1 echo "TOOLS_PLATFORM.install?= $prefix/bin/install-sh" >> ${TARGET_MKCONF} d1183 7 a1189 1 yes) build_package "sysutils/install-sh";; @ 1.196 log @overwrite config.{guess,sub} automatically after copied from in-place source tree in bootstrap. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.195 2013/07/26 09:38:15 ryoon Exp $ d66 1 d375 1 d393 2 d441 1 d457 1 d460 1 d463 1 d966 1 d1039 1 a1039 1 run_cmd "(cd $wrkdir/libnbcompat; $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir --enable-bsd-getopt --enable-db && $bmake $make_quiet_flags)" d1046 1 a1046 1 run_cmd "(cd $wrkdir/ksh && env $BSTRAP_ENV $shprog ./configure $configure_quiet_flags --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir && $bmake)" d1075 1 a1075 1 run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='$LIBS -lnbcompat' $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir --program-transform-name='s,sed,nbsed,' && $bmake)" d1090 1 a1090 1 --with-pkgdbdir=$pkgdbdir --mandir=$mandir $pkg_install_args && $bmake)" @ 1.195 log @Add (Debian) GNU/kFreeBSD port. Similar to GNU/Linux. Bump bootstrap-mk-files to 20130727. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.194 2013/06/14 15:07:37 tron Exp $ d302 6 @ 1.194 log @Don't use the bundled "awk" and "sed" under Mac OX Mountain Lion and newer. They break badly on files with binary characters. This fixes e.g. the build of the "youtube-dl" package. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.193 2013/06/01 12:15:54 tron Exp $ d344 2 d347 1 a347 1 if [ "$dash_echo_test" = "@@" ]; then d537 8 d963 8 @ 1.193 log @Under Mac OS X (Mountain) Lion "packagemaker" is part of the "PackageMaker" application which resides in "/Applications". @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.192 2013/05/11 23:42:44 ryoon Exp $ d510 6 @ 1.192 log @On Debian/Ubuntu Linux, system's awk is mawk, and mawk does not understand some regexp like [[:space:]]. ELF shared lib check is not working properly with mawk. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.191 2013/03/11 22:48:23 tcort Exp $ d500 3 @ 1.191 log @bootstrap: Minix support. OK by agc. PR pkg/45041 @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.190 2013/02/22 13:39:31 obache Exp $ d623 7 a629 1 need_awk=no @ 1.190 log @Fix ROOT_USER/ROOT_GROUP for Cygwin to Administrators/Administrators (not using its UID/GID), and sync platform privilege check with bootstrap script. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.189 2013/02/20 12:44:14 obache Exp $ d628 9 @ 1.189 log @Use Administrators for ROOT_GROUP of Cygwin instead of Administrator. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.188 2013/02/20 11:04:26 obache Exp $ d477 2 a478 2 root_user=`id -u` root_group=`id -g Administrators` @ 1.188 log @Fixes reverse condition of is_root() for Cygwin. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.187 2013/02/20 10:59:36 obache Exp $ d478 1 a478 1 root_group=`id -g Administrator` @ 1.187 log @fix a typo @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.186 2013/02/20 10:30:41 obache Exp $ d473 1 a473 1 return 1 d475 1 a475 1 return 0 @ 1.186 log @Set proper variables for the case of --compiler=clang. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.185 2013/02/09 12:45:24 obache Exp $ d478 1 a478 1 root_grou=`id -g Administrator` @ 1.185 log @Rename objdir for bootstrap bmake, to avoid conflict with system cygwin/config.h heaer on Cygwin with case-insensitive filesystem. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.184 2013/02/09 12:41:43 obache Exp $ d888 8 @ 1.184 log @tell Cygiwn to bootstrap. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.183 2013/01/31 22:55:21 hans Exp $ d964 2 a965 2 run_cmd "(cd $wrkdir/bmake && env $bmakexenv $shprog ./boot-strap $configure_quiet_flags -q -o $opsys --prefix=$wrkdir --sysconfdir=$wrkdir --mksrc none --with-default-sys-path="$wrkdir/share/mk" $bmakexargs)" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/bmake/$opsys/bmake $wrkdir/bin/bmake" @ 1.183 log @Use /usr/bin/bash on all SunOS 5.11 variants if it exists. Fall back to shells/pdksh in all other cases, native /bin/ksh is not good enough. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.182 2013/01/06 17:33:24 cheusov Exp $ d470 19 @ 1.182 log @Latest version of Haiku uses name "baron" for superuser. So, we use id(1) at bootstrap time @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.181 2012/10/02 21:02:21 cheusov Exp $ d684 3 a686 11 if [ "`uname -r`" = "5.11" ]; then case "`uname -v`" in joyent_*) bootstrap_sh=${SH:-/usr/bin/bash} bootstrap_sh_set=set ;; *) bootstrap_sh=${SH:-/bin/ksh} bootstrap_sh_set=set ;; esac @ 1.181 log @Fix "bootstrap --unprivileged" failure on Haiku @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.180 2012/07/26 13:00:48 jperkin Exp $ d508 1 a508 1 root_user=user @ 1.180 log @Add support for --prefer-pkgsrc which will set PREFER_PKGSRC in the bootstrap and target mk.conf. Primarily useful to ensure pkgsrc zlib/bzip2 etc are used for pkg_install. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.179 2012/07/24 13:18:00 jperkin Exp $ d250 1 a250 1 return 0 d252 1 a252 1 return 1 d256 1 a256 1 return 0 d258 1 a258 1 return 1 d537 1 a537 1 return 1 d539 1 a539 1 return 0 d823 1 a823 9 is_root if [ $? = 1 ]; then user=$root_user group=$root_group else if [ $unprivileged = "no" ]; then die "You must be either root to install bootstrap-pkgsrc or use the --unprivileged option." fi d835 5 @ 1.179 log @Make bash the default shell on SmartOS. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.178 2012/07/13 16:12:41 jperkin Exp $ d67 1 d394 4 a402 1 d905 5 @ 1.178 log @Support GCCBASE in bootstrap, and provide a working example based on OmniOS. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.177 2012/06/15 09:54:41 jperkin Exp $ d681 10 a690 2 bootstrap_sh=${SH:-/bin/ksh} bootstrap_sh_set=set @ 1.177 log @Use native ksh93 on Solaris 11 and derivatives. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.176 2012/06/08 12:15:29 jperkin Exp $ d869 3 @ 1.176 log @Remove /usr/xpg4/bin from $PATH on Solaris, it causes weird issues in the bmake test suite, and is unnecessary. Instead, ensure we use the xpg4 id. Tested on Solaris 9 and SmartOS. Fixes PR#45444. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.175 2012/05/15 16:42:43 christos Exp $ d680 6 a685 1 need_ksh=yes @ 1.175 log @Don't enforce vulnerability tests during bootstrap. On old systems eg. NetBSD-3, the checker command line syntax was different leading to failure to install. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.174 2012/01/11 01:15:17 riz Exp $ a667 3 if [ -d "/usr/xpg4/bin" ]; then overpath="/usr/xpg4/bin:$overpath" fi d682 3 a684 2 groupsprog="/usr/xpg4/bin/id -gn" whoamiprog="/usr/xpg4/bin/id -un" @ 1.174 log @Minor corrections, from Snader_LB on FreeNode: - capitalize ``NetBSD.org''; - remove trailing whitespace; - clarify the bootstrapping procedure's ending sentence, and end it with punctuation. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.173 2011/11/29 17:06:45 hans Exp $ d42 4 @ 1.173 log @Revert nawk change. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.172 2011/11/29 15:06:20 hans Exp $ d279 1 a279 1 [ -d "$1" ] && return 0 d332 1 a332 1 echo "ERROR: The variable SH must contain an absolute path" 1>&2 d1124 1 a1124 1 echo "Thank you" @ 1.172 log @On SunOS, don't build nawk if a native one is available. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.171 2011/10/04 11:37:38 hans Exp $ d669 1 a669 1 if [ -x "/usr/gnu/bin/awk" -o -x "/usr/bin/nawk" ]; then @ 1.171 log @Not every tar knows -z. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.170 2011/09/14 15:14:53 hans Exp $ d669 1 a669 1 if [ -x "/usr/gnu/bin/awk" ]; then @ 1.170 log @Use more host tools on SunOS. Default to GNU tools when available. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.169 2011/06/12 17:46:02 agc Exp $ d112 1 a112 1 cd / && tar -hzcf "${binary_gzip_kit}" .$prefix .$pkgdbdir .$etc_mk_conf @ 1.169 log @order the options alphabetically - makes it much easier to see what options there are. no functional change. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.168 2011/06/12 08:28:32 obache Exp $ d669 10 a678 2 need_awk=yes need_sed=yes @ 1.168 log @Drop --ignore-case-check option from bootstrap script. pkgsrc infrastructure itself does not require case-sensitive filesystem nowadays, and always no need to check filesystem case-check. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.167 2011/06/12 07:58:51 obache Exp $ a52 9 [ --workdir ] [ --prefix ] [ --pkgdbdir ] [ --pkgmandir ] [ --sysconfdir ] [ --varbase ] [ --unprivileged | --ignore-user-check ] [ --preserve-path ] [ --compiler ] a53 1 [ --mk-fragment ] a54 1 [ --gzip-binary-kit ] d56 1 d58 7 d66 5 a70 1 [ --help ]' @ 1.167 log @drop --fetch-cmd option and FETCH_CMD settings for default mk.conf. fetch stuff was changed and it will not works as expected nowadays. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.166 2011/04/15 09:02:00 joerg Exp $ a41 1 ignorecasecheck=no a58 1 [ --ignore-case-check ] a386 1 --ignore-case-check) ignorecasecheck=yes ;; a816 19 # make sure we're using a case-sensitive file system if [ $ignorecasecheck = "no" ]; then case "$opsys" in Interix) echo_msg "Testing file system case sensitivity" for fs in "$prefix"; do testdir="pkgsrc-REQUIRES-case-SENSITIVE-filesystem" testdir_mangled="PKGSRC-requires-CASE-sensitive-FILESYSTEM" mkdir_p "$fs/$testdir" || die "can't verify filesystem ($fs) case-sensitivity" if [ -d "$fs/$testdir_mangled" ]; then $rmdirprog "$fs/$testdir" die "\"$fs\" needs to be on a case-sensitive filesystem (see README.$opsys)" fi $rmdirprog "$fs/$testdir" done ;; esac fi @ 1.166 log @Disable USE_DESTDIR for bootstrap. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.165 2011/04/05 05:43:19 agc Exp $ a59 1 [ --fetch-cmd ] a384 2 --fetch-cmd=*) fetch_cmd=`get_optarg "$1"` ;; --fetch-cmd) fetch_cmd="$2"; shift ;; a469 1 [ -z "$fetch_cmd" ] && fetch_cmd="/usr/bin/ftp" a491 10 case `uname -r` in 1.1[0-9]*) [ -z "$fetch_cmd" ] && fetch_cmd="/usr/bin/ftp" ;; 1.0* | 1.1 | 1.2.* | 1.3.*) ;; *) [ -z "$fetch_cmd" ] && fetch_cmd="/usr/bin/ftp" ;; esac a612 1 [ -z "$fetch_cmd" ] && fetch_cmd=/usr/bin/ftp a662 1 fetch_cmd="/usr/bin/ftp" a1010 4 if [ -n "${fetch_cmd}" ]; then echo "FETCH_CMD= $fetch_cmd" >> ${TARGET_MKCONF} fi @ 1.165 log @Move this file to a 2-clause BSD license. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.164 2011/03/22 08:39:30 tron Exp $ d1100 1 a1100 1 run_cmd "(cd $pkgsrcdir/$1 && $bmake -DPKG_PRESERVE MAKECONF=${BOOTSTRAP_MKCONF} install)" @ 1.164 log @Use "-n" instead of "! -z". @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.163 2011/01/23 19:07:25 agc Exp $ d5 2 a6 2 # # Copyright (c) 2001-2002 Alistair G. Crooks. All rights reserved. a15 7 # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Alistair G. Crooks # for the NetBSD project. # 4. The name of the author may not be used to endorse or promote # products derived from this software without specific prior written # permission. d17 10 a26 11 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @ 1.163 log @Add support for MirBSD to pkgsrc. Patches from Benny Siegert and Thorsten Glaser. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.162 2010/12/26 11:24:21 adam Exp $ d232 1 a232 1 if [ ! -z "$imakeopts" ]; then d886 1 a886 1 if [ ! -z "$abi" ]; then d1170 3 a1172 3 [ ! -z "${binary_kit}" ] && mkbinarykit_tar [ ! -z "${binary_gzip_kit}" ] && mkbinarykit_tgz [ ! -z "${binary_macpkg}" ] && mkbinarykit_macpkg @ 1.162 log @Allow to provide CC on Darwin @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.161 2010/11/20 00:49:33 obache Exp $ d625 29 @ 1.161 log @Revert r1.159, adding WRKOBJDIR to mk.conf from --workdir. PR#44117. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.160 2010/11/13 21:43:39 joerg Exp $ d483 1 a483 1 CC="gcc -isystem /usr/include"; export CC @ 1.160 log @Bailout if the SH override is not a full path. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.159 2010/08/30 06:21:49 obache Exp $ a373 1 workdir= d382 2 a383 2 --workdir=*) wrkdir=`get_optarg "$1"`; workdir=${wrkdir} ;; --workdir) wrkdir="$2"; shift; workdir=${wrkdir} ;; a1065 3 if [ ! -z "${workdir}" ]; then echo "WRKOBJDIR= ${workdir}/pkgsrc" >> ${TARGET_MKCONF} fi @ 1.159 log @Set WRKOBJDIR=${workdir}/pkgsrc to target mk.conf if --workdir is specified. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.158 2010/08/13 18:57:36 joerg Exp $ d338 9 @ 1.158 log @Don't allow a prefix or other directory ending in /. Adresses PR 43754. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.157 2010/03/19 14:11:11 seanb Exp $ d365 1 d374 2 a375 2 --workdir=*) wrkdir=`get_optarg "$1"` ;; --workdir) wrkdir="$2"; shift ;; d1058 3 @ 1.157 log @- Update QNX. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.156 2010/02/06 10:28:54 obache Exp $ d319 1 @ 1.156 log @Add Haiku support. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.155 2010/02/06 05:54:17 obache Exp $ d642 2 @ 1.155 log @remove redundant period in message, part of PR#41130. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.154 2010/02/06 05:51:50 obache Exp $ d242 4 d513 19 @ 1.154 log @Honor LIBS environment variable, part of PR#41130. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.153 2010/02/06 04:30:49 obache Exp $ d810 1 a810 1 echo_msg "Creating default mk.conf. in ${wrkdir}" @ 1.153 log @Sort $opsys case alphabetically. part of PR#41130. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.152 2010/01/16 02:16:35 obache Exp $ d39 1 a39 1 # compiler/linker flags: CFLAGS, CPPFLAGS, LDFLAGS d948 1 a948 1 run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir --program-transform-name='s,sed,nbsed,' && $bmake)" d961 1 a961 1 LIBS='-lnbcompat' $shprog ./configure $configure_quiet_flags -C \ d1023 3 @ 1.152 log @Add support of SSD/Linux. * ROOT_GROUP=wheel, fixes PR#42073. * LOWER_VENDOR=ssd * adjust paths for some tools @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.151 2009/12/13 08:35:22 obache Exp $ d452 9 d517 36 d608 17 a639 45 AIX) root_group=system need_bsd_install=yes need_awk=yes need_sed=yes need_fixed_strip=yes set_opsys=no machine_arch=`get_machine_arch_aix` ;; Interix) is_root () { if id -G | grep -q 131616; then return 1 fi return 0 } mkdir_p () { mkdir -p "$@@" # allows umask to take effect } default_install_mode=0775 root_user=`id -u` root_group=131616 case `uname -r` in 3.* | 5.*) need_bsd_install=yes need_awk=yes need_sed=yes set_opsys=no need_xargs=yes ;; *) need_bsd_install=no need_awk=no need_sed=no set_opsys=no need_xargs=no ;; esac # only used for unprivileged builds groupsprog="id -gn" # for bootstrap only; pkgsrc uses CPPFLAGS CC="gcc -D_ALL_SOURCE"; export CC ac_cv_header_poll_h=no; export ac_cv_header_poll_h ac_cv_func_poll=no; export ac_cv_func_poll ;; a650 17 OSF1) root_group=system need_bsd_install=yes need_awk=yes need_sed=yes need_ksh=yes set_opsys=no ;; QNX) root_group=root need_bsd_install=yes set_opsys=no groupsprog="id -gn" whoamiprog="id -un" fetch_cmd="/usr/bin/ftp" machine_arch=`uname -p | sed -e 's/x86/i386/'` ;; @ 1.151 log @No need to use pkgsrc bsd_install, awk, sed and xargs for SUA 6.0 on bootstrap. XXX: If someone confirmed SUA 5.2 also so, please adjust "3.* | 5.*)" to "3.*)". @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.150 2009/08/01 20:19:37 dholland Exp $ d536 4 a539 2 if [ -f /etc/debian_version ]; then DEBIAN=yes a540 1 root_group=root @ 1.150 log @Add /usr/bsd to $overpath for IRIX as per PR 38802. I'm going to leave /usr/bsd/bin there for now (unless someone wants to confirm it's never existed in *any* IRIX version) because it should ordinarily be harmless. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.149 2009/07/05 12:35:13 ahoka Exp $ d599 16 a614 5 need_bsd_install=yes need_awk=yes need_sed=yes set_opsys=no need_xargs=yes @ 1.149 log @Rollback my previous commit: pdksh doesnt solve the problem I wanted to. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.148 2009/06/27 22:30:50 ahoka Exp $ d512 3 @ 1.148 log @Require ksh on HP-UX: /bin/sh dumps core during install on certain systems. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.147 2009/06/15 17:02:14 joerg Exp $ a504 1 need_ksh=yes @ 1.147 log @Bail out before doing anything if PKG_PATH is set. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.146 2009/05/29 15:58:37 rillig Exp $ d505 1 @ 1.146 log @Fixed the infinite recursion as suggested in PR 41446. Thanks for the patch. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.144 2009/04/23 00:15:53 minskim Exp $ d344 5 @ 1.145 log @Replaced the weird-looking and probably wrong code in mkdir_p_early with much simpler code. This works around an endless recursion (and a segmentation fault when using bash) when ./bootstrap is run in a read-only directory. @ text @d285 9 a293 4 [ -d "$1" ] && return 0 mkdir -p "$1" && return 0 [ -d "$1" ] && return 0 die "aborted." @ 1.144 log @Fix a square bracket mismatch. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.143 2009/04/21 14:21:10 joerg Exp $ d285 4 a288 8 [ -d "$1" ] && return 0 mkdir -p "$1" 2> /dev/null && return 0 mkdir_p_early `basename "$1"` if [ ! -d "$1" ] && mkdir "$1"; then echo_msg "mkdir $1 exited with status $?" die "aborted." fi return 0 @ 1.143 log @Provide a better mkdir -p replacement for the early build for platforms that don't have it. Explicitly bail out if the work directory exists already. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.142 2009/04/06 14:21:05 joerg Exp $ d695 1 a695 1 if [ -d "${wrkdir}" ] || [ -f "${wrkdir}"; then @ 1.142 log @Don't install ftp -- it is no longer a dependency of bootstrap components, so it doesn't need the special threatment. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.141 2009/02/05 18:53:03 joerg Exp $ d285 6 a290 7 if [ ! -d "$1" ]; then if mkdir -p "$1"; then : else echo_msg "mkdir $1 exited with status $?" die "aborted." fi d292 1 d695 5 @ 1.141 log @Remove LIBNBCOMPAT_STYLE for nbsed, it is not used anywhere. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.140 2009/02/04 07:44:58 joerg Exp $ a639 6 if [ -z "$fetch_cmd" ]; then need_ftp=yes else need_ftp=no fi a647 1 need_ftp=yes @ 1.140 log @Make life easier and pull in bdb and getopt for the initial build during the bootstrap as well. Fixes the remainining part of PR 40544. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.139 2009/02/02 13:01:29 joerg Exp $ d1042 1 a1042 1 yes) build_package "textproc/nbsed" "LIBNBCOMPAT_STYLE=inplace";; @ 1.139 log @- retire fnmatch magic - drop tnftp and pax from bootstrap, they can be installed as normal dependencies now that pkg_install doesn't need them. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.138 2009/01/21 00:07:40 sketch Exp $ d893 1 a893 1 run_cmd "(cd $wrkdir/libnbcompat; $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir && $bmake $make_quiet_flags)" @ 1.138 log @Add default CC, CXX and CPP to mk.conf for Sun Studio. Ideally none of these would have to be set here and instead default in mk/compiler but the legacy share/*.mk stuff won't allow that yet. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.137 2008/11/19 16:35:23 sketch Exp $ a443 1 tnftpxflags= a447 1 need_pax=yes a468 1 need_pax=yes a487 1 need_pax=yes a495 1 need_pax=yes a510 1 need_pax=yes a523 4 # IRIX 5 does not have uint32_t typedef'd in sys/types.h tnftpxflags="-DUINT32_T=int" # IRIX 5 is lacking fnmatch.h needed to build mtree needfnmatchh=yes a530 1 need_pax=yes a538 1 need_pax=no a542 2 check_prog paxprog pax check_prog tarprog tar a546 1 need_pax=yes a557 1 need_pax=yes a569 1 need_pax=yes a589 1 need_pax=yes a603 1 need_pax=yes a614 1 need_pax=yes a622 1 need_pax=yes a632 1 need_pax=yes a650 1 need_pax=yes a894 4 if [ x"$needfnmatchh" = x"yes" ]; then $lnprog -s nbcompat/fnmatch.h $wrkdir/libnbcompat/fnmatch.h fi a935 16 case "$need_pax" in yes) echo "TOOLS_PLATFORM.pax?= $prefix/bin/\${NBPAX_PROGRAM_PREFIX}pax" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.pax?= $prefix/bin/\${NBPAX_PROGRAM_PREFIX}pax" >> ${BOOTSTRAP_MKCONF} echo "TOOLS_PLATFORM.tar?= $prefix/bin/\${NBPAX_PROGRAM_PREFIX}tar" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.tar?= $prefix/bin/\${NBPAX_PROGRAM_PREFIX}tar" >> ${BOOTSTRAP_MKCONF} ;; *) echo "TOOLS_PLATFORM.pax?= $paxprog" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.pax?= $paxprog" >> ${BOOTSTRAP_MKCONF} echo "TOOLS_PLATFORM.tar?= $tarprog" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.tar?= $tarprog" >> ${BOOTSTRAP_MKCONF} ;; esac a1046 6 case "$need_ftp" in yes) build_package "net/tnftp";; esac case "$need_pax" in yes) build_package "archivers/pax";; esac @ 1.137 log @/usr/ucb/install cannot handle a Solaris zone with a read-only /usr but writeable /usr/pkg, so use install-sh on Solaris instead. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.136 2008/10/14 22:50:54 joerg Exp $ d832 7 @ 1.136 log @bmake is supposed to be standalone and we don't document a requirement of make, so build libnbcompat after bmake using bmake. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.135 2008/07/31 13:42:57 joerg Exp $ d574 1 a574 1 need_bsd_install=no @ 1.135 log @Use /usr/xpg4/bin/id on Solaris to get user id and group id. Reported by David H. Gutter and based on the suggestion from salo in PR 39235. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.134 2008/07/20 23:57:36 dbj Exp $ a811 9 # build libnbcompat echo_msg "Building libnbcompat" copy_src $pkgsrcdir/pkgtools/libnbcompat/files libnbcompat run_cmd "(cd $wrkdir/libnbcompat; $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir && make $make_quiet_flags)" if [ x"$needfnmatchh" = x"yes" ]; then $lnprog -s nbcompat/fnmatch.h $wrkdir/libnbcompat/fnmatch.h fi d899 1 a899 1 run_cmd "(cd $wrkdir/bmake && env CPPFLAGS='$CPPFLAGS -I../../libnbcompat' LDFLAGS='$LDFLAGS -L../../libnbcompat' LIBS='-lnbcompat' $bmakexenv $shprog ./boot-strap $configure_quiet_flags -q -o $opsys --prefix=$wrkdir --sysconfdir=$wrkdir --mksrc none --with-default-sys-path="$wrkdir/share/mk" $bmakexargs)" d906 9 @ 1.134 log @previous commit also accidentally added default fetch_cmd=/usr/bin/ftp on darwin. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.133 2008/07/20 23:54:48 dbj Exp $ d579 2 a580 1 whoamiprog=/usr/ucb/whoami @ 1.133 log @support NBPAX_PROGRAM_PREFIX variable in TOOLS_PLATFORM.{pax,tar} leave default value unset to preserve existing behavior. you can now set NBPAX_PROGRAM_PREFIX=nb (for example) in your mk.conf to have the bootstrap install and use nbpax/nbtar/nbcpio which don't conflict with system provided tools. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.132 2008/06/19 18:36:51 joerg Exp $ @ 1.132 log @Add a marker for bootstrap packages to allow special cases them during bulk builds. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.131 2008/06/17 12:11:59 sketch Exp $ d454 1 d957 4 a960 4 echo "TOOLS_PLATFORM.pax?= $prefix/bin/pax" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.pax?= $prefix/bin/pax" >> ${BOOTSTRAP_MKCONF} echo "TOOLS_PLATFORM.tar?= $prefix/bin/tar" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.tar?= $prefix/bin/tar" >> ${BOOTSTRAP_MKCONF} @ 1.131 log @Bail out if passed --abi on a platform for which we do special-case handling. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.130 2008/06/17 11:50:45 sketch Exp $ d1059 4 @ 1.130 log @Save SUNWSPROBASE if provided. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.129 2008/06/17 11:38:52 sketch Exp $ d167 5 @ 1.129 log @Add --abi to set $ABI correctly, avoids the need for CFLAGS hacks. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.128 2008/06/11 12:47:07 sketch Exp $ d834 4 @ 1.128 log @If $need_ksh, set TOOLS_PLATFORM.ksh too, else packages with USE_TOOLS+=ksh overwrite the installed dependancy, breaking bulk builds. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.127 2008/05/24 13:38:33 tnn Exp $ d73 1 d373 2 @ 1.127 log @Build install-sh a bit earlier, so it's available before pdksh. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.126 2008/05/23 18:06:44 tnn Exp $ d910 2 @ 1.126 log @Set need_ksh=yes for SunOS as well. Asked by joerg@@ @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.125 2008/05/23 17:49:52 tnn Exp $ d1047 3 a1059 3 case "$need_bsd_install" in yes) build_package "sysutils/install-sh";; esac @ 1.125 log @- Update bootstrap stuff to build shells/pdksh if need_ksh=yes - set need_ksh=yes for OSF1 - rebootstrap the early bmake after having built ksh, so it's more likely to have a working shell for later use. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.124 2008/05/09 18:35:35 agc Exp $ a562 3 if [ -x "/usr/xpg4/bin" ]; then bmakexargs="$bmakexargs --with-defshell=/usr/xpg4/bin/sh" fi d568 1 @ 1.124 log @It's been possible to use case-insensitive file systems for Mac OS X for about a year now. In celebration of this, remove the check and error message when ensuring a case- sensitive filesystem on Mac OS X. Keep the check for Interix. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.123 2008/04/30 03:14:55 minskim Exp $ d630 1 d670 1 d893 7 a899 4 echo_msg "Bootstrapping bmake" copy_src $pkgsrcdir/devel/bmake/files bmake run_cmd "(cd $wrkdir/bmake && env CPPFLAGS='$CPPFLAGS -I../../libnbcompat' LDFLAGS='$LDFLAGS -L../../libnbcompat' LIBS='-lnbcompat' $bmakexenv $shprog ./boot-strap $configure_quiet_flags -q -o $opsys --prefix=$wrkdir --sysconfdir=$wrkdir --mksrc none --with-default-sys-path="$wrkdir/share/mk" $bmakexargs)" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/bmake/$opsys/bmake $wrkdir/bin/bmake" d903 16 d1049 3 @ 1.123 log @Set packagemaker so that the .pkg is built on Darwin. This functionality disappeared when mkbinarykit was merged into bootstrap. Still need to revive support for universal binary. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.122 2008/04/29 22:03:19 minskim Exp $ d777 1 a777 1 Darwin|Interix) @ 1.122 log @Make the --binary-macpkg option compatible with the other binary-kit options. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.121 2008/03/06 04:45:58 jlam Exp $ d448 11 @ 1.121 log @+ Remove pkgtools/pax and pkgtools/tnftp as they are no longer different from archivers/pax and net/tnftp, respectively. In the past, the pkgtools version of these packages installed into ${PKG_TOOLS_BIN}, but this was changed in: pkgtools/pax/Makefile:1.15 pkgtools/tnftp/Makefile:1.3 + Get rid of archivers/pax/Makefile.common and net/tnftp/Makefile.common by merging them into their respective Makefiles. The Makefile.common files existed solely for inclusion by the pkgtools versions of these packages, but with the removal of those packages, these files are now unnecessary. + Add full DESTDIR support to archivers/pax and net/tnftp. + Modify the bootstrap to build archivers/pax and net/tnftp instead of the pkgtools versions of these packages. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.120 2008/01/30 22:57:31 tron Exp $ d388 2 d391 1 a391 1 binary_macpkg=`get_optarg "$1"` ;; @ 1.121.2.1 log @pullup ticket #2399 - requested by minskim bootstrap script: --binary-macpkg option fix revisions pulled up: - pkgsrc/bootstrap/bootstrap 1.122,1.123 Module Name: pkgsrc Committed By: minskim Date: Tue Apr 29 22:03:19 UTC 2008 Modified Files: pkgsrc/bootstrap: bootstrap Log Message: Make the --binary-macpkg option compatible with the other binary-kit options. ------------------------------------------------------------------------ Module Name: pkgsrc Committed By: minskim Date: Wed Apr 30 03:14:55 UTC 2008 Modified Files: pkgsrc/bootstrap: bootstrap Log Message: Set packagemaker so that the .pkg is built on Darwin. This functionality disappeared when mkbinarykit was merged into bootstrap. Still need to revive support for universal binary. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.121 2008/03/06 04:45:58 jlam Exp $ d388 1 a388 1 --binary-macpkg=*) a389 2 --binary-macpkg) binary_macpkg="$2"; shift ;; a445 11 osrev=`uname -r` macosx_version=`echo $osrev | awk -F . '{ print "10."$1-4; }'` case "$macosx_version" in 10.[0-4]) packagemaker=/Developer/Tools/packagemaker ;; *) packagemaker=/Developer/usr/bin/packagemaker ;; esac unset osrev macosx_version @ 1.120 log @Try to fix PR pkg/26143 with caution: - Set "CC" to "gcc -isystem /usr/include" during bootstrap. - Add "-isystem /usr/include" to the Darwin specific "CPPFLAGS". @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.119 2008/01/24 14:48:02 joerg Exp $ d1029 1 a1029 1 yes) build_package "pkgtools/tnftp";; d1032 1 a1032 1 yes) build_package "pkgtools/pax";; @ 1.119 log @Change default pathes to more sane values: - /var as varbase is only used for privileged builds without prefix or when prefix is explicitly set to /usr/pkg - if prefix is set to a non-standard value, derive varbase from it - derive pkgdbdir from varbase Based on the discussion in PR 37796 and with jlam@@. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.118 2008/01/23 21:12:41 joerg Exp $ d445 1 @ 1.118 log @Add --binary-kit, --gzip-binary-kit and --binary-macpkg to bootstrap and retire mkbinarkit. The options take the desired output name as argument. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.117 2008/01/20 19:55:29 rillig Exp $ d410 2 a411 5 [ -z "$pkgdbdir" ] && pkgdbdir=${prefix}/var/db/pkg [ -z "$varbase" ] && varbase=${prefix}/var else [ -z "$prefix" ] && prefix=/usr/pkg [ -z "$pkgdbdir" ] && pkgdbdir=/var/db/pkg d414 4 @ 1.117 log @Make sure that the files found by check_prog are really regular files and nothing else. This prevents bootstrap from exiting just because there is a subdirectory named "awk" (or another tool) in one of the PATH directories. Fixes PR 37806. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.116 2007/11/01 23:18:54 rillig Exp $ d74 3 d88 36 d379 11 d1069 4 @ 1.116 log @Renamed the ignoreusercheck variable to unprivileged, since it does more than just checking whether the bootstrap is run by root. No other visible changes. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.115 2007/10/17 02:45:42 rillig Exp $ d173 1 a173 1 if [ -x "$_d/$_name" ]; then @ 1.115 log @Added some very basic sanity checks for the arguments to bootstrap. This code should have been here since the very beginning of bootstrap. Additionally, the paths are checked that they only contain characters from the "Portable Filename Character Set" (IEEE 2003.1, definition 3.276). Motivated by http://mail-index.netbsd.org/pkgsrc-users/2007/10/17/0000.html @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.114 2007/10/09 01:10:19 rillig Exp $ d51 1 a51 1 ignoreusercheck=no d334 1 a334 1 --unprivileged | --ignore-user-check) ignoreusercheck=yes ;; d358 1 a358 1 if [ "$ignoreusercheck" = "yes" ]; then d692 1 a692 1 if [ $ignoreusercheck = "no" ]; then d768 1 a768 1 if [ "$ignoreusercheck" = "yes" ]; then @ 1.114 log @Fixed a typo in the bootstrap program. Now it is possible to specify an alternative fetch_cmd. Patch provided by Pierre Bourgin in PR 37081. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.113 2007/09/29 15:50:16 rillig Exp $ d264 20 d349 7 @ 1.113 log @Mention --unprivileged, since pkgsrc runs (almost) great as unprivileged user. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.112 2007/09/08 09:58:14 rillig Exp $ d310 1 a310 1 --fetch-cmd) fetch_cmd="$a"; shift ;; @ 1.112 log @Removed the warning about pkg_add or pkg_delete "not running as root" completely. It only made the code more bloated, and a user trying to add or delete packages would get lots of "Permission denied" warnings anyway. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.111 2007/09/07 15:45:14 rillig Exp $ d666 1 a666 1 die "You must be root to install bootstrap-pkgsrc." @ 1.111 log @In unprivileged builds, the user running pkg_add and pkg_delete is almost always an unprivileged user. So there's no point in printing a warning in that case. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.110 2007/09/06 20:13:44 joerg Exp $ a792 4 if [ "$ignoreusercheck" = "yes" ]; then echo "CPPFLAGS+= -DUNPRIVILEGED" >> ${BOOTSTRAP_MKCONF} fi @ 1.110 log @Add QNX configuration. From Sean Boudreau. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.109 2007/09/06 19:23:25 joerg Exp $ d793 4 @ 1.109 log @Try to force a proper shell on Solaris by extending bmake to expect full path names. Use the default locations in /bin unless overriden explicitly. Bump revision of bmake. On Solaris, use /usr/xpg4/bin/sh if it exists. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.108 2007/08/18 11:01:28 schwarz Exp $ d540 10 @ 1.108 log @do not add preset CFLAGS, CPPFLAGS or LDFLAGS to BOOTSTRAP_MKCONF since on bootstrap time these variables are already set as shell variables. As a result, they were doubled for bootstrap compiling. An alternative solution to that issue would be to explicitly empty those shell variables once they have been added to BOOTSTRAP_MKCONF, but that approach would use more lines of shell code :-) @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.107 2007/08/14 00:26:58 rillig Exp $ d471 3 @ 1.107 log @Replaced the hard-coded /bin/bash with an environment variable. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.106 2007/08/13 22:48:59 rillig Exp $ a742 1 cp ${TARGET_MKCONF} $wrkdir/mk.conf d744 1 a890 1 echo "CFLAGS+= $CFLAGS" >> ${BOOTSTRAP_MKCONF} a895 1 echo "CPPFLAGS+= $CPPFLAGS" >> ${BOOTSTRAP_MKCONF} a898 1 echo "LDFLAGS+= $LDFLAGS" >> ${BOOTSTRAP_MKCONF} @ 1.106 log @s/POSIX/BSD/ for echo(1). @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.105 2007/08/05 16:12:15 tnn Exp $ d40 1 a40 1 # tools: CP, GREP, ID, MKDIR, TEST, TOUCH, XARGS d264 14 d855 3 a857 6 # On some newer Ubuntu installations, /bin/sh is a symlink to /bin/dash, # whose echo(1) is not BSD-compatible. dash_echo_test=`echo "\\100"` if [ "$dash_echo_test" = "@@" ]; then echo "TOOLS_PLATFORM.sh?= /bin/bash # instead of /bin/sh" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.sh?= /bin/bash # instead of /bin/sh" >> ${BOOTSTRAP_MKCONF} @ 1.105 log @Interix: Install xargs script in $wrkdir, not $prefix, for bootstrapping. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.104 2007/08/03 11:54:31 joerg Exp $ d842 1 a842 1 # whose echo(1) is not POSIX-compliant. @ 1.104 log @In preparation for the libarchivification of pkg_create, pass down --enable-bootstrap to pkg_install's configure for the first build phase. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.103 2007/07/31 14:31:27 joerg Exp $ d760 1 a760 1 run_cmd "$install_sh -c -o $user -g $group -m 755 $pkgsrcdir/pkgtools/bootstrap-extras/files/xargs-sh $prefix/bin/xargs" @ 1.103 log @Only write FETCH_CMD to mk.conf, if it is set already. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.102 2007/07/29 17:09:47 joerg Exp $ d825 2 a826 2 --prefix=$prefix --sysconfdir=$sysconfdir --with-pkgdbdir=$pkgdbdir \ --mandir=$mandir $pkg_install_args && $bmake)" @ 1.102 log @Add --mk-fragment option to bootstrap. This allows including a fragment after the automatic options and makes it simpler to rebuild the bootstrap automatically from pbulk. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.101 2007/07/27 10:43:24 joerg Exp $ d834 3 a836 1 echo "FETCH_CMD= $fetch_cmd" >> ${TARGET_MKCONF} @ 1.101 log @Split bootstrap into two phases: - phase one builds the essential tools in the bare minimal version needed by the infrastructure to run "make install". - phase two runs "make install" for all the bootstrap packages. Set WRKOBJDIR for the second phase, we never want to leave garbage around. This increases the time for running bootstrap, but gives more deterministic results. It also means that e.g. configuration files in pkg_install can be handled normally. It is a prerequirement to sanely allow pkg_install some more extended work like building its own libarchive without having to worry too much about limitations on some platforms. This fixes the expansion of @@gzcat@@ in the download-vulnerability-list script. Tested by tnn@@ on Interix and myself on DragonFly. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.100 2007/07/02 14:59:19 joerg Exp $ d73 1 d279 1 d302 4 d898 4 @ 1.100 log @mtree is no longer needed or used by the pkgsrc infrastructure. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.99 2007/07/01 23:27:43 tnn Exp $ d187 1 a187 1 echo "IMAKEOPTS+= $imakeopts" >> ${MKCONF_EXAMPLE} d193 1 a193 1 echo "LDD= $prefix/sbin/fakeldd" >> ${MKCONF_EXAMPLE} d237 12 d528 6 d543 1 d590 1 a590 9 if [ ! -d ${wrkdir} ]; then if mkdir ${wrkdir}; then : else echo "Could not create the working directory \"${wrkdir}\". Try $0 -h."; exit 1 fi fi d620 2 d623 3 a625 3 run_cmd "$sedprog -e 's|@@DEFAULT_INSTALL_MODE@@|'${default_install_mode-0755}'|' $pkgsrcdir/sysutils/install-sh/files/install-sh.in > $wrkdir/install-sh" run_cmd "$chmodprog +x $wrkdir/install-sh" install_sh="$shprog $wrkdir/install-sh" d687 7 a693 8 MKCONF_EXAMPLE=${wrkdir}/mk.conf.example export MKCONF_EXAMPLE echo_msg "Creating mk.conf.example in ${wrkdir}" echo "# Example ${sysconfdir}/mk.conf file produced by bootstrap-pkgsrc" > ${MKCONF_EXAMPLE} echo "# `date`" >> ${MKCONF_EXAMPLE} echo "" >> ${MKCONF_EXAMPLE} echo ".ifdef BSD_PKG_MK # begin pkgsrc settings" >> ${MKCONF_EXAMPLE} echo "" >> ${MKCONF_EXAMPLE} d697 1 a697 1 echo "OPSYS= $opsys" >> ${MKCONF_EXAMPLE} d701 1 a701 1 echo "ABI= $abi" >> ${MKCONF_EXAMPLE} d704 1 a704 1 echo "PKGSRC_COMPILER= $compiler" >> ${MKCONF_EXAMPLE} d709 1 a709 1 echo "UNPRIVILEGED= yes" >> ${MKCONF_EXAMPLE} d713 3 a715 3 echo "PKG_DBDIR= $pkgdbdir" >> ${MKCONF_EXAMPLE} echo "LOCALBASE= $prefix" >> ${MKCONF_EXAMPLE} echo "VARBASE= $varbase" >> ${MKCONF_EXAMPLE} d717 1 a717 1 echo "PKG_SYSCONFBASE= $sysconfdir" >> ${MKCONF_EXAMPLE} d719 11 a729 28 echo "PKG_TOOLS_BIN= $prefix/sbin" >> ${MKCONF_EXAMPLE} echo "PKGMANDIR= $pkgmandir" >> ${MKCONF_EXAMPLE} echo "" >> ${MKCONF_EXAMPLE} # create directories mkdir_p $prefix $pkgdbdir $prefix/sbin mkdir_p $mandir/man1 $mandir/cat1 mkdir_p $mandir/man8 $mandir/cat8 # bootstrap make and *.mk files mkdir_p $prefix/share/mk $prefix/lib copy_src $pkgsrcdir/pkgtools/bootstrap-mk-files/files mk-files ( cd ${wrkdir}/mk-files for file in bsd.* sys.mk; do [ ! -f mods/$opsys.$file ] || run_cmd "$cpprog mods/$opsys.$file $file" done if [ -f mods/$opsys.own.mk.in ]; then own_mk=mods/$opsys.own.mk.in else own_mk=mods/bsd.own.mk.in fi run_cmd "$sedprog -e 's|@@ROOT_GROUP@@|'$root_group'|g;s|@@ROOT_USER@@|'$root_user'|g;s|@@SYSCONFDIR@@|'$sysconfdir'|g' $own_mk > bsd.own.mk" run_cmd "$cpprog bsd.* sys.mk $prefix/share/mk" ) a730 2 echo_msg "Installing BSD compatible install script" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/install-sh $prefix/bin/install-sh" d732 2 a733 1 echo "TOOLS_PLATFORM.install?= $prefix/bin/install-sh" >> ${MKCONF_EXAMPLE} d738 3 a740 2 run_cmd "$install_sh -c -o $user -g $group -m 755 $pkgsrcdir/pkgtools/bootstrap-extras/files/strip-sh $prefix/bin/strip" echo "TOOLS_PLATFORM.strip?= $prefix/bin/strip" >> ${MKCONF_EXAMPLE} d746 3 a748 2 run_cmd "$install_sh -c -o $user -g $group -m 755 $pkgsrcdir/pkgtools/bootstrap-extras/files/mkdir-sh $prefix/bin/mkdir-sh" echo "TOOLS_PLATFORM.mkdir?= $prefix/bin/mkdir-sh -p" >> ${MKCONF_EXAMPLE} d755 2 a756 1 echo "TOOLS_PLATFORM.xargs?= $prefix/bin/xargs" >> ${MKCONF_EXAMPLE} d760 7 a766 1 echo_msg "Installing bmake" d768 2 a769 3 run_cmd "(cd $wrkdir/bmake && env CPPFLAGS='$CPPFLAGS -I../../libnbcompat' LDFLAGS='$LDFLAGS -L../../libnbcompat' LIBS='-lnbcompat' $bmakexenv $shprog ./boot-strap $configure_quiet_flags -q -o $opsys --prefix=$prefix --sysconfdir=$sysconfdir --mksrc none --with-default-sys-path="$prefix/share/mk" $bmakexargs)" run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/bmake/$opsys/bmake $prefix/bin/bmake" run_cmd "$install_sh -c -o $user -g $group -m 644 $wrkdir/bmake/bmake.1 $mandir/man1/bmake.1" d771 1 a771 1 bmake="$prefix/bin/bmake $make_quiet_flags" d775 1 a775 1 yes) echo_msg "Installing awk" d779 3 a781 4 run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/awk/a.out $prefix/bin/nawk" run_cmd "$install_sh -c -o $user -g $group -m 644 $wrkdir/awk/nawk.1 $mandir/man1/nawk.1" echo "TOOLS_PLATFORM.awk?= $prefix/bin/nawk" >> ${MKCONF_EXAMPLE} BSTRAP_ENV="AWK=\"$prefix/bin/nawk\" $BSTRAP_ENV" d787 1 a787 1 yes) echo_msg "Installing sed" d789 4 a792 3 run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir --program-transform-name='s,sed,nbsed,' && $bmake && $bmake install)" echo "TOOLS_PLATFORM.sed?= $prefix/bin/nbsed" >> ${MKCONF_EXAMPLE} BSTRAP_ENV="SED=\"$prefix/bin/nbsed\" $BSTRAP_ENV" a795 27 if [ -z "$fetch_cmd" ]; then need_ftp=yes else need_ftp=no fi case "$need_ftp" in yes) # bootstrap tnftp fetch_cmd="$prefix/bin/ftp" case "$DEBIAN" in yes) LIBS="-lncurses" ;; esac echo_msg "Installing tnftp" copy_src $pkgsrcdir/net/tnftp/files tnftp run_cmd "(cd $wrkdir/tnftp; env $BSTRAP_ENV CPPFLAGS=\"$CPPFLAGS $tnftpxflags\" $shprog ./configure $configure_quiet_flags --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir && $sedprog -e 's|-ledit|../libedit/libedit.a|' < src/Makefile > src/Makefile.tmp && mv src/Makefile.tmp src/Makefile && $bmake && (cd src && $bmake install))" ;; esac pkg_install_args="$pkg_install_args --with-ftp=$fetch_cmd" FETCH_CMD="$fetch_cmd" export FETCH_CMD echo "FETCH_CMD= $fetch_cmd" >> ${MKCONF_EXAMPLE} # we often need NetBSD's pax as well, nowadays, to make binary packages d797 5 a801 6 yes) echo_msg "Installing pax" copy_src $pkgsrcdir/archivers/pax/files pax run_cmd "(cd $wrkdir/pax; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir && $bmake && $bmake install)" echo "TOOLS_PLATFORM.pax?= $prefix/bin/pax" >> ${MKCONF_EXAMPLE} echo "TOOLS_PLATFORM.tar?= $prefix/bin/tar" >> ${MKCONF_EXAMPLE} pkg_install_args="$pkg_install_args --with-pax=$prefix/bin/pax --with-tar=$prefix/bin/tar" d804 4 a807 1 pkg_install_args="$pkg_install_args --with-pax=$paxprog --with-tar=$tarprog" d811 1 d813 1 a813 1 echo_msg "Installing pkgtools" d815 17 a831 1 run_cmd "(cd $wrkdir/pkg_install; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat -I../../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --sysconfdir=$sysconfdir --with-pkgdbdir=$pkgdbdir --mandir=$mandir $pkg_install_args && $bmake && $bmake install)" d837 2 a838 1 echo "TOOLS_PLATFORM.sh?= /bin/bash # instead of /bin/sh" >> ${MKCONF_EXAMPLE} d842 42 a883 13 test -z "$CP" || echo "TOOLS_PLATFORM.cp?= $CP" >> ${MKCONF_EXAMPLE} test -z "$GREP" || echo "TOOLS_PLATFORM.grep?= $GREP" >> ${MKCONF_EXAMPLE} test -z "$ID" || echo "TOOLS_PLATFORM.id?= $ID" >> ${MKCONF_EXAMPLE} test -z "$MKDIR" || echo "TOOLS_PLATFORM.mkdir?= $MKDIR" >> ${MKCONF_EXAMPLE} test -z "$TEST" || echo "TOOLS_PLATFORM.test?= $TEST" >> ${MKCONF_EXAMPLE} test -z "$TOUCH" || echo "TOOLS_PLATFORM.touch?= $TOUCH" >> ${MKCONF_EXAMPLE} test -z "$XARGS" || echo "TOOLS_PLATFORM.xargs?= $XARGS" >> ${MKCONF_EXAMPLE} test -z "$CFLAGS" || ( echo "CFLAGS+= $CFLAGS" >> ${MKCONF_EXAMPLE} echo "DBG= # prevent DBG from adding default optimizer flags" >> ${MKCONF_EXAMPLE} ) test -z "$CPPFLAGS" || echo "CPPFLAGS+= $CPPFLAGS" >> ${MKCONF_EXAMPLE} test -z "$LDFLAGS" || echo "LDFLAGS+= $LDFLAGS" >> ${MKCONF_EXAMPLE} d888 6 a893 2 echo "" >> ${MKCONF_EXAMPLE} echo ".endif # end pkgsrc settings" >> ${MKCONF_EXAMPLE} d897 2 a898 2 register_package() { run_cmd "(cd $pkgsrcdir/$1 && $bmake -DPKG_PRESERVE MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=${wrkobjdir} ${2-} bootstrap-register)" d901 3 a903 3 echo_msg "Registering installed packages" register_package "pkgtools/bootstrap-mk-files" register_package "devel/bmake" d905 1 a905 1 yes) register_package "lang/nawk";; d908 1 a908 1 yes) register_package "textproc/nbsed" "LIBNBCOMPAT_STYLE=inplace";; d911 1 a911 1 yes) register_package "sysutils/install-sh";; d914 1 a914 1 yes) register_package "pkgtools/bootstrap-extras";; d917 1 a917 1 yes) register_package "pkgtools/tnftp";; d920 1 a920 1 yes) register_package "pkgtools/pax";; d922 1 a922 1 register_package "pkgtools/pkg_install" d927 1 a927 5 # exist yet. # # Note: I can remember that there had been some reason why this step # should be left out, but I can't recall it. So if you remove this code, # please document the reason here. d930 2 a931 2 cp "$MKCONF_EXAMPLE" "$etc_mk_conf" MKCONF_EXAMPLE="$etc_mk_conf" d944 1 a944 1 echo " ${MKCONF_EXAMPLE}" d946 1 a946 1 if [ "$MKCONF_EXAMPLE" != "$etc_mk_conf" ]; then @ 1.99 log @xargs(1) on Interix is broken. It executes the utility on the command line even if standard input is the empty string. Install a wrapper script bundled with pkgtools/bootstrap-extras to deal with this. This is an attempt at a permanent workaround for the problem described in PR pkg/25777 which has regressed since it was initially fixed. We can now bootstrap again on Interix 3.5. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.98 2007/05/30 01:42:59 schmonz Exp $ a329 1 need_mtree=no a333 1 check_prog mtreeprog mtree a338 1 need_mtree=no a343 1 check_prog mtreeprog mtree a358 1 need_mtree=yes a367 1 need_mtree=yes a381 1 need_mtree=yes a408 1 need_mtree=yes a417 1 need_mtree=no a423 1 check_prog mtreeprog mtree a428 1 need_mtree=no a432 1 check_prog mtreeprog mtree a440 1 need_mtree=yes a451 1 need_mtree=yes a472 1 need_mtree=yes a487 1 need_mtree=yes a499 1 need_mtree=yes a508 1 need_mtree=yes a521 1 need_mtree=yes a833 12 # bootstrap mtree if necessary case "$need_mtree" in yes) echo_msg "Installing mtree" copy_src $pkgsrcdir/pkgtools/mtree/files mtree run_cmd "(cd $wrkdir/mtree; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure $configure_quiet_flags -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir && $bmake && $bmake install)" echo "TOOLS_PLATFORM.mtree?= $prefix/sbin/mtree" >> ${MKCONF_EXAMPLE} pkg_install_args="$pkg_install_args --with-mtree=$prefix/sbin/mtree" ;; *) pkg_install_args="$pkg_install_args --with-mtree=$mtreeprog" ;; esac a890 3 case "$need_mtree" in yes) register_package "pkgtools/mtree";; esac @ 1.98 log @We no longer need to check $pkgsrcdir for case-sensitivity. XXX Is it time we stopped checking $prefix, too? IMO, yes. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.97 2007/05/23 04:20:36 schmonz Exp $ d492 1 d775 7 @ 1.98.2.1 log @Pullup ticket 2127 - requested by tnn build fix for bootstrap - pkgsrc/bootstrap/bootstrap 1.99 - pkgsrc/pkgtools/bootstrap-extras/Makefile 1.3 - pkgsrc/pkgtools/bootstrap-extras/PLIST 1.2 - pkgsrc/pkgtools/bootstrap-extras/files/xargs-sh 1.1 Module Name: pkgsrc Committed By: tnn Date: Sun Jul 1 23:27:43 UTC 2007 Modified Files: pkgsrc/bootstrap: bootstrap pkgsrc/pkgtools/bootstrap-extras: Makefile PLIST Added Files: pkgsrc/pkgtools/bootstrap-extras/files: xargs-sh Log Message: xargs(1) on Interix is broken. It executes the utility on the command line even if standard input is the empty string. Install a wrapper script bundled with pkgtools/bootstrap-extras to deal with this. This is an attempt at a permanent workaround for the problem described in PR pkg/25777 which has regressed since it was initially fixed. We can now bootstrap again on Interix 3.5. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.98 2007/05/30 01:42:59 schmonz Exp $ a491 1 need_xargs=yes a773 7 if [ "$need_xargs" = "yes" ]; then echo_msg "Installing fixed xargs script" run_cmd "$install_sh -c -o $user -g $group -m 755 $pkgsrcdir/pkgtools/bootstrap-extras/files/xargs-sh $prefix/bin/xargs" echo "TOOLS_PLATFORM.xargs?= $prefix/bin/xargs" >> ${MKCONF_EXAMPLE} need_extras=yes fi @ 1.97 log @tnftp means to link with its own libedit, but on OS X the linker's search order means that the system libedit gets found first. This hasn't been much of a problem until now, but the system libedit lacks support for Apple's 64-bit architectures, which breaks the Universal build. Therefore, force linking with tnftp's internal libedit by replacing "-ledit" in ${LIBS} with "../libedit/libedit.a". Workaround suggested by tls. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.96 2007/04/25 13:24:24 tnn Exp $ d654 1 a654 1 # make sure we're using a case-sensitive file system on Darwin d659 1 a659 1 for fs in "$prefix" "$pkgsrcdir"; do @ 1.96 log @hpux: machine_arch is hppa, not 9000. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.95 2007/04/14 14:17:49 tnn Exp $ d821 1 a821 1 run_cmd "(cd $wrkdir/tnftp; env $BSTRAP_ENV CPPFLAGS=\"$CPPFLAGS $tnftpxflags\" $shprog ./configure $configure_quiet_flags --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir && $bmake && (cd src && $bmake install))" @ 1.95 log @Teach pkgsrc about HP-UX. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.94 2007/04/12 20:31:04 joerg Exp $ d378 1 @ 1.94 log @Change bootstrap to register bmake as package. Change bmake to use inplace libnbcompat like the direct build from bootstrap does. Fix a long-standing bug in mkbinarykit. The default work directory was "work" (relative) and therefore MAKECONF=work/... was passed down, effectively making it a nop. That resulted in digest being incorrectly installed during the bootstrap. Tested on DragonFly by myself and on OSF by tnn@@, discussed with jlam@@ @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.93 2007/04/12 14:36:40 joerg Exp $ d81 2 a82 2 # strip / for BSD/OS opsys=`uname -s | tr -d /` d370 2 a371 2 HP-UX) root_group=root @ 1.93 log @When calling bootstrap-register from the bootstrap script for the various packages, pass down PKG_PRESERVE. Remove the default setting of PKG_PRESERVE, it makes perfect sense to install e.g. pkgtools/mtree and be able to remove it again, if it is not an essientiel tool. OK jlam@@ @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.92 2007/03/02 16:48:48 wiz Exp $ d897 1 @ 1.92 log @Remove references to pkgmanpages package and packages(7). Noted by reed@@. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.91 2007/02/22 23:29:02 rillig Exp $ d892 1 a892 1 run_cmd "(cd $pkgsrcdir/$1 && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=${wrkobjdir} ${2-} bootstrap-register)" d896 1 a896 1 run_cmd "(cd $pkgsrcdir/pkgtools/bootstrap-mk-files && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" @ 1.91 log @In the bootstrap script, MAKECONF must be overridden, so that the settings from there don't influence the bootstrap process. Fixes PR 33188. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.90 2007/01/26 15:48:42 rillig Exp $ a919 4 # Install the man page. echo_msg "Installing packages(7) man page" run_cmd "(cd $pkgsrcdir/pkgtools/pkgmanpages && $bmake PKG_VERBOSE=yes MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir CREATE_WRKDIR_SYMLINK=no install)" d951 1 a951 1 echo "in $pkgsrcdir/doc/pkgsrc.txt and packages(7)." @ 1.90 log @Added a fix for the case when /bin/sh is a (symlink to) dash. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.89 2007/01/26 07:57:04 rillig Exp $ d45 5 @ 1.89 log @The example mk.conf is installed automatically if there isn't already a mk.conf. This makes using pkgsrc a bit easier. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.88 2006/11/06 21:08:42 tv Exp $ d856 7 @ 1.88 log @Add lang/nawk and sysutils/install-sh to the "don't blow away" package list for bulk builds. (Revert previous on bootstrap; the PKG_PRESERVE hack didn't work as expected.) @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.86 2006/10/13 19:09:53 rillig Exp $ d912 14 d938 4 a941 2 echo "Please copy it to ${sysconfdir}/mk.conf to use it." echo "" @ 1.87 log @Set PKG_PRESERVE on install-sh, nbsed, nawk if installed for the current platform as a bootstrap tool. These cannot be nuked as part of the bulk build clean cycles, or else parts of the .mk infrastructure won't work. @ text @d886 1 a886 1 yes) register_package "lang/nawk" "PKG_PRESERVE=yes";; d889 1 a889 1 yes) register_package "textproc/nbsed" "LIBNBCOMPAT_STYLE=inplace PKG_PRESERVE=yes";; d892 1 a892 1 yes) register_package "sysutils/install-sh" "PKG_PRESERVE=yes";; @ 1.86 log @Added --unprivileged as an alias for --ignore-user-check, aligning with the wording in many other places. Also added --quiet to the usage text, which I had forgotten before. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.85 2006/10/02 16:26:54 rillig Exp $ d886 1 a886 1 yes) register_package "lang/nawk";; d889 1 a889 1 yes) register_package "textproc/nbsed" "LIBNBCOMPAT_STYLE=inplace";; d892 1 a892 1 yes) register_package "sysutils/install-sh";; @ 1.85 log @Added the --quiet option. Made the code simpler by defining a register_package function. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.84 2006/09/18 12:35:44 rillig Exp $ d65 1 a65 1 [ --ignore-user-check ] d69 1 d281 1 a281 1 --ignore-user-check) ignoreusercheck=yes ;; @ 1.84 log @Fixed a bug that prevented the definition of ${ID} to be written into the example mk.conf. The explanation for setting DBG to the empty value is written to the mk.conf file to inform the uninitiated pkgsrc user about its purpose. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.83 2006/09/10 20:14:43 schwarz Exp $ d259 1 d283 1 d539 10 d678 1 a678 1 run_cmd "(cd $wrkdir/libnbcompat; $shprog ./configure -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir && make)" d769 1 a769 1 run_cmd "(cd $wrkdir/bmake && env CPPFLAGS='$CPPFLAGS -I../../libnbcompat' LDFLAGS='$LDFLAGS -L../../libnbcompat' LIBS='-lnbcompat' $bmakexenv $shprog ./boot-strap -q -o $opsys --prefix=$prefix --sysconfdir=$sysconfdir --mksrc none --with-default-sys-path="$prefix/share/mk" $bmakexargs)" d773 1 a773 1 bmake=$prefix/bin/bmake d792 1 a792 1 run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir --program-transform-name='s,sed,nbsed,' && $bmake && $bmake install)" d814 1 a814 1 run_cmd "(cd $wrkdir/tnftp; env $BSTRAP_ENV CPPFLAGS=\"$CPPFLAGS $tnftpxflags\" $shprog ./configure --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir && $bmake && (cd src && $bmake install))" d828 1 a828 1 run_cmd "(cd $wrkdir/pax; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir && $bmake && $bmake install)" d842 1 a842 1 run_cmd "(cd $wrkdir/mtree; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir && $bmake && $bmake install)" d853 1 a853 1 run_cmd "(cd $wrkdir/pkg_install; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat -I../../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir --with-pkgdbdir=$pkgdbdir --mandir=$mandir $pkg_install_args && $bmake && $bmake install)" d877 5 d885 1 a885 1 yes) run_cmd "(cd $pkgsrcdir/lang/nawk && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d888 1 a888 1 yes) run_cmd "(cd $pkgsrcdir/textproc/nbsed && $bmake MAKECONF=${MKCONF_EXAMPLE} LIBNBCOMPAT_STYLE=inplace WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d891 1 a891 1 yes) run_cmd "(cd $pkgsrcdir/sysutils/install-sh && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d894 1 a894 1 yes) run_cmd "(cd $pkgsrcdir/pkgtools/bootstrap-extras && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d897 1 a897 1 yes) run_cmd "(cd $pkgsrcdir/pkgtools/tnftp && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d900 1 a900 1 yes) run_cmd "(cd $pkgsrcdir/pkgtools/mtree && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d903 1 a903 1 yes) run_cmd "(cd $pkgsrcdir/pkgtools/pax && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d905 1 a905 1 run_cmd "(cd $pkgsrcdir/pkgtools/pkg_install && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" d911 3 d918 6 a923 3 echo "An example mk.conf file \"${MKCONF_EXAMPLE}\" with the settings you" echo "provided to \"bootstrap\" has been created for you." echo "Please copy ${MKCONF_EXAMPLE} to ${sysconfdir}/mk.conf." d930 3 @ 1.83 log @ ${X11BASE} can now be set to /usr, so just do so for IRIX and OSF1. No need for any artificial symlinking any more in bootstrap. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.82 2006/09/02 11:14:48 schwarz Exp $ d846 1 a846 1 test -z "$ID" || echo "TOOLS_PLATFORM.id?= $ID" >> {MKCONF_EXAMPLE} d851 4 a854 1 test -z "$CFLAGS" || ( echo "CFLAGS+= $CFLAGS" >> ${MKCONF_EXAMPLE}; echo "DBG=" >> ${MKCONF_EXAMPLE} ) # prevent DBG from adding default optimizer flags @ 1.82 log @ make sure that no default optimizer flags are set via DBG if CFLAGS is specified @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.81 2006/08/26 15:42:27 schwarz Exp $ a189 5 OSF1) if [ ! -e /usr/X11R6 ]; then ln -sf /usr /usr/X11R6 fi ;; @ 1.81 log @ * bootstrap no longer needs regex.h * support environment variables CP, GREP, ID, MKDIR, TEST, TOUCH, XARGS to allow specification on non-standard tools (needed on IRIX 5) * preserve compiler/linker flags if set @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.80 2006/08/20 14:25:22 schwarz Exp $ d856 1 a856 1 test -z "$CFLAGS" || echo "CFLAGS+= $CFLAGS" >> ${MKCONF_EXAMPLE} @ 1.80 log @ * use the pkgsrc mkdir_p script on IRIX 5 * default to cc for CC with mipspro, ido, and sunpro * make sure CFLAGS and CPPFLAGS are used when set by the user @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.79 2006/08/02 23:43:47 rillig Exp $ d38 5 d201 1 a201 1 if [ `uname -r` -lt 6 ]; then d402 1 a402 1 # IRIX 5 is lacking fnmatch.h and regex.h, both provided by libnbcompat a403 1 needregexh=yes d557 10 a566 2 check_prog cpprog cp check_prog idprog id a675 3 if [ x"$needregexh" = x"yes" ]; then $lnprog -s nbcompat/regex.h $wrkdir/libnbcompat/regex.h fi d753 1 a753 1 if [ "$need_mkdir" = "yes" ]; then d848 12 @ 1.79 log @Added an option --compiler, which can be used to override the automatic compiler detection. This is needed for Solaris with SunPro at least, since bootstrap tried to install gcc>=2.95.3 during the registration of the bootstrap packages. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.78 2006/07/24 07:57:45 rillig Exp $ d316 1 a316 1 tnftpxenv= d392 3 d396 1 a396 1 tnftpxenv="CPPFLAGS=-DUINT32_T=int" d592 1 d595 1 d764 1 a764 1 run_cmd "(cd $wrkdir/awk && $bmake -f Makefile CC=\"${CC}\")" d798 1 a798 1 run_cmd "(cd $wrkdir/tnftp; env $BSTRAP_ENV $tnftpxenv $shprog ./configure --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir && $bmake && (cd src && $bmake install))" @ 1.78 log @Allow the bootstrap command to be run from any directory, not just pkgsrcdir. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.77 2006/07/21 19:08:56 jlam Exp $ d62 1 d256 3 a258 1 full= d276 2 d449 1 d577 1 a577 1 if [ x"$check_compiler" = x"yes" ]; then d590 2 d681 1 a681 1 if [ ! -z "$compiler" ]; then d687 1 a687 1 echo "UNPRIVILEGED= yes" >> ${MKCONF_EXAMPLE} @ 1.77 log @In the post-bootstrap message, tell the user the correct manpage directory to add to MANPATH. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.76 2006/07/21 18:58:03 jlam Exp $ d46 4 a49 3 bootstrapdir=`pwd` pkgsrcdir=`dirname $bootstrapdir` wrkdir=$bootstrapdir/work d179 1 a179 1 run_cmd "$install_sh -c -o $user -g $group -m 755 ../pkgtools/bootstrap-extras/files/fakeldd $prefix/sbin" d589 1 a589 1 run_cmd "$sedprog -e 's|@@DEFAULT_INSTALL_MODE@@|'${default_install_mode-0755}'|' ../sysutils/install-sh/files/install-sh.in > $wrkdir/install-sh" d645 1 a645 1 copy_src ../pkgtools/libnbcompat/files libnbcompat d700 1 a700 1 copy_src ../pkgtools/bootstrap-mk-files/files mk-files d726 1 a726 1 run_cmd "$install_sh -c -o $user -g $group -m 755 ../pkgtools/bootstrap-extras/files/strip-sh $prefix/bin/strip" d733 1 a733 1 run_cmd "$install_sh -c -o $user -g $group -m 755 ../pkgtools/bootstrap-extras/files/mkdir-sh $prefix/bin/mkdir-sh" d739 1 a739 1 copy_src ../devel/bmake/files bmake d749 1 a749 1 copy_src ../lang/nawk/files awk d762 1 a762 1 copy_src ../textproc/nbsed/files sed d784 1 a784 1 copy_src ../net/tnftp/files tnftp d798 1 a798 1 copy_src ../archivers/pax/files pax d812 1 a812 1 copy_src ../pkgtools/mtree/files mtree d823 1 a823 1 copy_src ../pkgtools/pkg_install/files pkg_install d834 1 a834 1 run_cmd "(cd ../pkgtools/bootstrap-mk-files && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" d836 1 a836 1 yes) run_cmd "(cd ../lang/nawk && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d839 1 a839 1 yes) run_cmd "(cd ../textproc/nbsed && $bmake MAKECONF=${MKCONF_EXAMPLE} LIBNBCOMPAT_STYLE=inplace WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d842 1 a842 1 yes) run_cmd "(cd ../sysutils/install-sh && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d845 1 a845 1 yes) run_cmd "(cd ../pkgtools/bootstrap-extras && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d848 1 a848 1 yes) run_cmd "(cd ../pkgtools/tnftp && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d851 1 a851 1 yes) run_cmd "(cd ../pkgtools/mtree && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d854 1 a854 1 yes) run_cmd "(cd ../pkgtools/pax && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" ;; d856 1 a856 1 run_cmd "(cd ../pkgtools/pkg_install && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir bootstrap-register)" d860 1 a860 1 run_cmd "(cd ../pkgtools/pkgmanpages && $bmake PKG_VERBOSE=yes MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir CREATE_WRKDIR_SYMLINK=no install)" @ 1.76 log @Add a new option "--full" that implies all of the platform-independent bootstrap software will be installed, regardless of platform. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.75 2006/07/21 18:46:52 jlam Exp $ d863 1 a863 1 echo "and $prefix/man to your MANPATH environment variable, if necessary." @ 1.75 log @Don't create the "work" symlink when building and installing software. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.74 2006/07/21 16:31:49 jlam Exp $ d61 1 d254 1 d275 1 d515 13 @ 1.74 log @Add back $pkg_install_args when invoking the pkg_install configure script. It was lost in revision 1.55. This fixes the path to the various pax, mtree, ftp commands used by pkg_install. Bump the version number of the bootstrap script. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.73 2006/07/21 15:30:30 jlam Exp $ d843 1 a843 1 run_cmd "(cd ../pkgtools/pkgmanpages && $bmake PKG_VERBOSE=yes MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir install)" @ 1.73 log @Since bootstrap happens quite early and it's hard to get good debugging output for bug reports, build with PKG_VERBOSE defined. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.72 2006/07/21 15:16:39 jlam Exp $ d38 1 a38 1 BOOTSTRAP_VERSION=20060714 d807 1 a807 1 run_cmd "(cd $wrkdir/pkg_install; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat -I../../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir --with-pkgdbdir=$pkgdbdir --mandir=$mandir && $bmake && $bmake install)" @ 1.72 log @Ensure $wrkdir is an absolute path so that $wrkobjdir is too. Avoids creating empty "work" directories in the pkgsrc tree due to the bootstrap script setting WRKOBJDIR=$wrkobjdir. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.71 2006/07/20 19:28:42 jlam Exp $ d843 1 a843 1 run_cmd "(cd ../pkgtools/pkgmanpages && $bmake MAKECONF=${MKCONF_EXAMPLE} WRKOBJDIR=$wrkobjdir install)" @ 1.71 log @Fix a reversed test -- if the user specifies "CC" in the environment, then he really doesn't want to always use CC=gcc. This has no effect if you were previously setting CC=gcc anyway. Noted by Stuart Shelton. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.70 2006/07/20 15:13:10 jlam Exp $ a45 1 wrkdir=work # default: relative to pkgsrc/bootstrap d48 1 @ 1.70 log @Fix location of install-sh script in the bootstrap work directory. Problem noted by OBATA Akio on pkgsrc-users@@. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.69 2006/07/19 15:27:37 jlam Exp $ d733 1 a733 1 test -z "$CC" || CC=gcc # default to gcc if no compiler is specified @ 1.69 log @Explicitly set the compiler used to build nawk. The Makefile was explicitly setting CC=cc, so override it on the bmake command line. We use the CC taken from the environment first, and default to "gcc" if CC is not set. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.68 2006/07/19 15:01:23 jlam Exp $ d702 1 a702 1 run_cmd "$install_sh -c -o $user -g $group -m 755 $wrkdir/install-sh/install-sh $prefix/bin/install-sh" @ 1.68 log @Ensure that "Makefile" and not "makefile" is used when building nawk. The former contains fixes for the latter to avoid make errors. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.67 2006/07/17 14:30:05 jlam Exp $ d733 2 a734 1 run_cmd "(cd $wrkdir/awk && $bmake -f Makefile)" @ 1.67 log @* Move the "extra" scripts installed by bootstrap for certain platforms into a separate package pkgtools/bootstrap-extras. Teach the bootstrap script to look for those scripts from the bootstrap-extras package. * When registering the installed software, set WRKOBJDIR to the bootstrap work directory to protect against a read-only pkgsrc tree. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.66 2006/07/14 23:19:15 jlam Exp $ d733 1 a733 1 run_cmd "(cd $wrkdir/awk && $bmake)" @ 1.66 log @Copy the *.mk files from the pkgtools/bootstrap-mk-files package for installation. Garbage-collect the unused bmake and mods directories. Register the *.mk files at the end of the bootstrap process. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.65 2006/07/14 22:17:09 jlam Exp $ d177 2 a178 1 run_cmd "$shprog $wrkdir/install-sh -c -o $user -g $group -m 755 files/fakeldd $prefix/sbin" d224 1 a224 1 run_cmd "$shprog $wrkdir/install-sh -d -o $user -g $group $dir" d281 1 d308 1 d571 4 a574 4 if [ ! -x ${wrkdir}/install-sh ]; then run_cmd "$sedprog -e 's|@@DEFAULT_INSTALL_MODE@@|'${default_install_mode-0755}'|' files/install-sh.in > $wrkdir/install-sh" run_cmd "$chmodprog +x $wrkdir/install-sh" fi d702 1 a702 1 run_cmd "$shprog $wrkdir/install-sh -c -o $user -g $group -m 755 $wrkdir/install-sh $prefix/bin/install-sh" d709 1 a709 1 run_cmd "$shprog $wrkdir/install-sh -c -o $user -g $group -m 755 files/strip-sh $prefix/bin/strip" d711 1 d716 3 a718 2 run_cmd "$shprog $wrkdir/install-sh -c -o $user -g $group -m 755 files/mkdir-sh $prefix/sbin/mkdir-sh" echo "TOOLS_PLATFORM.mkdir?= $prefix/sbin/mkdir-sh -p" >> ${MKCONF_EXAMPLE} d724 2 a725 2 run_cmd "$shprog $wrkdir/install-sh -c -o $user -g $group -m 755 $wrkdir/bmake/$opsys/bmake $prefix/bin/bmake" run_cmd "$shprog $wrkdir/install-sh -c -o $user -g $group -m 644 $wrkdir/bmake/bmake.1 $mandir/man1/bmake.1" d734 2 a735 2 run_cmd "$shprog $wrkdir/install-sh -c -o $user -g $group -m 755 $wrkdir/awk/a.out $prefix/bin/nawk" run_cmd "$shprog $wrkdir/install-sh -c -o $user -g $group -m 644 $wrkdir/awk/nawk.1 $mandir/man1/nawk.1" d816 1 a816 1 run_cmd "(cd ../pkgtools/bootstrap-mk-files && $bmake MAKECONF=${MKCONF_EXAMPLE} bootstrap-register)" d818 1 a818 1 yes) run_cmd "(cd ../lang/nawk && $bmake MAKECONF=${MKCONF_EXAMPLE} bootstrap-register)" ;; d821 7 a827 1 yes) run_cmd "(cd ../textproc/nbsed && $bmake MAKECONF=${MKCONF_EXAMPLE} LIBNBCOMPAT_STYLE=inplace bootstrap-register)" ;; d830 1 a830 1 yes) run_cmd "(cd ../pkgtools/tnftp && $bmake MAKECONF=${MKCONF_EXAMPLE} bootstrap-register)" ;; d833 1 a833 1 yes) run_cmd "(cd ../pkgtools/mtree && $bmake MAKECONF=${MKCONF_EXAMPLE} bootstrap-register)" ;; d836 1 a836 1 yes) run_cmd "(cd ../pkgtools/pax && $bmake MAKECONF=${MKCONF_EXAMPLE} bootstrap-register)" ;; d838 1 a838 1 run_cmd "(cd ../pkgtools/pkg_install && $bmake MAKECONF=${MKCONF_EXAMPLE} bootstrap-register)" d842 1 a842 1 run_cmd "(cd ../pkgtools/pkgmanpages && $bmake MAKECONF=${MKCONF_EXAMPLE} install)" @ 1.65 log @Use the pkgtools/pkgmanpages package instead of keeping our own copy of the packages.7 man/catman page. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.64 2006/07/14 21:41:42 jlam Exp $ d680 1 a680 1 copy_src bmake/mk files-mk d682 10 a691 21 (cd ${wrkdir}/files-mk; if [ -f ${bootstrapdir}/mods/mk/$opsys.sys.mk ]; then run_cmd "$cpprog ${bootstrapdir}/mods/mk/$opsys.sys.mk $prefix/share/mk/sys.mk" else run_cmd "$cpprog ${bootstrapdir}/mods/mk/generic.sys.mk $prefix/share/mk/sys.mk" fi run_cmd "$cpprog bsd.*.mk $prefix/share/mk") if [ -f mods/mk/$opsys.bsd.lib.mk ] ; then run_cmd "$cpprog mods/mk/$opsys.bsd.lib.mk ${wrkdir}/files-mk/bsd.lib.mk" run_cmd "$cpprog mods/mk/$opsys.bsd.lib.mk $prefix/share/mk/bsd.lib.mk" fi if [ -f mods/mk/$opsys.bsd.man.mk ] ; then run_cmd "$cpprog mods/mk/$opsys.bsd.man.mk ${wrkdir}/files-mk/bsd.man.mk" run_cmd "$cpprog mods/mk/$opsys.bsd.man.mk $prefix/share/mk/bsd.man.mk" fi own_mk=mods/mk/bsd.own.mk.in if [ -f mods/mk/$opsys.bsd.own.mk ] ; then own_mk=mods/mk/$opsys.bsd.own.mk.in d693 3 a695 9 run_cmd "$sedprog -e 's|@@ROOT_GROUP@@|'$root_group'|g;s|@@ROOT_USER@@|'$root_user'|g;s|@@SYSCONFDIR@@|'$sysconfdir'|g' $own_mk > $prefix/share/mk/bsd.own.mk" if [ -f mods/mk/$opsys.bsd.prog.mk ] ; then run_cmd "$cpprog mods/mk/$opsys.bsd.prog.mk $prefix/share/mk/bsd.prog.mk" fi if [ -f mods/mk/$opsys.bsd.sys.mk ]; then run_cmd "$cpprog mods/mk/$opsys.bsd.sys.mk $prefix/share/mk/bsd.sys.mk" fi d811 1 @ 1.64 log @Create a separate pkgtools/tnftp package that is installed as part of the bootstrap process and which may be needed by pkg_install. This is distinct from the net/tnftp package that is now a "normal" package. Modify the bootstrap script to use pkgtools/tnftp instead, and clean up some of the registration code. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.63 2006/07/14 19:40:26 jlam Exp $ a819 4 # all's ready, install the man page echo_msg "Installing packages(7) man page" run_cmd "$shprog $wrkdir/install-sh -c -m 444 files/packages.cat7 $mandir/cat7/packages.0" d845 4 @ 1.63 log @Use pkgtools/pax when registering the bootstrap pax. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.62 2006/07/14 17:55:56 jlam Exp $ d839 1 a839 1 yes) run_cmd "(cd ../net/tnftp&& $bmake MAKECONF=${MKCONF_EXAMPLE} LIBNBCOMPAT_STYLE=inplace PKG_OPTIONS= bootstrap-register)" ;; d842 1 a842 1 yes) run_cmd "(cd ../pkgtools/mtree && $bmake MAKECONF=${MKCONF_EXAMPLE} LIBNBCOMPAT_STYLE=inplace bootstrap-register)" ;; d845 1 a845 1 yes) run_cmd "(cd ../pkgtools/pax && $bmake MAKECONF=${MKCONF_EXAMPLE} LIBNBCOMPAT_STYLE=inplace bootstrap-register)" ;; d847 1 a847 1 run_cmd "(cd ../pkgtools/pkg_install && $bmake MAKECONF=${MKCONF_EXAMPLE} LIBNBCOMPAT_STYLE=inplace bootstrap-register)" @ 1.62 log @Back out part of revision 1.60 that I didn't mean to commit. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.61 2006/07/14 17:51:13 jlam Exp $ d845 1 a845 1 yes) run_cmd "(cd ../archivers/pax && $bmake MAKECONF=${MKCONF_EXAMPLE} LIBNBCOMPAT_STYLE=inplace bootstrap-register)" ;; @ 1.61 log @Register the files that installed by the bootstrap script into the package database. XXX There are still some files not registered, e.g. share/mk and any XXX mkdir/install/strip/ldd replacements needed by some platforms. XXX These will probably get moved into pkgsrc proper. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.60 2006/07/14 15:58:43 jlam Exp $ d310 1 a310 1 need_mtree=yes d312 2 a313 2 need_awk=yes need_sed=yes @ 1.60 log @Fix path to the bmake.1 man page in the work directory. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.59 2006/07/14 15:21:05 jlam Exp $ d764 7 a770 1 # bootstrap tnftp d780 2 a781 1 fi d830 19 @ 1.59 log @Install the bmake man page now that we properly handle PKGMANDIR in bootstrap. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.58 2006/07/14 14:30:21 jlam Exp $ d310 1 a310 1 need_mtree=no d312 2 a313 2 need_awk=no need_sed=no d737 1 a737 1 run_cmd "$shprog $wrkdir/install-sh -c -o $user -g $group -m 644 $wrkdir/bmake/$opsys/bmake.1 $mandir/man1/bmake.1" @ 1.58 log @Fix TOOLS_PLATFORM.tar definition (cut and paste bug). @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.57 2006/07/14 14:27:00 jlam Exp $ d737 1 a737 1 #run_cmd "$shprog $wrkdir/install-sh -c -o $user -g $group -m 644 $wrkdir/bmake/$opsys/bmake.1 $mandir/man1/bmake.1" @ 1.57 log @Add nawk as a bootstrap tool. Reorder the builds so that nawk and sed are built just after bmake so that they may be used in the configure scripts for later bootstrap tools. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.56 2006/07/13 21:37:30 jlam Exp $ d788 1 a788 1 echo "TOOLS_PLATFORM.tar?= $prefix/bin/pax" >> ${MKCONF_EXAMPLE} @ 1.56 log @Pass the computed mandir down to all the configure script invocations. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.55 2006/07/13 21:27:06 jlam Exp $ d38 1 a38 1 BOOTSTRAP_VERSION=20060713 d312 1 d323 1 d345 1 d355 1 d372 1 d395 1 d405 1 d418 1 d432 1 d443 1 d465 1 d482 1 d493 1 d503 1 d741 22 a807 10 # bootstrap sed if necessary case "$need_sed" in yes) echo_msg "Installing sed" copy_src ../textproc/nbsed/files sed run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --mandir=$mandir --sysconfdir=$sysconfdir --program-transform-name='s,sed,nbsed,' && $bmake && $bmake install)" echo "TOOLS_PLATFORM.sed?= $prefix/bin/nbsed" >> ${MKCONF_EXAMPLE} BSTRAP_ENV="SED=\"$prefix/bin/nbsed\" $BSTRAP_ENV" ;; esac @ 1.55 log @Allow the user to specify --pkgmandir to control where man pages go. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.54 2006/07/13 14:54:00 jlam Exp $ d612 1 a612 1 run_cmd "(cd $wrkdir/libnbcompat; $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && make)" d737 1 a737 1 run_cmd "(cd $wrkdir/tnftp; env $BSTRAP_ENV $tnftpxenv $shprog ./configure --prefix=$prefix --sysconfdir=$sysconfdir && $bmake && (cd src && $bmake install))" d750 1 a750 1 run_cmd "(cd $wrkdir/pax; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && $bmake && $bmake install)" d764 1 a764 1 run_cmd "(cd $wrkdir/mtree; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && $bmake && $bmake install)" d776 1 a776 1 run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir --program-transform-name='s,sed,nbsed,' && $bmake && $bmake install)" @ 1.54 log @* Set PKG_TOOLS_BIN to the location of the bootstrapped pkg_* tools in the example mk.conf file. * Don't install digest anymore. It's not needed by binary package users and it's handled within pkgsrc/mk now via BOOTSTRAP_DEPENDS. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.53 2006/07/11 18:04:08 jlam Exp $ d54 1 d249 1 d261 2 a282 1 [ -z "$sysconfdir" ] && sysconfdir=${prefix}/etc a286 1 [ -z "$sysconfdir" ] && sysconfdir=${prefix}/etc d289 7 d656 1 d661 2 a662 2 mkdir_p $prefix/man/man1 $prefix/man/cat1 mkdir_p $prefix/man/man8 $prefix/man/cat8 d723 1 a723 1 #run_cmd "$shprog $wrkdir/install-sh -c -o $user -g $group -m 644 $wrkdir/bmake/$opsys/bmake.1 $prefix/man/man1/bmake.1" d785 1 a785 5 pkg_install_mandir="$prefix/man" if [ "$prefix" = "/usr" ]; then pkg_install_mandir="$prefix/share/man" fi run_cmd "(cd $wrkdir/pkg_install; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat -I../../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir --with-pkgdbdir=$pkgdbdir --mandir=$pkg_install_mandir $pkg_install_args && $bmake && $bmake install)" d789 1 a789 1 run_cmd "$shprog $wrkdir/install-sh -c -m 444 files/packages.cat7 $prefix/man/cat7/packages.0" @ 1.53 log @After building bmake, use it exclusively to build everything else that needs "make". @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.52 2006/07/11 17:29:20 jlam Exp $ d38 1 a38 1 BOOTSTRAP_VERSION=20051201 a296 1 digestxenv= a367 2 # IRIX 5 does not have snprintf() needed to compile digest digestxenv="LDFLAGS=\"\$LDFLAGS -L../libnbcompat\" LIBS=-lnbcompat" d646 1 a735 13 # bootstrap digest echo_msg "Installing digest" copy_src ../pkgtools/digest/files digest run_cmd "(cd $wrkdir/digest; env $BSTRAP_ENV $digestxenv $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && $bmake && $bmake install)" # create the digest package's meta files digestversion=digest-`$awkprog -F\' '/^PACKAGE_VERSION=/ {print $2}' $wrkdir/digest/configure` $lsprog -ld $prefix/bin/digest | $awkprog '{ print $5 }' > $wrkdir/digest/.size env DIGESTPROG=$prefix/bin/digest PKG_DIGEST=md5 PKG_DBDIR=$pkgdbdir \ $shprog ./pkg.sh create -d $wrkdir/digest/DESCR -O \ -c '-Message digest wrapper utility' -l -p $prefix \ -f $wrkdir/digest/PLIST -s $wrkdir/digest/.size -S $wrkdir/digest/.size $digestversion @ 1.52 log @Generate the proper TOOLS_PLATFORM.* lines for bootstrap binaries to tell the tools framework which binaries to use. Also add some whitespace so the example mk.conf looks more like a "real" mk.conf. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.51 2006/04/14 20:37:08 schwarz Exp $ d717 2 d729 1 a729 1 run_cmd "(cd $wrkdir/tnftp; env $BSTRAP_ENV $tnftpxenv $shprog ./configure --prefix=$prefix --sysconfdir=$sysconfdir && make && (cd src && make install))" d741 1 a741 1 run_cmd "(cd $wrkdir/digest; env $BSTRAP_ENV $digestxenv $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && make && make install)" d755 1 a755 1 run_cmd "(cd $wrkdir/pax; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && $prefix/bin/bmake && $prefix/bin/bmake install)" d769 1 a769 1 run_cmd "(cd $wrkdir/mtree; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && $prefix/bin/bmake && $prefix/bin/bmake install)" d781 1 a781 1 run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir --program-transform-name='s,sed,nbsed,' && make && make install)" d794 1 a794 1 run_cmd "(cd $wrkdir/pkg_install; env $BSTRAP_ENV CPPFLAGS='$CPPFLAGS -I../libnbcompat -I../../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir --with-pkgdbdir=$pkgdbdir --mandir=$pkg_install_mandir $pkg_install_args && $prefix/bin/bmake && $prefix/bin/bmake install)" @ 1.51 log @ re-introduce a modification from 1.48 that had erroneously been removed with the modification for 1.49. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.50 2006/04/11 14:35:48 joerg Exp $ d172 1 a172 1 echo "IMAKEOPTS+=$imakeopts" >> ${MKCONF_EXAMPLE} d177 1 a177 1 echo "LDD=$prefix/sbin/fakeldd" >> ${MKCONF_EXAMPLE} d627 1 a627 1 echo "OPSYS=$opsys" >> ${MKCONF_EXAMPLE} d631 1 a631 1 echo "ABI=$abi" >> ${MKCONF_EXAMPLE} d634 1 a634 1 echo "PKGSRC_COMPILER=$compiler" >> ${MKCONF_EXAMPLE} a635 1 d639 1 a639 1 echo "UNPRIVILEGED=yes" >> ${MKCONF_EXAMPLE} d643 3 a645 3 echo "PKG_DBDIR=$pkgdbdir" >> ${MKCONF_EXAMPLE} echo "LOCALBASE=$prefix" >> ${MKCONF_EXAMPLE} echo "VARBASE=$varbase" >> ${MKCONF_EXAMPLE} d647 1 a647 1 echo "PKG_SYSCONFBASE=$sysconfdir" >> ${MKCONF_EXAMPLE} d649 1 d696 1 a696 1 echo "INSTALL=$prefix/bin/install-sh" >> ${MKCONF_EXAMPLE} d702 1 d708 1 d734 1 a734 1 echo "FETCH_CMD=$fetch_cmd" >> ${MKCONF_EXAMPLE} d754 2 a755 1 echo "PAX=$prefix/bin/pax" >> ${MKCONF_EXAMPLE} d768 1 d780 1 a780 1 echo "SED=$prefix/bin/nbsed" >> ${MKCONF_EXAMPLE} @ 1.50 log @Don't use the carat (^) in class matches, as it is not supported by some shells. Use precendency order instead. Should fix PR 33236. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.49 2006/04/10 18:29:24 joerg Exp $ d725 1 a725 1 run_cmd "(cd $wrkdir/tnftp; env $BSTRAP_ENV $shprog ./configure --prefix=$prefix --sysconfdir=$sysconfdir && make && (cd src && make install))" @ 1.49 log @Allow overriding of the default FETCH_CMD with --fetch-cmd for both bootstrap and mkbinarykit. When this is done or the platform fragment of bootstrap specifies an explicit fetch_cmd, tnftp is not built. Use /usr/bin/ftp by default on DragonFly 1.4 and later. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.48 2006/04/10 13:29:38 schwarz Exp $ d320 4 a323 1 1.0* | 1.1 | 1.1[^0-9]* | 1.2.* | 1.3.*) @ 1.48 log @ added bootstrap support for IRIX 5.3 (finally :-)) @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.47 2005/12/17 17:51:40 jschauma Exp $ d56 1 d263 2 d319 7 d712 14 a725 10 # bootstrap tnftp case "$DEBIAN" in yes) LIBS="-lncurses" ;; esac echo_msg "Installing tnftp" copy_src ../net/tnftp/files tnftp run_cmd "(cd $wrkdir/tnftp; env $BSTRAP_ENV $tnftpxenv $shprog ./configure --prefix=$prefix --sysconfdir=$sysconfdir && make && (cd src && make install))" pkg_install_args="$pkg_install_args --with-ftp=$prefix/bin/ftp" d727 1 a727 1 FETCH_CMD=$prefix/bin/ftp d729 1 a729 1 echo "FETCH_CMD=$prefix/bin/ftp" >> ${MKCONF_EXAMPLE} @ 1.47 log @Apply parts of a patch from Georg Schwarz to allow IRIX 6.x to bootstrap again. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.46 2005/12/01 03:03:51 minskim Exp $ d112 1 d128 3 a130 2 d170 2 a171 3 # setting X11BASE to /usr breaks buildlink if [ ! -e /usr/X11R6 ]; then ln -sf /usr /usr/X11R6 d173 4 a176 2 if [ ! -z $imakeopts ]; then echo "IMAKEOPTS+=$imakeopts" >> ${MKCONF_EXAMPLE} a177 2 patch -d / --forward --quiet -E -p0 \ < files/irix.patch 2>/dev/null || true d189 9 d231 1 a231 1 $cpprog -R $_src/* $wrkdir/$_dst d291 4 d353 9 d494 1 d525 5 a529 1 compiler="mipspro" d595 7 d710 1 a710 1 run_cmd "(cd $wrkdir/tnftp; env $BSTRAP_ENV $shprog ./configure --prefix=$prefix --sysconfdir=$sysconfdir && make && (cd src && make install))" d720 1 a720 1 run_cmd "(cd $wrkdir/digest; env $BSTRAP_ENV $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && make && make install)" d723 1 a723 1 digestversion=digest-`$awkprog -F "'" '/^PACKAGE_VERSION=/ {print $2}' $wrkdir/digest/configure` @ 1.46 log @Bump BOOTSTRAP_VERSION due to the update of archivers/pax. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.45 2005/11/16 13:53:51 joerg Exp $ a330 1 configargs="--with-machine_arch=mipseb" d336 2 d663 1 a663 1 run_cmd "(cd $wrkdir/bmake && env CPPFLAGS='$CPPFLAGS -I../../libnbcompat' LDFLAGS='$LDFLAGS -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./boot-strap -q -o $opsys --prefix=$prefix --sysconfdir=$sysconfdir --mksrc none --with-default-sys-path="$prefix/share/mk")" @ 1.45 log @sysMkPath should be ${PREFIX}/share/mk by default and only that. Including e.g. /usr/share/mk results in sys.mk read from there as well. On DragonFly this adds X11BASE and results in obscure breakages. Since the mk files are supposed to be self-contained, it doesn't make much sense to look in other directories anyway. Bump revision to annotate this. Discussed-with: reed@@. Reported-by: Aggelos Economopoulos @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.44 2005/11/10 00:10:35 reed Exp $ d38 1 a38 1 BOOTSTRAP_VERSION=20050419 @ 1.44 log @Add "--mksrc none" to the boot-strap arguments for building "bmake". @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.43 2005/11/02 00:34:23 reed Exp $ d662 1 a662 1 run_cmd "(cd $wrkdir/bmake && env CPPFLAGS='$CPPFLAGS -I../../libnbcompat' LDFLAGS='$LDFLAGS -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./boot-strap -q -o $opsys --prefix=$prefix --sysconfdir=$sysconfdir --mksrc none --with-default-sys-path="$prefix/share/mk:/usr/share/mk:/usr/local/share/mk:/opt/share/mk")" @ 1.43 log @Remove the NetBSD specific Makefile.in for bmake. It was not used anyways since yesterday's update (since it overwrites it). @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.42 2005/11/01 01:06:02 reed Exp $ d662 1 a662 1 run_cmd "(cd $wrkdir/bmake && env CPPFLAGS='$CPPFLAGS -I../../libnbcompat' LDFLAGS='$LDFLAGS -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./boot-strap -q -o $opsys --prefix=$prefix --sysconfdir=$sysconfdir --with-default-sys-path="$prefix/share/mk:/usr/share/mk:/usr/local/share/mk:/opt/share/mk")" @ 1.42 log @bootstrap script uses source files from pkgsrc/devel/bmake/files for "bmake". Remove all of bmake source from this bootstrap. Keep bootstrap/bmake/mk -- copy to files-mk (so the bmake "boot-strap" doesn't notice the mk*). This was tested on DragonFly, NetBSD and some on Linux. Hopefully all the fixes to boostrap's bmake are included in devel/bmake/files. Note that the "mk" files is still not using devel/mk-files. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.41 2005/10/31 23:05:24 reed Exp $ a642 5 case "$opsys" in NetBSD) run_cmd "$cpprog mods/bmake/Makefile.in ${wrkdir}/bmake/Makefile.in" ;; esac @ 1.41 log @Do not define sysconfdir when --prefix is set. This causes sysconfdir to be reset if --prefix is later on command line. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.40 2005/05/30 19:03:29 jmmv Exp $ d609 1 a609 1 copy_src bmake bmake d611 1 a611 1 (cd ${wrkdir}/bmake/mk; d620 1 a620 1 run_cmd "$cpprog mods/mk/$opsys.bsd.lib.mk ${wrkdir}/bmake/mk/bsd.lib.mk" d625 1 a625 1 run_cmd "$cpprog mods/mk/$opsys.bsd.man.mk ${wrkdir}/bmake/mk/bsd.man.mk" d666 4 a669 1 run_cmd "(cd $wrkdir/bmake; env CPPFLAGS='$CPPFLAGS -I../libnbcompat' LDFLAGS='$LDFLAGS -L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure --prefix=$prefix --with-default-sys-path=$prefix/share/mk $configargs && make -f makefile.boot bootstrap && env BINDIR=$prefix/bin MANDIR=$prefix/man $BSTRAP_ENV ./bmake -f Makefile install)" @ 1.40 log @Allow --varbase=something (note the '='). Pointed out by rillig@@. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.39 2005/05/29 17:15:25 jmmv Exp $ d244 2 a245 4 --prefix=*) prefix=`get_optarg "$1"`; sysconfdir=${prefix}/etc ;; --prefix) prefix="$2"; shift; sysconfdir=${prefix}/etc ;; @ 1.39 log @Simplify usage as non-root. When given the --ignore-user-check, change default installation paths to be inside ~/pkg and define UNPRIVILEGED=yes in the generated mk.conf. This lets regular users to simply bootstrap by doing './bootstrap --ignore-user-check'. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.38 2005/05/25 07:06:54 rillig Exp $ d252 1 @ 1.38 log @Added a function get_optarg that avoids code duplication in the option parsing code. For maximum portability it uses the expr(1) command instead of sed(1), the same way as it is done in the core of the latest GNU configure scripts. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.37 2005/05/14 02:12:48 rillig Exp $ a39 5 # set defaults for system locations prefix=/usr/pkg pkgdbdir=/var/db/pkg sysconfdir=${prefix}/etc d55 1 d233 7 d252 1 d263 13 d560 1 d590 5 d598 1 @ 1.37 log @Allow the user to type --prefix=foo instead of requiring a whitespace between the --prefix and the directory. This makes life easier for users that often run GNU ./configure scripts manually. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.36 2005/05/07 22:19:16 wiz Exp $ d228 5 d239 1 a239 1 --workdir=*) wrkdir=`echo x"$1" | sed 's,^[^=]*=,,'` ;; d241 1 a241 1 --prefix=*) prefix=`echo x"$1" | sed 's,^[^=]*=,,'`; d245 1 a245 1 --pkgdbdir=*) pkgdbdir=`echo x"$1" | sed 's,^[^=]*=,,'` ;; d247 1 a247 1 --sysconfdir=*) sysconfdir=`echo x"$1" | sed 's,^[^=]*=,,'` ;; @ 1.36 log @Refer doc/pkgsrc.txt instead of Packages.txt. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.35 2005/04/19 18:24:17 minskim Exp $ d234 1 d236 2 d240 1 d242 1 @ 1.35 log @Define TMACDIR and CATDEPS appropriately on Linux. Bump BOOTSTRAP_VERSION. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.34 2005/04/11 21:03:21 jschauma Exp $ d725 1 a725 1 echo "in $pkgsrcdir/Packages.txt and packages(7)." @ 1.34 log @If need_bsd_install=yes, then also set INSTALL accordingly in the sample mk.conf @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.33 2005/04/10 21:54:13 jschauma Exp $ d38 1 a38 1 BOOTSTRAP_VERSION=20050410 @ 1.33 log @Implement changes suggested on tech-pkg some time ago: (1) rework how command-line arguments are parsed: instead of --command=, use --command This allows us to not rely on certain commands for which we first need to figure out where they are to parse the arguments, which in turn allows us to (2) add the command-line option --preserve-path to prevent bootstrap from munging the PATH (as it does on some platforms) and look in places that are not currently in the PATH Finally, (3) add a check to see if we're using gcc, and set and add the PKGSRC_COMPILER= flag to the sample mk.conf. This is particularly useful (and actually necessary) under IRIX. Bump BOOTSTRAP_VERSION. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.32 2005/03/08 15:43:10 tv Exp $ d619 1 @ 1.32 log @Were the overrides in mods/mk ever tested? Fix the override logic for $opsys.bsd.{lib,man}.mk to install the files in the correct place -- this was previously all kinds of b0rken. Now it's possible to build shlibs properly on Interix using , and may be possible on Darwin as well. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.31 2005/02/19 04:07:31 grant Exp $ d38 1 a38 1 BOOTSTRAP_VERSION=20041008 d48 2 d56 4 a59 4 [ --workdir= ] [ --prefix= ] [ --pkgdbdir= ] [ --sysconfdir= ] d62 1 d83 28 d232 19 a250 2 if [ "x${PRESERVE_PATH}" != "xyes" ]; then PATH="${PATH}:/sbin:/usr/sbin" d311 1 d435 1 a435 1 if [ "x${PRESERVE_PATH}" != "xyes" ]; then a449 15 while [ $# -gt 0 ]; do case $1 in --workdir=*) wrkdir=`echo $1 | $sedprog -e 's|--workdir=||'` ;; --prefix=*) prefix=`echo $1 | $sedprog -e 's|--prefix=||'` sysconfdir=${prefix}/etc ;; --pkgdbdir=*) pkgdbdir=`echo $1 | $sedprog -e 's|--pkgdbdir=||'` ;; --sysconfdir=*) sysconfdir=`echo $1 | $sedprog -e 's|--sysconfdir=||'`;; --ignore-case-check) ignorecasecheck=yes ;; --ignore-user-check) ignoreusercheck=yes ;; --help) echo "$usage"; exit ;; -h) echo "$usage"; exit ;; --*) echo "$usage"; exit 1 ;; esac shift done d467 13 d557 4 @ 1.31 log @set MACHINE_ARCH correctly on AIX. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.30 2005/02/15 08:48:34 grant Exp $ a535 1 run_cmd "$cpprog ${wrkdir}/bmake/mk/bsd.lib.mk ${wrkdir}/bmake/mk/bsd.lib.mk.orig" d537 1 a539 1 run_cmd "$cpprog ${wrkdir}/bmake/mk/bsd.man.mk ${wrkdir}/bsd.man.mk.orig" d541 1 a541 1 run_cmd "$cpprog mods/mk/$opsys.bsd.man.mk ${wrkdir}/bsd.man.mk" @ 1.30 log @don't override the CPPFLAGS and LDFLAGS environment variables, add to them instead. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.29 2005/01/20 22:36:06 agc Exp $ d106 10 d319 1 @ 1.29 log @DragonFly's pax(1) has different options to those in NetBSD. Re-bootstrapping with pax fixes the situation. Fix from Todd Willey. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.28 2005/01/16 02:56:24 grant Exp $ d571 1 a571 1 run_cmd "(cd $wrkdir/bmake; env CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure --prefix=$prefix --with-default-sys-path=$prefix/share/mk $configargs && make -f makefile.boot bootstrap && env BINDIR=$prefix/bin MANDIR=$prefix/man $BSTRAP_ENV ./bmake -f Makefile install)" d605 1 a605 1 run_cmd "(cd $wrkdir/pax; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && $prefix/bin/bmake && $prefix/bin/bmake install)" d618 1 a618 1 run_cmd "(cd $wrkdir/mtree; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && $prefix/bin/bmake && $prefix/bin/bmake install)" d629 1 a629 1 run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir --program-transform-name='s,sed,nbsed,' && make && make install)" d642 1 a642 1 run_cmd "(cd $wrkdir/pkg_install; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat -I../../libnbcompat' LDFLAGS='-L../libnbcompat -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir --with-pkgdbdir=$pkgdbdir --mandir=$pkg_install_mandir $pkg_install_args && $prefix/bin/bmake && $prefix/bin/bmake install)" @ 1.28 log @append, not prepend, /usr/ccs/bin to the $PATH (where it exists). Solaris is happy with it being tacked onto the end, and it unbreaks the build on HP-UX with the native compiler. from Andrey Zakharchenko. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.27 2005/01/12 16:42:13 jschauma Exp $ d210 1 a210 1 need_pax=no a214 1 check_prog paxprog pax @ 1.27 log @Set machine_arch=mipseb on IRIX, so that binary packages don't complain about a mismatch. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.26 2005/01/12 11:30:37 agc Exp $ d472 1 a472 1 PATH=/usr/ccs/bin:$PATH; export PATH @ 1.26 log @Apply fixes to set TARPROG definition properly for DragonFlyBSD from Todd Willey in PR 28941. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.25 2005/01/05 21:51:19 tv Exp $ d253 1 @ 1.25 log @No need to "cp -p" here. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.24 2004/11/20 04:31:35 grant Exp $ d215 3 @ 1.24 log @add support for Tru64, patches provided by Tobias Nygren with minor changes by me. tested on Tru64 5.0 and 5.1B. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.23 2004/10/31 22:04:26 wiz Exp $ d184 1 a184 1 $cpprog -Rp $_src/* $wrkdir/$_dst @ 1.23 log @Add DragonFlyBSD recognition defaults, provided by Todd Willey on tech-pkg. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.22 2004/10/08 17:29:00 tv Exp $ d141 5 d344 8 @ 1.22 log @Bump BOOTSTRAP_VERSION for previous. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.21 2004/10/08 17:26:45 tv Exp $ d203 9 @ 1.21 log @Revert part of rev 1.19: There's one place where you absolutely *must* use bmake: when building pkg_install. Otherwise its Makefiles will attempt to get $(MACHINE_ARCH) from the system make, which is not likely to be correct on several platforms. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.20 2004/08/27 06:48:58 jlam Exp $ d38 1 a38 1 BOOTSTRAP_VERSION=20040821 @ 1.20 log @Catch up with textproc/nbsed needing to be configured with --program-transform-name="s,sed,nbsed," to be installed with the correct name. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.19 2004/08/23 03:44:34 jlam Exp $ d580 1 a580 1 run_cmd "(cd $wrkdir/pax; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && make && make install)" d593 1 a593 1 run_cmd "(cd $wrkdir/mtree; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && make && make install)" d617 1 a617 1 run_cmd "(cd $wrkdir/pkg_install; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat -I../../libnbcompat' LDFLAGS='-L../libnbcompat -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir --with-pkgdbdir=$pkgdbdir --mandir=$pkg_install_mandir $pkg_install_args && make && make install)" @ 1.19 log @* Modify bmake to use libnbcompat to ensure that a regex implementation exists. * nbsed-20040821 requires libnbcompat, so make the appropriate adjustments to the build to use it. * If nbsed is built during bootstrap, then use it as the sed for pkg_install so that the correct program is embedded into the pkg_view and linkfarm scripts. * We don't need bmake to build any of the bootstrap packages, so just call out to the system make. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.18 2004/05/11 02:07:19 schmonz Exp $ d604 1 a604 1 run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && make && make install)" @ 1.18 log @Retire the bootstrap script's --pkgsrcdir argument. Now that we're part of pkgsrc, we don't need to be told where it is. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.17 2004/05/05 14:39:45 tv Exp $ d38 1 a38 1 BOOTSTRAP_VERSION=20040214 d451 5 d546 1 a546 6 run_cmd "(cd $wrkdir/bmake; $shprog ./configure --prefix=$prefix --with-default-sys-path=$prefix/share/mk $configargs && make -f makefile.boot bootstrap && env BINDIR=$prefix/bin MANDIR=$prefix/man $BSTRAP_ENV ./bmake -f Makefile install)" # build libnbcompat echo_msg "Building libnbcompat" copy_src ../pkgtools/libnbcompat/files libnbcompat run_cmd "(cd $wrkdir/libnbcompat; $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && $prefix/bin/bmake)" d580 1 a580 1 run_cmd "(cd $wrkdir/pax; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && $prefix/bin/bmake && $prefix/bin/bmake install)" d593 1 a593 1 run_cmd "(cd $wrkdir/mtree; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && $prefix/bin/bmake && $prefix/bin/bmake install)" d604 1 a604 1 run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && make && make install)" d606 1 d617 1 a617 1 run_cmd "(cd $wrkdir/pkg_install; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat -I../../libnbcompat' LDFLAGS='-L../libnbcompat -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir --with-pkgdbdir=$pkgdbdir --mandir=$pkg_install_mandir $pkg_install_args && $prefix/bin/bmake && $prefix/bin/bmake install)" @ 1.17 log @Use numeric uid/gid instead of Administrator/+Administrators, as native language non-English versions of Windows name these accounts differently. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.16 2004/04/24 19:17:09 danw Exp $ a42 1 pkgsrcdir=/usr/pkgsrc d51 1 a56 1 [ --pkgsrcdir= ] a370 1 --pkgsrcdir=*) pkgsrcdir=`echo $1 | $sedprog -e 's|--pkgsrcdir=||'` ;; @ 1.16 log @make sure /sbin and /usr/sbin are in $PATH. pkg/24010 @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.15 2004/04/23 02:03:18 tv Exp $ d296 1 a296 1 if id -Gn | grep -q +Administrators; then d305 2 a306 2 root_user=`id -un` root_group=+Administrators d316 2 @ 1.15 log @Rather than work around an automake braindeadness, parameterize install-sh so that Interix can set the default mode to 0775. Then add "install_sh" to CONFIGURE_ENV so it uses ${INSTALL}, not the package-supplied install script (as is done for autoconf $INSTALL). @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.14 2004/04/21 20:35:18 tv Exp $ d187 4 @ 1.14 log @For Interix, use "mkdir -p" after all so that the umask can take effect. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.13 2004/04/16 23:47:02 heinz Exp $ d170 1 a170 1 run_cmd "($shprog ./files/install-sh -d -o $user -g $group $dir)" d300 1 d350 1 d393 5 d522 1 a522 1 run_cmd "(cd files; $shprog ./install-sh -c -o $user -g $group -m 755 install-sh $prefix/bin/install-sh)" d528 1 a528 1 run_cmd "(cd files; $shprog ./install-sh -c -o $user -g $group -m 755 strip-sh $prefix/bin/strip)" d533 1 a533 1 run_cmd "(cd files; $shprog ./install-sh -c -o $user -g $group -m 755 mkdir-sh $prefix/sbin/mkdir-sh)" d616 1 a616 1 (cd files; run_cmd "$shprog ./install-sh -c -m 444 packages.cat7 $prefix/man/cat7/packages.0") @ 1.13 log @Use 'mkdir-sh' instead of 'mkdir-p.sh' (similar to 'install-sh'). @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.12 2004/04/11 03:17:12 heinz Exp $ d297 3 @ 1.12 log @Add support for UnixWare @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.11 2004/04/07 12:05:37 jmmv Exp $ d522 2 a523 2 echo_msg "Installing fixed mkdir script \"mkdir-p.sh\"" run_cmd "(cd files; $shprog ./install-sh -c -o $user -g $group -m 755 mkdir-p.sh $prefix/sbin/mkdir-p.sh)" @ 1.11 log @Add support for the --sysconfdir argument, which changes the location of configuration files. From now on, mk.conf is first searched under the value passed to the sysconfdir argument (which defaults to ${prefix}/etc, to match pkgsrc's PKG_SYSCONFDIR default value). If not found, /etc/mk.conf is tried, to not break existing installations which have the file in that location. This is done to help with non-root installations of pkgsrc. Also change pkgsrc's PKG_SYSCONFBASE value to match what is given to sysconfdir, for consistency. While doing this, rename $opsys.own.mk files to $opsys.own.mk.in for clarity, as they now need sed replacements to work (i.e., the SYSCONFDIR stuff). @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.10 2004/03/29 02:20:04 tv Exp $ d309 12 d521 5 @ 1.10 log @Don't set -m in mkdir_p because Interix needs 0775, not 0755. Let the umask take care of it (the mtree file will do the rest). Use numeric gid for Interix in an unprivileged build. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.9 2004/03/28 01:55:17 grant Exp $ d44 1 d58 1 d346 2 a347 1 --prefix=*) prefix=`echo $1 | $sedprog -e 's|--prefix=||'` ;; d350 1 d429 1 a429 1 echo "# Example /etc/mk.conf file produced by bootstrap-pkgsrc" > ${MKCONF_EXAMPLE} d447 3 d479 1 d481 1 a481 3 run_cmd "$cpprog mods/mk/$opsys.bsd.own.mk $prefix/share/mk/bsd.own.mk" else run_cmd "$sedprog -e 's|@@ROOT_GROUP@@|'$root_group'|g;s|@@ROOT_USER@@|'$root_user'|g' mods/mk/bsd.own.mk.in > $prefix/share/mk/bsd.own.mk" d483 1 d515 1 a515 1 run_cmd "(cd $wrkdir/libnbcompat; $shprog ./configure -C --prefix=$prefix && $prefix/bin/bmake)" d525 1 a525 1 run_cmd "(cd $wrkdir/tnftp; env $BSTRAP_ENV $shprog ./configure --prefix=$prefix && make && (cd src && make install))" d535 1 a535 1 run_cmd "(cd $wrkdir/digest; env $BSTRAP_ENV $shprog ./configure -C --prefix=$prefix && make && make install)" d549 1 a549 1 run_cmd "(cd $wrkdir/pax; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix && $prefix/bin/bmake && $prefix/bin/bmake install)" d562 1 a562 1 run_cmd "(cd $wrkdir/mtree; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix && $prefix/bin/bmake && $prefix/bin/bmake install)" d573 1 a573 1 run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV $shprog ./configure -C --prefix=$prefix && make && make install)" d585 1 a585 1 run_cmd "(cd $wrkdir/pkg_install; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat -I../../libnbcompat' LDFLAGS='-L../libnbcompat -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --with-pkgdbdir=$pkgdbdir --mandir=$pkg_install_mandir $pkg_install_args && $prefix/bin/bmake && $prefix/bin/bmake install)" d603 1 a603 1 echo "Please copy ${MKCONF_EXAMPLE} to /etc/mk.conf." @ 1.9 log @apply patch from Klaus Heinz to support bootstrapping from a read-only pkgsrc with the --workdir argument. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.8 2004/03/21 01:06:37 grant Exp $ d168 1 a168 1 run_cmd "($shprog ./files/install-sh -d -o $user -g $group -m 755 $dir)" d302 3 a304 1 groupsprog="id -Gn" @ 1.8 log @MACHINE_ARCH should be derived from `uname -m` on OpenBSD. from Philip Reynolds on tech-pkg. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.7 2004/03/11 20:49:09 tv Exp $ d48 4 d53 1 a60 3 # where the building takes place, relative to pkgsrc/bootstrap. wrkdir=work d135 1 a135 1 echo "IMAKEOPTS+=$imakeopts" >> mk.conf.example d341 1 d354 16 d389 1 a389 1 MANGRP=$group" > Makefile.inc d420 8 a427 6 echo_msg "Creating sample mk.conf" echo "# Example /etc/mk.conf file produced by bootstrap-pkgsrc" > mk.conf.example echo "# `date`" >> mk.conf.example echo "" >> mk.conf.example echo ".ifdef BSD_PKG_MK # begin pkgsrc settings" >> mk.conf.example echo "" >> mk.conf.example d431 1 a431 1 echo "OPSYS=$opsys" >> mk.conf.example d435 1 a435 1 echo "ABI=$abi" >> mk.conf.example d439 2 a440 2 echo "PKG_DBDIR=$pkgdbdir" >> mk.conf.example echo "LOCALBASE=$prefix" >> mk.conf.example d449 5 a453 3 (cd bmake/mk; if [ -f ../../mods/mk/$opsys.sys.mk ]; then run_cmd "$cpprog ../../mods/mk/$opsys.sys.mk $prefix/share/mk/sys.mk" d455 1 a455 1 run_cmd "$cpprog ../../mods/mk/generic.sys.mk $prefix/share/mk/sys.mk" d460 2 a461 2 run_cmd "$cpprog bmake/mk/bsd.lib.mk bmake/mk/bsd.lib.mk.orig" run_cmd "$cpprog mods/mk/$opsys.bsd.lib.mk bmake/mk/bsd.lib.mk" d464 1 a464 1 run_cmd "$cpprog bmake/mk/bsd.man.mk bmake/mk/bsd.man.mk.orig" d466 1 a466 1 run_cmd "$cpprog mods/mk/$opsys.bsd.man.mk bmake/mk/bsd.man.mk" d485 1 a485 1 NetBSD) run_cmd "$cpprog mods/bmake/Makefile.in bmake/Makefile.in" a500 1 copy_src bmake bmake d521 1 a521 1 echo "FETCH_CMD=$prefix/bin/ftp" >> mk.conf.example d541 1 a541 1 echo "PAX=$prefix/bin/pax" >> mk.conf.example d565 1 a565 1 echo "SED=$prefix/bin/nbsed" >> mk.conf.example d585 2 a586 2 echo "" >> mk.conf.example echo ".endif # end pkgsrc settings" >> mk.conf.example a587 3 echo "Please remember to add $prefix/bin to your PATH environment variable." echo "If necessary, please remember to add $prefix/man to your MANPATH environment variable." echo "Please remember to set FETCH_CMD in /etc/mk.conf to $prefix/bin/ftp" d589 6 a594 2 echo "An example mk.conf file has been created for you in mk.conf.example" echo "with the settings you provided to bootstrap pkgsrc." @ 1.7 log @In mkdir_p, iterate the directory names. (install-sh doesn't.) @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.6 2004/03/11 20:47:56 tv Exp $ d262 1 a262 1 machine_arch=`uname -p` @ 1.6 log @Interix has the possibility of case-insensitive filesystems too. Add the same check used for Darwin, and a doc fragment to README.Interix. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.5 2004/03/11 19:45:09 tv Exp $ d165 3 a167 1 run_cmd "($shprog ./files/install-sh -d -o $user -g $group -m 755 $@@)" @ 1.5 log @Interix needs pax too. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.4 2004/03/11 17:47:18 sketch Exp $ d374 1 a374 1 Darwin) d382 1 a382 1 die "\"$fs\" needs to be on a case-sensitive filesystem (see README.Darwin)" @ 1.4 log @Use the install-sh wrapper to create directories rather than relying on the system mkdir(1) which may bail out too easily for non-fatal errors. Should fix pkg/23086 @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.3 2004/03/11 17:29:11 tv Exp $ d293 1 a293 1 need_pax=no @ 1.3 log @Parameterize the root user, and provide an alternative implementation of the is_root() function for Interix only. @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.2 2004/03/11 13:08:06 grant Exp $ d161 7 d172 1 a172 1 $mkdirprog -p $wrkdir/$_dst a329 1 check_prog mkdirprog mkdir d379 1 a379 1 $mkdirprog -p "$fs/$testdir" || die "can't verify filesystem ($fs) case-sensitivity" d420 3 a422 3 run_cmd "$mkdirprog -p $prefix $pkgdbdir $prefix/sbin" run_cmd "$mkdirprog -p $prefix/man/man1 $prefix/man/cat1" run_cmd "$mkdirprog -p $prefix/man/man8 $prefix/man/cat8" d425 1 a425 1 run_cmd "$mkdirprog -p $prefix/share/mk $prefix/lib" @ 1.2 log @grab and build the various programs required from pkgsrc rather than keeping a separate copy (with the exception of bmake, which is currently older than devel/bmake). @ text @d3 1 a3 1 # $NetBSD: bootstrap,v 1.89 2004/03/11 01:08:14 tv Exp $ d175 1 d278 7 a284 1 ignoreusercheck=yes d345 1 a345 1 user=root d439 1 a439 1 if [ -f mods/mk/$opsys.bsd.prog.mk ] ; then d442 5 a446 1 run_cmd "$sedprog -e 's|@@ROOT_GROUP@@|'$root_group'|g' mods/mk/bsd.own.mk.in > $prefix/share/mk/bsd.own.mk" @ 1.1 log @Initial revision @ text @d56 3 d161 9 d459 2 a460 1 run_cmd "(cd bmake; $shprog ./configure --prefix=$prefix --with-default-sys-path=$prefix/share/mk $configargs && make -f makefile.boot bootstrap && env BINDIR=$prefix/bin MANDIR=$prefix/man $BSTRAP_ENV ./bmake -f Makefile install)" d464 2 a465 1 run_cmd "(cd libnbcompat; $shprog ./configure -C --prefix=$prefix && $prefix/bin/bmake)" d474 2 a475 1 run_cmd "(cd tnftp; env $BSTRAP_ENV $shprog ./configure --prefix=$prefix && make && (cd src && make install))" d484 2 a485 1 run_cmd "(cd digest; env $BSTRAP_ENV $shprog ./configure -C --prefix=$prefix && make && make install)" d488 2 a489 2 digestversion=digest-`$awkprog -F "'" '/^PACKAGE_VERSION=/ {print $2}' digest/configure` $lsprog -ld $prefix/bin/digest | $awkprog '{ print $5 }' > digest/.size d491 1 a491 1 $shprog ./pkg.sh create -d digest/DESCR -O \ d493 1 a493 1 -f digest/PLIST -s digest/.size -S digest/.size $digestversion d498 2 a499 1 run_cmd "(cd pax; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix && $prefix/bin/bmake && $prefix/bin/bmake install)" d511 2 a512 1 run_cmd "(cd mtree; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix && $prefix/bin/bmake && $prefix/bin/bmake install)" d522 2 a523 1 run_cmd "(cd sed; env $BSTRAP_ENV $shprog ./configure -C --prefix=$prefix && make && make install)" d530 1 d535 1 a535 1 run_cmd "(cd pkg_install; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat -I../../libnbcompat' LDFLAGS='-L../libnbcompat -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --with-pkgdbdir=$pkgdbdir --mandir=$pkg_install_mandir $pkg_install_args && $prefix/bin/bmake && $prefix/bin/bmake install)" @ 1.1.1.1 log @import the required bits of bootstrap-pkgsrc from 20040311. @ text @@