When installing pkgdeps from repositories more errno values are handled
from xbps-bin, this help us to find why a package failed to install.
Also stdout/stderr output from xbps-bin is redirected to
$wrksrc/.xbps_install_dependency_$pkgdepname.log to see how it was
installed or why it failed to install.
Do autoremove packages in more places to be sure that if something went
wrong those packages are always removed.
XBPS_CACHEDIR will be bind mounted as read/write in target masterdir
into /cachedir. This directory must have read/write perms for the user
running xbps-src.
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.
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.
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.
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.
- 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.
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
- 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.
- 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
* -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
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
* 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
- 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
Two new vars can be used in templates to handle GConf schemas files,
gconf_entries and gconf_schemas.
--HG--
extra : convert_revision : 315756b79166538ef0efae5a70c7ec8d9f7f61d9
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
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
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
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
Every pkg containing shared libs must register them in
common/mapping_shlib_binpkg.txt, this is where the code looks
for transforming required libs to required binpkgs.
The code will also report if a required rundep is missing from
pkg run_depends array and will suggest to add some lines to
the package template.
--HG--
extra : convert_revision : 2d26d45b8e8f62218473abdbed7cc7aab7074e28
Rather than make it configurable, put this always under
XBPS_MASTERDIR/pkg-destdir, so you don't have to care about it anymore.
--HG--
extra : convert_revision : 34cc3102272bfcf95b2fc3a8961cb9cb2429ab91
If set the specified wrksrc will be created and its distfiles will be
extracted into it.
--HG--
extra : convert_revision : c6b0ff2634a9f764d45fcdd97ecee5d32c8a7ace
This var sets a relative path to $wrksrc that is used to
configure/build/install a package.
--HG--
extra : convert_revision : 690f4d435f3d4e6a9228f7f5f09ecf8b490a273a
The following vars can be used for this:
- system_accounts="foo blah"
- foo_homedir, foo_shell, foo_descr, foo_groups.
--HG--
extra : convert_revision : bc7d002e00abc5c84f83a3716a8ecf97f9c9ff24
When a package has this defined, its files won't be removed after
a removal or upgrade process. This should be used in a few cases,
mostly for the kernel pkg to always preserve a working kernel+modules.
--HG--
extra : convert_revision : 03b19d1df2b029b6671865072b4d9529b0b86aa4
There's no need to update triggers in the following cases:
* Packages installing stuff into /usr/share/applications.
* Packages setting $gtk_iconcache_dirs.
* Packages setting $font_dirs.
* Packages setting ${sgml,xml}_entries.
--HG--
extra : convert_revision : 11c74b41f8cf474e9bf4dbb961b1aa9c6f6540bf
- If creating the binpkg fails remove the file, the same if
SIGINT is caught.
--HG--
extra : convert_revision : 113ce6580cc514c791835d87bf572a566b3341f8
* Moved helpers, common and triggers dirs into xbps-src, where
they belong.
* Renamed the templates dir to srcpkgs, it was so redundant before.
* Make it possible to add subpkgs with no restriction in names, for
example udev now has a subpkgs called "libgudev". Previously
subpkgs were named "${sourcepkg}-${pkgname}".
* xbps-src: changed to look for template files in current directory.
That means that most arguments from the targets have been removed.
* xbps-src: added a reinstall target, to remove + install.
* xbps-src: do not overwrite binpkgs by default, skip them.
And more that I forgot because it's a mega-commit that I've been
working for some days already...
--HG--
extra : convert_revision : 0f466878584d1e6895d2a234f07ea1b2d1e61b3e
xbps from launchpad head branch has gained support for extended
pkg version matching, as specified in:
https://blueprints.launchpad.net/xbps/+spec/improved-version-matching
Now it's required to specify the operator(s) for required versions
in the depends files and "Add_dependency" option in build templates.
xbps-src now requires xbps utils 20091107.
--HG--
extra : convert_revision : fc09fa707483a75e0b6f68445721fc1a9166cdad
Make xbps-base-chroot depend on bash and use it for the chroot
environment. Depending in host's bash wasn't a good idea...
--HG--
extra : convert_revision : dfff2287dec5c3fb64725e601f70fe4a2ab2db98
xbps-src:
* ALWAYS use the static bins, to avoid breakage in the chroot.
* Remove XBPS_FETCH_CMD. Use xbps-fetch (static) now that it's
useful to download all distfiles in xbps-base-system.
* Use busybox in the chroot and create links in /usr/local/bin
at creation time. This helps to remove many packages that
had problems with host/target libs (acl, attr, libarchive, etc).
build templates:
* Add explicit gettext and texinfo build dependencies in all
packages that need them, because they aren't built anymore
by xbps-base-chroot.
* Fixed some packages using build_style=gnu_makefile, that were
broken because pre/post_configure() is not executed for a while,
they should use pre/post_build() instead.
--HG--
extra : convert_revision : 0eaaf4917fd824710d0895e0c984bbc236b0cdf8