Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
A
asdf
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Hugo Ishimaru
asdf
Commits
8315d238
Commit
8315d238
authored
9 years ago
by
Francois-Rene Rideau
Browse files
Options
Downloads
Patches
Plain Diff
tools: improve git support and debian packaging.
parent
8772c1a3
No related branches found
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
Makefile
+2
-3
2 additions, 3 deletions
Makefile
tools/git.lisp
+26
-1
26 additions, 1 deletion
tools/git.lisp
tools/main.lisp
+1
-0
1 addition, 0 deletions
tools/main.lisp
tools/release.lisp
+33
-20
33 additions, 20 deletions
tools/release.lisp
with
62 additions
and
24 deletions
Makefile
+
2
−
3
View file @
8315d238
...
...
@@ -59,8 +59,7 @@ build_asdf build/asdf.lisp: force
# The text below was automaticaly generated by `make --silent makefile-targets`
# then manually inserted here to provide for completion:
.PHONY
:
archive build-asdf bump bump-version check-all-results check-all-scripts-results check-all-upgrade-results clean debian-package doc extract extract-all-tagged-asdf extract-tagged-asdf fix-local-git-tags fix-remote-git-tags git-all-committed-p help install install-asdf link-archive load make-and-publish-archive make-archive makefile-targets merge-master-into-release publish-archive publish-debian-package push re show-commands t test test-all test-all-clean-load test-all-no-stop test-all-no-upgrade test-all-no-upgrade-no-stop test-all-scripts test-all-scripts-no-stop test-all-upgrade test-all-upgrade-no-stop test-ascii test-basic test-clean-load test-load-systems test-scripts test-upgrade u wc website
.PHONY
:
archive build-asdf bump bump-version check-all-results check-all-scripts-results check-all-upgrade-results clean debian-package doc
ext-clear ext-init ext-reset ext-update
extract extract-all-tagged-asdf extract-tagged-asdf fix-local-git-tags fix-remote-git-tags git-all-committed-p help install install-asdf link-archive load make-and-publish-archive make-archive makefile-targets merge-master-into-release publish-archive publish-debian-package push re show-commands t test test-all test-all-clean-load test-all-no-stop test-all-no-upgrade test-all-no-upgrade-no-stop test-all-scripts test-all-scripts-no-stop test-all-upgrade test-all-upgrade-no-stop test-ascii test-basic test-clean-load test-load-systems test-scripts test-upgrade u wc website
archive build-asdf bump bump-version check-all-results check-all-scripts-results check-all-upgrade-results clean debian-package doc extract extract-all-tagged-asdf extract-tagged-asdf fix-local-git-tags fix-remote-git-tags git-all-committed-p help install install-asdf link-archive load make-and-publish-archive make-archive makefile-targets merge-master-into-release publish-archive publish-debian-package push re show-commands t test test-all test-all-clean-load test-all-no-stop test-all-no-upgrade test-all-no-upgrade-no-stop test-all-scripts test-all-scripts-no-stop test-all-upgrade test-all-upgrade-no-stop test-ascii test-basic test-clean-load test-load-systems test-scripts test-upgrade u wc website
:
force
archive build-asdf bump bump-version check-all-results check-all-scripts-results check-all-upgrade-results clean debian-package doc ext-clear ext-init ext-reset ext-update extract extract-all-tagged-asdf extract-tagged-asdf fix-local-git-tags fix-remote-git-tags git-all-committed-p help install install-asdf link-archive load make-and-publish-archive make-archive makefile-targets merge-master-into-release publish-archive publish-debian-package push re show-commands t test test-all test-all-clean-load test-all-no-stop test-all-no-upgrade test-all-no-upgrade-no-stop test-all-scripts test-all-scripts-no-stop test-all-upgrade test-all-upgrade-no-stop test-ascii test-basic test-clean-load test-load-systems test-scripts test-upgrade u wc website
:
force
${
MAKE_SCRIPT
}
l
=
'$l'
L
=
'$L'
u
=
'$u'
U
=
'$u'
v
=
'$v'
s
=
'$s'
t
=
'$t'
$@
This diff is collapsed.
Click to expand it.
tools/git.lisp
+
26
−
1
View file @
8315d238
...
...
@@ -48,4 +48,29 @@
(
deftestcmd
git-all-committed-p
()
"is your checkout clean, with all files committed?"
(
null
(
nth-value
2
(
git
'
(
status
-s
)
:output
:lines
))))
(
let
((
uncommitted
(
nth-value
2
(
git
'
(
status
-s
)
:output
:lines
))))
(
success-if
(
null
uncommitted
)
"git reports uncommitted files:~{~% ~A~}~%"
uncommitted
)))
(
defun
get-git-branch
()
"What is the current checked out branch?"
(
match
(
first
(
nth-value
2
(
git
'
(
status
)
:output
:lines
)))
((
ppcre
"^# On branch (.*)$"
x
)
x
)))
(
deftestcmd
ext-init
()
"Populate the ext/ directory if not already populated.
Same as `make ext` in the bootstrap make script."
(
git
'
(
submodule
update
--init
)))
(
deftestcmd
ext-clear
()
"Depopulate the ext/ directory.
Same as `make noext` in the bootstrap make script."
(
git
'
(
submodule
deinit
"."
)))
(
deftestcmd
ext-reset
()
"Reset the ext/ directory to the contents specified by the current git checkout."
(
git
'
(
submodule
update
--init
)))
(
deftestcmd
ext-update
()
"Update the ext/ directory to the latest version from remote repositories."
(
git
'
(
submodule
update
--remote
)))
This diff is collapsed.
Click to expand it.
tools/main.lisp
+
1
−
0
View file @
8315d238
...
...
@@ -45,6 +45,7 @@ The UNIX-y name will be downcased, and any % prefix will be dropped."
;; :when (and (eq x (find-command x)) (documentation x 'function)) :collect x)
'
(
build-asdf
doc
website
wc
;; build
clean
%push
merge-master-into-release
fix-local-git-tags
fix-remote-git-tags
;; git
ext-init
ext-clear
ext-reset
ext-update
;; extension
git-all-committed-p
bump-version
bump
;; version
test-load-systems
test-clean-load
test-basic
test-ascii
%load
install-asdf
;; test-basic
...
...
This diff is collapsed.
Click to expand it.
tools/release.lisp
+
33
−
20
View file @
8315d238
...
...
@@ -150,18 +150,29 @@
(
defalias
archive
make-and-publish-archive
)
(
defalias
install
make-and-publish-archive
)
(
defun
get-debian-packager-keyid
()
(
or
(
getenv
"DEBSIGN_KEYID"
)
(
error
"Please export variable DEBSIGN_KEYID to be the 8-hex hash of your GnuPG secret key"
)))
;;; Making a debian package
(
deftestcmd
debian-package
((
release
"release"
))
"build a debian package"
(
let*
((
debian-version
(
debian-version-from-file
release
))
(
version
(
version-from-file
release
)))
(
version
(
version-from-file
release
))
(
has-ext-p
(
probe-file*
(
pn
"ext/inferior-shell/inferior-shell.asd"
)))
(
branch
(
get-git-branch
))
(
keyid
(
get-debian-packager-keyid
)))
(
unless
(
equal
version
(
parse-debian-version
debian-version
))
(
error
"Debian version ~A doesn't match asdf version ~A"
debian-version
version
))
(
git-all-committed-p
)
(
clean
)
(
ext-clear
)
(
git
'
(
checkout
release
))
(
format
t
"building package version ~A~%"
(
debian-version-from-file
))
(
run*
`
(
git-buildpackage
;; --git-ignore-new ;; for testing purpose
;; Override of the signing key, don't extract the name from the Changelog:
(
--git-builder=
"debuild -k0x"
,
keyid
" -i -I"
)
(
--git-debian-branch=
,
release
)
(
--git-upstream-tag=
"%(version)s"
)
;;--git-upstream-tree=tag ;; if the changelog says 3.1.2, looks at that tag
...
...
@@ -170,7 +181,10 @@
;; --git-no-pristine-tar
--git-force-create
--git-ignore-branch
)
:directory
(
pn
)
:show
t
)))
:directory
(
pn
)
:show
t
)
(
git
`
(
checkout
,
branch
))
(
when
has-ext-p
(
ext-reset
))
(
success
)))
(
defun
debian-architecture
()
(
run/ss
`
(
dpkg
--print-architecture
)))
...
...
@@ -195,21 +209,20 @@
(
when
(
nth-value
1
(
run
'
(
dpkg-parsechangelog
)
:output
nil
:error-output
:lines
))
(
error
"Malformed debian/changelog entry"
)))
scripts
;; TODO: needs to be passed as argument!
(
and
;; need a better combinator, that tells us about progress, etc.
(
git-all-committed-p
)
(
test-all-no-stop
)
;; TODO: NEED ARGUMENTS!
(
test-load-systems
lisps
systems
)
(
bump
new-version
)
(
when
releasep
(
and
(
debian-package
)
(
publish-debian-package
)
(
merge-master-into-release
)))
;; SUCCESS! now publish more widely
(
%push
)
(
archive
)
(
website
)
(
when
releasep
(
log!
log
t
"Don't forget to send a debian mentors request!"
))
(
log!
log
"Don't forget to send announcement to asdf-announce, asdf-devel, etc."
)
(
log!
log
"Don't forget to move all fixed bugs from Fix Committed -> Fix Released on launchpad"
)))))
(
git-all-committed-p
)
(
test-all-no-stop
)
;; TODO: NEED ARGUMENTS!
(
test-load-systems
lisps
systems
)
(
bump
new-version
)
(
when
releasep
(
and
(
debian-package
)
(
publish-debian-package
)
(
merge-master-into-release
)))
;; SUCCESS! now publish more widely
(
%push
)
(
archive
)
(
website
)
(
when
releasep
(
log!
log
t
"Don't forget to send a debian mentors request!"
))
(
log!
log
"Don't forget to send announcement to asdf-announce, asdf-devel, etc."
)
(
log!
log
"Don't forget to move all fixed bugs from Fix Committed -> Fix Released on launchpad"
))))
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment