Commit graph

195 commits

Author SHA1 Message Date
Juan RP 543fe35787 xbps-src: improve some messages in fetch phase. 2010-12-20 07:06:48 +01:00
Juan RP 3da3783333 xbps-src: improve msg_* funcs and update all callers. 2010-12-20 00:22:12 +01:00
Juan RP 08d47bc8b1 xbps-src: improve run_func and always make a log in $wrksrc.
Also when or after the pkg is installed to destdir/stowned, and there was
any error, always remove the files that were installed into destdir.

With these changes there's no need to return any value in the do_foo()
functions because they are caught automatically. Also any function is now
logged into its own file to always log what happens.
2010-12-18 22:38:21 +01:00
Juan RP 82d298b6ca xbps-src: clean up /tmp when entering to the chroot. 2010-12-18 14:33:30 +01:00
Juan RP 4f2edb4c45 xbps-src: verify_rundeps: if package has missing deps, return error. 2010-12-16 22:42:54 +01:00
Juan RP 1c8e866f9d xbps-src: quote properly some vars in the strip/verifyrdeps code. 2010-12-14 18:16:53 +01:00
Juan RP f2bd4e603b xbps-src: handle files with spaces and other characters. 2010-12-14 16:34:05 +01:00
Juan RP ef9cfa20bf strip_files: skip this pass completely if $noarch is set. 2010-12-11 01:53:14 +01:00
Juan RP eaf3247352 builddep_funcs: if there are no build deps, do not print a wrong message. 2010-12-11 01:46:55 +01:00
Juan RP 38a0a4eb53 xbps-src: add openrc_services trigger before system_users.
Packages that use both will try to remove the system user when the openrc services
are launched, so they report "user still logged in" errors.

While being here remove unnecessary empty lines in the generated scripts.
2010-12-07 17:51:17 +01:00
Juan RP af284b261b xbps-src: do not hardcode unzip/xz path for extracting, assume it's in PATH. 2010-11-17 02:46:08 +01:00
Juan RP 7f522a8cf4 xbps-src: remove the triggers, they will be handled by the xbps-triggers pkg. 2010-11-04 13:52:10 +01:00
Juan RP 722db61ea2 xbps-src: improve how patches can be applied.
1) $patch_args can be used if all patches need special args other than "-Np0"
   (set by default).
2) If the $PATCHESDIR/series file exist, it will specify how the patches
   will be applied, in that order.
2010-11-03 15:56:37 +01:00
Juan RP f85dba88f3 xbps-src::tmpl_funcs: add two comments for BUILD_32BIT. 2010-10-31 01:40:23 +02:00
Juan RP 71e5c38598 xbps-src: added XBPS_LDFLAGS into the configuration file.
This is to specify common LDFLAGS settings for all packages, by default
it's set to '-Wl,--as-needed' to avoid linking extra libraries into
the binaries. This helped to find such cases.
2010-10-29 10:23:25 +02:00
Juan RP e92e7e69fe xbps-src: don't ignore pkgs that use $nostrip for verify rundeps code. 2010-10-28 04:22:00 +02:00
Juan RP 0432cc3785 xbps-src: remove dup strip_files() in pkgtarget_funcs.sh. 2010-05-26 15:47:59 +02:00
Juan RP c34e13336b xbps-src: multiple changes to improve infrastructure.
- Remove buildvars_funcs.sh, its code has been moved into set_tmpl_common_vars().
- Move stripping code into its own file, and don't run it via fakeroot.
- Remove unnecesary reset_tmpl_vars() call in install_pkg().
- Misc changes.
2010-05-26 15:41:26 +02:00
Juan RP f6b57540bd xbps-src: fucking (un)set_build_vars() crap! 2010-05-21 01:06:22 +02:00
Juan RP 9408af3761 xbps-src: make BUILD_32BIT work for packages using C++. 2010-05-21 00:30:27 +02:00
Juan RP 127a8e42f7 xbps-src: make it possible to build bootstrap packages on x86_64 for 32bit,
by setting the envvar BUILD_32BIT.

So now you can build bootstrap pkgs for i686 on x86_64 like this:

