Commit Graph

182 Commits

Author SHA1 Message Date
Colin Walters
f35f5cf468 core: Initial implementation of %posttrans using bwrap+rofiles-fuse
In order to make many things work, we need to run scripts.  Short version:
For now, we:

 - Run `%posttrans`
 - Treat most `%post` as the same as `%posttrans`
 - Ignore `%preun` and such since we never uninstall

Most importantly though, we start to build up an "override" list
for script handling.  Currently it's just a blacklist of scripts
we don't need.

Significant work here would be needed to run Lua scripts, so far I've
been able to just skip them.

Closes: #338
Approved by: jlebon
2016-06-24 16:08:08 +00:00
Colin Walters
24ec30180c Release 2016.3 2016-05-20 08:54:05 -04:00
Colin Walters
8dc292a62a Release 2016.2 2016-05-19 10:20:11 -04:00
Colin Walters
168e12d32f Release 2016.1 2016-03-28 10:58:46 -04:00
Colin Walters
9f3f1ad06a build: Work without gtk-doc installed
This follows the pattern used by e.g. glib.  If people (commonly
embedded systems) don't want docs, we should support that.

Pull request: #235
Approved by: jlebon
2016-03-15 19:34:19 +00:00
Colin Walters
e66333393e Move gtk-doc into api-doc
Since that's all it is now, we use mkdocs for the manual.
2016-03-09 11:20:06 -05:00
Colin Walters
f14d1a3536 build: Port to master libhif
This is a work-in-progress port against the libhif master + some
outstanding PRs.
2016-02-22 14:27:46 -05:00
Colin Walters
b716959252 Major revamp/extension of libhif/unpacker code
This is in preparation for `rpm-ostree container`, which handles
unpacking RPMs as non-root.

