Skip to content

Commit 3967df7

Browse files
committed
the long quest for version 3.0
1 parent 4675683 commit 3967df7

File tree

4 files changed

+285
-82
lines changed

4 files changed

+285
-82
lines changed

CHANGELOG.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
July 28, 2024:
2+
- Fixed updating with rebase
3+
- I forgot to add a space when appending the rebase
4+
option to `git pull` :sob:
5+
- Plus forgot the `$` prefix for the rebase flag
6+
7+
July 23, 2024:
8+
- More cleanup in the code
9+
- I barely test the `add` command :sob: so I
10+
fixed some formatting stuff.
11+
12+
July 21, 2024:
13+
- Some cleanup on the code
14+
- Just placing some comments better and also
15+
formatting some stuff better. More consistent
16+
casing for variables and stuff.
17+
18+
July 20, 2024:
19+
- Some more significant changes!!
20+
- Now `fpkg` doesn't pull with `rebase` every
21+
single time, instead it asks you if your
22+
package actually needs it.
23+
That also means you got to update your
24+
pkg.list this time! But it's not a big deal,
25+
you just append "REBASE=YES|NO" to every line
26+
:)
27+
- Fixed an error display I didn't even test
28+
beforehand
29+
- The "ERROR: <pkg> does not exist!" message.
30+
It had a shitty formatting.
31+
- Better handling of interactive installations
32+
- Because the keystrokes are hidden when `fpkg`
33+
is invoked, interactive installation
34+
processes get a bit weird. So now keystrokes
35+
are visible when a package requires
36+
interaction with the user.
37+
- `fpkg` won't register a package that's already
38+
registered.
39+
- It's just weird that I've only thought of this
40+
now...
41+
- CHANGELOG becomes CHANGELOG.md!!
42+
- Not sure why GitHub doesn't apply the
43+
markdown formatting when the file isn't saved
44+
with the .md extension...
45+
- TODO becomes TODO.md!!
46+
- And speaking of that, I also removed all the
47+
stuff that it had before and now I'm gonna
48+
focus on more feasible goals.
49+
50+
June 24-25, 2024:
51+
- For now, I've made rather visual upgrades:
52+
- Better format for `git log`
53+
- Man was that thing from previously ugly loll
54+
Well, now `git log` actually has a *pretty*
55+
output :)
56+
- Colored $PS1 for fpkg's shell
57+
58+
May 29-30, 2024:
59+
- Version 3.0.0 is coming! For now, this is what I
60+
got for it:
61+
- Logging support implemented!
62+
- It's a rather sketchy one, but hey, it works
63+
- Better handling of `git log`
64+
- Only now I discovered about `--no-pager`.
65+
I feel stupid right now. I could have done a
66+
better research on that before.
67+
- You can now update individual packages instead
68+
of having to refresh all of them at once
69+
- You don't need those checks at the beginning of
70+
your ii's, I figured a better way of handling
71+
that
72+
- I should have thought of that before... oh
73+
well, I learn something new every time I
74+
revisit my code
75+
- Commented the code a bit better
76+
- Two items might get removed from the TODO list.
77+
I'm still a n00b, I shouldn't have thought of
78+
doing some of the stuff from there...
79+
80+
May 17, 2024:
81+
- Version 2.1.1 is out!
82+
- Finally using that last number for something...
83+
- Just an improvement on the formatting at the
84+
'add' section of the code
85+
- fpkg itself now already goes to the package's
86+
directory, the 'cd' on the .ii's is now not
87+
required! Change your .ii's accordingly!
88+
- Still have to figure out how to do the stuff I
89+
put on the TODO list...
90+
91+
April 28, 2024:
92+
- Version 2.1.0 is out!
93+
- The package manager is stupid, and that's because I am
94+
stupid.
95+
- Fixed the 'add' command: it checks the argument
96+
better now, and can add the package properly.
97+
See the diff :)
98+
- Added command 'remove': now fpkg is able to uninstall
99+
packages too! Update your .ii's accordingly now!
100+
- Improved 'goto'
101+
- fpkg will now use a new .bashrc for its shell. Add
102+
the new .bashrc to $FPKGDIR!
103+
- Added a TODO file
104+
- So that I can write down stuff I could implement one
105+
day
106+
107+
March 25 - April 8, 2024:
108+
- Version 2.0.0 is out already!
109+
- Improved error handling some more
110+
- Changed 'add' and 'delete' actions to take the package
111+
name as an argument
112+
- Added 'edit':
113+
- You can now edit a package's .ii using your editor
114+
(defined in $EDITOR)
115+
- Should I make it able to edit the package name and
116+
directory as well?
117+
- Added some functions in the code so that it doesn't get
118+
redundant
119+
- Fixed a silly typo
120+
- Figure out what it was and get a cake :)
121+
- Added 'peek': you can now just look at a package's .ii
122+
- Added 'goto': you can now change to a package's
123+
directory for a moment instead of typing its whole path
124+
- fpkg can now update git repos with submodules properly!
125+
- Not sure if my implementation of it is crap though...
126+
- Changed how 'install' works
127+
- The first line of the .ii's now start with
128+
'cd <pkg>/' instead of 'cd ../<pkg>/', change your
129+
.ii's accordingly!
130+
131+
March 19, 2024:
132+
- Added a versioning scheme, first release
133+
- major.minor.revision -> 1.0.0
134+
- major: +1 when the entire program is changed
135+
- minor: +1 when fixing something or adding a feature
136+
- revision: +1 for anything else that doesn't affect
137+
the program that much
138+
- Commented the code a bit better
139+
- Updated 'help'
140+
- Removed a redundancy on the code, see diff for 'delete'
141+
- Created this changelog thing