1) install gcc-multilib and ncurses32.
2) env BUILD_32BIT=yes linux32 xbps-src bootstrap
2010-05-20 22:20:52 +02:00
Juan RP c785787fdd xbps-src: added 'clean' target to remove pkg build directory. 2010-05-20 04:05:35 +02:00
Juan RP f00c51a6a3 xbps-src: support -m with 'checkvers' target. 2010-05-19 03:04:42 +02:00
Juan RP b9d0db9470 xbps-src: added new 'checkvers' target to check for new versions from srcpkgs
against current installed packages.
2010-05-19 03:00:52 +02:00
Juan RP 66321f05e6 xbps-src: fix an error in the unstow case. 2010-05-17 22:21:19 +02:00
Juan RP 9e285b9608 xbps-src: improve multiple mount/umount chroot handling. 2010-05-17 12:09:44 +02:00
Juan RP a0432bffa5 xbps-src: do not set CFLAGS/CXXFLAGS multiple times via build_vars. 2010-05-15 18:20:56 +02:00
Juan RP ab3193c208 xbps-src: do not umount if <masterdir>/.xbps_chroot_working is there. 2010-05-15 17:28:18 +02:00
Juan RP fe36d782ca xbps_chroot_handler: do not umount, leave this to the signal handler of xbps-src. 2010-05-14 15:17:58 +02:00
Juan RP a599311f15 xbps-src: always try to unmount via xbps-src-chroot-helper before exiting. 2010-05-14 14:48:55 +02:00
Juan RP 561783f002 fetch_funcs: print a message if using $nofetch. 2010-05-14 02:27:38 +02:00
Juan RP 816b0945a8 chroot.sh: mention that xbps-src.conf in the chroot is autogenerated. 2010-05-14 01:12:53 +02:00
Juan RP 148f1d5db5 xbps-src: reinstall xbps-src any time we are entering into the chroot. 2010-05-14 00:16:37 +02:00
Juan RP ceefb18bff xbps-src: multiple improvements to messages and phases.
- Prefix all messages with 'Package 'pkgname (version)': ..." to really
  understand what's going on. Add more messages in some stages...
- Do not run pre/post_{configure,build,install} or do_{build,install} stages
  if they were executed successfully in the past.
2010-05-14 00:07:47 +02:00
Juan RP 85f018289f builddep_funcs: add extra space to the deps message. 2010-05-13 22:22:05 +02:00
Juan RP d1791dad60 make-binpkg: pass correct vars as arguments to the signal handler. 2010-05-13 21:21:36 +02:00
Juan RP a4468b1fe8 pkgtarget_funcs: print a msg while installing the origin pkg. 2010-05-13 17:42:39 +02:00
Juan RP fdd96d947b buildvars: also (un)set CPPFLAGS and LDFLAGS in the chroot. 2010-05-13 17:42:07 +02:00
Juan RP 65619596d0 stow_funcs: check for file and links before dirs while stowning in the chroot. 2010-05-13 15:28:17 +02:00
Juan RP 8f5898fa63 build_funcs: unset_build_vars before returning. 2010-05-13 15:27:41 +02:00
Juan RP e675201990 Improve how build deps are processed, return on errors immediately. 2010-05-12 17:23:35 +02:00
Juan RP c57efc958f install_pkg(): remove another return value test. 2010-05-12 02:16:31 +02:00
Juan RP a785022b62 reset_tmpl_vars: add do_{build,install}. 2010-05-12 01:51:53 +02:00
Juan RP 8d383c1c83 builddep_funcs: skip some return values from install_pkg(). 2010-05-11 23:39:37 +02:00
Juan RP 622c398a66 build_vars: (un)set PKG_CONFIG also in the chroot. 2010-05-11 22:15:33 +02:00
Juan RP d3047787ba configure_funcs: unset build vars before return. 2010-05-11 22:10:51 +02:00
Juan RP f964d9b8fb install_dependencies_pkg(): install_pkg_deps() might return non 0, don't treat this as fatal. 2010-05-11 21:30:01 +02:00
Juan RP 84a4e9e377 {un,-}set_build_vars(): set PKG_CONFIG_LIBDIR. 2010-05-11 15:46:34 +02:00
Juan RP caf9d4ac62 install_pkg_deps() may return 1 sometimes, do not treat it as fatal error. 2010-05-10 12:18:41 +02:00
Juan RP 2ee55de018 Finally fix fakeroot on Arch linux, return on errors while processing deps. 2010-05-10 12:09:06 +02:00
Juan RP 2850e6ed79 xbps-src-doinst-helper is run via fakeroot so set build vars before and after! 2010-05-10 11:17:58 +02:00
Juan RP d4441c94d3 set_build_vars(): use different var for LD_LIBRARY_PATH. 2010-05-10 10:41:36 +02:00
Juan RP 81d6978f02 xbps-src: propagate error returned by xbps-src in the chroot.
Rather than pointing the user to cat the .log file, just cat it before exiting.
2010-05-09 19:46:28 +02:00
Juan RP f6a0806229 xbps-src: piping with tee(1) and groupping command is not possible sometimes... 2010-05-08 09:46:23 +02:00
Juan RP 97811e8af0 Workaround Arch Linux path for libfakeroot, tested and reported by pancake. 2010-05-07 13:45:26 +02:00
Juan RP 22774084ab xbps-src: always create logs for configure/build/install stages in $wrksrc.
Fixed -C and install-destdir in the chroot, $# wasn't consistent :-)
2010-05-07 12:25:24 +02:00
Juan RP 9615930eb4 init_funcs.sh::set_defvars() bailout if required dirs cannot be found. 2010-05-06 22:01:36 +02:00
Juan RP 71aa49c397 buildvars_func.sh::set_build_vars() append to LD_LIBRARY_PATH no overwrite. 2010-05-06 22:00:43 +02:00
Juan RP 481e74178e xbps-src: do not append $PATH to $PATH on every prepare_tmpl() call!
--HG--
rename : xbps-src/shutils/tmpl_funcs.sh => xbps-src/shutils/tmpl_funcs.sh.in
2010-05-06 01:21:27 +02:00
Juan RP b382fb9c94 shutils/tmpl_funcs: do not overwrite $PATH. 2010-05-04 23:49:09 +02:00
Juan RP 6baa28a6e3 Redirect stderr to a file in ${wrksrc} for run_func().
So that you can use 'set -x' in a template and see the output.