At the moment, I'm copying code in from both ostree's libarchive bits
(fixable...may need to export some utility functions) and some
functions from libhif (harder, see:
http://lists.rpm.org/pipermail/rpm-ecosystem/2016-January/000297.html )

There's lots more cleanup to do here, but I don't want to block on the
resolution of the libhif changes.
2016-02-22 14:27:45 -05:00
Colin Walters
04164fc025 build: Add libarchive to pkg-config deps
For some reason my CD builder didn't trigger this, but we do actually
need `-larchive` (and we want to have the dependency metadata so
packagers know to BuildDepends on it).
2016-01-12 11:22:16 -05:00
Colin Walters
538a9decbe Release 2015.11 2015-12-15 09:37:47 -05:00
Colin Walters
8d357565b6 Release 2015.10 2015-11-21 10:07:53 -05:00
Jonathan Lebon
367229892f automake: squash warnings re. subdir-objects
During autoreconf, automake would emit many warnings regarding the
option 'subdir-objects' being disabled. We squash those warnings by
enabling the option.

We also fix Makefile.am so that it includes the patched libglnx Makefile
rather than the original one, which would cause libglnx output to be
placed in the literal dir './$(libglnx_srcpath)'.
2015-09-11 10:30:09 -04:00
petervo
c0d15a66ad daemon: Start of work on daemon 2015-09-09 22:00:04 -04:00
Colin Walters
8d2787640a Release 2015.9 2015-08-26 12:21:43 -04:00
Matthew Barnes
fb7e491dfe Bump GIO requirement to 2.40 to match ostree 2015-08-14 12:22:45 -04:00
Colin Walters
e512bff919 Release 2015.7 2015-07-15 08:01:35 -04:00
Colin Walters
e90c579023 Release 2015.6 2015-06-09 10:02:10 -04:00
Colin Walters
370c5e5b63 compose: Make use of hif_source_set_required()
We noticed that tree composes failed with a missing `atomic` package,
when really what happend is Fedora 22 was released and the repo
metadata moved from `development/` to `released/`.

See https://github.com/hughsie/libhif/pull/47
2015-05-26 10:43:33 -04:00
Colin Walters
95fc6eb395 Release 2015.5 2015-05-11 16:05:51 -04:00
Colin Walters
de47c23450 doc: Add gtk-doc for new library 2015-04-13 14:39:06 -04:00
Colin Walters
8a5730525e Add a public shared library, with "rpm -qa" for commit functionality
This will help build release engineering and other types of tools;
for example, rather than parsing the output of `db diff`, one
should be able to call an API.

Initially, this adds the generic infrastructure for a public shared
library, with a new function call to do the equivalent of `rpm -qa` on
a particular OSTree commit.

Closes: https://github.com/projectatomic/rpm-ostree/issues/117
Closes: https://github.com/projectatomic/rpm-ostree/pull/124
2015-04-13 14:39:06 -04:00
Colin Walters
e1c54341bc Release 2015.4 2015-04-10 16:51:25 -04:00
Colin Walters
e79c73de20 build: Remove last vestiges of hawkey/libsolv compat
We can assume the versions we care about have propagated everywhere
that supports the libhif version we support.
2015-03-20 14:55:32 -04:00
Colin Walters
ddf2227ae9 compose: Optionally make use of rpmsqSetInterruptSafety
See http://lists.rpm.org/pipermail/rpm-maint/2015-February/003863.html
2015-03-19 22:25:04 -04:00
Giuseppe Scrivano
38d34e757a configure.ac: improve detection of hy_sack_create ABI change
Fedora 21 seems to use the old ABI with the version 0.5.3.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-03-06 14:30:02 +01:00
Colin Walters
5268cdf776 treepkgdiff: Adapt to Hawkey 0.5.3 API break
We will work on both old and new versions.

See 8ce3ce754f
2015-02-05 09:21:07 -05:00
Colin Walters
aa285329c7 build: Require 0.2.0 libhif, drop hawkey/libsolv build option
We hard depend on 0.2.0 (which is current git master).
2015-02-02 16:44:06 -05:00
Colin Walters
2263bb35f6 [libhif] compose: Initial port to libhif instead of yum
There are a lot of advantages to this.  See the linked issue
for more details, but briefly:

 - Lays the groundwork for package layering
 - Better caching (exit compose after depsolve if no changes)
 - Better error handling
 - Potential for unprivileged package downloads
 - Potential to better containerize installs

TODO:
 - langs handling
 - progress output

Closes: https://github.com/projectatomic/rpm-ostree/issues/53
2015-02-02 16:39:25 -05:00
Matthew Barnes
0c39e7195e configure.ac: Fix help for --enable-patched-hawkey-and-libsolv
Make the help string agree with the actual option name.
2015-02-02 16:33:20 -05:00
Colin Walters
e066834e72 Release 2015.3 2015-01-23 17:14:12 -05:00
Colin Walters
7858872d23 Release 2015.2 2015-01-08 13:14:57 -05:00
Colin Walters
019a0fef25 Release 2015.1 2015-01-08 13:11:36 -05:00
Colin Walters
9dc798bbcf Require ostree/libgsystem v2015.1
For the new console progress and xattr apis.
2015-01-08 13:11:36 -05:00
Colin Walters
4875b1e8f9 compose: Use *at() relative lookups for xattrs
This matches recent work in OSTree to use *at() - it's faster and less
prone to error.  In the case of directories which are mutable by
processes in different security domains, it's more secure too.  (That's
not the case here though).
2015-01-05 08:02:07 -05:00
Colin Walters
fee9f48409 tests: Enable glib-tap.mk
These files were taken from json-glib, around the era of this commit:

https://git.gnome.org/browse/json-glib/tree/build/autotools?id=2779d537492f1902d71cf648631238110b62b311

Unfortunately, this involved hacking it up a bit:
 - I couldn't easily use `nobase` for the data, so I deleted that.
   Test data goes in the installed-tests dir.
 - Delete duplicated predeclared variables; we're using nonrecursive
   make.
 - Ensure we run each test in its own tmpdir
