Skip to content

Commit 5f97433

Browse files
committed
build: store release packages in an in-repo dist/ (tracked)
Packages now live in dist/ inside the repo and are committed, so a tagged release carries its .deb artifact, instead of going to the shared /srv/projects/packages/ folder. Moved the existing ccfe_2.0..2.3 .deb / .buildinfo / .changes into dist/ (the unrelated ctrl-exec artifacts stay in the shared folder). Added a 'make deb' target that runs dpkg-buildpackage, moves the artifacts into dist/, and cleans the regenerated debian/ build tree; packaging/README and the Makefile help updated accordingly. dist/ is not matched by the root-anchored .gitignore rules, so the packages are tracked. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent fada4ed commit 5f97433

18 files changed

Lines changed: 1035 additions & 4 deletions

Makefile

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,18 @@
66
# make tidy reformat the modules and ccfe.pl in place (keeps .bak)
77
# make tidy-check fail if the modules or ccfe.pl are not tidy
88
# make check test + critic + tidy-check (what CI runs)
9+
# make deb build the .deb and store it (with .buildinfo/.changes)
10+
# under dist/, which is tracked in git
911

1012
SRC = src
1113

1214
# Everything held to the perltidy house style: the modules and the main script.
1315
TIDY_FILES = $(SRC)/lib/CCFE/*.pm $(SRC)/ccfe.pl
1416

15-
.PHONY: test critic tidy tidy-check check
17+
# Package version, read from debian/changelog.
18+
VERSION = $(shell dpkg-parsechangelog -SVersion 2>/dev/null)
19+
20+
.PHONY: test critic tidy tidy-check check deb
1621

1722
test:
1823
cd $(SRC) && prove -lr t/
@@ -33,3 +38,15 @@ tidy-check:
3338
exit $$status
3439

3540
check: test critic tidy-check
41+
42+
# Build the binary package (unsigned) and collect the artifacts in dist/.
43+
# dpkg-buildpackage writes to the parent dir; we move them in and then clean
44+
# the regenerated debian/ build tree.
45+
deb:
46+
dpkg-buildpackage -b -us -uc
47+
mkdir -p dist
48+
mv ../ccfe_$(VERSION)_*.deb ../ccfe_$(VERSION)_*.buildinfo \
49+
../ccfe_$(VERSION)_*.changes dist/
50+
rm -rf debian/ccfe debian/.debhelper debian/debhelper-build-stamp \
51+
debian/files debian/*.substvars debian/*.debhelper.log
52+
@echo "Packages in dist/:" && ls dist/ccfe_$(VERSION)_*

dist/README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# dist/ — built release packages
2+
3+
Binary packages built from this source tree, tracked in git so a tagged
4+
release carries its artifact. Produced by `make deb` (which runs
5+
`dpkg-buildpackage` and moves the `.deb` / `.buildinfo` / `.changes` here).
6+
7+
Install a build with, e.g.:
8+
9+
```sh
10+
sudo apt install ./dist/ccfe_2.3_all.deb
11+
```

dist/ccfe_2.0_all.deb

67.1 KB
Binary file not shown.

dist/ccfe_2.0_amd64.buildinfo

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
Format: 1.0
2+
Source: ccfe
3+
Binary: ccfe
4+
Architecture: all
5+
Version: 2.0
6+
Checksums-Md5:
7+
1001086e644a286e7c1141b51467ca44 68684 ccfe_2.0_all.deb
8+
Checksums-Sha1:
9+
a3dd4cc32956ed2e2164508303fbb9a1e3e6e43c 68684 ccfe_2.0_all.deb
10+
Checksums-Sha256:
11+
9c2b7118c7c3a4b8c904af3ea9692eed160356942110345016bc1aef74b13078 68684 ccfe_2.0_all.deb
12+
Build-Origin: Debian
13+
Build-Architecture: amd64
14+
Build-Date: Wed, 10 Jun 2026 09:07:14 +0100
15+
Installed-Build-Depends:
16+
autoconf (= 2.72-3.1),
17+
automake (= 1:1.17-4),
18+
autopoint (= 0.23.1-2),
19+
autotools-dev (= 20240727.1),
20+
base-files (= 13.8+deb13u5),
21+
base-passwd (= 3.6.7),
22+
bash (= 5.2.37-2+b9),
23+
binutils (= 2.44-3),
24+
binutils-common (= 2.44-3),
25+
binutils-x86-64-linux-gnu (= 2.44-3),
26+
bsdextrautils (= 2.41-5),
27+
bsdutils (= 1:2.41-5),
28+
bzip2 (= 1.0.8-6),
29+
coreutils (= 9.7-3),
30+
cpp (= 4:14.2.0-1),
31+
cpp-14 (= 14.2.0-19),
32+
cpp-14-x86-64-linux-gnu (= 14.2.0-19),
33+
cpp-x86-64-linux-gnu (= 4:14.2.0-1),
34+
dash (= 0.5.12-12),
35+
debconf (= 1.5.91),
36+
debhelper (= 13.24.2),
37+
debianutils (= 5.23.2),
38+
dh-autoreconf (= 20),
39+
dh-strip-nondeterminism (= 1.14.1-2),
40+
diffutils (= 1:3.10-4),
41+
dpkg (= 1.22.22),
42+
dpkg-dev (= 1.22.22),
43+
dwz (= 0.15-1+b1),
44+
file (= 1:5.46-5),
45+
findutils (= 4.10.0-3),
46+
gcc (= 4:14.2.0-1),
47+
gcc-14 (= 14.2.0-19),
48+
gcc-14-base (= 14.2.0-19),
49+
gcc-14-x86-64-linux-gnu (= 14.2.0-19),
50+
gcc-x86-64-linux-gnu (= 4:14.2.0-1),
51+
gettext (= 0.23.1-2),
52+
gettext-base (= 0.23.1-2),
53+
grep (= 3.11-4),
54+
groff-base (= 1.23.0-9),
55+
gzip (= 1.13-1),
56+
hostname (= 3.25),
57+
init-system-helpers (= 1.69~deb13u1),
58+
intltool-debian (= 0.35.0+20060710.6),
59+
libacl1 (= 2.3.2-2+b1),
60+
libarchive-zip-perl (= 1.68-1),
61+
libasan8 (= 14.2.0-19),
62+
libatomic1 (= 14.2.0-19),
63+
libattr1 (= 1:2.5.2-3),
64+
libaudit-common (= 1:4.0.2-2),
65+
libaudit1 (= 1:4.0.2-2+b2),
66+
libbinutils (= 2.44-3),
67+
libblkid1 (= 2.41-5),
68+
libbz2-1.0 (= 1.0.8-6),
69+
libc-bin (= 2.41-12+deb13u3),
70+
libc-dev-bin (= 2.41-12+deb13u3),
71+
libc6 (= 2.41-12+deb13u3),
72+
libc6-dev (= 2.41-12+deb13u3),
73+
libcap-ng0 (= 0.8.5-4+b1),
74+
libcap2 (= 1:2.75-10+deb13u1+b1),
75+
libcc1-0 (= 14.2.0-19),
76+
libcrypt-dev (= 1:4.4.38-1),
77+
libcrypt1 (= 1:4.4.38-1),
78+
libctf-nobfd0 (= 2.44-3),
79+
libctf0 (= 2.44-3),
80+
libcurses-perl (= 1.45-1+b1),
81+
libdb5.3t64 (= 5.3.28+dfsg2-9),
82+
libdebconfclient0 (= 0.280),
83+
libdebhelper-perl (= 13.24.2),
84+
libdpkg-perl (= 1.22.22),
85+
libelf1t64 (= 0.192-4),
86+
libfile-stripnondeterminism-perl (= 1.14.1-2),
87+
libgcc-14-dev (= 14.2.0-19),
88+
libgcc-s1 (= 14.2.0-19),
89+
libgdbm-compat4t64 (= 1.24-2),
90+
libgdbm6t64 (= 1.24-2),
91+
libgmp10 (= 2:6.3.0+dfsg-3),
92+
libgomp1 (= 14.2.0-19),
93+
libgprofng0 (= 2.44-3),
94+
libhwasan0 (= 14.2.0-19),
95+
libisl23 (= 0.27-1),
96+
libitm1 (= 14.2.0-19),
97+
libjansson4 (= 2.14-2+b3),
98+
liblastlog2-2 (= 2.41-5),
99+
liblsan0 (= 14.2.0-19),
100+
liblzma5 (= 5.8.1-1),
101+
libmagic-mgc (= 1:5.46-5),
102+
libmagic1t64 (= 1:5.46-5),
103+
libmd0 (= 1.1.0-2+b1),
104+
libmount1 (= 2.41-5),
105+
libmpc3 (= 1.3.1-1+b3),
106+
libmpfr6 (= 4.2.2-1),
107+
libncursesw6 (= 6.5+20250216-2),
108+
libpam-modules (= 1.7.0-5),
109+
libpam-modules-bin (= 1.7.0-5),
110+
libpam-runtime (= 1.7.0-5),
111+
libpam0g (= 1.7.0-5),
112+
libpcre2-8-0 (= 10.46-1~deb13u1),
113+
libperl5.40 (= 5.40.1-6),
114+
libpipeline1 (= 1.5.8-1),
115+
libquadmath0 (= 14.2.0-19),
116+
libseccomp2 (= 2.6.0-2),
117+
libselinux1 (= 3.8.1-1),
118+
libsframe1 (= 2.44-3),
119+
libsmartcols1 (= 2.41-5),
120+
libsqlite3-0 (= 3.46.1-7+deb13u1),
121+
libssl3t64 (= 3.5.6-1~deb13u1),
122+
libstdc++6 (= 14.2.0-19),
123+
libsystemd0 (= 257.13-1~deb13u1),
124+
libtinfo6 (= 6.5+20250216-2),
125+
libtool (= 2.5.4-4),
126+
libtsan2 (= 14.2.0-19),
127+
libubsan1 (= 14.2.0-19),
128+
libuchardet0 (= 0.0.8-1+b2),
129+
libudev1 (= 257.13-1~deb13u1),
130+
libunistring5 (= 1.3-2),
131+
libuuid1 (= 2.41-5),
132+
libxml2 (= 2.12.7+dfsg+really2.9.14-2.1+deb13u2),
133+
libzstd1 (= 1.5.7+dfsg-1),
134+
linux-libc-dev (= 6.12.90-2),
135+
m4 (= 1.4.19-8),
136+
make (= 4.4.1-2),
137+
man-db (= 2.13.1-1),
138+
mawk (= 1.3.4.20250131-1),
139+
ncurses-base (= 6.5+20250216-2),
140+
ncurses-bin (= 6.5+20250216-2),
141+
openssl-provider-legacy (= 3.5.6-1~deb13u1),
142+
patch (= 2.8-2),
143+
perl (= 5.40.1-6),
144+
perl-base (= 5.40.1-6),
145+
perl-modules-5.40 (= 5.40.1-6),
146+
po-debconf (= 1.0.21+nmu1),
147+
rpcsvc-proto (= 1.4.3-1),
148+
sed (= 4.9-2+deb13u1),
149+
sensible-utils (= 0.0.25),
150+
sysvinit-utils (= 3.14-4),
151+
tar (= 1.35+dfsg-3.1),
152+
util-linux (= 2.41-5),
153+
xz-utils (= 5.8.1-1),
154+
zlib1g (= 1:1.3.dfsg+really1.3.1-1+b1)
155+
Environment:
156+
DEB_BUILD_OPTIONS="parallel=6"
157+
LANG="en_GB.UTF-8"
158+
SOURCE_DATE_EPOCH="1781049600"

dist/ccfe_2.0_amd64.changes

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
Format: 1.8
2+
Date: Tue, 10 Jun 2026 00:00:00 +0000
3+
Source: ccfe
4+
Binary: ccfe
5+
Architecture: all
6+
Version: 2.0
7+
Distribution: unstable
8+
Urgency: medium
9+
Maintainer: CCFE maintainers <ccfedevel@gmail.com>
10+
Changed-By: CCFE maintainers <ccfedevel@gmail.com>
11+
Description:
12+
ccfe - Curses Command Front-end
13+
Changes:
14+
ccfe (2.0) unstable; urgency=medium
15+
.
16+
* CCFE 2.0.
17+
* Reorganised install layout: menus/forms under share/ccfe/objects, themes
18+
under share/ccfe/themes; per-user files follow the XDG base directories.
19+
* Paths resolved at runtime from the program location (relocatable; no
20+
install-time templating).
21+
* Restricted mode and command-execution hardening.
22+
* Optional colour, including menu/header/control-key theming and the classic
23+
and colour SMIT themes.
24+
* "ccfe -k NAME" parse-check linter.
25+
Checksums-Sha1:
26+
a3dd4cc32956ed2e2164508303fbb9a1e3e6e43c 68684 ccfe_2.0_all.deb
27+
09a1bd20caa82ccbd665cde246f7f499247d5243 4376 ccfe_2.0_amd64.buildinfo
28+
Checksums-Sha256:
29+
9c2b7118c7c3a4b8c904af3ea9692eed160356942110345016bc1aef74b13078 68684 ccfe_2.0_all.deb
30+
f306db00b1ee55a82356b829227429da0e1e305bf767db12c05aa4a8da6b0e89 4376 ccfe_2.0_amd64.buildinfo
31+
Files:
32+
1001086e644a286e7c1141b51467ca44 68684 admin optional ccfe_2.0_all.deb
33+
2a7f9e2448a3e9f6bd85670815bb67c1 4376 admin optional ccfe_2.0_amd64.buildinfo

dist/ccfe_2.1.1_all.deb

83.8 KB
Binary file not shown.

0 commit comments

Comments
 (0)