68 Commits

Author SHA1 Message Date
Tom G. Christensen
b27fef0e1b The buildpkg framework is now under the GPLv3. 2009-12-19 14:38:46 +01:00
Tom G. Christensen
32e18a9df3 Cleanup tools usage and only use __ prefixed tool namespace. 2009-12-19 14:38:46 +01:00
Tom G. Christensen
bebed60522 When building with sgi cc and gnu g++ both will now be added to relnotes. 2009-12-19 14:38:43 +01:00
Tom G. Christensen
18e4478dd4 If mipspro!=0 then automatically determine if cc -version will work.
This avoids lots of if/then in the build.sh scripts.
2009-12-19 14:38:43 +01:00
Tom G. Christensen
a145b275a6 Add support for the 'updates' keyword in the specfile.
Remove two command variables. They should be either in buildpkg.functions
or buildpkg.tools.
2009-12-19 14:38:43 +01:00
Tom G. Christensen
1811e7f0ec On Irix 5.3 /bin/tr fails to work correctly. To avoid depending on gnu
tr we use a simple shell loop instead.
2009-12-19 14:38:43 +01:00
Tom G. Christensen
7c3c18e37c Don't recurse when using add_dir. 2009-12-19 14:38:43 +01:00
Tom G. Christensen
643fada6f1 Fix variable pollution when adding ops to files. 2009-12-19 14:38:43 +01:00
Tom G. Christensen
496eb335d5 Add support for "replaces" keyword in the specfile
Via a new replaces meta file it's now possible to specify that a subsystem
replaces another.
Syntax is:
subsystem replaces version
2009-12-19 14:38:43 +01:00
Tom G. Christensen
280a4995ae Update the default configure args 2009-12-19 14:38:43 +01:00
Tom G. Christensen
f5e5e26d49 Add support for pack(1)ed manpages on Irix 5.3 2009-12-19 14:38:43 +01:00
Tom G. Christensen
e4f54906b1 Only add packages with $pkgprefix as dependencies 2009-12-19 14:38:43 +01:00
Tom G. Christensen
32e64eda0e Added sw64 image and sw64.lib subsystems to image.conf and subsys.conf
This needed a slight fix in the matching function.
2009-12-19 14:38:43 +01:00
Tom G. Christensen
1919360026 Allow both specattrs like hide and ops from metadir/ops on a file.
Perform variable expansion on files entries in pkgde.
2009-12-19 14:38:42 +01:00
Tom G. Christensen
584d7de232 Add function to convert .so style manpage linking to symlinks 2009-12-19 14:38:42 +01:00
Tom G. Christensen
709fb7bc04 Gracefully handle if $metadir/sums is missing 2009-12-19 14:38:42 +01:00
Tom G. Christensen
87f332f2a9 More topinstalldir trouble.
This fixes it for now but it needs a rethink
2009-12-19 14:38:42 +01:00
Tom G. Christensen
21c6d18294 Sometimes ${var:1} returns garbage if var only contains exactly one
character. This issue was first observed with Bash 3.1 on Irix 6.2.
This is just a simple workaround which is probably also more correct.
2009-12-19 14:38:42 +01:00
Tom G. Christensen
4e6ebc02b9 The showfiles command on Irix 5.3 cannot support the options that the 6.2
version uses. Instead we'll have to dump it's output to a file and then use
that to lookup dependencies by hand. This should also work on Irix 6.2
since the outputs are compatible.
See the dep_pkg_name function for details.
Add deps_resolve_symlinks control variable. If set readlink will be used to
resolve symlinks before doing lookups in the showfiles cache for
dependencies.

