-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtodopkgmaker.txt
93 lines (76 loc) · 4.32 KB
/
todopkgmaker.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
TO-DO pkgMaker
---------------
* Still have to do error-handling for the infoGetter.
* Still have to do error-handling overall.
+ What happens when the user decides to run the pkgMaker.sh script somewhere else (nowhere near the helpers folder)?
+ What happens when the user mucks up the directories and scatters them all around?
+ What happens when a file does not exist?
* Still have to add the two loops for scripts. (lib -> distro).
+ Scripts to do it for:
- versChecker.sh (COMPLETE)
- dirMaker.sh (COMPLETE)
- copyer.sh (three; lib -> distro -> $lib-$newVersNum) (COMPLETE).
- debHandler.sh (COMPLETE).
+ The distro loop in dirMaker.sh will create the distro specific directories (lib/distroName).
- Those contain the package directories.
- You will have to update the paths in each file that goes into ~/pkgMaker/packages.
* Still have to make a cleanup script that deletes all of the old text files.
+ It will delete masterDir.txt after completion.
* Still need current version number files for each library.
* TSGL, GLFW
* Still have to make docs explaining where things should go.
* Users *MUST* have the library source code files in a directory inside of a 'workspace' directory.
* The library directory name *MUST* match the name in the libs.txt file.
* Still have to make debian file templates
* debianFiles/ , changelog, control, copyright, ...
* Figure out a way to "futureproof" the creation of those things. (In the event that a new dependency is added to TSGL and a new library package has to be made.)
* SOLVED: Create default templates for the "necessary" files:
+ changelog
+ control
+ copyright
+ compat
+ rules
+ source/format
+ preinst, postinst
+ OR...Just copy over the debian folder to the tsgl and GLFW new distro folder and have the user edit them.
+ Tell user to use dch -i to edit the changelog file after they are finished!
* Things to keep in mind:
+ Distro-specific version updates (if the user updates the code that takes advantage of something that Xenial has and Trusty doesn't, for example).
+ Any change made to the source code must be reflected in the packages for ALL distros (except in the case above).
+ If you only have to change stuff inside of the debian folder, you DO NOT need pkgManager. You simply have to make your changes, update the deb number,
and re-upload.
--------------------------
| Possible optimizations |
--------------------------
* Replace loops with recursion.
* Use functions instead of files.
------------------
| Finished items |
------------------
* Added a check for the version number.
+ When it is 1.0 and the user makes a bug fix, 1.0 -> 1.0.1.
+ FIXED.
+ I checked in the infoGetter.sh and versChecker.sh scripts using regular expressions.
* Changed naming from "*FirstTime.txt" to "*FirstUse.txt" (and references to it in versChecker.sh).
* Modified dirMaker.sh.
+ What happens when the user just runs the pkgMaker.sh script without having the tsgl and glfw folders made? (Clean workspace problem).
- That will mess up the version getting stage and directory maker stage.
- The old version number will be the new version number at that point.
- I could have a $libOldVersion.txt file, which contains the old version number.
- That could be in a special directory that the version getter checks...
- if oldVersion.txt exists, then we must not have a clean workspace. The directory MUST exist.
* Have a check that makes sure (and scolds the user if they don't have it).
* If the user put the oldVersion.txt file while having a clean workspace,
the check will catch that, clean up (remove the oldVersion.txt file), and scold the user.
- dirMaker.sh will check imp/ to see if packages have been made. versChecker.sh will put a file that tells dirMaker.sh whether or not that is the case.
+ FIXED.
+ Uploaded the packages/ directory to GitHub. I guess GitHub will ignore empty directories...
* Added the two loops for scripts. (lib -> distro).
+ Scripts to do it for:
- versChecker.sh (COMPLETE)
- dirMaker.sh (COMPLETE)
- copyer.sh (three; lib -> distro -> $lib-$newVersNum) (COMPLETE).
- debHandler.sh (COMPLETE).
+ The distro loop in dirMaker.sh will create the distro specific directories (lib/distroName).
- Those contain the package directories.
- You will have to update the paths in each file that goes into ~/pkgMaker/packages.