Commit Graph

534 Commits

Author SHA1 Message Date
Natanael Copa
a83cdde510 abuild: only install .makdepends-* if there are deps 2011-01-03 15:02:19 +00:00
Matt Smith
1a67bb56a3 abuild: trivial update to new saveas-*:// support
Removed the asterisk from the beginning of the https check, and moved the
saveas- check above.
2011-01-03 13:41:11 +00:00
Natanael Copa
09ea4c1328 abuild: skip md5sum check if in force mode 2010-12-31 18:53:13 +00:00
Matt Smith
3386818e53 abuild: created 'saveas-*://' URI support
'saveas-*://' URI support has been created for use with the source= line of
APKBUILD files.

It allows for a remote source file to be saved with an arbitrary filename.  This
is useful in situations where the last component of the URI is not the preferred
filename.

Here's how it works.  Say we have the following URI:

  http://oss.example.org/?get=software&ver=1.0

Both Busybox Wget and GNU Wget will save this with the filename:

  ?get=software&ver=1.0

To get around this, we could use cURL to save the file using the filename in the
HTTP response headers:

  $ curl -JO "http://oss.example.org/?get=software&ver=1.0"

Or we could use this 'saveas' hack.  Essentially, the original URI is converted
to read:

  saveas-http://oss.example.org/?get=software&ver=1.0/software-1.0.tar.gz

In the download process, the 'saveas-' portion is removed, and the file is
downloaded from the original URI, but is saved with the filename being the last
component of the URI.  In this case, it will be saved as 'software-1.0.tar.gz'.

It is designed so that it works with any protocol supported by abuild.
For example:

  saveas-ftp://oss.example.org/?get=software&ver=1.0/software-1.0.tar.gz

Check it out and let me know what you think.

Thanks,
Matt
2010-12-30 20:33:02 +00:00
Natanael Copa
21730b7864 abuild: fix check for arch specific binaries
we now fail if noarch is set wrong
2010-12-30 12:53:44 +00:00
Natanael Copa
650c0344ff abuild: set arch to noarch for -doc packages 2010-12-30 10:39:40 +00:00
Natanael Copa
5e41f09733 abuild: post check arch
We check if noarch is properly set
2010-12-30 10:36:42 +00:00
Natanael Copa
e524bc68e9 abuild: improve output messages for dep tracing 2010-12-17 18:57:49 +00:00
Natanael Copa
94667e9993 abuild: support arch=all 2010-12-15 13:43:52 +00:00
Natanael Copa
2951b99c70 abuild: look for so dependencies in RPATH too
Some .so files have a rpath where to look for the needed .so. When tracing
package dependencies we also have a look there.

This should fix problem when the .so is not in standard location, /usr/lib
or /lib. (for example freeradius plugins)

While here we also reorganize things so we only call apk info --who-owns
once for each package instead of once for each needed .so. This should
speed up things when there are many needed .so files.
2010-12-15 13:01:13 +00:00
Natanael Copa
59df627613 abuild: multiarch support
- add arch to .PKGINFO
- exit with success if package is not in arch
2010-12-14 13:27:00 +00:00
Natanael Copa
a111620bc8 abuid: check that CARCH and CHOST is set 2010-12-13 07:35:09 +00:00
Natanael Copa
f9b62b89a6 abuild: automatically add libgcc to depends when libpthread is found
see http://redmine.alpinelinux.org/issues/409
2010-08-31 13:50:06 +00:00
Natanael Copa
a5937e5c45 abuild: support for alternative awks
some awk's does not understand -F "\ " and treats that as special space
2010-08-27 13:34:33 +00:00
Natanael Copa
030fa98065 abuild: support for unpacking .tar.xz 2010-08-12 07:08:47 +00:00
Natanael Copa
8bf6428c8f abuild: include vapi and gir-* in -dev package 2010-07-07 18:25:57 +00:00
Natanael Copa
c30c346362 abuild: detect and report conflicting dependencies properly 2010-06-30 14:59:07 +00:00
Natanael Copa
3137648228 abuild: move the .so symlinks to -dev packages
Those are needed when linking to the lib and not during runtime.

Having those in the -dev package makes it easier to allow different
versions of same libs to be installed side-by-side.
2010-05-18 12:45:17 +00:00
Natanael Copa
a06296168f abuild: allow DISTFILES_MIRROR be a local path
based on patch from Andrew Manison. Thanks!
2010-05-18 09:52:44 +00:00
Natanael Copa
e9509e5ffe abuild: support for -c and -m options to enable/disable colors
and make sure those options are passed over when building recursively

