97 Commits

Author SHA1 Message Date
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
Tom G. Christensen
0958686fd0 Bring Irix into line with the latest changes
Now Irix also uses pkgdef and checks for unpackaged files in the stagedir.
subsys.conf will only contain descriptions like image.conf

What missing?
ops & depend functionality is untested

strip function needs to be either generalized or moved to the pr. pkgsystem
function libraries.

Perhaps introduce something like attr from RPM to set specific permissions
in pkgdef.
2009-12-19 14:38:40 +01:00
Tom G. Christensen
96e4251e89 Make default ./configure args configurable
With this commit we implicitly enable NLS
Enable full wildcard usage in subsys.conf
Currently unpackaged_file detection is missing and perhaps the subsys.conf
syntax should be scrapped in favor of the solaris style pkgdef
since there are many similarities.
2009-12-19 14:35:07 +01:00
Tom G. Christensen
9c6c2ac24d compute_octal has been moved to buildpkg.functions 2009-12-19 14:35:07 +01:00
Tom G. Christensen
4db33ad718 Add a doc function to automate the copying of docs from srcdir to a
predefined location.
Add shortroot modifier variable to replace passing the shortroot argument
to generic_pack.
2009-12-19 14:35:07 +01:00
Tom G. Christensen
8628db71e0 Make sure that only the hostname part is used when sourcing configfiles 2009-12-19 14:35:07 +01:00
Tom G. Christensen
d2947215a2 The specfile syntax for multiple prereqs are not so simple as I first
assumed.
This new code will correctly create a prereq with multiple conditions.
2009-12-19 14:35:07 +01:00
Tom G. Christensen
d9cbdd0ca9 Handle filenames with embedded spaces 2009-12-19 14:35:07 +01:00
Tom G. Christensen
df172ec972 Make it easier to redefine distfile by not declaring it until after host
specific configuration has been sourced
2009-12-19 14:35:07 +01:00
Tom G. Christensen
7c9f797bc4 Source a host specific configfile to ease the pains of
differing tool paths etc.
2009-12-19 14:34:48 +01:00
Tom G. Christensen
f9a1b91686 Avoid errors when optional meta files are not present
Fix a stupid bug in 'auto' dependency generator. I forgot to add .sw.devel
to the $pkgname making the prereq illegal (and causing gendist to core)
2003-12-06 16:03:02 +00:00
Tom G. Christensen
432baeee55 A major overhaul.
New functionality added:
- 'hide' meta file to list files that should be 'nohist' in the IDB
- 'ops' meta file to list files and associated ops
- 'depends' meta file to list prereqs for the specfile.

Several new functions where introduced and a few old ones where
updated.

Fixed a bug in create_idb which resulted in all toplevel image
descriptions being set to the first one listed in image.conf

Extended subsys.conf to use wildcards to match files
for the subsystems

What's missing currently is the ability to check
if there are unpackaged files left in the staging
area, like rpm does.

New functionality has been ligthly tested
2003-12-06 14:55:30 +00:00
Tom G. Christensen
39348b938d Only create manpages if a man dir is present 2003-10-11 16:10:53 +00:00
Tom G. Christensen
7bc6737b64 Use the new fix_man function on Irix pr. default
It's controlled by the catman variable so it can be turned of if
necessary
2003-08-03 20:19:26 +00:00
Tom G. Christensen
a1980fc242 Updated to use an environmentvar (BUILDPKG_BASE) to locate the buildpkg root 2003-07-29 19:25:49 +00:00
Tom G. Christensen
abb51c4da3 Added another regex to the version number munging in fix_ver
Rearranged the internals of generic_pack so it will actually
do the right thing with 'shortroot' (oops :))
2003-07-25 20:01:47 +00:00
Tom G. Christensen
66ef930daa Configuration files for the Irix packaging support 2003-07-25 18:08:45 +00:00
Tom G. Christensen
3f5d7d0482 Fix a bug concerning the handling of symlinks in the idb file 2003-07-25 17:51:07 +00:00
Tom G. Christensen
9e870ace11 A big reorganization which splits out the packaging specfic parts of the script.
The existing solaris/sysv support was split into it's own file
Support for Irix 'inst' packages was added. This is working but I'm not
completely sure that the .tardist format is generated correctly.
2003-07-25 15:50:55 +00:00