Add relnotes support for Irix 5.3 IDO controlled by the mipspro variable.
2009-12-19 14:38:42 +01:00
Tom G. Christensen
4bbc8a32d1 Some scripts like to use /usr/bin/env to find the interpreter but this
confuses the dependency extractor. We now detect the use of /usr/bin/env
and just pass that on without the arguments.
2009-12-19 14:38:42 +01:00
Tom G. Christensen
8de6f05906 Fix a bug in ignore_deps processing
Fix a bug in prereq processing when creating the specfile. This avoids
adding spurious leftovers from previous subsystems to later subsystems.
Add support for adding sha1sum of all source[x] entries to relnotes.
2009-12-19 14:38:42 +01:00
Tom G. Christensen
814f59f42a Don't list internal dependencies in the relnotes 2009-12-19 14:38:42 +01:00
Tom G. Christensen
eb7b442dbb Make the config.log location configurable when running check_ac
Make it possible to filter autodeps by putting them in ignore_deps
Add a hint to notify auto_rel when mipspro is used.
Make it possible to use the auto keyword for external depends. This is
useful for adding hidden dependencies that autodeps can't pick up.
When autodeps looks for scripts it needs to filter ou any args that
may be given to the interpreter (like -w with perl)
2009-12-19 14:38:42 +01:00
Tom G. Christensen
6513e7b2cc Make it possible to adjust the command used in the configure step
Fix up rel_conf_sub to match auto_rel wrt. configure info and relnotes
Add flag to indicat to auto_rel if the compiler was mipspro so it can
act accordingly when filling out the COMPILER field
2009-12-19 14:38:42 +01:00
Tom G. Christensen
d9e2928f02 Add showfiles and showprods to platform specific commands
Implement run_configure and autoconf overrides
run_configure is a new platform specific way to do the configure step of
the build.
It was implemented to allow the use of the ac_overrides variable to easily
override autoconf settings which is needed on Irix.
run_configure will also run an automatic scan (using an external script
check_ac) of config.log for suspicious ac_cv_lib definitions.
The contents of ac_overrides will be added in the Configure part of the
relnotes.
Fixed the FIXME's regarding perl in auto_rel by replacing perl with awk.
Thanks to Laura Fairhead who posted that awk trick on usenet in 2001.
2009-12-19 14:38:42 +01:00
Tom G. Christensen
cfba566bc5 Revert the decision to exclude patchSG packages. The problem is that
posix threads were introduced with patches so to mark a dependency on
libpthread we need to add a dependency on a patchSG packaged.
2009-12-19 14:38:42 +01:00
Tom G. Christensen
b0b4a02a67 fetch_depends extended to make sure that internal dependencies are not
accidentally picked from an already installed revision of the same software.

Only list a dependency once in the relnotes.

Irix 6.2 ldd is too stupid to be used to extract dependencies since it will
just abort if one of the libraries are missing. We use Ariel Faigons perl
version of ldd originally written for Irix 5.3 (which lacks ldd) instead.

Also we need to use GNU xargs which supports -r (--no-run-if-empty) to
avoid running showfiles on empty input since otherwise it will list all
installed packages.

Exclude patchSG* packages from depends
2009-12-19 14:38:42 +01:00
Tom G. Christensen
831306c523 Full automatic dependency generation is finally here!
This checkin includes some new functions to automatically handle
the extraction of dependency information.
It was heavily inspired by the find-requires script found in the rpm
distribution.
2009-12-19 14:38:42 +01:00
Tom G. Christensen
56f21260ec New versioning. See comments in the code for details. 2009-12-19 14:38:42 +01:00
Tom G. Christensen
c38476593d Extra quoting
Added code to automatically insert environment and dependency information
in the relnotes file
2009-12-19 14:38:42 +01:00
Tom G. Christensen
fc6afceaf6 Enable inserting the sha1sum of source[0] into relnotes 2009-12-19 14:38:41 +01:00
Tom G. Christensen
5e5291c3fc Allow manpages to be compressed with compress(1) instead of gzip.
This is useful for plain old Irix 5.3 which doesn't understand gzipped
manpages.
2009-12-19 14:38:41 +01:00
Tom G. Christensen
4caead23bb Don't let gendist call strip. 2009-12-19 14:38:41 +01:00
Tom G. Christensen
80bb0c3785 Handle IRIX64 when computing _os
Kill shortroot handling. This is now handled at install time.

Cleanup the topinstalldir/metainstalldir etc. confusion

topinstalldir now explicitly marks where the package is attached to the
filesystem. Like /usr/local or /.
metainstalldir is used to define the location of the metadata files like
relnotes and distfiles.
2009-12-19 14:38:41 +01:00
Tom G. Christensen
4d0d979899 Turn of stripping of static archives
Reimplement the auto keyword for depends.
It's now used slightly differently, where before it would create an
explicit depend on sw.base it can create a depend on any internal subsystem
In depends you can now put:
sw.base sw.lib auto

And you sw.base will automatically depend on the explicit version of sw.lib
2009-12-19 14:38:41 +01:00
Tom G. Christensen
d204021507 Really update manpage fix/compress logic to match Solaris 2009-12-19 14:38:41 +01:00
Tom G. Christensen
9bc75b0e9e Add vendor and packager details to the releasenotes. This was something
I think was sorely missing before and something that's standard on Solaris.