--HG--
extra : convert_revision : 7b3225b2ed3f1fab410c43af12f5d5f66f8504d7
2010-04-29 16:04:09 +02:00
Juan RP 6d01070826 The 'essential' object metadata was removed long ago, fully remove it.
--HG--
extra : convert_revision : d110ecf59b07e84c6930d1212702b67cc4a4112b
2010-04-29 05:20:36 +02:00
Juan RP ff412882de Improve messages while entering into the chroot.
--HG--
extra : convert_revision : 13354e2dc1a3c13071a9b662f74609ca79a4dd78
2010-04-27 23:22:48 +02:00
Juan RP 522437b90f Multiple improvements for XBPS_PREFER_BINPKG_DEPS.
- Added a new var XBPS_REPO_LIST for the conf file, to specify
  a list of remote repositories to be used in a masterdir.
- Install all required binpkgs in one pass, if that fails install
  one of them at every pass.
- Fixed xbps-src-chroot-helper to properly catch SIG{INT,QUIT}
  when -m is specified.
- Misc cosmetics improvements.

--HG--
extra : convert_revision : 0ad7d559477ccc1fc04ab09deb791343ee453de6
2010-04-27 23:09:08 +02:00
Juan RP da63915397 Fix 'xbps-src -m' to mount stuff in the correct place.
--HG--
extra : convert_revision : 930efb41ec285f2b65310629fe758397c178d681
2010-04-27 21:52:36 +02:00
Juan RP cb582f7373 xbps-src: add -m flag and make-repoidx target.
* -m flag to specify a custom XBPS_MASTERDIR, overwritting the value
  from xbps-src.conf.
* make-repoidx target to create a package index plist file for
  the local repository associated with a masterdir, or one specified
  by the -p flag.

--HG--
extra : convert_revision : dbd502b532fd49cd17a79a187488a1e92f361ee0
2010-04-27 01:34:19 +02:00
Juan RP e3dc3e3066 Added native utilities to mount/umount/chroot via capabilities(7).
Three new helpers will now be installed into ${libexecdir}:
 - xbps-src-capchroot needs to have set CAP_SYS_CHROOT ep.
 - xbps-src-chroot-cap{,u}mount: needs to have set CAP_SYS_ADMIN ep.

That means that libcap and setcap(8) are now required to install
xbps-src and use it as normal user.

--HG--
extra : convert_revision : 586d6526079e085f86bf3e393459d429f6f0ef99
2010-04-26 14:15:49 +02:00
Juan RP 6673252679 Infrastructure changes to simplify the conf file.
* Removed the following vars from the conf file: XBPS_BUILDDIR,
  XBPS_PACKAGESDIR and XBPS_SRCDISTDIR. They are always relative
  to XBPS_MASTERDIR and cannot be changed.