README.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ This name stands for **f**oreign **p**ac**k**a**g**e!
44

55
### And what is a "foreign package"?
66

7-
That is how I call packages not available on the repositories of an user. It can be from any source but those, although this script currently supports git-based sources only.
7+
That is how I call packages not available in the default distro repositories of a user. It can be from any source but those, although the script currently supports git-based sources only.
88

99
### How does it work?
1010

1111
`fpkg` needs 2 files in order to run: the text file `pkg.list` and the directory `ii/`.
1212

1313
`pkg.list` contains a newline-separated list of all packages, and you currently have to register them manually. You can easily do this by running `fpkg add`.
1414

15-
This list is currently being used solely for `fpkg` to know which packages it has to update. The update happens by simply issuing a `git pull` inside the selected directory.
15+
The list contains the packages to check for update and also a key to check if the package needs to be `pull`ed with `--rebase` or not. A kinda crap way of implementing it, but hey, it works! I'll try improving it in the future.
1616

17-
`ii/` contains little scripts written manually (with a template provided) for installing and uninstalling packages. Since not every package uses the same steps for building, that was the solution I came up with. `fpkg add` already redirects you to write those steps using your favorite text editor, though!
17+
The `ii` directory contains little scripts written manually (with a template provided of course) for installing and uninstalling packages. Since not every package uses the same steps for building, that was the solution I came up with. `fpkg add` already redirects you to write those steps using your favorite text editor, though!
1818

1919
### Requirements
2020

@@ -30,25 +30,26 @@ Nothing much, that 2nd item should be installed on every Linux system lol
3030

3131
### Basic setup
3232

33-
Just put the script somewhere in your `$PATH`, I use `/usr/local/bin/` on mine for example.
33+
1. Just put the script somewhere in your `$PATH`, I use `/usr/local/bin/` on mine for example.
3434

35-
As for the directory containing all packages, you just change `$FPKGDIR` to whatever you want, and if the directory doesn't exist, `fpkg` will make it for you!
35+
2. As for the directory containing all packages, you just change `$FPKG_DIR` to whatever directory you want, and if doesn't already exist, `fpkg` will make it for you!
3636

37-
And for the text editor, it's also as simple. Change `$EDITOR` to your favorite text editor.
37+
3. And for the text editor, it's also as simple. Change `$EDITOR` to your favorite text editor.
3838

39-
Then, run `fpkg add` to register and write the .ii's for all the packages you have on your $FPKGDIR.
39+
4. Then, run `fpkg add` to register and write the .ii's for all the packages you have on your $FPKGDIR.
4040

41-
And then, you can run `fpkg update` just to check if everything is working and if your stuff is up to date of course.
41+
5. And then, you can run `fpkg update` just to check if everything is working and if your stuff is up to date of course.
4242

43-
That's it, you're good to go! And don't forget to run `fpkg help` to get some extra stuff too!
43+
6. That's it, you're good to go! And don't forget to run `fpkg help` to get some extra stuff too!
4444

4545
### Logging
4646

4747
This is used to track down the build process of a package, so that if something goes wrong, the user can just open the log file and find out.
4848

4949
On `fpkg`, logging works as follows:
5050

51-
- Two variables, $FPKG_LOG and $LOG_FMT are commented out. They respectively correspond to the location of the log file and the format of the timestamp on the log file.
51+
- Two variables, `$FPKG_LOG` and `$LOG_FMT` are commented out. They respectively correspond to the location of the log file and the format of the timestamp on
52+
the log file.
5253
- Those variables are commented out by default, disabling the logging feature. To enable it, just uncomment them.
5354

5455
I'm not sure if I keep it this way, it was the best I could think of.

TODO.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Stuff I'm thinking of implementing one day:
2+
3+
- A more sophisticated format for each
4+
packages' needs.
5+
- A lot of repositories can only be
6+
updated with rebase, while other don't,
7+
so I have to think of how to handle
8+
that in a less messy way.
9+
10+
- A helper script for installing?
11+
- I've been considering it for a while,
12+
I think it might be a better way of
13+
new users to start off.
14+
15+
- That's it for now :)

0 commit comments

Comments
 (0)