1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-13 19:52:20 +00:00
cde/.gitignore
Martijn Dekker 336e82f942 package: reintroduce/rewrite flat view (re: 20f8557c)
I called the flat view featuritis, but it turns out the dtksh build
system depends on it. But it was broken, so let's make a proper
version instead. This new approach does not symlink directories
before make, but hardlinks files after make. To make performance
tolerable, it requires a modern POSIX 'find' utility with '{} +'.

bin/package, src/cmd/INIT/package.sh:

- We're going to depend on 'test X -ef Y' to check if X is the same
  file as Y, so add that to the $min_posix checks even though it is
  not technically POSIX. But it's so close to universally available
  it doesn't really make a difference.

- After 'make', create a flat view by hardlinking arch/$HOSTTYPE
  files, minus build system internals, onto their corresponding
  paths in $PACKAGEROOT. Fall back to symlinking if hardlinking
  fails (this would happen when crossing device boundaries).

- Clean up flat view when doing clean/clobber. This is done by
  using 'find' to loop through the files in arch/ again and
  removing any root paths that are the same file as their
  corresponding arch/ path (this is where test X -ef Y comes in).
  Then delete arch/$HOSTTYPE, then delete empty directories left.

- Check for the 'flat' qualifier when doing clean/clobber. If
  given, do not delete arch/$HOSTTYPE but only clean up the flat
  view and remove empty directories.

src/cmd/INIT/Mamfile:
- Do not create the lib/package directory. (re: beb3c64a)

.gitignore:
- Update.
2022-01-01 02:28:38 +00:00

42 lines
402 B
Text

# Project-specific files
arch
tgz
lcl
# Flat make libs, binaries, etc
/bin/.paths
/bin/crossexec
/bin/execrate
/bin/filter
/bin/iffe
/bin/ksh
/bin/mamake
/bin/proto
/bin/mktest
/bin/pty
/bin/regress
/bin/rt
/bin/shcomp
/bin/suid_exec
/fun/
/include/
/lib/file/
/lib/*.a
/man/
# Miscellaneous artefacts
*.bak
*.sav
*.old
*.orig
.*.swp
*.DS_Store
*~
.nfs*
*.tmp
*.rej
*.project
*.core
core
**/#*#
tags