Skip to content

Commit

Permalink
Bump version.
Browse files Browse the repository at this point in the history
* Update CHANGELOG.
  • Loading branch information
starcraftman committed Oct 24, 2015
1 parent 13c417f commit d2702b6
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 19 deletions.
14 changes: 12 additions & 2 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
NEXT
0.2.4
- Improve tests with session fixtures and better isolation.
- Add recipes for GNU Tar, GNU gettext & xz utils.
- Run checks on recipe locations before indexing.
- Improve setup.py.
- Improve documentation, add pakit_recipes man page detailing recipe writing.
- Add example recipe that illustrates all features.
- Allow recipe Commands to override environment variables.
- Improve build()/verify(), now execute in more appropriate directories,
allow for pre/post functions.
- Add relink command, remakes all symlinks for installed programs.
- Add basic dependency management.
- Add basic dependency management, Recipes can define 'requires' list of required recipes.
Note, still a work in progress.
- Add Dummy Fetchable for testing & simple recipes.

0.2.3
Expand Down
26 changes: 16 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

## Description

It is a small, python based package manager that builds from source.
It is a small, python based package manager that builds programs from source.

![Pakit Demo](https://github.com/pakit/demo/raw/master/demo.gif)

Expand All @@ -30,15 +30,20 @@ To use pakit:

**Build Environment**

For now, pakit relies on the users build environemnt. I recommend installing:
At this point pakit has two limitations to be aware of:
* Relies on user's build environment.
* Pakit recipes can only depend on things pakit can build, currently limited pool.
User needs to install any dependencies pakit can't build.

To use pakit, you should probably have...
* c++ build environment
* git
* mercurial
* anything a package depends on
* anything a recipe depends on that pakit can't build

For Ubuntu I recommend:
For Ubuntu install these packages:
```bash
sudo apt-get install build-essential automake python-pip git mercurial liblzma-dev libevent-dev ncurses-dev
sudo apt-get install build-essential automake autoreconf python-pip git mercurial liblzma-dev libevent-dev ncurses-dev
```

**Github**
Expand All @@ -47,7 +52,7 @@ Fetch the latest from the source. Works unless the build badge says failing.

```bash
git clone https://github.com/starcraftman/pakit.git
export PATH=$(pwd)/bin:$PATH
export PATH=$(pwd)/pakit/bin:$PATH
sudo -H pip install argparse PyYAML
python pakit/setup.py release
```
Expand All @@ -62,9 +67,10 @@ sudo -H pip install pakit

**PATH**

By default, pakit will install programs under `paths.prefix` and link everything to `paths.link`.
To use the built programs, `paths.link`/bin must be on your $PATH.
So for example, with the default value of `paths.link`, you would need to:
By default, pakit will install programs under `pakit.paths.prefix`
and link everything to `pakit.paths.link`.
To use the built programs, `pakit.paths.link`/bin must be on your $PATH.
So for example, with the default value of `pakit.paths.link`, you would need to:

```bash
export PATH=/tmp/pakit/links/bin:$PATH
Expand Down Expand Up @@ -105,7 +111,7 @@ in the config.

To be clear this is NOT a replacement for system package managers like apt, yast and so on.
It is intended primarily to be a supplementary package manage like homebrew or pip.
You install bleeding edge packages with it and then put onto your PATH the paths.link location.
You install bleeding edge packages with it and then put onto your PATH the `pakit.paths.link` location.
Later on, if I can, I may try to add bootstrapping logic for primitive/embedded areas
or just to isolate against bad dev environments.

Expand Down
2 changes: 1 addition & 1 deletion pakit/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@

__all__ = ['Archive', 'Dummy', 'Git', 'Hg', 'Recipe']

__version__ = '0.2.3'
__version__ = '0.2.4'
2 changes: 0 additions & 2 deletions pakit/recipe.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ class RecipeDecorator(object):
# TODO: Two decorators here, 1) changes dir, 2) looks for pre/post
# should probably separate them
def __init__(self, new_cwd=os.getcwd(), use_tempd=False):
self.instance = None
self.func = None
self.pre_func = None
self.post_func = None
Expand Down Expand Up @@ -146,7 +145,6 @@ def inspect_instance(self, instance, func):
func: The class method this decorator is wrapping up.
"""
self.func = func
self.instance = instance
self.pre_func = getattr(instance, 'pre_' + func.__name__, None)
self.post_func = getattr(instance, 'post_' + func.__name__, None)

Expand Down
6 changes: 3 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@
def get_long_desc():
""" Fetches the latest changelog for pypi """
change_file = os.path.join(os.path.dirname(__file__), 'CHANGELOG')
base_desc = 'Pakit is a package manager that builds from source.\n\
For More Information: https://github.com/starcraftman/pakit/\n'
base_desc = 'Pakit is a package manager that builds programs from source.\
\n\nFor More Information: https://github.com/starcraftman/pakit'
with open(change_file) as fin:
lines = fin.readlines()
return base_desc + '\nChange Log:\n\n' + ''.join(lines)
return base_desc + '\n\nChange Log:\n\n' + ''.join(lines)


def rec_search(wildcard):
Expand Down
1 change: 0 additions & 1 deletion tests/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ def env_teardown():
env_config_teardown()


# TODO: Missing test case in test_common
def env_status():
"""
Print information about the test bed to check tests aren't
Expand Down

0 comments on commit d2702b6

Please sign in to comment.