2014-12-19 10:47:55 -05:00
Matthew Barnes
7b36814441 Use ostree_repo_pull_default_console_progress_changed()
Remove redundant function _rpmostree_pull_progress().

Bumped ostree requirement to 2014.13, but this isn't quite right because
we actually need (unreleased) 2014.14.  Post-release version bumps would
be useful here.
2014-12-18 21:37:22 -05:00
Colin Walters
979e88432a Release 2014.114 2014-12-05 12:00:27 -05:00
Kenjiro Nakayama
c62ad4d691 Show capability list with --version option 2014-11-26 14:09:15 -05:00
Colin Walters
3ffbaf3031 Release 2014.113 2014-11-25 13:35:44 -05:00
Colin Walters
874c9f9620 Release 2014.112 2014-11-23 21:51:03 -05:00
Colin Walters
c7fc352ce6 Release 2014.111 2014-11-17 16:22:50 -05:00
Colin Walters
f98b0aff0b Release 2014.110 2014-11-14 17:51:06 -05:00
Colin Walters
4c405bf62f compose: Protect the system during treecompose using container APIs
I was looking again at using hawkey/librepo, and realized just how
much I'd have to fight all of these libraries to avoid affecting
the running system.

What we really want to do with librepo/hawkey is run them effectively
unprivileged, and to hide the system's RPM database from them.  This
is a baby step towards that, by confining our existing yum.

- /usr, /etc, and /var/lib/rpm are mounted read-only
- yum is now run under CLONE_NEWPID, to avoid stray %post scripts
  affecting system processes
2014-11-10 12:13:44 -05:00
Colin Walters
9f60549896 Release 2014.109 2014-10-28 16:38:26 -04:00
Colin Walters
3c26cbc17f Release 2014.108 2014-10-16 19:13:06 -04:00
Colin Walters
a717c59814 Release 2014.107 2014-10-03 20:18:17 -04:00
Colin Walters
8dab8d551c rebase: Make use of new upgrader API to ignore unconfigured state
"atomic rebase" is mostly a copy of "ostree admin switch", so let's
also pick up the changes in ostree admin switch for the new
unconfigured state flag.

This allows a user to "atomic rebase" on an unconfigured system.

Related: #31
2014-10-03 20:02:24 -04:00
Colin Walters
a32ac06ce9 Import some basic testing infrastructure from OSTree
This is using the
https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests model.

In order to run the tests, you will need to:
./configure --enable-installed-tests

Then:
gnome-desktop-testing-runner -p 0 rpm-ostree/
2014-09-29 16:25:36 -04:00
Colin Walters
0f16e2e252 Add --disable-compose-tooling build option
Some downstreams want the ability to separate the compose tooling from
the client, for e.g. support reasons.

This approach supports generating a tarball without the source for the
compose command, and requires specifying a config option to disable
it.
2014-09-16 21:45:30 -04:00
Colin Walters
a18bf1ac9f Bump OSTree requirement for new pull API 2014-09-08 17:27:15 -04:00
Colin Walters
67d8c95280 Release 2014.106 2014-09-08 16:48:20 -04:00
Colin Walters
1a8213b97b Release 2014.105 2014-09-08 16:41:28 -04:00
Colin Walters
932dbdfa67 Release 2014.104 2014-07-13 17:32:39 -04:00
Colin Walters
fd045ca511 Release 2014.103 2014-06-22 18:10:49 -04:00
Colin Walters
903ac827c2 Release 2014.102 2014-06-13 12:39:23 -04:00
Colin Walters
406b7207ca Release 2014.101 2014-06-05 08:59:06 -04:00
Colin Walters
9a73843908 New release; major version bump
This release splits off the old -autobuilder code into a new -toolbox
module, among other things.
2014-05-23 10:35:16 -04:00
Colin Walters
cc8e5ef97c build: Add --enable-usrbinatomic
The name "rpm-ostree" kind of sucks; see:
https://lists.projectatomic.io/projectatomic-archives/atomic/2014-April/msg00003.html