* Removed XBPS_INSTALLDIR, it was unused in the code.
* Prepend /tools/bin in PATH for the chroot.
* Don't register a repo in the chroot if the XBPS_PREFER_BINPKG_DEPS
  is not set.

--HG--
extra : convert_revision : 4df03ffa64f0bbf81cd1dd0baf38f1b7e4f47549
2010-04-26 02:51:48 +02:00
Juan RP 7d9172b9ea Set $XBPS_FETCH_DONE after extracting not fetching.
--HG--
extra : convert_revision : fd65f2da02fd6da2c8a9f169f777d7511888704c
2010-04-24 12:52:29 +02:00
Juan RP 4240afc516 Only check distfiles once, not every time.
--HG--
extra : convert_revision : 6e3a5e715aea21956395018360cae66b8f211d67
2010-04-23 18:45:47 +02:00
Juan RP 0d68a49660 Multiple changes in the infrastructure for improving the (un)stow stuff.
- Added pre_remove/post_remove/post_stow support for templates.

- When stowning pkgs, symlink all files into the chroot. This only works
  for packages that need to be built on it, also templates that set
  stow_copy will copy its files, or selectively via stow_copy_files.

--HG--
extra : convert_revision : 51f47120a5478ceb1319bde01c3ab999f637b359
2010-04-23 15:25:03 +02:00
Juan RP 3fa8a3a284 install_pkg(): exit immediately on errors.
--HG--
extra : convert_revision : ac0332748a5390d3324329a2aa5630ef35e0bf7d
2010-04-22 13:40:53 +02:00
Juan RP 1874cbadda shutils/metadata: return if required stuff fails.
--HG--
extra : convert_revision : c8225a2a9ace45bbc7eed5b309e26336ce94f9ae
2010-04-22 12:06:16 +02:00
Juan RP 70f7b0aaf4 shutils/stow_funcs: use rm -f.
--HG--
extra : convert_revision : d669d311bd19ba41fd6244a62e3430a2c4f71947
2010-04-22 09:02:49 +02:00
Juan RP 33770e8bbc When using run_func() we don't care about stderr output.
--HG--
extra : convert_revision : 618d1c2eda49e1c55abec28d36f3430f37b9b867
2010-04-22 06:50:11 +02:00
Juan RP 8536af44ef run_func: use simply 'type foo', -t is a bash extension.
--HG--
extra : convert_revision : 8a94c0a961f4819bfada61823158c81965d31908
2010-04-21 16:48:58 +02:00
Juan RP b0c64c181b shutils/metadata.sh: use find(1) -follow.
--HG--
extra : convert_revision : 1815c225aab07ca970d14f1340439d67fee2d88a
2010-04-21 15:29:23 +02:00
Juan RP 5d9675e435 shutils/metadata.sh: use find and readlink rather than find -L.
--HG--
extra : convert_revision : 489747f192448a175f24cee7762a51e2568a1b54
2010-04-21 11:54:14 +02:00
Juan RP c95a77a60c shutils/extract_func.sh: check that distfiles are there.
--HG--
extra : convert_revision : 210dd5e1204adcd5c1eee91af76000c1e08d5039
2010-04-18 18:50:43 +02:00
Juan RP 94c0200541 Reset some vars in subpkgs.
--HG--
extra : convert_revision : cfe73e71aa363f5d297660925cd7b29e731f4951
2010-04-12 19:07:24 +02:00
Juan RP ec0f955d70 Added gconf-schemas new trigger.
Two new vars can be used in templates to handle GConf schemas files,
gconf_entries and gconf_schemas.

--HG--
extra : convert_revision : 315756b79166538ef0efae5a70c7ec8d9f7f61d9
2010-04-11 12:50:35 +02:00
Juan RP 2f5d1187a3 shutils: prepare for upcoming "$conflicts" support.
--HG--
extra : convert_revision : 021b9ea71ef7dbd8bcdef844a9e1379613db88d3
2010-03-08 10:52:55 +01:00
Juan RP 73dab0587b verify_rundeps: handle same shlib provided by multiple pkgs.
--HG--
extra : convert_revision : 5d021d453acd0fdf440cbafbec89613340e9e349
2010-03-08 10:47:25 +01:00
Juan RP a4070a27a9 Add "$noverifyrdeps" to disable verifyrundeps code.
--HG--
extra : convert_revision : 07510b345b3831360d0ef7697be98103dc465181
2010-01-29 05:41:10 +01:00
Juan RP 9cd358be11 shutils: remove mktoolchain.sh, outdated and useless.
--HG--
extra : convert_revision : bc4cf29c4e8d76f80fba322e545eaa81b10a7062
2010-01-29 04:19:13 +01:00
Juan RP 259d7f0ce7 shutils/metadata.sh: if xbps-uhelper sanitize-plist fails, return error.
--HG--
extra : convert_revision : 949a19e83aff79731b2d315669114568fe4f81aa
2010-01-28 19:05:03 +01:00
Juan RP bc01681ea7 shutils/metadata.sh: replace '><' in maintainer obj with &[gl]t;
--HG--
extra : convert_revision : 6de3978f0cc7442bec1fc08523387884ae8809c9
2010-01-27 03:21:53 +01:00
Juan RP 0da86577ab Changed $replaces to accept pkg patterns, like Add_dependency().
Changed all packages using $replaces to the new format and bump
the revision. Require XBPS utils >= 20100121 for this to work.