Make it possible to automatically have modified configure_args put into
relnotes. It's a bit of a hack where instead of assigning the value
directly to the variable we go through a function. Now the nasty bit
is that we can't add relnotes.txt to META_CLEAN since generic_pack
does clean meta which would wipe out changes from build stage.
Instead we add a hack to the distclean method in clean that removes this
file.
I may eventually have to create a generic_clean method that can
be called from pr. platform specific clean function to avoid this kind
of layer violation.

Fix the format of the spec version field again.
I just realised a fairly obvious flaw with the existing system where
increasing the pkgrev from single digits to multiple digits didn't increase
the version but actually decreased it.
Ie. 1.19-9 becomes 11990000 and 1.19-10 becomes 11910000 - ooops!
Instead the pkgrev should be right justified, so instead of 11910000 we'd
have 11900010.
I also eliminated the need for printf in fix_ver, something I shou've
done from the beginning when I realised that Irix 5.3 printf was not up to
the task (only supports %s).
2009-12-19 14:38:41 +01:00
Tom G. Christensen
1a59293fc4 Changes to accomodate infopage compression
Do't include pristine source in the tardist to save space. Instead
only local patches will be in the opt.src subsystem (now truly optional)
Add a - infront of the shortdesc, it looks nicer in swmgr
2009-12-19 14:38:41 +01:00
Tom G. Christensen
e7bd263f8c Update manpage fix/compress logic to match Solaris 2009-12-19 14:38:41 +01:00
Tom G. Christensen
2bde37eb9c topinstalldir is a global so adding / to it on every invocation of
add_files was not very bright :(
Permission in distfiles should be 0644 as everywhere else.
2009-12-19 14:38:41 +01:00
Tom G. Christensen
47cf7996bd topinstalldir=/ should work better now
Make auto_rel look for relnotes.$_os too
2009-12-19 14:38:41 +01:00
Tom G. Christensen
fa19ecb0d6 Another little nit with the metainstalldir handling.
metainstalldir=/ would mess things up.
2009-12-19 14:38:41 +01:00
Tom G. Christensen
c1b8bdc085 Off by one bug that would sometimes cause the sorting of the idb file to
be wrong (resulting in gendist complaining.)
2009-12-19 14:38:40 +01:00
Tom G. Christensen
de2bd7d63b - Support 'dir' command in pkgdef
- New metainstalldir for when topdir needs to be / (like prngd, openssh)
- Allow make install to be skipped in generic_install
2009-12-19 14:38:40 +01:00
Tom G. Christensen
e13ebe8b9f Add shortdesc functionality. This is a short text that is appended to the
product ID string.

Fix check_unpackaged. We didn't really need that CMP since all the work was
being done with cat | sort | uniq -u anyway.

Copy original sourcecode also in auto_src.

Fix prereq handling in create_spec().

Fix auto_rel to also work correctly when compiler is gcc 3.4.1
2009-12-19 14:38:40 +01:00
Tom G. Christensen
410760a6d3 Introduce a new format for the automatically generated version field.
By extending it to a mandatory 8 digits and padding it with zeroes on the
right side it should be possible to avoid problems with version numbers
changing format.
This means  1.19.5->1.20 should be handled correctly now.

Add support for the new subsys.conf keyword (defalt/nodefault).

Flesh out the auto_rel function to help with release notes maintenance.
Added a relnotes.template.irix and make newpkg install a copy
into new sandboxes.
Also clean up newpkg a bit.

Fix a problem with the fix_man function and how to locate the man pages.
The problem was discoved when building gcc-3.4.1 into
$prefix=/usr/local/gcc-3.4.1 and still needing $topinstalldir
to be /usr/local. We now attempt to find any extra subdirs
needed by comparing $prefix and $topinstalldir.
2009-12-19 14:38:40 +01:00
Tom G. Christensen
b2d56995a0 Great, native expr blows up if = is unqouted, gnu expr doesn't care.
Use -ne instead of ! -eq while we're at it.
2009-12-19 14:38:40 +01:00
Tom G. Christensen
a6559259a0 Fix adding of patches to opt.src
Add spec & idb files to a opt.dist subsystem
2009-12-19 14:38:40 +01:00
Tom G. Christensen
ec325c188b Redefine the meaning of the topdir variable.
From now on pkgdir will be used to designate the toplevel dir of the pkg
under $BUILDPKG_BASE

Irix specific changes:
Source formatting fixes
Finally get rid of the FIXME on imageconf
Automatically handle opt.src and opt.relnotes subsystems
2009-12-19 14:38:40 +01:00
Tom G. Christensen
2ff1b5e084 Split strip function into system specific subfunctions.
After the rewrite of add_files in the Irix function library permissions
where not assigned correctly. This has been fixed.
2009-12-19 14:38:40 +01:00