But we can't make a hard transition easily, so let's add a build-time
option to create an optional link for operating systems which want
this.
2014-05-21 08:21:36 -04:00
Colin Walters
2d5ed249e0 Release 2014.8 2014-04-13 12:14:09 -07:00
Colin Walters
1345e118cb configure: Require ostree 2014.4 2014-04-13 11:00:35 -07:00
Colin Walters
931eb098a9 Release 2014.7 2014-03-31 16:33:22 -04:00
Colin Walters
0a88e292f2 Put hawkey stuff behind --enable-patched-hawkey-and-libsolv
Right now we depend on two patches.
2014-03-28 22:04:53 -04:00
Colin Walters
57f8bfb63f upgrade: Print out a summary of the package delta
This requires us to link to hawkey.
2014-03-28 17:34:08 -04:00
Colin Walters
555cf565f1 Bump dependency on OSTree 2014-03-22 10:24:12 -04:00
Colin Walters
e42ee12da4 Release 2014.6 2014-03-22 09:54:34 -04:00
Colin Walters
25ec4e6f9e Revert accidentally committed bits. 2014-03-11 18:45:45 -04:00
Colin Walters
7057a33859 libqa: Also update default fstab 2014-03-11 18:37:25 -04:00
Colin Walters
848fdcb350 Release 2014.5 2014-03-02 13:57:21 -05:00
Colin Walters
0641d38fc3 build: Require ostree 2014.2 2014-03-02 10:33:33 -05:00
Colin Walters
39a7c458ef Major update to SELinux handling
We use the new unified OSTree API (OstreeSePolicy) to perform
labeling, rather than having our own here.

Also create a new rpm-ostree-relabeling-helper that is run to label
any leftover files such as /etc/fstab that we create offline, and also
to relabel the entire disk.
2014-02-20 07:59:09 -05:00
Colin Walters
a3a65fd7b5 Switch to taking JSON as input, generate "treefile" from products.json
This is somewhat similar to what we've been doing with Continuous; we
take the manifest.json, and turn it into a "snapshot".  Except here
there is a notion of inheritance.

This gets stored into the tree as /usr/share/rpm-ostree/treefile.json.

Additionally, it goes into the autobuilder directory in
products-built.json.  Though really we should split up that file,
since it will be kind of...large.
2014-02-12 18:28:42 -05:00
Colin Walters
38b995b94e Use the now external libgsystem
https://git.gnome.org/browse/libgsystem/commit/?id=9363cfc28ede912e2f06d4ccb42a646bb8a4bd2e
2014-02-07 17:29:40 -05:00
Colin Walters
836a9d1264 Release 2014.4 2014-02-04 02:40:46 -05:00
Colin Walters
8543a6108d Support SELinux
This commit labels all of the files on the server side, if a policy is
installed.
2014-01-31 10:13:18 -05:00
Colin Walters
05872052b1 Rewrite core utilities in C
There are two major reasons:
1) I want to do things like process SELinux labels here, and that
   type of thing is best done in C.
2) There are presently 3 languages in this code, and this takes us
   down to just two.
2014-01-25 09:19:18 -05:00
Colin Walters
7ebacce570 Release 2014.3 2014-01-20 12:44:02 -05:00
Colin Walters
ba45b871c3 Release 2014.2 2014-01-17 23:30:48 -05:00
Colin Walters
bf7098d3da Release 2014.1 2014-01-15 19:44:59 -05:00
Colin Walters
220773f213 Import some code for using GJS
This is forked from gnome-continuous.
2014-01-03 17:14:10 -05:00
Colin Walters
ac6a1b8482 build-sys: Fix project name 2013-12-22 10:58:11 -05:00
Colin Walters
8ecc47ac87 Various fixes to finish import from pkgsys-ostree 2013-12-21 22:15:57 -05:00
Colin Walters
958dfa435e Initial import from pkgsys-ostree 2013-12-21 19:41:30 -05:00