Commit graph

15 commits

Author SHA1 Message Date
Bryan Drewery
7568613077 ports_env: Fix OPSYS not being exported.
This was causing excessive 'uname -s' executions during Poudriere dependency
calculations.  The reasoning is due to HAVE_COMPAT_IA32_KERN having a newline
quoted at the end of it as '\ ' by bmake:

  # make -f Mk/bsd.port.mk -V 'HAVE_COMPAT_IA32_KERN=${HAVE_COMPAT_IA32_KERN:Q}' | cat -v
  HAVE_COMPAT_IA32_KERN=YES\

This resulted in the following being executed:

  export HAVE_COMPAT_IA32_KERN="YES OPSYS=FreeBSD"

With hat:	portmgr
2017-02-17 22:22:27 +00:00
Tijl Coosemans
82a87de90c - Replace Mk/bsd.linux-apps.mk and Mk/bsd.linux-rpm.mk with
Mk/Uses/linux.mk.
- Replace USE_LINUX=yes with USES+=linux and USE_LINUX=(.*) with
  USES+=linux:\1 in all ports.
- Replace USE_LINUX_APPS with USE_LINUX in all ports.
- Use INSTALL_SCRIPT instead of INSTALL_PROGRAM to install scripts in some
  ports.
- When USE_LINUX_RPM is defined, simplify the way DISTFILES and EXTRACT_ONLY
  are defined.
- Remove BRANDELF_DIRS and BRANDELF_FILES handling.  In the very rare cases
  that it is still necessary ports can run ${BRANDELF} from post-patch.
- Remove AUTOMATIC_PLIST handling.  Only one port used it.
- Fix Linux MASTER_SITES.
- Replace OVERRIDE_LINUX_BASE_PORT and OVERRIDE_LINUX_NONBASE_PORTS with
  default versions framework.
- bsd.port.mk:
  - Move Linux related bits to Uses/linux.mk, except USE_LINUX_PREFIX.
  - Put USE_LINUX_PREFIX handling after USES processing.
  - Define DOCSDIR, DATADIR, etc. after handling USE_LINUX_PREFIX so it can
    give these variables a different default value.
  - When a package needs to run Linux ldconfig check before installation if
    Linux support is enabled.
- emulators/linux_base-*:
  - Use USES=linux and remove duplication.
  - Remove files/lp.  FreeBSD or CUPS lp(1) should work.
  - Remove files/yp.conf.  No longer seems to be used.
  - Remove pkg-deinstall and move pkg-install into pkg-plist.
  - Update pkg-descr and pkg-message.
  - Fix handling of ldconfig cache in pkg-plist.
- devel/fb-adb: Use a Linux shell to run a Linux script but patch the script
  to use FreeBSD mkdir so mkdir -p $path creates $path and not
  /compat/linux/$path.

PR:		211645
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2016-09-05 19:23:42 +00:00
Bryan Drewery
5061f450c8 Add a function port_var_fetch() for fetching multiple variables from a port.
This is taken from Poudriere (uncommitted)
2016-06-24 05:03:34 +00:00
Baptiste Daroussin
c4407c70ba Fix make check-plist with new @xmlcatmgr keyword 2016-05-25 18:46:58 +00:00
Mathieu Arnold
3255095c16 Extract the larger bsd.port.mk targets into separate scripts.
Refactor all the fetch code so that there are not 6 slightly different
versions of it but one that does it all.

The targets that have been extracted are:
- check-vulnerable
- do-fetch
- fetch-list
- fetch-url-list-int
- fetch-urlall-list
- checksum.
- makesum.
- check-checksum-algorithms

Run the fetch code directly from make makesum instead of calling make
fetch, this is because some port change the options with OPTIONS_*_FORCE
when make(makesum) to be able to add all distfiles in one go, which was
a nice, non working, idea.

PR:		208916
Submitted by:	mat
Exp-run by:	antoine
With hat:	portmgr
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D5997
2016-05-25 15:58:31 +00:00
Antoine Brodin
c6ef4747ef Do not cache PYTHON_PORTVERSION, it is not invariant between ports 2015-12-25 21:55:34 +00:00
Bryan Drewery
ab43229f76 Fix partial tree checkouts with 'all-depends-list', 'make clean', etc, after
inclusion of the ports_env feature into that handling around r399791.

With hat:	portmgr
Reported by:	ian, lev
2015-11-09 18:52:19 +00:00
Bryan Drewery
95e25b27ad Avoid redundantly looking up python command executions for dependency calculation.
This gets all-depends-list in x11/kde4 down to 30 seconds after the 52->41
second improvement in r399703.

With hat:	portmgr
2015-10-19 21:10:56 +00:00
Bryan Drewery
ef91c74363 Avoid redundantly looking up perl version when looking up dependencies or in sub-makes.
With hat:	portmgr
2015-10-19 20:53:15 +00:00
Bryan Drewery
481f66bd21 Follow-up r399170 with a script, ports_env.sh, that can be used for the purpose.
This will allow Poudriere to know if it is possible to use the feature or not
by the existence of the file.

Also fix quoting issues.

With hat:	portmgr
2015-10-13 00:03:10 +00:00
Bryan Drewery
6221392fff Add a function to export vars that bsd.port.mk generates from fork/exec.
This will be useful in Poudriere to avoid needless fork/exec for every
port when gathering dependencies.

Example usage:

  MAKE=make sh -c '. Mk/Scripts/functions.sh; export_index_env; export PACKAGE_BUILDING=1; truss -f make -C sysutils/zfstools -V BUILD_DEPENDS 2>&1' | grep exec

This eliminates 14 exec/fork calls for this example, when PACKAGE_BUILDING
is also set during -V.

Care should be taken with UID not being passed down into actual builds as it
may conflict with non-root builds.

With hat:	portmgr
2015-10-12 23:41:36 +00:00
Dmitry Marakasov
7d137fe741 Use -r flag for read command, this fixes handling of paths containing
backslashes, and, in result, stage-qa for archivers/deco

Approved by:	portmgr (antoine)
Differential Revision:	D3862
2015-10-12 13:33:18 +00:00
Baptiste Daroussin
5adc8a9faa Extend @sample to accept arguments
Maintainers can now use @sample sample_file target_file for all cases
that does not fall into the usual @sample something.sample

Reviewed by:	antoine
Differential Revision:	https://reviews.freebsd.org/D3734
2015-09-26 12:13:23 +00:00
Baptiste Daroussin
65dcc9c127 Factorize the function to validate env
Reviewed by:	antoine
Differential Revision:	https://reviews.freebsd.org/D2966
2015-07-01 20:08:26 +00:00
Bryan Drewery
de0b44a025 - Move parse_plist() into a new file, functions.sh.
With hat:	portmgr
2015-01-08 04:04:55 +00:00