--HG--
extra : convert_revision : 7593b3cb7465f7613f48aba0f2e86cdcd5430ac0
2010-01-21 03:33:26 +01:00
Juan RP 740ed4e896 shutils/metadata: fix incorrect syntax in subst $replaces values.
--HG--
extra : convert_revision : f57eaffc05e99b021aeb77c213b8ca13121b978e
2010-01-20 15:10:23 +01:00
Juan RP 9b4d6d474e shutils/metadata: fix creation of scripts due to false positive.
--HG--
extra : convert_revision : 6fecbcf1ae9f6addd319cece6bf8731e23efc196
2010-01-17 22:22:12 +01:00
Juan RP 8077fd7472 shutils: bump copyright year for touched files in 2010.
--HG--
extra : convert_revision : 967ce0c8f98299db161ccb746a9e633ca0457640
2010-01-17 08:50:36 +01:00
Juan RP 5f94abb06a shutils/buildvars_funcs: don't set useless vars in the chroot.
--HG--
extra : convert_revision : b75790e760fe12b2ac1d1f8dbc9c01aa3683e416
2010-01-17 08:47:14 +01:00
Juan RP eeeebb5915 shutils/metadata_scripts: do not create empty INSTALL/REMOVE scripts.
--HG--
extra : convert_revision : 149185cfd371a88802cc4e05c06fbe006b7cc006
2010-01-16 06:13:12 +01:00
Juan RP e57940985e Added support to build pkgs in the chroot as normal user via capchroot.
Please read the comment in xbps-src.conf to use it. Fully tested
and working nicely, probably some pkgs will need minimal changes.

--HG--
extra : convert_revision : 820ad6d48aa74cf5b6db1871adea750acccaa82f
2010-01-16 02:11:44 +01:00
Juan RP dec6b4651e shutils/build_funcs: "custom-install" pkgs can use do_build() func.
That means that you can now build "custom-install" build_style
packages in two stages, one for building and one for installation.

--HG--
extra : convert_revision : 4fd76075a1a0bd173854272437c6ca3b263a6f62
2010-01-16 00:04:40 +01:00
Juan RP ae9fe929a4 shutils/pkgtarget_funcs: don't exit if pkg is already installed.
--HG--
extra : convert_revision : 3f7a084f70f9cfb65e4db28f478b0a44b2083d2d
2010-01-15 00:15:39 +01:00
Juan RP 6f5aa28a94 shutils/builddep_funcs: install from source if binpkg failed.
--HG--
extra : convert_revision : 2d902d3ccaf92fdc42d3be0b789c16412da516f1
2010-01-15 00:14:29 +01:00
Juan RP 0cab41b261 shutils/chroot: sync groups list with shadow pkg.
--HG--
extra : convert_revision : 0fb123e3e4400ff278c26a98b657ff349cb0f93a
2010-01-14 18:52:14 +01:00
Juan RP 3cdafeb9ca Added initial support to install binpkgs to resolve builddeps.
if XBPS_PREFER_BINPKG_DEPS is set in xbps-src.conf, the local binpkg
repo in XBPS_PACKAGESDIR will be used to install binpkgs.

To use this feature you'll need xbps utils >= 20100114 from head.

--HG--
extra : convert_revision : 7317e0e2741997007e81ed478f819c36e4858e5d
2010-01-14 17:45:41 +01:00
Juan RP f29a2b53d4 shutils/metadata.sh: reset {sgml,xml}_{entries,catalogs} for subpkgs.
--HG--
extra : convert_revision : 491a636c86b6c5baa720f616e76a21e3a45f28a3
2010-01-14 16:24:40 +01:00