mini-buildd (1.9.9) experimental; urgency=medium After making web and API error handling safe, this does the same with django messages (and also greatly reduces them). Also a lot of unrelated bug fixes and improvements on the way: * [12534ac] templatetags/mini_buildd.py (Plain): Auto-TOC: Convert lintian regexes to more general warning/error style. * [20c51f4] mini_buildd.css: Make "warn" color readable (gold->coral). * [c6c0dd9] Source,Distribution,Component: Fix implementations of __lt__/__eq__ (fixes some strange errors from django admin). * [9beb6a7] models/chroot.py: mbd_path as property, not class var (fixes error on chroot "Add" in django admin). * [8802944] devel: Add 'prepare-system' to quick instructions. * [2e89ff5] django admin: Compatibility for django 2.2. * [d35f3e5] admin/mini_buildd.html: Integrate 'Help' link into header. * [f015d50] admin/mini_buildd.html: Sync w/ django 2.2 code; add developer notes. * [9efa87e] mini_buildd.css: Fix fg-color to hve more contrast to bg colors. * [f20e3ab] mbd_api_arg.html: Regression: Fix all inputs to have id's again to match labels. * [9d68edc] httpd.py: Add support for "Cache-Control" (browser cache) header (but we don't actually use it yet). * [50f026a] templates/*.html: Fix some akward 'quote-in-quotes' on static calls (though working). * [777de84] Drop "uglifyjs" in favor of "minify", do conversions off- tree and add "svg" and "css" to the mix. * [0747df5] Drop "favicon.ico" - instead just use our logo as SVG directly. * [2cbe814] mbd_api.html: Improve result popup top menu. * [a9b7f85] mbd_api.html: Properly name "rerun as html" option, and put to top nav. * [a173cd4] base.html: Add warning when javascript is not available. * [4ce2c6a] templatetags/mini_buildd.py: mbd_api: Support default "action" type (so integrated API html may be configure to show api_view). * [ab82dab] admin: Update js include/init (have script/noscript magic in admin w/o errors). * [43d98a7] mbd_api.html: ajax results: Add "reload" button to nav. * [9b28403] templatetags/mini_buildd.py (mbd_api): Rm unused context: request. * [3fb9a6a] __init__.py: Add e2http() helper (construct safe/public exception). * [38e4d7f] mini_buildd.js: api call: Shwo result box before call is fired. * [81bb558] mbd_api.html: Update result design, indicate ongoing call. * [2168f70] mini_buildd.css: Make API result box center and be as big as needed (not fix 80%). * [02d11d3] security: Events (FAILED): Update "error" part in events to new safe public HTTPError. * [ae3b284] builder.py: Cosmetic: Fix (strangely undetected by checks) wrong indent. * [b12e4d0] __init__.py (e2http): Add default status (i.e., option to generate other raw HTTP errors than INTERNAL). * [06b17e6] views.py (ExceptionMiddleware): Errors: Simplify w/ e2http && properly run log_exception (i.e., with the actual exception). * [7d1e8b8] views.py: Rm MsgLog from error view (does not really make sense). * [149f31e] api.py: Rm 'msglog' arg from constructor (we already have the request). * [bcf3e7a] api.py: Make msglog() output safe. * [cbf162b] *.py: MsgLog: Bulk fix "msglog" args to "request" args (always call via MsgLog(LOG, request)). * [8813c17] api.py: Mv msglog test calls to msglog.py. * [751f5b4] mini_buildd.css: log: Support all default python levels. * [9f07cd2] mbd_messages.html: Add include for messages, and use it for both 'mini_buildd' and 'admin'. * [b4b1d11] mini_buildd.css: Improve messages design. * [7f1bb57] models/base.py (Model.mbd_get_or_create): Rm msglog about existing instances (too many messages, not helpful). * [11203aa] models: Component, Source, Distribution: Make objects hashable again (fixes django admin). * [d70e2e6] models/*.py: Thin-out 'MsgLog messages' -- just too many, and debug() should not be here anyway * [f02a18d] models/source.py (Source.mbd_check): Fix wrong usage of log_exception. * [2a1315e] models/repository.py (Repository.mbd_package_purge_orphaned_logs): (regr) Fix call syntax. * [59a518c] MsgLog: Remove log_text() support; subsequently removes (too much, not helpful, not secure) MsgLog output for chroot creation && reprepro check. * [43b3f9b] models/base.py (StatusModel.Admin._mbd_run_dependencies): Secure msglog. * [6b658a6] models/base.py (StatusModel.Admin.mbd_action): Add one generic msglog for action calls, remove all other. * [c52b5c6] models/chroot.py: Phase out all MsgLogs. * [b763b87] models/gnupg.py: Thin-out MsgLog. * [b12ec25] models/gnupg.py (AptKey.Meta): Use UniqueConstraints to avoid duplicate keys (Fixes: We can now change keys in admin). * [e741cea] models/base.py (StatusModel.Admin.mbd_action): MsgLog: Show status w/ checked status. * [7521648] models/source.py: Thin-out MsgLogs. * [809dba1] devel (mbd_gen_httpd_testfiles): Make dirs/files created belong to user mini-buildd (fixes repo removal after testsuite has run). * [1a30e1a] *.html: Make snippets sort-of work (w/ iframes) when javascript is disabled. * [4db2ec5] cli.py: Generalize left-over 'mini-buildd' specific code (fixes "console" logs for other CLIs not to be customized). * [047b257] devel (logI|E): Prefix date on log lines. * [5146005] mbd_api.html: Offer HTML view for list,show only. * [0b71609] snippets/building|packaging.html: Put back data to datatables && config finetuning. * [146b124] snippets/events.html: Datatables finetuning. * [ff5388e] log.html: show package rendered. * [9122395] mini_buildd.js: Make datatables 'lengthMenu' global setting. * [d10b483] /mini_buildd.css (form.mbd-api div.mbd-api-result): Fix: Needs 'z-index: 1' to always stay on top. * [f078fec] mbd_api_arg.html: Rm extra inputs (regex select, manual) for multiple select. * [e939981] mini_buildd.css: API form: Make select/textarea be ~1em by default, expand on focus (makes API HTML form like one line/readable) * [e50994d] mbd_api_arg.html: Set size on multiple select (should be more convenient in most situations (no scrolling)). * [36d2fc8] mbd_api.html: Re-add home to result menu -- is useful to hop to status from another page. * [5f22078] templatetags/mini_buildd.py (mbd_next): Fix to deliver full path (w/ GET params). * [448a05c] misc.py: Fix PkgLog to use changes.py to identify changes type. * [8fea587] log.html: Improve log view. * [aafc1fc] mini_buildd.css (details>summary): Don't decorate "a" inside "header" or "nav" elements. * [1eeca85] static/index.svg: New icon (from openclipart-svg.deb). * [2b80102] views.py: Add LogIndexView: Index w/ links to all existing package logs. * [bc573dd] mini_buildd.css (details>summary): "nav": Inherit display. * [b3efac8] repositories.html: Add links for the new LogIndexView. * [ffa9b29] api_view/show.html: Improve datatable. * [ecde1a4] devel: Add log index to tidy test. -- Stephan Sürken Sun, 10 Jan 2021 17:28:54 +0100 mini-buildd (1.9.8) experimental; urgency=medium API polish release. Summary: * Implement RFC 7807 for error handling, consequently obsoleting HTTP custom headers previously used. * Introduce "public" exception classes -- detailed error messages are now available (via WEB or API response) only when explicitly raised. Previously, any exception message would go "public", which is a possible security risk (and mostly not helpful). * API is now truly json only. "output" parameter is completely removed, HTML view is now accessible via 'mini_buildd/api_view/'. * API calls per WEB are now (per default) AJAX calls (i.e., results are displayed on the same page w/o reload). * [4c22494] views.py, __init__.py: Move HTTPException to package init. * [ca52290] __init__.py (HTTPException.rfc7807): Add rfc7807 (dict) generator. * [15ba077] __init__.py, views.py: Make explicit HTTP exception classes (bad request, unauthorized, m. not allowed). * [e2a756b] views.py: Update middleware exception handling to new HTTPException classes. * [f94563f] __init__.py (Rfc7807): Extra class (so code can be used elsewhere later). * [45185e6] API: Switch to RFC 7807 error handling; obsoletes all custom HTTP header code. * [e2582aa] config.py: cfield_exception also obsoleted (by previous 'json+problem update"). * [2d8b74c] __init__.py: Better naming: HTTPException -> HTTPError. * [02b6045] mini_buildd.js: Initial generic API call support. * [ba6491e] views.py: debug: Log exception for API errors. * [de1e116] mbd_api.html, css: Just use input "disable" attr to mark API call as unavailable. * [04e25be] views.py: Move 'error.html' template top-level (it's not for app mini_buildd alone). * [a306432] views.py: django exceptions: Fix 404 function syntax && don't make any django exception messages 'public'. * [283a11a] Move all API templates to subdir api/. * [70d5ff2] Use 'mini_buildd/api_view' for any html-ized api output, "mini_buildd/api" for json only. Obsoletes extra parameter 'output'. * [d2c1ab2] mini_buildd.js, base.html: Add automated mbd-[no]script CSS classes. * [4d4f3ad] mini_buildd.js: Update js code for API calls. * [ce86e85] mbd_api.html: tag mbd_api: Initial support to call/show result directly via js. * [3acaeea] mbd_api.html: Fix 'double button display' via mbd-[no]-script class. * [5bb347a] api.py: Renmame cls.plain(r) -> cls.get_plain(r), add self.plain(): obsoleting extra tag mbd_api_plain. * [5d7f7b0] mbd_api.html: Do "confirm" via required checkbox. * [8b2d7d8] mbd_api.html: Add macro (include) for submit; add non-script submit in js result. * [fbf2beb] base.html, mini_buildd.js: Rather use "initial" (not "inherit") as "active" value. * [e460b9e] mbd_api.html: Use 'mbd_plain' tag to show plain results. * [ccc7056] templatetags/mini_buildd.py: mbd_img, mbd_api: Remove "target" support. * [d154edf] mini_buildd.js: API call: Improve error handling. * [6ea8542] base.html: Fix: Remove redundant explicit next= in user menu (already in djanfo conf). * [83100d5] *.py: Bulk-update all 'Excpetion's meant for user consumption into 'mini_buildd.HTTPError's. * [42712e6] models/*.py: Bulk-update use of django exceptions to mini_buildd exceptions. * [7c343bc] mbd_api_arg.html: Cosmetic: Put 'textarea' (non-input) down in if-else tree. * [df7c8d6] mbd_api_arg.html: Remove all form elements' hardcoded "size"-like settings. * [3fd60e2] mbd_api_arg.html: Fix: Use HTML 5 "number" type for IntArgument. * [40d1000] mini_buildd.js: API: Support __plain__ results. * [03c63de] api.py (MultiSelectArgument): Fix: Properly raw_value from default. * [859681f] mbd_api_arg.html: Rm unneeded element "id"s. * [c302cd2] mbd_api_arg.html: Just leave out 'value=' if not set && reorder attrs. * [af77e87] mbd_api_arg.html: Make all inputs w/o value 'required'. * [c9623ae] mbd_api.html: Skip next. * [fedc9ee] mini_buildd.css: Add another bg level for plain. * [085cc84] mbd_api.html: Make result details open by default. * [7dcc881] api_view/index.html: Make API overview more HTMLy, add TOC. * [e727d3b] mini_buildd.css|js, html: API: Display overlay for (js) API results (i.e., don't break layout). * [48d0f8c] api.py (MultiSelectArgument): Make separator class attr, and fix default setting for any argument class. * [a114e6d] mbd_api_arg.html: Fix: Set "required" only if 'value is None' (not if value evaluates to False). * [6cc0006] mini_buildd.py (mbd_api): Rather use value, nor raw_value. * [863f2cc] api.py: logcat: Decrease default lines 500->100. -- Stephan Sürken Sun, 03 Jan 2021 16:48:30 +0100 mini-buildd (1.9.7) experimental; urgency=medium Another polish release, with a various miscellaneous updates and fixups: * [342de97] config.py: Add class: Resource. * [d023fc4] config.py, *.py: Convert all *_DIR globals to 'Resource'. * [84b3d39] config.py, *.py: Convert all HTTP_PATH_* globals to 'Resource'. * [1fb578f] config.py: Fixup globals order, add utility methods for Resource. * [b67a708] config.py: Rename LOG_RENDER -> BUILDLOGS. * [6717386] config.py (Resource): Add getter methods (uri & path). * [49f3dfc] views.py, *.py: Update buildlogs for new resource setup. * [b0b62da] *.py: Bulk-update all manual join() calls with Resource.getpath(). * [07dca70] urls.py: Use resource configs where applicable. * [a7e29e0] config.py (Resource): geturi_abs() imho obsolete. * [79eec8f] templatetags/mini_buildd.py: mbd_uri: Add tag to generate (resource) uri. * [dd37c77] snippets/repositories.html: Update URI generation. * [57a031c] templatetags/mini_buildd.py (mbd_home): Re-use mbd_img template function. * [1494129] templatetags/mini_buildd.py: Add "target" support for mbd_api, mbd_img. * [8a8faef] snippets/repositories.html: Make all mbd_img/mbd_api links here open new window/tab. * [21547a4] home.svg: Add from openclipboard. * [718f9e4] snippets/repositories.html: Properly integrated per-repo "external home" link. * [dd023ec] base.html: Intergrate API calls: getdputconf, logcat, getkey. * [4373e75] snippets/repositories.html: Integrate per-repo API calls: keyringpackages, testpackages. * [2360779] snippets/repositories.html (Snapshots): Improve snapshots display. * [797aedf] mbd_snippet.html/js: Display a stamp and reload for each snippet in summary. * [9cd43e4] snippets/repositories.html: Only show snapshot section if there are snapshots. * [a0af74c] snippets/repositories.html: Integrate portext. * [036a1e8] models/repository.py (Repository.__str__): Sort distributions. * [bae350f] mini_buildd.css: Define 4 (was 3) bg-colors. * [9633799] mbd_api.html: Don't auto-reroute to login when unauth, rather popup auth error. * [aa29a9e] mini_buildd.js: stamp: Rather use toUTCString (not toISOString) -- more human-readable. * [5f10f06] api.py: status: Add 'crontab', 'events' (length only) for snippet support. * [7619c2f] devel (tidy check): Download html to deven.tidy.html (for better debugging). * [5620f0c] tidy check: Fix missing quote in mbd_api.html. * [5a73db7] mini_buildd.css: Simplify footer CSS. * [897c2fe] mini_buildd.css: Further simplify 'main' CSS. * [42e24b0] mini_buildd.css: Further simplify 'header' CSS. * [2af5696] mini_buildd.css: Further simplify 'admin extras' CSS. * [74c8f83] mini_buildd.css: Minor code style cleanups. * [45df88e] base.html: Use div (not span) for footer grid sections. * [91ebdea] base.html, CSS: Remove all "ul" from 'header navs', and further simplify 'header' CSS. * [28090cb] includes/mbd_api.html: Don't invent extra div here. * [204a335] mini_buildd.css: Simplify && fix "api" CSS. * [fc0e19f] devel (tidy): Use '--quiet yes' (no one needs verbose), '-- gnu-emacs yes' (hop errors) and '--mute-id yes' (display error ids). * [844c507] devel (tidy): Mute BACKSLASH_IN_URI,ESCAPED_ILLEGAL_URI,ILLEGAL_URI_CODEPOINT: False- positives due to django "escapejs" tag. * [46d6757] devel (tidy): Convert "proprietary attr" exception to --mute. * [e6fe4a4] devel (tidy): Drop 'drop-empty-elements' exception (no longer needed). * [242e32a] includes/mbd_api.html: tidy 'empty span' fix: Only output hidden opts 'span' if there are any. * [822a6c0] devel (tidy): Update 'success test' == 'empty result' ('tidy --mute' does affect output only, not retval). * [26cec29] devel (tidy): Up-stock list of tested URLs. * [7c5ac04] views.py (ExceptionMiddleware.__error): Add a log_exception() call for better debugging. * [52f2ad0] mbd_plain.html, tags: Create (buildlog) TOC as data structure in tag, build TOC html in template. * [a859a63] mini_buildd.css (:root): Better border colors. * [0af609c] mini_buildd.css (:root): Add (fg) colors 1-3. * [dc5106b] mini_buildd.css: Simplify/fixup 'ongoing' (blink). * [3692731] devel (tidy): Drop URL for testing log (we can't be sure package is there). * [5876e79] mini_buildd.js: mbd_snippets_update skip (now obsolete) check if status call has data; write stamp last. * [ae7285e] builder.py: Move gpg verification back to build (so we get event && failed buildresult handling). * [a579432] api.py (AutoSetup): Temporary fix for keyring update. * [bae0fb1] mini_buildd.css: Rather use american "gray" (not "grey") and other minor CSS fixes. * [5e9614d] admin/app_list.html: Rather override this than index.html (removes some redundancy && fixes display issues). * [6b59846] templatetags/mini_buildd.py: mbd_model_count -> mbd_model_stats: Simplification, obsolete include. * [39a048c] mini_buildd.css|js: Make action classes conform to lower case naming. * [c866e81] models/base.py: Downgrade html 'colored status' hack-level from horrendous to average. * [45f76ef] mini_buildd.js: Add initializer function (code clarity && fixes js error in admin). * [1c04368] mini_buildd.css, *.html: Class name cleanup for "log", "sbuild", "lintian" and "event" types. * [5580c9f] mini_buildd.css: Group color settings by semantic. * [abaaf39] admin/app_list.html: Fixup class for model counters. * [912fd52] mini_buildd.css: Introduction of (10) 'bliss level' colors. * [05f8442] mini_buildd.css: Fix bliss color2: Orange. * [2cdd6cd] debian/source/options: Tar-ignore minified js (so it's never ends up in source package). * [a279db7] mini_buildd.css: Remove all remaining hardcoded color values. * [c71daa8] mini_buildd.css, *.html: Update and thin-out most other color related classes. * [fe06684] mini_buildd.css: Rm all qualified class configurations. * [e7c8222] mini_buildd.css: Update global setting && style cosmetics. * [a8c73f9] mini_buildd.css: "admin extras": Mostly obsolete, rest merged. * [ffef25c] mini_buildd.css, *.html: Use "grid" shortcut and simplify all grid setups. * [2f3baa2] mini_buildd.css (.mbd-api-autosetup, .mbd-api-meta): Use background shortcut. * [b63d9cd] mini_buildd.css: Add global default padding for some elements, remove all other paddings/margins. * [8960901] mini_buildd.css: Get rid of border colors (and other fine updates). * [dfe0f73] mini_buildd.css: Run for the lighthouse. * [199adf6] mini_buildd.css, *.html: jquery "datatables": Force header/row bg colors to our scheme. * [caaa7fb] snippets/crontab.html: Fix various wrong class names. * [6737611] mini_buildd.css: Globals: Don't outline 'summary', add padding to 'label'. * [64d55e6] mini_buildd.css: Fix snippet header design via grid. * [f49e429] mini_buildd.css: color update. * [76151be] mini_buildd.css: Drop global padding settings (more harm than good). * [a9c6590] *.html: Rm bunch of superfluous "div"s * [e20a2b4] mini_buildd.css: mbd-plain: Only use one class. * [bee8792] mini_buildd.css: mbd-snippet: Only use one class. * [45eb7c7] mbd_api_arg.html: Improve layout of regex/manual extra inputs for "select". * [30aadf0] mbd_api[_arg].html: Don't use 'span' around non-trivial html code. * [84f180e] mini_buildd.css: Improve base header. * [99d0be8] mini_buildd.css, home.html: Improve home.html structure && css. * [25056a9] mini_buildd.css: Only use one fg color. * [41dc450] mini_buildd.css/*.html: Fix various regressions. * [f770058] mini_buildd.css: Update mbd_api design for "one class" setup. * [cbe7eea] api_show.html: Use mbd_uri. * [e3307db] api_show.html: Update to be one searchable datatable. * [4a850de] events.html: Use mbd_uri. * [3354cf7] mini_buildd/snippets/building.html: Fix order, (re-)add builder info string. * [4dd7159] mini_buildd.py (mbd_daemon_is_alive): Rm, this tag is obsolete. * [17fa876] api_show.html: Fix table id. * [bf1fda1] mini_buildd.css: More API fixups (tidy warnings). * [271a906] devel (tidy check): Ignore TRIM_EMPY_ELEMENT (too picky). -- Stephan Sürken Wed, 23 Dec 2020 19:00:46 +0100 mini-buildd (1.9.6) experimental; urgency=medium Polish release, with a various miscellaneous updates and fixups: * [405612b] snippets/*.html: Properly prefix all table ids (with 'mbd-'). * [a475468] mini_buildd.js: Rather call api 'status' in js directly to get 'count' updates (obsoletes mbd_snippet_fixup_summary()). * [f6ee35e] *.html: Remove 5 more br/hr (uncatched last cleanup ;). * [8979d28] mini_buildd.js: Update snippets updater/reloader (make one 'global' updater). * [8d20526] builder|packager.py: Add resp. __str__() convenience (fixes status output). * [86819f2] mini_buildd.js: Add convenience function mbd_smartlen(). * [a025a83] templatetags/mini_buildd.py (mbd_snippet): Add "show_count" option and disable count for events, crontab. * [e7ad2eb] home.html: Misc fixups, simplify again. * [37a85cb] api.html: Move API (list) back to its own page. * [038396f] home.html: Fixup home layout. * [0276d90] mini_buildd.js: Rather not use const (may not be supported by older browsers -- breaks uglifyjs@buster). * [ba7e261] mini_buildd.js: Snippets: On detail.open: Only update the resp. section, not all. * [572f172] views.py (APIView.dispatch): General api call log: Don't use msglog. * [2b56054] api.html: Simplify; make details be open by default. * [187d41b] devel: tidy test: Re-add 'api.html'. * [acf2a0b] home.html: API autosetup: if shown, should be full. * [f171101] api.py: Add commands 'getsnapshots', 'gensnapshot', 'delsnapshot' (replacing poor 'snapshot' do-it-all command). * [231cae1] api.py/api.html: Deliver cmd objects in the convenience menu struct (to better access attributes). * [b3b1295] api.py (Command.__init__): Make 'given_args' optional. * [a07e004] api.py (Commands): "defaults" not used - removing. * [e9fdf55] cone_soft_vanilla.svg: Remove this accident vanilla... * [52254a0] api.py: Just use Daemon singleton implicitly (remove 'daemon' arg for commands). * [1e9de0e] setup.py: Generate "version.py" (not __init__.py) to automate version (makes __init__.py "normal code file" again) * [5bde5f6] __init__.py, *.py: Add shortcut for Daemon singleton. * [0da405f] api.py: Use Daemon shortcut directly. -- Stephan Sürken Thu, 10 Dec 2020 10:26:15 +0100 mini-buildd (1.9.5) experimental; urgency=medium Polish release, with a various miscellaneous updates and fixups: * [59c1f7e] mbd_snippet.html: Give summary an id. * [3a05d2f] snippets (packaging, building): Instead of open if ongoing, just use class 'mbd-ongoing'. * [6f3274e] mini_buildd.js (packaging, building): Keep summary up-to- date on snippet reload. * [c5350b2] mini_buildd.js, snippets: Update all snippet to fixup summary on load. * [56ddd42] home.html: Separate sections (activities, instances, api). * [5fcbe9c] base.html, css: Simplify messages display. * [4406428] mini_buildd.js: Name snippet functions conformly. * [2037fbd] templatetags/mini_buildd.py, mbd_api.html: Add new tag mbd_next, use for API next (Fixes: 'next' could be on snippet). * [9b16d8e] views.py: Add "api" module to generic context. * [fa3d349] urls.py: Update redirects to got to 'home.html' (obsoletes extra view 'HomeView'). * [e273730] config.py: Add HTTP_PATH_HOME and use it throughout code (fixes unnecessary redirects && redundancy). * [cd399cf] views.py: Cosmetic re-order of views implementations. * [b3aecb8] mbd_api.html: Show doc/params again even if not authenticated for the call. * [8a86e22] base.html: Add meta "Description" (makes lighthouse happier). * [c828649] mini_buildd.css: Proper name for keyframe move. * [db76d26] mini_buildd.js/snippets: Add autoreload support. * [d8e3640] mini_buildd.css: Fixup styles for snippets. * [ad38289] base.html: messages: Use span, not tt (deprecated). * [486f872] mini_buildd.js/snippets: React on interval changes && harden code. * [89d0094] httpd.py: Make file resource default to text/plain (and drop all other extra mime support). * [e9d2c39] repositories.html: Skip distribution descriptions (simply use the distribution string). * [dc18f72] repositories.html: Switch to sections (not details) on distribution level. * [79f743f] mini_buildd.py (mbd_api): Rather do (convenience) auth w/ api_cmd instance (not class). * [a0dde25] mini_buildd.py (mbd_api): 'cmd' arg: Allow it to be cmd instance directly as well (allows reusing args). * [dbfd329] API templates: Always show command form again (to conveniently adapt call). * [dc84f45] repositories.html: Do apt_lines via getsourceslist api call inclusion. Obsoletes 'mbd_d_apt_line' tag. * [801062b] templatetags/mini_buildd.py: Add 'mbd_snippet' tag (instead of manual inclusion). * [21443c2] templatetags/mini_buildd.py: Add 'mbd_api_arg' tag (instead of manual inclusion). * [2d1131e] templatetags/mini_buildd.py: Add 'mbd_plain' tag (instead of manual inclusion). * [c6bae18] templatetags/mini_buildd.py (mbd_plain): Add Plain class, and get rid of extra mbd_cat template. * [334b9ef] mbd_snippet.html: js: Use generic local functions for load,autoload (fixes some redundancy). * [302ddfb] templatetags/mini_buildd.py (Plain): Fix buildlog regexes to be class attr of Plain. * [21a94e1] views.py (LogView.get_context_data): Update PkgLog so it can be used as-is in context. * [7e75f7a] log.html: Simplify, assemble uri paths in context. * [d3d9740] repositories.html: Cosmetic fixup repo summary. * [3f86aaf] models/distribution.py (SuiteOption.__str__): Fix: Missing format string for migrates_to. * [2c778f4] templatetags/mini_buildd.py: Update and rename: mbd_distribution_string -> mbd_get_distribution_string. * [cb7eff3] templatetags/mini_buildd.py: Rather use one "parser" tag for all values needed in repo overview. * [f3bfe3c] models/distribution.py (SuiteOption.__str__): Simplify to name only (not used). * [b6f6930] repositories.html: dist attributes: Use 'span', not kbd. Other cosmetic improvements. * [56a2917] templatetags/mini_buildd.py; Add mbd_img (and mbd_home) tags and generalize all 'img[link] html'. * [656884e] templatetags/mini_buildd.py (mbd_img): Add convenience support for 'clipboard.js'. * [ff5fe47] mbd_plain.html: "div"ide whole/header/content; properly prefix class names 'mbd-plain'; imrove style. * [288e612] templates/registration/activation|registration_complete.html: Fix h1/h2 mismatch. * [d8329b8] *.html: Bulk fix '{{foo}}' -> '{{ foo }}' (in-line w/ djangos code style). * [047f5a5] *.html: Bulk-remove any use of '
' or '
'. -- Stephan Sürken Sun, 06 Dec 2020 17:47:26 +0100 mini-buildd (1.9.4) experimental; urgency=medium WEB UI rewrite followup, with a lots of smaller related and unrelated fixups: * [1329584] templatetags/mini_buildd.py: Add basename filter. * [8a56e91] includes/mbd_plain.html: Separate "Download" and "Raw File" buttons. * [3ce6ab0] mini_buildd.css: Rm bunch of uneeded (and unhelpful) font- size settings. * [6c56fe3] mini_buildd.js: mbd_load_snippet(): Simplify code. * [81ef50a] devel: Also run m-d-dput with full debug. * [a0309a7] mini-buildd-dput,cli.py: Add -c, --config option for our custom dput. * [f9a83e0] source/options: Add tar-ignore for devel.dput.cf (automated testsuite only, local data). * [a4fa918] devel: Generate dput.cf to use in testsuite on the fly via getdputconf. * [c98a908] devel, source/options: Name all (two) testsuite generated files devel., and update to nicer 'pattern tar-ignore'. * [4acb457] home.html: packaging, building: Open by default if items present. * [6b10562] building.html: Rename column 'Status'->'Running', and add actual content. * [81f75f3] snippets/packaging|building.html: Set entries per page to 5 by default && add better menu including "all". * [53143ac] mini_buildd.css: Add (currently unused) 'mbd-ongoing' class. * [f6317cb] mini_buildd.css, base.html: Simplify "messagelist" display, and get rid of all extra "messagelist svg"s. * [aa0c6d7] mini_buildd.css: Introduce variables for main colors. * [7b120e8] wizards: Add Ubuntu 20.10 (groovy). * [ef2fabd] mini_buildd.css: colors: Add bg for all admin actions; rm some unused classes. * [181d278] urls|views.py: Use 'm-b/buildlogs/log|live' locationa to render all buildlogs via generic BuildlogView class. * [84f92d1] Rename file.html -> buildlog.html (only used for buildlogs). * [88445d1] mbd_plain.html: Update "raw file" to "vanilla view" (and add vanilla clipart from openclipart). * [e0b2806] buildlog.html: Only use basename for title. * [b6e3ee2] Rename logo mini-buildd.svg -> mini_buildd.svg (in sync w/ rest of files in static/). * [b011905] doc 'layout.html': Fix logo link to new name. * [d25666c] source/options: tar-options: Get back dpkg-source's default ignore list. * [6eb063e] .lintianrc (suppress-tags): Update to lintian tag rename: changelog-should-mention-nmu- > no-nmu-in-changelog. * [f1391f1] .lintianrc (suppress-tags): Add bad-distribution-in-changes- file (does not make sense for dev testing). * [0a42424] lintian: Override 'national-encoding' for test package file (that actually tests wrong national encoding). * [d67e604] lintian: Override 'breakout-link' (for javascript symlink in /usr/lib/). * [be09ac1] devel: Add helper to run lintian manually. * [b2b35d3] devel (changelog): Run 'gbp dch' in non-snapshot mode for now. * [8112b7a] source.py (Source.__str__): Add 'codeversion'. Update format to read like "Debian 10 (buster)". * [6a80914] models/source.py: Add (python) sorting for 'Source' objects (sort by origin, then codeversion). * [09cf4e7] distribution.py (Distribution.__str__): Update to use Source.__str__(). * [147e6dd] models/distribution.py: Add (python) sorting for 'Distribution' objects (based on base_source). * [016ad6b] snippets/repositories.html: Use new sorting for distributions. * [07aa12b] mini_buildd.css: Add 'mbd-snippet' class/design. * [b44c6f7] mini_buildd.css: Get all main colors into variables. * [9f0b9a6] mbd_api_arg.html: Add/fix label for *any* form input. * [e04f17a] templates/base.html: Add 'lang' to html tag ('en-us' fixed, we don't do translations). * [fb96490] templates/base.html: Add standard viewport meta (apparently helps mobile devices). * [748ffc6] base.html: Rather use minimized jquery: 'jquery.min.js' * [a3ef8b8] JS: Add "min" version of our javascript (via uglifyjs). * [23f0f2b] html/css: Convert all "image buttons" to be just images (reload, vanilla, download, clipboard). * [d5e6f2d] static(html: Add browse.svg (from openclipart), and renice some links (log, api_show, repositories). -- Stephan Sürken Sun, 29 Nov 2020 10:03:15 +0100 mini-buildd (1.9.3) experimental; urgency=medium Issue Soup, plate VIII: WEB UI rewrite This release focuses on improving internal "django code" (views, context, templates, tags, css, apps) to make it more maintainable. User-visible highlights: * HTML much more 'HTML5ish', all gfx now svg, no more fixed sizes (Fixes #843396). * On-demand loading for crucial parts of home. * Clipboard support for raw output (json, buildlog, etc). * Tables are now done w/ datatables.js, offer sorting and search options. * Buildlogs display adds a "guessed index" (help find relevant lines). * Updated crontab view. * Updated user menu. * [fc75bf4] css/mini-buildd.css: Merge all CSS (except sphinx.css) here. * [7ef8d5c] mini-buildd.css: Reorder; fix some comment headers. * [96da74a] mini-buildd.css: Greatly simplify color coding. * [7d4d1a0] mini-buildd.css: Convert all ID selectors to class selectors. * [42a5a9e] mini-buildd.css: To top-level colorcode: model stat, daemon stat, user stat. * [0138548] mini-buildd.css (.inner-inner-box): Rm, unused. * [e8190c4] mini-buildd.css: More re-ordering and cleanup. * [2cf7c0e] mini-buildd.css: Bulk-convert from 'px' to 'em'. * [a8cffcd] mini-buildd.css: .smaller is a rather a tool. * [25c0651] mini-buildd.css: More re-ordering. * [6150b7a] mini-buildd.css: Greatly simplify 'header' and 'branding' into new 'menu'. * [9d8b650] devel (htmlmisc): Rm test for unused CSS id selectors (not using these any more in CSS). * [64e0767] base.html: "img" needs "alt" (says tidy). * [ec0db50] devel (mbd_run): Log failed test on exit (helpful when running longer testsuite). * [e802ff1] devel: Split log -> logI, logE. * [6a0bcfd] models/source.py (mbd_filter_active_base_sources): Exclude "experimental" from base sources. * [65ed90b] mini-buildd.css: menu: New setup (w/ divs), bring back hover candy. * [01004f8] mini-buildd.css: Remove a bunch of global config around font sizes and padding. * [89a7552] templates/base.html: menu: Do w/o extra 'divs'. * [723b515] mini-buildd.css: Remove more global config. * [3bd3e10] mini-buildd.css: Mv 'model status display' oo the way. * [0fece5e] mini-buildd.css: "header": Rewrite, simplify. * [a8ffde7] mini_buildd/base.html: Simplify: Merge base.html into this. * [7abf488] mini-buildd.css: Fix and simplify 'footer'. * [1593758] mini-buildd.css: More reordering. * [ae4b69c] mini-buildd.css: 'api': mbd-api -> api, initial cleanups. * [559a3c7] mini-buildd.css: Greatly simplify 'api' part. * [37cff85] mini-buildd.css: admin: Fix/simplify colorized action buttons. * [2306114] control: Put libjs dep to module package, and make all 'deb- installable' javascript available via '/javascript'. * [37c40c3] mini_buildd_tags.py (mbd_jquery_path): Remove (use new '/javascript' path instead). * [5c6688c] base.html: Support js "datatables" (sort/filter) for 'events' table. * [d506ca3] web: Simplify static/: Put all (few) files on top level. * [7c1137e] mini-buildd.css: Update for default table elements && timestamp. * [31c2cda] base.html: 'content' div should have class 'content'. * [efb02c7] mini-buildd.css: Add top-lebel contents style. * [e8c193e] home.html: Rm a ton of superflous/wrong class attributes. * [8f068fe] mbd_api.html: Put submit button first. * [c8bdb6d] mini-buildd.css: api: Display details inline. * [4ec2171] base.html: Add little doc as comment. * [cc503cd] base.html: Rename block: localscript -> javascript. * [cce7571] mini-buildd.css: Convert menu to table. * [53fca8f] mini-buildd.css: Update header. * [248f7a3] mini-buildd.css: Update footer. * [2727c96] mini-buildd.css: conten bg to whitesmoke. * [29f25fa] mini-buildd.css: Bulk-remove all (but one) "global defaults". * [98f098e] bullet.svg: Remove, no longer used. * [3e82f0b] home.html: Rm superflous boxed div from events, repositories, chroots, remotes and crontab details. * [9455711] views.py: home: Rather show all repositories, chroots and repositories (previously, limited to activated). * [c771da2] mini-buildd.css: Rm 'model status display' configs (don't seem to be used). * [e0cb75f] static/clipboard.svg: Add (for later use as icon). * [818ac6a] mini-buildd.css: Re-nice color codes. * [ec18355] html: Add clipboard.js support. * [2f79a52] base.html: Use HTML5 "header" element. * [c9400c4] base.html: Use HTML5 "nav" element. * [2d45669] base.html: Use HTML5 "main" element. * [17f674b] base.html: Use HTML5 "footer" element. * [08c8e79] base.html: Fixup "nav" elements: One nav for header (omit title); make all navs use "ul" for nav items. * [390b854] base.html: Fix names: [h]title, [h]subtitles used for both head.title and HTML header title (these should be the same, but django does not allow DRY here). * [64d5374] base.html: Renice order. * [20c5252] base.html: Fix header ot have nav0, nav1. * [f636278] base.html: Clean up messagelist, add title zo main.header. * [7e53019] views.py, django_settings.py: Move COMMANDS (previously for API index only) to generic context. * [d4ec564] base.html: Rm 'API Index' page -- instead have an elaborate drop-down menu item "API" in nav0. * [ba0678b] api.py (Commands.menu()): New method: Create actually grouped/py structure (to help w/ creating the API menu in HTML). * [d723731] base.html: Structure API menu w/ groups. * [8a4279d] home.html: Rm "Toolbox": Now all in the API menu. * [bedbd2c] mini-buildd.css: Improve body.header. * [bddb332] devel (mbd_installdeps): Install build-deps last. * [d44c389] devel (mbd_installdeps): Add libdistro-info-perl (avoid warnings). * [921bc69] client.py (Client.api): Fix: Avoid error if daemon_msg list is empty. * [fe09d1f] mini-buildd.css: More bulk remove (rather re-do from scratch). * [52816fb] mini-buildd.css: Separate admin.css again. * [32a5b9a] includes/mbd_api.html: Rm extra "div" ("form" now top level element). * [732e1bc] mini-buildd.css: Top menu in one line again. * [3cb3f95] base.html, *.html: Rename block: "content"->"main". * [56dcc92] html: Do API call confirmation via javascript. * [2c7366b] includes/mbd_api.html: Add call args to confirm window. * [e19ff24] home.html: Fix key for 'builder kill' api call. * [510b6ff] home.html: Fix key variable for package kill. * [12b2c78] home.html: Use h2 (not h1) for packaging, building. * [aa72f68] home|base.html: Mv 'API' from top menu to home menu. * [7f8aef3] home.html: Rm extra "div" from main block. * [e7ff195] home.html: "Configured: Bundle Repositories,Chroots,Remotes. * [d7f8a0a] mini-buildd.css (body > header): Fix css syntax. * [b48971c] home.html: Use more 'details' for content menu. * [7c5e22c] mini-buildd.css: Make "details in details" indent. * [c72a32c] django_settings.py: Enable site caching (with 'all-default' (memory) backend). * [3cecad5] home.html: Home nav: Use details, not ul. * [3803547] repository_detail.html: Rm superflous html elements (ul, div) * [b82c11d] mini-buildd.css: Make api display "flex" for now. * [413ae31] Revert "django_settings.py: Enable site caching (with 'all- default' (memory) backend)." * [7d319eb] home.html: Merge repository_detail.html. * [aad8894] reprepro.py: Rm debug (occurs too often to be helpful). * [330d09c] mini-buildd.css: Use CSS grid for header, more simplifications. * [0249584] web: Better names: main.css|js, not mini-buildd.css|js. * [e60cb8f] views.py: Add new "snippets" view. * [8ef1758] main.js: Add (initial) function to load snippets. * [11815ef] includes/mbd_snippet.html: Add snippet includes. * [7d7e6e6] home.html: Update Packaging+Building to new 'snippet setup'. * [267677a] home.html: Update Events to new 'snippet setup'. * [38a68bc] home.html: Update Crontab to new 'snippet setup'. * [748df9d] home.html: Update Repositories to new 'snippet setup'. * [32e2cfd] home.html: Update Chroots, Remotes to new 'snippet setup'. * [20a6e43] main.js: Show 'wait' cursor on any 'ajax' activity. * [bfb9e12] snippet, js: Use extra content element (fix clearing details summary). * [15449d6] main.js: Switch to to under_score, not camelCase. * [fd8dc11] main.js: Indent fix, reordering. * [19cc0f8] snippets/events.html: Fix: Enable jquery datatable in snippet. * [edb1aa3] snippets/packaging.html: Update to jquery datatable. * [a3e655f] snippets/building.html: Update to jquery datatable. * [d01491e] home.html: Cache API menu (increases time per request for home by factor ~6). * [b6d82ed] control: b-d: Remove max version restriction (<< 2:3.1) for django. * [621af43] base.html: Add (commented) code to show debug/context. * [8954c3e] django_settings.py: Generic context: Simplify, and prefix with "mbd.". * [7205897] views.py: Omit "daemon" from home and snippet context (use 'mbd.daemon' from generic). * [25f3a1e] views.py: hom/snippet: Omit extra repo/chroots/remotes context vars, just use generic 'mbd.daemon...' * [38acc88] views.py: AccountProfile no longer needed. * [21c346b] urls.py: Rm URI '/repositories/': No longer used. * [ba22ccf] views.py: Rm extra view code for 'home' -- this can be just a standard template view now. * [a10f497] urls.py: Update to 'simplified-url-routing-syntax', and pimp django min dep to 2.2. * [fbf19a9] views.py: Cosmetics for error views. * [b1d8a18] views.py: Class based views for Home and Snippet; mv generic context to top-level View class. * [463f355] views,urls.py: Update more path_re() -> path(), generalize SnippteVire-YTplView. * [af410bf] urls.py: Update all mini_buildd urls to "path". * [464029d] urls.py: Update 'admin' urls to path(); omit 'admin/doc' (not really useful). * [c1aee56] urls.py: Update "registration" to path(). Obsoletes 're_path' altogether. * [7b26abc] views.py: Add LogView (make log view class based). * [52264bf] views.py: Add LiveBuildlogView (make live buildlog view class based). * [06f2f99] views.py: Put custom error view functions 1st. * [403dae9] views.py: Add config.py (as "mbd.config") to generic view context. * [774b038] views.py (LogView.dispatch): Merge generic context. * [ce120c0] mini_buildd_tags.py: Add "mbd_cat": Cat any (text) file. * [4aac606] mbd_file.html: Add include to show a file inline. * [98b195a] file.html: Add standalone page to show a file. * [aea55f3] views.py (LiveBuildlogView.dispatch): Use new file page for live buildlogs. * [ad3eaa2] log.html (Build logs): Use new file include to show build logs. * [ec2eeb3] includes/mbd_file.html: Fix var name: 'file_name', not 'file' * [8035ba4] log.html: Use file include for changes. * [8f569df] log.html: Simplify. * [4084196] views.py (View.setup): Overwrite setup() in top level view; update special "mbd context" via private class var. * [b5b7da7] views.py (LogView): Update to new context setup. * [3ead6ec] views.py (LiveBuildlogView): Update to new context setup. * [27caa3b] views.py (LogView): Simplify && make work again for "failed" case. * [0b4ea64] views.py (LiveBuildlog|LogView): No need to call super().setup w/ mbd vars. * [85bbd30] views.py (LogView.setup): Further simplify; remove 'double context'. * [c837e4d] urls|views.py: Don't customize 404; add missing 405. * [f9ee270] views.py: Error views: Use http.HTTPStatus. * [4ee821c] client|views.py: Drop feeding (possibly lots) messages through HTTP header -- only one error description now. * [02d993c] views.py (View.setup): Ignore attribute-defined-outside-init for _mbd_context. * [c62a352] devel: New configurable var: MBD_DEBUG. * [64c0353] views.py (PathView): Rename TplView->PathView, minor cometics. * [cbcf097] views.py: api() view: Skip extra try catch (to default to BAD_REQUEST). * [80b787a] devel: Handle MBD_DEBUG in profiles. * [2645137] views.py: Add initial Middleware for generic error (exception) handling. * [36fbb52] config.py (cfield_exception): Add common function for HTTP header error field. * [b64bd91] urls.py: Remove custom error handler config (will be replaced by new middleware). * [257c32e] error.html: Update to new middleware setup. * [1bc2d8b] django_settings.py: Actually configure new exception/error middleware. * [7b15e8d] views.py: Remove all old custom error handling code; in api view, raise new HTTPExceptions instead of returnin responses. * [c6c9e79] api_show.html: Rm top level divs. * [275d980] api_show.html: Rm (no longer existing) link to repo overview. * [9f4faa7] api_show.html: Update to jquery datatables. * [2aa3b39] api_show.html: Make "details" menu repo.codename -> table. * [38b006b] api_list.html: Update to details-based menu (repo -> table.) * [f5734f1] api_list.html: Update to jquery datatables. * [f2ace9f] api_show|list.html: Have details open by default. * [a5e5856] mini_buildd_tags.py: Rm tag 'mbd_title'. * [bad32e6] views.py: Update api view to class based. * [c7b27f7] views.py: API: Don't use django shortcuts. * [5dd7552] views|urls.py: Add and use class based view for AccountProfile. * [8e65184] main.css: More classes cleanup: Rm unsued, prefix w/ mbd-. * [c425f79] admin/index.html: Revert wrong block renaming: content->main. * [074ddc5] admin/app_list.html: Rather overwrite app_list.html (include) than index.html. * [4162f6b] admin/app_list.html: Some cosmetcis on "header". * [6d66cf7] admin.py: Move models/__init__.py here (this seems to be django admin convention; eliminates explicit register call). * [c2064d2] urls.py: Skip running autodiscover() ourselves (django seems to do that by default). * [0d489ee] admin.py: Create custom AdminSite class. * [6902297] admin/index.html: Revert to overwrite index.html again (app_list.html not supported in django 2.2) * [f1846f9] admin/index.html: Skip base_site override ("branding"). * [84b7b23] admin/index.html: Add (commented) debug snippet. * [8a5479a] admin.py: Add custom site header and title. * [94b3743] admin.py, admin/index.html: Do most date processing in AdminSite: App and model ordering, extra data for mini_buildd app. * [337f5fd] admin/index.html: Sync w/ py-django 2.2 template. * [b8aeb8e] admin/index.html: Put preliminary mini_buildd extra content to mini_buildd app only. * [68ba0e7] includes/mbd_model_count.html: Update to use classes only, not explicit styles. * [7223d36] admin/base_site.html: Overwrite base_site again (to get same css/js in all pages). * [cec82ef] main.css: Simplify css for messages. * [a1db9a8] main.css: Cosmetic reordering. * [6e8977a] main.css: Fix selector syntax: mbd-nav-search-and-user. * [1a93315] main.js: Move "admin button magic" js code here. * [e15ee61] templates/**.html: Bulk-remove obsoleted type="text/javascript" for script element (fixes validator warnings). * [a09a2a9] base.html: Rm (basically unused) JS blocks. * [a2ffe26] templates/**.html: Bulk-fix multi 'load' commands to single. * [e2204b5] mini_buildd/*.html: Bulk-cleanup to use only one 'title' block. * [bd70195] base.html: Move to top-level templates dir (used by various apps). * [dff1453] views.py: Add separate function for generic context. * [4b57532] views.py: Mv generic context back to plain context processor function. * [23775f1] views.py (LogView): Override get_context_data(), not setup. * [b342c33] views.py (LiveBuildlogView): Use get_context_data() (not setup()) to extend context. * [6c26f97] views.py: Generic View class now no longer needed. * [f1c9553] views.py: API menu context: Only for home view. * [bd3bb27] snippets/events.html: Show in ascending (was desc) timestamp order by default. * [efeeaf0] admin/base_site.html: Add jquery.js (fixes js error). * [29a68eb] urls.py: Make path URL work for any '*.html' path. * [a60ed13] base.html: Link config,admin as iframe. * [f496fd6] api_default.html: Update to extend from base. * [b94c991] includes/mbd_pre.html: New include for plain text view w/ copy-to-clipboard. * [4c9ff87] snippets/events.html: Use mbd_pre include. * [41524c8] snippets/repositories.html, tags: Add tag 'mbd_distribution_string'. * [602c4c3] snippets/repositories.html: Use apt_pre include for all "raw text". * [5b6eacf] includes/mbd_file.html: Update to mbd_pre. * [1528d0c] api_default.html: Update to mbd_pre. * [0e5c719] repositories.html: Put browse links into resp. summaries. * [362acb0] main.css: Use 'mbd' prefix for clipboard. * [a2a01fc] base.html: Make js clipboard support available on any page. * [44a6420] mini_buildd_tags.py: New tag: mbd_hash. * [e0922b0] mbd_pre.html: Use hash from given id for html class id (avoids possible wrong class id syntax). * [7c448af] base.html: Reorder includes in header. * [51276ba] django: Rename "mini_buildd_tags" -> "mini_buildd" (this is already in 'tags context'). * [a37ec89] mbd_api.html,css: grey-out api button if needs login. * [d0e7997] mbd_api*.html: Rm 'show_doc' support (not used). * [9902ebc] mbd_api: Move most logic from template to tag. * [da60cac] base.html: Mv DPT link to api_show. * [6a5198d] templatetags/mini_buildd.py: mbd_api: Simplify code. * [672eca2] home.html: Use 'full' api view in api menu. * [a281b6d] main.css: Simlify header layout. * [c1f8425] base.html: messages into main as "aside" element. * [29a0d32] main.css: Add prefix "mbd" to all all color classes. * [8c9b601] main.css: Rm class 'smaller'. * [45a6f0f] main.css: Don't use one-liner notation. * [a1bc29d] main.css: Alos fully classify main and footer. * [bc898a0] main.css: Add mbd-Prefix for all messagelist classes. * [fd556fc] Rename main.css|js -> base.js|css. * [71d3f5e] base.css: Identify header,footer,main w/ classes. * [043cd7f] base.css: Merge admin.css. * [c6e56ed] doc/_templates/layout.html: Fix css and logo links. * [d9c5596] base.css: Merge sphinx.css. * [6801e23] base.css back to mini_buildd.css (now all css is in one file). * [9c9f4c2] Revert "base.html: Link config,admin as iframe." * [0e87b28] mini_buildd.css: Merge admin button css to 'generic color section'. * [1f779a9] mini_buildd.css: Rm bunch of unused admin CSS. * [dec1e55] includes/mbd_model_count.html: Update to mbd-Prefix. * [6fc0b38] admin/index.html: Fix 'wizard' api display, add/changre format. * [d017777] mini_buildd.css: Logo via class. * [88df1e5] admin/confirm.html: Revert wrong former block rename content->main (only for mini_buildd templates). * [7f9955a] admin.py: Only use 'index_title' (seems to be only thing actually displayed). * [6b7f764] admin/base_site.html: Minimize (only add css, js and favicon now). * [9877fb3] Better name for custom confirm template: confirm.html => mini_buildd/mbd_action_remove_confirm.html. * [687a97f] mini_buildd.css, *.html: Bulk remove non-prefixed classes, minor cleanups. * [a40d6b2] mini_buildd.css: Use grid for footer. * [110ab90] mini_buildd.css: Make logo s/what smaller, and align middle. * [ab186ea] mini_buildd.css: header: Fixup "ul" margins and paddings. * [7200de3] Bulk-remove all remaining static 'style=' from html templates. * [b9d9000] mini_buildd.css: Rather use margin-top|bottom (instead of margin-block-start|end). (Fixes css validator complaining) * [0232423] mini_buildd.css, api*.html: Use grid layout for optional api args. * [3dfdf2f] mbd_api_arg.html: Remove extra "details" tag for arg input fields. * [2009cdd] home.html: Rm extra details tag in api menu. * [8e76e39] mbd_api.html: optargs: Display details inline && add background. * [7962521] mbd_api_arg.html: rm unused 'class' for label. * [93fd5c5] mbd_api.html: Put div (class=mbd-api) around api (again) (some css just does not work w/ form). * [85c2a61] mini_buildd.css: Background whole api, not just optargs. * [99288a3] css, mini_buildd/home.html: Display api block-inline. * [ba7353a] cron.py: Job: Rename class var typ->type (analog to events: key names should not matter for class vars). * [20031e6] cron.py: Job: Make 'next_run' and 'desc' class vars public. * [c555ab7] mbd_snippet.html: Add reload button. * [774be05] mini_buildd.css: Rename class 'mbd-successful' (not used afaict) to more conforming 'mbd-success'. * [3c6cadb] events.html: datatables: Fix ordering of 'timestamp" using 'data-order' attr (and properly use "desc" default order again). * [e96faed] cron.py: Update for better log/display purposes. * [599eb52] daemon.py: Add code help debugging crontab. * [275f92d] snippets/crontab.html: New crontab display based on jquery datatables and updated cron implementation. * [0d8c62e] mini_buildd.css: Make messagelist classes truly uniqe to messagelist. * [9e3aa41] misc.py: Rm local2utc: Obsoleted. * [45b5888] cron.py (_Job.Log.seconds): Remove (unneeded) datetime tz aware test. * [c1f76e2] mini_buildd.css: General re-order && cleanup. * [03a2f6f] home.html: Rm html caching for api menu (does not bode well with dynamic API display and login change). * [16e484d] admin/base_site.html: Return of branding. * [a6019fd] Rename logo.svg -> mini-buildd.svg. * [440e04e] base.html: Put all user navigation (login/out,profile,register,reset) into header, mbd-nav1. * [a35bf36] base.html,registration: Improve user menu && simplify registration templates. * [aa52228] mini_buildd/account_profile.html: Make independent from registration templates. * [226d173] registration/password_change_form|done.html: Rm, no need to customize these. * [7e0fe9d] templatetags/mini_buildd.py: mbd_api: Add "mbd" and "request" to context. * [bfc8ec2] config.py: Fix login path to admin app default login path. * [a023433] mbd_api.html: login && api path: Use values from config.py rather than hardcoded. * [f7f4459] mbd_api.html: Use separate form for auth_err case, add 'next' handling after login. * [6cfbb4e] registration/login|logout.html: Rm, now obsoleted (using "standard" admin app login/logout). * [1315e89] registration/password_reset_done|form.html: Both not actual customizations, and not needed. * [664009d] registration/password_reset_*: Remove all customization around password reset (not-actually-custom or not functional anyway). * [c9032be] registration/login.html: Add again, using 'admin/login.html' as-is via 'extends'. * [6d9c856] urls.py: Clean up accounts/ urls. Add default urls for 'admin' and 'registration' only. * [093f9c0] config.py: Update login URL to accounts/login/ again. * [492b5ba] base.html: Add "change user" to logged-in menu. * [38a08f0] urls.py: Rm now-obsoleted import d.c.auth.views. * [a3eee43] registration/activate.html: Rm -- this template is not used (as per doc && tests). * [3c11c40] registration/*.html: Update all reg. templates to extend from base.html, and remove obsolete registration/base|simple templates. * [fee7af6] base.html: Minor updates to user menu. * [8d667fd] registration/activation_email_subject.txt: Update to "sign up" wording. * [62a3c5a] registration/activation_email.txt: Support {{ scheme }} (for p-d-registration >= 3). * [85c5a01] Update clipboard.svg, add download.svg, reload.svg (from public domain openclipart-svg Debian package). * [0a1d81c] * src/mini_buildd/templates/includes/mbd_file.html: Add support for direct download button. * [6fadad8] includes/mbd_pre.html: Put clipboard button on top. * [2bebd2c] log.html: Support direct download link for buildlogs && changes. * [734e467] mini_buildd.css: Generalize CSS for clipboard, download and reload. * [9ebde01] templatetags/mini_buildd.py: Add 'mbd_token' tag (utilizing uuid.uuid4()) as general means to produce unique ids. * [881e187] includes/mbd_plain.html: Combine/replace mbd_file, mbd_pre. Uses mbd_token for unique ids, adds direct download support. * [f35b1af] mbd_api*.html: Switch to use mbd_token; rm mbd_hash tag and extra 'tag_id' in mbd_api context. * [2af9709] devel: profiles: Add 'production' switch (disable all debugging). * [facddbb] urls,views.py: Fix up custom error handling -- overwrites django defaults for 400,403,404 and 500 again (still needed) in addition to middleware. * [c0bc6ee] devel (mbd_run): Don't run funcs in expression (Fixes: No error errexit in function code). * [de06b92] includes/mbd_plain.html: Sanitize arg names: file_path, download_uri. * [c65d601] templatetags/mini_buildd.py (mbd_cat): Rather open file in proper text mode in the 1st place. * [9bd48d2] mini_buildd.css: 'info' should rather be blueish, not greenish... * [c43fa98] templatetags/mini_buildd.py: Initial "buildlog index guesser" support (for now, sbuild section headers only). * [7467246] buildlog index guesser: Add support for fatal make errors. * [acdd4d7] mini_buildd.css: mbd-warn should rather be mbd-warning (corr. to py logger function). * [68ef75f] /mini_buildd.css: Add bg colors for red and gold (better readability). * [3d4eca3] buildlog index guesser: Add support for lintian warnings and errors. * [51389fa] devel: Rm "api index" tidy (html) test (that location has been removed). * [4c22fdf] views.py (LiveBuildlogView.get_context_data): Fix context name. -- Stephan Sürken Tue, 10 Nov 2020 14:13:34 +0100 mini-buildd (1.9.2) experimental; urgency=medium ** 1.9.x are _development_ releases, use for testing only. ** This fixes another FTBFS, and adds a test to build ourselves to avoid this embarrassment in the future. * [a64690d] devel (changelog): Update snapshot version so it is suitable for later test upload. * [3fb777e] devel (build-ourselves): Add check to build ourselves. * [8ea022f] devel (mbd_dput): Add general func for dput. * [08afe12] models/source.py: wizard: Autogenerate 'Debian experimental' (source+prio source). * [1c7f9a9] mini-buildd-events: "--type" -> "--types", and fix doc (after nargs update). * [0490f42] rules: Don't run doctests for now (fixes FTBFS on buildds). -- Stephan Sürken Thu, 03 Sep 2020 16:14:23 +0200 mini-buildd (1.9.1) experimental; urgency=medium ** 1.9.x are _development_ releases, use for testing only. ** Intermediate release mainly fix FTBFS. Fixes full test suite run w/ SSL enabled. * [d84151c] devel: Calls mbd-api,events,dput with full debug. * [0b6d54a] devel (mbd_supertestall): Generate log files in ../. * [793814d] mini-buildd-dput: Skip mini-buildd internal restrictions on changes (i.e., use changes.Changes, not changes.Upload). * [fe2965f] devel (testsuite-packages): Adapt/simplify to changed m-b- dput (can now upload unfinalized changes). Fixes this test for ssl. * [1081282] devel: Rather use apt-get (not apt) as we are a script. * [437c2ed] devel: Rm 'extra-packages' tests. All these (local!) dsc's have now been integrated to 'testsuite-packages'. * [373944b] control: Add b-d and dep or-utils: python3-apt (fixes FTBFS). (Closes: 964557) * [f21c2cb] control (Build-Depends): Fix 'contrib' module name in comment. -- Stephan Sürken Tue, 01 Sep 2020 18:19:40 +0200 mini-buildd (1.9.0) experimental; urgency=medium ** 1.9.x are _development_ releases, use for testing only. ** Issue Soup, plate VII: Armageddon This release updates to 1.9.x versioning scheme (indicating that next stable will be 2.0.x, and we are getting closer;). It addresses various mixed issues -- some of which demanded severe internal refactoring. Let's try to summarize what's user-visible: - Further improves 'events' format and handling; merges 'notify' (E-Mail). - REJECT on uploads with unfinalized changelog. - testsuite now tests far more use cases. - threads: Faster shutdown (remove polling). - Builds may now be killed manually (via API call). - Removes SIGHUP capability (there really is no use case). - Command line args syntax for lists is now '--list a b' (was '--list a --list b'). - API 'getsourceslist' overhauled, added ability to set apt line options. - Simplify default apt 'archive id' (origin), and add ability to customize. [ Stephan Sürken ] * [c5d4f48] builder.py (Build.mbd_run): Indent fixes. * [0d76cc0] repository.py: Minor formal code improvements around package install. * [4b4ee21] builder.py: More reasonable debug logs on live logs expiration. * [0ac756d] builder.py: No need to use django timezone util for UTC (any more). * [6f3062c] repository.py (Repository.mbd_package_install): On binary package install failure, revert to rollback0 (Fixes possibly partially installed packages). * [9497ba3] changes.py (Upload.__init__): Forbid 'unfinalized' changelog entries. * [bab4bc9] changes.py: With dedicated 'Upload' class, Options parser can now be initialised in constructor. * [0c45875] daemon.py: Re-order code. * [6621224] daemon.py (DaemonThread.mbd_run): Simplify code. * [50d211a] daemon.py: Rename start, stop, restart: Prefix _mbd (prepare class Daemon to be Thread itself). * [d07dd94] misc.py: Alternative Thread impl Thread1. * [8268706] httpd.py: Update to Thread1. * [a3d3a6c] ftpd.py (FtpD): Update to Thread1. * [8eeb43f] daemon.py (DaemonThread): Update to Thread1. * [235cbda] cron.py (Tab): Update to Thread1. * [42a7f0c] builder.py (Build): Update to Thread1. * [f1b1e99] builder.py (Builder): Update to Thread1. * [2b44add] Merge Thread1 -> Thread. * [98b91c6] daemon.py: Merging DaemonThread w/ Daemon (sort of carnage atm; not all works again). * [192dba8] misc.py: Add (commented) debug log for temp use. * [1a15833] misc.py: Add Singleton class (following metaclass template). * [a8a6c88] daemon.py: Use Singelton class (instead of using globals). * [d2b00ce] daemon.py: Daemon: Treat Daemon class naturally as Thread; start/join in mini-buildd, mbd_start/mbd_stop now only handles incoming (most things continue to work ;) * [10383a4] packager.py: Fix stray build result error wording: Rather "not packaging" than "not building". * [a29cad9] builder.py: Fix: Don't use event Thread class for building. * [6e4418e] daemon.py: Thread: Make *most* class vars '__init__ only'. * [28e9329] ftpd.py: Instead of (mis)using __del__, properly overwrite join(). * [7ed555d] misc.py (Singleton.destroy): Add destroy method. * [f11c6ed] daemon.py (Daemon): Get rid of extra mbd_start(), mbd_stop(). * [b422c70] daemon.py (Daemon): Get rid of extra is_running() (just use thread's is_alive()). * [2c546b3] daemon.py (Daemon): Remove (now no-op) is_busy(). * [b63b8ae] daemon.py: Move model getter to models.daemon. * [b37dfac] daemon.py: Don't start subthreads in __init__ -- rather overwrite start(). * [22451d0] daemon.py (Daemon): Use dict for subthreads. * [1f8e521] daemon.py/cron.py: Switch to nicer notation for tab.add(). * [4c1023e] builder.py: Convert _expire_live_buildlogs() hack to weekly daemon cronjob. * [48d9558] daemon.py: Rather use list for threads. * [a93a508] debian/control: Need twisted >=20 to make events work. * [19a4ad5] daemon.py: Daemon class: Order methods. [ Stephan Suerken ] * [10e797e] devel: Use auto codename ${MBD_CODENAME} consistently (Fix: sid/buster still occasionally hardoded). [ Stephan Sürken ] * [23c2a0d] misc.py: Rename Thread -> EventThread. * [c67714a] misc.py (EventThread.__init__): Get rid of explicit daemon arg. * [f71d297] misc.py: Call task_done from EventThread. * [4d28e32] builder.py: Get rid of extra func build_close() (used only once, here). * [627baab] misc.py: Add PollerThread. * [c2e09d8] builder.py: Use Daemon singleton. * [3ecd267] packager.py: Use Daemon singleton. * [33bebbd] daemon.py: Remove get() in favour of Daemon() (singleton call). * [5ce9211] models/daemon.py: Re-fix Daemon save (we still need extra update_model() method). * [1e6ce79] models/daemon.py: Remove two unneeded calls to mbd_daemon(). * [6a6ce3d] daemon.py (Daemon.get_active_remotes): Remove, not used. * [4f924d1] daemon.py: Fix in-code wording: builds -> building, packages -> packaging. * [2350749] Revert "misc.py: Call task_done from EventThread." * [3b52472] Web home.html: Move crontab && toolbox down. * [e987cf7] builder.py (Build): Add support to kill() sbuild run. * [6ff3a5b] builder.py (Build): Add event log 'info'. * [bd88cf5] builder.py: Move 'building' dict to Builder. * [d578bbb] packager.py, daemon.py: Make 'Packager' its own thread (analogous to 'Builder'). * [366abac] builder.py: build_queue: Feed with Changes instance directly (no need to init Changes again). * [4a60b21] builder.py: Conformly rename "build_queue"->"builder_queue". * [f6dea7a] src: Bulk-remove some unnecessary f-strings (new pyflakes warning). * [a6f0c58] call.py: Fix pyflakes warning. * [61e97a8] mini-buildd-super-portext: Fix is_satisfied() method calling (triggered by pylint 2.5.3 warnings). * [70ba415] pylint: repository.py, source.py: Fix four invalid-str- returned warnings for __str__(). * [daf6cfe] daemon.py: Workaround for pylint crash (https://github.com/PyCQA/pylint/issues/3742). * [67fbbb0] API: New command "kill": Stop ongoing build arbitrarily. * [c99fa9a] HTML: mbd_building.html: Add "kill" API call to 'currently building' table. * [4475b53] builder.py: sbuild: Retrieve retval from wait() directly. * [d9eb58b] builder.py: Make Build thread non-daemon, and properly join(). * [e0f90e0] daemon.py: Fix thread order; do shutdown()+join() both at once. * [97fa94e] builder.py: Remove the (historic) extra status of a Build object. * [cf55e06] packager.py: Remove the (historic) extra status of a Package object (some compat still). * [e51fb96] misc.py: Rm (now unused) class Status. * [c8507f6] builder.py: Some structural changes (obsoletes extra BuildQueue class, and stops fiddling with 'globals' in Build class). * [b69c486] packager.py: Move packager queue to Packager class. * [e1b8c85] builder.py: Drop sleep(), use maxsize queue to limit parallel builds. * [621994e] packager.py: Fix/regression: Make new class vars not conflict w/ heritage. * [f202a84] .prospector.yaml: Sanitize pylint 'max-public-methods' (after Changes refac). * [b1d5110] events.py: Event: Support additional fields: 'maintainer', 'changed_by' and 'urls'. * [4aade81] .prospector.yaml: pylint: Adapt max-public-methods, max-args to more worldly values. * [e81e76d] changes.py (Changes.get_pkglog_url): New method to get pkg log URL (currently manually assembled in template only). * [bfab77a] models/daemon.py (Daemon.mbd_notify_event): New method (currently wrapping mbd_notify()). * [e3a101c] events.py (Events.logchanges): New convenience method (to get most fields from changes automatically). * [b2b8d58] config.py: Add HTTP_PATH_LOG constant. * [6dd5917] events.py (Events.logevent): Enable (email) notify for events. * [22d5d86] Event: Update all (but) one event log call. * [99e817e] devel: Adapt testsuite (MIGRATE will now show the "from" distribution). * [0b94bb7] packager.py (Package.install): Move INSTALLED event log to packager. * [2f9d2c8] packager.py (Package.autoports): Give automatic ports it's own method. * [16b1c62] devel: Add convenience shortcuts to build one test/keyring package. * [99b904d] packager.py: Install: Slightly re-design to make hacky EventException workaround obsolete. * [5c67bd8] packager.py: Improve logic of 'installer part' (avoids double package_close()). * [a4bd40b] packager.py (Packager.run_event): Rather check explicitly for 'Upload' type. * [abe61cf] models/repository.py (Repository._mbd_package_migrate): Switch back to deliver destination dist on MIGRATE event. * [909b5c8] models/repository.py: Rm mbd_package_notify() (and calls for events MIGRATE and REMOVE). * [c376b1f] devel: package build shortcuts: Add support for additional arguments. * [b595605] daemon.py (TestPackage): Add support to test auto-ports. * [8696254] api.py (TestPackages): Support auto-ports. * [584f27f] devel: Add auto-ports test to test suite. * [0ca7af9] packager.py: Code cleanup: Puts event logs at same "level" and makes 'port report' available in events. * [226293c] packager.py: Remove extra (email) notify code. * [cc59d75] daemon.py: Remove extra (email) notify code (for 'invalid changes'). * [7387a73] models/daemon.py: Rm all "msglog" code from mbd_notify(). * [f4ebed4] models/daemon.py: Merge mbd_notify() into mbd_notify_event(). * [ff6a8eb] models/daemon.py (Daemon.mbd_notify_event): Make this never fail, just log on error. * [8e69056] models/chroot,repository.py: mbd_reprepro, mbd_path: Rather use class vars than method. * [8ca24f3] src/*: Bulk-replace misleading field name "sourceversion" by "version". * [8ebc233] misc.py: Add commmon Thread class, Mandates shutdown() method only. * [41a94b3] ftpd.py: Update to new basic Thread class w/ shutdown() method (eliminates polling). * [6633b09] httpd.py: Update to new basic Thread class w/ shutdown() method (eliminates polling; actually call reactor.stop()). * [a7fc2d3] config.py: Add global "SHUTDOWN" object (so it may be used outside Thread context as well). * [b26daff] config.py: SHUTDOWN: Use str object (just more handy for logging) && fix Thread to always use object comparison ("is"). * [ee0945c] events.py: Send SHUTDOWN to clients (fixes httpd shutdown when event clients are connected). * [4fe4296] httpd.py (Events._render): On SHUTDOWN, issue resp. error via HTTP status. * [0e3b45f] Add debug logs when threads are finished. * [fbda719] cron.py: Decrease polling timeout from 5 to 3 seconds (improves shutdown delay). * [6c91093] mini-buildd: Properly start(), shutdown() and join() httpd thread. * [f15b321] mini-buildd: Remove support for SIGHUP (reload) (no real- world use case, proper service restart is nearly the same). * [ba9e084] devel: Add helper 'signal'. * [978c1e8] mini-buildd: Simplify signal handling: Overwrite TERM, INT, HUP: Proper shutdown, everything else default. * [f836ba0] mini-buildd: Merge run_daemon() into runcli(). * [f964c35] misc.py (Thread.__init__): Add subthreads support. * [3860a50] daemon.py (Daemon): Use subthreads. * [5aab9ad] httpd.py (HttpD): Don't run as daemon thread. * [21d47c9] devel: Add 'pid' helper shortcut. * [525f213] src: Remove two left-over task_done() calls (we don't join any queues). * [2e6f37c] packager.py (Package.extra): Merge changes.extra(). * [0d191bb] events.py: Fix: Event log replay should be reversed. * [1f9a93b] events.py (Event): Remove field "urls": Now in extra. * [cf8ab03] src/*: Bulk update wording: "package"->"source" for all uses of "package(s)" as "source package(s)". * [459f9bb] events.py: Move position for timestamp arg. * [85e0e2a] events.py (Event): Move all non-mandatory fields to field "extra". * [9c175b3] events.py: Harden event code. * [b4caa83] misc.py (PollerThread.get_event): Renice implementation. * [a4b8bad] devel: signal: Make work for multiple pids. * [5974c3b] misc.py (PollerThread): Return w/o delay on shutdown() (fixes (idle) daemon stop delay due to crontab). * [cdc280f] misc.py (DeferredThread): Adopted from builder.Build. * [3365be9] threads.py: Grant 'threads' their own module. * [21a01dd] builder.py (Build): Simplify upload code. * [71d3a6b] Fix three forgotten spots for the package->source renaming. * [a8d691d] Bulk-update naming convention for 'changes' vars: Use "upload", "buildrequest", "buildresult" where appropriate. * [b7f53e8] packager.py (Package.precheck): Move "Changed-By empty?" check here (for now, this is the correct place). * [a31bb0e] daemon.py..: Queue incoming events (changes file names) only, construct Changes objects later. * [9323c86] changes.py (Upload.__init__): Move "Changed-By empty?" check back here now (and let m-b-dput profit from early error). * [4375757] builder.py (Build): Make buildrequest class var "public". * [a4c9a81] events.py: Cosmetics: Put (automated) timestamp field last. * [beb2ade] changes.py (Changes.key): Bulk-replace confusing 'get_pkg_id' method by 'key' property. * [18c7b13] packager.py: Don't use extra var for key. * [6020729] devel: extra-packages: Don't fail if m-b-dput fails (as we now catch 'unfinalized' in user space already). * [e98e3f3] Add 'share/testsuite-packages' (static packages for testsuite): Add inital package 'unfinalized-changelog'. * [f9e4d81] devel: Add support for testsuite-packages. * [2d3785c] events.py: Add 'REJECTED' log event. * [b4fa1c8] packager.py: Let master exception handler try to add changes data to log. * [31ebe64] packager.py: Use new type REJECTED for master handler fail. * [2dd0efa] devel: testsuite: unfinalzed-changelog: Automatically test for correct behaviour. * [91ad5b8] .gitignore: Update for new testsuite dir. * [9d6694f] share/testsuite-packages: New package test 'unknown- repository'. * [e80d7fc] devel: testsuite: Auto checking 'unknown-repository'. * [d7f2ca0] share/testsuite-packages: Make package name prefix with event to expect. * [86e4bdc] devel: testsuite: Fully automate (albeit exception cases handling) package tests. * [9456466] packager.py: Initial fix for FAILED, REJECTED separation. * [d3d110d] packager.py (Package): Make Package construct from event directly. * [2e1d96e] packager.py: Deletion from packaging dict must be in Packager itself. * [1ee20d4] packager.py (Package.__init__): Remove superfluous 'pid' class var. * [f7f764b] packager.py (Package.__init__): Merge validate() into constructor. * [9591991] packager.py: Get rid of package_close(). * [a757dfa] views.py: API: Don't 'weblog' json results line by line. * [3ea4d57] builder.py: BUILT event: Use "architecture" (like in changes), not "arch". * [6765e3a] mini_buildd_tags.py (mbd_get): Add 'arbitrary key getter'. * [f4267ef] builder.py: Remove all buildrequest shortcuts via properties (superflous, code more concise when access directly via buildrequest changes). * [5cefefc] templates: Match include file names with internal names and use singular: 'package', 'build', 'event'. * [88213ff] builder.py(Build): Make misc.Distribution class var (prepare mv/merge Compat). * [84f4017] misc.py (Distribution): Merge Compat class from builder here. * [5e4e32f] distribution.py: New module. * [fba2a7f] events.py: Rather always expect proper Type enums internally (i.e., remove implicit 'str' conversion). * [128ec34] distribution.py: Add "Codename" class. * [e1ed176] distribution.py (Distribution): Simplify code (use class vars, not properties). * [d98ae5e] distribution.py (Distribution): Make self.codename of class Codename. * [ff34b6f] distribution.py (Distribution.has_lintian_suppress): Remove, superfluous (this is already in Codename). * [32a068d] devel: Fix dput call (-v is --version only, not --verbose). * [2d583a4] mini-buildd-events: Fix behaviour when no type is given. * [87e0564] mini-buildd-events: Rather use '--type', not '--types' (arg needs to be given mult. times for a list). * [b35f520] distribution.py: Import apt_transport_,.. compat into Codename. * [5486721] misc.py (datetime_stamp): Add shortcut for all interal UTC stamps. * [abfd715] devel (mbd_testpackage): General func for testpackages (fixes redundancy). * [b582efe] misc.py (StopWatch): New class (for later use in builder/packager). * [b34c037] threads.py (DeferredThread): Use StopWatch() (as self.running) to control and measure deferred_run(). * [0d7af06] packager.py (Package): Use StopWatch (as self.running) to measure and control packager run. * [31a71c0] changes.py (Changes): Add generic "distribution" property, and a mapping variant for 'Upload'. * [ac1c1d4] builder|changes.py: Use new 'distribution' property. * [cac5833] models/repository.py (parse_distribution): Move here (from daemon.py). * [bfc7d2a] packager.py (Package): Obsolete extra self.distribution_string. * [adadb2e] misc.py (StopWatch): Add to_json(); replace "took" by this. * [b37122b] packager.py: Better names for internal class vars (installed, rejected, failed). * [2363681] builder.py: Rm obsoleted started+built stamps. * [ffcedb7] builder.py (Build): Mv auth to constructor. * [e1ac3a1] builder.py (Build): Drop extra _build_dir class var. * [077a191] builder.py: Rename some class vars (like in packager). * [7d4beb2] builder.py: Rm compat status, and simplify __str__(). * [a333def] builder.py (Build.__init__): key: Remove cruft '$' before arch. * [4db3da1] misc.py (StopWatch.__str__): Renice output. * [e6ed492] changes.py: Renice key format (@distribution). * [0c9492b] builder.py (Build.__str__): Drop. We will only need .key. * [d16d741] packager.py (Package.__str__): Drop (we will only need .key). Also drop superfluous status property. * [be14870] templates/includes/mbd_build|package.html: Simplify. * [b3fc66b] gnupg.py: Fix import order (cosmetic). * [52e32de] modesl/gnupg.py: Fix missing import (mini_buildd.client). * [2e9e6ac] config.py: Put constant for HTTP_MESSAGE_PREFIX here. Also add generic "field" prefix for later use in 'changes'. * [6ff6feb] daemon.py: Fix missing explicit import (config). * [9ba92c0] daemon|events.py: Use new global for X-*-Originally-Changed- By. * [32cf3b8] packager.py: Fix missing import. * [3c5fad7] models/repository.py: Three overlooked updates for 'distrinution.py/codename compat merger'. * [d44d7c6] api.py: logcat: Fix wrong bulk-update (from introducing 'events'). * [a44c385] api.py (Find): Fix one forgotten bulk-update ("package"->"source" update). * [84dd604] api.py (GetUploaders): Trigger keyring update. * [d250957] devel: testsuite: apicalls->api-getters: Test _all_ getter calls and move below build-port-migrate. * [a4a4ece] devel: testsuite: Add "portext" test. * [f3ff300] package.py: New modules for package classes. * [80141ec] changes.py: Add config.cfield(), changes.cget|set(): Helper for custom fields. * [6fb4569] devel (mbd_pythonkeyringtestconfig): Fix for python3-keyring 21.3.0. * [cbcfc9f] builder.py: Make all custom fields (for buildresult, buildrequest) actually use our custom prefix. * [12bc11a] builder.py (Build.build): Update "Arch-All" to custom getter. * [9c7dc46] misc.py (apt_line[p]): Add generic tool functions to generate an apt line (see man sources.list). * [d38c1a0] mini_buildd_tags.py: Log stack on error. * [31d588d] models/source.py (Component): Make class Component 'python- sortable' (skip extra compare function, just use sorted() on iterables). * [c6e26ab] models/source.py (Source.mbd_get_apt_line): Only one getter function, use general formatter function from misc. * [f310a52] models/repository.py: Update to new Source.mbd_get_apt_line && sorted(components). * [311b9e6] models/chroot.py (Chroot.mbd_check): Update to new Source.mbd_get_apt_line(). * [88b06bf] mini_buildd/daemon.py: Update to new Souces.mbd_get_apt_line(). * [70434b2] misc.py (apt_line): Fix unit tests (we no longer sort here). * [f04a5aa] models/repository.py (Distribution.mbd_get_apt_line): Use generic formatter function. * [ca9f47d] models/repository.py (Distribution.mbd_get_apt_sources_list): Update result to be a list of tuples (internally only for now). * [ca8483e] daemon.py (Daemon.mbd_get_sources_list): Use list of tuples internally. * [ea03a42] misc.py (AptLine): Upgrade apt_line() func to class (this will need to do more). * [4122442] misc.py (SourcesList): Fixes for AptLine class, add SourcesList class. * [0423e15] package.py: Fix apt_line usage. * [bda2692] models/chroot.py: Fix apt_line usage. * [c96ecc3] api.py (GetSourcesList): Rather use '--types' list than '-- with-deb-src'. * [5fbe8d6] models/repository.py (SuiteOption): Move all tool methods needing 'repository' to class Repository. * [a09604f] models/repository.py (Layout): Move all tool methods needing 'repository' to class Repository. * [66fdd0a] models/repository.py (Distribution): Move all tool methods needing 'repository' to class Repository. * [1a714ea] models/repository.py (Repository): Better name mbd_get_apt_sources_list->mbd_get_apt_build_sources_list. * [0a8ce7a] models/distribution.py: Move Suite, Architecture, Layout, Distribution to separate module. * [a51bf79] models/daemon.py (Daemon): Move (non-build) get_sources_list() to model. * [395bfa9] api.py (MultiSelectArgument): Add 'choices' argparse args (fixes argparse-completion). * [9175da8] api.py (MultiSelectArgument): Make this argparse 'append' type. * [37a423d] api.py (AutoSetup): Update for new MultiSelect. * [738df91] api.py (KeyringPackages): Update for new MultiSelect. * [d06c9b4] api.py (TestPackages): Update for new MultiSelect. * [be09c0d] api.py (GetSourcesList): Update for new MultiSelect. * [2349b3b] api.py (Find): Update for new MultiSelect. * [d031801] api.py (Port): Update for new MultiSelect. * [a9eaaba] api.py (PortExt): Update for new MultiSelect. * [952bd63] devel: Update to latest API changes. * [a09ba0c] api.py, mini-buildd-api: Add dedicated api_args() function, move to api.py. * [5215d5f] api.py (GetSourcesList): Add --options. * [227d8fd] api.py (GetSourcesList): --with-rollbacks -> rollbacks (this is just the number of rollbacks, not bool). * [20e10d5] api.py (GetSourcesList): --with-extra-sources -> --with- extra (we already are in "sources context'). * [d8e6aa7] api.py (GetSourcesList): Add --with-comment. * [d7fa569] api.py (GetSourcesList): Mv least important flags down (with-comment, with-extra). * [1bfb910] api.py (TestPackages): PACKAGES->TEMPLATES (naming in line with package.py). * [c74f183] api.py (MultiSelectArgument): argparse/non-positionals: Drop 'append', instead go for 'store' + 'nargs=+'. * [6cd2ade] misc.py (AptLine): Add 'mirror' support. * [2fa2c9e] mini-buildd, mini-buildd-events: Convert two 'append' args to 'store nargs=+' (to be consistent across all tools). * [cd66d08] misc.py (AptLine): 'options' and 'mirrors' via getter only. * [f81a8e8] models/source.py (Source.mbd_get_apt_line): 'uri' no (longer) needed. * [64fd7f4] models/source.py (Source.mbd_get_apt_line): Autogeneration of 'comment'; components->limit_components. * [44cbef1] mini_buildd_tags.py (mbd_distribution_apt_sources_list): Display 'with_comment'. * [b31b900] misc.py (AptLine): Disallow components as str, and do compnents sorting once, here. * [a7ff70f] models/repository.py (Repository.mbd_get_apt_line): Auto- generate comment. * [4a3c870] api.py (GetSourcesList): Move impl. here ('getsourceslist' is special and will not be further generalized). * [e72fe43] models/daemon.py (Daemon.mbd_get_archive_origin): Simplify to 'Mini-Buildd '. * [33f989e] models/daemon.py (Daemon): Make archive 'Origin' configurable via extra option. (Closes: 790056) * [b1b4a7c] devel (auto-setup): Fix for new --vendor arg syntax. * [d9a19e4] misc.py (AptLine.get): Add "no component" apt line support. * [5b518ec] devel: apt-tofu-bootstrap: Update to use apt line w/ 'trusted=yes' (this also moves the snapshot test code to a separate test case). * [077a8ac] mini_buildd_tags.py (mbd_cget): Analogous to mbd_get(), but for custom fields. * [1343117] changes.py: buildrequests: Better name for custom field: "Upload-Result-To" -> "Client". * [e7e28b1] changes.py (Buildrequest): Obsolete custom field "Base- Distribution". * [e69b2f6] changes.py (Buildrequest.upload_buildrequest.add_builder): Rename remote(s) -> builder(s). * [1837fde] changes.py (Buildrequest.upload_buildrequest): Remove live- buildlog monkey-patch of status (we now just can use new "http" field of status). * [dd87886] changes.py (Buildrequest): Move all 'live buildlog' code here; add new custom field "Builder", replacing class var hacks. * [572e18c] mbd_package|builds.html: Update to new live buildlog setup. * [4acdfc2] builder.py (Build): Remove extra live_buildlog class var (now obsolete). * [09dc48f] mini_buildd/home.html: Merge build.html, event.html, package.html. * [dd58364] mini_buildd/home.html: Update/simplify live building, packaging. * [729a402] changes.py (Buildresult.buildresult_stat): Merge this unsused method to into __str__() (and use as build.info). * [fe664c7] builder.py (Build): Make 'buildrequest' class var public. * [5ce0bfa] config.py: Add HTTP_PATH_LOG_RENDER (Fixes: HTTP_PATH_LOG set twice, overwriting). * [300549f] events.py (Events.logchanges): Also set "architecture" automagically. * [7b4aad9] packager.py (Package.extra): Remove obsoleted stuff. * [4564579] builder.py: BUILT event: Complete 'extra' part. * [9a35454] home.html: events display: Show depending on type. * [8cb944a] home.html: Remove bad "Go to" wording. * [49c61f5] mini_buildd_tags.py (mbd_cget): Now obsolete. * [374610e] events.py (Events.logchanges): Can't use cget() here (needs to work for dicts also). * [d536eb7] devel (mbd_supertestall): Test for all vendors. * [7c5c6e5] devel (mbd_supertestall): Make non-interactive. * [3ea53e4] home.html: BUILT event: Show sbuild result. * [ba9a45a] Revert "api.py (AutoSetup): Update for new MultiSelect." * [726e450] Revert "api.py (KeyringPackages): Update for new MultiSelect." * [ca1183e] Revert "api.py (TestPackages): Update for new MultiSelect." * [a5aff4e] Revert "api.py (GetSourcesList): Update for new MultiSelect." * [80c4b6c] Revert "api.py (Find): Update for new MultiSelect." * [75c7c3f] Revert "api.py (Port): Update for new MultiSelect." * [5cb7bff] Revert "api.py (PortExt): Update for new MultiSelect." * [a379809] Revert "devel: Update to latest API changes." * [b4fe608] api.py: MultiSelect: Fix several default values. * [4a17521] home.html: Renice extra raw view. * [d5c6d34] home.html: Extra view: Use 'details summary'. * [9937387] home.html: Add summary for MIGRATED, REMOVED, FAILED, REJECTED. * [4803926] mini-buildd.css: minor tab/spaces fix. * [d7994e4] mini-buildd.css: Add general error class. * [49c6b53] Events: extra.info -> extra.error: This is only used for (human readable) *error* strings. * [1dae21b] mini_buildd_tags.py (mbd_jsonpp): Add filter to json pretty- print objects. * [557042a] home.html: Events view: Make "extra" content full jso pretty-printed event. * [e45ec38] view.py, log.html: 'Brute-force fix' package logs (but that code should not stand ;). * [1972965] packager.py (Package.extra()): Simplify. * [c9e720b] packager.py (Package): Replace 'is_installed', 'was_rejected', 'has_failed' by (event) status. * [9afd168] packager.py (Package.extra): No need for 'installed' arg any more. * [228eaff] packager.py (Package.extra): Add error class var -- obsoletes redundant log event call. * [a2353db] packager.py (Packager.run_event): Get rid of superflous context exception handler && go with one run_event() method again. * [b018bca] changes.py (load): Rm obsolete load() and simplify file match functions. * [2c1047b] changes.py: Move build key here (as "bkey" property). * [b7c76ac] packager.py (run_event): Mv package internal code back to add_buildresult. * [358ce74] devel (build-port-migrate): Add failing port to check error handling (manually) * [e9d7b07] packager.py: Add 'extra' class var; drop "port_report", doing extra port reporting via "auto_ports". * [3f0b637] packager.py (Package.auto_ports): Use tuple for extra info. * [28b6d08] packager.py: Mv error to self.extra. * [b00aa08] packager.py (Package): Get rid of obsolete _extra() method. * [140453d] packager.py (Package.auto_ports): Minor doc wording update. * [814e827] devel (mbd_supertestall): Rather do non-SSL profile last. -- Stephan Sürken Sun, 30 Aug 2020 16:49:17 +0200 mini-buildd (1.1.38) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** Issue Soup, plate VI: Repository snapshot support - Manage manually via new 'snapshot' API call. - Automated yearly (keeps 4), monthly (keeps 12) and weekly (keeps 8) snapshots of all stable distributions. - Web: Currently shown in repository "Overview". * [4d65bba] cron.py: Typo fix. * [2d92c85] Initial implementation for (weekly) reprepro snapshots. * [19e77d4] cron.py: __str__(): Also show next run time in UTC. * [8b73d6f] reprepro snapshots: Run only for "stable" suites (not experimental, does not migrate). * [b9d3ede] reprepro snapshots: Use isoformat(timespec=minutes) for snasphot dir ("2020-06-16T12:54"). * [5612f3f] doc/user.rst: Add "sources.list" section. * [3e8989e] templates/mini_buildd/repository_detail.html: Add doc for reprepro snapshots. * [a800809] reprepro snapshots: Add initial del support; move all cron code to daemon.py. * [a566663] reprepro.py: Expand and harden snapshot support. * [f567993] api.py: New call "snapshot": Manage reprepro snapshots. * [9edd9ab] repository.py (Distribution.mbd_get_apt_line): Support snapshot. * [8429fde] daemon.py (Daemon.mbd_get_sources_list): Support snapshot. * [43cde4d] Web: Properly show snapshots (repo detail), including deletion option. * [7aee3fc] api.py (GetSourcesList): Add snapshot support. * [6720882] devel (tidy test): Add test for 'repository detail' page. * [a310b10] cron.py: On job error, don't fail, but log. Improve log output. * [e3a5cd5] misc.py (Thread.run): Don't log any re-run. * [2220947] daemon.py (Daemon.cronjob_reprepro_snapshots): Make code it actually work after mv from repository.py. * [a27de32] cron.py: Make cron code more versatile. * [020b2f5] cron: Cosmetics. * [7f949de] cron.py: Fix minutely (for testing only) scheduler. * [48f61e6] daemon.py: Make cronned snapshots prefix with cron type (WEEKLY, MONTHLY, ...). * [991a576] daemon.py (Daemon.cronjob_snapshots): Log && continue other snapshots if one fails. * [3ae6de1] reprepro.py (Reprepro.getsnapshots): Support limiting with a prefix. * [3eb1932] cron.py (_Job.__str__): Cosmetics. * [49d217d] devel: Fail on any pipe error. * [6b53b41] devel (apt-tofu-bootstrap): Add snapshot gen, del && 'apt- able' tests. * [df28e6b] daemon.py (Daemon.cronjob_snapshots): Add auto-expire code (keep 4 yearly, 12 monthly, 8 weekly). * [8e82398] daemon.py (Daemon.start): Add monthly && yearly cronjobs for (reprepro) snapshots. * [c02da40] reprepro.py (Reprepro.delsnapshot): Should also call 'deleteunreferenced'. * [9836ff1] devel: tidy: Drop repo detail test again (we cannot be sure repo exists). * [d398117] repository.py (Repository.mbd_get_distribution_strings): New helper. * [aec32e8] misc.py: Rm "too much debug" log. * [04f521a] reprepro.py: Fixup reindex() to handle snapshots. -- Stephan Sürken Thu, 25 Jun 2020 20:45:42 +0200 mini-buildd (1.1.37) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** Issue Soup, plate V: - With fixing long-standing 'ftpd upstart error not detected', issue, this generally updates threading code. - Adds "cron-like" support for periodic tasks. * [3c3b3ea] devel: Fix mbd_events(): 1st arg was skipped. * [a71d713] models/source.py: __str__(): Simplify (fixes possible recursion/stackoverflow w/ mbd_get_archive()). * [d39b951] misc.py: Add Thread class (to evntually replace run_as_thread()). * [e456f1e] daemon.py, ftpd.py: Upgrade to Thread class (Fixes: Daemon.start() not catching ftpd start failure). * [8a3777d] builder.py: Update to Thread class. * [d245cf0] api.py: testpackages: Fix evaluation of the --check option (Fixes: would always check). * [b7afb49] daemon.py: Update helper build queue to Thread class. * [cd3f898] builder.py: Update to Thread class. * [985c0b3] httpd.py: Update to Thread class. * [c8b5f0f] misc.py: Rm obsoleted run_as_thread(). * [aa7eade] misc.py, daemon.oy: BlockQueue -> BuildQueue, simplify code and make put() seemingly non-blocking. * [f4af039] daemon.py (BuildQueue): Move from misc.py (only used here). * [6062078] misc.py (Thread.__init__): Add shutdown support. * [e7c228b] ftpd.py (FtpD.run): Use Thread's shutdown support (gets rid of all globals). * [70fd6c0] builder.py: Merge BuildThread, Build. * [4b91795] misc.py (Thread): Use abstract mbd_run() for actual code (Fixes: threads not run ignoring exceptions). * [ad16146] misc.py: Thread: Compatible re-implementation of shutdown() support. * [6d43138] ftpd.py: Use new Thread shutdown impl. * [9b9ccdf] cron.py: Add cron-like scheduler. * [860b658] daemon.py: Add crontab support to Daemon; add global 'check' as weekly cronjob. * [c4f4dd6] home.html: Make crontab visible on index. * [f66a8ad] mini-buildd: Remove "timed restart w/ signals" workaround (we now have global "check" as internal cronjob). * [04d05d8] Archive wizard: aptsources: Only add 'valid' and 'enabled' sources (fixes possible bogus entries via auto-setup). * [33af842] cron.py: Various cosmetic fixes. * [652f6cb] api.py: Remove --force-check, force_check from API start and daemon.py (not needed; admin may do that in setup already). -- Stephan Sürken Sun, 14 Jun 2020 18:23:36 +0200 mini-buildd (1.1.36) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** Issue Soup, plate IV: - repository: Update compression options (gz+xz), add Contents support. - Support rollbacks && mirror for 'getsourceslist'. - Cleanup examples && properly split between m-b, m-b-utils * [4d8a814] devel: Add profile tainter: allvendors. * [f35bab5] autosetup: Workaround for Ubuntu dropping i386 (focal+). * [20816c4] Rename mini-buildd-client -> mini-buildd-api. * [6f5e650] Separate utilities m-b-api, m-b-events (again;) * [d883510] mini-buildd-utils.maintscript: Fix conffile removal for old mini-buildd-tool. * [86d8348] debian/mini-buildd.maintscript: Add some helping comments. * [29578d0] api.py: retry: Use key "uploaded" for json result. * [c7396b6] api.py: port,portext,testpackages,keyringpackages: Add json result; use same syntax. * [90fb68d] api.py: testpackages: Add --check option. We will now properly check *all* testpackages in test suite. * [b9e4ab7] Remove examples/09bug728096shmfixer: This has been obsoleted and no-op (issues a warning only) for some time. * [1e59e7d] Remove examples/apache-ssl-proxy.conf: We do support SSL now natively. * [92b9c59] Split examples: 'useful for admin' go to mini-buildd, 'useful for users' go to mini-buildd-utils. * [8c57c22] models/repository.py (SuiteOption.mbd_get_distribution_string): Improve 'rollback oo range' error description. * [91b178d] pylint: Easy the global nested-blocks value (allow 8). * [bed43a6] api.py (GetSourcesList): Add option --with-rollbacks. * [34427bf] api.py (GetSourcesList): Add option --mirror. * [b581cda] misc.py (ConfFile): Add update() method: Write on changes only. * [0404aaa] repository.py: reprepro: Update config on mbd_check() as well; only run re-index if some conffile has actually changed. * [548b95b] repository.py (Repository._mbd_reprepro_conf_distributions): Switch to less eye-sore multi-line string notation. * [76d2fbf] repository.py: reprepro: Add Contents to repository (i.e., support apt-file et.al.). * [29cc894] src/*: Bulk-update multi-line notation. * [e128045] sbuildrc, schroot.conf: Use ConfFile.update(), not save(). * [b629941] repository.py: repro config: Misc new line fixes. * [d67530c] misc.py: Simplify ConfFile. * [78835b7] user.rst: Fix for new python-client path. * [b83a843] repository.py: reprepro: Indices compressions: Use gz only on Contents (needs to be fast), .gz .xz on Packages, Sources. -- Stephan Sürken Sun, 07 Jun 2020 13:26:47 +0200 mini-buildd (1.1.35) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** Issue Soup, plate III: super portext This release makes new experimental utility 'mini-buildd-super-portext' sort-of usable and documented. SSL workaround for buster; dput can now --check (obsoleting *-dput-wait-for-build). * [b73f52b] events.py: Event.id(): Just use type name. * [648f291] client.py: events: Use contextlib to assure http conn is closed (fixes python ResourceWarning). * [b5e28a9] events.py: Event.id(): Add error to id. * [6c3ea70] changes.py: Changes.upload(): return pre-upload timestamp (convenience to handle events). * [c3f4efb] client.py: Client().__init__(): Now accept both, endpoint as obj or description. * [05ba919] cli.py: DputCf: Add getter for http_url. * [0ef27a9] mini-buildd-dput: Add --check-result. * [545d3f8] setup.py: Rm m-b-dput-wait-for-build (m-b-dput now does it naturally). * [5837f67] events.py: Event: Rename "error" -> "info": Not all events are errors. * [030d5d4] mini-buildd-super-portext: Update formatting to fstrings. * [5521c22] mini-buildd-super-portext: py3: rpl __unicode__ by __str__. * [50923a7] mini-buildd-super-portext: Update to proper logging, not printf. * [7ecfbcb] mini-buildd-super-portext: Move all global code in-class. * [ee86191] mini-buildd-super-portext: Less verbose logging. * [c3f69bb] mini-buildd-super-portext: dputcf is not needed (yet). * [75d53aa] mini-buildd-super-portext: Fix version lookup. * [8efe3e5] mini-buildd-super-portext: Fix logging text for buils result. * [9b16819] mini-buildd-super-portext: More less verbose logging. * [e278bc9] mini-buildd-super-portext: Generate global url list "portext" (instead of running ports der dsc directly). * [aa3ddef] mini-buildd-super-portext: Skip running apt-get update (via sudo). * [8f4940d] mini-buildd-super-portext: Skip redundant class var "dry_run". * [b950901] mini-buildd-super-portext: Fix is_in_repo(). * [c629072] client.py: Improve user interaction interface. * [e790867] client.py: Conformingly rename events events_iter; add event() convenience method. * [6823456] mini-buildd-super-portext (CLI._get_build_deps): Rather use urllib than call wget. * [321a5e0] mini-buildd-super-portext: Minor log updates. * [2176f3f] mini-buildd-super-portext: Fix: "find" should use "backportized minimal version". * [82f964a] mini-buildd-super-portext (CLI._get_unsatisified_build_deps): "seen" can now be class var "already_checked". * [3424992] mini-buildd-super-portext: Directly add results to class var portext. * [1c45676] mini-buildd-super-portext: Rm unsused get_source_version method. * [f260912] mini-buildd-super-portext: Add proper instructions. Mark EXPERIMENTAL. * [2741af2] mini-buildd-super-portext: self.mbd_target not needed. * [42e5453] mini-buildd-super-portext: Do apt setup in __init__(). * [5155ad7] mini-buildd, config.py: Add ssl default context workaround for buster/py3.7. -- Stephan Sürken Wed, 03 Jun 2020 22:21:40 +0200 mini-buildd (1.1.34) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** Issue Soup, plate II: Utilities cleanup This release gives all support utilities a conforming naming: mini-buildd- All utilities are now installed to system paths, ready to use: /usr/sbin/: Daemon utilites (package mini-buildd) /usr/bin/: User utilites (package mini-buildd-utils) All utilities are now (forced to) have --help support and automated man pages. All utilities written in python have automatic bash-completion. * [7148aa3] changes.py: ftp: Introduce private _upload() method for versatile use. * [d4dc9e1] changes.py: ftp: Add upload_retry_tls() convenience method. * [3362924] mini-buildd-dput: Use upload_retry_tls(); purge --protocol option. * [8fd0afa] cli.py: DputCf: Minor improvements to the parser. * [737b916] changes.py: FTP_TLS: Also call auth(), and put login after call to set up secure channels. * [4a53620] Add mbu-super-portext: A wild personal POC script from 2014. Will it still superport? * [87501ff] devel: prepare-systemd: For buster, we need 'P' again for certutil (to work w/ chromium). * [5dd52b1] mbu-super-portext: Make static code checkers happy. * [5867b87] mbu-super-portext: Use new client API. Initial test run sort-of successful. * [a48d647] setup.py: Rename Help2Man -> SetupCLI, and make work for any path. * [4c94f1b] mbu-super-portext: Update to cli.py * [8ce555b] Put _all_ utilities to src/. * [1c6ce7b] Prefix all daemon utils w/ new common prefix 'mini-buildd' (not mbd). * [5a76c15] Prefix all user utils w/ new common prefix 'mini-buildd' (not mbu). * [b0e8e29] setup.py: Auto-generate configs for dh_bash-completion. * [233da07] mini-buildd*.manpages: Make all src/*.1 man pages got to m-b-util, all src/*.8 to m-b. * [486dad4] setup.py: Add script: mini-buildd-super-portext (1). * [0cfa2ec] setup.py: Put produced bash-completions to src/ as well. * [7d499c0] setup.py: Auto-generate debhelper *.install files (no nicer way to get scripts automated). * [eb6e3ce] devel: installdeps: Add disorderfs, diffoscope (debrepro warning: limited functionality) * [5f13570] mini-buildd-super-portext: Don't open a log file, use py logging. * [09a7f7a] devel: Fix for new self-signed util path. * [f8d2476] mini-buildd-ssh-uploader-command: Formal update to cli.py. * [4a99afc] mini-buildd-ssh-uploader-command: Fix EPILOG for new command path. * [471b1a6] setup.py: Add script: mini-buildd-ssh-uploader-command (8). * [7048d67] mini-buildd-ssh-tool-command: Formal update to cli.py. * [b90e80d] Rename mini-buildd-ssh-tool-command -> mini-buildd-ssh- client-command (as mini-buildd-tool has been renamed as well). * [d855b21] mini-buildd-ssh-client-command: Fix EPILOG, comments for new utilities path. * [82d2bc3] setup.py: Add script: mini-buildd-ssh-client-command (8). * [a2d6b56] mini-buildd-import-08x: Formal update to cli.py. * [7e74d0b] mini-buildd-import-08x: Fix prog name to new naming scheme. * [64976be] setup.py: Add script: mini-buildd-import-08x (8). * [91dd2af] setup.py: Scripts: Run "name hack" on python scripts only. * [fcaaa0e] setup.py: help2man: Parse DESCRIPTION for *any* script (help2man *always* needs --name to avoid useless whatis entry). * [94326a5] setup.py: help2man: Give --version-string explicitly (allows us not to support --version for bash scripts). * [c535ed6] mini-buildd-reject-cleanup: Add --help support. * [9a987aa] setup.py: Add script: mini-buildd-reject-cleanup (8). * [5c3c034] mini-buildd-dput-wait-for-build: Add --help support. * [6e65266] setup.py: Add script: mini-buildd-dput-wait-for-build (1). * [a6a800a] mini-buildd-debootstrap-uname-2.6: Support --help; make bash script. * [bd37847] setup.py: Add script: mini-buildd-debootstrap-uname-2.6 (8). * [a421c6b] mini-buildd-schroot-cleanup: Support --help. * [2a2e4f3] setup.py: Add script: mini-buildd-schroot-cleanup (8). * [c6e92ec] mini-buildd-self-signed-certificate: Support --help. * [58ad74e] setup.py: Add script: mini-buildd-self-signed-certificate (8). * [95839c5] setup.py: Order script adding. * [1b350cf] setup.py: scripts: bash-completion support for python only. -- Stephan Sürken Sun, 31 May 2020 16:23:41 +0200 mini-buildd (1.1.33) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** Issue Soup, plate I: Top user-visible changes: - Adds ftps support custom m-b-dput (dput[-ng] don't support ftps) - Deliver cert in keyring package, new sources.list.d tree. - Events: Add --since filter. - Events: json timestamps now in isoformat (ISO 8601). - API keyringpackages: Impl w/ events (fixes timeout on failed builds). * [38c9b9d] net.py: Add is_ssl() convenience method. * [34a3498] ftpd.py: Handler subclass: Use super(). * [e200a84] changes.py: upload(): Support 'ftps' (RFC 4217) if ssl endpoint. * [97eed79] ftpd.py: Support ftps (rfc4217). * [590a173] api.py: autosetup: On ssl(), guess ftps endpoint default based on http endpoint. * [c70f4dc] devel: Add MBD_RESTART_HOOK configurable variable. * [0273384] archive-keyring package: Include SSL certificate. * [5093fa6] archive-keyring package: Install (cert && sources) to /usr/share/-archive-keyring/ instead of /usr/share/mini-buildd/ * [dd408e8] devel: "autodoc" of config vars. * [a270d83] devel: Add MBD_KEEP configurable variable. * [44fef33] devel: apt-tofu-bootstrap: Rather use actual codename than hardcoded "buster". * [5658be1] archive-keyring package: sources lists: Switch to '/_.list' layout. * [03a7d2c] archive-keyring package: Rather use "certs" as cert dir (like /etc/ssl/certs /etc/ssl/mini-buildd/certs). * [f67b3b0] events.py: Revise Events once more. * [4417a14] events.py: Event: Add match() method. * [a9d8133] events.py: attach: Make replay configurable. * [872a8e1] httpd.py: event log: Use to_json(). * [d99ed40] events.py: Add filter_iter: Common filter generator (can be used from client and internal alike). * [71b49e8] client.py: Switch to use events.filter_iter(). * [6873899] mbd_events.html: Fix status colors, properly format timestamp. * [40d882c] changes.py: Put extra info creation code to changes.Upload. * [a7f795d] Event FAILED: Fix extra arch reporting. * [a437db1] Event timestamps: Must be aware/utc; json string must be isoformat() (of an aware stamp). * [e8f48fd] cli.py: Move ArgumentsDefaultRawTextFormatter here (from misc.py). * [7b60678] devel: codespell: Fix check output so 1st error is parsable too. * [02ebad4] Fix two typos found by new spellcheck. * [fade30f] repository.py: Fix typo/double code on event extra args. * [6ffde1f] devel: Add mbd_profile: Simplify resetting config for tests. * [2fdd982] keyring package: Fix build for non-https. * [dd3379f] devel: bash-completion: Add non-runner targets. * [af1e180] events.py: Event.from_joson(): Properly convert timestamp. * [5cae0b9] events.py: Event.match(): Fix "typ" comparison: Accept both string and enum. * [79aa48f] misc.py: Add helper check for time zone aware datetimes. * [90603a7] devel: Add supertestall: Run updatetestall for all "test profiles". * [b6064d6] cli.py: Remove "preliminary logger" setup. * [05957b3] cli.py: logging: capture python warnings on level debug only. * [28a11ee] cli.py: Fix: Make loggers to configure class vars, not globals. * [81b2f4c] misc.py: Add helper datetime_is_naive(). * [fb22c31] Events: Replace "replay" by more versatile additional --since filter. * [da4100f] events.py: Events: Fix match for typ=None case. * [d120d5b] mini-buildd-client: --since: Add special value "all" (to replay all). * [48f865c] events.py: Add class Attach for internal attaching to events. * [6ea32d2] devel: log RESTART_HOOK before running. * [a8d8e64] API: keyringpackages: Implement wait-for-migrate via events (instead of polling). * [557ae70] ftpd.py: Fix: Use ssl cert/key values from actual ftp endpoint, not primary http. * [b4d0060] models/base.py: Remove some too verbose logs (they rather clutter than help). * [fa57dd7] cli.py: Make log code more common. * [4664ab7] devel: mbd_client: Don't run verbose, but log client call. * [6cfe2b6] events.py: Add Event.__str__() for convenience. * [f8a09f5] API: keyringpackages: Also consider FAILED (fixes endless loop if keyring package fails). Upgrades type event matching to list of types on the way. * [de83761] devel: Improve mbd_profile: Make all known use cases easily 'setupable'. * [7de2243] builder.py: Workaround for jessie builds w/ SSL enabled. * [d8d1d9a] devel: Add 'supertestall' to usage. * [84cb382] dput.py: Add module dput. * [9bb609a] setup.py: Generate bash-completion scripts. * [132b14c] Add cli util: mini-buildd-dput. * [5e68847] dput.py: Sync helper && completer functions. * [f9fd464] mini-buildd-dput: Finalize args && completers. * [252352b] Skip extra module dput, merge to cli (we won't be able to put projected code here). * [6cd145d] Update DESCRIPTION (title) for all CLIs. * [0bb8c03] changes.py: Put all model import in-method (avoid 'django unconfigured' pita as long as possible) * [458053e] changes.py: Changes.upload(): Add 'force' option; Improve logs and .upload contents for endpoints. * [62d904e] changes.py: Changes.upload(): Use context manager for FTP (available since 3.3; fixes python ResourceWarning). * [994cca2] net.py: Rm "PROTOCOLS" global -- no longer used. * [7b2aa96] mini-buildd-utils.bash-completion: Actually install bash- completions for m-b-dput. * [90ced5f] cli.py: DputCf: parser code: Make more straight forward, and add support for 'ftp hopos'. * [567cfa9] mini-buildd-dput: Finally, actually implement upload. * [fbfb6eb] devel: extra-packages: Use mini-buildd-dput. -- Stephan Sürken Fri, 29 May 2020 08:55:11 +0200 mini-buildd (1.1.32) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** API fixup, part X: Merge Event Log This concludes the API fixup. All obsoleted code api/client code phased out; mini-buildd-events POC merged to new mini-buildd-client. * [4bc0f40] daemon.py: Fix error string wording (still mentions 'last packages'...). * [01ca194] src/mini_buildd/*: Internal: Conformly refer to the 'event log' as 'events'. * [bf67269] Events: Rename event "UPLOADED" -> "BUILT". * [cab90e7] mbd_events.html: Fat event types. Much better... * [106364b] mini-buildd-events: Add error handling. * [018b4c0] Events: Actually remove http clients from queue, max client limit && error handling via status code. * [17e7b8a] Event "MIGRATED": 'distribution' should be dest dist, not source dist. * [8317a9b] events.py: Replay all past events to client. * [4609661] cli.py: log format: Make more readable: Put possibly long thread names last, don't indent prefix. * [5351ad4] events.py: Make log() and attach() calls thread-save. * [55ea9e9] mini-buildd-events: Add subcommand "monitor": Filter events, optionally stop at found event. * [f2d6f81] devel: build-and-migrate: Use m-b-events instead of handwritten pull & wait. * [da58f43] mini-buildd-events: Add --minimal-version filter. * [9fac55c] mini-buildd-events: Merge code into mini-buildd-api. * [5cece5c] Rename mini-buildd-api -> mini-buildd-client:. * [10b229c] events.py: Add _NoLock() helper class for debugging. * [808dc8e] devel: Add initial try to reproduce deadlock (later). * [5ef3392] net.py: Add http_connect() helper function. * [c7fd3e6] mini-buildd-client: Move actual 'events' impl to client (also gets rid of 3rd party "requests" package) * [090854f] Events: Rename json "typ" as "type" (python restriction should influence json). * [e412ebb] client.py: Move client code from api.py into own module. * [f32831d] .prospector.yaml: Re-enable member-warnings. * [44adb7b] .prospector.yaml: Don't use django. Return to half-automatic 'generated-members' exclusions. * [227aa81] api.py: Rm wrong pylint disable comment. * [62681cc] pylint no-member: false-positive exceptions for twisted. * [46b898c] cli.py: Add pure virtual runcli() (fixes pylint no-member). * [3d7bccb] devel: pylintgeneratedmembers: Add 'mbd_check'. * [a5393a1] models/daemon.py: Fix name of login path config variable. * [5cf6682] urls.py: pylint: Exception for django (sort of) false- positive (invalid-name) for urlpatterns. * [6cd254b] models/source.py: oylint: Exception for django false- positive (unsubscriptable-object). * [ab4c854] mini-buildd: pylint: Exceptions for false-positve no-member for daemon module. * [dd3eda6] webapp.py: pylint: Exception for no-member django false positive. * [c764464] devel: Importchecker: Make actually fail on error. * [f1fbbb4] devel: on exit: In the end, do the workaround "for emacs" anyway. * [584fe8d] daemon.py: events import: Fix: Have deque 'maxlen' when imported. * [101c07d] api.py: Rm obsoleted absolute import net. * [de3f590] html: Replace "" (not html 5) by "" in various places. * [6257bef] devel: Make some wrong 'run targets' 'extra targets'. * [831e4a1] client.py: Rename Client.call() -> Client.api(). * [21ebf4f] python-client: Update to new client module- * [1b8258d] doc/user.rst: Some updates for new api/client setup. * [10065cc] client.py: Finally remove all obsoleted extra functionality. -- Stephan Sürken Tue, 19 May 2020 00:26:18 +0200 mini-buildd (1.1.31) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** API fixup, part IX: Embrace Event Log Make event log roughly equivalent to "last package/last builds" setup (and purge all code for the latter). This also changes the html 'home' structure. * [4c77dcf] mini-buildd: Move all logging code to cli.py. * [4b42f1b] setup.py: Generalize man page generation code. Skip cleaning. * [e2587e1] setup.py: man pages: Get rid of extra "help2man" include files. * [e3a8177] setup.py: help2man: Extract description from scripts for the --name arg. * [26d3ecd] Revert "setup.py: Remove version from setuptools. We don't really use it, and the only thing it gives us is warning." * [6b323dc] setup.py: Taint Debian version to make setuptools not warn. * [f79f9e5] devel: Add bash completion producer. * [90c195d] devel: Improve doc of configurable vars. * [b62f0b1] devel: New configurable variable: MBD_DEBIAN_FRONTEND. * [29b3274] event.py: New: Put all event code into this module. * [5c0da08] devel: Add cheap check that we are on a 'developer system'. * [51608f0] Revert "devel: Also trap cleanup on INT TERM (seems there are some corner cases when emacs kills the buffer while reading input)." * [bc0850c] .prospector.yaml: pylint: Update fstring exceptions for pylint 2.5.2. * [5db69ab] event.py: Less events, more fun. * [eaa23c5] mbd_events.html: Add color to status. * [e38e61b] Event INSTALLED: Add extra 'archs' info; display sbuild && lintian stats. * [962344e] config.py: Better names: HTTP_PATH_*, not PATH_*. * [bd854ac] config.py: Mv all constant http paths from httpd.py to config.py. * [a015b38] Event INSTALLED: Add buildlog to extra 'archs' info; display in events table. * [1d0f05b] Event INSTALLED: Add extra info 'log'; display in events table. * [a92811a] devel: Restart test package helper: rather install to unstable (so we can also test migrate). * [85951c3] Event UPLOADED: Add extra info 'uploaded_to'; display in events table. * [8e734df] Event UPLOADED: Add extra info 'took'; display in events table. * [b0b2347] mini-buildd.css: Clean up builder status css. * [2956141] mini-buildd.css: Clean up packager status css. * [2eb4f8f] mini-buildd.css: Clean up event status css. * [75e4003] mini-buildd.css: Remove all now-obsoleted. * [c0253a1] home.html: Initial new setup w/ events && w/o last_packages && last_builds. * [1a542e5] home.html: Toolbox as detail item. * [2a8594d] home.html: Repositories, Chroots and Remotes as detail item. * [429d96d] home.html: Events as detail item. * [22a4fb5] home.html: Rm all "id" attributes. None of these was actually used. * [a6d774e] *.py: Finally, remove all 'last_packages/last_builds code'. * [b1a88a1] home.html: Prpperly name includes for packaging,building. * [e92078a] mbd_building.html: Rm 'took': Does not make sense for live status. * [ecdda92] mbd_building.html: Rm 'uploaded' date: Does not make sense for live status. * [c53c73c] mbd_packacking.html: Rm 'took': Does not make sense for live status. * [b8ef420] mbd_packacking.html: Rm building status infos: Does not make sense for live status. * [540ebe8] mini_buildd_tags.py: Rm hacky && now-obsolete 'mbd_build_status' tag. * [f4d7928] models/base.py: Persistent state hack: Also switch to json. * [1578e8a] models/gnupg.py: Remote: Stop using persistent status. * [4128dcc] mini_buildd_tags.py: mbd_dict_get(): No longer used. -- Stephan Sürken Thu, 14 May 2020 09:07:44 +0200 mini-buildd (1.1.30) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** API fixup, part VIII: Event Log Initial event log implementation (companion to be for API calls). Adds 'mini-buildd-events' POC command line tool. * [ce58549] mini-buildd-api: Fix spelling in comment. * [fe9de2c] mini-buildd-api: help text: Remove one more leftover from old syntax. * [164baff] devel: restart: Fix (commented) package build helper line to use mbd_tool function. * [0c2da7c] devel: mbd_tool is now mbd_api. * [2aab1bf] builder.py: Build(): Init with daemon instance (will need this later). * [6ead491] templates/*: Fix various mbd_api templatetag calls: 'output' arg value must be quoted (fixes confirmable commands via web). * [d891530] Initial 'event log' implementation. * [6c95f2a] httpd.py: '/events': Initial impl. of web resource for event log. * [01e4f12] Add util 'mini-buildd-events': Initial POC. Can monitor events to stdout for now. * [5e3d812] reprepro.py: Fix sphinx citation warnings. * [5a0c969] reprepro.py: Fix sphinx 'emphasis not closed' warning. * [23fbadf] net.py: Various pydoc fixes. Fixes two sphinx warnings. * [97f1671] models/base.py: Fix another sphinx warning. * [247036d] httpd.py: Add some docstring to getChild(), else sphinx is unhappy. * [69f8b88] setup.py: Remove version from setuptools. We don't really use it, and the only thing it gives us is warning. * [a7409ff] mini-buildd-event: Support usage, manpage, bash-completion. * [c8c7669] New module cli.py: Move common command line code here. Update m-b-api and m-b-events. * [19ca1ab] devel: Add 'importchecker' check -- solely to detect unused absolute imports. * [a87d211] Bulk-fix unused absolute imports. * [e2c0806] devel: Add sphinx (doc) test that fails on warnings. * [4736f66] mini-buildd: Remove in-code cProfile support (rather just profile the whole script). * [cdbaefb] mini-buildd: Use cli.py. -- Stephan Sürken Sun, 10 May 2020 15:08:51 +0200 mini-buildd (1.1.29) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** API fixup, part VII: CLI: mini-buildd-api This renames mini-buildd-tool to mini-buildd-api, and fixes remaining issues like usage help and bash completion. * [fad101d] misc.py: Add Ubuntu 'focal' to ddeb exceptions. * [03de61b] models/gnupg.py: Exception msg: Clarify what to do if other remote "does not know us". * [bbc4642] api.py: "find": Add support for --minimal-version. * [381bf4c] mini-buildd-tool: Update target completer to guess endpoints (obsoletes 'x_mini_buildd'-style custom tainting of .dput.cf). * [fe8fff4] mini-buildd-tool: Move ENDPOINT arg to each command (much better user experience for subcommand --help) * [a541b54] misc.py: Mv dput parsing code from mini-buildd-tool to misc.py (there other use cases). * [27b4faf] mini-buildd-tool: Rename cmd_call() -> api_call(). * [4d9b320] mini-buildd-tool: Rm leftover keyring log cloning (no longer do anything special w/ p-keyring logs). * [8488a31] mbd-ssh-tool-command: Use DputCf && Endpoints. * [50b7f5e] mbd-ssh-uploader-command: Use DputCf. * [adf974b] net.py: login handling: privatize vars in endpoint, and only use the endpoint's user variable. * [7626924] net.py: Endpoints: Make (nearly all) class vars private. * [9ba0a68] net.py: Endpoints: Rm 'user' parameter (user given when constructing from URL is the only use case). * [ea48ca4] builder.py: Fix: Must be ClientEndpoint when uploading failed buildresult. * [3f267c5] net.py: Fixup defaults for "protocol". * [0bbfb12] net.py: ClientEndpoint: Fix: User must be set after super().__init__(). * [2ca80db] net.py: Adapt doctests for changes. * [060664c] ftpd.py: Use already existing endpoint, don't create a new one. * [442c942] Rename mini-buildd-tool -> mini-buildd-api (better name, incompatible changes). * [ef252fc] mini-buildd-api: Update hint for subcommand help to new syntax. * [ddf919c] mini-buildd-api: --help: Use raw formatter for subparsers also (does not seem to propagate). -- Stephan Sürken Tue, 05 May 2020 14:15:11 +0200 mini-buildd (1.1.28) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** API fixup, part VI: Client code merge cleanup Testing/fixing/code cleanup iteration mostly around the api and network code. Adds new API call 'find'. [ Gerhard A. Dittes ] * [657dfdc] devel: prepare-system: Change trust attributes in order to achieve self-singed certificates considered to be trusted [ Stephan Sürken ] * [409df5b] net.py: endpoint.url(): Don't add a trailing slash. * [c56c33f] api.py: Endpoint: Rename url()->geturl(). * [fbc475e] net.py: Endpoint: Use only one geturl() impl (based on urllib.parse). * [fbf52b7] net.py: geturl(): Give query params as dict (so we can do the urlencode once here). * [a8f2b3e] Update all code to use the new endpoint.geturl(). * [2a2c214] net.py: Rather us __str__ (not __repr__) for human readable descriptions. * [a399c5b] API: Add option auto_save_passwords / --auto-save-passwords. * [51e9b59] mini_buildd_tags.py: Avoid (otherwise harmless) warning for live build result stati. * [172c39a] mini_buildd_tags.py: None-status workaround: Rather use "" than None, as lintian dict has None as choice. * [26011cd] net.py: Remove urlopen() wrapper (python uses system certificates by default). * [571da1a] api.py: Solve the indent paradox. * [9d552b6] .prospector.yaml: Disable pep257, D200. * [02121f9] net.py: ClientEndpoint: No need for 'parse_url' to be a class var any more. * [baed74a] net.py: Update doctests for 'query now dict' change in geturl(). * [169d1ce] mini-buildd-tool: Simplify/fix main error handling (we should not need urllib). * [d5d9bb4] api.py/net.py: Move login/logout code back to endpoint. * [d0fc347] api.py: Fix/simplify logging. * [2e7bfc1] api.py: call(): Don't use recursion. * [f85c43c] api.py: call(): Loop retry options until RET (don't always retry call). * [a2480d3] api.py: call(): Fix retry loop condition (Fixes endless loop on calls with empty dicts as result). * [3a223c4] api.py: call(): Remove "plain" option from python api. * [6b902ba] devel: codespell: Workaround: Ignore "ser", as it now commplains about '(u)ser' string. * [2b132e6] api.py: 'show': Rm '--verbose' (was only used in now-gone plain result). * [cb595b7] mini-buildd-tool: Further simplify call code. * [7631414] views.py: On exception in API call: Rather use 400 (Bad Request) than 405 (Method Not Allowed). * [69158d5] api.py: MultiSelectArgument: Value should be empty list when empty string was given. * [444763f] models/repository.py: Make mbd_reprepro() non-private. * [ed0a058] devel: build-and-migrate: Use the new find call. * [33f4518] api.py: New API call: "find". * [59a74cf] api.py: Call(): Fix: Don't enter retry mode if non- interactive (fixes endless loop when piping). * [6d8b59f] api.py: call(): Error handling: Prefer last server message as only error message. * [49bd56c] api.py: Fix regression: No raise on error (may lead to endless loop). * [61a68e7] devel: Make vendor list env-configurable. * [0073a09] wizards: Update Ubuntu: Add focal (20.04), remove disco. -- Stephan Sürken Sat, 02 May 2020 19:21:20 +0200 mini-buildd (1.1.27) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** API fixup, part V: Client code merge Moves the client API code from 'api.client_1_0.Daemon' to 'api.Client', merges redundant code base into 'api' module only, actually use the client API in mini-buildd itself and simplifies 'mini-buildd-tool' usage. And a lot of wreckage along the way. [ Gerhard A. Dittes ] * [e84b6f4] devel: installdeps: Add libnss3-tools for self-sined cert handling [ Stephan Sürken ] * [ae1c837] api/client_1_0.py: Rm "django_mode": w/o pickle, no need for django pseudo configure. * [0151c50] devel: Fix missing program name in main usage. * [2fe08c8] api/__init__.py: Remove extra api.django_pseudo_configure(): No longer needed w/o pickle. * [a3b2e25] API: Rename/Move api.client_1_0.Daemon -> api.Client. * [ed4338d] API: Get rid of extra api sub package. Promote api._contrib to top-level contrib (still "not part of mini-buildd :) * [289d298] mini-buildd[-tool]: Fixup --verbose/--quiet argument doc (--verbose said 'lower'). * [20837ad] api.py: Update api.Client to network endpoints. * [bc90d6d] API: status,start,stop: Add archive/daemon identity to status result. * [1a1a695] API: status,start,stop: repository info: Add layout to status result. * [7b7ef70] Remove helper script 'mbu-migrate-keyring-packages' (obsoleted by updates to keyring/migrate API calls). * [306aefc] mini-buildd-tool: Use api.Client(). * [2be76e4] devel: install: Avoid dpkg asking about changed default file. * [dfcb98d] devel: install: Use non-interactive debconf (avoids extra debconf post-install note). * [0a23c5e] devel: getsourceslist call test: Rather use buster, not wheezy. * [686b9b5] api.py: Mark plain results via special json key, obsoleting plain_result() extra methods. * [4fd13a4] mini-buildd-tool: Update to new "plain" api: Cmd line args: removes --output=type, adds --plain (former --output=plain). * [c19654e] models/gnupg.py: Use mini_buildd.api (not manual urlopen): getkey. * [fc7144d] views.py: Update to new "plain api". Now defaults to json output and removes "json-pretty". * [1e803a6] devel: Use m-b-t --plain; fix tidy api test to explicitly output html. * [425ccde] templates/mini_buildd/api_default.html: Use new plain result. * [dba2b39] api.py: Client: Fix: Always use urljoin. * [c291e6a] models/gnupg.py: Use mini_buildd.api (not manual urlopen): status. * [8489a47] HTTP header messages: Use *one* global prefix var (from api), and fix parsing routines. * [d42eab5] mini-buildd-tool, api.py: Print daemon messages in api.py only. * [d962e0c] net.py: web_login(): Rather raise HTTPError on login failure. * [263ea7e] net.py: web_login(): Remove obsolete try/catch. * [22c392a] api.py: Add method logged_in(). * [c91d272] api: Move "implicit auth support" from mini-buildd-tool to api.py. * [2a53a85] mini-buildd-tool: Improve doc for --plain. * [443ab79] api.py: Replace internal stderr logging by standard LOG. * [5a379f6] misc.py: Remove compat for very old python-keyring versions. * [28295a2] api.py: dput_cf caching is obsolete. * [540292f] net.py: web_login: Better error handling on failed login. * [a30203c] api.py: Move web_login() code to api.py. * [fd68505] api.py: Move Keyring class code to api.py. * [b6b268d] api.py: Keyring: Obsolete qualname(). * [da32a9d] api.py: Keyring: Fix for multiple users. * [fa15d87] api.py: Merge login()+web_login(); make keyring class var. * [0643582] api.py: login: canonize_url does not seem to be needed any more. Removing. * [7639b6d] api.py: Add username in login log msg. * [74aedf1] api.py: Keyring: Remove whacky support for "save policy". Simply always ask before a password is saved. * [39e110f] devel: Also trap cleanup on INT TERM (seems there are some corner cases when emacs kills the buffer while reading input). * [c8fe7d1] api.py: Further keyring code cleanup. * [e62679a] api.py: Merge keyring code into login(). * [b9b6712] doc/user.rst: Add note about python-keyring default backend problem. * [cf5aab3] api.py: Fix interactive loop in call() + code cleanups. * [80679b7] api.py: call(): Remove whacky 'raise_on_error' option. * [1ba0681] api.py: Client: Don't be interactive if not on a tty. * [e48b718] api.py: call(): Fix error handling (forgotten raise). * [0a6f727] api.py: Better wording to clarify that the superuser username is very most likely 'admin'. * [6f1fb7d] api.py: Client interaction: Prefix url in input() and getpass(). * [a2004be] api.py: call(): rm 'batch mode' option (automatic now w/ isatty). * [b5a4faa] api.py: Client: Add custom log() method for conforming output. * [05061e4] api.py: Client: Rename isatty->interactive, and make it an option. * [ded1d6a] api.py: Don't monkey patch enpoint.user; login in init phase when user given explicitly; fix interactive relogin by try_login(). * [e12b696] api.py: Client(): 'dry_run' option does not really make much sense atm. Removing for now. * [6ed2ab1] mini-buildd-tool: Remove convenience removal of ancient creds file location. * [e4873ea] api.py: Client: Various log text fixes. * [4b05523] api.py: Client.call(): Use nicer 'or style' for args. * [ac90fdc] api.py: login(): Rather use endpoint.url() directly, not extra alias "url". * [ca788d6] mini-buildd-tool: Produce args: Rather use a pos identity list from API than a hardcoded exclude list. Fixes possibly stray http arguments. * [2fbe907] api.py: Client: Fix: Actually set 'logged_in' var. * [5249d3f] api.py: Fix: Don't install our login opener as global opener. * [5cf8dea] mini-buildd-tool: Replace per-command '--confirm=command' by global '--auto-confirm' option. * [3842235] mini-buildd-tool: Replace '--plain' by '--json'. Changes default to plain (human readable) output. * [15f3e3a] net.py: client notation: Clarify prefs for twisted-style notation. -- Stephan Sürken Fri, 24 Apr 2020 18:28:15 +0200 mini-buildd (1.1.26) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** API fixup, part IV: Purge pickle Finally removes output "python", and updates all code to json only. * [d0108db] API: Remove output 'python' (pickle). * [ba07279] models/gnupg.py: Update code: pickle->json. * [4d8d3c8] changes.py: Update code: pickle->json (stati now are "json dicts") * [b42eba5] api/client_1_0.py: pickle -> json update * [8a06d21] API: Remove "make pickable" workaround. * [08893fb] examples/python-client: Fix for API json update. * [5d8ac97] devel: Rather use buster, not stretch, for some tests. * [c5c4a87] api/client_1_0.py: Update to json API calls. * [16f501c] api/client_1_0.py: Fix use of dsc_url to dsc_path (has been changed quite some time ago ;(. * [6b4f5e8] examples/python-client: Add some more calls. -- Stephan Sürken Mon, 20 Apr 2020 14:56:13 +0200 mini-buildd (1.1.25) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** API fixup, part III: Define json Tries to give every call a reasonable json output, and removes extra plain support for all calls that don't need it. * [2649d08] API printuploaders(): Reasonable json result. * [551a052] gnupg.py: Only use one 'get_colon' method. * [92cf5a5] gnupg.py: Add get_pub_key_info() (moves code with gnupg impl details to better place). * [2930878] gnupg.py: Rpl get_pub_key_info() by get_pub_keys(): Fixes user_id, updates printuploaders json result. * [363e354] API: Rename call "printuploaders" to "getuploaders". * [f3bd9aa] API: list(): Usable json output; drop extra 'plain' support. * [4fb22a4] API: show(): Usable json output; drop extra 'plain' support. * [6c05e81] API: migrate(): Update json output. Just a plain log for now. * [6518158] API: remove(): Update json output. Just a plain log for now. * [a0bdc84] API: port(): Update json output. Skip extra 'plain' support. * [e0794f4] API: portext(): Update json output. Skip extra 'plain' support. * [3602242] API: retry(): Update json output. Skip extra 'plain' support. * [1786405] API: subscription(): Update json output. * [d6e2544] API: Remove now-obsolete helper func _get_table_format(). * [348ea7a] devel: package tests: Remove wait4package support (rather wait until migrate succeeds). -- Stephan Sürken Sat, 18 Apr 2020 18:30:38 +0200 mini-buildd (1.1.24) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** API fixup, part II: API code preps && cleanup Adds 'json-pretty' output. Decision to keep 'plain' output, but use 'json-pretty' as default; only some calls like "getkey" will get special 'plain' output. * [1fddb6d] devel: Add MBD_HOSTNAME to usage. * [319f673] API: Add "json-pretty" output. * [123b8f1] API: Fixup all remaining uses of __str__() to plain_result(). * [94111bc] API: Drop result["result"] trick for plain result; rather have all cmds that need it an explicit method, else fallback to json- pretty. * [fdc440f] API: Improve global command generation && api doc view. * [93ff5e3] bin/package-templates.testbuild: Remove; ancient, and has been obsoleted quite some time ago by api call 'testpackages'. * [b8e33cc] API: Simplify global COMMAND list creation. * [7a787d0] API: Improve code around how commands are accessed. * [a87c361] API: Get rid of extra COMMAND class attribute. * [71d7c50] API: Move common args 'macros' to GroupPackage (only used there). * [4893dc7] API: Fix 'printuploaders' for json output. * [fa057bb] API: Use same result (status) for commands: status, start, stop. * [62aa8e9] API: Update command docs via decorator. * [ae5c362] API: Remove extra plain support for: status, start, stop, printuploaders, subscription. * [cdcb86b] models/gnupg.py: Remotes: Fix non-json access to result. -- Stephan Sürken Fri, 10 Apr 2020 16:50:46 +0200 mini-buildd (1.1.23) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** API fixup, part I: JSON output Make json the primary internal result value and add support for all API calls -- in 'as-was fashion'. I.e., most calls will just offer the former plain result in key "result" for now. No incompatible other changes yet. * [9e5e799] api: Support "json" as output. Calls not supporting this (currently all) deliver an empty dict. * [8fb110f] API: status(): Support json. * [17a0646] API: start(), stop(): Support json. * [17c4e7c] devel: log tools: Switch back to tail (less tends to hog CPU). * [3cee477] API: printuploaders(): Support json. * [aa43093] API: getkey(): Support json. * [e1a1dc3] API: getdputconf(): Support json. * [3039243] API: getsourceslist(): Support json. * [2209103] API: logcat(): Support json. * [87c10d9] api/__init__.py: list(): Add missing return in p_table() helper func (fixes list(output=plain)). * [7e682f2] API: list(): Support json. * [3857045] API: show(): Support json. * [cc067e5] API: migrate(): Support json. * [9b267fb] API: remove(): Support json. * [caa9d68] API: port(): Support json. * [dba996e] API: portext(): Support json. * [d22738e] API: retry(): Support json. * [9eab881] API: subscription(): Support json. * [afd5580] API: Drop extra internal '_plain_result' class variable. -- Stephan Sürken Fri, 03 Apr 2020 14:50:12 +0200 mini-buildd (1.1.22) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** Code refactoring of Changes class: Use subclasses Upload, Buildrequest and Buildresult -- make code somewhat more readable ;). * [613354e] changes.py: Add Upload, Buildrequest and Buildresult sub classes. * [668646e] changes.py: Move Options support to Upload.Options. * [9c8bd4d] changes.py: Buildresult, Buildrequest: Add FILE_APX. * [0b5bbe7] changes.py: Rather use changes.load(), not create(). * [dcba3cb] changes.py: Move __str__ to subclasses. * [36cfd76] changes.py: Remove extra type support from file path generators. * [56b07af] changes.py: Move gen_buildresult() && upload- faild_buildresult() to Buildrequest. * [0a57c73] changes.py: Remove all the extra type handling. * [2011292] changes.py: Move upload_buildrequest() to Buildrequest. * [16d27c9] changes.py: bres_stat(): Move to Buildresult. * [e059b38] devel: Add (commented) line to test one package after each restart. * [933f691] changes.py: Move gen_buildrequests() to Upload. -- Stephan Sürken Tue, 31 Mar 2020 19:33:56 +0200 mini-buildd (1.1.21) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** Initial release with feature-complete "https support". Still defaults to http though -- you will need some manual steps described in the adminstrator's manual to enable https. * [b6691b0] api: status: Update result for dynamic proto (i.e., support https). * [148e4c6] registration/activation_email.txt: Add https variant of activation URL. * [37b5449] config.py: Properly define primary httpd: Add 'primary_httpd_endpoint()' for code and 'mbd_url' as static context for templates. * [37fab03] django_settings.py: Skip (overly ornate) support for 'component versions info', greatly simplifying our custom context. * [8daffcf] Get rid of models/daemon.py custom http(url) methods. * [472e784] httpd_twisted.py: "reactor" must be imported after daemonize(): Workaround in httpd impl, not mini-buildd. * [e272258] httpd.py: Commit to twisted. Skipping abstraction layer for less/cleaner code. * [2350529] share/bash-completions: Fix after py3 update (argcomplete scripts are renamed w/ appendix '3'). * [3cd5409] mini-buildd.postinst: Fix typo in comment. * [908d3b3] devel: Fixup to be able to test both (http and https) setups. * [30d3a1e] misc.py: Keyring: Don't mess around w/ usernames here. * [f7ca36b] mini-buildd-tool: Skip '--protocol', and make 1st argument an 'endpoint', not 'host'. * [c6cc70d] net.py: web_login: use UserURL. * [4465442] net.py: Redesign Endpoint* classes. * [f7f0171] net.py: web_login: Use Endpoint, not UserURL. * [a33caa2] net.py: Rm now-obsolete UserURL class. * [f94098b] ftpd.py: Adapt ftpd to "endpoints". * [1a34ea7] devel: Make PORT and SSL configurable from command line. * [2ecf78f] models/daemon.py: ftpd_bind default: Fix for twisted _server_ syntax. * [2a5bdbc] mini-buildd-tool: Use same formatter mixin like mini-buildd (raw+default values). * [4aea996] net.py: Add generic help for twisted-style endpoints. Use them in mini-buildd[-tool]. * [c7aa58f] net.py: Fix a couple of wrong values in the url converter helper 'matrix'. * [d1f408d] mini-buildd: Rather use "http-endpoint" than "httpd- endpoint" (cl arg+internals). * [a47509c] net.py: Endpoint help text: Add hopo-compat and extra-URL syntax. * [a047206] models/daemon.py: Add web endpoint help for daemon.ftp. * [3a31510] models/gnupg.py: Remote: Add web endpoint help; update default 'http' value. * [de1b27f] src/mini_buildd/*: Various changes: Get remotes working again using new endpoints (tested non SSL case). * [d32a84f] net.py: Various code cleanups. * [0f0a890] net.py: Make web_login() method of ClientEndpoint. * [d380b9f] py3: Bulk-upgrade to python 3.6 format strings (fstrings). * [037f9a2] net.py: Fix two spelling errors. * [cd7e547] net.py: Rather use pydoc directly (for ntwork notation help). * [83209bf] net.py: Clean up doc && doctests. * [2736234] net.py: Make urlopen_ca_certificates() into endpoint method urlopen(). * [6eb2700] net.py: Fix/optimize url/hopo parser code. * [d0fae99] net.py: Switch from urlparse() to urlsplit(). * [c61a26b] net.py: Put doctests to "module" (tests various classes). * [08e5ba8] net.py: Simplify. * [47c7276] net.py: Make url() properly work for client endpoints. * [2a9e672] net.py: doc fix: mixed up [un]encrypted. * [8947fc9] devel: Add log() function. * [7c697c9] devel: Add 'pygrep' helper. * [6355fec] net.py: urlopen() rather should not be a method of endpoint after all. * [1a1c9fc] mbd-self-signed-certificate: Add helper to generate self- signed cert. * [0729441] control: Add 'suggest' for openssl. * [2a42af1] devel: Update for new self-signed tool (plus some). * [d5a91fe] devel: Make pygrep not stall w/ no args. * [e2e76a8] devel: Also put default back to non-SSL here. * [a416edf] models/gnupg.py: Remote: Default back to non-SSL. * [e479a98] mbd-self-signed-certificate: should rather be 1st arg. * [6917f23] mini-buildd: Minimize --httpd-bind deprecation warning now that bind notation is autodetected. * [8bd44ce] mini-buildd: Add arg --hostname: To be used as global public hostname f.a. services. * [8db1e83] daemin.py, net.py: Use global hostname; rm extra host arg from Endpoints. * [6befad7] net.py: Add some more detailed doctests. * [51754c3] Use endpoint URLs (instead of hopo) as remote id. * [0c39834] templates/mini_buildd/home.html: Fix remote link. * [ddf31af] remotes: Rename http2url -> url. Rather show url in info string. * [1b8a774] net.py: Network string: Unencyrpted example 1st, as this will still be the default. * [ec5a67b] doc/admin.rst: Add doc how to set up https. * [725fb78] mbd-self-signed-certificate: Add status command && print actual cert info. * [859c5a3] mbd-self-signed-certificate: Use template to generate. Also adds SAN to cert. * [6738265] devel: prepare-system: Create self-signed-cert with configured hostname. * [da39be9] devel: prepare-system: Add _all_ locally configured system ca-certificates to chromium/firefox cert storage. * [a1fdd74] Fix Priority (extra->optional) f.a. test package templates. -- Stephan Sürken Sat, 28 Mar 2020 17:57:11 +0100 mini-buildd (1.1.20) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** Second 2020 'catch up' release: * [4454c44] devel: tidy check: Ignore warn-proprietary-attributes: tidy complains about "autocapitalize" in django3, but this seems to be valid html5. * [3d6736c] Properly handle new lintian stati (warn, info) from sbuild 0.77.0. * [b945fec] wizards: Ubuntu: Add 19.10 (eoan), skip older non-LTS cosmic. * [8390a8f] Add Ubuntu disco and eoan to 'ddeb' exception list. * [b0c8b3c] API: Fix MultiSelect argument type for m-b-tool. -- Stephan Sürken Fri, 10 Jan 2020 14:37:29 +0100 mini-buildd (1.1.19) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** Initial 2020 'catch up to sid' release: * [cc8d67a] Merge root_urls.py and urls.py. * [ac9f791] pylint: Fix four new 'unnecessary-comprehension' warnings. * [30c0575] pylint: Globally ignore new 'import-outside-toplevel' warnings. * [9f3fce7] pylint: Fix one new 'subprocess-run-check' warning. * [5c644b0] django: Use 'Etc/UTC' has (hardcoded) default time zone; skip all deps on tzlocal. * [6c8a8d2] django templates: Repl staticfiles->static; former is removed w/ django >=3, latter works for 1.11 as well. * [5ce0042] devel: Make pipclear not fail if nothing is installed itfp. * [432f7cc] control: Allow django 3.0. -- Stephan Sürken Fri, 03 Jan 2020 16:23:15 +0100 mini-buildd (1.1.18) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This and that: Moves to SVG-only for the webapp images; adds internal restart (cron.weekly now removed); plus misc Debian packaging upgrades (now dh 12 and 'lintian clean' again). Offtopic: 1.0.x (stable) can no longer be maintained in Debian unstable/bullseye. Please see http://mini-buildd.installiert.net/ on how to get further updates. * [229b287] rules: Use 'python3 -msphinx' instead of sphinx-build. * [f560b97] devel: Use "custom debi code" temporarily (see bug #932896). * [322fe02] .lintian.cfg: 'fail-on-warnings': Is no more. * [f6ff78f] .lintian.cfg: show overrides. * [8e964a2] Remove mini-buildd.lintian-overrides: 'no-debconf-config' no longer needs to be overwritten. * [845fae1] devel: Roll own lintian check (ask to continue on warning or error). * [15bb2c1] devel: Persist last changes file; make lintian use that if it exists (be able to repeat the lintian call). * [f5f2d8c] debian/*: Update to debhelper 12 (change: fixup dh_missing call). * [6f090c6] control: Update to 'debhelper-compat' notation. * [ddfe683] control: We need python3 >= 3.6 (f.e., use of enum.auto). * [c400f3e] devel: Skip buildfast|check in favor of one build(): Always no check, but always docs. * [a59ea6b] devel: Run prepare-system on updatetestall only. * [cccc79b] control: mini-buildd.deb: Add missing 'Pre-Depends' (Fixes lintian/skip-systemd-native-flag-missing-pre-depends). * [71ce9ec] Rename setup.py -> config.py (was confusing: setup.py has special meaning in pyworld). * [a6d1144] devel: Run lintian on updatecheck. * [d7ac20c] .lintian.cfg: Use nicer notation (like in shipped). * [b245b0d] lintian: Rather use '.lintianrc' as config file name (similar to shipped). * [bf72b63] .lintianrc: Also display experimental checks. * [73dc748] devel: Add support for custom args. * [1c45205] devel: lintian(): Custom args == addon arge for lintian run. * [38986f6] debian/control: Fix short description of mini-buildd-doc (was copy/paste from -utils). * [c8b7f92] mini-buildd-doc: Register HTML manual with doc-base. * [509bb7a] control: python3-mini-buildd desc: "Python" should be capital. * [88864f9] mini-buildd.timer: Add systemd timer (for weekly maintenance restart). * [624c248] control: Update stds-version to 4.4.0 (no changes required). * [1bec858] devel: Fix running of non-queued functions (mbd_func). * [fa1d334] daemon.py: Add convenience restart() method. * [12f98e5] devel: Separate log functions (daemon, access) * [9b02af7] pylint 2.3.1: Fix new 'no-else-raise' in models/base.py. * [4451a3f] pylint 2.3.1: Now finds 'invalid-name' in templatetags/mini_buildd_tags.py: Needs exception. * [8763e5d] pylint 2.3.1: Now finds "broad-except" for BaseException too: Disabling for now (too many). * [d5c1ae3] devel: Since prospector 1.1.7, we no longer need to pin pylint at 2.2.2. * [8a24c72] mini-buildd: Better code for signal handling; prepare for internal weekly restart. * [699755d] devel: Use less to follow logs. * [4008411] mini-buildd: Add internal restart schedule (hardcoded to Sunday 2am). * [49c787b] debian/*: Remove cron.weekly (we now have an internal (hardcoded) scheduled restart in place). * [3bae100] doc/*.svg: Convert all to plain SVG (was: inkscape SVG). * [ddad215] Move all doc/*.svg into the static/img/. * [3286533] Choose better names for the svg image files. * [96d284f] setup.py: Also install *.svg files. * [2a06a43] Remove mbd_migrate|remove|wizard.png: Using svg instead. * [7e6ac04] images: Use svg only for logo. * [9487f68] img/mbd_start.png: Convert and use as start.svg. * [8e210da] img/mbd_migrate_rollback.png: Unused -- removed. * [48ade15] img/mbd_rebuild.png: Unused -- removed. * [eac726d] img/mbd_stop.png: Unused -- removed. * [e1faeac] img: Use SVG for bullet list. * [7d591f8] css: Do all "gradients" via CSS 'background-image'; remove all "gradient pngs". * [77160bf] doc: Fix logo to use SVG. * [c488f4f] img: Convert message PNGs to SVGs. * [711b98a] setup.py: Remove "png" from static files to be installed. * [289ada3] static: Add script to generate favicon.ico && update favicon.ico. * [e6b5c1e] img: Remove progress_blue.gif; do rotation via CSS only. * [3c8147f] setup.py: static data install: "gif" no longer needed. * [086b959] img: Rename mini-buildd.svg -> logo.svg. -- Stephan Sürken Wed, 31 Jul 2019 17:03:35 +0200 mini-buildd (1.1.17) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** 'static code check' release. We now use 'prospector' to coordinate 3rd party static checkers. In addition to pylint, pycodestyle and pyflakes this (for now) adds pydocstyle, mccabe, and dodgy. Whole (new py3) code && exceptions have been reviewed and updated. This release also fixes mini-buildd for django 2.2, and updates the wizards for Debian repo changes after the buster release. Offtopic: 1.0.x (stable) can no longer be maintained in Debian unstable/bullseye. Please see http://mini-buildd.installiert.net/ on how to get further updates. * [544a185] pylint: Rm exception for doc/conf.py (add specific exceptions in-file). * [3601724] devel: Add general "linters" check using pylama (exceptions go to tox.ini for now). * [b78f8a4] Rather use 'setup.cfg' than 'tox.ini'. * [3b9b8f9] devel: Print list of files with in-file exceptions after 'linters' check. * [0d33499] devel: Rm separate pycodestyle && pylint checkers. * [049a5db] Remove .pycodestyle and .pylintrc files (now pylama conf in setup.cfg). * [b00c586] devel: Fix pylintgenerated... helper for setup.cfg. * [e8f3757] devel: Rm obsolete bug 877637 reproducer. * [cb441a4] devel: linters: Add pyflakes. * [d99b100] devel: linters: Add mccabe. * [c9a90cc] devel: linters: Add pydocstyle. * [d326843] Bulk-remove all 'editor UTF-8 hints' from python files (py3 code is by default UTF-8). * [a2bca1f] setup.cfg: sync max line length (240). * [f2dbe5f] setup.cfg: pylint: We don't need the REPORT section. * [603010f] setup.cfg: elpy/flake8: Fix exception order. * [4a780f1] setup.cfg: elpy/flake8: Rm line length exception (since have a line length configured). * [c9b75c7] devel: prepare-system: Make sure pylama is upgraded. * [7dc66a0] setup.cfg: pycodestyle: Fix syntax for max line length. * [c59a32a] devel: pylama: Seems only version 7.6.5 seems to (kinda) work (wtf?). * [3919342] devel: Add pipclear (uninstall all pip3 local installs). * [c596ee0] devel: Could not for the life of me get pylama to anything consistent ;). Trying prospector now. * [18f0212] doc/conf.py: pylint exceptions: Rather use symbolic names. * [4ead2bc] .prospector.yaml: New config for prospector; pylama config from setup.cfg moved here. * [8248747] devel: Rename linters->prospector. * [f5d5e9c] devel: rm flake8 check (obsolete w/ prospector). * [fd3ee87] .prospector.yaml: Add run option for every tool; only enable pep8 for now. * [10831ad] .prospector.yaml: pep8: Run full with exceptions. * [88a9f09] Fix pep8/E122 in api/__init__.py. * [1c67ef9] Fix pep8/E122 in builder.py. * [ca2cd6b] Enable pep8/E122 for prospector. * [c4880cb] Fix pep8/E124 in models/daemon.py. * [c0dcdd8] Fix pep8/E124 in models/source.py. * [bd61a15] Fix pep8/E124 in reprepro.py. * [2c6615f] Enable pep8/E124 for prospector. * [343474e] Ignore pep8/E402 for doc/conf.py in-code. * [b7674d4] Enable pep8/E402 in prospector. * [d4b78b9] Fix pep8/E741 in mbd-import-08x. * [eae863d] Fix pep8/E741 in mini_buildd/call.py. * [0c72ad5] Fix pep8/E741 in mini_buildd/net.py. * [183ef25] Fix pep8/E741 in models/chroot.py. * [4dfee44] Fix pep8/E741 in views.py. * [04e29ad] Fix pep8/E741 in models/msglog.py. * [3fbd8a6] Fix pep8/E741 in api/__init__.py. * [0e2e312] Fix pep8/E741 in builder.py. * [5fbab17] Fix pep8/E741 in packager.py. * [afe476f] Fix pep8/E741 in changes.py. * [825ed0e] Fix pep8/E741 in misc.py. * [cabd8d5] Fix pep8/E741 in models/repository.py. * [6d48bfb] Fix pep8/E741 in templatetags/mini_buildd_tags.py. * [339c9f4] Enable pep8/E741 in prospector. * [7c96945] Don't disable pep8/W503 in prospector (seems to be ignored anyway/W504 is being used rather) * [572ab63] Ignore pep8/N802 for httpd_twisted.py in-code. * [5bb6e35] Enable pep8/N802 in prospector. * [38c2939] Fix pylint/invalid-name in run-doctest. * [d40fef5] Fix pylint/wrong-import-order in mini-buildd. * [f1322f4] .prospector.yaml: Tighten max module lines to 1400. * [a101f6d] .prospector.yaml: pylint: Complete exceptions for scripts (false-positive 'invalid-name'). * [6ed07ce] Disable pylint/import-error in mini-buildd (obviously false- positive) in-code. * [51c0fa9] Enable pylint/import-error globally. * [3e3f679] Enable pylint/cyclic-import globally (there seem to be no issue any more). * [bbfc10f] .prospector.yaml (pylint): Update comments for logging- format-interpolation exception. * [3d61135] .prospector.yaml: Add skeleton config for dodgy and pyflakes (disabled for now). * [1cc5011] .prospector.yaml: Update strictness: low->veryhigh && use django lib. * [16cbfec] .prospector.yaml: Re-enable pylint. * [ec35003] pylint: Remove "generated members" django workaround (seems prospector django lib already handles this). * [0d9c1c8] .prospector.yaml: Simplify/cleanup notation of pylint config. * [249e7c6] .prospector.yaml: Rm per tool run: option (too confusing). * [da263a0] pylint: Disable invalid-name in mini_buildd_tags.py in-code. * [47162f8] pylint: Disable "invalid-name" for all scripts in-code (and remove 'good-names' global config). * [54d818f] pylint: Globally disable cyclic-import in .prospector.yaml. * [0a2f376] pylint: locally-disabled && missing-docstring don't need to be disabled w/ prospector. * [e53a5e1] pylint: Disable 'too-many-ancestor' locally in changes.py only. * [40c4044] pylint: Disable 'too-many-boolean-expressions' locally in api/client_1_0.py only. * [c0555d1] pylint: Remove 'max-statements' config: Does not seem to be needed any more. * [bdc3b23] pylint: Disable 'too-many-return-statemtments+branches' in 'views.py' locally only. * [7ca6ac3] pylint: Adapt 'max-public-methods', add comment. * [567b967] .prospector.yaml: Enable doc warnings. * [64df174] pyflakes: Disable F841 globally ('# noqa' just does not work as advertised). * [99513a0] pep257: Fix D413 in models/base.py. * [fd44ee4] pep257: Fix D412 in models/base.py. * [771af13] pep257: Fix D404 in various modules. * [ff6439a] pep257: Fix D403 in various modules. * [edad9c8] pep257: Fix D401 in numerous modules. * [ade8a97] pep257: Fix D400 in numerous modules. * [2673142] models/chroot.py: Remove unused class method. * [33fae70] pep257: Fix D301 in two modules. * [a8f63e9] pep257: Fix D300 in numerous modules. * [dfc45a7] pep257: Fix D213 in numerous modules. * [eb2bc71] pep257: Fix D210 in models/chroot.py. * [427d6e6] pep257: Enable D207 (no issues). * [c8be5f2] pep257: Fix D205 in misc.py. * [f0f84c5] pep257: Fix D204 in numerous modules. * [0d8750d] pep257: Fix D202 in some modules. * [76e7aff] pep257: Fix D200 in numerous modules. * [6af7cd3] .prospector.yaml: Explicitly run pep257 (not default, unlike documented). * [c26bb95] devel: prospector: Skip printing exception files. * [1b8a2e3] models/base.py: Renice module doc; avoid 'r' prefix. * [42ed056] .prospector.yaml: pep257: Disable D416: seems to produce false-positives now. * [adbc543] src/*: Some code/text fixes due to new codespell. * [1404aae] codespell: Rename some variables keyserver->key_server to make it happy. * [c089477] devel: codespell: Add exceptions (needed w/ version 1.15). * [3fda8b0] doctests: Fix special escaping in some tests (no longer needed and now breaks it). * [e89e6f4] wizards (key updates after buster release): Add buster apt keys, and update source wizards for buster and sid. * [9fc5a7f] wizards (key updates after buster release): Update source wizard for stretch. * [289e9fa] wizards (key updates after buster release): Add buster security key, and update source wizard for buster/updates. * [3639136] wizards (key updates after buster release): Update source wizards for jessie/updates. * [803b700] wizards (key updates after buster release): Update source wizards for stretch/updates. * [94dc2c0] wizards (key updates after buster release): Update source wizards for stretch-backports. * [c8d7d5a] wizards (updates after buster release): Add stretch- backports-sloppy. * [fd01fd7] wizards (updates after buster release): Add buster- backports. * [1605c4c] wizards (updates after buster release): Add bullseye + bullseye-security. * [ee0d42b] Update in-place doc on sources after buster release. * [61665e2] wizards: Add Ubuntu disco (and 2018 archive key). * [b96b44a] devel: installdeps: Add py3-pip, py3-wheel. * [033e1fd] devel: installdeps: Add devscripts and faketime (for debrepro). * [814f3bd] reprepro.py: Ignore 'unusedarch' check (fixes linux' <= 4.13 'make deb-pkg'). * [03ba21b] devel: pip3: uninstall user installations only. * [05489c6] django 2.0: Call cleanupregistration w/o option 'interactive'. * [86f66f6] django 2.1: Update to class based views in root_urls. * [efb4712] django 2.0: django_settings.py, pseudo config: MIDDLEWARE_CLASSES -> MIDDLEWARE * [ba10dbe] django 2: django.contrib.message now _must_ mandatory in INSTALLED_APPS. * [7a2d48c] control: Allow django up to 2.2. * [89fe749] pylint: Fix one in-code exception in net.py. * [b95afb6] pylint: Remove no-longer-needed in-code exception in models/source.py. * [771195c] pylint: Remove no-longer-needed in-code exception in models/gnupg.py. * [a930627] pylint: Remove three no-longer-needed in-code exception in models/repository.py. * [4fc008d] pylint: Remove no-longer-needed in-code exception in models/chroot.py. * [0ea4698] pylint: Remove three no-longer-needed in-code excpetions in httpd_twisted.py. * [b7f74c0] pylint: Remove no-longer-needed in-code excpetion in templatetags/mini_buildd_tags.py. * [0f93a0f] pylint: Remove no-longer-needed in-code excpetion in daemon.py. * [dfe625b] pylint: Remove two no-longer-needed in-code exceptions in changes.py. * [84efa52] pylint: Remove no-longer-needed in-code exception in api/__init__.py. -- Stephan Sürken Tue, 23 Jul 2019 17:57:55 +0200 mini-buildd (1.1.16) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** 'https part 2' release. This makes the testsuite run fine with https enabled (for the self-signed case). Still doesn't work with remotes, and some bells and whistles to make it 'just work' still missing. Check the man page for the new new '--httpd-endpoint' option if you care to ponder with it: * [0b018f7] devel: Make tofu bootstrap test of its own. * [88cdab1] source wizards: Adapt for new signing keys for buster/updates (security). * [686378e] control: Ups: switch left-over cherrypy dep to twisted. * [846e84a] devel: Use fq hostname (instead of localhost) for testing (will be more convenient for SSL later). * [6b5af16] devel: Use local (rather that installed) mini-buildd-tool. * [39a579d] devel: Global env name clean up. MBD_HOME removed (not used). * [f4055d8] devel: Remove 'sbuild key workaround testing' (the workaround is gone). * [68eb5cd] mini-buildd-tool: Handle down proto (http/https) argument to web_login(). * [12b6ee9] misc.py: web_login(): Add Referer header (required by django for https). * [57c2560] misc.py: urlopen_ca_certificates: Use system's default context. * [bdc7053] src/mini_buildd/*: Always use urlopen_ca_certificates() wrapper. * [803beee] mini-buildd: Cleanup --httpd-endpoint option code. * [e32be65] httpd: Move endpoint type check to Endpoint class. * [2d5bc74] misc.py: Endpoint: Add type2proto conversion. * [7713289] models/gnupg.py: Remote(): Support optional '[proto:]' prefix (to support https URLs). * [f28b334] changes.py: Use 1st endpoint's proto (http, https) for internal remote. * [d568c7b] daemon.py: Use 1st endpoint's proto (http, https) for daemon's http url. * [c8c7730] changes.py: upload scheduler: Monkey patch remote url for now (fixes live build log URLs if hhtps is used). * [31151f9] devel: Make proto (http, https) configurable via one variable. * [22285d2] devel: testfiles: Use an extra directory, and be sure it exists. * [9009280] mini-buildd-tool: Fix: subparsers (commands) should be required. * [b37537d] devel: Replace 'pyflakes3' test with 'flake8'. * [89ea692] src/mini-buildd: Ignore unneeded checks from flake8 (pyflake). * [e9b12c4] misc.py: web_login(): Return opener object, and use that in m-b-t (fixes auth w/ https). * [6c32733] devel: Use https for testsuite by default (as mini-buildd does now). * [eac9dcd] devel: Auto-prepare system to accept Debian snakeoil self- signed. * [82f4e28] devel: prepare-system: Also add snakeoil to browser (chromium, firefox) certstores for testing. * [cfa3f5a] misc.py: Endpoint(): Support protocol (http/ftp) && "ssl aware" url() composition. * [ac9e9c0] ftpd.py: Use Endpoint, not HoPo. * [8286941] net.py: Split new module "net" (network code from misc). * [fe97b52] net.py: Fix Endpoint doctests. * [ecf3a32] net.py: Add server & client endpoint variants. * [b450cc4] net.py: Endpoints: Add syntax check via twisted. * [fbacbc9] mini-buildd: Fix typo in arg description. * [ff3dc87] mini-buildd: Remove pre-daemon bind check via HoPo. * [827df38] net.py: Minor improvemts (less long code). * [3459df4] net.py: Various code improvements && some more compat. * [a993614] models/daemon.py: Update to 'Endpoint only'. * [d6f0f93] packager.py: Update to 'Endpoint only'. * [1140e0b] models/gnupg.py: Update to 'Endpoint only'. * [975aebd] changes.py: Update to 'Endpoint only'. * [bcfab20] builder.py: Update to 'Endpoint only'. * [1c13265] api/__init__.py: Update to 'Endpoint only'. * [54208df] net.py: Remove class 'HoPo' for good. * [049601a] net.py: Fix endpoint doctests. * [af0aa47] net.py: Add support to receive ssl cert (server->local file, client->remote host). * [667538e] builder|changes.py: Bundle ssl cert with buildrequests. * [fdfb331] devel: ssl-cert prepare: (Re-)Create snakeoil if not present, and use different name for cacert. * [98c9c21] .pycodestyle|.pylintrc: Update max line length to 250 for now (really -- have 21x9 display ;). * [a928577] src/mini-buildd: Put default back to non-https. * [d5fefd0] net.py: get_certificate(): Don't fail in the non-https case. * [9d44d84] misc.py: Add sources_list_has_https() tool function (code from builder). * [eda1a52] builder.py: Make work (again) for the non-https case. * [00479e2] net.py: Remove left-over 'devel only' log. -- Stephan Sürken Tue, 21 May 2019 13:19:21 +0200 mini-buildd (1.1.15) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release mainly completes the new API calls 'keyringpackages' and 'testpackages'. 'keyringpackages' will now auto-migrate up by default (also 'migrate' now has the option to fully migrate up in one go): * [849f297] templates/includes/mbd_api_arg.html: Bugfix: Never pre-set manual value (breaks at leats MultiSelect). * [4b5cd82] api 'testpackages': Move code from repository to api. * [0a67a0a] api: 'testpackages': Add options (types and distributions). * [ff1960e] api: 'keyringpackages': Move code from repository to api. * [4dcf9ce] api: 'autosetup': Default should be vendor=Debian only. * [3317c5e] Rename 'archive-keyring-template/' -> 'archive-keyring/' (it's now already in the 'package-templates/'). * [be26492] setup.py: Put (hardcoded) package-templates dir to setup. * [cab9945] daemon.py: Add TemplatePackage class; use for DSTPackage. * [6c59142] daemon.py: Impl. KeyringPackage via TemplatePackage. * [048ed50] api 'testpackages': Back to use full package names again. * [1400452] api 'keyringpackages': Add option "distributions". * [a29d4b1] .pylintrc: Remove 'similarities' pimp (only there for py2 "from future"). * [e19a532] api: Add common method to upload template packages. * [9e2d426] repository.py: Rm _mbd_portext2keyring_suites() (obsoleted by new api calls). * [1da61d6] api: keyring|testpackages: Use NEEDS_RUNNING_DAEMON flag. * [316173e] devel: wait3package: Improve note when package is found. * [6e42337] api: keyring|testpackages: Make args optional. * [e855c6a] mini-buildd-tool: Don't use ungiven args in api call. * [dc2529e] devel: Fixup autosetup && migrate tests after api changes. * [bcca432] daemon.py: Improve template packages. * [8eafcb6] daemon.py: Avoid extra getters for test and keyring packages. * [6ba3ab4] daemon.py: typo fix in comment. * [64c956f] api 'migrate': Add --full option (migrate up to top suite in one call). * [e6037fe] daemon.py: port() now returns triple 'dist,package,version'. * [66c4564] api 'keyringpackages': Add support to auto-migrate (usually unstable->testing->stable). * [774ebec] devel: autosetup test: Remove extra interactive warning. * [ce5550c] devel: Add support to run multiple code on exit (cleanup). * [5c3fdf0] devel: test suite: Add repo boostrapping and install tests. * [5d2caaf] devel: Improve apt-install test. * [7e18f54] wizard: Fix (can now find archived wheezy security again) and cleanup hardcoded archive list. * [526e63e] misc.py: Add extra heuristic function to detect apt-cacher- ng. * [185ff09] archive wizard: Rename "from_sources_list" to "local" and add support for apt-cacher-ng detection. * [a299ef4] Add example for vsyscall workaround. * [db944fe] source wizard: Flagging wheezy Security 'X-Check-Valid- Until: no' (it's Valid-Until is no longer updated). -- Stephan Sürken Fri, 12 Apr 2019 17:18:14 +0200 mini-buildd (1.1.14) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release (mainly) completes - the twisted HTTP backend implementation (should now have all the features of former cherrypy impl.), and - the 'valid-until support' for outdated/archived sources: * [faebd02] httpd.py: Remove code needed for non-twisted backends only. * [5fcc1cb] httpd_twisted.py: Implement "with_index" arg. * [7cf927e] control: Add missing package dependency on py-dateutil. * [e6fe4ae] httpd_twisted.py: Implement regex matching (using one customized twisted file resource). * [5342c6d] httpd_twisted.py: Separate customized (but otherwise generic) twisted classes. * [2f7596b] httpd_twisted.py: Remove temporary logs. * [c00666d] mini-buildd: Adapt hardcoded path for manual again (debhelper 11 per default installs it to the detected "main" package mini-buildd). * [f11957b] httpd_twisted.py: Implement 'with_doc_missing'. * [cb17041] devel: Improve levels for tests. * [74189c3] httpd_twisted.py: Implement (rotating) 'access.log logging'. * [9971965] httpd_twisted.py: Use t.logging (no deprecated t.python.log) to redirect twisted logging to ours. * [58de9f4] httpd_twisted.py: Switch to better 'rotated access.log' implementation (using t.p.logfile). * [7d6c256] Get rid of script 'mbd-auto-setup' (we now "officially" offer the auto-setup per API call). * [f977001] api/__init__.py: portext: _update(): Clear choices before adding (fixes ever-increasing choices list). * [de5c788] mini-buildd-tool: subparsers still can't be grouped ;). Updating note and issues. * [78b0482] schroot/setup.d/15mini-buildd-workarounds: wheezy and jessie are now archived (need Check-Valid-Until disabled). * [4b46ef1] sources: Add 'X-Check-Valid-Until' per-source support. * [f62f3be] wizards: Mark jessie-backports[-sloppy] source with 'X-Check-Valid-Until: no'. * [14a6dcc] 15mini-buildd-workarounds: Update comment on 'valid-until' global workaround. * [e1e72bd] api: New way to group commands; automate creation of global command helpers. * [3ba8d3a] api: Add calls "testpackages" and "keyringpackages". -- Stephan Sürken Mon, 01 Apr 2019 14:39:04 +0200 mini-buildd (1.1.13) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** "Release often" release. Syncs fixes w/ 1.0.37. * [102a374] devel: Comment typo fix. * [edd2143] devel: Rather check for packages in stretch, not jessie. * [a346212] api: autosetup: By default, setup up for both (Debian and Ubuntu). * [a24af91] source wizard: Update Ubuntu sources (up to 18.10). * [a9fac91] models/source.py: Add expire check for Release files ("Valid-Until"). * [9335f40] Add support for generic per-distribution DEB_BUILD_OPTIONS. * [0cc2bef] builder.py: Actually use 'sbuild --jobs=' as documented (not DEB_BUILD_OPTIONS) to set per-build parallelism. * [ba61841] debian/rules: Allow parallel builds for testing (dh 9 default is off). * [aa36509] templates/mini_buildd/log.html: Fix URI for buildlog && changes. * [5d44fe8] mbd_packager_status.html: Cosmetic: Add missing space. * [b900176] source,repository.py: Add support for Debian Security sources. * [96f8596] builder.py: Remove old/obsolete 'sbuild-update --keygen' support (now actually fails on newer sbuild). (Closes: 924077) * [d04d44f] package-templates/mbd-test-cpp: Add dep to test security sources. -- Stephan Sürken Mon, 18 Mar 2019 13:46:20 +0100 mini-buildd (1.1.12) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release mainly switches the httpd backend from cherrypy to twisted. [ Ondřej Nový ] * d/changelog: Remove trailing whitespaces [ Stephan Sürken ] * [4501fe7] mini_buildd/httpd*.py: Initial structural change to later support/test different backends. * [0835418] httpd*.py: Generalize add_static() function and call in generic HttpD. * [82661d1] httpd.py: Backends: Rather use inheritance model. * [59f4e62] setup.py: Use a little helper for the package data file lists. * [883334c] python3-mini-buildd.links: Add symlink to django admin site's static data. * [ea1d261] /mini_buildd/setup.py: Get rid of STATIC_URL common setup variable. * [018eda8] httpd.py: add_static_handler(): Give path w/o slashes ("static", not "/static/"). * [ba48b4a] httpd, setup: Move special html template back to httpd.py. * [4720d82] httpd.py: Improve notation for static adder method. * [f021ac7] httpd_twisted.py: Add alternative http backend. * [9662ac1] httpd.py: Move manual index generator code from cherrypy backend to base class. * [322a164] httpd_wsgiref.py: Initial wsgiref httpd (test) backend. * [37fcab6] httpd.py: Strip down html_index() to one simple function. * [e573026] httpd.py: Move html_index() to httpd_wsgiref. * [f2f2ff9] source.py: wizards: Update signing keys for unstable + testing. * [5326b0f] httpd.py: Fix used backend back to cherrypy. * [3f3c296] codespell update: Three more spelling fixes. * [fd40a89] httpd: Select backend from script, not module. * [2325059] httpd_tornado.py: Add tornado backend. * [5d54ef3] html: Fix tidy warning (labels must only link to one element). * [d5c698e] httpd.py: Code cosmetics. * [06678e0] httpd.py: Bulk API cleanups. * [f61a4a6] httpd.py: Mark private methods. * [57baaa6] src/mini-buildd: Do HttpD backend import in-method: daemonize() might close things created by backend (f.e. twisted) module's initialization. * [eea6df2] misc.py: Add network 'Endpoint' class (based on twisted syntax; eventually will replace class 'HoPo'). * [a94ab56] Update httpd code to use network endpoints (adds option --httpd-endpoints, keeps compat for --httpd-bind). * [63a312b] src/run-doctest: Don't run in verbose mode. * [c43eab3] httpd_cherrypy.py: Add SSL support. * [dd350c6] httpd.py: Use generic "supported types" check. * [5141f91] httpd_tornado.py: Add support for ssl. * [fe59778] httpd[_wsgiref].py: Move 'WSGIWithRoutes' helper to httpd.py. * [dd8afe4] httpd_waitress.py: Add test support for waitress backend. * [10f6e35] mini-buildd: Endpoints: Add real life defaults (tcp, ssl, unix) as code comment (for convenience, later tests). * [657f97e] httpd.py: Some simplification (triggered by pyflake error). * [d34954d] httpd.py: Move mime type add-on dict to base class; update in cherrypy- and implement in twisted-backend. * [5e5091e] api/__init__.py: Don't warn on missing (but optional) api updater function. * [b059691] builder.py: sbuild call: set '--no-arch-all' explicitly (Fixes "false" reprepro errors after successful builds w/ sbuild >= 0.77) * [2ef39cd] wizards: Remove squeeze autosetup support (repo sigs expired). * [e2595b3] api/_contrib.py, DebianPackageTracker helper: Fix parsing for backport versions (after changes to tracker web sites). * [61b9eb9] httpd.py: Fix error message on unsupported type. * [0c47b10] mini-buildd: --httpd-endpoint option: Change to append option (instead of ,-separated string). * [4da4df5] Fix two URL assemblies via urllib.parse.urljoin() to produce clean URLs. * [2c14879] devel: Add httpd-benchmark. * [f10132b] pylint 2.1: Bulk-fix R0205(useless-object-inheritance). * [9d493da] pylint 2.1: Bulk-fix syntax for various now failing "disable=xxx" (workaround for regression https://github.com/PyCQA/pylint/issues/2297). * [900f624] pylint 2.1: Bulk-fix R1705(no-else-return). * [3e2f822] pylint 2.1: Bulk-fix R1714(consider-using-in). * [f963814] pycodestyle 2.4: Add W503 to ignore list. * [6825fcc] pycodestyle 2.4: Bulk-fix 'W504 line break after binary operator'. * [c9de476] devel: Add MBD_HTTPD global "config" variable. * [2497680] devel: Move test file creation into extra func. * [6e06b57] httpd_tornado.py: Use '.*' hardcoded as match for now (makeas log/ and pool/ work). * [9e8becf] devel: Add test httpd-testfiles. * [a750fa5] devel: httpd-becnhmarK Fix: Make item var local. * [b9296b6] devel: add 'devel deps' for httpd tests. * [4539f95] devel: httpd-benchmark: Harden printf for "." dec-sep. * [daa7a78] devel: Change targets build,buildcheck,lintian -> changelog,buildfast,buildcheck. * [dcaf1d6] devel: Fix check level 00->01 for updatecheck. * [64decdc] devel: Add --pedantic for lintian check. * [0373e98] devel: Use a config file for lintian. * [24f770e] devel: builcheck: Run lintian via debuild. * [6a86c32] Update to dh compat level 11. * [c092c9f] lintian: Fix pedantic warnings 'maintainer-script-without- set-e'. * [b33e5d6] pylint3 2.2.2: Fix new warnings "Unnecessary pass statement". * [0d4a898] .pylintrc: Pimp up ancestors again (due to new python- debian). * [5ab5693] Switch from cherrypy to twisted. -- Stephan Sürken Tue, 26 Feb 2019 16:50:49 +0100 mini-buildd (1.1.11) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release mainly implements internal 'choice generator' functionality for the API calls, and quite some kerfuffle on the html/django side (still does not really look nice, though). * [13a75e8] rules: Add support for "nodoc". * [30c4d29] [devel]: Yet another cleanup for the run shortcuts; also makes most-used "./devel update" faster. * [e4921c7] [devel]: Add ttag check to css check (and rename it to htmlmisc). * [10ae200] mini_buildd_tags.py: Remove obsolete tag "mbd_distribution_options". * [f20b45a] Fix a handful of new typo findings (with new codespell 1.12). * [47e62ec] includes/mbd_api_arg.html: Select: Make empty choice denote custom entries (and hide custom entry field). * [c6e8c5f] api/__init__.py: printuploaders: Implement updater (choices). * [d8fb337] daemon.py: Add helper function get_active_codenames(). * [b2648b3] daemon.py: Add helper function get_suites(). * [a94cabb] api/__init__.py: getsourceslist: Implement updater (choices). * [96c0e62] [devel]: buildcheck should be "test level". * [3dc4b1d] daemon.py: Cosmetic: Fix typo/wrong spelling in comment. * [7dbe00b] includes/mbd_api_arg.html: Use HTML5 'datalist' for select type. * [b0ba2a8] api/__init__.py: show: Implement updater (choices). * [ca8663c] api/__init__.py: list: Implement updater (choices). * [0532031] api/__init__.py: migrate: Implement updater (choices). * [2942d8f] api/__init__.py: remove: Implement updater (choices). * [909ecfd] registration/login.html: Also use QUERY_STRING for next value. * [a26362e] includes/mbd_api.html: Instead of just disabling the button, refer back to login if API call needs login. * [bc38a8f] api/__init__.py: port: Complete updater (choices). * [907c9aa] api/__init__.py: portext: Implement updater (choices); also adds URLArgument class. * [81264c9] includes/mbd_api_arg.html: Fix options tag to avoid tidy warning. * [715b1b8] api/__init__.py: retry: Implement updater (choices). * [64c7623] includes/mbd_api.html: Use table to increase readability of extra arguments. * [5ce0b45] mini-buildd_api.css: Fix witn classes. * [53b0dca] mini-buildd_messagelist.css: Try to remove some redundancies. * [5973317] control: Update Vcs URLs after salsa move. * [ae1fb67] control: Rm X-Python3-Version (lintian says: no longer needed, satisfied down to oldstable). * [11f75b1] templates/registration/login.html: Don't add query string if referer already has get params. * [502538b] api/__init__.py: "options" option: Fix back from multiselect to string (multiselect does not work here) && fixup documentation. * [749067f] builder.py: sbuild: Explicitly add '--no-run-lintian' option when lintian is disabled (effectively makes mini-buildd's 'run- lintian=false' option actually work ;). -- Stephan Sürken Fri, 11 May 2018 22:35:36 +0200 mini-buildd (1.1.10) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release concludes the generalization of "API-HTML-embedding", triggering quite some related html/template and API cleanups on the way: [ Stephan Sürken ] * [bbbd972] api/__init__.py: Promote auth_err() function to class method. * [f3444b0] mini_buildd_tags.py: api call tag: Use actual command object, not class. * [20d3112] [html] api call ttag: Fixup param config. * [3589ec6] [html] ttag api call: Add option to set style (per css class). * [4abd029] api/__init__.py: Add extra func to produce new 'html_hints' only when needed. * [953f144] api/__init__.py: Deliver _all_ static arg description in html hints. * [ca60bd7] css: Add link-style class for api buttons. * [a24230c] [html] ttag api call: Add verbosity support; add per arg type support. * [30f6e69] [devel]: mv pylint check to level 0. * [9514aa5] api_index.html: Use new api call tag. * [5538d0d] api/__init__.py: Add Argument abstraction classes. * [fb17dc1] api: Replace all arguments config with *Argument() objects. * [3d8d14a] api/__init__.py: arg filter: Code cleanup. * [75a6e8e] api/__init__.py: Add TYPE attr to each arg class. * [a549174] api/__init__.py: multi select: Set 'choices' as class var as well. * [052ab47] [html] Use new arguments for api call ttag. * [3e8034e] [devel]: Fix logging of script run (so it does not interfere w/ traditional compile error parsing). * [aca5f8c] api/__init__.py: Fix command init && super calls to not repeat the args. * [1da9e72] api code: Make args a copy of arguments, and also carry argument values for command objects. * [e972651] api: autosetup: Properly use choices. * [079900a] src/mini-buildd-tool: with new argument classes: Cleanup add_arg call. * [09e08eb] api/__init__.py: Introducte update() and _update() hooks. * [5ec56f8] api/__init__.py: Fix: Object args must be copies. * [94d5a0f] api/__init__.py: Move daemon to class var / constr. * [4811280] mini_buildd_tags.py: api call tag: Fix extra_params. * [2853a5f] api_confirm.html: Temporary fixup for new arguments. * [d06b243] daemon.py: Fix strange wording in port exception. * [6faf389] api/__init__.py: Mv false2none (obsolete?) to argument class. * [fd989a3] mini_buildd_tags.py: api_call: Supply daemon to command. * [c711d7c] api/__init__.py: Port: Initial updater hook for to_distributions choices (POC). * [88583b5] [html] More updates to api_call tag; make show/hide/more lists in ttag obsolete. * [2583759] api/__init__.py: Remove now really obsoleted html_hints. * [e189374] [html] Addcss class for api command. * [dc5b4a3] ttags: Rename api_call -> api_command. * [dcae8e0] mini-buildd.css: Fix start/stop styles: input, not a && move to other button css. * [239ea70] mini-buildd.css: Remove most redundancies from "button/api classes"; remove 'style' option now from api_command tag. * [66156dc] html,mini-buildd.css: Rename 'command' class (div box) to mbd-api-box-True, and use only when show_more=True. * [13e3f54] [html] Simplify ttag name: mbd_api_command -> mbd_api. * [53ac173] mini_buildd/home.html: ttag mbd_api(): Migrate start/stop. * [e417f55] mini_buildd/home.html: ttag mbd_api(): Migrate getkey. * [431edfd] mini_buildd/home.html: ttag mbd_api(): Migrate keyring and test packages buttons. * [571d61a] mini_buildd/home.html: ttag mbd_api(): Migrate portext. * [845231a] [html]: ttag mbd_api(): Migrate autosetup. * [3760fe7] [html]: ttag mbd_api(): Migrate start/stop in admin index. * [3be1757] api/__init__.py: Fix: Only consider non-empty list values from get requests. * [ffe8b61] [html]: ttag mbd_api(): Migrate logcat/degtdputconf in main menu. * [687016e] mini_buildd/base.html: Remove obsolete extra support to run api w/ different output. * [75b32c6] [html]: ttag mbd_api(): Migrate show in mbd base tpl. * [fb8bcaf] admin/index.html: Migrate to includes w/ parameters (obsoletes extra templatetags). * [7d1f3b6] mini_buildd_tags.py: mbd_api ttag: Add output support. * [fb57bc2] mini_buildd/home.html: Make start/stop api calls return to referer. * [bbc90e4] [html]: Put api css in separate file, and use for admin also. * [eb95aa6] mini-buildd_api.css: Make meta also use the wizard image for now. * [bcaf41f] mbd_admin_index_table_row.html: Migrate to mbd_api ttag. * [b26fc20] api/__init__.py: Fixup argument so set(value) accepts both raw and specific types. * [e7e6815] repository_detail.html: Migrate to ttag mbd_api. * [aa207ed] log: Migrate to ttag mbd_api. * [4effc27] api_show.html: Update remove+migrate to ttag mbd_api. * [0eade81] includes/mbd_api_arg.html: Fix: hidden args must use raw (str) arg value. * [4aa5020] django_settings.py: Add request context. * [c4497b7] registration/login.html: On login, set next to referer. * [fbb3ca4] [devel]: Add timestamp output at end of runs. * [a286837] api/__init__.py: Fix doctests for Argument. * [b2d634b] [devel]: Yet some more poking on sequencer and usage. * [7271b11] api/__init__.py: autosetup should be confirmed. * [c39a7da] api/__init__.py: Fixup __getstate__ so 'Command' objects can be pickled again. * [1bfae9f] [html] Move logcat from main menu next to start|stop. * [e1b3605] [html] home.html: Put repository-related extra api calls into separate section. * [8a8ba72] [html] Move dputconf from main menu to "home.repositories.extras". * [2902d57] includes/mbd_api.html: Include doc in tooltip even on auth_err. * [25e9f8e] includes/mbd_api.html: Don't fully hide given args, also show them with "more". * [2489b54] [html] Use "API Index" for main menu and API index title. * [55510c1] mini_buildd/home.html: Put page footer down, where it belongs... * [1b10cde] mini_buildd/api.html: mbd_api call as title. * [c8c1e7f] mini_buildd/api_show.html: Fix log link for new api.Command. * [4453296] includes/mbd_api_arg.html: Fix custom entry support for select and multiselect types. * [4d27514] api_show.html: Update rebuild to ttag mbd_api. * [a1dd1af] includes/mbd_api_arg.html: Use empty string resp. 0 values for string resp. int types if None. * [aacca48] api_show.html: Update port to ttag mbd_api. * [db41bcc] mini_buildd/home.html: Fix tidy error on extras. * [75e76d8] [html] Simplify footer. * [12ff6b1] mini_buildd/home.html: "Show more" for start and stop. * [a225b00] [html] Mv getdputconf and add getkey to daemon part. * [ca0fd24] api_list.html: Update show to ttag mbd_api. * [7125d66] includes/mbd_api_arg.html: More fixes for the custom select values text inputs. * [964a6f4] api/__init__.py: Add (choices) updater for the Subscription command. * [0501ff9] Fix a handful of typos/warnings that emerged with new codespell 1.11. * [a0eaa59] [html]: Update subscription to ttag mbd_api (also obsoletes extra include, ttag and css entry). * [7643a60] includes/mbd_packager_status.html: Upgrade to mbd_api ttag. * [ba45f78] mini_buildd/templates/base.html: When logged in, link to profile by default for "Manage account". * [f4d5c6e] api: Add 'Text' (multiline string) argument type. * [447ae2c] account_profile.html: Update setuserkey to ttag mbd_api. [ Gerhard A. Dittes ] * [da58afe] devel: Fix missing "sudo" when using "service" command. * [0fa339f] images: Split mini-buildd-graphics.svg into several files providing each item separately (in "Inkscape SVG" format). [ Stephan Sürken ] * [69264b1] mini_buildd/home.html: Use direct includes for packager and builder stati (and remove resp. template tags). * [572c37f] api/__init__.py: auth_err: Also handle user=None, and renice error texts. * [d0590ef] templatetags/mini_buildd_tags.py: Take context for mbd_api (obsoletes extra user arg). * [8e8f7c8] Setup Wizards/Ubuntu: Drop yakkety, add artful. * [0ac3a8e] html, ttags: Use html5 '
' tag (instead of js) for 'more args', and remove 'show_more' option on ttag mbd_api. * [0617b5e] includes/mbd_api.html: Put "no width space" entity to summary top avoid tidy warnings. * [49eef56] repository_detail.html: Replace "js toggle" by "html5 details". * [4a1972e] api_show.html: Replace "js toggle" by "html5 details". * [c8acb08] home.html: Replace "js toggle" by "html5 details". -- Stephan Sürken Sun, 11 Mar 2018 14:49:28 +0100 mini-buildd (1.1.9) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This and that release: Updates the keyring package, promotes auto-setup to an API call (Closes: #886126), improves GPG key importing and starts an effort to generalize API call HTML code: * [bac4106] [devel]: test suite: Always use dput --force (make local package test work even if there's a changes around). * [d28ee9d] api/__init__.py: Put http MAXHEADERS patch here (fixes mini- buildd-tool, too), and pimp to 5000. * [0be59f3] pylint-1.8.1: Make check work again. * [246b478] [devel]: Add shortcut to view log. * [4d33c89] [devel] Rewrite (test) sequencer code. * [0e9a811] call.py: Fix: call_with_retry() would not raise exception on error. * [a5493bd] gnupg: Make public key importer more reliable. * [6866e81] [devel] Add remove-only (non-purge) sequent. * [c39f33b] test packages: Downgrade all to debhelper 9 + dh_autoreconf (for compatibility down to squeeze). * [347b3a2] keyring package template: Convert to debhelper (9); convert to using trusted.gpg.d/ fragments. Thanks to Marc Haber (Closes: 790856) * [4b2164c] gnupg.py: import_pub_key(): Try all files /u/s/keyrings/*.gpg. * [3398b00] New API command 'autosetup' (this makes the essential code of the mbd-auto-setup script internal). * [d430493] API autosetup: Add arg: --vendors. * [662bb7b] API autosetup: Add arg: --repositories. * [7eccd80] API autosetup: Add arg: --chroot-backend. * [79c7aeb] Add auto setup to web app (initial support). * [2c3bb5d] [html] Add templatetag for api_call (currently only replacing flat impl in base). * [377dd5f] includes/mbd_api_call.html: Simplify, form only, add output type. * [c01a981] [html] ttag 'mbd_api_call': Use command name (not obj) as arg. * [ef823c7] [html] ttag api_call: Use uniq random element ids. * [8b55570] [html] ttag api_call: Get mandatory args from api && make tag more versatile. * [17ed07b] api/__init__.py: Add generic auth function. * [fc8e192] [html] ttag api_call: "auth indicator" support. * [1c3b9d7] mini_buildd/base.html: Use mbd_api_call for top level show/list. * [0086373] [html] Some smaller fixes for tidy test failure. -- Stephan Sürken Sat, 17 Feb 2018 11:29:20 +0100 mini-buildd (1.1.8) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release: Syncs with newer pylint and other minor fixes and cleanups only. * [ff78c7e] views.py: Fix log view (1.1.x regression). * [7accd29] changes.py: buildrequest: Also exclude .changes (fixes: failed buildlog sometimes not archived) and .buildinfo files. * [351cb45] changes.py: Add todo note about maybe using dsc only for buildrequests later. * [f19c3b8] [devel]: Add ridiculously oversized skip-workaround for pylint3@sid breakage. * [56c088b] Revert "[devel]: Add ridiculously oversized skip-workaround for pylint3@sid breakage." * [c250c15] pylint 1.7.4: Fix various new 'no-else-return' warnings. * [6ba8656] pylint 1.7.4: Fix one new "unused-argument". * [5503913] pylint 1.7.4: Remove false-positive override for 'redefined- variable-type' (now fixed in pylint default). * [e8840b1] pylint 1.7.4. Add exceptions for new (no-member/contextlib) false-positive: https://github.com/PyCQA/pylint/issues/1437 * [b38af5d] pylint 1.7.4: Another exception for 'no-member' false- positive on threading.Lock(). * [5f1ac30] pylint 1.7.4: Fix two new 'args-differ' warnings in ftp code. * [0789b90] pylint 1.7.4: Add exceptions for several 'arguments-differ' false-positives (https://github.com/PyCQA/pylint/issues/1553). * [1827d2c] rules: Remove PYTHONHASHSEED=0 sphinx/repro workaround (#877637 has been fixed). -- Stephan Sürken Tue, 16 Jan 2018 12:42:38 +0100 mini-buildd (1.1.7) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release has more ;) cleanups for the build setup (setup.py + packaging), now making the package lintian-clean -- including an internal check to keep it that way (fixes the 'missing man pages' regression from 1.6 on the way). Apart from that, this mainly has improvements to the internal development test suite scripting. * [abaa17b] Revert "control: b-d on debhelper >= 10.6 [in previous versions, dh_installman fails to find man pages]." * [802f0aa] setup.py: Revert back to fixed build path for man pages (fixes 'no manpages' regr. in 1.1.6). * [ae2b570] mbd-auto-setup: Run m-b-tool in --verbose mode. * [46c8e48] rules: QA: Run dh with '--fail-missing'. * [274e739] mini-buildd-tool: Use fixed metavar string for commands (fixes manpage warning); add note about full command help. * [a70a4b6] [devel] update(): Add extra lintian run to catch (new) lintian warnings. * [e5f32f7] [devel]: Remove skip warning from repro check (forgot to remove). * [8f90ac0] [devel]: New naming convention for static checks: 'mbd_check:': This updates all active checks. * [cc99f28] [devel]: New naming convention for live checks: 'mbd_checklive:': This updates all active checks. * [f19ff57] setup.py: Yet more cleanup/simplification for the custom setup (init, mans). * [9bcad45] [devel] Fix up usage (remove the strange underscore/args thing). * [3ff71f0] [devel] Remove redundant code to write init -- use setup.py instead. * [71800f9] devel: check(), livecheck(): Auto-generate list of check functions. * [0bab5ad] devel: Add codespell check to active checks. * [3fbc836] code: Fix three minor spell issues found by codespell check. * [22c07ca] devel: Update checks to yet another naming scheme (with an added ordering cardinal number). * [08e1ae3] devel: Remove unused snakefood graph support. * [8e7692d] devel: Remove unused and outdated mbd_doc(). * [ac6f5ec] devel: Remove _read_mirror(): Not used, and should be obsolete. * [5fbc424] devel: Re-order functions. * [04f78af] devel: static checks: Integrate build(); add lintian() as extra check. * [2bd2414] devel: split up "checkall" into new ordered "live" checks. * [a31b51d] devel: Update/improve usage. -- Stephan Sürken Wed, 25 Oct 2017 11:51:47 +0200 mini-buildd (1.1.6) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release consists of misc cleanups/fixes, focusing on the python/Debian build system. Makes it reproducible again. * [ea78677] rules: Remove superfluous DH_VERBOSE comment. * [63c6f19] bash-completions: Drop 'building' (use plain files), and switch to dh_bash-completion for package installation. * [3458321] sphinx conf.py: Cleanup up: Remove obsolete config (man, latex) and comments. * [e7e2b48] sphinx build: Simplify setup (put generated sources in doc/ directly). * [100ee4f] sphinx: Call sphinx-apidoc via conf.py (not setup.py). * [141e221] setup.py/man pages: Cleanup generation code; do it on build, not sphinx_build. * [01af9e8] sphinx: Move sphinx build from setup.py to rules. * [12f1a8c] httpd.py: Fix "manual missing" error handling callback. * [ce2e942] setup.py: Add method for init generator; minor cleanups. * [1c2b2b7] rules/setup.py: Add workaround for sphinx unreproducible html (see bug #877637). * [41d5eba] setup.py: Build man pages to /build/ not /src/. * [6b280da] rules: Build sphinx _after_ pybuild (so we get a working py package for apidocs). * [fa779e7] setup.py: man pages: Make sure build/ dir exists. * [388b19d] apidoc: Use separate pages for modules. * [fb64c4b] doc/conf.py: Fix and update copyright text. * [da3d651] .gitignore: Ignore new sphinx-apidoc-generated files in doc/. * [df48e0f] doc: Build all generated docs to extra directory (doc/code/). * [add8fe8] rules: sphinx-build call: Explicitly give builder (html). * [57c6f04] httpd.py: Improve doc "error hinter". * [b968bfe] httpd.py: manual error: Use multiline html string (fixes codestyle warning). * [1b34100] setup.py: Add custom "clean": Now actually clean all files gen. in build/ (obsoletes "clean" override in rules). * [53b6102] api show, misc code: Switch from dsc_url to dsc_path internally (fixes "early binding" to absolute URL). * [82c36e6] code: Mass fix py warning: 'ResourceWarning: unclosed file'. * [f9b2736] source.py: Use django's set() to reset many-to-many set on check() and remove() (Fixes django deprecation warning) * [c895315] [devel]: pymodules: Use "$*" not "$@" in test (latter will expand to several args). Fixes annoying error displayed. * [00264d4] control: b-d on debhelper >= 10.6 [in previous versions, dh_installman fails to find man pages]. * [4ff0cc1] control: Fix description for package py3-m-b (this no longer contains m-b-tool). -- Stephan Sürken Mon, 09 Oct 2017 08:40:31 +0200 mini-buildd (1.1.5) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release focuses on the binary package split (now: python3-mini-buildd, mini-buildd, mmini-buildd-utils, mini-buildd-doc) and internal directory/file structure changes. * [a37e69c] daemon.py: Fix broken 'save' of Daemon instances (regression in 1.1 only). Thanks to Frank Doepper (Closes: 867592) * [c21b7a0] Package split: Add deb 'mini-buildd-utils' (currently for mini-buildd-tool only). * [e0bf493] Package split: Add deb 'mini-buildd-doc'. * [d243a51] Adapt code path for new online manual location, and add sane error hint (in case *-doc is not installed). * [f9648bf] Package split: Move mini-build-tool manpage to *-utils. * [366eaee] debian/copyright: Update year (2017). * [7940157] debian/copyright: Update to 1.0 (add 4.0-recommended https Format:-Url, remove obsolete entries). * [c3a656a] debian/control: Update prio extra->optional (policy 4.0.1). * [23728a6] debian/control: Update Std.-Ver. to 4.1.0. * [1acd9e8] Move doctest extra test data from /examples/ to /src/. * [65509a4] Introduce new project dir "share/"; mv "auto-setup" from "examples/" here. * [6f5944c] Introduce new project dir "etc/"; mv "15mini-buildd- workarounds" from debian/ here. * [7c38c01] Mv "fstab-generic" from "debian/" to "etc/". * [dbb5cfd] Mv "mini-buildd-sudoers" from "debian/" to "etc/". * [d681e96] Mv "mbd-debootstrap-uname-2.6" from "debian/" to "share/". * [1d7e5a4] Mv "packages/" from "examples/" to "share/" as "package- templates/". * [57e6c5b] Mv "dput-wait-for-build" from "examples/" to "share/". * [3e9a685] Mv "migrate-keyring-packages" from "examples/" to "share/". * [6a58213] examples/reject-cleanup: Fixup doc/help. * [f3132ac] Mv "reject-cleanup" from "examples/" to "share/". * [050c6ee] examples/schroot-cleanup: Fix up docs/help. * [281d4d3] Mv "schroot-cleanup" from "examples/" to "share/". * [c26a5aa] Remove examples/README: Now obsolete. * [0ebb62c] Mv "import-08x" from "examples/" to "share/". * [9b4c8a9] Mv "ssh-uploader|tool-command" from "examples/" to "share/". * [c9c31ae] archive-keyring-template: postinst and prerm should be +x. * [7e156ea] mini-buildd.lintian-overrides: Rm now-obsolete override 'duplicate-changelog-files'. * [a074745] debian/rules: No need to override compress for examples any more. * [de2b1bd] [devel]: purge: Also purge new packages mini-buildd-utils and -doc. * [3fd755d] Introduce prefixes "mbd-" (admin, package mini-buildd) and "mbu-" (utilities, package mini-buildd-utils) for executables in 'share/bin/'. * [0813931] Rename 'auto-setup'->'mbd-auto-setup'. * [a48169a] Rename 'dput-wait-for-build'->'mbu-dput-wait-for-build'. * [655b47a] Rename 'migrate-keyring-packages'->'mbu-migrate-keyring- packages'. * [70ac474] Rename 'import-08x'->'mbd-import-08x'. * [a65b9d0] Rename 'reject-cleanup'->'mbd-reject-cleanup'. * [079d77d] Rename 'schroot-cleanup'->'mbd-schroot-cleanup'. * [ecbbcc4] Rename 'ssh-uploader|tool-command'->'mbd-ssh-uploader|tool- command'. * [8dca8a3] test packages: Bulk-upgrade debhelper compat level to 10. * [d99b255] test packages: -cpp|ftbfs: Remove extra .ui-auto.conf (really not needed). * [c6aab94] test packages: Remove now-obsolete previously checked-in generated/redundant autotools files. * [d6decd3] test packages: Bulk-update/renice top level README. * [7dddf23] test packages: Bulk-upgrade stds-ver to 4.1.0. * [92022e6] control: Rm obsoleted b-d for dh-systemd. * [bd219f6] control: *-util must also break+replace old py2 package python-mini-buildd. * [4e0cec5] gbp.conf: Configure snapshot number: time stamp. * [a5cef50] gnupg.py: Support passwordless key creation for gpg flavor 2.2 (fixes daemon creation). * [b7ef0c8] control: Update to Stds-Ver 4.1.1 (no changes needed). * [4d65c50] *.lintian-overrides: Remove 'debian-cl-line-too-long' override (this does not seem to be an issue w/ default gbp any more). * [2c5f20e] setup.py: sphinx-apidoc: Use explicit path for py3 variant. * [265c14c] doc/conf.py: (sphinx doc) Order autodoc members by source. -- Stephan Sürken Tue, 03 Oct 2017 12:24:20 +0200 mini-buildd (1.1.4) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release mainly catches up w/ needed changes already in the new 1.0.x stable release (especially, make it work with current django 1.11). [ Gerhard A. Dittes ] * [6cb3ba6] mini-buildd.css: Improve "status table" appearance. [ Stephan Sürken ] * [ed6f61d] Remove (08x compat) package mini-buildd-common for good. * [4da9072] lintian: Add hardcoded suppress for 'bad-ubuntu- distribution-in-changes-file'. * [0e4fabe] wizards: Add support for Ubuntu zesty (17.04). * [1df9c9c] [devel]: update: Install with depends (debi --with-depends). * [64e31c1] [devel]: installdeps: Add tidy. * [8b437cc] wizards: Improve source wizard code: Don't repeat key ids. * [457a513] wizards: Cleanup Ubuntu sources, support only zesty, yakkety (latest) + xenial, trusty (latest LTS). * [a717be5] wizards: Archives: Replace httpredir.debian.org by deb.debian.org. * [6a0be63] wizards: Sources: Update keys for stretch after release. * [f474dbf] wizards: Add support for buster. * [e380b7f] wizards: Add support for jessie-backports-sloppy. * [1f39afe] wizards: Add support for stretch-backports. * [6031e7d] src/mini-buildd: py3: Remove obsolete encode() call in SysLogHandler (fixes syslog logger). * [4d1f642] django: Update to aware datetime objects ('USE_TZ'), and allow django 1.11. * [58aa3a2] builder/packager.py: Fixup import order. * [cea621e] Revert "lintian: Add hardcoded suppress for 'bad-ubuntu- distribution-in-changes-file'." -- Stephan Sürken Tue, 25 Jul 2017 14:04:35 +0200 mini-buildd (1.1.3) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release again is a mere code maintenance release: * python 3: More 2to3 code updates (calling this finished). * django 1.10: Remove all < 1.10 compat code. * pylint: Make nearly all exceptions in-code, and bring it down to about 30 exception aver all. * All known regressions fixed. * [fe0732c] py3: Remove obsolete py2 compat: Argparse/stderr workaround. * [8791ee6] py3: Remove obsolete py2 compat: PY2_HAS_URLLIB2_CAFILE. * [6d37317] misc.py: Remove obsoleted pylint exception. * [e7212c3] py3: Remove obsolete py2 compat: timedelta_total_seconds() wrapper. * [9a57e4a] py3: Remove obsolete py2 compat: mkdirs() wrapper. * [118fb9f] py3: Remove obsolete py2 compat: Extra locking for dict.setdefault() not atomic. * [5e23968] control: Update/harden dep on django: >= 1.10. * [9f1b505] django_settings.py: Remove settings compat code for django versions < 1.8. * [3370ecd] daemon.py: Remove and replace old 'model-save()-workaround' for django versions < 1.5. * [c6f41b5] templatetags/mini_buildd_tags.py: mbd_jquery_path() Remove compat for django versions < 1.9. * [18a91f4] models/source.py: Remove obsolete and 'not-quite correct' workaround comment for source.__str__() * [0c7d67c] [devel]: Rm now-obsoleted helper pycompat. * [7e50464] [devel]: Remove no longer needed temporary helper 2to3. * [a745002] pylint: Remove all in-code "module-global" exceptions (two files). * [84e6ae7] pylint: "bare-expect": Bulk-move to in-code exceptions. * [9ea6286] [devel]: pylint check convenience: Don't stop testing on first file that fails. * [5ed2929] pylint: "broad-expect": Bulk-move to in-code exceptions. * [bc46515] pylint: Drop global exception "cyclic-import" (no longer needed). * [777f2e8] pylint: "redefined-outer-name": Bulk-move to in-code exceptions. * [db39ae4] pylint: "redefined-variable-type": Bulk-move to in-code exceptions. * [309607e] pylint: Drop global exception "no-init" (no longer needed). * [c8efdff] pylint: Re-check && keep global "logging-format- interpolation" exception (update comment) * [8103ce8] pylint: Remove "line-too-long" exception, rather use max_line_length=200 now. * [faedd7a] [devel]: pylintgeneratedmembers(): Fix 'devel call', and change pylintrc directly. * [6d3e474] .pylintrc: Update via pylintgeneratedmembers(). * [88f4acf] .pylintrc: Some general formatting cleanups. * [4476306] .pylintrc: Add comment on each global exception. * [4a858fc] [devel]: pylint: Add && print extra counter for number of locally disabled checks. * [0023580] [devel] Put py file exceptions to py_modules() func only. * [3b24358] [devel]: Call pylint with many args && --jobs=2 (instead of once for each module) (~quarters run time). * [11fd16f] models/chroot.py: Use dict.get() with default value instead of try/catch for personality value (obsoletes pylint exception). * [25f20ca] code: Bulk-replace all "bare-excepts" by "broad-excepts" on BaseException. * [6f3d7e4] mini-buildd: Better name for daemon variable (obsoletes pylint exception redefined-outer-name). * [1592f54] mini-buildd-tool: Rather use '_var' naming than pylint exception 'unused-argument'. * [105de9c] mini-buildd-tool: Use ConfigParser, not legacy RawConfigParser. * [0eec1ff] mini-buildd-tool: Add short doc for host_completer function. * [6ae0ef8] mini-buildd-tool: Simplify && improve host_completer() (obsoleting a handful of pylint exceptions). * [c34333c] code: Bulk-fix: Only use BaseException for broad except clauses. * [dadc1ff] webapp.py: Fixup 2 import statements (obsoleting 2 'redefined-outer-name' pylint exceptions). * [bb62214] models/base.py: Fixup import statement (obsoleting a 'redefined-outer-name' pylint exceptions). * [8bb3f6b] builder.py: Rename/improve function name build() -> run_build() (obsoleting 3 'redefined-outer-name' pylint exceptions). * [6026ad9] api/__init__.py: Fixup/improve internal imports (obsoleting 'redefined-outer-name' pylint exception). * [d56140b] pylint: Remove unneeded in-code exceptions: 'wrong-import- position|order','import-error', 'no-name-in-module'. * [83801ca] mini-buildd-tool: pylint: Add false-positive comment to no- member disable pragma. * [15e839f] [devel]: pylint: Add short log line before checking modules resp. scripts. * [805f006] models/base.py: pylint: Remove 'super-on-old-class' exception (no longer relevant with py3). * [2d378be] models/chroot.py: Simplify/improve code to set personality (obsoletes pylint exception redefined-variable-type). * [fe39105] models/source|repository.py: py3: Switch to use key function for ordering components. * [79c1fcc] ftpd.py: py3: Switch to key function to order list. * [adc0da9] .pycodestyle: Replace UTF-8 chars by ascii. * [96ab49e] examples/*: Remove a number of exception bases pylint exceptions. * [056de7b] code: Bulk-fix *more* "bare-excepts" (found by pycodestyle 2.3.1). * [6762822] call.py: Rather use SpooledTemporary for default stdout|err. * [98d6b47] call.py: Simplify call2shell() convenience code. * [5c5504c] call.py: py3: Switch to use subprocess.run(). * [a611831] call.py: py3: Use more from CompletedProcess, stop using implicitly created temporary files (fixes py warning). * [9a4a916] call.py: Get rid of (unused) methods to get stdout|err as bytes. * [d99f9a2] call.py, all: py3: Bulk-rename ustdout|err to stdout|err ('u' for unicode does not make sense anymore). * [55864ce] call.py: Remove extra retval, and some more cleanups. * [29280ea] debian/control: Update to 'nicer' notation. * [176fbeb] debian/control: Add py3-bs4 b-d and suggests for p-m-b. * [1fae937] django_settings.py: Update to 1.10 MIDDLEWARE style (fixes django warning). * [dcf11e8] django_settings.py: With compat removed, we can simplify back to call configure() directly. * [3f5b283] root_urls.py: Remove unnecessary include() for admin site (fixes django warning). * [94d9260] models/base.py: colored status: Switch from deprecated 'allow_tags' to html_format() (fixes django warning). * [e0ead55] misc.py: run_as_thread(): Switch to daemon property (instead of deprecated setDeamon()). * [3fe5534] mini-buildd: logging: Set 'raiseException' value based on "exception" debug flag (previously, it was always disabled). * [9dc3b24] code: py3: Bulk-update use of super() to py3-style. * [30a5239] views.py: Use 'is_authenticated' as attribute (fixes django deprecation warning). * [197ab68] [devel] pymodules(): Add file exceptions as args (and use exceptions only where needed). * [175f061] setup.py: Use setuptools.setup(), not distutils.core.setup(). * [ebfa639] setup.py: Some code cleanup, improve __init__.py creator code. * [566991b] setup.py: Fix build_sphinx workaround to custom BuildDoc command. * [c7bfb8d] [devel]: pyenv: write own version of __init__.py (don't use setup.py's side effect). * [eed7020] setup.py: Use custom command for build: generate __init__.py && trigger doc build automatically. * [f061c98] setup.py, debian/rules: Move bash-completion file generation to setup.py (this finally obsoletes rule's build target override) -- Stephan Sürken Mon, 10 Apr 2017 12:17:52 +0000 mini-buildd (1.1.2) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release fixes some regressions from the py3 migration, and improves on internal code checking: * [9500a4b] httpd.py: py3: Fix cherrypy static index (needs bytes now). * [a2b582f] models/base.py: py3: Fix pickle support. * [7e608e8] models/base.py: Remove compat unpickle support for old 1.0.x beta release. * [a322a9c] [devel]: Add pymodules, pyscripts and pysources (python code files). * [bdb1cfa] examples: Add missing char encoding mark for two scripts. * [925123f] [devel]: Add "pycompat" search helper. * [9dc4a5a] [devel]: pycodestyle: Use pysources(), and fix some now- detected errors in example scripts. * [3e56491] [devel]: codespell: Use pysources(). * [39411fa] [devel]: pydoctests: Use pymodules(), run in src/ and some path fixes in modules. * [d03618a] [devel]: pyflakes: Use pysources() and fixup previously undetected errors in import-08x. * [92361b8] [devel]: pylint: Use pymodules() and pysycripts() and fixup previously undetected errors in example scripts. * [8a81ab4] [devel]: Removing pychecker support (does not seem to work for py3). * [dd62d0d] [devel]: Remove obsoleted extra squeeze exception. * [ae1b30f] [devel]: Compat search helper: Add searching for older debian dist codenames. * [e107d47] [devel]: use mbd_pysources() for 2to3 helper. * [c94fda7] py3: Add all changes from 2to3 re-run with the updated file list. * [7a505b8] [devel]: Code re-ordering. -- Stephan Sürken Fri, 24 Feb 2017 19:33:59 +0000 mini-buildd (1.1.1) experimental; urgency=medium ** 1.1.x are _development_ releases, use for testing only. ** This release updates mini-buildd to python3 (one-way, no py2 support). Mostly formal updates and fixes up to the point that the test suite ("./devel checkall") would run again. I expect more py3 issues, and hope for more possible cleanups in later releases: * [90da0bf] [devel] Make mini-buildd-tool shortcut for test calls global. * [be288b4] [devel]: Add wait4package(): Wait until a packge is in-repo. * [65ecdd6] [devel]: checkall(): Add migration tests. * [1c086cd] models/repository.py: Improve two error messages (add version) when package is not found in repo. * [c79c627] mini-buildd-tool: Pre-check for None for http_args dict (Fixes (wheezy only): API call has 'version=None' instead of 'version=' when --version not given explicitly.) * [25bfd44] misc.py: guess_codeversion(): Better variable naming: digit->number. * [c87cbfc] misc.py: The default 'codename version' is now only a single number for Debian distributions wheezy upwards. * [6962aba] mini-buildd.NEWS: Improve da NEWS. * [cb08681] control: Bulk-update all dependencies for python3. * [ddee0ca] Bulk-update all script shebangs to python3. * [12a3c64] [devel]: Switch check tools pylint, pyflakes => pylint3, pyflakes3. * [cf2575c] debian/*: Rename debhelper files: python-mini-buildd -> python3-mini-buildd * [a8a7cfc] control: Add Conflicts/Replaces for python-mini-buildd for now (needed for /usr/bin/mini-buildd-tool). * [a754159] setup.py: Update to 'print function' to avoid hassles later. * [dc5415b] python3-mini-buildd.lintian-overrides: Also update package name inside file. * [b1c3a93] mini_buildd/setup.py: Fix python path to '/usr/lib/python3/..' (instead of 2.Y scheme for python2). * [678b09d] rules: Switch to pybuild, and update to python3 only. * [4739b09] [devel]: Add little 2to3 convenience helper. * [72fea8e] setup.py: Update write() call for python3. * [8af4b26] .gitignore: Update for packaging changes. * [3c30690] call.py: Drop str/unicode workaround code (obsolete and now failing). * [5e70efc] Bulk-update all python source via '2to3 --write --print- function'. * [7b7883b] pycodestyle: Bulk-Fix blank lines as left by 2to3 tool. * [8fff71b] pycodestyle: Bulk-Fix multiple imports as left by 2to3 tool. * [3233cac] pycodestyle: Bulk-Fix wrong indents as left by 2to3 tool. * [d54d582] [devel]: misc check: Omit checking for future import, now obsolete. * [29a10d2] setup.py: Remove "future imports" from generated __init__.py. * [3489c0d] pyflakes3 (models/source.py): Replace cmp() call (no longer in python3). * [bb6ef69] pylint3: Bulk-replace deprecated log.warn() by log.warning(). * [99aed26] pylint3 (models/base.py): Use decode|encodebytes instead of deprecated decode|encodestring method names. * [0fd0254] mini-buildd-tool: Declare varibale in correct scope (fixes new pylint3 warning). * [47561d8] api/__init__.py: Correctly mark unused variable (fixes new pylint3 warning). * [eec9e7c] misc.py: ConfFile: Remove obsolete unicode code. * [d4a2385] Bulk-remove all explicit unicode literals (u', u"). * [7a1771a] misc.py: Fix base64 doctest for python3. * [6aa6a07] changes.py: Dump differently to avoid py3 bug (?) in deb822 (fixes doctest). * [3b00164] gnupg.py: Fixup gnupg doctests for py3. * [8ac1edf] py3: Bulk-replace __unicode__() by __str__(). * [4943e3c] [devel]: Update all py2 Debian package names to py3 variants. * [0096863] [devel]: Temporarily skip debrepro test (some sphinx issue again?). * [97bce29] daemon.py: Changelog: Remove obsoleted unicode workaround. * [0286f19] py3: Fix up all sorted(cmp=...) to sorted(key=...) (using cmp_to_key() woakround). * [25fb2a7] packager.py: py3: Remove some obsolete explicit str() (py2: was unicode()) conversions. * [5187e2e] daemon.py (Daemon._port): py3: No longer do extra decoding of author call param. * [0f72c3d] misc.py (web_login): py3: Needs bytes now as POST input. * [d6fd1e0] mini-buildd-tool (cmd_call): py3: Fix terminal output. * [afca5a2] call.py (Call): py3: Fixup [u]stderr, [u]stdout methods. * [6594bcb] builder.py (Build._buildlog_to_buildresult): py3: Fix status parsing for non-ascii buildlogs. * [c67faaf] django_settings.py (get_django_secret_key): Fix for py3 and improve code s/w. * [520f132] models/msglog.py, *.py: Do warn->warning transition for MsgLog also, and fixup forgotten code. * [07ca8dd] [devel]: Update all direct python calls to use "python3". * [aa8512b] misc.py (open_utf8): py3: Just use open(), not codecs.open(). * [7658e36] changes.py (Changes.__init__): Open file with encoding. * [557e801] daemon.py (Daemon.logcat): py3: Implement tail via deque (Fixes: API:logcat) * [5c2efc6] gnupg.py (BaseGnuPG.gen_secret_key): Properly encode flavor additions. * [bbb248f] builder.py: py3: Don't use binary mode for sbuildrc snippet file. * [ba8c6d2] mini-buildd-tool (cmd_call): py3: Fix localized terminal output. -- Stephan Sürken Sun, 12 Feb 2017 14:17:09 +0000 mini-buildd (1.1.0) experimental; urgency=medium 1.1.x development ("python3, https, then some") kickoff. This initial release merely has the 1.0.29 merge plus some initial adaptions. * [79f1750] Don't sync debian/changelog on merge. * [86ac05a] Completely remove the "chroot sudo workaround". * [29afa85] misc.py: codeversion guesser: Use ~CODENAME (was: CODENAME) for rolling distributions. * [5a87ca9] Change default bind values (http, ftp) to dual-stack ":::PORT". * [7c52c78] gbp.conf: Fix branch (from 1.0.x merge) to master && config to merge=ours in .gitattributes. * [7251b46] mini-buildd.NEWS: Add note about new default bind and new default rolling dist version appendix. * [2070a0a] builder.py: Delete forgotten merge marker from 1.0.x merger. -- Stephan Sürken Thu, 02 Feb 2017 15:56:22 +0000 mini-buildd (1.0.29) unstable; urgency=medium * [cc636fa] mini-buildd: Improve stale pidfile recognition (when pid has been re-used by other programs). * [fd69be4] [doc] mini-buildd.PIDFile: Typo fix, and remove note about HOST-MainThread-PID extra file (no longer happening). * [dea3aa9] call.py: Add general functionality to retry calls. * [937ad97] gnupg.py: Retry the gpg sign call. This aims to be a workaround (not fix) for unclear behaviour described in #849551. * [ad73073] call.py: Add newline in docstr (avoid warning). * [cbf53f6] django_settings.py: Fix py warning in context_precessor() (Fixes: Warning string in man page (breaking repr. builds)). * [005532d] mini-buildd[-tool]: Make '--version' print to stdout (workaround for py2 issue18920). * [7c3c46e] setup.py: help2man: No longer use "--no-discard-stderr" (may result in corrupt man pages). * [96f079d] home.html: Fix tidy warnings (duplicate ids). * [devel]: Several changes to internal dev helper script (see git). -- Stephan Sürken Tue, 17 Jan 2017 11:18:43 +0000 mini-buildd (1.0.28) unstable; urgency=medium * [de458eb] control: Depend on reprepro >=5 (buildinfo files). (Closes: 843608) * [f4f6951] misc.py: run_as_thread(): thread_func arg should not be optional. * [0885291] Add human readable thread naming, and add thread names to logging. -- Stephan Sürken Mon, 02 Jan 2017 10:20:08 +0000 mini-buildd (1.0.27) unstable; urgency=medium Misc cleanups, minor fixes and documentation improvements: * [24e1e48] wizards: Remove support for etch, lenny (no longer work with current sbuild). * [593edef] wizards: Remove support for Ubuntu sources < trusty (14.04): saucy, raring, quantal, precise. * [d145b23] wizards: Add support for Ubuntu yakkety (16.10). * [6a3344c] API "list": Fixup some wrong wording in help strings. * [95b55de] [devel]: Don't write *.upload file on test package upload. * [1a75207] misc.py: Use import wrapper method for keyring module (instead of importing on module level). * [40ffada] doc/admin.rst: Add note about "vsyscall removal" from Debian kernel. * [e4b4321] doc/user.rst: Add extra section for default layout. * [c209e99] doc/admin.rst: Add notes/instructions about default layout changes. * [fc628d0] doc/admin.rst: Improve note about vsyscall. * [ccff09d] api/client_1_0.py: Improve and complement API doc. * [d4659d4] django_settings.py: Move version info code/imports to functions (this makes pseudo settings no longer depend on cherrypy and pyftpd). * [72c1d8f] control: Move deps for p-d and p-d-r to module package (needed by py client API and partly by mini-buildd-tool). * [68e3d94] doc/user.rst: At least add some initial human-readable documentation about the API. * [1193d48] doc/user.rst: Client API: Add note about problems when using different django versions. * [964f571] control: Update dep on django: We need >= 1.7.4 (live build logs need 'FileResponse' class). -- Stephan Sürken Thu, 22 Dec 2016 09:35:19 +0000 mini-buildd (1.0.26) unstable; urgency=medium Besides the usual various fixes, this release adds new (per cl) "Upload Options": Nicer notation and some *new* options: - ignore lintian now optionally per arch. - run lintian, optionally per arch. - set apt priority for internal packages. See user manual for more information on this. * [79f529d] [html] Improve packager/builder status table design (partly as suggested in #843396, thx Boyuan) * [446ba1a] changes.py: Move "magic" code to new subclass "Options". * [96258ed] control: "Harden" dep on dpkg-dev (>= 1.7.27~) for sbuild. * [0e80bc6] changes.py: Options: Better name for private class var. * [25a0eee] devel: 'pep8' has been renamed to 'pycodestyle'. * [0d275c3] pycodestyle: Fixup some new warnings. * [f9fbe15] .pycodestyle: Ignore new check E741 for now && add clear text description for our exceptions. * [0c98a82] [devel]: Fix pycodestyle args to give error source && description. * [3e0555d] changes.py: Initial new impl of Changes.Options() (replacing "magic options"). * [a92732b] [devel]: Remove extra test against explicit unicode literals (we need that notation for doctest expect strings). * [55dcdc3] test packages: Update config.* (new autotools). * [442691b] changes.py: Options: Imporove Bool class. * [31dc434] changes.py: Options: Improve/cleanup "magic" options compat. * [03e3107] user doc/changes.py: Update exception wording, and add documentation for new "Upload Options". * [5d7136d] New upload options: Remove any internal reference to now- deprecated magic style. * [9b8f0f1] Rm .ui-auto.conf: Not used for a long time, and has confusing vintage content. * [3a4f9de] changes.py: Changes: Make 'options' a (on demand, cached) property. * [04f27c7] changes.py: Options: Implement "run-lintian". * [8078012] changes.py: Options.get(): Add check against internal code using unknown key. * [cdd7a34] changes.py: Options: Implement "internal-apt-priority". * [e370c1e] daemon.py: Move private general _port() method before specializations (port, portext). * [5e5c4e2] changes.py: Options: Use class attr. for "keyword" string so we do not (so we don't need to duplicate this later). * [f3a25e5] user.rst: Improve description for auto-ports. * [28fb995] daemon.py: *port*(): Refactor soemwhat so we can give comments and options separately. * [ac55b85] daemon.py: port(), portext(): Add optional "options" argument. * [7840616] api: port, portext: Add extra "options" argument. * [0a987ad] [html] Improve 'current API cmd' display/refine. -- Stephan Sürken Sun, 27 Nov 2016 12:21:49 +0000 mini-buildd (1.0.25) unstable; urgency=medium This and that, and fixing up the meta distribution feature: * [d255ad9] misc.py: class Distribution(): Validity check must be done _after_ distribution mapping. * [7b1f6cd] changes.py: In buildrequests, 'Distribution' key must be mapped to internal (in case of a Meta-Distributions are configured). Thanks to Boyuan Yang (Closes: 832643) * [455774d] Some refactoring/code cleanup around meta distributions. * [384b2c2] wizards: Developer Layout: Remove 'stable=squeeze-unstable' meta distribution (this doesn't really make much sense). * [9983968] models/repository.py: Add ambiguity error check in meta dist generator function (and add it to Repository.check()). * [2c8f80a] doc/admin.rst: Add section for "Layouts/Meta-Distributions". * [d0204e9] models/repository.py: meta-dist-check: Fix wording, and hint to manual. * [dda651b] [devel]: We may no longer "convenience-remove" python- secretstorage for testing (p-k now depends on it). * [15c158e] examples/auto-setup: Also create debdev repository. * [096e868] [html] repository_detail.html: Add sources.list download links, and some cosmetics. * [d6ad715] [html] Use HTML5 doctype. * [10936d4] [devel]: Add initial (html) tidy checker. * [5d013c9] [html]: HTML5: Bulk-replace by . * [3d3c5b2] [html]: HTML5: Fix cherrypy indexes. * [d28bb39] mini-buildd-tool: Don't print server logs if --quiet is given. * [a3a0eaf] [devel]: tidy check: Don't check for repo URLs (may not be ready). * [c2988c9] [devel]: Also test extra packages when available. * [a56b6c1] control: Update dependency for sbuild to 0.72 (has patch for squeeze). * [56b4d11] Update debhelper compat level: 9->10 (no changes needed). * [3d612c2] rules: With dh compat 10, we no longer need to have extra systemd option explicitly. -- Stephan Sürken Fri, 04 Nov 2016 21:46:25 +0000 mini-buildd (1.0.24) unstable; urgency=medium This and that, and fixup regression from 1.0.22: * [64615bd] compat: Update dh compat from 7 to 9 (no other changes required). * [415c691] control: mini-buildd: Add missing dep on lsb-base (init script). * [5391c86] repository overview: Add "Direct links" convenience section. Thanks to Marc Haber (Closes: 790059) * [74363c7] doc/admin.rst: Improve docs about 0.8.x migration and reprepro. Thanks to Marc Haber (Closes: 790292) * [4edbf1f] doc/admin.rst: Add doc how to manually use an external archive key. Thanks to Marc Haber (Closes: 790775) * [4d1256c] control: mini-buildd-common: This may be 'Multi-Arch: foreign' (as hinted) * [33f214b] Fix regression introduced in 1.0.22 (1eeece7): Builds using ccache fail on pre-existing chroots due to missing 'libdir'. -- Stephan Sürken Sat, 22 Oct 2016 07:54:13 +0000 mini-buildd (1.0.23) unstable; urgency=medium This release brings the live buildlog feature && some: * [e24769c] [html] "Sync" last packages+builder status templates; only allow description column to wrap. * [5641406] [html] Arch status tooltip: Remove confusing URL, clarify text when building is in progress. * [9493933] [html] Last packages: Use standard hover style for arch stati links. * [822f7b4] changes.py: "Changes" class: Internal rename: TYPES->TYPE2FILENAME_ID. * [915aa9d] changes.py: "Changes" class: Add get_spool_id() (and somewhat renice hash code). * [5e38795] reprepro.py: Remove extra debug log (call.py now already logs this suficently). * [505ab4e] packager.py: Use new misc.rmdirs to purge spool dir instead of shutils.rmtree directly (should improves error handling here). * [14dd7af] changes.py: Prefix changes type ("upload" or "buildrequest") to spool id. * [8710070] Live buildlogs: Initial implementation: On webhome, access live buildlogs from active "Packager" list or from active or last "Builder" list. Thanks to Marc Haber (Closes: 809127) * [3a5b17a] builder.py: Live buildlogs: Add support to expire live buildlog files from spool (5 days). * [a40aa1a] views.py: live buildlogs: Rather use plain text/HTTP 200 message when not available. * [58085b9] builder.py: live buildlogs: Guard code against prossibly pre-existing buildlog files. * [10190f9] packager.py: live buidlogs: Rather use new live_buildlog_url var, and put traditional 'http_remote_url' to old use. -- Stephan Sürken Thu, 20 Oct 2016 15:29:45 +0000 mini-buildd (1.0.22) unstable; urgency=medium Odds & Ends: Some more items from the roadmap, HTML improvements, misc fixes: * [e94d25d] doc/admin.rst: Add BTRFS to table of chroot backend options. * [502aa4f] models/chroot.py: Call 'args' 'call' like in Call from call.py... * [6a975f8] models/source.py: Add get_apt_line_raw() (give components explicitly). * [a1c8e27] chroot.py: Update source chroot's apt line on check(). * [53ddbc8] [devel] Cosmetic fix: Don't double-issue version. * [c2e1f38] [html] Last package status: Span buildlog link over all text (less confusing). * [1072d70] [html] Last package status: Always show status description (instead of "hovering tooltip"). * [32415ed] [html] Add "homepage on the web" link to index. * [cd5f797] [html] mini-buildd_messagelist.css: Also customize 'li.success' (fixes layout glitch on messages when deleting instances). * [0df352c] django_settings.py: Add static content; initially, add static version info here. * [4142ce1] [html]: Add component version information to footer (tooltip). * [c2be2b6] [html] Emphasize anchors (links) as bold. * [305e4db] mini-buildd.service: Add default value for mini-buildd options (Fixes: Would not run with default args (--verbose) when debconf unchanged). * [c95d4de] misc.py: Add rmdirs() (analogous to mkdirs()) function && update docs. * [1eeece7] Move per-chroot 'libdir' to extra directory '~var/chroots- libdir', and restrict build-time mounts. Thanks to Marc Haber (Closes: 802681) * [8be71c5] control: Add b-d on dh-python. * [3edabb9] mini-buildd: Make sure spool and chroot lib dirs exist (now needed by schroot setup). * [6779f39] [devel]: Update p-k test config magic to be even more magic (and call it before testing). * [5f2d923] doc/admin.rst: Add hint about avoiding django downgrades. -- Stephan Sürken Sun, 09 Oct 2016 08:14:49 +0000 mini-buildd (1.0.21) unstable; urgency=medium This release mainly features code refactoring around the internal subprocess warpper and the addition of the BTRFS chroot backend. Subprocess wrapper refactoring. While this mostly cleans up code, it should also provide a nicer "log experience" for the administrator: * [7797f73] call.py: Add helper to open a new file rw. * [a1e9172] call.py: call(): Use stdin and stderr when given explicitly. * [c9005dc] daemon.py: Use call.py (for genchanges), not subprocess directly. * [9ee1134] call.py: Rename call.sose_call -> call.sose, and make it just a wrapper for call(). * [2893b89] call.py: Use shell-like output of command for all such logs. * [aec91a8] call.py: Initial implementation of new class 'Call'. * [165d91f] call.py: Update 'sose' function to use new class. * [01d9fc6] call.py: Call(): Separate raw && unicode properties for stderr/stdout. * [95dd481] call.py: Use new Call() class in call(). * [b7103a9] call.py: Call(): Add "human-readable label" for nicer logging. * [651deba] gnupg.py: Update to new call.py for "export" subprocess call. * [fdf80e8] builder.py: Update sbuild call to new call.py. * [85129d2] call.py/gnupg.py: Bulk-remove obsoleted call arguments. * [077d1a7] builder.py: Remove now-obsoleted extra sbuild call log. * [aaf2b70] call.py: Remove obsoleted functions: log_call_output, args2shell. * [5324fad] call: Bulk-replace obsolete "sose" call. * [ae72eb6] call: Bulk-replace obsoleted call() function. * [6f158be] call.py: Obsolete create_and_open(). * [8c18b62] call.py: Call().log(): Clean up code and document. * [8f835e9] call.py: Call(): Class doc update. * [6974148] builder.py: Don't log the build log. * [6144e17] call.py: Make the magic "sequence2shell" convenience converter work for mixed (str+unicode) sequences. * [d07b9c6] call.py: ustdout|err: Replace on decoding error. * [2999869] builder.py: sbuild call: Call log(), not check() (call refactor regression). BTRFS backend (thx again Katsuhiko): * [3329a2b] [btrfs chroot backend]: Incorporate Katsuhiko Nishimra's patch (mostly as-is). Thanks Katsuhiko! Thanks to Katsuhiko Nishimra, Marc Haber (Closes: 673443) * [f743188] [btrfs chroot backend] Update btrfs program path and package name (btrfs-tools is deprecated now). * [1546053] [btrfs chroot backend] Don't use '-o' for umount. Other changes: * [8c1015c] [test] mbd-test-cpp: Modify changelog so it tests non-ASCII "original_author" string on ports. * [ace2a62] packages/mbd-test-cpp: Add test for buildlog with non-UTF8 chars. * [b013a7d] [devel] devel.debconf.selections: Don't have sbuild debug on by default. * [892d0c0] [doc] chroot: Minor wording fix for mbd_check_backend(). * [6fa5061] Remove compat/workaround for sphinx < 1.1 (obsoleted for quite some time). * [fb58a7f] misc.py: API doc fixes. -- Stephan Sürken Mon, 03 Oct 2016 13:20:20 +0000 mini-buildd (1.0.20) unstable; urgency=medium * [1e262bb] changes.py: Don't add *.deb-Files to build requests. Thanks to Sam Hartman (Closes: 836156) (fixes non-source-only uploads with newer sbuild). * [e68807b] builder.py: "Harden" + document gnupg workaround for (bug #834329) (Fixes: gnupg install may fail if chroot base source differ on new apt). * [a8b2356] [devel] mbd_testdjango is now obsolete (now that we log django warnings). * [6da0baf] code maintenance: Separate option & value in subprocess sequences wherever possible. * [e9127a9] Use 'absolute_import' from future for all python code. * [a48eccc] Move all subprocess-related code to own module call.py. -- Stephan Sürken Sat, 24 Sep 2016 10:05:01 +0000 mini-buildd (1.0.19) unstable; urgency=medium * [a0e7da1] gnupg.py: Modify doctest to use pre-arranged keys (make testsuite not block if entropy is sparse). (Closes: 834683) * [36b71b1] control: Update dep. for schroot (>= 1.6.10-2~): We need 'CHROOT_SESSION_SOURCE' in shm workaround. * [37b8a34] control: Update debootstrap dep: >= 1.0.81~ (newest available for all dists we support). * [5d03cdb] schroot: 15mini-buildd-workarounds: Don't fail even if /dev/shm is missing from source chroot completely. * [dfe8b2b] 15mini-buildd-workarounds: Some more output cosmetics. * [4603275] mini-buildd: Add 'sbuild' debug option. * [5638dc0] mini-buildd --help: Improve readability (using custom formatter). * [b771e04] mini-buildd --help: Add note about '~-Expansion' for --home and --pidfile. * [22bd0e6] Sort 'Sources' by codeversion (after origin), and sort Distributions by source (fixes up default sorting for all released Distributions). * [0308b22] gnupg.py/doctest: Also close the new gpg TmpDir. * [62d81fe] control: Dep: Avoid schroot >= 1.7 for now (atm, we are not compatible with schroot 1.7). Thanks to Marc Haber (Closes: 820699) -- Stephan Sürken Sat, 17 Sep 2016 08:52:25 +0000 mini-buildd (1.0.18) unstable; urgency=medium This release addresses a number of pet-peeves hovering along on my roadmap for some time (also fixes yet another issue for reproducible builds). * [15aa501] project structure: Add src/ subdirectory: All python source. * [d230082] registration: Add custom email templates for password reset (fixes per-mail password reset funcionality). * [85c7be5] registration: Adapt/improve custom email templates for account activation. * [2e457fe] 15mini-buildd-workarounds: Improve SHM workaround: Also avoid /dev/shm host 'overmount leaking'. * [7d608bd] examples/packages/mbd-test-cpp: Check if SHM is working inside the build. * [0b49056] examples/packages/mbd-test-cpp: autotools update. * [bdd88d8] misc.py: Distribution: Validate distribution string via regex (improves error handling for some corner cases). * [9e6c404] doc/conf.py: Set 'todo_link_only' (for reproducible builds). * [0ac02be] packager: No longer log "rejected" packages (fixes possible cruft in ~/var/log/ for uploads with malformed distributions). * [26a0b5d] examples/reject-cleanup: Add example tool to (manually) clean up possible ~/var/log cruft, and add some admin docs for it. * [4392855] chroot: Make chroots removable even if source has been removed. -- Stephan Sürken Sun, 11 Sep 2016 16:36:50 +0000 mini-buildd (1.0.17) unstable; urgency=medium gnupg 1.4/2.1 compatibility release. This also adds the new 'hotfix' suite to the default layout (see docs) and various fixes... * [b513a9e] mini-buildd: Generate reproducible mini-buildd man page. (Closes: 833340) * [c3969de] control: Vcs-*: Update to anonscm.debian.org. Thanks to Boyuan Yang (Closes: 833338) * [fd99541] Revert "mini-buildd: Generate reproducible mini-buildd man page." * [2194991] mini-buildd: man page/reproducible builds: Use Chris' patch (which is nicer than my previous patch). * [460a6e1] wizards: Add "hotfix" suite to default layout. * [7ab128f] gnupg.py: Add flavor() method (compute 'gpg flavor'). Not used currently. * [88fc314] gnupg.py: Use extra methods to get key and fingerprint form 1st secret key. * [2b6cb38] gnupg.py: Simplify internal impl. * [9daee35] gnupg.py: Add flavor class variable (and fail-proof flavor getter). * [e993dc5] gnupg.py: GPG 2.1: Add '%no-protection' to key generator template. * [8ee94bc] gnupg.py: Add extra method to get sec user id. Fixes doctest for GPG 2.1. Thanks to Santiago Vila (Closes: 834683) * [2b29745] misc.py, builder.py: Try to log calls more suitable for cut- and-paste debugging. Thanks to Marc Haber (Closes: 797585) * [3320484] control: Add dirmngr depends for mini-buildd (needed for GPG 2.1 'recv-keys' functionality). * [61302c6] gnupg.py: Add newline for (2.1) template flavor option (needed for 'gen-key' from within mini-buildd). * [3047d2f] control: Depend on sbuild >= 0.71. Fixes (1) builds in chroots >= stretch (where gpg is gpg 2.1)) and (2) mini-buildd's sbuild key workaround (via gpg 2.1 fixup in sbuild, and revertion of ascii keyrings in sbuild 0.71). Thanks to Marc Haber (Closes: 834321, 834329) * [969b12a] misc.py: Add compat for urlopen with python versions < 2.7.9 (relevant for wheezy installations only). * [e149d03] gnupg.py: For '--with-colons' calls, use arguments that deliver the same result for GPG 1.4 and 2.1. * [a0c941d] models/gnupg.py: Fix for slightly changed GPG 2.1-style colons output. * [c058f99] builder.py: Cleanup subprocess sequence code for sbuild call. -- Stephan Sürken Sun, 04 Sep 2016 18:06:18 +0000 mini-buildd (1.0.16) unstable; urgency=medium * [9614fc9] wizards: Add support for Ubuntu "xenial". * [dbe0307] control: b-d: Add gnupg (build needs it for automatic tests) (Fixes FTBFS in reproducible build chroots). * [78c157d] models/source.py: Use ca-certificates if installed when checking sources. Thanks to Klee Dienes (Closes: 832350) -- Stephan Sürken Sun, 31 Jul 2016 08:57:07 +0000 mini-buildd (1.0.15) unstable; urgency=medium Code cleanup release, mainly for django 1.10 support [mini-buildd is currently compatible with django 1.7 up to 1.10]. * [dcecdad] devel(installdeps): python-bs4 && python-keyrings.alt now needed for developer checks. * [08aa4d5] mini_buildd/[root_]urls.py: Update from deprecated syntax (tested to be compatible with django 1.7,1.8,1.9 and 1.10). * [f32e474] django/templates: Use 'staticfile' app, and switch to use '{% static %}' in templates. * [46844b6] *.css: Use relative paths to for all static image urls. * [712cf2e] django_settings.py: Move all TEMPLATE related config together. * [2a62aac] django_settings.py: Use extra settings dict variable for configure(). * [26644a7] django: Update template config syntax for >=1.8, and add compat for 1.7. * [87ebb2c] django: templates/admin/index.html: Fix leftover "="-comparison (removed in 1.10). * [cb993e8] django: views.py: Replace to-be-deprecated "render_to_response" by "render". * [add9cb3] django: templates/base.html: Fix jquery static path. * [8e4d04b] django: models/base.py(action_remove): Remove unnecessary "current_app" hinting (fix for p-d 1.10). * [7b0fd0e] setup.py: Move "STATIC_URL" setting here, it's used for both django and cherrypy. * [0528861] root_urls.py: Coherently use '"' to quote strings. * [7249bcc] mini-buildd: Configure logging _after_ django configure (django might overwrite some global settings). * [c55a9c3] Add "python warnings support": Capture via mini-buildd's logging, and add '--debug=warnings' to enable all warnings. * [eed76b4] doc/admin.rst: Add section/example about a console debug run. * [2c76a1e] django: mini_buildd_tags.py(mbd_jquery_path): Use "assignment_tag" again (stay compatible with 1.7, 1.8). * [a5c2cd1] django: templates: Use explicit "on_delete" for all OnoToOneField and ForeignKey (RemovedInDjango20Warning). * [d0b195d] [devel] run-doctest: Issue all python warnings. * [b8cd7b0] cherrypy: Update to cherrypy.lib.httputil (deprecation warning). * [39b6075] root_urls.py: p-d-registration: Upgrade to new (non- deprecated) URLs name. * [e6be7e6] [devel] Remove obsoleted django-lint code (pydjangolint is no more). * [2721d3a] control: deps: Allow django 1.10. Thanks to Chris Lamb (Closes: 828660) -- Stephan Sürken Sat, 30 Jul 2016 09:14:26 +0000 mini-buildd (1.0.14) unstable; urgency=medium * [d487423] mini-buildd.service: Some brown paper bag fixes for the new service file. Thanks to Boyuan Yang (Closes: 832167) * [8971737] zh_CN.po: Add translation for "Simplified Chinese". Thanks to Boyuan Yang (Closes: 832168) * [a90fc43] doc/admin.rst: Improve section "Logging and Debugging". Thanks to Marc Haber (Closes: 820692) -- Stephan Sürken Sat, 23 Jul 2016 19:45:19 +0000 mini-buildd (1.0.13) unstable; urgency=medium * [09793e2] Add systemd unit file: mini-buildd.service. * [e76bfc0] control: Adapt dependencies to new python-django epoch in version. Thanks to Lucas Nussbaum (Closes: 830359) * [0fa253c] example packages: Autoconf files update. * [20f9301] pt_BR.po: Add translation for "Brazilian Portuguese". Thanks to Adriano Rafael Gomes (Closes: 829337) * [2c9ecc7] builder.py: Install gnupg explicitly before using apt-key (apt no longer depends on it). Thanks to Boyuan Yang (Closes: 831749) -- Stephan Sürken Fri, 22 Jul 2016 17:20:28 +0000 mini-buildd (1.0.12) unstable; urgency=medium This release focuses on HTML/design cleanups and fixes, and makes it more compatible/maintainable across django 1.7/1.8/1.9 (and hopefully future versions). * [49f19f9] Web, "Last packages": Show sbuild- and lintian stati directly, and in colors ("i386 [BL]"). * [44618f8] [templates] Convert 'snippet_packager_status' to inclusion tag. * [995193e] [templates] Convert 'snippet_builder_status' to inclusion tag. * [2496789] [templates] Convert 'snippet_manage_subscriptions' to inclusion tag. * [82e62d1] [templates] Convert 'admin/snippet_index_table_header' to inclusion tag. * [e328e21] [templates] Convert 'admin/snippet_index_table_row.html' to inclusion tag. * [e9977f1] [templatetags] Rename 'base'->'mini_buildd_tags' (possible namespace pollution). * [26c36a7] api: Make django_pseudo_configure() public, and move to api. * [d7e9584] Add './run-doctest' tool, and re-enable all doctests for modules using django. * [ec4f92f] Remove "__main__ doctest run helper" from all affected modules (obsoleted by ./run-doctest). * [39bfbee] [devel]: Move dev testing debconf selections to extra file. * [f649120] examples/auto-setup: Add "batch-mode" support (for dev testing). * [714dbbc] [css] Make file names "more unique", and remove some redundancies. * [bba1ce2] [css] mini-buildd_messagelist.css: Add custom icons for log messages (we should not use django paths for that in our own CSSes). * [9cc1ff6] [css] mini-buildd_admin.css: Less is more: Skip overwriting most default styles (fixes some html display issues with django 1.9). * [42641f1] [css] mini-buildd_admin.css: Correctly display title again with django 1.9. * [31b595f] [html] admin: Move "daemon running" convenience code to content (displays this again this for django 1.9). * [4ac61e0] [css] Style bulk fix: Class names should use hyphen, not underscore. * [195014d] [devel]: Add initial poor-man's check for unused CSS ids. * [0f2b4ed] [css] mini-buildd.css, mini-buildd_admin.css: Remove unused CSS ids. * [2aade6a] [css] mini-buildd_admin.css: Fix "is running" warning image and style. * [2219aa0] [templates] Make all css includes use {{ STATIC_URL }}. -- Stephan Sürken Sun, 24 Apr 2016 07:39:49 +0000 mini-buildd (1.0.11) unstable; urgency=medium The "eight-legged freak" stable point release. Crucial user-visible changes summary: - python client API: This merges this long-petted feature branch. Docs and examples will follow in the next release ;). - schroot workarounds: Workaround for #728096 is now ootb, and a (ootb) workaround for archived squeeze is added. - wizards cleaned up; the recommended DirChroot backend now guesses the default backend (aufs vs. overlay). - no longer needs p-d-extensions. * [eec512f] chroot wizard: Improve note when a customized chroot is skipped, and make it a warning. * [cd28cbb] web admin: Fix "search" function for 'Chroot' and 'Uploader'. * [1945d13] doc/user.rst: Improve introduction/default layout description. * [2bebf1c] example packages: Update config.guess|sub. * [adb26f8] [django 1.9] Fix jquery URI && distribution option tag. Thanks to Eldon Koyle (Closes: 813720) * [4b81c73] Add initial python client 'API' for 1.0.x. * [f9e62c2] client API: Add django_pseudo_configure workaround. * [649e4b3] misc.py: mkdirs: Add doc/note to myself (for the upcoming upgrade to python 3.x). * [6619511] client_api_10x.py: Daemon: Add self.url. * [e02a913] [django 1.7-9] client_api_10x.py: Update "syncdb" to "migrate". * [8061242] [django 1.9] Call django.setup() directly after configure(). * [25e0931] [django 1.9] Pseudo config now also needs "django.contrib.auth" and "django.contrib.contenttypes". * [d0c6fed] Move pseudo configuration function to "mini_buildd/django_settings.py". * [1824cd5] django_settings.py: pseudo config: autodoc also needs "registration". * [932e994] django_settings.py: conf, pseudo conf: Use same value "INSTALLED_APPS". * [2a049e7] Use new pseudo config for sphinx doc (obsoletes "doc/django_settings.py"). * [56f76ab] client_api_10x.py: Add status (caching) support. * [2dd969c] client_api_10x.py: Support archive identity. * [beb520f] client_api_10x.py: Add extra function: get_package_versions. * [3ec7026] client_api_10x.py: get_package_version: Report a dict with various infos, not just version. * [6ab382f] django_settings.py: Pseudo config: Also set MIDDLEWARE_CLASSES explicitly to avoid nasty warning with django 1.7. * [56a3425] api: Move to own package. * [3f84b08] api: Move client API to api/ package. * [7782370] Add 'api/_contrib.py': Non-mini-buildd extra code; adds DebianPackageTracker class. * [b4d2eef] api/_contrib.py: Improve DebianPackageTracker class. * [78e7cca] api/_contrib.py: Add some docs. * [b437008] setup.py: Add mini_buildd/api to packages. * [e1172f3] examples: migrate-keyring-packages, python-client: Update to final client api location. * [6b543ce] [wizard] Clean up archives && remove any old backports.org archives. * [a42f3f3] Add permanent schroot/setup.d workaround script; integrate 'shmbug728096' workaround and fix it so it "just works" (no manual enabling needed any more). * [388bc23] 15mini-buildd-workarounds: Add schroot workaround for archived Debian distributions (disable the valid-until check). * [708da60] 15mini-buildd-workarounds: Cosmetic log fix. * [3b05f0b] misc.py: web_login(): Fix exception string. * [d3939fd] api/client_1_0.py: login(): Ask for user if not given. * [acd7e71] api/client_1_0.py: login(): Handle proto down to web- login(). * [0865b08] api/client_1_0.py: Fix archive identity "parser" (for archive ids that include a hyphen). * [d8db641] misc.py: Add canonize_url() tool function. * [d4775bd] misc.py: web-login(): Canonize URLs before "unauthorized" check. * [d7f2776] api/client_1_0.py: login(): Return instance to allow convenience syntax. * [9e513f6] api/client_1_0.py: Add "dry run" feature. * [0872560] api/client_1_0.py: Compact/renice code. * [fedd36a] api/client_1_0.py: auto_confirm, dry_run: Skip extra property support. * [bdda89d] api/client_1_0.py: Log HTTP status code for failed calls too. * [03f1ae4] api/client_1_0.py: Add "interactive retry convenience code". * [72d9b29] api/client_1_0.py: call(): Fail/except when the API call fails. * [af7c51d] control: Update dependency on reprepro: >= 4.17 for dbgsym support. * [39dc9e7] api/client_1_0.py: Add batch_mode (non-interactive mode). * [b537c17] api/client_1_0.py: call(): Add "raise_on_error" support. * [826a847] api/client_1_0.py: Cosmetics on API call logs. * [dd83414] api/client_1_0.py: Make bulk_migrate() public. * [42d9521] api/client_1_0.py: wait_for_package(): Initial impl. * [9b3a3eb] api/client_1_0.py: Add "django_mode" support, defaulting to true. * [c8c2b58] api/client_1_0.py: wait_for_package(): Fix: Actually increase tries. * [58dbebf] api/client_1_0.py: wait_for_package(): Simplify/improve log output. * [b84b45c] api/client_1_0.py: wait_for_package(): Error handling support && code cosmetics. * [b1b97f3] api/client_1_0.py: wait_for_package(): Support version=None (any version). * [fbf0111] api/client_1_0.py: has_package(): Add initial impl. * [9601e59] api/client_1_0.py: wait-for_package(): Fixup logged wording when match found. * [dfc45e0] api/client_1_0.py: Monkey patch httplib._MAXHEADERS to 500 (default '100' may be too low as log messages are transferred via HTTP headers). * [19a361f] api/client_1_0.py: wait_for_package(): Add "or_greater support" for version. * [fab38f6] api/client_1_0.py: wait_for_package(), has_package(): Fixup arg order. * [84b1528] Bulk pep8 fixes on new code. * [4a646a9] Bulk pylint fixes on new code / newer pylint. * [7fd1435] models/chroot.py: DirChroot: Add guesser for the default backend value ('aufs' versus 'overlay') based on kernel version. * [823aaac] More code fixes and config adaptions for pylint (1.5.2). * [2a46597] Remove dependency on p-d-extensions for good (only needed for one graphic in the manual). * [76c0be6] control: Update Stds-Ver to 3.9.8 (no changes needed). * [e27d40f] pylint (1.5.2): Bulk-switch to symbolic message names. * [b93a149] pylint (1.5.2): Bulk-convert inline exceptions to "one- lines" where possible (and also removes some no longer needed). * [986da34] urls.py+root_urls.py: Remove obsoleted compat code for django 1.5/1.6 and older p-d-r. * [f0be9cc] django_settings.py: Remove obsoleted compat code for django < 1.7. * [a1c7804] pylint (1.5.2): Phasing out some per-project exceptions: super-on-old-class, bad-continuation, bad-format-string, global- statement. * [0e54a86] [devel] pep8: Use config file && remove old compat from call code. * [6de2d92] [devel] Add support for a testing (passwordless) setup of p-keyring. -- Stephan Sürken Sun, 10 Apr 2016 15:57:55 +0000 mini-buildd (1.0.10) unstable; urgency=medium * [6345fe9] .gitignore: Ignore paths created by new debhelper. * [2231178] [devel]: Updates: +installdjango, +service, +install. * [26d9291] [django] Retry 'migrate' with '--fake-initial' on OperationalError (fixes daemon start on certain existing databases). * [938bc1d] Update to new recommended bash completions path (/usr/share /bash-completion/completions/). -- Stephan Sürken Wed, 20 Jan 2016 14:36:49 +0000 mini-buildd (1.0.9) unstable; urgency=medium * [eb0fad7] [devel] chroot workaround: Don't care if the dirty workound fails. * [13ced1b] django_settings: Improve django < 1.7 compat code (make mini-buildd actually fail when django.setup() fails). * [dff0527] [devel] purge: Also manually stop daemon. * [aaa608c] postrm: On purge, don't hide output of 'userdel'. * [543d101] web && admin: Also display the daemon's hostname. Thanks to Marc Haber (Closes: 796346) * [f69c12b] httpd.py: Fix compat warning from cherrypy 2.3 (autoreload_on -> .on). * [e79279c] control: Update dependency on django to >= 1.7 (will not be tested under 1.5/1.6, and compat code may eventually be removed). * [332996d] [devel]: Add crude macro to help locally test different django versions. * [7842e91] [django 1.9] Use management call 'migrate', not 'syncdb'. * [235ac3b] DirChroot: Add support for now-in-linux-mainline overlayfs named "overlay" (Fixes: OOB support for overlay backend for Debian Kernels with aufs removed). * [9b67282] [django 1.9] Add run_syncdb=True to migrate call. * [cc2ea99] [django 1.9] Add app "django.contrib.sites" (p-d-r imports models from there, forbidden in 1.9 w/o the app installed). * [1c41bda] [django 1.8] WebApp: Manually call check() once (1.8 no longer does this by default; in 1.7 you may see unharmful duplicate calls). * [1b5d6e8] [django 1.9] Update templatetag 'mbd_model_count' to (cleaner) inclusion.tag (Fixes: configuration page). * [fd94acc] [django 1.9] ./devel pydoctests: Add more exclusions for now always-failing doctest runs. * [2b8f5f5] [devel]: Add yet another workaround to simplify testing. * [5dd2d45] Revert "[django 1.9] Add app "django.contrib.sites" (p-d-r imports models from there, forbidden in 1.9 w/o the app installed).": Not needed any more for new p-d-r upstream 2.0.4. * [ed878cf] [django 1.8|9]: Depend on python-django-registration >= 2.0.4. * [cd6b460] control: Harden python-django deps to those main version actually tested with (1.7, 1.8, 1.9). (Closes: 808670, 806361, 806593) * [cd6edec] [django 1.9] doc: Add app "registration" to django pseudo conf (avoids warning on sphinx run). * [542cb3c] [devel] More internal convenience hacks for testdjango. * [599829b] DirChroot: Make "overlay" backend default (it's now in mainline and current Debian kernels, while "aufs" has been removed). -- Stephan Sürken Tue, 12 Jan 2016 11:27:55 +0000 mini-buildd (1.0.8) unstable; urgency=medium * [8ecb4f1] API/DOC: Add "auth level" info to API docstrings. * [ae3a5fe] doc/user.rst: Update aptitude config recommendations. * [0f8e943] [devel] Add dirty workaround so testing still works in "systemd chroots". * [85fe189] [wizards] Add 'httpredir' Debian archive sources. * [98b1181] builder: Also cat "chroot_setup_scrip" to build log. Thanks to Marc Haber (Closes: 797589) * [7a65be1] remotes: Use a custom exception for status updates failures (improves error handling over pure urllib2 exception). Thanks to Marc Haber (Closes: 796348) * [7822017] [wizards] Add Ubuntu 15.10 (wily). -- Stephan Sürken Sat, 31 Oct 2015 11:40:58 +0000 mini-buildd (1.0.7) unstable; urgency=medium [ Stephan Sürken ] * [44fe400] [devel]: Remove python-django-lint from installdep helper. * [2bb2bbe] models: Set default "Days-Until-Recheck" value from 7 to 6 (works out better with cron.daily). * [6a06f68] Builder: Don't expect buildlogs to be UTF-8 (Fixes: Build failure with such buildlogs). * [add889b] examples/09bug728096shmfixer: Make work again under jessie+ systems (this fixes a bug in that bug workaround which has been triggered by bug fix for #674755 ;). * [2e628f0] examples/09bug728096shmfixer: Harden, so it's only run when really needed. * [5ea7888] Add debian/mini-buildd.README.Debian (including a hint for the shm workaround). * [38af7d4] [devel] Update devel script to new "gbp .." call scheme. * [b3eb016] misc.py: HoPo::test_bind(): Make work for IPv6. (Closes: 789103) [ Ben Finney ] * [307d472] Depend on ‘python-daemon’ 2.0.5 for new lockfile API. * [793f229] Remove references to obsolete ‘daemon.pidlockfile’ API. (Closes: 789089) [ Stephan Sürken ] * [285b0f6] Add a per-branch debian/gbp.conf, and point to 1.0.x. * [ac3c6ff] debian/control: Remove obsolete Suggests on debootstrap (Fixes lintian/stronger-dependency-implies-weaker). * [59ec7cc] doc/quickstart.rst: Clarify the meaning of 'Uploader', and describe the per-user auth workflow. (Closes: 789154) * [c0956b1] models/gnupg.py: Prefer explicitly pasted key over keyid/keyserver (Fixes non-intuitive behavior when keys are re- prepared with no keyserver available). -- Stephan Sürken Sun, 21 Jun 2015 16:33:51 +0000 mini-buildd (1.0.6) unstable; urgency=medium The "Jessie Release" release. Please also see http://mini-buildd.installiert.net/blog/post_jessie_housekeeping.html for some post-jessie housekeeping hints. * [57e99e9] wizards: Add support for Ubuntu vivid. * [1094e7a] wizards: Add support for new Debian apt keys with the jessie release (Fixes: wheezy, jessie, sid). * [9ffa8ef] wizards: Add support for jessie-backports and wheezy- backports-sloppy. * [1e43efd] wizards: Support Debian stretch (deps: needs debootstrap >= 1.0.65). -- Stephan Sürken Fri, 01 May 2015 19:05:34 +0000 mini-buildd (1.0.5snap20150201103349) experimental; urgency=medium Stable snasphot via 'experimental' during jessie freeze. * [dcfe369] doc/user.rst: Document Bug 768046. * [ebd2df4] debian/po/nl.po: Add dutch translation. (Closes: 767278) * [0a2034e] debian/control: Update Stds-Ver to 3.9.6 (no changes needed). * [0f57f5f] control: Update debootstrap suggested version to 1.0.64. * [51f6bd5] pylint 1.3.1: Fix two new warnings (indeed buggy code which may lead to problems) * [83ffe9e] config: Always sync the debconf "home" value with actual home of an existing mini-buildd user. Thanks to Marc Haber (Closes: 774078) * [3d1ec5f] p-d-registration: Use configured email address for outgoing mails (instead of django's default). * [62af2c5] p-d-registration: Workaround for p-d-registration bug #775363: Uses wrong uid hash for django >= 1.6 (Fixes: Broken "reset password" URLs) -- Stephan Sürken Sun, 01 Feb 2015 10:34:11 +0000 mini-buildd (1.0.5) unstable; urgency=medium * [016c59f] mini_buildd/daemon.py: Fix warning with pylint 1.3. * [9f3d61a] [devel] "./devel all": Sleep a while until service becomes ready. * [2cdcffc] [devel] pylint: Globally disable W1302 (seems just wrong). * [48d9bf7] p-d-registration: Add 'd.c.auth.urls', needed since some django update. (Closes: 764736) * [0aaf375] Remove the obsoleted "chroot sudo workaround". (Closes: 764617) * [09adf78] [django 1.7] Remove "user profile" code (deprecated for good in 1.7) (Closes: 765378) * [a4e6e5c] sudo chroot workaround cleanup: Assure /etc/sudoers file is present (else newer sudo may fail on upgrade) (Closes: 766191) * [ab55bd0] control: Add dep dpkg-dev >1.17 (needed by new sbuild); also update devscripts dep (relevant for wheezy port only). * [e887a9a] [html] Log: Add "file browse" and PTS link for convenience. * [8ae5176] Chroot::check(): Detect (and deny) "sudo workaround chroots" (so they eventually become disabled automatically). * [6e39fda] Update etamydata chroot setup default/example snippets to also work with eatmydata >= 82. (Closes: 765641) * [2149b13] mini-buildd.NEWS: Update/correct existing NEWS (for upgrading 0.8.x->1.0.0) * [0266352] control: Depend on python-debian (>= 0.1.25~). (Closes: 764595) * [a6fa26f] doc: Add note about systemd/schroot bug 728096, and add workaround as example script. * [aa3757e] setup wizards: Add support for Ubuntu "utopic". -- Stephan Sürken Sun, 26 Oct 2014 20:12:05 +0000 mini-buildd (1.0.4) unstable; urgency=medium * [14cb9e5] Ubuntu wizard: Add 'old-releases' archive (raring and quantal recently moved there) * [646f403] *.py: Some style fixes to satisfy newer pep8. * [36783bf] API: Fix: Make 'remove' an admin command (was: staff). * [872562c] web: 'show': Add link for the new Debian Package Tracker. * [d93a3af] copyright: Update years. * [5974f4a] keyring package(sources library): Add trailing newline (for purists). * [aea6a07] ports: Add SHA1 of original DSC to changelog. * [dbc9652] mini-buildd-tool: Improve help message for command confirmation. * [0bbe7a8] mini-buildd-tool: Also encode logs for terminal, and use 'backslashreplace' instead of just failing when recoding. * [dfe5f71] [django 1.7] web home, status: Fix missing trailing "/" in link. * [ae8c326] [django 1.7] HttpResponse: Use 'content_type', not 'mimetype'. * [4d462f1] [django 1.7] Explicitly configure MIDDLEWARE_CLASSES (using django 1.5 default). * [6bdf476] [django 1.7] Fixup (fix conf, call setup) doc building. * [5daf8ea] [django 1.7] Call django.setup() after configure. * [771acfb] [django 1.7] devel: doctest workaround (omit doctests for django-related modules). * [1b93738] [django 1.7] pylint: Disable two new false-positives. * [4c78f81] [django 1.7] web/css: Don't overwrite user-tools (fixes design breakage for Configuration). (finishing django 1.7 fixes). (Closes: #755659) * [4621caf] Bug fix: "[l10n:cs] Updated Czech translation of PO debconf template for mini-buildd 1.0.0~beta.23", thanks to Michal Šimůnek (Closes: #751380) -- Stephan Sürken Fri, 08 Aug 2014 12:40:59 +0200 mini-buildd (1.0.3) unstable; urgency=medium * [5100f3a] doc/quickstart: Update for the new keyring's "sources.list library". * [6de2b52] examples/ssh-uploader-command: Improve error output when 0 changes files are uploaded. * [d39e93f] examples: Add auth logging support for ssh wrapper scripts. * [62cd2be] [devel] Update setup/code for new pylint >= 1.2 (Fixes: pylint check). -- Stephan Sürken Wed, 04 Jun 2014 16:45:32 +0000 mini-buildd (1.0.2) unstable; urgency=medium * [f374128] keyring package, 'APT sources library': Support the rollback distributions, too. * [8dd7f26] port, portext (web): Add support to 'regex-bulk-select' distributions. * [a23346e] Never use '/usr/share/pyshared', always use computed 'dist- packages' path (Fixes builds with newer dh_python2). * [316de91] Add example 'migrate-keyring-packages': Bulk-migrate keyring packages. -- Stephan Sürken Sat, 17 May 2014 10:18:30 +0000 mini-buildd (1.0.1) unstable; urgency=medium * [d85d2d4] Add all available sources.lists to keyring packages for easy integration. * [33be1bd] examples/ssh-uploader-command: Add workaround to make it work for squeeze's dput (0.9.6). * [71b9e6f] wizards: Add support for Ubuntu "trusty". -- Stephan Sürken Mon, 05 May 2014 18:26:07 +0000 mini-buildd (1.0.0) unstable; urgency=medium Initial 1.0.x stable release. * [b689f4a] debian/control: Needs python >=2.7 (we are actually no longer compat with python 2.6). * [6549ed4] debian/control: Suggest debootstrap >= 1.0.55 (this will actually support all codenames currently in the wizards). * [57f25e1] doc: Add raw doc for the "magic changelog lines". * [ec1eca3] Bug fix: "[INTL:it]" (i18n update) Thanks to Pierangelo Mancusi (Closes: #740853) * [efad690] Bug fix: "ping mechanism still fails, this time on apt- cacher-ng" Thanks to Klee Dienes (Closes: #740576) * [9cd7735] doc/introduction.rst: Remove note about pbuilder. -- Stephan Sürken Sun, 16 Mar 2014 17:39:00 +0100 mini-buildd (1.0.0~rc.5) unstable; urgency=medium Fifth release candidate. * [835f91a] examples: Add 'ssh-tool-command', may be used to faciliate mbd-tool runs via ssh auth. * [ccb271f] Wizard(Archive): Switch to 'archive.ubuntu.com' as default Ubuntu archive (previous default no longer worked). * [a07c12e] Wizard(Distribution): Really always avoid creation of "duplicate" instances. * [2d32524] [devel] Add tox.ini to help with emacs 'elpy' python mode. -- Stephan Sürken Sun, 02 Mar 2014 13:11:15 +0000 mini-buildd (1.0.0~rc.4) unstable; urgency=medium Fourth release candidate. * [4650324] examples: Add 'ssh-uploader-command', may be used to facilitate uploads via ssh auth. * [1df2cf3] examples: Add sample 'keyringrc.cfg' for python-keyring (used by mini-buildd-tool). * [f8f48b1] mini-buildd-tool: Be more transparent as to what keyring backend is actually used, and add keyring config hints (via -v). * [3c94a36] [devel] Remove django-lint from standard check (currently broken in sid). -- Stephan Sürken Sun, 16 Feb 2014 15:14:24 +0000 mini-buildd (1.0.0~rc.3) unstable; urgency=medium Third release candidate. * [80703fd] Daemon: Switch default GPG keyserver to 'pool.sks- keyservers.net' (experienced a lot of net timeouts with 'subkeys.pgp.net') * [35a1fa7] All defaults and examples: Use '--option=APT::Install- Recommends=false' instead of '--no-install-recommends' (compatibility, also works for etch and lesser). * [b9cc7f9] lintian: Avoid --suppress-tags for dists that do not support it (<=lenny). * [f3db7d7] Bug fix: "should include apt-transport-https if https:// sources are in use" Thanks to Klee Dienes (Closes: #733443) * [69a9ffc] Distribution: Add 'extra option' to set custom internal apt prio for builds. Thanks to Klee Dienes (Closes: #733257) * [f71129b] doc: Admin manual updates; add note about eatmydata bug. -- Stephan Sürken Sun, 26 Jan 2014 12:28:55 +0000 mini-buildd (1.0.0~rc.2) unstable; urgency=medium Second release candidate. * [3cb75bb] doc/user.rst: Fix RST blank line warning. * [7ec39c2] control: Update to Stds-Ver 3.9.5 (no changes needed). * [c3a5623] devel: Add docspell check; some textual code fixes. * [06c2f26] Bug fix: "[INTL:es] updated Spanish translation of debconf messages". Thanks to Matias Bellone (Closes: #734208) * [d821bff] Archive: Fix mbd_ping() for archives not allowing base URL. Thanks to Klee Dienes (Closes: #733256) * [dc4aae2] pylint 1.0: Fixes and updates for new warnings. -- Stephan Sürken Sun, 12 Jan 2014 18:38:43 +0000 mini-buildd (1.0.0~rc.1) unstable; urgency=medium First release candidate. * [5efd9f0] mini-buildd-tool: Fix: Don't loop "--reset_save_policy" through to API call. * [5806c96] mini-buildd-tool: Add --protocol={http|https} option. * [fdc10bb] ftpd: Harden incoming against cruft/bogus uploads. * [0cf20bf] port: Always decode unicode arg for subprocess; use LANG=C.UTF-8 in mini-buildd env. * [438a935] pyftpdlib: Depend on >= 1.2, remove all 0.x compat code (Fixes: pyftpd logging, installations on wheezy). * [a9a14e6] mini-buildd-tool: Clone the keyring logger. * [2743967] port: Fix dsc file signing for epoched versions (port regression introduced by [1cf513c]) * [130ebcc] [devel: Make sure './devel check' works even on a clean checkout] * [676071d] doc: Some ispell fixes. * [c5ee0aa] doc: Fixes and updates for the quickstart. * [bd0d228] Remotes: Prepare: Unset key id when downloading key data (Fixes re-preparing of a remote (would try key server and fail)) * [657e24f] models, state: Add acton trigger 'on_deactivation', and schedule keyring update on 'KeyringKey' deactivation (Fixes: Keyring not changed on the fly on deactivation). * [394ed18] Remotes keyring: Allow uploads by auto-deactivated remotes (Fixes: Rejected builds when the uploading remote was auto-deactivated previously, and not yet checked again) * [7536bef] mini-buildd: Add early check if the given http port is bindable (Fixes error handling when mini-buildd is already running). * [f1c9027] mini-buildd: Fix typo in exception message. * [d867ba7] mini-buildd: Add early check for multiprocessing (shm) functionality (Fixes error handling when shm is misconfigured). * [828c960] mini-buildd: Only run the new extra checks on proper daemon run. * [1a3a6c6] doc: Update remotes doc. * [86f61f6] doc: Updates for the admin's manual. * [57547bd] doc: Updates for the user's manual. * [824a9b0] control: Depend on sbuild >= 0.64.1 (Fixes: Lintian not run in the chroot) * [e6848bd] doc: Check and update all FAQ/Todo/bug items. -- Stephan Sürken Sun, 15 Dec 2013 19:04:22 +0000 mini-buildd (1.0.0~gamma.5) unstable; urgency=low Fifth gamma, 'l10n' release. * [32cbf96] mini-buildd: Add sanity check to avoid accidental starts by standard users. * [1cf513c] gnupg.py: sign(): Implicitly add newline to original file (like debsign does too) (Fixes signed dsc files for dpkg <= squeeze) * [d82b578] ports: Also gpg-sign the dsc file. * [14562c9] Debconf templates and debian/control reviewed by the debian- l10n-english team as part of the Smith review project. Thanks to Christian Perrier , Russian (Yuri Kozlov), Danish (Joe Hansen), German (Tobias Quathamer), Polish (Michał Kułach), Japanese (Nobuhiro Iwamatsu), Italian (Pierangelo Mancusi), Swedish (Martin Bagge / brother), Portuguese (Américo Monteiro), French (Julien Patriarca) (Closes: #725850, #729295, #729429, #729655, #730063, #730481, #730523, #730538, #730648, #730803) -- Stephan Sürken Mon, 02 Dec 2013 13:34:44 +0000 mini-buildd (1.0.0~gamma.4) unstable; urgency=low * [c3cbf7b] mini-buildd.cron.weekly: Be quiet when restarting (Fixes: Unneeded cron mails). * [9550998] examples: Add apache-ssl-proxy.conf (apache2 SSL proxy for mini-buildd example) * [e2b3c6c] gpg: add_keyring(): Don't fail (just warn) when the keyring file does not exist. * [785d7ef] repository wizard(debdev): Add Debian keyring as uploader by default. * [ad7212f] logs: Minor cosmetics for exception debug logs. * [7db87e1] ftpd: Harden incoming cruft removal (never fail but log on errors). * [2cacf2f] [html] Make "Retry now" look like a button. * [02c06a3] init.d: Always start with LANG=C.UTF-8 (Fixes occasional encoding bug when porting an "non-ascii author"). -- Stephan Sürken Mon, 25 Nov 2013 19:09:54 +0100 mini-buildd (1.0.0~gamma.3) unstable; urgency=low Third gamma release. Makes it work with django 1.6, cumulated fixes. * [d1c072b] package notify: Add 'port report'. * [9af72fe] build: Fix prio for our own sources to 1 (was 500). Fixes 'opt-in' in builds. * [3e546e3] chroot, distribution: Add 'origin' to display name (Fixes possible confusion when bogus/non-base sources are used like base sources). * [c71371a] chroot+distribution wizards: Harden, make them only chose source with origin=Debian,Ubuntu as base sources. * [86d5652] [django-1.6] Add extra django_settings module to be able to to configure _before_ any django imports (Fixes: django-1.6 settings exception on startup). * [3786498] [django-1.6] urls.py, root_urls.py: Make imports compatible with 1.5 and 1.6. * [b96d793] [django-1.6] control: deps: django-extensions >=1.2.5 (we now really need an updated version). * [c460585] mini-buildd-tool: Make compatible with python-keyring >= 3.0.2. Thanks to Sebastian Ramacher (Closes: 728471) -- Stephan Sürken Tue, 12 Nov 2013 18:55:51 +0100 mini-buildd (1.0.0~gamma.2) unstable; urgency=low Second gamma release. Cumulated minor bug fixes. * [790e162] control: Depend on django >= 1.5.2, needed for new templatetag calls (Fixes: wrong html dist filter under wheezy when not using django bpo) * [a8f47b5] source wizard: Fix/update apt keys for wheezy/jessie/sid * [e30ebbd] postinst: Always set mini-buildd user's 'geco' field to a non-empty value (Fixes potential build failures where code relies on this) * [8458cc7] changes.py: save: Don't use codec.open, deb822.dump() already handles encoding (Fixes save with non-ascii chars) * [11d7580] builder.py: Harden buildlog2status parser (only consider known/needed keys: Status|Lintian). * [2134fb9] changes.py: Fix code that still used '/tmp' to use mini_buildd's tmp dir. * [09da270] daemon.py: Fix keeping keyring tmp files around between init.d restarts. -- Stephan Sürken Sun, 20 Oct 2013 15:13:36 +0200 mini-buildd (1.0.0~gamma.1) unstable; urgency=low Initial gamma release; initial upload to unstable. * [3e16e55] html, port[ext]: Use generic templatetag for options; narrow list of dists based on context. * [486afc3] [devel: sed s/echo/printf/g] * [6300acc] [devel: Add some basic mini-buildd-tool calls to standard check] * [4764a21] html(api_show): Improve rollbacks display. * [84534fc] html(home): Minor design fixes. * [8650b81] doc: Finish up the introduction. * [33b237f] notify: Add subject prefix [mini-buildd-ID]. * [9659806] subscriptions: Minor display cosmetics. * [f829bb3] api(subscriptions): Use 'choices' list for actions (Fixes auto-complete). * [58ed076] gnupg: Fixup some implementation kludges. * [1a27e9d] api: Add 'printuploaders' command. * [c723e66] html(log, api_show): Cosmetic fixes. * [fd54987] python-keyring: Workaround the 'No handlers could be found for logger "keyring"' console warning. * [135c584] mini-buildd-tool: Add note to usage that we use python-keyring. * Closing bugs for good due to the upload to unstable: * Bug fix: "fails to install", thanks to Holger Levsen (Closes: #632955). * Bug fix: "fails to install", thanks to Holger Levsen (Closes: #656746). * Bug fix: "unowned files after purge (policy 6.8) violating FHS (policy 9.1) too", thanks to Andreas Beckmann (Closes: #660939). * Bug fix: "creates system user in /home", thanks to Andreas Beckmann (Closes: #677618). * Bug fix: "When removing distributions, LVM volumes are not removed", thanks to Stephan Sürken (Closes: #617673). * Bug fix: "no space left on device if build needs mor then 4GB disk space", thanks to Ulrich Goettlich (Closes: #607189). * Bug fix: "Please add option not to use LVM with schroot", thanks to Jean Stebens (Closes: #612310). * Bug fix: "please make crypto key parameters configurable", thanks to Marc Haber (Closes: #633074). * Bug fix: "please consider prioritized bld hosts", thanks to Marc Haber (Closes: #638301). -- Stephan Sürken Sun, 06 Oct 2013 18:55:09 +0200 mini-buildd (1.0.0~beta.22) experimental; urgency=low 22nd beta release. Cumulated minor bug fixes, re-work mini-buildd-tool creds/args handling, more convenience changes. [ Stephan Sürken ] * [f185904] source: Add reverse deps. for Archives. * [a331ec6] models: Use non-lethal dependencies flag for all actions (not just check). * [4333220] configure: Add convenience "PCA" action (prepare, check, activate). * [4282e18] Distribution: Enable 'eatmydata' and 'ccache' by default. * [619dda3] Add meta call pca_all (internal testing, auto setup). * [fccbb4f] check statuses: Improve the "check" status display, and show check status on home directly. * [355675a] misc.py: Add UserURL helper class. * [e4d6a8c] mini-buildd-tool credentials: Allow URLs with user embedded, and allow store for multiple users per host. * [965e0d9] mini-buildd-tool credentials: make list/clear accept regexes (instead of acting on all). [ Gerhard A. Dittes ] * [4045ee9] doc/mini-buildd-graphics.svg: Add new drawing "progress". * [3693505] Add image "progress_blue.gif" (thought to be used for blue [header] backgrounds). [ Stephan Sürken ] * [7aa7149] Add example script: auto-setup. * [bbc26d3] html(home): Add progress eye-candy. * [d1aff94] getsourceslist: Always add trailing newline. * [82b950e] mini-buildd-tool credentials: Save after successful login. * [f5e22e8] configure: Add a convenience 'PC' action. * [7ee8d6c] mini-buildd-tools credentials: Add --login, --reset, always save, never save. * [54f12cb] mini-buildd-tool: Make HOST mandatory first positional. * [795ed44] api(stop,start): Add newline for plain output. * [e8271fd] devel: Add mini-buildd-tool to pep8 test. * [105e7b6] mini-buildd-tool: Allow daemon id only as HOST. * [7f9bcef] repository 'debdev' wizard: Only add the 'sid' distribution. * [e154177] mini-buildd-tool credentials: Switch to python-keyring as creds store. * [a4b6e64] examples: Add "dput-wait-for-build" script. * [22f069e] control: b-d on python-argcomplete >= 0.5.4. * [7d5e552] API: Allow multiple key arguments per HTTP GET (allows for multiple select forms). * [49d8789] portext/html: Allow multiple to-distributions. * [0e9a2a1] html: Add js dir and initial mini-buildd.js to static files. * [422756e] port/html: Allow multiple to-distributions (on api_show page). * [9c07067] home(html): Use common js. * [d62e3fe] html/static: Use dir layout like django admin. * [3991366] html: Clean up repo overview & home; put portext to home. * [4877079] builder: sbuild: Use '--force-orig-source' directly (not '--debbuildopts=-sa'). * [a58337a] debug mode "keep": Use generic function, add more files to keep. * [2217572] doc/quickstart.rst: Using repo: Add missing 'apt-get update'. * [a4e6458] builder+packager: Install dsc directly, don't include source in arch-all builds any more. -- Stephan Sürken Sun, 22 Sep 2013 18:23:13 +0200 mini-buildd (1.0.0~beta.21) experimental; urgency=low 21st century 'docs and fixes' release. * [dc1c1c2] AptKey: Skip "existing key" validity check when key_id is empty (regr: re-enables AptKey creation without keyserver). * [75514d7] doc updates * [20b86c9] [devel: Add convenience 'doc' target] * [d22c76d] api:retry: Fix typo in usage. * [e7dc2af] API: Add command "getsourceslist". * [a10c8de] doc: Updates for Quickstart. * [33838a3] [Cosmetic for distribution display] * [aae178d] source.py: Handle "absolut" sources (w/o components or architectures) gracefully. * [061f796] doc/user.rst: Add default layout semantics. * [2057733] doc/quickstart.rst: fix profile link. * [6a23bd8] source.py: Don't warn (just info) when codeversion override is set (as we now set it ourselves when guessed). * [e11e3ce] mini-buildd: Add note about the extra HOST-MainThread-PID files from pidlockfile. * [7da6af2] configure: repo+dists wizards: Only ass for active base sources. * [6e717a2] configure: repo wizard 'sandbox': Allow unauthenticated uploads per default. * [bf786bb] configure: PrioSource wizard: Add all non-base sources (not only *-backports). * [6c2d401] API: Order and group API commands for convenience. * [8fc6bc2] configure: Proper error message for activate() when not prepared. * [ce6c9e4] daemon check(): Never fail, and run all dependency checks. * [09563c0] debian/control: Add Homepage URL. * [14b8b28] doc: Add extra FAQ section for todo/faq/bugs in ech section. * [d85d4ba] doc/admin.rst: Some updates... * [a100ba4] chroots: Add workaround debootstrap wrapper for <=lenny chroots under new sid/jessie-like versioned kernels. * [2cf89d5] configure: Don't implicitly auto-stop daemon on instance changes or activation. * [0c83849] gnupg: Revert one previously added validity check (broke remotes). * [94e72e9] remotes: Pimp up check and failover handling. * [283ffaf] status models: Fix: Run 'on_activation' hook also on re-activate. -- Stephan Sürken Sun, 01 Sep 2013 18:08:14 +0200 mini-buildd (1.0.0~beta.20) experimental; urgency=low 20th 'longest beta ever' release. Fix for django 1.5.2 and more. * [ecf9580] test packages: Update changelogs. * [da080c0] keyring builder function: Minor improvements. * [ded3321] api_show.html: Fix the pool dir link to always end with "/". * [0634295] examples/packages/mbd-test-ftbfs: Fix autotool setup. * [905f79d] examples/packages: Add strapped autotools files so the DSTs can be used as-is. * [aa444ee] Add support to directly build our internal test packages on the home page. * [d73ddb9] mini-buildd.css: Sync colors for 'Prepared' with the configure pages. * [78b1e13] httpd: Directory index: Use '301 Moved Permanently' for requests without trailing "/" to make them work as expected, too. * [25e06c2] webapp: Import django.contrib.auth in method: Fix breakage with django 1.5.2 (sigh). * [1f94b37] source.py: Add msglog support for release file check. * [66909fe] source.py: Improve error diagnostics for check(). * [2c47f07] examples/packages.testbuild: No need to run autoreconf any more. * [9418650] sources wizard: Update all predefined apt keys to long key ids. * [b55420e] gnupg.py: Harden/sanitize gnupg key model's user input. * [6b50080] configure: Sources wizards: Some magic to avoid creation of duplicate apt key instances. * [e833d08] [devel: Trap changelog cleaning, so it's done on errors too.] * [c033973] doc: Cumulated manual updates. -- Stephan Sürken Mon, 19 Aug 2013 14:38:52 +0200 mini-buildd (1.0.0~beta.19) experimental; urgency=low Nineteenth beta. Setup look, feel and usability improvements, fix for new pyftpdlib 1.2 in sid, and more. [ Stephan Sürken ] * [9e786a6] [code] Consistent naming for admin html 'snippet_*.html'. * [c41bc0b] Add some wizards (setup helpers) on the admin index page. * [9081886] devel: Add convenience 'installdeps' target, plus a little Quickstart doc. [ Gerhard A. Dittes ] * [42cc081] mbd_wizard.png: Improved. * [10a21f2] mbd_wizard.png: Improved once again. [ Stephan Sürken ] * [b3d9661] html: Improve admin configuration index page design yet more. * [fd539b0] source display text: Show used archive, skip description. * [f90cd59] devel: Improve the unicode string test (fixes false-pos. for s.th. like "xyzu") * [a67ecdb] configure: Add Ubuntu archives and sources "wizards". * [5acb39e] html: Some '
' to '
' fixes... * [3eeae7d] devel: doctest check: Also run for all models/*.py. * [fec456f] source model: Pimp 'codename' field so you can also express a different release file codename (Fixes Ubuntu backport sources). * [3741070] configure: Implement layout/suite defaults as "wizards". * [45a1704] schroot fstab: Add configurable file fstab-generic, and sync defaults with sbuild's (adds pts+shm mounts, fixes builds that need that). * [8a3b839] rules: dh_test: Honor DEB_BUILD_OPTIONS 'nocheck' flag. * [d14300c] devel: Support 'update_nocheck' target. * [f780edf] repository: Change 'identity' default to 'test' (was `hostname`). * [c1a52f3] templatetags/base.py: Simplify the daemon_is_running tag as filter. * [487aecb] [code] Add generic mbd_get_or_create Model class method, cleanup code. * [3de3bc1] Daemon: Keyrings: Properly use set_needs_update with start/stop (Fixes: Keyring not updated on start() after initial configuration). * [dc34e2d] examples/packages.testbuild: Add jessie. * [97e4f39] devel: Remove/fix some no longer needed/outated code. * [4ab1dda] configure: Add instance/status counts in overview; page cleanup. * [dc4429f] configure: Also show number of status=Removed instances in overview. * [b712856] configure: Add chroot creation wizards. * [b152cad] models/daemon.py: Fix warning text. * [2cb9d5d] pyftpdlib: Support new version 1.2.0 (Fixes FTBFS/breakage on sid). * [81cacdb] configure: Add 'Help' jumpers to admin manual. * [0eb6a19] doc/admin.rst: Add strange lvcreate "can't clear device" bug. * [ce25ded] devel: Fix debconf settings. * [4f2c5ae] [source.py: Fixup some docstrings.] * [bd15195] [models: Better name for sync_by_purge_and_create: remove_and_prepare.] * [ed1f2a5] webapp: Set django loglevel from mini-buildd loglevel. * [c6f4a56] models/base.py: Some cosmetic finetuning on the action messages. * [9052900] Sources: Move the archive check code from prepare to check (Fixes: Won't find new archives without remove). * [1b2eb9f] [code: Move architecture help functions to model Architecture.] * [4b1183c] configure: Add Distribution wizard. * [0fd1516] configure: Add repository wizards for sandbox ("test") and developer ("debdev") repos. * [acdb9be] doc/admin.rst: Add note about the deboostrap/uname 'bug'. * [0a82a36] configure: Distribution wizard: Use predefined default components for different Origins (currently only Debian and Ubuntu). * [c09346a] Add weekly cron to restart mini-buildd (trigger maintenance) * [8cd13bf] Source: Use extra_options to be able to add arbitrary release fields where needed (and support these fields for source pinning). * [0bc12e2] release view: Make django/web not fail in case our custom templatetags raise exceptions. * [b209e03] builder.py: Show APT policy in build logs (apt-cache policy). * [c6ed41d] configure: Use 'filter_horizontal' for all editable ManyToMany fields (much more usable). * [949d96b] models: Skip extra mbd_unicode() setup (with model name, status always added): Code is non-intuituve, and the display actually more confusing than helping. * [0b2e0c3] models: Beautify display texts for Daemon, Distribution and Source. * [92071a4] api: Add new flag NEEDS_RUNNING_DAEMON (avoids confusion with retry, port, portext when daemon is down). * [983cec7] Move keyring package generator from Django admin action to mini-buildd home. * [425ab93] configure: Distribution wizard: Also auto-guess prio sources. * [6299b9b] misc.py: Fix guess_codeversion heuristic for new point release versions since wheezy. * [e548411] source: Set coderversion_override afte codeversion guess. -- Stephan Sürken Sun, 11 Aug 2013 21:55:24 +0200 mini-buildd (1.0.0~beta.18) experimental; urgency=low * [bd61cc5] packager: Fix error handling for bogus changes files. * [8fa5ae9] httpd.py: Cosmetic fix for cherrypy logs. * [2c97e7e] cleanup for debug modes: Add 'http' mode, rename 'django' mode to 'webapp', add global foreground flag. * [2e37d38] httpd.py: Teach cherrypy to serve dir indexes; enable for log and repo browsing. * [3c81856] api(show): html: Add "browse pool" link. * [4d229f4] notify: Always mail uploader when no repo could be recognized (Fixes: No error mail on common "wrong dist" error). * [5caefbb] daemon: Keyrings(): Make work even if daemon model is yet unconfigured (Fixes: not starting up). * [6bd955c] cherrypy: Only log on_screen if foreground _and_ debug is set. * [557031f] cherrypy: Use automatic engine stop on exit (Fixes: no shutdown on early daemon errors). * [20abf8b] cherrypy: Avoid config check warning on unicode host string. * [104984c] [code] setup.py: Fix some more inconsistent single-quote "'" string quoting. * [5e47aca] mini-buildd: Add '--pidfile' support (will make start/stop more reliable). * [ea75cda] init.d: Update to new '--pidfile' support, add 'status' target, cleanups. * [fe1161c] logging: Improve error reporting for exceptions that appear while logging is set up. * [242dbde] daemon.py: start(): Improve message when daemon is deactivated/unconfigured. * [3205492] models/daemon.py: Fix leading newline at GnuPG template default. * [03780ed] remotes, users: Allow changes on the fly (schedule keyring update on changes instead of stopping daemon). -- Stephan Sürken Sun, 14 Jul 2013 13:53:29 +0200 mini-buildd (1.0.0~beta.17) experimental; urgency=low Seventeenths beta. Adds bash completion support + the usual treat of smaller fixes. * [15e246d] Add bash completion for 'mini-buildd' and 'mini-buildd-tool' (via python-argcomplete). * [5a7f118] debian/rules: Don't run in DH_VERBOSE mode hardcoded. * [fda1b31] Document encoding bug, and try yet another proposed workaround. * [a941c91] html: Renice user subscription handling. * [305f831] keyrings: Use dedicated Keyring class to manage the "global" GnuPG keyrings. * [be058be] daemon.py: _More_ temporary debug to catch encoding bug. * [5be17c2] mini-buildd-tool: Fix 'login' detection for new API commands. * [3c6d308] api.py: Make independent from any django includes (Fixes: mini-buildd-tool fails w/o python-django installed) * [8ca5a13] misc.py: CredsCache/web_login: Add "last url" support && general pimp up. * [4f84349] mini-buildd-tool: Improve user friendliness on creds handling. * [b82ead0] cherrypy (log) setup: Add extra access.log, set production config values, fixes wrong 200 OKs on error. * [e3299cd] [code] Mass fix a number of inconsistent single-quote "'" string quoting. * [66949b9] cherrypy: Also deliver *.dsc as text/plain. -- Stephan Sürken Sun, 30 Jun 2013 18:44:53 +0200 mini-buildd (1.0.0~beta.16) experimental; urgency=low Sixteenths beta. Fix two blockers... * [a222820] django 1.5: Set ALLOWED_HOSTS to '*' (omg). (Fixes any http requests when not started with --debug=django). * [4dc1ecb] api.py: Fix broken code in __getstate__ (Fixes api calls with output=python). -- Stephan Sürken Mon, 10 Jun 2013 16:57:04 +0200 mini-buildd (1.0.0~beta.15) experimental; urgency=low Fifteenths beta. New "setuserkey" command, minor usability fixes, and more. * [14715b4] notify: Fix typo in get_subscriptions() (Fixes subscriptions with dist != ""). * [3809641] notify: Use actual distribution (instead of changes' distribution) where available (Fixes subscriptions on non-uploadable dists). * [743741c] api(start,stop): Change needed auth to "ADMIN" (was "STAFF"). * [7bb0f47] api(list): Change needed auth to "LOGIN" (was "NONE"). * [8c67c79] api(logcat): Change needed auth to "STAFF" (was "NONE"). * [0502d98] control: Update Std-Ver to 3.9.4 (no changes needed). * [054bae8] templates: Fix "notes" template, and update po files. * [baf0b87] migration: Fix wrong call of package_find (Fixes rollback handling on migrate()) * [77e8abe] notify: Include msglog in top of mail bodies. * [e710ded] api: Add info message about api call + user before any run. * [58f7790] uploader: Improve default display. * [481a648] mini-buildd-tool: Use '[HOST] MSG' format for daemon message output. * [4bfe8e2] html: Some w3c fixes for p-d-registration 0.9. * [fdb943b] api/html: Add "setuserkey" API command -- let user set its own public key. -- Stephan Sürken Sun, 09 Jun 2013 18:42:01 +0200 mini-buildd (1.0.0~beta.14) experimental; urgency=low Fourteenths beta. Wrap up for django 1.5+p-d-registration (now in experimental). * [720f7ae] unicode: Always use codecs.open(), not open() (might fix some spurious encoding problems). * [43dd341] httpd: Deliver *.changes as text/plain, not text/html. * [6c74932] encoding: Use setup.CHAR_ENCODING global const (to set UTF-8). * [ebeb648] html(registration): Fix some w3c quirks. * [fcf4488] views: Fix missing msglog on error pages. * [1690eca] html(api::show): Nicer error handling for api calls. * [e17dd8f] [daemon.py: port code: Add some temporary debug code for rare/random mysterious encoding exception.] * [d76284f] control: Update version for py-reg to 0.9~. -- Stephan Sürken Sun, 02 Jun 2013 13:42:35 +0200 mini-buildd (1.0.0~beta.13) experimental; urgency=low Thirteenths beta. Make it work for django 1.5 and other fine fixes. NOTE: Will only really work with 1.5 when this is fixed: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=709622 * [6e9da53] debian/control: Argl: for mini-buildd.deb also: Depend on python-django-registration >= 0.8. * [a5ae5ab] mini-buildd.prerm: Improve comment wording why we remove chroots on remove, not purge. * [dc0cce5] django 1.5: Replace deprecated adminmediatags taglib and media_prefix by STATIC_URL. * [24d0c3a] django 1.5: Fix usage of 'url' tag. * [974a991] python-registration: Don't use deprecated default url include. * [bbee152] django 1.5: Use "dist-packages" path for django's admin static files (Fixes: jquery static files). * [667e437] html(api::list): Fix per-repo box boundary. * [d453c5e] django 1.5: pylint: Globally disable E1002 (too many false-positives with django 1.5). * [de9f256] daemon: Protect start/stop with a lock, and show busy state in html when locked. * [c0f48af] notify: Move smtp (email) config from daemon model to '--smtp' command line arg. * [ff8afab] [devel: Cosmetic fixes.] * [a3a97d1] doc: Add note about sbuild bug 706086. * [066c58c] notify: Add signature for all notification mails. -- Stephan Sürken Sun, 26 May 2013 18:22:41 +0200 mini-buildd (1.0.0~beta.12) experimental; urgency=low Twelfths beta. Beside the usual fixes, this adds user registration+subscription support and some yet chroot/repo maintenance code. * [98b87dc] StatusModel/check: Support a 'maintenance' hook, to be run after N days. * [9b5f55e] text: Improve wording on check exception. * [ed0de44] [devel: Add __test_msglog test/debugging method.] * [08700bc] chroot: Add "update+upgrade" maintenance. * [8030e27] html(admin.css): Copy/paste 'messagelist' setup from mini-buildd.css (Fixes debug msgs display in configuration). * [078113e] repository check: Show reprepro's 'check' command output. * [ff77998] repository: Add "obsoleted pkglogs removal" maintenance. * [cd82522] misc: call with sudo: Always use "-n" (non-interactive) flag. * [37157af] chroot: Add "fsck" maintenance (for LVM-backended chroots). * [a4c5cf1] check: Integrate maintenance code into "check". * [3049270] templates: Move mini_buildd/base.html to '..' (so it may also be used by other apps). * [baca33c] Integrate python-registration (user-based account management). * [4c77e5c] creds auth: Use python-registration account login (Fixes: Only 'staff' login works for mini-buildd-tool) * [cd0a73b] api: Support 'login', 'staff' and 'admin' auth types for commands (previously, only 'staff' was possible). * [035a2a6] api: Add user-based package subscription support. * [8f4ea1a] html: Integrate user package subscription. * [309aecd] reprepro: Show command being run in output for migrate, remove and install. * [691102f] chroot: WTF! Gnome3 breaking mini-buildd ;). Fixed. * [0f2e44c] notify: Switch to django's build-in email support, avoid duplicate mails and apply regex-filter on automatic addresses only. * [4f10746] notify: Switch to send_mass_mail (one mail per recipient, no CC spam). * [212130b] notify: Actually add support to email user package subscribers. * [fc0cd1f] repository: Fix dsc url for packages with epoched version (Fixes dsc link and internal rebuilds for such packages). * [e28e591] debian/control: Depend on python-django-registration >= 0.8 (older version would force us to use the extra "site" infrastructure). -- Stephan Sürken Mon, 20 May 2013 18:43:49 +0200 mini-buildd (1.0.0~beta.11) experimental; urgency=low Eleventh beta. Cumulated smaller fixes. * [eb03c81] api(logcat): Push default lines shown to 500 (was 50). * [3a868bf] Regr from beta 10: Broke changelog parsing for python-debian > 0.1.19 (i.e., sid). * [c39368f] doc: Add examples/README. * [1b636a2] changelog: Try to find an _existing_ version for 'dpkg-genchanges -vX' whenever possible (Fixes: all blocks from changelog used for some ports). * [844890a] packager: Fix magic automatic ports for changes with meta-distributions. * [2854b02] debian/rules: Run python doctests (dh_auto_test). * [e28ab71] configuration: Also stop daemon on object activation (Fixes wrong daemon state after change/start/activate cycle (and some code redundancies)) * [5d151cb] changes, packager: Fix code wording: archive->pkglog. * [d4ba48a] ftp/incoming: Support cruft file removal (on daemon start). -- Stephan Sürken Sun, 28 Apr 2013 19:56:48 +0200 mini-buildd (1.0.0~beta.10) experimental; urgency=low Tenth beta. Improved notify (email) support, meta distributions, and yet more cumulated smaller fixes. * [f3244fc] defaults: Code cosmetic: Don't explicitly set default values. * [d684052] model stati: Improve human-readable "last changed" status wording. * [28247eb] doc/user.rst: Add note about lintian being run from host. * [0507cab] Layout: Support for (global) 'Meta-Distributions' (allows to configure uploads to distributions like "unstable"). * [acd69c6] misc: Abstract access to package logs via new 'PkgLog' class. * [37a474a] examples/packages.testbuild: Use unstable as default suite. * [224a50b] notify: Fix: Actually use configured 'email_address' as FROM address. * [4f261b6] notify: 'body' arg now just (unicode) string (not MIMEText) (moves all email related code to mbd_notify() method). * [f9352dc] notify: Use generic format for package-style notify subjects. * [ef753e4] notify: Add support for package migration and removal. * [0a26243] notify: Add magic to find the correct original 'Changed-By' (for automated ports). * [ab06495] mini-buildd-tool: Remove support for 'X-Mini-Buildd-Error' HTTP header (was already generically replaced by 'MsgLog' HTTP headers). * [c07a98a] api(show,list): output=plain: Fix newline handling with multiple repos. * [1aaa0c3] MsgLog: Use base64 to transfer logs via HTTP header (fixes possibly non-ascii log lines). * [98bac26] MsgLog: Implement missing log() method, and fix exception() method. * [63cf639] MsgLog: Add support for api(install,remove) and notify. * [22069e8] daemon: Change "smtp" default to 'localhost:25', not fqdn:25 (works for the default exim4 install). * [57268b3] keyring package: Support key removal on package removal. * [18e7939] html(admin): Update "daemon stopped" warning message and restart link. * [1685ac1] changes: Fix: Some files not deleted from incoming (regression introduced with [18730f7]). * [bbe6660] html(api_show): Convenience: Use selector for distribution to port to (not bare text). * [3dd8942] api(portext): Add external URL to changelog. * [d3a0401] tmpdir: Support "keep" debug options for port tmpdirs also. -- Stephan Sürken Sun, 21 Apr 2013 21:35:59 +0200 mini-buildd (1.0.0~beta.9) experimental; urgency=low Ninth beta. Cumulated minor bug fixes. * [30faee4] html: chroot: Beautify/improve extra_options help. * [40ad88d] source.py: Fix typo/regression from the 'MsgLog update'. * [4f937c6] Distribution: Update/fix hint how to set up 'eatmydata'. * [ea68a13] Daemon: Pimp up last packages/builds default value to 100 (was 30). * [3605362] Daemon.py: Fix last packages/builds not persisted on model change. -- Stephan Sürken Mon, 01 Apr 2013 22:43:42 +0200 mini-buildd (1.0.0~beta.8) experimental; urgency=low Eights beta. Two bug fixes. * [dc45687] html(log): Add link to download 'changes' directly. * [209d476] changes: Fix: Get 'magic' flags from top level changelog entry only. * [82f3b00] migrate,remove: Fix a couple of places where 'version' arg was not looped through (Fixes: Migration of packages w/ mult. versions). -- Stephan Sürken Sat, 16 Mar 2013 11:51:08 +0100 mini-buildd (1.0.0~beta.7) experimental; urgency=low Seventh beta. New 'start'/'stop' API commands, web app usage improvements, and some more bug fixes. * [4eebc14] doc: Updates for the admin manaul. * [90fc7ff] status: Decouple daemon start/stop status from Daemon models "active" status. * [651d804] api: Add output type "referer" (allows to improve web UI on API calls). * [3c0766a] Add new module "msglog" to cope generally with logs that are also user messages. * [bf29d06] html: Embed django messages in all mini_buildd pages. * [067cd74] daemon.py: Some cosmetic fixes for pylint 0.27. * [77e0c11] daemon.py: start/stop(): Update code for customized log. * [b80c4a7] api: Upgrade to MsgLog and remove code redundancies. * [1c18d4d] pickle: Always pickle with the highest protocol (status, last*, user creds). * [92051f9] mini-buildd-tool: Improve/fix magic when to char-encode to preferred user char encoding. * [8b72ef7] api(mini-buildd-tool): Fix positional argument names separated by hyphen (f.e. "to-distribution" is now "to_distribution"). * [ad2c026] http(api): Update to msglog support for the error case. * [e631205] api: Upgrade all cmds to msglist. * [2e6ab5c] html: Put getkey API call to footer, replacing top level "Archive Key" button. * [e72c30f] html: Add API usage reference index. -- Stephan Sürken Sun, 10 Mar 2013 21:06:41 +0100 mini-buildd (1.0.0~beta.6) experimental; urgency=low Sixth beta. Some bug fixes; new "retry" command and updates for logs. * [f157f33] builder: BlockQueue: Include pending items in 'load' computation (Fixes/Improves buildrequest distribution). * [3724889] examples: Add 'schroot-cleanup' example script (remove code from ./devel). * [733ab5f] chroots: On debootstrap, generate and use keyring from associated source to authenticate archive (General fix; especially fixes etch chroot prepare under sid). * [8919572] doc: Updates for the admin manual. * [533a27f] ports: Always include last two changelog blocks in changes. * [ee76269] html(logs): Also show changes. * [60e8908] packager: Purge '_failed' logs when the same package version succeeds. * [18730f7] logs: Only archive changes and buildlogs for "installed" packages. * [900cb28] API: Add "retry" command, and add call support to log.html for failed package versions. -- Stephan Sürken Sat, 23 Feb 2013 17:12:55 +0000 mini-buildd (1.0.0~beta.5) experimental; urgency=low Fifth beta. Bug fixes/convenience only. * [3b25f54] html/css: Fix 'logo click area'. * [940c7ca] debian: Improve default file's debconf handling. * [0d9fe91] daemon.py: Add DebianVersion class to abstract (port) version generation (Fixes: Auto port version for +2,3,4 revisioned packages). -- Stephan Sürken Fri, 15 Feb 2013 14:52:59 +0000 mini-buildd (1.0.0~beta.4) experimental; urgency=low Fourth beta. Mainly initial efforts of the manual (re)write; already includes a fixed basic structure, plus a heap of docs dumped in as FAQ-like items; hth, though it's not nearly finished yet. * [8bfa4cc] setup.py: Use 'sphinx-apidoc' when available. * [fecf632] Add initial proper documentation (main structure, intro, admin and user manual). * [e1797a5] debian/rules: Add (inactive) snippet to create latex/pdf docs. * [bc93b4b] html: Add user log-in information to every page (right-top). * [149f01a] doc: Make logo work when docs are viewed stand-alone. * [0e38c00] doc/text: Agree to use 'mini-buildd' not 'Mini-buildd' everywhere. * [392f809] status: Phase out some more glitches. * [9ff4ba9] Wording change: Unprepare(d) -> Remove(d). We also use even more colors now... * [0f06eda] Add default layout without rollbacks. * [885c2f1] BlockQueue: Add support to show number of pending items (affects builder status box title). * [34df94c] doc: Add FAQ entry for foreign chroot creation; add needed packages to Suggests. * [39be56c] devel: Add "doc" target. * [8bc1dc4] doc/admin.rst: Add glossary example. * [3c93949] debian/mini-buildd.postinst: Allow "/" in custom mini-buildd options. Thanks to Tzafrir Cohen (Closes: 699086) * [0bd3b58] .pylintrc: Update generated members exceptions. * [33f6941] Users: Handle possibly missing uploader profile gracefully. Thanks to Tzafrir Cohen (Closes: 699196) * [2413d72] buildrequest: Detect missing files from dsc early (improvement+workaround for stalled sbuild) * [519bbbb] doc/introduction.rst: Mostly finished. -- Stephan Sürken Sat, 09 Feb 2013 11:37:52 +0000 mini-buildd (1.0.0~beta.3) experimental; urgency=low Third beta. Convenience release: Status handling improvements, some eye candy and more. * [bebb9ca] html(home): Improve active package/builds status. * [2804ef7] Make builder/packager top level logic more fail-safe on item clean up. * [13ce63a] misc.sose_call(): Log call output in case of error. * [24a8f85] api(status): Show active packages and builds. * [160ecb6] api(list): Add arg '--distribution' to regex-limit on dist; add "Component" to the displayed items. * [8985396] api(migrate,remove,port): Add (optional) arg '--version', and generally handle multiple per-dist package versions (via components). * [3caecef] Improve display name for Distribution, Repository and Remote models. * [8160a4f] Daemon, Suite, Repository: Add regex-validation for resp. model identities/names. * [edd51f8] html(home): Renice Repository/Chroot/Remote lists. * [02ebd2a] Repository: Forbid changing identity on an existing instance. * [19024e3] models: Make instance display strings more generic, and better (tm). * [c675911] html/css: Add colors for admin actions (activate, unprepare, deactivate). * [01ca74f] misc.py: log+doc cosmetics, add meta func dont_care_run(). * [c90153f] remote: Add chroots to display name. * [e7112ad] mini_buildd/packager.py: Fix wrong syntax on exception text format. * [1a94a72] Improve status model handling (Fixes long waits on start-up, some possible status glitches). * [272dd60] reprepro: Avoid parallel reprepro calls (Fixes possible locking errors). -- Stephan Sürken Wed, 30 Jan 2013 17:11:36 +0000 mini-buildd (1.0.0~beta.2) experimental; urgency=low Second beta release. For the most part miscellaneous cumulated bug fixes. * [2290bbe] examples/import-08x: Add 08x importer script. * [c9dd542] api+webapp: Some code cleanup. * [769bad8] reprepro: Allow udeb packages to be installed. * [4f4e447] archives+sources: Add convenience actions to add local and well-known Debian archives, well-known Debian sources. * [1e28b62] debian/control: Ensure 0.8.x *-common package is really gone when mini-buildd 1.0 is installed. * [2854685] distribution: Change default resolver to "aptitude" (was: "apt"). * [355893e] builder: Use env. DEB_BUILD_OPTIONS='parallel=N' instead of 'd-p -jN' (Fixes: Builds for <= etch). * [9ac9f56] source: Improve codeversion guesser (Fixes: Wrong guesses for '4.0r8' (<=etch) revisioned point releases). * [fa09283] source: Workaround for strange django 1.4.3 behaviour (Fixes: Adding new sources with django >=1.4.3). * [4aa25b4] Enforce 'directory' notation (exactly one trailing slash) for archive URLs (Fixes: Possible duplicates). * [9bcd871] devel: Better check for needed extra check progs (Fixes: 'check' not failing if appr. progs not installed). * [ee0fa83] packager: Add extra pre-check to assure version > current in the dist to build for. * [b0ce846] html: Another round of w3c conformity fixes. -- Stephan Sürken Fri, 11 Jan 2013 10:26:16 +0000 mini-buildd (1.0.0~beta.1) experimental; urgency=low Initial beta release. Many fixes, but also two important new features: - API, usable via web or command line tool; splits Debian package 'python-mini-buildd' (user client). - Port code rewrite (enabling rebuilds, internal ports, external ports; fixes dependency on source deps). Detailed dch changes below: * [3ac38c7] Add command line client "mini-buildd-tool"; move 'mini-buildd' daemon to sbin/. * [6aa4181] .pylintrc: Don't print info messages for in-code-disabled warnings. * [dfb18e9] Remove obsoleted and outdated files: debian/99mini-buildd, debian/TODO, debian/NEWS.Debian, debian/README.Debian. * [bb05806] Rename NEWS to package-specific mini-buildd.NEWS. * [559cdf9] debian: Split package in 'mini-buildd' and 'python-mini-buildd'. * [bdb883b] debian/setup: Fix doc and manual generation and installation. * [55ea3eb] httpd.py: cherrypy: Explicitly disable engine autoreload. * [004a5e1] misc.py: Add CredsCache() class and web_login() function (for later use in mini-buildd-tool command line client). * [8a8b2bc] views.py: Bugfix: Return correct HTTP error status for custom 403,404,500 handlers. * [50bedb3] misc.py: Renice console logging: Use one-char level name (D: debug msg, E: error msg). * [0827364] misc.py: Use dedicated class 'misc.Distribution' for dist string parsing. * [9ba4f18] [devel] .pylintrc: Some more adjustments. * [e5c5e9c] Fix buildlogs paths to: REPOID/[_failed/]PACKAGE/VERSION/ARCH * [375a7a4] daemon.py: Do not run check on startup unless daemon is active or on auto_reactivate. * [2881ed4] Implement Web API. * [cb20687] Default layout: Add 'snapshot' suite. * [acfd29c] API: Implement confirmation (remove and migrate). * [b0b51f1] css, templates, templatetags: Fix prefix from "mb" to "mbd" (sync with the used python code prefix). * [04e7b28] Update/beautify some web icons. * [9146656] .pylintrc: Relaxing regex for functions. * [f1fc23e] install(), remove(), migrate(): Fix corner cases, improve web GUI. * [3ba893c] API http status: Use 405 (not 500) when syntax-correct call fails. * [8ad32dd] Auto-rotate daemon log file. * [1fa99f6] views.py: API: Fix char-encoding for text/plain output. * [fd2a1d7] api: Add "logcat" call. * [0a11a88] remove some obsolete debug output. * [dd6fe71] Add api_show() link to last_packages. * [8a0b2d5] API: Add "port" call. * [3790efc] api_show: Add dsc url. * [6900c08] api.py: list: Add '--type' arg. * [9927e58] api/web: Generically allow call refining with all api call args. * [a34966f] status: chroot list: Use codename first, then arch. * [b4a6390] calls: Nicer logging of command calls. * [f7b91e9] tmp: Use dir in mini-buildd's var dir (~/var/tmp), not system default (/tmp). * [d95df2f] changes.py (Changes.add_file): use dict.setdefault. * [7066296] models/repository.py: install(): Minor order fix for better exception. * [dea4b6d] strip_epoch: As misc function. * [c8e482f] porter.py: Implement package porting using 'raw dpkg-dev' calls (thus makes any package port work, independent of source deps). * [8b66b31] builder: Fix: Avoid key exception in log in case Sbuild-Status is not there (i.e., sbuild failed hard) * [bdec9dd] ports: Deliver changes directly to incoming queue, not via ftp uploads. * [2fad854] Put KeyringPackage class to daemon (obsoletes porter.py). * [47b0061] Optimize default layout's rollback # (again). * [5c24e25] Gen changes file names at one place only. * [ca187d8] log_exception: Use in _all_ appr. exception handlers. * [78c5252] pylint: Fix some new warnings emerging with version 0.26. * [e4dfe67] changes: use type property. * [5d54ab3] Inject daemon object to builder and packager. * [e9ca201] [debug mode] Rename "builder" debug mode to "keep". * [fc4cc4e] [debug mode] Add debug option 'profile'. * [de8ff10] html: Some cleanups. * [08bb58d] Fix up porting API and code (internal ports, rebuilds, keyring ports, external ports). * [7096db4] [checks] Run doctest on all *.py (except models); add *-tool to pychecker check. -- Stephan Sürken Wed, 19 Dec 2012 12:10:59 +0100 mini-buildd (1.0.0~alpha.8) experimental; urgency=low Adds the automated rollback distributions. * [6dc5826] postinst/fstab: Bind-mount whole '~/var' (not only '~/var/spool') in builds (fixes optional %LIBDIR% support, f.e. needed for ccache). * [679b58c] Add support for automated rollback distributions. * [98b883e] [devel]: Add extra target 'chrootclean'. * [c26d848] porter.py: [devel] Remove local debug uri from comment. * [807d3ad] misc.py: Rename setup_test_logging() to setup_console_logging(), and parameterize level. * [3d17248] misc.py: Add 'ftp' proto to builder state string. -- Stephan Sürken Thu, 01 Nov 2012 16:13:18 +0100 mini-buildd (1.0.0~alpha.7) experimental; urgency=low This release re-implements the magic auto backport feature, and has galactical number of "very fine other fixes". * [a7ab8c5] gnupg.py: TmpGnuPG: Switch to context manager solution to clear temporary dir. * [5a73f97] [devel] Include PYLINTRC to env (./devel); fix and cleanup 'packages.testbuild' script. * [129ddaf] Implement magic auto backports (per magic changelog line). * [492b74f] builder.py: Don't aquire languages in builds on 'apt-get update'. * [5e215ef] [defaults]: Don't build keyring package for 'experimental' in the 'Default' layout. * [d6c558e] models/repository.py: Add example how to add "eatmydata" to builds. * [7563812] models/daemon.py: Fix some hardcoded values in '.dput.cf' generator. * [3926b44] changes.py: Fix building for epoched package versions. * [9df0c18] [doc] doc/conf.py: Fix generation of models graphic via graphviz. * [a41d023] Use debhelper 'sphinxdoc' extension (fixes redundant static .js files in manual). * [8fb064e] debian/control: Use one dependency per line (cosmetic). * [7b3de57] debian/control: Correctly use ${python:Depends}, and remove unused pre-depends. * [aa9f070] debian/control: Update to stds-ver 3.9.3 (no changes needed). * [2d49929] Produce a mini-buildd.1 man page with help2man. * [d994bd7] lintian overrides: Ignore some more false positives. * [bea5897] doc/index.rst: [cosmetic] Fix two warnings. * [2744533] Drop unused mini_buildd/fixtures directory. * [d03a63d] reprepro.py: Hardening reindex. -- Stephan Sürken Mon, 22 Oct 2012 21:07:18 +0200 mini-buildd (1.0.0~alpha.6) experimental; urgency=low Universal 'typo fix' release: * [8d3d15c] [devel] misc.py: log helper function: Fix for to work for 'module' __main__, and omit syslog. * [bbf1f9a] changes.py: Fix typo on chroot check() call (effectively disabled any builds;(). -- Stephan Sürken Tue, 02 Oct 2012 13:42:32 +0200 mini-buildd (1.0.0~alpha.5) experimental; urgency=low Worldwide 'configuration convenience' release: * [69df874] devel: Add 'pyenv' target; workaround pylint warning with new python-debian. * [87a7e8f] changes: Add support to detect magic cl lines for 'backport mode', 'auto backports'; implement 'backport mode'. * [5204cfd] Automatically stop/restart running daemon on config changes. * [72ba9ef] configuration: Use buttons for admin actions, and other cosmetics. * [a533b87] Action logging cleanup (less is more); improve "check" on Source. -- Stephan Sürken Wed, 19 Sep 2012 18:30:40 +0200 mini-buildd (1.0.0~alpha.4) experimental; urgency=low Adds help texts for most important model fields, and various minor fixes: * [20e6645] Show GnuPG long id and fingerprint on main page. * [84c47fc] doc: Daemon: Add help text for gnupg template field. * [1edd2b4] devel: update=build+install: Only build snap when changelog is unchanged, and restore changelog. * [c0dcb1a] changes.py: get_files(): Don't fail on zero files; save(): set sha on after save. * [109438c] packager, builder: Improve error handling for failed uploads and failed builds. * [c89b69b] Default layout: Build keyring package for suite experimental. * [51268fa] doc: Add/improve chroot fields online help. * [205d707] doc: Add/improve daemon fields online help. * [f8a1a70] doc: Add/improve gnupg fields online help. * [48b51e8] doc: Add/improve repository fields online help. * [87ea8d8] doc: Add/improve source fields online help. -- Stephan Sürken Tue, 11 Sep 2012 13:18:19 +0200 mini-buildd (1.0.0~alpha.3) experimental; urgency=low The "chroot" release: Supports directory/union chroots, plus expert support for custom debootstrap command: * [a62d373] Add support for directory/union chroots (DirChroot). * [0eacc21] debian/mini-buildd-sudoers: Fix typo (missing ',') (temp. broke lvm chroots). * [334c986] reprepro: Add stderr shown to propagation and removal results. * [5abe58e] Remove 'compat08x' support ("load 08x.conf"). * [8a8ec07] mini-buildd: Restructure/renice usage help. * [03a933c] models/base.py: Enable (and support key:value type lines) 'extra_options' field for all models. * [e24c5ee] chroot: Support selecting custom debootstrap command via extra options (experts). * [0119c8a] Cleanup django admin interface after 'extra_options' inclusion. -- Stephan Sürken Thu, 30 Aug 2012 17:48:44 +0200 mini-buildd (1.0.0~alpha.2) experimental; urgency=low * The "todo" release: Tackles all forgotten small in-code todos, fixing quite some caveats on the way: * [d4f759c] Fix/improve archive origin and repository description string. * [9b7a6d0] Properly generate the apt/preferences file. * [45ff6f3] builder: Always show generated 'sources.list' and 'preferences' in buildlog. * [d5da158] Properly compute internal source dependencies and preferences. * [ad87921] sources: Use available components only when configured in distribution. * [df67ce1] Sort components (so that "main" is always first); fixes reprepro's default guessed component. * [8720d60] builder, packager: Cosmetic: In description strings, put status back to front (much more readable). * [bdaeccc] packager: Treat "skipped" build result status correctly for lintian check and reprepro installs. * [563a709] builder/sbuild: Sign all Debian *.changes from builders (with mini-buildd's key). * [b5e4293] chroot/builder sudo workaround: Remove /etc/sudoers in snapshot before actual package building. * [6a9edb9] builder.py: Add log_exception in internal error (exception). * [10f66fa] debian/mini-buildd-sudoers: Add "/bin/mkdir", and clean up (make sections for the different uses). * [32edef1] models/chroot.py: Fix rollback when debootstrap fails. -- Stephan Sürken Mon, 27 Aug 2012 16:05:36 +0200 mini-buildd (1.0.0~alpha.1) experimental; urgency=low * [eb5204c] ftpd.py/doc: rm load options todo: not really a todo. * [e4ed62d] keyring packages: Open template files with codecs assuming UTF-8. * [fec92bd] packager.py: Properly implement && document Lintian QA check. * [0f6dd8c] changes.py: Get rid of extra get_or_empty() method (use dict-builtin get()). * [0fe59ee] keyring package: Fix all lintian errors and warnings. * [7049b02] templates/mini_buildd/package_search_results.html: Text typo fix. * [33e82a4] packager, changes: Add bres_stat property, and renice notify email body. * [6a2d198] Bugfix last_package|builder persistence: Pickle extra classes with string values only. * [7e05765] daemon,packager: Put top-level packager logic to packager.run(), and clean up daemon invalid changes error handling. * [97df22f] lib/*: Remove all ye-olde 0.8.x script cruft from package. * [30f0e12] debian/*: Provide upgrade support from 0.8.x packages. -- Stephan Sürken Wed, 22 Aug 2012 20:37:27 +0200 mini-buildd (1.0.0~alpha.0) experimental; urgency=low [ Stephan Sürken ] * [9c5b6ac] debian/mini-buildd-bld|common postinst/postrm: Use adduser (not sbuild-adduser), and userdel (not deluser). (Closes: 632957) * [2f6760a] .gitignore: Update for setup.py and debian/. * [aca22db] debian/mini-buildd-bld.postinst: Avoid adduser output conflict with debconf. * [1ef9c9a] shellconf2python: Add coding && symlink to 'shell style' shell config to make it importable in python. * [fa1afd0] examples/testbuild: Dont check sig with dput for testbuilds. * [6e62d4e] daemon: Add a webserver thread running a django app. * [e018ced] Add initial django models. * [73081ed] Add initial urls for django webapp. * [4c2fdb1] Add initial views for django webapp. * [e9c9101] Add webapp settings, and embed in build system. * [6ebe074] webapp: updatess, and directory layout change * [35709b5] webapp: various changes. * [46c02bd] mini_buildd/options.py: Add option: '--home' * [b8e0fe7] We don't need extra python symlink for old config. * [6d1ccfe] mini_buildd/fixtures: Add initial set of fixtures. * [d0cc191] mini-buildd: Use --home option for iwatcher. * [857902e] mini_buildd/models.py: Several smaller model fixes. * [f39a94a] Add support to import/export old 08x config with the admin interface. * [e40d9b5] debian/control: Add djange dep for -rep. * [c0a1574] setup.py: Also install fixtures && templates. * [4d49e65] mini_buildd/options.py: Add --instdir option. * [c1637fb] mini_buildd/options.py: Add database --import/export options. * [560047a] mini_buildd/options.py: console_log not used, removed. * [252a91b] mini_buildd/options.py: optparse: Use "count" for -v, -q. * [fe0bc23] mini_buildd/webserver.py: Diverse in webserver and django class. * [7f5d2a4] mini_buildd/webserver.py: django: Add some preliminary admin commands methods. * [859a9f9] mini_buildd/options.py: Remove support for daemon config file (we won't need this). * [0258efb] mini_buildd/webserver.py: Use 'debug' for django class only. * [9965eb5] mini_buildd/options.py: Don't use extra setDefaults call. * [5db831b] mini-buildd: Actual code for --import-db and --export-db. * [b330ccf] mini-buildd: Rename --*-db to --loaddata, --dumpdata like in django admin; really complety implement them, and remove obsolste models. * [f52d01b] mini_buildd/admin.py: Obsoleted: import/export 08x models. * [c6c1c6f] mini_buildd/__init__.py: Add package import list to __init__.py. * [ffb5725] mini-buildd: Update py code to new __init__.py. * [cefab3e] mini_buildd/options.py: Some options fixes. * [3e187f7] mini_buildd/options.py: Simplify logging code, put it all to options. * [5c3c930] mini_buildd/options.py: Add --bind option, and set default port to 8066 (iana-unassigned). * [97edd75] mini_buildd/webserver.py: Django: Always run syncdb on init. * [ed9d748] mini_buildd/views.py: Add a /graph_models/ view (using django-extensions). * [523cbe4] mini_buildd/*.py: Quoting fixes. * [2a2da85] mini_buildd/webapp.py: Separate webserver && django app (webapp). * [23050cb] .gitignore: Ignore devel-home/ * [c5d6f1b] setup.py/version: Automagically get version from debian changelog. * [0eca403] *.py: Update all py code to encoding utf-8 according to PEP-0263, emacs style. * [1903c45] *.py: py cleanup: Fix all imports to be qualified. * [49e5ce9] mini_buildd/webapp.py: Fix: verbose=0 for syncdb. * [c0a2f37] mini_buildd/root_urls.py: Add workaround for squeeze/django 1.2 * [ba16288] mini_buildd/options.py: Force django logging to user our logger config. * [05034ad] mini_buildd/webapp.py: WebApp: Use inheritance, not has_a. * [56510fe] setup.py: Update for qualified imports. * [6377267] debian/*: Upgrade to dh_python2. * [7797187] debian/control: Assorted fixes to dependencies. * [7225005] mini_buildd/webserver.py: Add Django dev web server. * [952a254] mini_buildd/fixtures/mini_buildd.default.json: Don supply a default fixture for now. * [2db7e34] debian/control: b-d: Add missing python-debian (now used in setup.py). * [d1ecba3] mini_buildd/webapp.py: Put config to rep/, no need for extra web/ directory. * [b350d61] lib/mbd-update-rep: bassh2py: Subdir prep. * [c827ff6] lib/mbd-update-rep: bash2py: .mini-buildd/README. * [208261e] lib/mbd-update-rep: bash2py: reprepro config. * [9a5e4b5] mini_buildd/templates/mini_buildd/repository_detail.html: Fix for model change. * [4b75ea4] mini_buildd/models.py: Some more helpers. * [60806f0] lib/mbd-update-common: bash2py: GnuPG key generation. * [9a68ae2] mini_buildd/models.py: No longer limit Repository to one object. * [5163894] mini-buildd: Re-enable reprepro signing. * [5949168] lib/mbd-update-common: bash2py: dput.cf generation. * [c8fc3ac] lib/mbd-update-common: We won be needing (even convenience) .profile patching support any more. * [bdbc963] lib/mbd-update-common: bash2py: GnuPG pub key. * [a54b127] lib/mbd-update-rep: bash2py: Make setup dirs per-repo, and gen pub key auto key file. * [9ba1e90] mini_buildd/misc.py: bash2py: Add codename2Version (not yet deleted from bash lib). * [ef66530] mini_buildd/models.py: Add "mandatory_version" template field for suite. * [cf014fb] model.py: Add repository.prepare(), move code from Main. * [115f5bd] lib/mbd-update-rep-html: lib/mbd-update-rep-html: Remove converted/ no longer needed. * [433b9f0] mini_buildd/templates/mini_buildd/base.html: Add "Home"-Link to base template. * [30e000c] mini_buildd/templates/mini_buildd/repository_*.html: Remove some obsolete items, cleanups. * [78998ab] bash2py: mbd-update-rep-html. * [c8dcc28] mini_buildd/webapp.py: Fix: make sure db path always exists. * [f88510b] mini_buildd/models.py: Put ye-olde README to models, and fix path. * [1834182] mini-buildd: Update watcht/installer to cope with multiple repos. * [440447d] mini_buildd/models.py: Fix incoming path for reprepro. * [33fd786] mini_buildd/reprepro.py: Add initial reprepro abstraction. * [eba73d6] Add development test runner script. * [f0b3fb3] devel: Number of smaller fixes; add "generic" 08x.conf to import. * [297a4df] control: Add python-pygraphviz as rec-dep. * [cac6282] reprepro: Initial support to create reprepro repo automatically. * [2e73ab0] control, *: Initial update to use one binary package only; take *-common as template first. * [6fa0bf5] Blind-Merge old binary package -rep into mini-buildd. * [af1c1a6] Blind-merge old binary package -bld into mini-buildd. * [4db698f] Update .gitignore for one binary package. * [41a0bf3] Initial fixups: Make the package build again. * [70c773b] Obsolete cron, and fixup some dependencies. * [296cd76] debian/*: Mass-fixes: debconf, package installation, reconfiguring. * [28cc7d6] Put config into top-level $HOME. * [de417eb] [cosmetics] * [09aa3c0] base.html: Template fixes. * [fa34543] Set up handling for initial 'admin' user and password updates. * [b0efdbb] fix: -v -v should not be default, but no options. * [0ecc07a] devel: Print command so we can just cnp it for debugging. * [f5381d4] models: Update to the concept of Remotes, and local Builders. * [1ce96d9] Add support to create a default config on the fly. * [4d10698] devel: Some more fixes to the devel script. * [2451ddd] Improce create_default function. * [6b02ca5] Add support for CherryPy as internal web server, and make CherryPy default. * [24665e2] some more debug log... * [5a84301] path, incoming_path: Use get()ers, not attributes. * [d8f6de8] schroot: Initial schroot impl; incorporate script mbd-setup-lvm. * [c6cac63] debian/*: Remove now-obsolete lvm loop support. * [38daf8d] Docs: Move all existing (old) docs to dir 08x/. * [cb9823c] setup-chroots: Initial conversion of shell script. * [be7cd93] install: Remove converted setup-chroots script, cleanups. * [724f0be] devel: Put test home to '..' to avoid problems with large files in the Debian Source Tree. * [812501c] python: Switch from optparse to argparse. * [a64b994] Initail support for ftpd thread. * [c214054] [cosmetic] * [9b4f9ce] gitignore: Clean up and fix for test package upload cruft. * [f34a9f9] ftpd: Switch incoming queue to ftpd. * [8395a54] ftpserver: Add forgotten file for ftpd. * [7f75102] misc.run_cmd: Fix to throw exception on error, and update calling code. * [d8e5d53] lvm_loop, get_loop_dev: Fix to use realpath() on paths. * [efff0df] Remove support for --no-act argument. * [a2c6ccb] Style cleanup: Don't use global "args." nearly anywhere (still left: models.py). * [003fbd2] models: Fix: Don't use global args any more. * [6601585] arguments: Move to mini-buildd main script completely. * [b7f2b9a] Put log code to main, and use own loggers per module. * [36d4388] views: Fix wrong logging code. * [3176c4e] Main() code cleanup. * [fa6145f] Add explicit "debug" mode. * [a1e60af] Don't try to configure django's logging for now (maybe good ;). * [74e8e57] python module/class name cleanups. * [8d6ee4d] ftpd: Coinfigure pyftpdlib to use mini_buildd logging. * [0ce5992] fix: Remove left-over debug print call. * [0eaac85] logging: Make formatter fit better after log renewal. * [76807c8] ftpd: Make files RO as soon as they arrive. * [b29c590] misc: Add little helper class to bind args, update http, ftpd. * [58ae3d0] ftp: Rename to IncomingFtpD, and fix default port. * [6736da2] ftpd: Use one ftpd on home with different perms for /incoming && /repositories. * [e10f5fe] Obsolete installer+iwatcher in facvor of dispatcher / ftpd. * [76062f6] main, dispatcher: Initial support to gen build requests from source uploads. * [fbf947c] incoming: Also queue *.buildrequest and *.buildresult files. * [d276f1f] ftp upload support, builder stubs, update changes file handling. * [91e7d2e] obsolete two more scripts * [1ef057a] Various code fixes in dispatcher. * [df71e1d] dispatcher: Imporove spool_path handling. Add untar for build requests. * [851a1ad] test package: Simplify, make work w/o ui-auto macros, run w/ DH_VERBOSE. * [f98fd8d] test build script: Upload to current base dist per default. * [22cb104] test packages: Move to subdir examples/packages/. * [271d545] testbuild script: automaticall chose fitting auto-backport dist. * [d31ffdd] devel script: Put default debug/test home to /tmp/. * [c9a73fd] Cleanup and improve the test builder script. * [22a8b13] test build script: Always purge, add option to re-upload. * [6535b8f] It builds again. * [8b0a73d] sbuild: Use subprocess directly. * [0ac5e35] models: Add lintian configuration options. * [5ff01f6] buildrequest: Support lintina mode. * [cb6adb1] builder: Add configured lintian support, and more builder clean ups. * [5700e6d] Add globals.py. Use it for global DEBUG flag only initially. * [be9dd7f] builder: Create build results, and many other fixups. * [c75a7d3] Add new test package: mbd-test-archall. * [b7f0776] builder: Gracefully handle skipped packages. * [4e283d3] builder: Clean up sbuildrc. Add conf option Build-Dep-Resolver. * [ead093f] models, builder: Make build dep resolver configurable per repository. * [b7669b2] builder, models: Support arch_all setting. [ Gerhard A. Dittes ] * [6d71a90] mini_buildd/webapp.py, mini_buildd/schroot.py: add some documentation in order to be prepared for the introduction of Sphinx. * [98ab2b5] Added (customized) base files for Sphinx. * [bc8448a] Add Makefile created by 'sphinx-quickstart' -- for convenience. * [8f36088] After years of searching... finally, we need 'python-setuptools' to build Sphinx-documentation in a comfortable way. * [68a8334] Sphinx: show mini-buildd logo. * [26c3ac1] Sphinx: show mini-buildd favicon. [ Stephan Sürken ] * [821e217] devel script: Add 'clear', and rename 'reset' to 'purge' * [61de022] devel: Fix: Forgot to update call for reset. * [bd9e2fe] dispatcher: "Changes" refactor, buildrequest && buildresult file name fix ups. * [32bbf6c] buildresult: Only try to attach .tar when there is an arch.changes (fixes ftbfs). * [df10091] test packages: Add "FTBFS" test package. * [53109b4] dispatcher: Fix path for repository spool dir. [ Gerhard A. Dittes ] * [a478e36] doc/conf.py: use version provided by "mini_buildd/__version__.py". [ Stephan Sürken ] * [c4cdb5c] schroot: workaround for sbuild bug #608840: Get root via sudo. * [6624023] changes.tar(): Support to add arbitary files to tar. * [a0b7f13] dispatcher: Initial support to bundle sources.list and preferences into build request. * [092cff4] typo fix. * [6ca7ba9] models.py: Fix/impl. initial sources.list generation. * [884f0d9] sbuild: Update sources.list+preferences via chroot-setup-commands. * [2b5324f] compat08x.py: Fix call to new get_apt_line(). * [067a6c0] Obsoleted. * [79f1fad] mini-buildd: Fix: Set global vars as early as possible. * [7e65533] misc: Add nop func. * [da3802f] ftpd.py: Clean up log init code; log: DEBUG level; logline: Ignore unless in debug mode. * [c368a75] devel: Run --verbose (not --debug) per default; mbd command line option may be given now. * [5736385] misc.py: logs: Be less noisy. * [a3cf988] dispatcher.py: Remove some obsoleted methods. * [3c8c794] changes: Add untar() method. * [bb889d3] reprepro.py: prcessincoming(): No need for CF file, just process all. * [96c7bde] models.repository: Add reprepro object in constr., so it's always available. * [65b5f02] dispatcher.py: Initially implement the actual repository install of buildresults. * [2c7248e] misc.py: Fix Bind argument parser to work for IPv6 IP notation. * [2884fdd] devel: Also remove repositories dir on clear now we actually install. * [822df05] reprepro: Add prepare() method, and some minor cleanups. * [e225d36] Produce source package on arch-all host. * [d830280] dispatcher: Some cosmetic and log fixes. [ Gerhard A. Dittes ] * [392c79f] Documentation: improved structure of 'index.rst'; "customized" use of 'apidoc' (what is part of sphinx >= 1.1) to automatically generate sphinx documentation (from files not containing dedicated documentation). * [5f85a8a] doc/conf.py: changed author name: "Stephano Vandamme" => "Mini-buildd Maintainers". [ Stephan Sürken ] * [1f36ef7] devel: Update (my) default mirror. * [293555f] changes: Don't prefix "Buildresult-" and "Buildrequest-". * [8ef49be] changes: Use "with" with tarfile in 2.6 using context module. * [ad4231e] changes: Simplify upload(), remove check for file existence. * [05b41c1] globals: Add set of global directory paths. * [a764583] ftpd.py: Update to new global dirs. * [5bd7236] main: Setup globals before log, and cleanup method names. * [5387baf] main: Clean up logging code; per default, log to 'file,syslog' now. * [d60d066] logs: Fix up daemon log file location. * [cc5e99e] dispatcher et.al: Update to new globals. * [0fdfed8] models: Rename "Builder" to "Chroot". * [1459c84] ftpd.py: Allow read-only access to "logs" dir. * [3ce48fa] ftpd: Make changes regex build-in as class attr. * [3b05a26] models: New "Builder" model, update to schroot. * [a5e85b0] Add a "workarounds" setup to main, and add the sbuild key workaround there. * [d97edf9] Integrate manual link. * [b792174] Manual: Add TODO list to first page. * [5cdbe76] devel: Also re-generate sphinx doc in each run. * [cfcacaa] debian/mini-buildd.install: mbd-update-common, mbd-lintian, mbd-update-rep are no more. * [5e9a435] debian/rules: Integrate sphinx manual in Debian package. * [5774c7a] debian/rules: Improve clean target. * [019966d] debian/mini-buildd.postinst: Always add mini-buildd to group sbuild. * [b8175c7] mini_buildd/compat08x.py: No need at all for an export-to-08x function. removing. * [8111aa1] dispatcher.py: Update todos. * [21187ef] webapp.py: Update todos. * [6611b3d] mini_buildd/urls.py: Remove (already comented) compat 08x "public_html" static view for good. * [102b402] mini_buildd/templates/mini_buildd/repository_detail.html: Update dput.cf. * [491e69a] schroot.py: Update todos. * [89de1e4] mini_buildd/root_urls.py: Update todos. * [f6781c5] models.py: Update todos. * [63697c1] doc: Add high level roadmap to top level manual. * [13fab94] mini-buildd: Running system workarounds in parallel. * [4fd7476] doc: More status/roadmap updates. * [0ee36fa] misc.py: Add helper to get md5 hexdigest from file. * [0d87836] changes: Add add_file() method. * [a673638] devel: Update "clear" for new paths. * [333fe19] debian/mini-buildd.install: Fix: Skip installing ye ole 08x schroot setup file. * [cacb2c9] mini-buildd: Put builder thread handling to main. * [27708e8] mini_buildd/*: Separate changes, builder and dispatcher into different modules. * [0c27d88] devel: Add "clean" target. * [91a06ca] schroot: Fix: Move schroot logik to class Chroot, remove schroot.py. * [85a83e9] chroot: Use inheritance for chroot "backends". * [e0a62ee] devel: Make --debug --verbose --verbose default (again ;). * [2024294] devel: Don't remove chroots on clear (this might remove active chroots). * [9d597bd] mini_buildd/__init__.py: Don't implicitly import classes any more. * [15d740f] setup.py: Instead of __version__.py, generate __init__.py instead. * [897b411] setup.py: Only __version__ in __init__; update all imports. * [2f01e9c] misc/noop: Use std convention args,kwargs. * [4713e00] misc.start_thread: Add support for args on run(). * [21713bc] models, webapp: Move default creation completely to webapp. * [3bf5e0c] devel: Add pre-code to purge that tries hard to remove lvm leftovers before actually purging dir. * [c2e2a66] builder.py: Move builder logic to builder.py. * [014a04f] mini-buildd: Actually use existing builder instances to start builder threads. * [c0c3eb0] chroot: Single code out in own module. * [8727b5f] repository: Single code out in own module. * [e743ca1] chroot, models, repository: Clean up imports. * [145234f] repository: Major bug fix: Plural. * [4b93a9e] chroot: Make filesystem configurable. * [ebec43e] debian/control: python-setuptools must be b-d, not p-d. * [0d35bd3] debian/control: Add python-sphinx to b-d. * [9c8e1a5] chroot: Add FileChroot stub, and impl get_backend. * [47503ae] chroot: Initial class cleanups. * [3dfed4a] chroot: Add generic prepare_schroot_conf method. * [8306f53] chroot.py: Personalities as class attr. * [cc1fb84] chroot: LVMLoopChroot: Add loop_size. * [41e576d] chroot: Cosmetics. * [9ae0991] chroot: Initial impl of FileChroot. * [1d6d8e7] doc: Add dummy django settings. * [f8cf51a] models.py: Cleanup some imports sphinx/autodoc seems to have problems with. * [6f619ac] chroot: Move schroot.conf code from backends to Chroot. * [d2fa2b4] file chroot: Make compression configurable. * [10b6ae8] chroot: Fix: filesystem is an option for lvmloop only. * [bba9e7d] chroot: Make dist,arch unique, so we cannot generate a duplicate chroot. * [533203e] chroot: Add tmpdir function, and purge temp chroot for FileChroot. * [635e900] builder: Put teh sbuild key workaround to the correct place. * [edbdf4b] builder: Put chroot prepare to correct place: The builder thread. * [786121f] builder: Builder model does not need a list of chroots (we just use all existing chroots found). * [d0a9576] builder: Forbid creating more than one instance. * [abb6331] devel: Use rm -rf on purge. * [7668ec3] mini_buildd/builder.py: Cosmetics. * [bf35344] dispatcher: Make this a proper model, and handle like builder. * [0138c7b] debian/mini-buildd-sudoers: Add support for sudoers config. * [d1435d4] daemon: Daemonize early. * [65fa497] chroot: Fix uid name for sudo workaround. * [512dcc8] .gitignore: Ignore egg-info dir create in Debian package run. * [097d01e] .gitignore: test upload script does not produce cruft any more. * [116aedc] base view: Remove deprecated broken browse repo link. * [19e8488] graphviz: dont break if praphviz is not installed. [ Gerhard A. Dittes ] * [80dbb82] Sphinx: layout improvements; let apidoc create output beneath "build/sphinx" and let sphinx use it from there. [ Stephan Sürken ] * [fef417b] mini-buildd: Set up for new mini_buildd import style: "from mini_buildd import MODULE". * [18b8d17] mini-buildd: Add temporary "startup" console log handler. * [e48cc70] gnupg: Inital new gpg impl with "subprocess" only (not used yet). * [d418e5b] mini_buildd/*: Update to new import scheme. * [d44faa9] misc.py: Add initial new call() and call_sequence() (with rollback) functions. * [b867d05] misc.py: Obsolete get_cmd_output(). * [c5b9ddb] misc: call() wrappers: Loop arbitrary kwargs through. * [fcc14e7] builder.py: Update sbuild workaround to misc.call(). * [cf48cc2] builder: Update debootstrap to misc.call(). * [b2fa0ee] chroot.py: Update FileChroot to misc.call(). * [830a5b3] chroot.py: LVMLoopChroot: Make snapshot size configurable. * [70312f4] reprepro.py: Update to use misc.call(). * [2df9399] misc.py: call(): Improve logs. * [45913ca] devel: Add --one-file-system to rm -rf. * [ea4a2f8] misc.py: call(): Fix/renice multiline logging. * [66b168f] chroot.py: LoopLVMChroot: fix get_lvm_device func. * [7349e9f] chroot.py: Use call_sequence for lv creation and mount. * [75a386e] misc.py: Add support for empty sequents. * [4a2bf33] webapp.py: Simplify in-code selection of default chrot class. * [65017e9] devel: Purge should also remove any mini-buildd*.conf in /etc/schroot/chroot.d/ * [4fb1199] chroot.py: FileChroot: Update to new sequence-only scheme. * [74816a8] misc.py: call_sequence(): Support for rollback_only call. * [c0c255e] misc.py: Add taint_env helper. * [710b624] builder.py: Update to misc.taint_env(). * [c7445b5] builder.py: Better startup messages for builder. * [05db1b8] mini-buildd: Clean up impports. * [0adfbf8] threads: Properly join dispatcher, builder, and build threads. * [798ff6b] chroot.py: FileChroot: Correctly implement purge() with sequence rollback. * [3d2160b] builder.py: Clean up logs; purge chroots on shutdown (for now). * [a263c60] misc.py: call(): Renoice log level for output log. * [06bced6] chroot.py: LVMLoopChroot: Completely update to new sequence calls. * [47c4021] misc.py: Obsoleting ye ole run_cmd helper. * [2d8c8a6] chroot.py: Properly subclass LVMChroot + LoopLVMChroot. * [d7bfeee] chroot.py: Update all call paths to absolute path names. * [f936c55] debian/mini-buildd-sudoers: Harden to just the commands chroot.py actually needs. * [6897250] chroot.py: Use long options wherever possible; fix mkfs call for sudoers. * [6fc3c2a] misc.py: Add helper for to cinfigure logging for local modules tests. * [627edc1] gnupg.py: Fix up and simplify with new misc.call(). * [8f18a22] repository: Update to new gnupg class. * [31e29bd] misc.py: call(): Log stderr to 'debug', not 'error'. * [e9bb108] python: Use one-line imports for one context. * [3f90a7b] mini-buildd.templates: Per default, start mini-buildd with --verbose (log level INFO). * [b26e0f0] webapp.py: Depend on django 1.3, and fix up static files handling. * [86e9a71] devel: Remove as root. * [3fc94c3] mini-buildd-sudoers: Fix: /bin/tar was missing. * [6af64a5] setup.py: Fix: Install templatetags. * [f4b25b5] devel: Guess mirror from apt sources. * [7d54b26] mini-buildd.postinst: Renice output when admin password is updated. * [782ac3a] devel: Rewrite this to test with installed Debian snaphot packages only. * [13ff1c3] mini-buildd: Fix call order for httpd+ftpd; several cleanups. * [5db259e] mini-buildd: More Main() cleanups. * [0824e50] mini-buildd: ..more.. cleanups. Put daemonizer where it should be naturally. * [4fe9d09] Rename module "globals" to "setup". * [052d9b9] builder.py: [indent fix] * [f6fa916] debconf, MINI_BUILDD_OPTIONS: Fix: Only set from defaults file if configured there (and use commented default in default defaults file). * [3076051] mini-buildd: Fix daemon run (again ;). * [86764d7] changes.py: save() does not need an extra file_path paramter. * [b435a2e] devel: temporary workaround fpr purge. * [89c796e] devel: Also pre-seed options (--verbose --verbose --debug for now). * [d41b1d9] devel: Another workaround; add a handy "testall" target. * [cf1e49d] Rename "dispatcher"->"manager". * [5f67e0d] devel: extra func for default (may be used w/o git, just any mini-buildd installation). * [b74c75d] packages.testbuild: Fix backort dis for sid. * [81bd80d] builder.py: Bugix: changes values must always be string. * [64196ea] Move models graphic to documentation. * [7c2a31d] control: Add lintian to deps (currently needed until it can be run in chroots). * [073f450] repository.py: Temporary fix to see the gnupg pub key. * [d7d27f1] doc/index.rst: Update status. * [588ea1f] doc/index.rst: Add 0.8.x package migration task so we dont forget. * [cb5d4c3] mini-buildd: Add todo-bug: umask/daemon. * [feee524] devel: Fix magic mirror grep typo. * [3344cfa] templates/mini_buildd/base.html: Show mini-buildd version. * [d70246b] Move gnupg handling to manager model. * [c66b59d] models.py: Simplify name: PrioritisedSource->PrioSource. * [7e64fc7] devel: Add install_clean target. * [bcc4e3b] models.py: New-style Architecture, Components (new) and Source models. [ Gerhard A. Dittes ] * [2e83bac] devel: allow arbitrary branch to be used by 'mbd_build_install()' (not only master). * [0194b6f] mini_buildd/changes.py: fix strange logging behavior (using unicode). [ Stephan Sürken ] * [413818f] models.py: Introduce messages, and fix up arch/component adding. * [492e4d2] index.rst: Add db schema upgrade todo. * [fea3e00] models.py: Indent/cosmetic fixes. * [87ffcd5] chroot.py: Implement chroot prepare/purge as admin action. * [b6e9977] webapp.py: Update defaults for new models. * [482a836] admin.py: Register models where they are defined; obsoletes admin.py. * [66714d2] models: Prefix all mini-buildd methods with "mbd_". * [5c45b86] repository.py: Simplify import line. * [5da60cc] repository.py: Fix lintian mode descriptions. * [fd541a6] repository.py: Add initial field set. * [d206be1] chroot.py: Use common action_activate and decactivate for objects that need it. * [e23bf40] webapp.py: fix old method name. * [16f7241] misc.py: Add new function run_as_thread(). * [5fe9739] misc.py: Add syslog support for test log setup helper. * [389c680] misc.py: Add more thread test code. * [2bded30] misc.py: run_as_thread(): Fix: Allow kwargs only. * [7225dd9] mini-buildd: Upgrade manager to start_as_thread(). * [e71c531] mini-buildd: Upgrade builder to start_as_thread(). * [89e1381] mini-buildd: Don't enable verbose logging on --debug. * [a046001] mini-buildd: Upgrade ftpd to start_as_thread(). * [16628ac] mini-buildd: Upgrade httpd to start_as_thread(). * [62968e5] misc: Better impl. of the sbuild workaround in misc: Add thread lock and work in temporary dir. * [95420ff] mini-buildd: Upgrade build runs to start_as_thread(). * [57e14c8] changes.py: Update workaround to encode unicode to utf-8 (str() fails on real unicode chars). * [55b4842] Merge Manager and Builder into Daemon. * [102ac3b] devel: More fine changes ,,,, ) * [e06b0c8] models.py: Initial generic status model. * [72c8a3d] source.py: Add source module with all models related to sources. [ Gerhard A. Dittes ] * [265c9cc] Manual: add link "mini-buildd home" to our (Shinx) documentation. [ Stephan Sürken ] * [939ec66] models.py: New generic status handling and sctions. * [0ab0ff6] chroot.py: Update to new generic status model. * [f8d7990] models.py: Implement model action functions as ModelAdmin methods. [ Gerhard A. Dittes ] * [ab16133] webapp.py: do not explicitly set 'SITE_ID' -- as we provide only _one_ site, the default value (undefined) should be sufficient. [ Stephan Sürken ] * [2660145] models.py: StatusModel: Generic impl. of activate/deactivate. * [484ecd6] models.py: StatusModel: Add colored status display. * [a195dbb] repository.py: Update to StatusModel. * [291c87c] mini-buildd: webapp.py: Implicit idempotent default model creation. * [9ffd87f] source.py: mbd_prepare(): Fix: Fail when no mirrors could be found (plus some log fixes). * [91c29c9] mini-buildd: Remove obsolete/misleading arg "--instdir". * [d5ba036] daemon.py, repository.py: Move hostname as "fqdn" to daemon. * [ae2ed10] daemon: Add a view for 'dput.cf'. [ Gerhard A. Dittes ] * [ebfd174] webapp.py: Determine django's SECRET_KEY (once) instead of using a constant string (viewable by the public). [ Stephan Sürken ] * [8e79577] mini-buildd: As HOME_DIR is in setup as global now, use it. * [1d32186] models: "Implement" ordering on the admin site by using lexically ordered verbose names. * [4192312] gnupg.py: Add generic base class, and a TmpGnuPG class. * [7cbd615] chroot.py: Fix: Remove chroot superclass from admin. * [61faed8] source.py: Add gnupg/apt key automated download support. * [d5bcd74] Distribution model: Add 'components' part, and fixup __unicode__. * [0a605ef] repository.py: Fix: apt_allow_unauthenticated field was missing from config fields. * [83ad989] builder, changes: Add support to deliver configured source's apt-key through to builds. * [326d0de] repository.py: Initial (wooden) support to deliver apt keys. * [31816d4] models: Move Suite, Layout and Distribution to module repository. * [3a3b184] source.py: Source model: Structure, add some help strings, allow manual apt key. * [174ded9] repository.py: Remove now-obsoleted old 08x-style apt-secure config dirs. * [a6c0a32] repository, builder: Add support for debconf_preseed. * [3ad9eca] packages.testbuild: Update to host-based dput target, default repo=test. * [e8cc498] Implement custom setup script support. * [1cc8e28] repository.py: Add example how to install additional packages. * [93aaed6] main: Thread cleanup, part 1: Put queue to daemon model instance. * [fbf6128] misc.py: Add get_cpus() helper. * [dcae6d5] builder: Upgrade renice daemon model, use builder thread, implement sbuild --jobs=N. * [cb17643] views.py: Use daemon.get() and clean up. * [39831fc] source.py: key retrieval: Use configured keyserver. * [b33b9bc] repository.py: Use daemon.get(). * [e9003b5] daemon.py: Mark private object vars with "_". [ Gerhard A. Dittes ] * [25a43fd] httpd.py: Switch from CherryPyWSGIServer (standalone WSGI server) to CherryPy and pickup CherryPy's logging. [ Stephan Sürken ] * [3a3199e] repository.py: fix gnupg call. [ Gerhard A. Dittes ] * [ddc542c] WebApp: Enable processing of "static" files; Show "favicon.ico". [ Stephan Sürken ] * [44987ab] daemon.py: Initial impl. of Packager logic. * [a221dae] packages.testbuild: Be able to test-build any package that is available via apt-get source. * [a3494e0] chroot model: Fix: Use Source, not Distribution. * [0a1659d] source.py: [some cosmetics] * [988ccd0] daemon.py: Success is when sbuildretval == 0 (no need to evaluate sbuild status). * [95c6c0d] mini_buildd/*: Name convention update: Don't use abbrevs in model field names. * [1b2b44c] daemon.py: Fix: convert retval to int. [ Gerhard A. Dittes ] * [7c35043] httpd.py: Log HTTP errors (status codes: 4xx-5xx). * [ef15d57] WebApp: Let CherryPy handle static files (also for django admin). [ Stephan Sürken ] * [ca407a4] mini-buildd.init: Add "reload" target, which send SIGHUP to mini-buildd. * [a4eadd1] ftpd.py: Add ability to shutdown ftpd at will. * [5fed4c1] daemon.py: Support for a global daemon instance called "runner". * [718c935] mini-buildd: Add support for reloading (via SIGHUP). * [f933f33] daemon.py: Move ftpd thread to daemon. [ Gerhard A. Dittes ] * [3dfff8f] Manual/Sphinx: Use the "global favicon" (/static/favicon.ico) instead of an own (separate) one. [ Stephan Sürken ] * [b9ff594] devel: Add new default target. * [5c3ca18] models, repository: Add EmailAddress models. * [45b88dc] mini-buildd: Set umask on daemonize. * [5433d34] daemon.py: Initial smtp and email notification support. * [6b2cbd2] mail: Alllow notificatio lists to be empty. * [90877ec] daemon.py: Initial pre-qa testing, email updates. * [8d717b3] daemon.py: mail/notify: Name all mail functions "notify" and put base notify to daemon. [ Gerhard A. Dittes ] * [3834c21] Static-files: Restructuring; Admin: Add link to mini-buildd's 'home' (show icon, etc.); [ Stephan Sürken ] * [8c06408] changes.py: Implement incoming QA-Checks: codename, id, dist, uploadable. * [c016403] builder.py: Only sbuild --verbose when DEBUG is enabled. [ Gerhard A. Dittes ] * [795e92e] Website (mini-buildd): improve layout -- fulfill _valid_ "XHTML 1.0 Transitional" and "CSS level 3". [ Stephan Sürken ] * [446b95b] Implement incoming QA-Checks: mandatory version. [ Gerhard A. Dittes ] * [c20871c] Manual: Let CherryPy deliver it _statically_ (instead of taking a circuit via Django); Cosmetics. [ Stephan Sürken ] * [61aed5d] suites/sources: Add support for automated "codeversions" (lenny=50, squeeze=60) from the Release file. * [0977840] daemon.py: Implement email allow regex. * [467d23c] packages.testbuild: Set DEBEMAIL explicitly to protect against possible spam. * [bdd3f41] models.py: Add module doc including naming convention for fields. * [e0dc9fa] Rename: PrioSource->PrioritySource. * [8fd9601] Rename: PrioritySource.prio -> .priority. * [162fbf0] models.py: Dox: Add method convention. * [d68b1a6] models.py: Cosmetic: Add plural for email adrresses. * [acb748f] Rename: extdocurl->external_home_url. * [38728d8] repository.py: build dep resolver field: Use small integer choices field. * [e0f8c96] repository.py: lintian mode field: Use small integer choices field. * [143c2e9] repository.py: Add field placeholder for piuparts. * [295a7b5] models.py: [cosmetics] * [f4c173c] chroot.py: FileChroot: Cleanup, use "compression" shortint choice field, not tar_suffix. * [b9aaec8] chroot.py: Nameing conventions: Rename "vgname"->volume_group. * [a049607] models.py: Misc cosmetic changes. * [c9e45e6] daemon.py: Rename mail_smtpserver -> smtp_server, and use BindArgs to parse host:port string. * [cdc800f] source.py: Fox priority source verbose name. * [2f5d04c] repository.py: Impl. mail notification for repositories, including "maintainer" and "changed-by" notifying. * [8fb9f59] repository: Rename field id->identity (following naming conventions). * [003c40e] daemon: Rename field fqdn->hostname (naming conventions). * [422d6a9] changes.py: Fix get() method. * [80a56f1] daemon.py: misc notify fixes. * [0b292d1] models.py: EmailAddress: Add name part. * [5c39013] daemon.py: Fix email sending of maintainer and changed-by fields. * [b4e9e57] models: __unicode__(): Actually use unicode everywhere, update all to .format(). * [94406de] Change file layout: "~/var/spool/builds|packages". [ Gerhard A. Dittes ] * [88590bd] mini-buildd (/CherryPy): Fix segfault on shutdown. * [562475d] httpd.py: Turn stderr/stdout logging _off_. [ Stephan Sürken ] * [6382d50] changes.py: Use flat directories for builds and packages. * [97b7f96] changes.py: Add remove() method. * [772ab1a] builder.py: Implement build cleanup. * [3ab2248] /builder.py: Fix: Build result changes should carry 'Architecture'. * [628f72c] daemon, changes: Implement package archiving to log dir. * [6f4728b] Rename "var/logs" -> "var/log". * [ea135ca] Make log dir accessible per http, and update repositor templatetags to 'mbd_' method prefix. * [f27128b] daemon, repo: Fix ftp url creation. * [dcc3012] daemon.py: Add buildlog links to notify mail. * [4cbde6f] repository.py: Fix call to ftp_url. * [3444694] doc/index.rst: Update todo index. * [ed85822] Some fixes to make sphinx build work in debian package under sid. * [12d881c] httpd.py: Fix path for static admin in django 1.4. * [9995aa5] daemon.py: Fix: Architecture, not Sbuild-Architecture. * [c5309f8] mbd-qa-check: qa lintian is implemented --removing. * [3707809] mbd-qa-check: qa build check is implemented --removing. * [7ba5365] mbd-qa-check: generic qa code is implemented --removing. * [df16073] mbd-qa-check: qa dbp upload is implemented --removing. * [c95a0e5] mbd-qa-check: qa dsp upload is implemented --removing. * [c5d1b04] builder.py: log fixes. * [8939e89] misc.py: taint_env(): Add support to remove envs (via value=None). [ Gerhard A. Dittes ] * [d2ea92b] Improved (I hope so) and unified layout of "mini-buildd", "django admin" and "sphinx documentation". [ Stephan Sürken ] * [c36eb5d] builder.py: Show env in build on DEBUG. * [c2d11d6] Migrate mbdAptEnv() to python, and use it for debootstrap. * [3489276] chroot.py: Don't include "apt" on deboostrap. * [1d72d39] misc.py: call(): Log to error on failure. * [549bca4] builder.py: For arch-all builds, also always include the orig.tar.gz (-sa). [ Gerhard A. Dittes ] * [5459193] Website: Use mini-buildd icon (as "fast-link") to get home (from everywhere). [ Stephan Sürken ] * [a882fd3] misc.py: Add sha1 hash from file function. * [dbab5b8] Switch to using only one spool dir, with tasks imaged as sha1 dirs of the resp. changes file. * [e68a904] main: On daemonize, set working_directory to --home. * [86ca6fb] main: Always clear environment, and only set some HOME, USER, LOGNAME, and PATH to sane values. * [a7cf532] Update all calls() with env=. * [6f08855] setup.py: sphinx workaround: Commenting copy for doc/_static. * [aeaf2ca] css/mini-buildd.css: Minimal cosmetics. * [e65cd0a] ftpd.py: Add support to re-push left-over changes in incoming on startup. * [8feb7cc] builder.py: sbuild_mode: Don't explicitely set the default. * [eddefb0] misc.py: Add new string helper funcs: fromdos() and subst_placeholders(). * [4338e94] misc.py: Update this module to use doctest. * [57a9521] Add support for a custom "sbuildrc snippet" configuration. * [f0aeb66] repository.py: Update example for chroot_setup_script. * [354c1c1] devel: Yet again, update default options: just '--verbose'. * [a59a0d4] misc.py: Add helper functions to parse a distribution string. * [a29dd6e] repository.py: Add mbd_find_dist() member, remove redundancies, more checks. * [3cfbb8c] repository.py: Use new fromdos() utility func. * [62240cf] repository.py: Update "mandatory_version" regex to use new placeholders setup. * [659fcd6] repository.py: sbuildrc_snippet: Introduce placeholder %LIBDIR%. * [c371245] builder.py: Don't clean build dirs in DEBUG mode. * [8613285] daemon.py: Initial handling of stray results. * [3b02d6a] repository.py: Rename: architectures -> mandatory_architectures. [ Gerhard A. Dittes ] * [1054295] Admin: Website structuring & cosmetics. [ Stephan Sürken ] * [20ddca2] builder.py: ups. [ Gerhard A. Dittes ] * [370b0ed] Stylesheets (css): Fixed to pass "CSS level 3" (W3C Validator); Cosmetics. * [2599344] Admin-Template: Some renamings (of model names). [ Stephan Sürken ] * [000f4aa] repository.py: Add optional architectures field. [ Gerhard A. Dittes ] * [b486be2] Admin-Template: Remove "Suites" (from overview). [ Stephan Sürken ] * [f43bf44] repository.py: Move archs, build, apt, lintian etc. opts to dist. [ Gerhard A. Dittes ] * [80422c0] Admin-Template: tiny cosmetics. [ Stephan Sürken ] * [ad56c9a] repository.py: Bette get_arch* methods, add clean() impl. (not active). * [8d7ebd2] mini-buildd: Shwoi incoming signbal in level info. * [c3cc7de] mini-buildd: daemon: Implement arbitrary daemon start/stop for daemon model. * [4a07dd7] daemon.py: Fix up daemon __unicode__(). * [3804e08] repository.py: Typo syntax error fix. * [9547192] models.py: Add abstract father class for all models. * [75d9c5e] models: Protect _all_ models against changes while the daemon is running. * [26cdf41] daemon.py: Fix dput.cf (fqdn, not hostname). * [e8b4120] daemon.py: Fix up Daemon start/stop/restart coupling to actual model state. * [098d28a] repository.py: Bug fix in get_pubkey(). * [5e68912] devel: Add arg for test. * [8c85a6c] daemon.py: Initial statis display support. * [e8d168e] daemon.py: Mail fix: Only display buildlogs. * [c9542f8] root_urls.py: remove obsoleted static files support. * [413d9fa] changes.py: Fix Arch-All tag. * [5ebf5a7] models.py: Revert back to changing status when we actually succeeded. * [9eef581] daemon.py: Don't rely on model status in Daemon object. [ Gerhard A. Dittes ] * [023e242] Documentation: Add 'Quickstart' section. * [f52e3e6] Documentation: Tiny cosmetics. [ Stephan Sürken ] * [8c4ba20] devel: genaralize default argument. * [256a444] daemon.py: status_as_html: Use functions to prepare builds and packages. * [e0fd3e3] --debug: Make this comma-separated list of parts to enable debug mode. * [9776f18] mini-buildd: rm obsoleted commented code. * [08e18d9] mini-buildd: Renice main error handling; add "main" part for debug. * [0585d3a] builder.py: Fix build_clean call. * [5620c71] changes.upload(): Save upload status in *.upload; don't re-upload if already uploaded. * [cad0877] devel: Update default options for new --debug=x,y option. * [31a2dd6] changes, builder: Don't generate a build requests or build results (resp.) again if already done. * [45c0baa] builder, changes: Convenience convention: "breq" for build request, "bres" for build result changes variables. * [6384012] chroot.py: Make personality an automated model field with manual override feature. * [bbd8387] conf.py: Enable graphviz extension, and add initial graphic for daemon. * [afb2e60] builder.py: Introduce builder status class. * [a4925db] builder.py: Fix builder status display, and max_parallel_builds option. * [e125f1d] repository.py: Move repo prepare code to repository && enable repo purge in debug mode "repository". * [732e5f1] repository.py: mbd_prepare: Cleanup, remove obsoleted cruft. * [d5e912f] Status models: Add confirmation support for admin action "unprepare". * [6ef1d89] repository.py: "normal" impl of repository unprepare now we have confirmation support. * [3a185c2] gnupg.py: Add gnupg.unprepare, renice messaging, and add daemon.unprepare. * [3a50d29] gnupg.py: Add features: add_pub_key, sign, verify. * [6ed4b66] daemon.py: Cleanup up repositoiry prepare, fix daemon reprepro call. [ Gerhard A. Dittes ] * [26eb9f0] Admin: Extend table style (-- bugfix for 'Debian Sid'/'Django'). * [d223baa] Admin-Template: Move 'Daemon' from the bottom to the top. * [a38bce0] Documentation: Extend Quickstart (administration section). [ Stephan Sürken ] * [a17ee87] doc/index.rst: Update Roadmap status. * [6088dfe] remove two done todos, update one. * [bc6dece] doc/index.rst: Add some more hints for the quickstart. * [66e2b9e] webapp.py: Don't implicitely set up a source. * [ee95a99] httpd.py: Explicitely set content type to 'text/plain' for '*.log' and '*.buildlog'. * [13e2d6f] doc/index.rst: More status updates. * [847fa68] gnupg.py: verify(): Add option to give file to check for detchaed sigs. * [7d06873] builder: Indent fixes. * [d7bea3d] todo update: custom hook idea (C), ftpd options. [ Gerhard A. Dittes ] * [3fa0e41] Website: Improve (~>appearance), extend (~>index.html) and clean-up (~>here and there). [ Stephan Sürken ] * [b3a6aea] gnupg.py: Add new abstract GnuPGPublicKey model. * [47d893f] models.py: Add AptKey and UserKey models based on gnu pg model. * [3c1c361] chroot.py: Add debottsrap todo. * [44492e9] source.py: Update to use AptKey (Many2Many), and add initial verifying of release files on prepare. * [9e2fa3a] templates/admin/index.html: Add "Apt keys" to "Mirrors and Sources" section. * [e168e7e] templates/admin/index.html: Omit "add" from "Daemon". * [1aee692] models.py: Add support for UserProfile (GnuPG key and repo-list bound to each user). * [c1aa8fa] source.py: Fix: Delete temporary release files (was left in from debugging). * [5dc8214] gnupg.py: Fix: add_pub_key, not add_key. * [eb921c9] models.py: Add proper Remotes model support. * [45f5916] Rename: "Mirror" -> "Archive". * [900bb66] repository.py: Add allow_unauthenticated_upload flag. * [ac93f33] changes.py: Initil user upload auth support. * [2ca7ee1] daemon.py: Cleanups, add todo. * [55b6a6b] devel: Add some python code checker calls. * [cb001ff] code qa 'pyflakes': Remove all issues. * [68ae366] misc.py: code qa 'pychecker': Remove all issues. * [79b96b3] *.py: Update all external imports according to PEP 8. * [a71329f] *.py: Code qa: Add/fix coding hint for all python files. * [a2d16ba] .gitignore: Ignore fixtures starting with "local." * [6af6016] devel: set py env only when needed; make pypath absolute. * [cec4844] python code qa: Use absolute imports for mini_buildd imports. * [f230f01] builder.py: Add build auth code (commented). * [ae4af5a] devel: pychecks: Add doctests checks (where available), add only currently working to general target. * [b902688] models.py: Cosmetics for user profile. * [f7cfef3] doc/django_settings.py: Add auth and contenttypes admin apps -- needed ate least for sphinx under sid. * [886c7ed] devel: Run working checks befor build && run alls checks in subshell, so env is not tainted. * [ccf2b95] devel: Checker: Add django-lint, and some exceptions for pylint. * [40a24e5] mini-buildd: Several pylint warning fixes. * [da460d5] daemon.py: Rename _Daemon class -> Manager. * [d15fcc3] pylint: Fixing many pylint issues. * [bbe9432] devel: Add pep8 checker. * [6934a16] pep8: Many fixes for pep8 complience. * [423d216] devel: Add pep8 to stanndard checks. * [7e32864] models.py: UserKey model is obsoleted by UserProfile. * [dd3ba32] mini-buildd: More cleanups and pylint fixes. [ Gerhard A. Dittes ] * [392765d] Website: Improve design (and usability); fix repository details. * [988841a] Documentation: fix 'Quickstart' (renaming mirror -> archive). [ Stephan Sürken ] * [6a55816] mini_buildd/daemon.py: Code cleanups; remove done Gnupg todo. * [f7f9af0] user auth: Gen per-repository keyring per daemon run, and verify in Package().init(). * [21d5065] gnupg.py: verify(): Better exception for auth failure. * [8dde835] daemon.py: Add verification for buildresult and buildrequest (and put all changes verification to daemon loop). * [8478528] daemon.py: Put incoming exception handling in daemon main loop (and several code cleanups). * [2066a96] daemon.py: uploader keyring: Always add our own key. [ Gerhard A. Dittes ] * [a0a1ea6] mini_buildd/templatetags/index.py: Check for existing repositories before trying to list them. [ Stephan Sürken ] * [eb123fa] repository.py: Add new field: extra_uploader_keyrings. * [83049b8] devel: Error exit workaround for the squeeze version of pep8. * [9c3f1e1] fix three new pep8 style glitches. * [18e142f] gnupg, repository: Implement support for extra keyrings field. * [ff99763] daemon.py: Add daemon identity field. * [737d07a] debian/mini-buildd.examples: Install examples from examples/* dir. [ Gerhard A. Dittes ] * [7fdf27d] Website: Add package search functionality; Improve page footer (and overall appearance). [ Stephan Sürken ] * [55399b8] repository.py: Add "build_keyring_package" flag for suites. * [26d78e0] gnupg.py: Add export() method. [ Gerhard A. Dittes ] * [a9e165d] Website: Fix search form (layout). [ Stephan Sürken ] * [4a2c0d8] Add archive keyring package template. * [126b70f] gnupg.py: init(): Fix: Give name and email as argument, don't invent them. * [c7237ec] daemon.py: Add support for auto-generated archive-keyring packages. * [5b6454d] templatetags/repository.py: Make pep8 compliant. * [bb6b061] reprepro: Indices: Produce plain, gz and bz2. * [6955d53] httpd.py: Add a shortcut function to add static handlers. * [69453b1] httpd.py: Support serving '/repositories'. Some code cleanups. * [b462442] daemon.py: mbd_get_http_url(): Get http port right. * [8a92fc2] ftpd, repository: Remove serving log and repositories via ftp, and switch to http in source generation. [ Gerhard A. Dittes ] * [35a0a7f] Webapp: Implemented search functionality using dummy function (first try -- to be improved!). [ Stephan Sürken ] * [9863a2e] misc: Rename "BindArgs" to "HoPo". * [d4bf2f6] builder, daemon: Add builder load() to status. * [cc71cd5] misc.py: Add BuilderState class to abstract the builder status. * [6cd7e71] dameon, http: Add support to create a current builder state, and get it via web server uri. * [6f6ca3c] daemon.py: Show traceback in main loop when DEBUG on main is enabled. * [802b5ca] builder.py: Protect builder loop main run with master try/catch, and add debug option. * [2c1933e] models: Remote: Add support to dowload the builder state from remote mini-buildd. * [a9f611a] builder, daemon, changes: Implement Remote support. * [ff70231] misc, daemon: Just use bool for builder up/down state. * [88553ec] mini_buildd/views.py: pep8 fix. [ Gerhard A. Dittes ] * [2aff99e] Website: Improved package search stuff using new "search result structure". [ Stephan Sürken ] * [b22c87f] builder, changes: auhenticate_aginst_remotes() method is obsolete. * [1adbe46] packages.testbuild: Add magic not to build template package; auto-detect sign mode. * [ef4605b] daemon, repository: Move archive key package generator to repository. * [52f443e] daemon.py (Manager::status_as_html): so. * [4972ba0] misc.py: Add __unicode__() for builder state. * [966fd6a] models.py: Remote: Put the builder state into __unicode__. * [2f47a5b] daemon.py: Add initial remote status. * [eff43b3] debian/changelog: Restoring 0.9.6 changelog. * [74d0579] debian/changelog: Add unreleased skeltion for 1.0.0 pre alpha. * [0576c64] repository: Put "keyring suites" chooser to Layout. * [4c014fc] repository.py: Suite model: Don't use name as primary key. * [2fa9dc3] repository.py: Add auto version support to Suite. [ Gerhard A. Dittes ] * [d30aecf] Website: Add dummy-propagation-functionality (first step). [ Stephan Sürken ] * [1641784] repository.py: Improve Layout and Suite models * [95713bc] mini-buildd: Fix: Don't restart daemon on SIGHUP if not already active. * [b76439f] doc/index.rst: Update status. * [d83bec0] repository.py: auto keyring packages: Use --force-bad-version, not --allow-lower-version. [ Gerhard A. Dittes ] * [e0304bc] Website: Only allow superuser to propagate. * [68b3cce] mini_buildd/views.py: Fix "dummy package search" function. [ Stephan Sürken ] * [416b86a] models: Add some more checks to avoid config errors. * [3d8270a] daemon.py: Only show active repos and chroots in daemon display. * [48d328b] repository.py (Suite): Make name primary key again, and fix default for "but automatic upgrades". * [e2e6f4e] templatetags/repository.py: Show repo model's defined description, not identity. * [ee69258] repository.py: Pimp repo instance name. * [83fbf63] repository.py: prepare: Fix check in daemon instance. * [0460638] daemon.py: Pimp up daemon name display. * [08b8201] templatetags/repository.py: Add tag to show all chroots. * [9aba1d2] index.html, templatetags: Also show remotes in own box. * [53ba6c5] daemon.py: Show # remotes in daemon desc. * [13c79b4] chroot.py: Shwo status in chroot desc. * [4cc8601] changes.py: Don't handle packages for repositories that are not active. * [944b6fe] models.py: Remote: Use warn, not info, to inform that the key should be checked. * [e36960c] models.py: Ensure no mini-buildd model is deleted when the daemon is running. * [f121d32] models.py: Custom actions: Pimp names and order. [ Gerhard A. Dittes ] * [8205d07] Website: Get rid of template tag "repository_list_all()"; Another fix for function "tmp_dummy_package_search()"; Remove unused function "handle_login()". * [fdb7c1e] Website: get rid of template tags "chroot_list_all" and "remotes_list_all". [ Stephan Sürken ] * [346e82e] models.py: Make delete actions safe for status models. * [522397d] repository.py: Add status deps for repository. * [d579204] models.py: Add suport to check the dependecy status. * [ebd0990] daemon.py: Check dependcy status (for all active repos) on start. * [952410c] models.py: Use max/min to calc correct status. * [ade3292] models.py: actions prepare, activate: Implicitely call for all status dependencies. * [bb1e4a7] models.py: StatusModel: Fix: Make action() a class method. [ Gerhard A. Dittes ] * [eef38e6] Website: Use tabs instead of spaces for (html) templates. [ Stephan Sürken ] * [a1132b4] mini-buildd, webapp: Add bulk-unprepare option (for internal use). * [78193a7] debian/mini-buildd.prerm: Call --unprepare=Chroot on "remove". * [35fd60c] repository.py: Add check against multiple dist with dame codename in one repo. * [e9ef783] misc.py: Improve dist parser. * [28b5658] repository.py: Suite model: Add uploadable flag, and change 'migrate_from' to 'migrate_to'. * [b62566d] repository.py: Suite: Ads suite.mbd_get_distribution(). * [942ecf3] reprepro.py: Add listmatched() method. * [a0c3cf5] repository.py: Add package search method. * [227383c] web, django: Add proper package search. [ Gerhard A. Dittes ] * [9102fed] Website/Admin: Restructuring (of template). * [8d0f711] Website: Reduce count of "template-tags" files -- use only "base.py" from now on. [ Stephan Sürken ] * [70c49c7] package search: Need one more layer (dist) in package result. * [76f4ba0] reprepro.py: Add copyrsc() method. * [a49aa70] views.py: Implement propagation. * [dc6d4b9] reprepro.py: Add removesrc() method. * [fcb0290] Implement "package removal". * [b64557a] package_propagation_results.html: Put results in pre tag. * [cdd6cef] mini_buildd/index.html: Remove distribution from top level package search. * [2fa1fde] package_search_results.html: Cosmetics. * [0c8587a] models.py: Remote: Add a wake_command field for later use. * [985dc1b] .pylintrc: QA: Move pylint conf to rc file, and check for errors only. * [d2346fa] misc.py: [pylint]: Use hashlib.new('algo'). * [02a9f64] webapp.py: [pylint]: export08xConf support is gone. * [46e7410] mini-buildd: Some usage fixes. * [f41185a] source: [pylint]: Don't call use __unicode__ directly. * [97662ec] devel, .pylintrc: Add helper to find potential "no member" false-positives, and update .pylintrc. * [1d8c9c9] repository.py: pep8/sid fix. * [81bd1c7] .pylintrc: No need to disable E1101. * [38cf69e] .pylintrc: Fix: disable does not work line-by-line, as advertised ;(. * [20c65ce] devel,.pylintrc, setup.py: Add pylint to standard check. * [f5ae623] doc/*.py: PEP8 fixes, and add files to standard pep8 test. * [3f4febf] pylint: Add and conform: C0103 (naming conventions), C0112 (empty docstring). * [f747ca1] doc/conf.py: More PEP8 fixes (squeeze pep8, this time...). * [c6f2279] pylint: Add and conform: R0201 (Method could be a function). * [a43756e] pylint: Add and conform: R0801 (code duplication). * [ae43e98] pylint: Add and conform: R0902 (Too many instance attributes), R0904 (Too many public methods). * [eca22b0] pylint: Add and conform: R0914 (Too many local variables), R0915 (Too many statements). * [a678e20] pylint: Add and conform: R0903 (Too few public methods). * [79e2be3] pylint: Add and conform: W0102 (Dangerous default value as argument), W0107 (Unnecessary pass statement). * [ae80c84] pylint: Add and conform: W0201 (Attribute defined outside __init_). * [1a2b79a] pylint: Add and conform: W0221 (Arguments number differs from xx method) * [9249098] pylint: Add and conform: W0404 (Reimport), W0511 (warning notes in code comments), W0601 (Global variable undefined at the module level), W0602 (Using global for %r but no assigment is done). * [2b74405] pylint: Add and conform: W0612 (Unused variables). * [7c3520c] pylint: Add and conform: W0613 (Unused arguments). * [5432e0d] uploader and remote keyrings: Only use objects with active state. * [49aabba] pylint: Renice in-code workaround for R0201. * [99cdd72] pylint: Add and conform: W0622 (Redefining built-in). * [42bf31a] pylint: Ignore W0702, W0703 for now. * [5eb68cb] pylint: Add and conform: W0631 (Using possibly undefined loop variable). * [b0e311c] pylint: Add and conform: W0212 (Access to a protected member of a client class). * [c14788d] source file layout: Switch to "models in multiple files" layout with subpackage "models". * [a932478] models/source.py: Move to models/. * [e4df7f2] models/repository.py: Move to models/. * [5e23c51] models/repository,source: Some Meta/Admin inheritance fixes. * [5264e11] models/chroot.py: Move to models/. * [c635535] models/gnupg.py: Move/diverse to models/. * [8b6bbca] models/daemon.py: Move/diverse to models/. * [fb07a3e] daemon.py: Move some django code to model only. * [e2be34e] models/__init__.py: Import fixes. * [86126ca] devel: Rename pychecks->check; remove pylint extra handling for squeeze; build: be interactive when check fails [ Gerhard A. Dittes ] * [2f30c5f] Website/Admin: Warn if daemon is running (and give hint to stop it in order to make changes). * [cbb9069] Website/Admin: Fix outline "Suites+Layouts/Distributions+Repositories". [ Stephan Sürken ] * [959ff36] keyring-package: Omit the keyrings/ extra dir in source package (fixes automated keyring package). [ Gerhard A. Dittes ] * [9f8d7c2] Website/Admin: Get rid of hard coded model names (in template). [ Stephan Sürken ] * [92a7459] models: Add "base" module, so we dont have actual code in __init__.py. * [b1e3151] models: Rename "UserProfile" to "Uploader". * [3c806c5] models/__init__.py: Stop delivering model classes redundantly here. * [e824437] .pylintrc: Adjust max-locals for compat08x. * [998710a] daemon.py: Make all imports absolute, and on top of module. * [f579fbe] changes.py: Make all imports absolute, and on top of module. * [aaec789] gnupg.py: Add note about in-method import. * [7ae2a04] urls.py: Make all imports absolute, and on top of module. * [6f611dd] views.py: Make all imports absolute, and on top of module. * [3e27e8a] changes.py: Make all imports absolute. * [679a30a] .pylintrc: Yet another exception for django. * [b3fb574] models: Include 'Admin' meta class for all model registrations. * [dec45f0] models/repository.py: Make most import absolute. * [e352084] models/repository.py, Layout: Fix: Inherit from mini-buildd's Model.Admin. * [1b16a23] models/base.py: Fix naming of helper func. * [66452d0] models/base.py: Add msg_* methods to base model class. * [f2ae9a9] models/*.py: Mass-use self.mbd_msg_* instead of global func, and remove them. * [0c8984f] models/chroot.py: Make all imports absolute, and on-top. * [d4231d6] models/daemon.py: Make all imports abolute. * [53c1594] models/gnupg.py: Make all imports abolute. * [798f74e] models/source.py: Make all imports absolute. * [064baec] pylintrc: Enable the last two ought-to-be-fixed checks (can't fix them yet, though). * [db7e2ff] devel: Add shorctut for snakefood dependency graoh creation. * [0e5d325] changes.py: Remove dependency on daemon. * [6aace0b] builder.py: Remove dependency on daemon. * [33a7bc4] models/*: Make all accesses to the daemon instance via one base class method. [ Gerhard A. Dittes ] * [953d237] Website/Admin: Refactor mini-buildd specific part of 'index'-template (using new "include"-template 'index_mb_row'). [ Stephan Sürken ] * [c925d43] models/base.py: Add and use "is_prepared" and "is_active" shortcuts on base StatusModel. * [4e279db] webapp.py: Argl: Add tod reminders ro update to new model scheme. * [d6909ee] models/base.py: Add active filter shortcut, and update all code. * [3d217fa] models/gnupg.py: Fix: We cna now put the gnupg import top. * [9fbdc03] devel: Fix sfood target. [ Gerhard A. Dittes ] * [cebd740] Website/Admin: Extend css to work also for sid. [ Stephan Sürken ] * [c5e3c9c] misc.py: Fix another pylint warning. * [b378814] .pylintrc: R0401,W0621: We don't get all the issues fixed, ignoring again. [ Gerhard A. Dittes ] * [be326b8] Website: Get things done without the use of template tag "repository_list". * [f262796] Website: Fix template "package_propagation_results". [ Stephan Sürken ] * [5425064] models: Use IntegerField, not SmallIntegerField (more portable). [ Gerhard A. Dittes ] * [4e3ee00] Website: Fix layout of "package_search_results". [ Stephan Sürken ] * [6b5d32f] models/source.py: Use blank=True, not null=True (django-pylint warnings). [ Gerhard A. Dittes ] * [9dc952a] Website: Improve remove button/link of "package_search_results". * [9742caf] Website: Add link to previous page ("package_search_results"). [ Stephan Sürken ] * [c07f5d8] models/repository.py: Omit model prepare check on daemon (too unstable); remove __init__ and make uploadable_dists a property. * [dd494f6] models/repository.py: M2M: Understanding "related_name", and set it to more conventional names. * [8805057] models/daemon.py: Fix method ordering as hinted by django-pylint. * [a548eb5] devel: django-lint: Dont write reports. * [4a6905f] webapp, models: Fix syncdb after the model layout change. * [75be8c3] models/__init__.py: Add import func to subpackage models; this also takes care to automatically register with the admin site. * [617359a] webapp.py: Rename '--unprepare=MODEL...' to '--remove-system-artifacts', and make it work for new model setup. * [f6f73fd] models/daemon.py: Add field ftpd_options (for future use). * [e32841c] models/daemon.py: Add custom_hooks_directory field (for future use). * [e4b70e2] devel: Again: Skip pylint for squeeze. * [1ab5334] models/base.py: Add generic "extra options" fields (for future use in selected models without schema change). * [12466e7] debian/mini-buildd.prerm: Don't fail removal in artifact removal fails. [ Gerhard A. Dittes ] * [e7b2548] Website/Admin: Fix style. [ Stephan Sürken ] * [9b7345a] models: Stati: Don't re-run action if status is already reached. * [bea31b6] models/base.py: Re-arrange action order. * [d122019] models/base.py: Add last_checked time field to base StatusModel. * [df64d8a] models/base.py: StatusModel: Add "check_and_update" action. * [9e124ff] models: Update all __unicode__ of all StatusModels to show mbd_status_display(). * [baca258] models/base.py: Custom delete protection: put all checks to delete() method. * [7f3f5ba] models/base.py: djang 1.4: Omit search_field and readonly_fields on status base model. * [e5a5959] models/base.py: Base status model: Add auto_reactivate bool field. * [bbf0c73] models: Add (stub) impls for mbd_check_and_update. * [00b3704] models/gnupg.py: Update remote to new check_and_update scheme. * [a66081f] devel: Customize django-lint, and add to standard test. * [1907f05] changes.py: Greatly simplify get_repository() using db queries. * [f1887d4] views.py: Search: Only consider prepared repositories. * [3ea8c60] misc.py: Run __unicode__ for __str__(). * [c5e57cd] models/base.py: Remove check_and_update default method. [ Gerhard A. Dittes ] * [a5e20be] Website: Add view to handle HTTP errors (403, 404 and 500). [ Stephan Sürken ] * [661e4f5] models/base.py: Rewrite all actions; cls + self variants. * [d59a59a] webapp.py: Update --remove-system-artifacts. * [94c7295] models/source: Add proper check_and_update() method. * [aa1641e] models/gnupg.py: No check_and_update func needed. [ Gerhard A. Dittes ] * [abaad1d] httpd.py: Get rid of "special treatments" for 'Django < 1.4'. [ Stephan Sürken ] * [1187cac] models/daemon.py: Add check_and_update for daemon. [ Gerhard A. Dittes ] * [65b284e] Website/Admin: fix "static URLs" in "admin.css". [ Stephan Sürken ] * [8487d34] mini-buildd: Run the check on daemon model on startup, too. * [6c660d3] Mass-renaming "check and update" => "check". * [f76c2ef] models/base.py: Update status docs. * [628648d] daemon.py: Rename Manager->Daemon. * [6d518ca] packager.py: Diverse daemon and packager code into packager module. * [c8a5bd8] tpl/status: Move all HTMl to templates, and give values via properties. * [da2ce37] tpl/status: Invent property "tpl", giving dict of values ("template api"). * [f748943] models/base.py: Fix pseudo-number is activate action text. * [fab98e8] mini_buildd/index.html: Fix up base layout. * [b8fda72] Fix indenting for (nearly) all templates. * [0fd0205] views.py, home: Only show prepared chroots/repos/remotes. * [3119b60] daemon.py: Protect update_model() method. * [998ffd3] mini_buildd/index.html: Cosmetics. * [2d15d11] daemon status: Add support for "last packages" display. * [b975d13] changes.py: Update pkg_id to optionally add architecture. * [03dda23] packager.py: Fix mail sending due to __unicode__() fix. * [d52110e] builder.py: Add Build class (analog. packager), an add last_builds support. * [95d6852] misc.py: Add BlockQueue, wrapper for Queue.Queue. * [c988c66] builder: Use new BlockQueue to handle proper max_builds handling. * [8eb592a] models/source.py: Add some more check messages (and pylint warn). * [d280e2c] mini_buildd/index.html: Some more index style fixes. * [56d7297] daemon.py: Move daemon run vars to non-model Daemon. * [09b783c] builder.py: Obsolete builder.Status (all via builds, last_builds). * [ff91995] builder.py: Ref: Move all build code to Build class. * [20f0362] changes.py: get_pkg_id(): Add separator support. * [83d73a7] changes.py: Add gen_buildresult analogous to gen_buildrequest. * [bba36f8] builder.py: Add "upload pending" support, plus massive refacturing. * [23ab5e6] daemon,ftp.py: Obsolete "stray_buildresult" extra handling by ordered re-pushing of incoming. * [efe71a5] models/base.py: Add support for pickled state for all models. * [275c926] mini_buildd/index.html: Add all possible (STUB) options for pending build results. * [85c32cf] models/gnupg.py: Remote: Update to generic Model pickled data support. * [a201dfc] daemon.py: Load "last_packages|builds" from persistent storage, and make it configurable. [ Gerhard A. Dittes ] * [1929dfd] Documentation: Update 'quickstart'. [ Stephan Sürken ] * [63581bd] models/repository: Add auto_migrate flag for later use. * [9b736b9] daemon.py: Fix: The persistent state save overrides the whole object data (with maybe old data); workaround to act on fresh data. * [b4a8bfa] models/daemon.py: Add two more future fields: wait_for_build_results and keep_build_results. [ Gerhard A. Dittes ] * [5a9ea26] Website: Add possibility to show/hide stuff on index page. [ Stephan Sürken ] * [52ddddd] models/base.py: Yet another status handling change. [ Gerhard A. Dittes ] * [50be367] Website: Avoid using (legacy) HTML tags for layout purposes -- instead use CSS. [ Stephan Sürken ] * [806d3b7] models/repository.py: Add a "group label" to suites, and allow differnet configs of same suite name. * [939bcf6] models/base.py: Fix: prepare, activate: Replace two wrong calls to *action* (non-failing) calls. * [250cca5] models/repository.py, reprepro: Add "morguedir" support. * [36cd47f] models/repository.py: Suites: Bind a suite to one layout. * [0a0fea1] doc/django_settings.py: Add pseudo SECRET_KEY setting to avoid depcrecaton warnings. * [c39f4a9] doc: Fix some documentation warnings. * [5fed798] views: Upgarde from generic views functions (deprecated since 1.3) to class based views. * [403509b] pylint: Disable/enable some pylint messages in-code (fixes dummy code workarounds). * [2395c84] reprepro: Install via "include" command. Obsolete incoming directory. * [1be0e8b] repository/reprepro: Put morguedir option to options file. * [eaa9fec] models/chroot.py: Implement mbd_check (run schroot --info). * [16fc5d3] models/base.py: Reset last_checked value on unprepare. * [8cd7540] models/chroot.py: Remove todo that is imho obesolete. * [10958f7] models/source.py: Implement archive ping and select "fastest archive". * [d34d243] models/repository.py: Cleanup status hooks. * [a2a036c] models/source.py: check() now just calls prepare(). * [e202e72] models/gnupg.py: Cleanup status hooks. * [fc38f33] models/daemon.py: Cleanup status hooks. * [a086afb] models/chroot.py: Cleanup status hooks. * [c1ac8ea] misc.py: Add total_seconds helper functions. * [5cdc7bb] *.py: Mass-fix some wrong str() usage. * [48f43f8] models/repository.py: Move install method here. * [c177e9e] models/repository.py: Add dedicated package_* methods, and hide reprepro. * [801726a] package search: Fix argument conventions. * [12b6a38] packager,repository: Add pre-check. Pre-check whether the package_version is already installed (ye-olde "NEW" check). * [f9f1273] changes.py: gen buildrequests: Add support to add files from pool that are not in upload (read: orig.tar.gz and friends). * [4f2cbfd] models/repository.py: Use intermediate table for architecture options. * [7069aef] models/repository.py: Fixing Suite+Layout models using intermediary model. [ Gerhard A. Dittes ] * [7fd524d] Website: Ask for confirmation when deleting packages; Refresh "Search results" page after package removal/propagation; Some JavaScript restructuring. [ Stephan Sürken ] * [87eddd8] .pylintrc: Some new django exceptions. * [21c4d24] debian/control: Clean up dependencies for 1.0. * [8b1b91a] Make log format look better for (now longer) module names. * [c1f38b8] httpd.py: Use charset=UTF-8 for *.log and *.buildlog files. * [fb71dff] Add buildlog links to status page. * [fae0b87] package search: Let reprepro.listmatched() return a list (so all the call syntax in encapsed only there). * [9742014] package search: Fix search results (first dist, then version). * [1ce2d1e] Add and use ConfFile generator class for all generated config files. [ Gerhard A. Dittes ] * [3565415] Website: Refactoring of "package_search_results" template (JavaScript- and Template-Code). * [858d865] Website: Remove unused style class (from mini-buildd.css). * [6af70a6] Website: Add confirmation dialog for propagation (to template "package_search_results"). [ Stephan Sürken ] * [c06fcad] Project wide: Use future:unicode_literals from python3. * [6a36e9e] devel: Add standard check for correct src "coding" flag (utf-8) in each file. * [d004226] Project wide: Mass fix u"" -> "" strings (which are now all unicode per default). * [88dfae0] devel: Add standard check against explicit unicode string literals. [ Gerhard A. Dittes ] * [a547c86] Website: Improve layout ("package search results"). [ Stephan Sürken ] * [ad2ffdb] unicode change: Don't apply on ./setup.py (does not work, and is not needed). * [83de7b6] mini-buildd: unicode change: Make syslog handler work again. [ Gerhard A. Dittes ] * [3886b69] Website: Introduce new image for propagation button (~>"package search results"). [ Stephan Sürken ] * [eaa96b5] models/repository.py: Some more refac+cleanup. [ Gerhard A. Dittes ] * [8f66918] New: Add "mini-buildd-graphics" SVG file to version control. [ Stephan Sürken ] * [264dfb0] setup: Fix: Set DEBUG to empty list initially, not None. * [adadafc] *.py: Properly implement --debug=exception. * [b6c1221] last_builds, last_packages: Make last appear first. [ Gerhard A. Dittes ] * [45e4e41] Website: Achieve "XHTML 1.0 Strict" compliance; Improve index page; Fix HTML stuff; Cosmetics. * [9194463] Website/Configuration: Add link to "daemon section" in order to stop the daemon more conveniently. [ Stephan Sürken ] * [91c2485] package search: Support (two) different ouput formats for search, and move version precheck to package. * [d846a0a] repository_detail.html: Fix for arch+suite model update, and w3c fixes. * [fb1132d] debian/mini-buildd.templates: Change default path for home to /var/lib/mini-buildd. * [9d39e54] builder.py: Don't add --verbose to sbuild on builder DEBUG. * [83985c0] mini-buildd: Remove "package" from --debug description as it's mot impl. * [3f6abba] Packager: Only use status done false/true. * [8500178] packager.py: Remove forgotten obsoleted call. * [a8a59d9] models/daemon.py: Update default gpg template to RSA/4096. * [35a4d00] misc.py: Fix raw/unicode issues for subprocess call()s. * [90d9ea2] Use own fstab for schroot (fixes builds when home is not configured under /home) * [1421fb0] misc.py: Fix debug logger syslog for unicode setup. * [5ee4c37] gnupg.py: Always use UTF-8, no matter what the locale says. * [484e50f] misc.py: call(): Protect/dont fail for human-readable output logging (may fail as we cannot be sure to really have utf-8 encoding). * [cd647ea] .pylintrc: Bent pylint once again, a little bit... * [a8dd903] gnupg.py: Add umlaut name test, and do two more conversions from assumed UTF-8. * [4ca437f] models/repository.py: Fix another wrong encode() after unicode update. * [2f8b6e2] packager: Put all package info into Package, add proper status, put top-level logik to daemon. * [fc94294] gnupg/misc: Avoid confusing error logs for verify() calls. * [3645864] Add API support for Build and Package objects. * [f3305d1] daemon.py: Avoid update_model() being run twice on startup. * [68e5868] builder.py: Build: Initial update to proper status support. * [e419955] models/base.py: Cosetic display chenge for last check time. * [ed0ecf5] gnupg.py: Trim verify exception. * [5d90e1c] packager.py: Package(): Renice status handling, finalize __unicode__() with better status. * [1414fdb] packager.py: Some more doc fixes. * [4cd8ef4] builder.py: Apply basic status mech like on Package. * [8728e7d] templates/mini_buildd/index.html: Fix wrong guard, and rename "current" header to "Active". * [24a00fe] misc.py: Pimp up API class to APIStatus (to encap status used in both, Package and Build). * [05e9b86] builder.py: Build: Update to APIStatus. * [81ec7d7] packager.py: Packeg: Update to APIStatus. * [c088962] packager, models/repository: Let package_install only install one bres. * [35c7095] doc/index.rst: Update status and quickstart. * [3f9f8e9] debian/control: Fix: Depend on libjs-jquery (django-extensions need them as we use it, but it's only recommends there). * [192e3b5] models/repository.py: Rm obsolete log. * [5c59e52] changes.py: Clean up and fix pool check. * [cd4a005] packager.py: Install archall arch first, and fail only on mandatory archs. * [202d343] mbd-qa-check: orig check is now fully impl. * [b62b015] debian/mini-buildd.config: Add a final note hinting to mini-buildd's local web page. -- Stephan Sürken Thu, 16 Aug 2012 19:14:40 +0200 mini-buildd (0.9.6) experimental; urgency=low This release fixes quite a number of glitches due to the reprepro change and newer sbuild/schroot versions, and updates to the new proposed distribution setup featuring experimental, unstable, testing and stable for each base distribution: * [cdb1529] lib/mbd-update-rep-html: Fix distribution URL for new repository layout. * [2da5721] mini-buildd-rep.maintscript: Use the new "maintscript" facility of debhelper 8.1; fixes not-removed obsolete conffiles from 0.8. * [7a336ec] Remove mbd-fake-pool and mbd-remove-pkg helpers: Obselete/harmful with reprepro/pool. * [abb79f4] lib/mbd-update-rep: Add support for release-signing via reprepro; obsoletes mbd-sign-release helper. * [a93e202] lib/mbd-update-rep: Regression 0.8: Make all dists "NotAutomatic" again; non-exp dists now have "ButAutomaticUpgrades" (this is different from 0.8). * [699f515] debian/control: Decide to narrow to sbuild >= 1.62.4, schroot >= 1.4.22 to ease ironing out compat issues. * [e5f38fc] examples: Add new examples dir; add initial entry mbd-test-cpp. * [a140ba4] Add examples/ directory; add 'mbd-test-cpp' test source package, and helper script. * [8ffaaad] lib/mbd-qa-check|update-bld: sbuild update fix: Put CCACHE_DIR env to .sbuildrc, not sbuild call. * [e3934e4] debian/*: Don't use "sbuild" as primary group for mini-buildd (but add a dedicated extra system group mini-buildd). * [0647cf2] *-common: Depend on bash (as nearly all scripts need it, and it's no longer mandatory in Debian). * [32b7f17] debian/mini-buildd-common.postinst: Use "bash" as default shell for user mini-buildd. * [e55bbc0] debian/mini-buildd-common.postinst: Always upgrade user mini-buildd to new setup w/o sbuild group. * [559fa79] debian/control: Fix overlong lines. * [57f3332] debian/control: logrotate no longer used, remove recommendation. * [a0e0573] examples/testbuild: Improve to support arbitrary id, base dist, target and auto-backports easily (new dist setup). * [5741b33] Update to new proposed distribution setup featuring experimental, unstable, testing and stable for each base distribution, with the latter two managed by manual migration only (see NEWS.Debian). -- Stephan Sürken Wed, 20 Jul 2011 13:39:15 +0200 mini-buildd (0.9.5) experimental; urgency=low * [28b9575] debian/mini-buildd-rep.init (LVM): Bugfix: Must not depend on lvm2 or schroot. * [8bf6e1c] debconf/mini-buildd.conf: Multiple sources are now separated via ",", not "\n". -- Stephan Sürken Wed, 22 Jun 2011 15:19:01 +0200 mini-buildd (0.9.4) experimental; urgency=low * [30ac8cd] debian/control: Add missing ${python:Depends} for mini-buildd-rep. * [dd6ff20] lib/mbd-lintian: Fix: Always use --force-confold when updating/installing. * [3db4212] debian/control: b-d: Fix python-dep to >= 2.5, versioned only (omit alternates). * [506414c] lib/mbd-setup-chroots: Fix/update for schroot 1.4.22: Also configure 'root-groups' (seems now required to get non-interactive root). * [ac7209f] lib/mbd-qa-check: sbuild call fix: Even with --no-log, '--verbose' should be used to get all relevant logs to stdout/err. * [be3b1eb] mini-buildd: Use /usr/bin/python (not python2.5). * [734e594] mini_buildd/iwatcher.py: Fix: Use absolute path on initial incoming scan. -- Stephan Sürken Wed, 15 Jun 2011 18:57:31 +0200 mini-buildd (0.9.3) experimental; urgency=low * Release with cumulated yet unreleased fixes in master: * [ce29072] lib/mbd-setup-chroots: Omit "priority" from schroot configuration. (Closes: 603913) * [88451eb] lib/mbd-qa-check: Auto-backports: Don't use "-vSINCE" option when SINCE is empty (i.e., one changelog entry only). (Closes: 603919) * [b57602b] debian/99mini-buildd: Don't log to stderr (as new schroot does not like it); fixes false-positive daily mails. (Closes: 604011) * [4bda519] debian/po/ja.po: New translation template for common. (Closes: 602154) * [9ba0ac0] debian/po/da.po: Ack NMU 0.8.15+nmu1. (Closes: 610078) * [d3869dd] Add support for wheezy (Debian 7.0). * [735d3c0] lib/mbd-qa-check: Fix auto-backports for 'epoched' packages. Thanks to Daniel Hermann (Closes: 609015) * [fe3740e] debian/control: Having support for wheezy, update dep on 1st debootstrap w/ wheezy support. -- Stephan Sürken Tue, 14 Jun 2011 17:41:21 +0200 mini-buildd (0.9.2) experimental; urgency=low * [469d3f4] * debian/mini-buildd-bld.init: Fix bashism. * [6ae9f6f] * mini_buildd/iwatcher.py: Process incoming once on startup. * [5bb1ffd] Debconf templates and debian/control reviewed by the debian-l10n-english team as part of the Smith review project. (cherry picked from commit b9d683114752bbe8ea75d768a47abd6e5932bd14) * [1022acc] Debconf translation updates (cherry picked from commit 290531124dd90919685e75c2d31200b438907cf4) * [35eae48] lib/mbd-qa-check+mbd-update-bld: Use "--nolog" command line (Closes: 588264) - thanks to Dominik Schulz * [913ccec] lib/mbd-setup-chroots: Remove run-setup|exec-scripts from schroot.conf: Obsoleted by schroot. * [11f24df] mbd-setup-chroots: schroot: Use extra config file in "chroot.d" instead of tainting schroot.conf directly. * [00a82db] mbd-update-bld: Update sbuildrc's 'pgp_options' format to sbuild 0.60 (plus compat for lenny) * [ae707d4] lib/mbd-common.sh: Update mbd sources list line to reprepro/pool. * [6f49d16] lib/mbd-update-rep: Update repropo indices. * [760fa54] debian/control: Fix: -rep and -bld binary packages must depend on the exact same -common version. * [ad1cf97] debian/control: Add deps for fakeroot, debhelper and cdbs on builder hosts; this will make auto-backports work out-of-the box for most packages. * [f436114] lib/mbd-qa-check: Update to changed bash4 subshell error handling. * [d6db45c] debian/control: Update to std-ver 3.9.1 (no changes needed). * [7565c5f] debian/po/cs.po: New translation template for common. -- Stephan Sürken Mon, 16 Aug 2010 17:51:19 +0200 mini-buildd (0.9.1) experimental; urgency=low * [7a55102] * mini-buildd-rep.preinst: Fix: Manually remove obsoleted conffiles. * [7454852] * debian/mini-buildd-rep.init: Various fixes. * [d6ccc2f] * mini_buildd/iwatcher.py: Also watch for MOVED_TO events (fixes auto backports). * [94be418] * mini-buildd: Use env(HOME) for incoming path (was hardcoded). * [292f37a] * .gitignore: Add .gitignore; ignoring *.pyc. * [da084fd] * mini_buildd/installer.py: Fix: Set _preinstall var even if no script found. * [f9f835d] * mini-buildd: Use python-daemon to daemonize correctly (PEP 3143). * [495fc27] * debian/mini-buildd-rep.init: Make daemon options configurable via defaults. -- Stephan Sürken Sat, 08 May 2010 18:06:34 +0200 mini-buildd (0.9.0) experimental; urgency=low * Initial 0.9.x unstable development release: * [2b39e2c] 20_debconf-presseed.hook: Typo fix. * [1e02a61] README.Debian: Add hints where logs go to. * [e229e45] debootstrap workaround (see discussion in Bug #562143): Always '--include=apt' when running debootstrap. Fixes base chroot creation for squeeze/sid. * [734b750] rules: Fix wrong rc.d installation of mini-buildd-bld init script (Fixes: 'no mini-buildd logical volumes after reboot'). * [4627827] mbd-setup-lvm -a: Call vgchange after reattaching image file (fixes auto mode w/ LSB reboot). * [7b1c75f] Update to std-ver 3.8.4 (no changes needed). * [a12f4b5] Update to package format 3.0 (native). * [32eb24c] mini-buildd-bld.init: LSB: Add lvm2 to required start. * [2df62f5] mbd-preinstall: Add support to configure local hook for successful builds. * [cd5da02] Initial POC: Use reprepro, replace mini-dinstall by own daemon mini-buildd. * [8de7a48] mini-buildd-rep.cron.weekly: Now obsolete. * [cc5bcf4] mini-buildd-rep.logrotate: Now obsolete, removed. * [6692441] mini-buildd-rep.postinst: Rm db_stop hack needed for dinstall misbehaviour only. * [06a64bb] lib/*: Remove support for mini-dinstall config files and paths * [edaa4cc] * debian/README.Debian: Update for 1.0 development. * [2ee6b51] * debian/TODO: Update for 1.0 development. -- Stephan Sürken Wed, 31 Mar 2010 18:25:55 +0200 mini-buildd (0.8.8) unstable; urgency=low * Upload to unstable. In the future, 0.8.x "stable" branch will go to unstable, 0.9.x aka "reprepro" development will go to experimental. * [dc13594] README, TODO: Updates, make fit for a release to unstable. -- Stephan Sürken Fri, 15 Jan 2010 13:51:42 +0100 mini-buildd (0.8.7) experimental; urgency=low * [eaef293] common: Extend the hilarious changes file parsing routine to work with * [2131d89] cron.daily: Add some more comments. * [437602e] cron.weekly: Add maintenance script doing a full reindex. -- Stephan Sürken Thu, 14 Jan 2010 18:50:35 +0100 mini-buildd (0.8.6) experimental; urgency=low * [a22a1ba] Adding utility mbd-fake-pool: Workaround to use Debian- style sources * [bdbefe4] Fix all scripts that need it from /bin/sh to /bin/bash; this ixes script failures on systems where sh is not bash (like on sid per default). * [8d59a84] Try to detect errors on daily cron script; only sent mail on errors. * [bd72445] Update Std-Ver to 3.8.3 (no changes needed) * [4dd5208] control: Depend on bsd-mailx | mailx, not just mailx (which is now virtual) -- Stephan Sürken Tue, 12 Jan 2010 18:58:25 +0100 mini-buildd (0.8.5) experimental; urgency=low * [1f2861b] control: Fix maintainer name. * [820f1c7] copyright: Add "Source" URL pointing to the Debian pool (being Debian native). * [4bcfb0d] Support squeeze -- Stephan Sürken Fri, 06 Nov 2009 18:31:51 +0100 mini-buildd (0.8.4) experimental; urgency=low * control,copyright,README.Debian: Updates. * Moving vcs to alioth+git+collab-maint; add VCS headers to control. * control: Fix section to devel (was non-free/devel). * control: Update stds-ver to 3.8.2 (no changes needed). * init: Don't fail if default file is not there. * control: -bld: Add note that the repository host must be set up first. * -rep tpl: Add caveat note about httpd userdir support. * Initial upload to experimental (Closes: #537721). -- Stephan Sürken Tue, 28 Jul 2009 15:25:57 +0000 mini-buildd (0.8.3~uiSID+1) sid-ui; urgency=low [ Stephan Sürken ] * Bugfix: Backport mode, magic versions: Replace only the nonrevision part like '~id50+' (~id50+5 -> ~id40+5); formerly, only versions with default revisions (0,1) worked correctly. Thx Henning for reporting this... [ Automated changes by ui-auto-release ] * New Debian package based on 0.8.3 (stable): Reusing UNRELEASED section formerly versioned 0.8.3 * MINI_BUILDD: AUTO_BACKPORTS: lenny-ui [ Stephan Sürken ] * ui-auto-release run by absurd@manwe.use.schlund.de. -- Stephan Sürken Tue, 16 Jun 2009 15:50:10 +0000 mini-buildd (0.8.2~uiSID+1) sid-ui; urgency=low [ Stephan Sürken ] * Harden backports mode: - If user gives duplicate bpo dist, (silently) only use one. - If user gives same dist as orig upload, warn and skip. - Put Backports qa check as last element of postbuild (was: build). Avoids backport creation even though the original package failed due to some qa check _after_ "build". [ Automated changes by ui-auto-release ] * New Debian package based on 0.8.2 (stable): Reusing UNRELEASED section formerly versioned 0.8.2 * MINI_BUILDD: AUTO_BACKPORTS: lenny-ui [ Stephan Sürken ] * ui-auto-release run by absurd@manwe.use.schlund.de. -- Stephan Sürken Wed, 03 Jun 2009 11:08:08 +0000 mini-buildd (0.8.1~uiSID+1) sid-ui; urgency=low [ Stephan Sürken ] * lintian: Ignore some new lintian version checks: maintainer-upload-has-incorrect-version-number binary-nmu-debian-revision-in-source binary-nmu-uses-old-version-style * Better names for local customization dirs. [ Automated changes by ui-auto-release ] * New Debian package based on 0.8.1 (stable): Reusing UNRELEASED section formerly versioned 0.8.1 * MINI_BUILDD: AUTO_BACKPORTS: lenny-ui [ Stephan Sürken ] * ui-auto-release run by absurd@manwe.use.schlund.de. -- Stephan Sürken Wed, 27 May 2009 16:20:47 +0000 mini-buildd (0.8.0~ui50+1) lenny-ui; urgency=low * Backport for lenny-ui (no changes). -- Stephan Sürken Mon, 25 May 2009 13:37:39 +0000 mini-buildd (0.8.0~uiSID+1) sid-ui; urgency=low * 0.8.x summary: Most important changes: - auto-backports mode. - base chroot maintenance via hooks (predefined+custom). - apt-secure support. - apt_preferences support. - a lot of testing and bug fixes. A more detailed albeit confusing changelog below;). * qa-check Build: Don't warn when no packages to build for arch. * Fix: Use /usr/share (not /usr/lib) for mini-buildd lib. * mini-buildd-common.postinst: Don't call sbuild-adduser with full path [W:lintian] * Override lintian error for missing config script for -common. * init: Add "reindex" target. * Implement Auto-Backports via new qa-check "Backports". * Chroot-Hooks: - New "local config" directory "~/.mini-buildd" on repo, copied by builders: - README file added with detailed instructions. - apt-secure/: Extra apt keys. - chroots-update.d/: Custom. - New dir: /usr/share/mini-buildd/chroots-update.d/, used by mbd-update-bld. Hooks added: - 05_apt-secure: apt-secure keys handling. - 10_apt-upgrade: upgrade, install extras, autoremove, clean. - 20_debconf-preseed: set debconf variables. - 70_bug327477: bug workaround. * Base distribution sid: Add forced version "~idSID"; formerly, sid wasn't restricted which may lead to conflicts with versions in real Debian "sid" * mini-buildd-bld: Add "defer" configuration support, and hardenend Debian configure/install scripts; fixes some known hen/egg problems on initial installs. * -rep: Set debconf dist default to lenny (was etch). * -bld: Bugfix: Fix error recognition on initial chroot setup (debootstrap). * -bld: Bugfix: Run deboostrap with DEBIAN_FRONTEND="noninteractive". * Add support for prio configuration per source (/etc/apt/preferences). * chroots-update.d: 10_apt-upgrade: Only run autoremove for apt versions that support it; avoids unecessary warnings. * apt-secure support: - chroots-update.d: 05_apt-secure: Added; you may now add arbitrary locally configured keys here. - Add new config options "mbd_apt_allow_unauthenticated", make it configurable via debconf and add support for sbuild.conf. * control: Update to standards version 3.8.1 (no changes needed). * mbd-setup-chroots: Fix/workaround debconf failures on reconfigure. * -rep|bld.config: Fix: Add some missing debconf default values. * mbd-setup-chroots: Add fs type to schroot mount options so we don't depend on auto-detection. * mbd-remove-pkgs: Use -wholename rather than -name for find. -- Stephan Sürken Mon, 25 May 2009 13:33:06 +0000 mini-buildd (0.7.13~ui40+1) etch-ui; urgency=low * Backport for etch-ui. * MINI_BUILDD: BACKPORT_MODE -- Stephan Sürken Tue, 30 Dec 2008 15:32:19 +0000 mini-buildd (0.7.13~ui50+1) lenny-ui; urgency=low * mbd-lintian: Pre-run apt-get update to avoid warnings. * rules/control/compat: Update to debhelper 7, minimize rules file. * mbd-common.sh: Be more smart about MBD_LIB to ease testing scripts from svn. * mbd-remove-pkg: - Complete tool and harden it against misuse. - Actually install this tool to -rep package. -- Stephan Sürken Tue, 30 Dec 2008 15:20:40 +0000 mini-buildd (0.7.12~ui40+1) etch-ui; urgency=low * Backport for etch-ui. -- Stephan Suerken Wed, 10 Dec 2008 10:46:13 +0100 mini-buildd (0.7.12~ui50+1) lenny-ui; urgency=low * Upgrade sbuild dependency to latest in testing/lenny: 0.57.7. * apt-secure: Fix for sbuild 0.57.5: - Set apt_allow_unauthenticated = 1 in mini-buildd for now. - Add @todo for later:[brain] Make sbuild apt_allow_unauthenticated configurable via debconf; add some infrastructure to add keys when entering chroots, and some way to manage keys. * control: Update to standards version 3.8.0 (no changes needed). * mbd-update-bld: Add --purge to autoremove run. * 99mini-buildd (schroot setup): Fix: Honor AUTH_VERBOSITY for the one log left in the script. * Add tool "mbd-lintian": Install lintian and run tests in separate snapshots. - mbd-qa-check: Use mbd-lintian for lintian check. - mbd-common: Remove "lintian" from list of extra packages for source chroots. . Note: Having lintian removed from the extra packages list means that source chroots can now be really minimal (lintian pulled in quite some dependencies) (except for ccache, that is). This solves two problems: . - Source dependency check not tainted by lintian+dependencies any more. - Already installed packages wont be upgraded by sbuild, breaking package builds that need updated versions of installed lintian dependencies. . To gain these advantages, you need manually regenerate your chroots on all build hosts; as root run . /usr/lib/mini-buildd/mbd-setup-chroots -f * schroots: Use "-o noatime,user_xattr" instead of the default "-o atime,sync,user_xattr"; this may speed up things greatly on certain systems. -- Stephan Suerken Wed, 10 Dec 2008 10:44:12 +0100 mini-buildd (0.7.11~ui40+1) etch-ui; urgency=low * Backport for etch-ui. -- Stephan Suerken Mon, 08 Dec 2008 15:56:16 +0000 mini-buildd (0.7.11~ui50+1) lenny-ui; urgency=low * html: Show new build options, and some cosmetics. * lintian exceptions: Exclude more "unknown distribution" errors. * syslog: Log to facility user, not daemon. * ccache fix: Give CCACHE_DIR explicitely as environment for sbuild (some build system change $HOME for whatver reasons (e.g., package "subversion"'s test suite does), effectively disabling gcc. * Add mini-buildd control feature via changelog entry: * MINI_BUILDD: Currently, we support BACKPORT_MODE only; this comes handy for lintian-buggy package backports. * copyright: Making this DFSG compatible, license GPL-2+. * copyright: Update to proposed formal format. * mbd-update-bld: Also run "apt-get autoremove" (errors ignored for when not supported) for source chroot update. -- Stephan Suerken Mon, 08 Dec 2008 15:53:35 +0000 mini-buildd (0.7.10~ui40+1) etch-ui; urgency=low * Rebuild for etch. -- Stephan Suerken Thu, 21 Aug 2008 18:08:11 +0200 mini-buildd (0.7.10~ui50+1) lenny-ui; urgency=low * Debian and external doc links support in overview html for convenience: - README.Debian: Initial proper version. - TODO: Rename from TODO.Debian so dh_installdocs picks it up. - -rep: Add external doc URL support (variable && debconf). - -rep: Add documentation section in overview html: - Add link to dwww URL of package docs. - Add "Recommends" for dwww. - Add link to external docs where configured. * DEB_BUILD_OPTIONS support for builds: - -rep: Add DEB_BUILD_OPTIONS for all archs (var+debconf). - QA build: Add DEB_BUILD_OPTIONS support for sbuild call. -- Stephan Suerken Thu, 21 Aug 2008 17:59:10 +0200 mini-buildd (0.7.9~ui40+1) etch-ui; urgency=low "Make lenny lintian happy" release. * Add po-debconf support; Set strings in -common translatable (nothing else yet). Required for lenny and up. * Cosmetic fixes in control (lintian warnings). * Fix copyright file (lintian warnings). * Add LSB sections for both -rep and -bld init scripts. * Explicitly use "bash" for *.config scripts, as we use bash addons. * rules: Fix: Swap arch and indep targets. -- Stephan Suerken Fri, 08 Aug 2008 16:26:40 +0200 mini-buildd (0.7.8~ui40+1) etch-ui; urgency=low * Add numeric version support for lenny (5.0). -- Stephan Suerken Fri, 08 Aug 2008 11:36:08 +0200 mini-buildd (0.7.7~ui40+1) etch-ui; urgency=low * logrotate: Redirect stdout to /dev/null for restart (avoids unnecesary mails from cron). -- Stephan Suerken Thu, 17 Jul 2008 16:21:41 +0200 mini-buildd (0.7.6~ui40+1) etch-ui; urgency=low * cron.daily: Fix: If package is removed, but not purged, exit silently. * preinstall: On FTBFS, don't auto-retry, but move DSP to directory FTBFS in logs (like for REJECT). Hint to re-upload to retry. Note: Former behaviour makes sense for missing dependencies that will eventually be fullfilled after another build; however, real life shows that the reason is just a plain error in the package for nearly all cases, so it does not really do anything useful but spam us. -- Stephan Suerken Wed, 16 Jul 2008 13:32:42 +0200 mini-buildd (0.7.5~ui40+1) etch-ui; urgency=low * Adapt package to changes now applied to mini-dinstall 0.6.25/debian: - mbd-update-rep: Remove "apt_ftparchive_usecache = 1" (in the debian package's patch, this can not be configured). - mbd-update-rep: Change release_notautomatic to experimental_release (name chaged in the debian package's patch). - mbd-cruft: Add all ".cache.db" under rep/ for removal (other location/name used the debian package's patch). -- Stephan Suerken Thu, 3 Jul 2008 17:14:41 +0200 mini-buildd (0.7.4~ui40+1) etch-ui; urgency=low * Add support for db cache for apt-ftparchive (speeds up index updates); - Needs mini-dinstall_0.6.25~ui40+0abgit6 (nop if not installed). - mini-dinstall.conf: Add new option. Fixes: @todo [mini-dinstall] Need speed increase for index file creation: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=225483 * .mini-dinstall.conf: chown_changes_files = 0. Fixes: @todo [mini-dinstall] Changes files not readable for public. * .mini-dinstall.conf: keep_old = 0 for *-experimental releases (i.e., only keep newest version). * standard dist: Make 1-9 start revision mandatory for versions Example: "~mbd40+1". experimental dist: Make a zero start revision mandatory for versions Example: "~mbd40+0". [ Usually, experimental uploads should look s.th. like "1.2-1~mbd40+0exp1" so that a "normal" upload "1.2-1~mbd40+1" will always have a higher version. ] * Cleanup, purging some obsolete functions: mbdCheckVersion. -- Stephan Suerken Wed, 11 Jun 2008 11:01:14 +0200 mini-buildd (0.7.3~ui40+1) etch-ui; urgency=low * Minor cleanup release. . * QALintian: Yet one more to ignore: source-nmu-has-incorrect-version-number. * -bld: Some typos fixed in debconf template. * setup-chroots: Add linux personality support for schroots; i386=linux32 only for now. [Needed for multiarch builds, i.e. build i386 under amd64]. * Harden /etc/init.d/mini-buildd-rep: - Depend on procps. - Don't fail if started when already started. - start/stop: Check for pids instead of just sleeping 5 secs. - stop: Hard kill after 20 seconds if normal shutdown fails. - ... and reniced output. -- Stephan Suerken Thu, 5 Jun 2008 16:57:54 +0200 mini-buildd (0.7.2~ui40+1) etch-ui; urgency=low * Fix fix for mbd-update-bld ;(. -- Stephan Suerken Wed, 4 Jun 2008 13:22:14 +0200 mini-buildd (0.7.1~ui40+1) etch-ui; urgency=low * Minor bugfix release. . * mbd-preinstall: Fix path to changes file on arch build. * mbd-update-bld: Use "-o APT::Install-Recommends=false" for apt-get when updating the basis chroots (since apt 0.7.7, recommended packages are installed per default). * Cosmetics: Fix var order in mini-buildd.conf. * QALintian: Fix for ignore pattern: Omit trailing space. * .mini-dinstall.conf: Regression: Re-add arch "all". -- Stephan Suerken Wed, 4 Jun 2008 12:54:12 +0200 mini-buildd (0.7.0~ui40+1) etch-ui; urgency=low * **Happy chroot release** . * bld: New chroot management: * bld/chroots: New layout for the sources.lists to use in chroots: DIST/base.any.list 1x: Sources for the base dist (any arch). DIST/base.ARCH.list nx: Sources for the base dist (special archs). DIST/mbd.any.list 1x: Sources for the mbd repository (any arch). DIST/extra.any.list 1x: Extra sources (any arch). DIST/extra.ARCH.list nx: Extra sources (special archs). No extra files involved; all configured on -rep in ~/.mini-buildd.conf. * Add hook for schroot: /etc/schroot/setup.d/99mini-buildd: * Automates creation of sources list on chroot creation. * Allows different sources.lists for -source or build chroots (snapshots), and for snapshots between standard and experimental. * Auto-updating of apt cache. * mbd-update-bld: Update to new layout (no arch support yet). * mbd-cruft: Add now-obsolete files under chroots to cruft. * setup-chroots: rename lv names for chroots: DIST-ID to mbd-DIST-ID-ARCH. The prefix makes more clear what the lvs are for, avoids lv-namesspace pollution; the arch postfix allows multiarch chroots on on bld host (e.g., amd64+i386). * preinstall, QABuild: Support for multiarch: - Temporary build dir now has additional -ARCH suffix. - Run checks/builds per arch, not per build host. * Update to sbuild 0.57.2 (we need the --chroot option). * Update to sbuild 0.57.3 (we need a bug fix from that version). * debconf: Adapt to new chroot management: * mini-buildd.conf: +"mbd_archs", ask for the bld host for all archs, write to +"mbd_bldhost_ARCH". * mini-buildd.conf: +"mbd_src_DIST_base_any", ask for special arch source for all archs, write to +"mbd_src_DIST_base_ARCH". * mini-buildd.conf: +"mbd_src_DIST_extra_any", ask for special arch source for all archs, write to +"mbd_src_DIST_extra_ARCH". * mini-buildd.conf: -"mbd_bldhosts" (obsoleted). * mini-buildd-rep.conf: -"mbd_debian_mirror" (obsoleted). * Fix all defaults/on-the fly defaults. In a standard install with default values, you now get a working buildd for localhost's native arch called etch-`hostname`. * rep+bld postinstall: Update to new debconf scheme. * 99mini-buildd: Update to new debconf scheme. * new cruft added: bld/chroots/*/*. * Remove all bld extra file logs (lvm setup, chroot setup, chroot update), use MBD_LOG instead (=> continuous logging, no worry about rotating, etc). * new cruft added: All logs under bld/chroots/. * lib/*: Update to new syntax of mbd_dists. * mbd lib: New generic function mbdGenSources (moved from 99mini-buildd) to generate sources lists on the fly. * bld config: Add mbd_bldhost ID; suck rep config in config, and add dynamic selection question. * Update all lib/*. * setup-chroots/schroot.conf: Write two configs, one more for -experimental; else we can't distinguish in schroot setup. * Dynamic sources list support for *-experimental. * Updated html overview page: - Support to show -expermiental. - Show buld dependencies. - Detailed view via js. - Fix HTML to validated HTML. * update-rep: Fix for multiarch: Only run update-bld per bld host, not arch. * Update dep to mini-dinstall >> 24 (0.6.25 private git branch currently): - mini-dinstall.conf: Add release_notautomatic = 1 * .sbuildrc: Add apt_policy=1, so we can satisfy dependencies via all sources we added. * Add "ccache" support (add path to .sbuildrc, add ccache to extra packages). * update -bld prerm (lvm) for new setup. . * Miscellaneous: * control: Depend on mini-dinstall >> 0.6.23 (ui-etch-bpo available). Fixes @todo [mini-dinstall] Allow apt-get update during index generation: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=324855 (NMU fix unstable). , among other things. * cron: Send output of nightly updates to configured mail address. Fixes @todo cron: MAILTO (?). * sbuild: Set sbuild_mode to user; simplifies error handling in "build" qa test. * Fix: Add "build-essential" to list of extra packages for base chroots; this is needed because since dpkg-1.14.16, this is checked and hence a requirement for package building. Compare: - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=402901 - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480638 * update-bld: Fix: For chroot updater, add DEBIAN_FRONTEND="noninteractive" env to avoid any debconf questions: Fixes @todo [chroots]: Sarge && debconfig non-interactive per default? * Fix: .sbuildrc must have "1;" at end ("perl needs this".) * .sbuildrc: put all generic options to .sbuildrc. * QACheckNew: Fix for experimental: If dist is -experimental, we should also check non-experimental and vice versa. * QACheckOrig: Fix for experimental: If dist is -experimental, we should also check non-experimental and vice versa. * -rep: Note after configuration; show URL and important notes. Fixes: @todo [deb] For -rep: debconf finals: Note that points to mini-buildd overview URL. * QACheckLintian: Ignore "menu-item-creates-new-root-section": for lintian <= etch, this is an ERROR, but imho should be a WARNING only, and not let builds fail. * QACheckLintian: Ignore "changelog-should-mention-nmu": Does not make sense for mini-buildd. * Autobuild binary packages *.changes files will now be signed with our GPG key. Fixes: @todo GPG signing of auto-build packages. * Rotating support for the mini-dinstall.log file: - Recommend logrotate (rep+bld). - Add logrotate.d for rep: weekly/5; restart after rotating. * Add debconf note for *-common in postrm: Warn before purging user mini-buildd if it has a repository. Fixes: @todo [deb] Warn before purging package && repository. * setup-chroots: Fix: Remove temporary schroot conffile. * setup-chroots: Add -d "delete" option (analogous to setup-lvm). * setup-lvm: Fix for -d "delete": Also remove pv via pvremove. * -bld, prerm: - Call "setup-chroots -d" on "remove" (removing redundant code). - Call "setup-lvm -d" on "remove" (new feature: auto-lvm removal). * -common: postrm: make it (more) idempotent. . * Items from TODO.Debian fixed by (above) structural changes: - @todo *-experimental: Integrity checks. - @todo [brain] Minimal dependency building. - @todo [schroot] Depend on schroot 1.1.4 (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=391319). No bpo yet. - @todo Support for more than one arch in one bld-host. - @todo Apt cache of build chroots should be updated before each build run. - @todo HTML overview: Update for *-experimental. - @todo HTML overview: Update for new chroot setup (sources lists). - @todo [mini-dinstall] Experimental (Non-Automatic) support: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=336232 - @todo [deb] rep,bld: Current: manually edit file ${ID}.sources.list.extra on -bld for extra sources list (e.g. bpo); make this generically configurable via debconf in -rep. - @bug [auto-lvm/deb]: When installing -bld only, setup-lvm is called before update-bld, and hence fails: /usr/lib/mini-buildd/mbd-setup-lvm: line 4: /home/mini-buildd/.mini-buildd.conf: No such file or directory - @todo [auto-lvm]: Debug problems on initial setup. -- Stephan Suerken Tue, 3 Jun 2008 10:49:54 +0200 mini-buildd (0.6.5~ui40+1) etch-ui; urgency=low * Fix: Add verify_sigs = 0 to .mini-dinstall.conf (defaults to 1 when debian-keyring package is installed; we don't want this enabled ever at the moment. * Fix: Ignoring lintian error "no-description-in-changes-file": since dpkg 1.4.16: Changes files in source only uploads have no description field any more. -- Stephan Suerken Fri, 25 Apr 2008 17:36:25 +0200 mini-buildd (0.6.4~ui40+1) etch-ui; urgency=low * Per dist, add new distribution "*-experimental". This ist NOT staging, but really just yet another repository. Packages uploaded to experimental will always stay there, seperately; it just uses the same framework to build packages, a new upload to "*" is needed to get it to the actual distribution. Note that *-experimental distributions can not yet satisfy build-deps from themselves. * Smaller enhancements: - In mails, always give distribution; most notably, to see what packages are uploaded to experimental. - mdb-setup-chroots: Change chroot fs type to ext2 (was ext3 ?!); we really have no need for journalling here. May speed up things somewhat. - *-bld/debconf: Put mirror and lvm setup items to high prio (was medium); you almost always want to change these. * Bug fixes: - mbd-update-rep-html, mbd-update-bld: Make some logger lines that may have empty args not wait on input. Fixes some update scripts just idling around (under sid's logger version). - schroot.conf: Increase snapshot size to 4G (was 2G). This will workaround the phenomena described in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=471545 -- Stephan Suerken Wed, 19 Mar 2008 19:21:09 +0100 mini-buildd (0.6.3~ui40+1) etch-ui; urgency=low * preinstall: Cosmetic: Show arch on postbuild check notice "no changes". * qa-check: UploadDSP: Cosmetic: Don't use -v for scp. * common: Fix mbdParseCF for inline PGP signatures. * qa-check: Fix typo in uploadDSP, breaking orig.tar.gz-from-rep upload. -- Stephan Suerken Thu, 6 Dec 2007 13:34:50 +0000 mini-buildd (0.6.2~ui40+1) etch-ui; urgency=low * mbd-preinstall/postbuild: Fix: Only run if changes file is present (if there is no package to build). * mbd-common.sh: Cosmetic: Make the internal error status text BIG. * mbd-qa-check: Cosmetic: No need to clean any files after remote tests. -- Stephan Suerken Wed, 5 Dec 2007 18:19:20 +0000 mini-buildd (0.6.1~ui40+1) etch-ui; urgency=low * mbd-cruft: Under bld/, we should remove all "*.tar.gz", not only "orig.tar.gz". * mbd-cruft: Under bld/, we should also remove "*.udeb". -- Stephan Suerken Wed, 5 Dec 2007 17:51:04 +0000 mini-buildd (0.6.0~ui40+1) etch-ui; urgency=low * Backport for etch. -- Stephan Suerken Wed, 5 Dec 2007 16:07:21 +0000 mini-buildd (0.6.0) sid-ui; urgency=low * Milestone 0.6 summary (see other cl entries for encrypted details): o Fully automatic "lvm via loop device" configuration option This greatly eases the setup and maintentence of test systems or systems w/o "proper" pre-setup lvm. o Thorough script cleanup; user visible changes: - All scripts prefixed w/ "mbd-" to avoid namespace pollution when adding the library to PATH. - All scripts using a getopt library, proper command line arguments and a usage help (via -h). o Complete new scheme for the autobuild processing: Everything* that is done during the autobuild process is a QA-Check on a debian changes file, resulting each in 0=FINE, 1=WARN or 2=FAIL status code and a log file (* i.e., a build run on arch X is also just a QA-Check). If any of the QA checks in the sequence results in "FAIL", the autobuild run is stopped. If no check results in FAIL, the status is 0=BUILT; if the failing check was a build check, the autobuild run status is 1=FTBFS, else 2=REJECT. The overall status mail's subject now always reflect this (e.g. "FTBS: mypkg_1.2.3-1"); in the body, information adapted to the respective status is delivered. No log output is pasted here directly any more but, if needed, links to repective QA check logs on the repository host. Binary uploads are just installed quietly unless they don't originate from mini-buildd autobuilder hosts; then, the special status "DISCARD" is used. Build run statuses overview: - BUILT : OK=Source package build, binary packages uploaded. - FTBFS : Problems building, but retrying later. - REJECT : Unfixable errors, upload moved to REJECT/. - DISCARD: Binary upload not allowed, upload removed. - INTERNAL: Indicates a bug in mini-buildd or its setup. o New QA checks: - New: Check that the to-build source package is not already in repository. - Orig: Warn on reupload, reject on different files. o New file and directory layout: On build hosts, we only have directories "chroots/" (for auto lvm setup when used) and "builds/" under bld/. "builds/" is used as location for temporary build directories; nothing is stored permanently on bld hosts any more (even the orig tarball is copied on demand from the repository). All actual data (log and state of check runs) of an autobuild run is hold on the repository host only in the new directory "log"; under that dir, the data is hold in a structure PACKAGE/VERSION/UTC-STAMP/. o All qa-checks run on all bld hosts are now run in parallel. ....................................................... Details below * -bld: New directory "bld/chroots/"; this is for all chroot-related files and the upcoming automatic lvm vg via loop images. => Obsoleted files under $HOME that may be removed eventually: DIST.setup-chroots.log DIST.update.log DIST.sources.list. * setup-lvm: @todo LOOPDEV is hardcoded. * setup-lvm: Add attach (-a) support (for use in rcS scripts). * build: Ignore "bad-version" lintian error (workaround for lintian on sarge erroring on Tilde-Versioning). * scripts: Setup sane naming conventions and fixed all scripts. * cleanup: rename tope level src/ to lib/. * update-common: Support to have library path in .profile. * lib: Add "cruft" script to (manually) remove cruft from earlier versions of mini-buildd. * update-common: Make file temporary: gpg_key_template; add to cruft. * update-bld: Remove adding of our own GPG key for apt-key: sbuild works around this itself. Obsoletes repository_signing_key.asc file, added to cruft. * all scripts: Add "mbd-" prefix (names and calls). * mbd-sign-release: Create to tmp first, then move (incr availability). * lib: Add mbd-libopt.sh getopt parser library. * mbd-build: getopt update. * mbd-preinstall: getopt update. * mbd-cruft: getopt update; fix variable naming; fix logging. * mbd-setup-chroots: getopt update. * mbd-setup-lvm: getopt update. * mbd-sign-release: getopt update. * mbd-update-*: geopt update. * common.sh: Add mbdCatUrl, update mbdGetUrl using that. * common.sh: Update ssh keyring tool so we don't need a temporary file. Obsoletes *.ssh_key.asc, added to cruft. * Building in extra directory bld/builds/ (was: top level bld/). * mbd-cruft: treat all build files in bld/ (rm *, mv orig.tar.gz). * mbd-cruft: Use -u (update) rather than -d. * mbd-update-rep: Add new top level directory "log". * mbd-build: sbuild call: Use --nolog, use own logfile name. * .sbuidrc: Change log dire to /tmp/ (we don't log anywhere anymore). * cruft: Obsolete "bld/logs". * mbdParseCF: Also parse "Source" entry. * preinstall: new logfile: logs/PACKAGE/VERSION/DATE/TYPE.log. * mdb-qa-check: New tool to simplifiy and generalize running qa checks. * mbd-*: Use extra dir per package under bld/builds/. * rep/mini-dinstall/REJECT/ obsoleted (cruft); moved to respective log directory. * Remove upload in DISCARD (not reject); fixup info mail. * mini-dinstall: Skip mail sending on success. * dput.cf: generate in common, obsolete rep/dput.cf and download on bld hosts. * Add support for /etc/default/mini-buildd-rep: en/disbale start of daemon. -- Stephan Suerken Wed, 5 Dec 2007 15:59:07 +0000 mini-buildd (0.5.1) etch-mini-buildd; urgency=low * Bugfix release. * Use --ignore-missing when updating chroots. * update-bld: Add Workaround for Debian Bug #327477 (bash building). * common.sh: parse_changes_file: Make it work for signed changes files. -- Stephan Suerken Mon, 24 Sep 2007 12:58:22 +0000 mini-buildd (0.5.0) etch-mini-buildd; urgency=low * "Milestone" (0.4->0.5): This release basically adds more QA: - Adopting versioning scheme from bpo; packages not complying are rejected. - Direct binary uploads (i.e., not from mini-buildd) are detected and rejected. - Packages w/ lintian errors now fail to build (and are not installed). This release also fixes a lot of pending smaller todos in one go (see cl). * update-rep-html: Show mandatory version part per dist. -- Stephan Suerken Thu, 20 Sep 2007 13:46:48 +0000 mini-buildd (0.5.0~pre.5) etch-mini-buildd; urgency=low * common.sh: Fix changes file parsing (leading space). * preinstall: On reject (version, binary upload): Move package to REJECT directory. * update-rep-html: Include links for incoming and rejected. -- Stephan Suerken Wed, 19 Sep 2007 15:48:16 +0000 mini-buildd (0.5.0~pre.4) etch-mini-buildd; urgency=low * @todo Automatic error prevention: REJECT wrong version number. This adapts the versioning scheme as described for backports.org. See http://www.backports.org/dokuwiki/doku.php?id=contribute . * @todo Automatic error prevention: REJECT direct binary uploads. -- Stephan Suerken Wed, 19 Sep 2007 14:16:08 +0000 mini-buildd (0.5.0~pre.3) etch-mini-buildd; urgency=low * common.sh: urlget_file will now write a dummy file on download error if none exists yet; fixes possible stalls on -bld package removal when the configured rephost does not work. * @todo [deb] preconfigure fails: No common.sh when configuring -rep. Variables are copied now and need to be synced if needed. * update-bld: Rename file for extra sources. * update-rep: Configure rep w/ keep_old = 1 again (not the reason sbuild fails sometimes). * -bld: debconf templates: Add descriptions for all items. * -rep: debconf templates: Add descriptions for all items. * control: Add package description. -- Stephan Suerken Tue, 18 Sep 2007 16:56:19 +0000 mini-buildd (0.5.0~pre.2) etch-mini-buildd; urgency=low * @todo [deb] on --purge: mini-dinstall unix socket file is not removed. * init.d: Remove obsolete/false status display. * @todo [deb] update-rep: Restart mini-dinstall. * @todo [deb] run update-rep from cron daily. * @todo [deb] -p (postinstall) option for running update scripts from postinstall. * @todo [deb] update-rep: autorun update-bld on all builders (as there might be config changes). * @todo [deb] bld: on package removal: Also remove lvm logical volumes. * @todo [deb] bld: on package removal: Also remove config snippet in schroot.conf. -- Stephan Suerken Mon, 17 Sep 2007 16:21:47 +0000 mini-buildd (0.5.0~pre.1) etch-mini-buildd; urgency=low * update-bld, setup-chroots: Add CHROOT_EXTRA_PACKAGES variable; remove obsolete "zile"; add "lintian". Only install in update-bld, not in setup-chroot. * build: Add lintian test; passing test w/o errors (except bad-distribution-in-changes-file) is now mandatory for uploads. -- Stephan Suerken Thu, 13 Sep 2007 18:09:20 +0200 mini-buildd (0.4.0) etch-mini-buildd; urgency=low * "Milestone" (0.3->0.4): This release moves the actual "autobuild" part from mini-dinstalls postinstall to the preinstall, and copies DSP rather than relying on the repository itself to have them installed; this fixes various pending problems: - No need to have a (guessed) timeout waiting for indexes to be updated before auto-building. - No installation on the actual repository until all configured archs are successfully build. - Works around sbuild's "sporadically not updating package list" behaviour. This release also uses reniced logging throughout all scripts (see daemon.log), improved error handling (logs mailed on failure) and the ability to configure specific mirrors for base distributions (sarge/amd64 problem). * Cosmetic fixes for logging and mail. -- Stephan Suerken Tue, 11 Sep 2007 16:32:09 +0000 mini-buildd (0.3.6) etch-mini-buildd; urgency=low * preinstall: upload: Fix: Ignore arch upload failures, log "skipping" instead. -- Stephan Suerken Tue, 11 Sep 2007 11:12:39 +0000 mini-buildd (0.3.5) etch-mini-buildd; urgency=low * common.sh: parse_changes_file: Also add changes file itself to list of files. * preinstall: update for above (give unqualified changes file). -- Stephan Suerken Tue, 11 Sep 2007 09:29:11 +0000 mini-buildd (0.3.4) etch-mini-buildd; urgency=low * Adding experimental setup-lvm script. * postinstall -> preinstall. * preinstall: Until we have a better solution: Don't build parallel, fail if one build fails. * preinstall/update-bld: scp DSP, don't rely on a deb-src line in build chroot; also obsoletes sleep before build runs. * Add extra build script. * preinstall: Change build logic: 1st, build for all archs; if all were successfull, upload all archs and return success. * Only one error mail per source, including proper logs now in the body. -- Stephan Suerken Mon, 10 Sep 2007 16:33:22 +0000 mini-buildd (0.3.3) etch-mini-buildd; urgency=low * NOTE: If you update, you need to reconfigue -bld and adapt the debian mirror configuration. * -bld config: Update mbd_debian_mirror to have a default mirror plus specific mirrors per dist if needed. * Logging: All scripts now use logging for informational output; logs for chroot setup and update go to seperate files. * setup-chroots: Add "-f" option to re-generate all chroots. * update-bld: Update chroots: Use pipe to schroot rather than different calls (significant speed improvemnet); further refine error handling. -- Stephan Suerken Thu, 6 Sep 2007 15:05:09 +0000 mini-buildd (0.3.2) etch-mini-buildd; urgency=low * update-bld: Also apt-clean source chroots to avoid pkg cache hanging around. * control: Fix: sbuild dep must be in common as we use group sbuild for mini-buildd. * update-rep-html: Design fixes for
    . -- Stephan Suerken Thu, 6 Sep 2007 08:21:44 +0000 mini-buildd (0.3.1) etch-mini-buildd; urgency=low * setup-chroots: Avoid broken schroot.conf on error; also better error handling when chroot creation fails. * -bld: postinst: Fix order to be able to reconfigure after the -rep has new dists so newly needed chroots are auto-created. * setup-chroots: Always also trigger a -bld update. -- Stephan Suerken Tue, 4 Sep 2007 16:43:19 +0000 mini-buildd (0.3.0) etch-mini-buildd; urgency=low * "Milestone": This release adds - lvm support (chroots must be in lvm logical volumes now), - auto-setup for chroots and a - nice html overview page. * control: -bld: Add dep for lvm2, debootstrap. * config: -bld: Add rephttphost (obsoletes rephost+httpport), mbd_debian_mirror, mbd_lvm_vg. * Initial setup-chroots script. * update-bld: Auto-create chroot sources lists. * update-rep: Add "proper" html index file; obsoleting html index on -bld. * update-rep: mini-dinstall config: Use keep_old = 0 for now (multiple sources confuse sbuild). -- Stephan Suerken Tue, 4 Sep 2007 14:26:12 +0000 mini-buildd (0.2.1) etch-mini-buildd; urgency=low * Fix: mini-dinstall.conf: Fix arch line creation. * control: Fix inter-package dependencies. -- Stephan Suerken Wed, 29 Aug 2007 14:44:59 +0000 mini-buildd (0.2.0) etch-mini-buildd; urgency=low * "Milestone": Adds auto-configuration for -bld (being a slave to the already configured -rep), auto-configuration for the ssh keychain, ssh+http port configuration items -- and has many bugs and quirks fixed. * -rep config: Cleanups, support ssh+http port. * -rep config: Add on the fly defaults for rephost and mail. * -bld: add "zero-debconf": Only ask for rephost and download config from there. * -bld+rep: Auto-update mechanism for ssh keyrings. * control: Need wget, add dep for -common. * -rep: Add on-the-fly default for mbd_bldhosts. -- Stephan Suerken Tue, 28 Aug 2007 16:26:14 +0000 mini-buildd (0.1.3) etch-mini-buildd; urgency=low * update-*: Output cosmetics; dput.cf is also now always updated. * postinst: typeo fix ;(. -- Stephan Suerken Wed, 22 Aug 2007 14:04:28 +0000 mini-buildd (0.1.2) etch-mini-buildd; urgency=low * update-rep, postinstall: use "mini-buildd-$appendix" as generic id for dput. -- Stephan Suerken Wed, 22 Aug 2007 13:47:43 +0000 mini-buildd (0.1.1) etch-mini-buildd; urgency=low * update-common: Remove temporary use of port 24 for ssh. * update-rep: Change file name ".dput.cf -> "dput.cf", so its per default shown in http index. * update-rep: Fix dput name to more generic "mini-buildd@HOST". -- Stephan Suerken Wed, 22 Aug 2007 13:07:58 +0000 mini-buildd (0.1.0) etch-mini-buildd; urgency=low * "Milestone": The repository part is configurable via debconf, all config files are created automatically, automatic ssh/gnupg handling is in place. This release will be used to build an initial installation for further testing. * Clean up public names for ssh+pgp key. * Establish $HOME/.mini-buildd.conf in -rep as master config file. - Use debconf to create the file in -rep. - Use in all update-* scripts. - Add common.sh to reduce redundancies in scripts. * debian: Prepare to use debconf for mini-buildd-rep: - Add initial template w/ all configuartion options. - postinst: Update to write config file. - rules: call dh_debconf. - config: Add initial debconf configuration script. * Add logging facility via syslog: See /var/log/daemon.log, tag "mini-buildd". * update-*: Always rewrite automatically produced config (even if they exist). -- Stephan Suerken Tue, 21 Aug 2007 13:05:32 +0000 mini-buildd (0.0.8) etch-mini-buildd; urgency=low * Status: Cleanup the way we run the builder -- i.e., only on source-only uploads; scripts now prepared to use "std" pkg configuration. * Add TODO and README.Debian. * postinstall: Replace python script w/ shell script by now: - we can simply source sh config in later. - much simpler logic: When upload is ARCH=SOURCE (i.e., source only upload), feed bld. Else, do nothing. - Skipping mail sending on every binary package. - Skipping buggy sending of NEWS.Debian file (does not always exist). - Mail sending will be ahndled later. * postinstall: Embedding build script. -- Stephan Suerken Thu, 16 Aug 2007 17:05:59 +0000 mini-buildd (0.0.7) etch-mini-buildd; urgency=low * Status: Bugfix/cleanup only release. * Fix: postinst rep+bld: don't call adduser. * Fix: Add additional real http (apache2-mpm-worker) package dep. * Put all helper scripts to lib/mini-buildd, as they don't really belong to usr/bin. -- Stephan Suerken Thu, 16 Aug 2007 15:09:22 +0000 mini-buildd (0.0.6) etch-mini-buildd; urgency=low * Status: This revision has the needed pkg split and a new directory layout for /home/mini-buildd; purge old mini-buildd package before trying this. * control: Fix arch to all, not any. * Splitting package: common, rep, bld: - Splitting mbd-update-home: mbd-update-common, mbd-update-rep, mbd-update-bld. - debian/*: Many updates to cope with new multi-pkg setup. * mbd-update-*: Changed directory layout for /home/mini-buildd/. -- Stephan Suerken Thu, 16 Aug 2007 12:52:35 +0000 mini-buildd (0.0.5) etch-mini-buildd; urgency=low * Status: This revision should be able to actually autobuild for dist "unstable"; restrictions: - bld-host == rep-host, and only one bld-host. - proper schroot setup for a chroot named "unstable" is provided beforehand. * Fix: Use system user for mini-buildd. * mbd-update-home: Support for .sbuildrc. * use shortcuts "rep" and "bld" for the repository and build parts, resp. * "Auto-ssh-key" support; dep to openssh-cleint. * Missing dep: mailx. * postinst: Make added user mini-buildd --ingroup sbuild. * Many smaller fixes. -- Stephan Suerken Wed, 15 Aug 2007 16:58:36 +0000 mini-buildd (0.0.4) etch-mini-buildd; urgency=low * control: Add dep for httpd. * mbd-update-home: Clenaups. * mbd-update-home: Support "public_html" link. * mbd-update-home: Rudimentary HTML index file support. -- Stephan Suerken Tue, 14 Aug 2007 14:12:16 +0000 mini-buildd (0.0.3) etch-mini-buildd; urgency=low * mbd-update-home: Add support for ".dput.cf". * control: Add dep for dput. * mbd-update-home: Add support to generate gnupg signing key automatically (for apt-secure). * control: Add dep for gnupg. -- Stephan Suerken Tue, 14 Aug 2007 12:24:03 +0000 mini-buildd (0.0.2) etch-mini-buildd; urgency=low * dirs: add usr/lib/mini-buildd for scriptlets to be used by mini-buildd only. * Fix: build script: Use mini-buildd user. * debian: Mv preinst code back to postinst (we need postinst, no need to keep two files w/ init script fixed); also revert pre-depends -> depends for adduser. * Add mbd-update-home tool; calling that from postinst. * rules: Install mbd-update-home to usr/bin. * lib/mini-buildd: Add "sign-release". -- Stephan Suerken Mon, 6 Aug 2007 17:13:13 +0000 mini-buildd (0.0.1) etch-mini-buildd; urgency=low * Debian native package, initial release: - Initial debian skeleton. - /usr/bin/mbd-build: Included "/usr/local/bin/build" from prototype. - /usr/bin/mbd-postinstall: Included "/home/debian/bin/postinstall" from prototype. - init.d: Initial version added. - preinst: .mini-dinstall.conf: Initial version from prototype added. - preinst/postrm: add/del dedicated user "mini-buildd". -- Stephan Suerken Mon, 6 Aug 2007 15:17:01 +0000