Based on patch from Andrew Manison. Thanks!
2010-05-18 09:42:53 +00:00
Natanael Copa
072e93458d abuild: break circular deps when building recursively 2010-05-06 21:02:07 +00:00
Natanael Copa
92417870e6 abuild: properly pass over args when building recursively 2010-05-06 19:37:52 +00:00
Natanael Copa
9d0a812458 abuild: properly add $BUILD_BASE to dependency chain
We want build the toolchain and build tools first
2010-05-06 18:38:13 +00:00
Natanael Copa
e3c46369fd abuild: bugfix for versioned dependencies
we need strip all '<>=' chars not only last
2010-05-06 18:31:36 +00:00
Natanael Copa
18c1dde2de abuild: only update abuildrepo index if needed
speeds up abuild -R a bit
2010-05-06 08:20:59 +00:00
Natanael Copa
ed0613adda abuild: rename apkcache to abuildrepo
To avoid confusing with the /etc/apk/cache
2010-05-06 07:58:44 +00:00
Natanael Copa
5a3bb63846 abuild: force pkgrel in APKBUILD
its needed for bumping pkgrel with sed and similar
2010-05-04 11:28:44 +00:00
Natanael Copa
f795040b6b abuild: support for overriding apk binary
so we can do: APK=apk.static abuild ....
2010-05-04 08:32:22 +00:00
Natanael Copa
f4e9b5d3a9 abuild: fix for abuild -R
we only enter dependencies dirs in same repo
2010-05-04 08:28:13 +00:00
Natanael Copa
36d446263c abuild: support for building simple tar.gz files of target
When building with crosscompile to bootstrap a new target it might
be handy to not include the dependencies etc.
2010-04-28 16:04:37 +00:00
Natanael Copa
c6f4cb7286 abuild: use fetch_uri_mirror when downloading sources 2010-04-19 13:48:57 +00:00
Natanael Copa
064c0fac8e abuild: only trace dependencies from current repo
This avoids confusion when abuild picks dependencies from testing
when building main.
2010-04-15 15:53:28 +00:00
Natanael Copa
a0c0ae76e3 abuild: download from DISTFILES_MIRROR first if set 2010-04-15 15:52:38 +00:00
Natanael Copa
92d947b000 abuild: wait 30 seconds for apk lockfile. improve error reporting 2010-03-02 11:01:15 +00:00
Natanael Copa
3ea1ead589 abuild: dont check version number if nodeps is specified
This option is normally used for bootstrapping a build env. Chances are big
that apk-tools is not around.
2009-12-16 09:25:52 +00:00
Natanael Copa
d87b10b9af abuild: implement getpkgver, default_fetch and default_unpack
to make life easier for volatile packages
2009-11-24 10:53:58 +00:00
Natanael Copa
78ca93d237 abuild: use pax-utils's scanelf to find binaries to strip 2009-11-06 09:57:34 +00:00
Natanael Copa
9400ec0152 abuild: fix detection of pkgconfig dependency 2009-11-02 09:26:09 +00:00
Natanael Copa
64d70cc4b3 abuild: exit with error if run as root
override with -F
2009-10-24 21:01:29 +00:00
Natanael Copa
036557c8c0 abuild: make it possible override fakeroot 2009-10-24 20:53:31 +00:00
Natanael Copa
f150027100 abuild: fix so APKBUILD env var works properly
We also make sure we source the APKBUILD when we are in the directory
holding the APKBUILD file. Some of the packages sources others
with relative references. (for example kernel 3rd party packages)
2009-10-24 20:37:20 +00:00
Natanael Copa
c50ab80bfa abuild: minor bugfix: define $program 2009-10-24 20:11:40 +00:00
Natanael Copa
c9616e9d9e newapkbuild: move code from abuild to new script
try keep code in abuild cleaner by moving out creation of new apkbuild
to separate script.
2009-10-24 20:03:06 +00:00
Natanael Copa
74debd67ce abuild: minor cleanup 2009-10-24 19:18:35 +00:00
Natanael Copa
3b7ab34e67 abuild: implement prepare()
prepare is run before build(). this allows uses to do patching before
configuring and building in a separate step.
2009-10-23 16:28:34 +00:00
Natanael Copa
f138d6704b abuild: bugfix. allow apkbiudls without build() 2009-10-23 13:12:32 +00:00
Natanael Copa
542b9cf486 abuild: dont run build() in fakeroot if package() exist
fakeroot seems do some kind of locking which kills performance on
multicores processors. We can run "make" and "make install" in 2 steps
with only hte latter in fakeroot.
2009-10-23 09:57:04 +00:00
Natanael Copa
c1be67be8a abuild: include repo description and version in temp apk cache 2009-09-03 16:38:07 +00:00
Natanael Copa
f24e997104 abuild: strip versions from dependencies when building recursively 2009-08-31 09:12:04 +00:00
Natanael Copa
a1bf67a46c abuild: allow pkgver=volatile 2009-08-21 14:25:08 +00:00
Natanael Copa
32f3fce837 abuild: implement pkgusers/pkggroups 2009-08-21 07:54:53 +00:00
Natanael Copa
e0f546896f abuild: no missing dependencies might happen 2009-08-17 13:58:26 +00:00
Natanael Copa
5b8d1709da abuild: the -dev pckages should depend on all subpackages 2009-08-17 13:02:37 +00:00
Natanael Copa
df8e468f0e abuild: implement triggers
and install scripts should not be in $source
2009-08-14 05:56:34 +00:00
Natanael Copa
d8907beacb abuild, alpine.mk: use --repository instead of --repo 2009-08-10 13:05:56 +00:00
Natanael Copa
e1dff71595 abuild: initial support for versioned dependencies 2009-08-05 13:55:35 +00:00
Natanael Copa
b1f792b023 abuild: implement -d for disable dependency checking
This is needed when bootstrapping the system.
2009-08-03 13:06:38 +00:00
Natanael Copa
15a3f24286 abuild: fix for dynamic dependency detection 2009-07-29 20:01:52 +00:00
Natanael Copa
3c7eb0dff9 abuild: make index readable 2009-07-27 14:28:15 +00:00
Natanael Copa
fad6df6eaf abuild: minor bugfix 2009-07-24 14:56:28 +00:00
Natanael Copa
28b7f5d2b1 abuild: add pkgconfig to depends if needed. misc fixes 2009-07-24 09:24:42 +00:00
Natanael Copa
53b17143d2 abuild: use APKINDEX.tar.gz rather than APK_INDEX.gz 2009-07-23 09:46:36 +00:00
Natanael Copa
c2a0126ea2 abuild: remove broken links in abuild temp repo. sign the control.tar.gz 2009-07-23 09:32:14 +00:00
Natanael Copa
ac09f44927 abuild: sign index with abuild-sign 2009-07-23 08:43:28 +00:00
Natanael Copa
be9fa503bc abuild: initial support for new apk format 2009-07-20 14:56:01 +00:00
Natanael Copa
bd9f1a415a core/abuild: fix options order to apk add 2009-07-20 12:01:16 +00:00
Natanael Copa
501e5dc8c4 abuild: upgrade dependencies when building recursive 2009-07-13 11:11:15 +00:00
Natanael Copa
a3dca8d66a abuild: use apk version --check to verify the pkgver 2009-06-09 11:27:42 +00:00
Natanael Copa
99ae7bd9c3 abuild: force single space be separator when parsing scanelf output
otherwise will awk not detect empty fields
2009-06-04 18:14:47 +00:00
Natanael Copa
44247711a4 abuild: up2date handle apkcache properly
abuild will not consider package up2date unless apk cache is up2date
2009-06-03 21:29:58 +00:00
Natanael Copa
2c907ddc34 abuild: warn if g++ is in makedepends. fix for dynamic deps 2009-06-03 20:55:45 +00:00
Natanael Copa
5b00cca758 abuild: fix for detecting self-provided dependencies 2009-06-03 20:20:59 +00:00
Natanael Copa
a878a54660 abuild: bugfix: find deps in subpackages and fail if deps not found 2009-06-03 19:50:06 +00:00
Natanael Copa
2d6f0ab38d abuild: initial support for autodetection of dependencies 2009-06-03 19:23:32 +00:00
Natanael Copa
36080a48f7 abuild: rename abuildrepo to apkcache 2009-06-03 11:26:48 +00:00
Natanael Copa
9d616a1346 abuild: add configurable apk cache 2009-06-03 11:24:29 +00:00
Natanael Copa
bdc6182749 abuild: use build-base meta package as hard makedepends 2009-06-03 11:15:55 +00:00
Natanael Copa
027f227852 abuild: pull in makedepends by using virtual packages in abuildrepo
Basicly, let apk-tools deal with the dependencies rather than let abuild do it
2009-06-03 08:37:05 +00:00
Natanael Copa
2219b258cf abuild: use apk index -d to update the abuildrepo index 2009-05-14 14:41:12 +00:00
Natanael Copa
83f9d177ed abuild: create symlink to package in tmprepo
The tmprepo is a temporary repository used by abuild to handle the
dependencies of the newly built packages.
2009-05-08 20:34:30 +02:00
Natanael Copa
2fd4128e20 abuild: rename pkgdirbase to pkgbasedir 2009-05-08 19:19:32 +02:00
Natanael Copa
231d406de6 abuild: create .provides-so file in package dir
This will later be used to figure out the dynamic dependencies.
2009-05-08 19:19:32 +02:00
Natanael Copa
ca65c4b791 abuild: prepare pkg dirs/meta files and create packages separately. Dependency speedup.
Run all subpackage functions and prepare the dirs first and create the
package itself later on. This will make it possible to automatically trace
the dependencies.

Also, speed up the detection of which makedeps are installed and which needs
to be built/installed. this requires apk-tools_pre11.
2009-05-08 15:01:14 +00:00
Natanael Copa
3d79fb7036 use .in files for scripts 2009-05-08 13:33:34 +00:00